REMOTE SENSING

QGIS 3.4 Orfeo ToolBox(OTB) - (9) 머신러닝 분류기에 피처 추가하기

유병혁 2019. 1. 14. 11:54

이번 글은 앞서 만든 분류기 모델을 개선하기 위해 피처를 추가해 보도록 하겠습니다.

식생지수의 일종인 NGRDI 값의 세그먼트별 통계치(평균, 표준편차)를 사용하고자 합니다.


'래스터 분석 > 구역 통계'를 실행합니다.


구역 통계 창은 아래와 같은데요, 래스터 레이어는 NGRDI를, 구역(zone)을 담고 있는 벡터 레이어는

세그먼트를 지정합니다. 산출 열 접두어는 생성될 통계 값 필드명에 적용될 접두어로 여기서는 'NGRDI_'를 입력했습니다.


계산할 통계를 클릭하면 다중 선택 창이 실행되는데요, 여기서는 평균, 표준 편차를 선택하겠습니다.


이제 세그먼테이션 속성 테이블에 NGRDI_mean, NGRDI_stde가 추가되었습니다. 분류기 모델을 다시 훈련시켜 보겠습니다.


새로 훈련시킨 모델로 분류한 결과입니다.

Confidence map 필드값을 통해 투표 비율이 높은 dead tree 피처만 선택해 보겠습니다.


분류결과 레이어 속성에서 '소스 > Provider Feature Filter'에서 '쿼리 작성기'를 클릭합니다.


아래와 같이 Confidence가 0.9 이상이면서 predicted가 1(dead tree)인 피처를 선택해 보겠습니다.



아래와 같이 피처가 선택되었습니다.


위 영상은 훈련 데이터로 사용되었던 영역이므로, 무인기 영상에서 다른 지역을 테스트해 보겠습니다.


결과는 아래와 같습니다.


세그먼트는 '벡터 > 지리 정보 처리 도구 > 융해(dissolve)'를 통해 인접한 피처들을 병합하실 수 있습니다.


predicted 필드값을 기준으로 융해(dissolve)를 적용해 보겠습니다.


아래와 같이 인접한 피처가 병합되었습니다.


위 파일은 다중 영역 도형으로 구성되어 있습니다. 단일 부분으로 나누시려면 '벡터 > 도형 도구 > 다중 부분을 단일 부분으로'를 실행하시면 됩니다.


이렇게 되면 각각의 피처로 재분할됩니다. 면적, 둘레길이와 같이 피처를 추가 선별할 기준을 추가할 수 있겠죠?!