Semantic Change Detection이란?
아랫 글을 참고하자.
사실 Semantic Change Detection이라는 말만 들으면 매우 복잡하고 고도화된 task일 것 같지만, 실상은 그렇지 않다. 같은 지역에서 촬영한 이미지를 픽셀 단위로 classification해서 얻어낸 semantic segmenation map과, 이미지에서 변화된 부분을 감지해서 얻어낸 binary change map(이 때, '변화가 일어났다'만 감지했기 때문에 binary map이다.)이 있다고 하자. 이 때 두 사진을 가지고 간단한 픽셀 연산으로 semantic change map을 구해낼 수 있다.
예를 들어, SECOND라는 위성 데이터셋의 이미지 한 장을 가져와서 생각해보자. 여기, image를 semantic segmentation한 결과가 한 장 있다.
그리고, 해당 지역에서 시간이 좀 흐른 뒤에 다시 촬영한 사진이 있었고, 두 사진을 가지고 변화한 부분을 찍어낸 binary change map이 있다.
생각해보면, 이 두 사진을 가지고 semantic segmentation map을 만드는 방법은 간단하다. binary change map을 흑백반전한 뒤, 까만 부분을 segmentation된 부분으로 채우면 다음과 같은 사진이 만들어지지 않겠는가?
따라서, 이를 실습해보기 위해 python과 opencv를 활용해서 코드를 작성해보았다. 예제는 다음과 같다.
좋은 글 감사합니다.