REMOTE SENSING

QGIS SCP 플러그인을 이용한 감독 분류(Supervised Classification)

유병혁 2016. 12. 26. 04:17

QGIS SCP(Semi-Automatic Classification Plugin)의 핵심 기능은 감독 분류(Supervised Classification)입니다.

앞서 사용했던 Landsat 8호 위성영상의 밴드 셋을 이용하여 SCP 플러그인의 감독 분류 기능을 학습해 보도록 하겠습니다. 

 

밴드 셋은 스리랑카 콜롬보 지역을 대상으로 하며 아래와 같습니다.

 

감독 분류에서는 분류를 위한 학습 집합, 즉 Training input 데이터를 필요로 합니다.

SCP Dock 패널에 아래와 같이 해당 메뉴가 위치하고 있는데요,

 

아래 'Creating a new training' 버튼을 클릭하고 확장자가 scp인 데이터를 신규 생성하겠습니다.

 

아래와 같이 레이어 패널에 Training_input 레이어가 추가되고 해당 패널에도 지정되었습니다.

 

이제 ROI creation을 실행해 보도록 하겠습니다.

 

여기서는 영상에서 수체(water), 식생(vegetation), 시가지(built-up), 나지(bare soil)를 대분류하고,

그 하부에 각각 호수(lake), 수목(trees), 건물(buildings), 공사장(construction site)을 지정해 보겠습니다.

 

먼저, 아래와 같이 호수 영역에 ROI를 지정해볼까요?!

 

현재 사용 중인 랜드셋 위성영상 밴드들의 공간해상도는 30m입니다.

OpenLayers plugin을 통해 해당 지역의 고해상도 영상을 중첩해볼 수 있는데요,

'웹 > OpenLayers plugin > Google Maps > Google Hybrid'를 선택해 보겠습니다.

 

아래와 같이 ROI 설정에 도움이 되는 구글 지도를 추가하였습니다.

 

ROI는 SCP Working Toolbar에서 제공하고 있습니다. 두 가지 방식이 있는데요,

하나는 ROI 포인트를 지정하면 영역성장(region growing) 알고리듬이 적용되는 방식입니다.

 

두 번째로는 ROI 폴리곤을 생성하는 방식입니다.

 

ROI 영역이 선택되었으면 아래 MC ID, MC Info, C ID, C Info를 각각 정의한 후에,

 

'Save temporary ROI to training' 버튼을 클릭하면,

 

아래와 같이 ROI Signature list에 해당 ROI가 등록됩니다.

 

같은 방식으로 4개 클래스를 순차적으로 등록하였습니다. 이제 Training input을 이용하여 분류 결과를 확인해볼까요?!

 

SCP 플러그인은 영상 전체에 분류를 적용하기에 앞서 소규모 영역의 분류 결과를 미리 볼 수 있는 Preview 기능을 제공합니다.

 

아래 'Activate classification preview point' 버튼을 클릭하고 화면을 클릭하면,

 

포인트를 중심으로 지정된 영역의 분류 결과를 미리 확인하실 수 있습니다. 정말 편리한 기능이죠?!

 

분류기는 'Classification algorithm'에서 변경할 수 있는데요,

 

현재 SCP 플러그인은 최소거리(minimum distance), 최대우도(maximum likelihood), 분광각 매핑(spectral angle mapping) 분류기를 지원하고 있습니다.

 

현재 미리보기 결과가 만족스럽다면 Classification ouptut을 통해 최종적으로 감독 분류를 진행합니다. 

 

실행 결과는 아래와 같습니다. 'Create vector'를 체크했기 때문에 결과값이 래스터와 벡터로 모두 계산되었습니다.

 

앞서 학습한 인쇄 구성의 템플릿을 이용하여 아래와 같이 비교 지도를 제작해 봤습니다.