Segment Any Change

허준혁·2025년 4월 17일
0

컴퓨터비전

목록 보기
11/13

들어가기 전에...

저자는 Zhuo Zheng 이라는 사람인데 이 사람이 속한 연구실이 사실은 딥러닝 학계에서 한 획을 그은 연구실이다. 교신저자가 Stefano Ermon 인데 이 연구실에서 State space model(Mamba)Score based diffusion 모델이 나왔다. 하나의 논문만 낸건 아니고 Yang Song과 같은 거물들이 많이 속해있는 전세계 탑급 연구실이다. 이러한 연구실에서 원격탐사 분야의 논문들이 간간히 나오는걸 확인했다. 사실 이번에 열리는 ICLR 2025 workshop on ML4RS(Machine Learning 4 Remote Sensing)에 invited talk로 Stefano Ermon 가 초청되어 있어 알게 되었다.

Remote Sensing이란 위성영상 혹은 드론영상등을 활용해서 사람이 직접 가지 않고 원격으로 관심지역을 모니터링 할 수 있는 방법을 다루는 학문 분야이다.

이러한 연구실에서 출간 되는 Remote Sensing 관련 논문은 어떨지가 매우 궁금했고 현재 리뷰하고 있는 논문이 그러한 논문 중 하나이다. 이미 연구실을 알고 봐서인지는 모르겠지만, 논문에서 제시하는 현재 문제점과, 제시하는 새로운 방법론을 논리 정연하게 잘 썻,,,

1. Background

What is Change Detection?

Remote sensing 분야를 시도해 보지 않았다면 change detection이라는 task가 생소할 것이다. 이름 그대로 변화를 탐지하는 것이 본 task의 목표이다. 서로 다른 두개의 시점 t1t_1, t2t_2이미지가 들어왔을 때 두 이미지에서 달라진 부분을 binary segmentation map으로 보여주는 것이 바로 change detection 이다. 없어지는 것이든, 새로 생기는 것이든 상관 없이 모두 "변화"라고 탐지하는 것이 특징이다.

2. Introduction

기존의 change detection 모델은 학습 데이터에 종속되어, 학습 시 보지 못한 변화 유형(예: 새로운 지형 변화)이나 분포(새로운 지역)로의 일반화가 어렵다. 따라서 본 논문에서는 “zero-shot change detection”모델을 제시하였다. 즉, 전혀 보지 못한 변화 유형 및 데이터 분포에 대해 변화 영역을 검출하고 segment 할 수 있다는 것이다.

이러한 zero-shot change detection 모델이 중요한 이유는 23년 나의 마지막 딥다이브 활동인 change detection 모델 개발 페이지에 자세하게 적혀있다. 이 프로젝트를 진행할 당시, 학습을 진행했던 지역과 전혀 다른 지역 예를 들어, 서울 지역으로 모델을 학습했는데 파리 지역의 change detection 모델을 inference하게 되면 성능이 매우 저하되는 문제점이 존재하였다.

두 개의 시점 데이터 XtX_{t}, Xt+1X_{t+1} 가 pretrained된 SAM Encoder를 통과한 후, latent space 상에서 similarity를 비교하며, 변화된 영역을 탐지할 수 있는 것이다. 이러한 방법을 사용하기에 zero-shot change detection이 가능하다.

3. Method

3.1 Encoding and Decoding

두개 시점의 데이터 XtX_{t}, Xt+1X_{t+1} 가 SAM encoder를 통과하면 feature map ztz_t, zt+1z_{t+1}를 생성하게 된다. 이후 이미지를 grid하게 나누어진 포인트가 들어가 최종적으로 mask mtm_tmt+1m_{t+1}를 얻을 수 있게 된다. 사실 이러한 과정은 기존의 SAM 의 과정을 그대로 이용한 것이다.
이렇게 gird로 나누어진 모든 포인트가 SAM decoder의 input으로 들어감으로써 mask가 있는 최종적인 segmentation map을 얻을 수 있는 것이다.

3.2 Bitemporal latent matching

얻어진 feature map을 하나의 이미지라고 생각하며 서로다른 두 시점에서의 마스크가 어떻게 변화 했는지를 확인한다. 이를 수식으로 표현하면 다음과 같다.

위의 그림처럼 웰시코기및 다양한 객체들이 segment된 mask를 그대로 feature map에 대입시켜 얻어낸 값이 바로 xtx_tx^t+1\hat{x}_{t+1}이다. 이렇게 만들어진 xtx_tx^t+1\hat{x}_{t+1}를 change confidence score를 통해서 두 mask의 연관성을 계산하는 것이다. 만약 두 시점 ttt+1t+1의 특정 마스크에서의 변화가 탐지된다면, 이 change confidence score는 매우 낮아지게 된다. 그렇다면 이 change confidence score란 무엇일까?

3.3 Change confidence score

3.3.1 Mean and variance of feature map Z

SAM encoder의 마지막 layer에는 Layer Normalization이 들어가게 되는데 이로 인해 encoder에서 생성된 feaure map ztz_t zt+1z_{t+1} 는 채널의 평균이 0이고 분산이 1이되는 형태가 된다. 수식에서 표현하는 dmd_m은 임베딩된 feature map의 크기를 뜻한다.

3.3.2 Mean and variance of masked feature map X

이후 이러한 feature map에 대해서 mask된 영역을 구하는 xtx_t, xt+1x_{t+1} 또한 분산이 1이 유지가 된다.

3.3.3 Norm2 of masked feature map X

이제 구해진 xtx_t, xt+1x_{t+1}에 대해서 norm2를 구하게 되면 다음과 같다.

즉, 분산이 1이라는 가정 덕분에 norm2를 구하게 되면 dm\sqrt{d_m}이라는 값을 깔끔하게 얻을 수 있는 것 이다.

3.3.4 Cosine similarity of two masked feature map Xs

이후 xtx_t, xt+1x_{t+1} 의 cosine similarity를 구하면, 간략하게 식이 줄어들게 된다.

즉 이렇게 두 masked feature map의 크기가 서로 같다보니, 단순한 각도만으로도 유사성을 비교할 수 있게 되고 이 점수를 바로 Change confidence score 라고 부른다. 이러한 점수를 기반으로 변화탐지가 가능하다.

4. Results

0개의 댓글