이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 i.segmentgrass 명령입니다.
프로그램:
이름
i.세그먼트 - 이미지 데이터에서 세그먼트(객체)를 식별합니다.
키워드
이미지, 분할, 분류, 객체 인식
개요
i.세그먼트
i.세그먼트 --도움
i.세그먼트 [-dw] 그룹=name 출력=name 임계값=뜨다 [방법=현]
[유사성=현] [최소 크기=정수] [기억=정수] [반복=정수]
[씨앗=name] [범위=name] [선량=name] [--덮어 쓰기] [--도움] [--말 수가 많은]
[--조용한] [--ui]
플래그 :
-d
각 픽셀에 대해 기본 8개의 이웃 대신 3개의 이웃(3x4 이웃)을 사용합니다.
-w
가중치 입력, 입력 래스터 맵의 기본 크기 조정을 수행하지 않음
--덮어쓰기
출력 파일이 기존 파일을 덮어쓰도록 허용
--도움
사용 요약 인쇄
--말 수가 많은
자세한 모듈 출력
--조용한
조용한 모듈 출력
--UI
강제 실행 GUI 대화 상자
매개 변수 :
그룹=name [필수의]
입력 이미지 그룹의 이름
출력=name [필수의]
출력 래스터 맵의 이름
임계값=뜨다 [필수의]
0과 1 사이의 차이 임계값
임계값 = 0은 동일한 세그먼트만 병합합니다. 임계값 = 1은 모두 병합합니다.
방법=현
세분화 방법
옵션 : 지역_성장
태만: 지역_성장
유사성=현
유사성 계산 방법
옵션 : 유클리드, 맨해튼
태만: 유클리드
최소 크기=정수
세그먼트의 최소 셀 수
마지막 단계에서는 작은 세그먼트를 가장 좋은 이웃과 병합합니다.
옵션 : 1-100000
태만: 1
기억=정수
메모리(MB)
태만: 300
반복=정수
최대 반복 횟수
태만: 20
씨앗=name
시작 시드가 있는 입력 래스터 맵의 이름
범위=name
입력 경계/제약 래스터 맵의 이름
정수 값이어야 하며 각 영역은 다른 영역과 독립적으로 분할됩니다.
선량=name
적합도 추정 맵의 출력 적합도에 대한 이름
기술
이미지 분할 또는 객체 인식은 유사한 픽셀을 그룹화하는 프로세스입니다.
개체라고도 하는 고유한 세그먼트입니다. 경계 및 지역 기반 알고리즘은 다음과 같습니다.
문헌에 설명된 대로 현재 영역 성장 및 병합 알고리즘은 다음과 같습니다.
구현되었습니다. 분할 프로세스 중에 발견된 각 객체에는 고유한 ID가 부여되며
일부 기준을 충족하는 연속 픽셀 모음입니다. 이미지와의 대비를 주목하세요
서로 유사한 모든 픽셀을 동일한 클래스에 할당하는 분류
연속적일 필요는 없습니다. 이미지 분할 결과는 그 자체로 유용할 수 있습니다.
또는 이미지 분류를 위한 전처리 단계로 사용됩니다. 분할 전처리
단계는 잡음을 줄이고 분류 속도를 높일 수 있습니다.
노트
지역 성장하는 and 병합
이 분할 알고리즘은 래스터 맵의 모든 현재 세그먼트를 순차적으로 검사합니다.
현재 세그먼트와 각 이웃 간의 유사성이 계산됩니다.
주어진 거리 공식에 따라 세그먼트가 여러 조건을 충족하면 병합됩니다.
다음을 포함한 기준:
1 쌍은 서로 가장 유사합니다(유사성 거리는 다음과 같습니다).
다른 이웃보다 작음)
2 유사성은 입력 임계값보다 낮아야 합니다. 과정이 반복됩니다
완전한 패스 중에 병합이 이루어지지 않을 때까지.
유사성 and 임계값
세그먼트와 병합되지 않은 개체 간의 유사성을 사용하여 어떤 개체를 결정합니다.
병합됩니다. 거리 값이 작을수록 더 가까운 일치를 나타내며 유사성 점수는 다음과 같습니다.
동일한 픽셀의 경우 0입니다.
정상적인 처리 중에는 두 세그먼트 간의 유사성이 있는 경우에만 병합이 허용됩니다.
주어진 임계값보다 낮습니다. 그러나 최종 패스 중에 최소한
2 이상의 세그먼트 크기는 최소 크기 매개변수, 더 작은 세그먼트
유사성이 있더라도 픽셀 수는 가장 유사한 이웃과 병합됩니다.
임계값보다 큽니다.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 임계값 0.0보다 크고 1.0보다 작아야 합니다. 0의 임계값은 다음을 허용합니다.
동일한 값의 픽셀만 병합되지만 임계값이 1이면 모든 것이 허용됩니다.
병합됩니다. 초기 경험적 테스트에서는 0.01~0.05의 임계값이
시작하기에 합리적인 값입니다. 낮은 값으로 시작하는 것이 좋습니다. 0.01 및
그런 다음 마지막 실행의 출력을 다음과 같이 사용하여 계층적 분할을 수행합니다. 씨앗 위한
다음 실행.
계산 방식
유클리드 거리와 맨해튼 거리 모두 각 래스터를 고려하여 일반 정의를 사용합니다.
이미지 그룹에서 차원으로 앞으로는 거리 계산에도 시간이 걸릴 것입니다.
세그먼트의 모양 특성을 고려합니다. 그러면 정상적인 거리는 다음과 같습니다.
입력된 방사성 중량을 곱합니다. 다음으로 추가 기여가 추가됩니다.
(1-무선 가중치) * {부드러움 * 매끄러움 가중치 + 압축성 * (1-부드러움 가중치)},
여기서 컴팩트함 = 둘레 길이 / sqrt( 면적 ) 및 매끄러움 = 둘레 길이 /
경계 상자. 주변 길이는 세그먼트의 픽셀 측면 수로 추정됩니다.
있다.
씨앗
시드 맵은 시드 픽셀(임의 또는 선택된 점)을 제공하는 데 사용할 수 있습니다.
분할 프로세스를 시작하는 것) 또는 시드 세그먼트. 씨앗이 결과라면
더 낮은 임계값을 사용하여 이전 분할을 수행한 경우 계층적 분할을 수행할 수 있습니다.
프로그램은 다양한 접근 방식을 자동으로 감지합니다.
동일한 시드 값과 연속된 값에는 고유한 세그먼트 ID가 할당됩니다.
예상되는 최소 크기 시드 맵을 사용하면 1로 설정되지만 프로그램은
다른 값을 사용할 수 있습니다. 두 옵션을 모두 사용하는 경우 최종 반복은
임계값을 무시하면 시드 맵도 무시되고 모든 픽셀에 대해 강제 병합됩니다(
시드에서 성장/병합된 세그먼트).
최고 번호 of 시작 세그먼트
시드를 시작하지 않는 영역 성장 알고리즘의 경우 각 픽셀은 순차적으로
번호가 매겨져 있습니다. CELL 스토리지의 현재 한도는 2억 개의 시작 세그먼트 ID입니다. 만약
초기 맵에 null이 아닌 픽셀 수가 더 많은 경우 두 가지 해결 방법이 있습니다.
1 시작 시드 픽셀을 사용합니다. (최대 2억 픽셀에 양수 라벨을 붙일 수 있습니다.
정수.)
2 시작 시드 세그먼트를 사용하십시오. (초기 분류 또는 기타 방법으로.)
경계 제약
경계 제약 조건은 픽셀과 세그먼트의 인접성을 제한합니다. 각각의 고유한 값
현재의 범위 래스터는 마스크로 간주됩니다. 따라서 결승전에는 세그먼트가 없습니다.
분할된 지도는 스펙트럼 데이터가 매우 유사하더라도 경계를 넘습니다.
최저한의 구획 크기
소금과 후추의 영향을 줄이려면 최소 크기 1보다 크면 하나가 추가됩니다.
처리에 들어갑니다. 최종 패스 중에는 모든 세그먼트에 대한 임계값이 무시됩니다.
설정된 크기보다 작으므로 매우 작은 세그먼트가 가장 큰 세그먼트와 병합됩니다.
비슷한 이웃.
친절 of 맞다
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 선량 각 픽셀에 대한 적합도는 1 - 픽셀과 픽셀 사이의 거리로 계산됩니다.
그것이 속한 개체입니다. 거리는 선택한 값으로 계산됩니다. 유사성 방법. ㅏ
값 1은 동일한 값, 완벽한 적합을 의미하고 값 0은 가능한 최대값을 의미합니다.
거리, 최악의 적합성.
사용 예
분할 of RGB 정사사진
이 예에서는 NC 샘플 데이터세트에 포함된 정사 사진을 사용합니다. 설정
이미지 그룹:
i.group 그룹=ortho_group 입력=ortho_2001_t792_1m@PERMANENT
영역을 더 작은 테스트 영역(입력 정사 사진에서 가져온 해상도)으로 설정합니다.
g.region -p raster=ortho_2001_t792_1m n=220446 s=220075 e=639151 w=638592
낮은 임계값을 시험해 보고 결과를 확인하세요.
i.세그먼트 그룹=ortho_group 출력=ortho_segs_l1 임계값=0.02
육안으로 살펴보면 세그먼트가 너무 많은 것 같습니다. 증가
임계값, 이전 결과를 시드로 사용하고 최소 크기 2를 설정합니다.
i.segment 그룹=ortho_group 출력=ortho_segs_l2 임계값=0.05 씨앗=ortho_segs_l1 min=2
i.segment 그룹=ortho_group 출력=ortho_segs_l3 임계값=0.1 씨앗=ortho_segs_l2
i.segment 그룹=ortho_group 출력=ortho_segs_l4 임계값=0.2 씨앗=ortho_segs_l3
i.segment 그룹=ortho_group 출력=ortho_segs_l5 임계값=0.3 씨앗=ortho_segs_l4
출력 ortho_segs_l4 임계값=0.2에는 여전히 세그먼트가 너무 많지만 출력은
과 임계값=0.3에는 세그먼트가 너무 적습니다. 임계값은 0.25로 좋은 것 같습니다.
선택. 이미지에도 약간의 노이즈가 있습니다. 다음에는 모든 세그먼트를 다음보다 작게 강제하겠습니다.
10개의 픽셀을 가장 유사한 이웃으로 병합합니다(덜 유사하더라도).
기준치에서 요구하는 것보다):
그룹의 전체 지도와 일치하도록 지역을 설정합니다.
g.region -p raster=ortho_2001_t792_1m@PERMANENT
달리기 i.세그먼트 전체 지도에서:
i.segment 그룹=ortho_group 출력=ortho_segs_final 임계값=0.25 min=10
거의 10만 픽셀에 달하는 전체 정사 이미지를 처리하는 데 약 450배 더 많은 시간이 소요되었습니다.
그런 다음 최종 실행을 위해.
분할 of 전색성의 채널
이 예에서는 북쪽에 포함된 Landsat7 장면의 전색 채널을 사용합니다.
Carolina 샘플 데이터 세트:
# 단일 채널로 그룹 생성
i.group 그룹=단일밴드 입력=lsat7_2002_80
# 계산 영역을 Landsat7 PAN 대역으로 설정
g.region 래스터=lsat7_2002_80 -p
# minsize=5로 분할을 수행합니다.
i.세그먼트 그룹=단일밴드 임계값=0.05 최소크기=5 \
output=lsat7_2002_80_segmented_min5 goodness=lsat7_2002_80_goodness_min5
# minsize=100로 분할을 수행합니다.
i.세그먼트 그룹=단일밴드 임계값=0.05 최소크기=100
output=lsat7_2002_80_segmented_min100 goodness=lsat7_2002_80_goodness_min100
Landsat7 장면의 원래 팬크로매틱 채널
분할된 전색성 채널, 최소 크기=5
분할된 전색성 채널, 최소 크기=100
ALL
기능
· 형상 특성(부드러움, 치밀함)에 대한 추가 테스트가 필요한 경우
좋아보이네요 추가해야겠네요. (in 진행)
· 유사성 계산을 위한 Malahanobis 거리.
of 분할 결과
· 이 모듈의 선택적 출력을 개선하거나 더 나은 방법은 다음을 위한 모듈을 추가하는 것입니다.
i.세그먼트.메트릭스.
· 업데이트 제공 아이맥스릭 분할 출력을 다음과 같이 사용할 수 있는지 확인합니다.
기존 분류 기능에 대한 입력입니다.
· 통합/워크플로우 r.퍼지 (애드온).
속도
· create_isegs.c를 참고하세요
참조
이 프로젝트는 GSoC 2012에서 처음 개발되었습니다. 프로젝트 문서, 이미지
분할 참조 및 기타 정보는 프로젝트 위키에 있습니다.
GRASS의 분류에 대한 정보는 위키에서 확인할 수 있습니다.
onworks.net 서비스를 사용하여 온라인으로 i.segmentgrass를 사용하세요.