논문 읽기/weakly

[논문 읽기] GETAM(2021), Gradient-weighted Element-wise Transformer Attention Map for Weakly supervised Semantic Segmentation

AI 꿈나무 2022. 2. 24. 00:05
반응형

GETAM, Gradient-weighted Element-wise Transformer Attention Map for Weakly supervised Semantic Segmentation

 

https://arxiv.org/abs/2112.02841

 

GETAM: Gradient-weighted Element-wise Transformer Attention Map for Weakly-supervised Semantic segmentation

Weakly Supervised Semantic Segmentation (WSSS) is challenging, particularly when image-level labels are used to supervise pixel level prediction. To bridge their gap, a Class Activation Map (CAM) is usually generated to provide pixel level pseudo labels. C

arxiv.org

 

weakly segmentation 논문

 

현재 하고 있는 연구에 grad-cam을 활용하여 pseudo label을 정제할 수 있을 것 같아서 weakly 논문을 보고 있다.

 

 해당 논문은 vision transformer 모델에 CAM을 활용하여 pseudo label을 생성하고, refine 하여 pseudo gt로 사용하는 논문.

 

 

 vision transformer 모델은 long range dependency를 포착하는데 특화되어 있는 모델이기 때문에 object region을 잘 딴다. 이 모델에 grad-cam을 적용하면 어떻게 될까?

 

 이 논문은 class token과 image를 patch로 자른 token 사이의 attention map과 class token에 가해지는 gradient 값을 활용한다.

 

 

 self-attention 계산 후 뽑아낸 A(attention map)에서 class token에 해당하는 첫번째 인덱스와, image patch에 해당하는 나머지 index 를 얻는다.

 

 

 이 attention map은 prediction에 활용되는 class token과 image patch token(local) 사이의 attention 정보를 지니고 있다.

 

 위에서 얻은 attention map과 이 attention map에 가해지는 gradient 값을 활용하여 GETAM을 만든다.

 

 

 위 GETAM은 하나의 transformer block에 대한 것이므로 모든 block에 대한 GETAM을 더해준다. 참고로 위 동그라미 연산은 element-wise 곱이다.

 

 

 

 최종적으로 얻은 GETAM은 image region을 골고로 활성화시키는 경향이 있다. 이러한 특징은 recall을 높이지만 바운더리를 정확하게 못딴다. 따라서 gradient 값도 활용.

 

 

 

 

 이렇게 얻은 GETAM을 곧바로 수도레이블로 사용하지는 못한다. refienment가 필요한데, salient map을 활용한다. salient map은 Generative Transformer for Accurate and Reliable Salient Object Detection 논문의 모델을 활용하여 얻는다. 참고로, GETAM에 PAMR을 적용한 뒤에 salient map을 활용한다. PAMR은 single stage semantic segmentation from image labels 논문에서 제안된건데 이해는 못했다.

 

 

 

 우선 GETAM은 foreground에 대한 정보만 지니므로 back ground에 대한 GETAM을 다음과 같이 얻는다.

 

 

 여기에 salient map 정보를 활용하여 prediction을 얻음

 

 

 위에서 얻은 prediction은 background를 잘 억제 하지만, 작은 물체들이 background로 매칭되는 경향이 있다 이를 해결하기 위해 M에 threshold를 가하고, M_confilct map을 활용하여 prediction을 정제한다.

 

 

 M_conflict =1 은 하나의 클래스 >1은 두개 이상의 클래스가 theshold를 넘는 경우를 의미함.

 

 

 

 

 이제 pseudo label을 얻는 과정은 끝났다. 학습을 해야하는데 double-backward propagation 방법을 제안한다.

 

 하나의 backward는 GETAM을 얻기 위해, 다른 backward는 segmentation 모델을 학습하기 위함이다.

 

 

 논문의 전체 그림이다.

 

 

 보면 classification, segmentation head가 존재한다.

 

 GETAM을 얻기 위한 classification head와 segmentation label을 위한 segmentation hgead를 사용한다.

 

 segmentation head는 vision transformer for dense prediction 논문의 모델을 사용한다.

 

 

 

GitHub - Seonghoon-Yu/AI_Paper_Review: 까먹으면 다시 보려고 정리합니다.

까먹으면 다시 보려고 정리합니다. Contribute to Seonghoon-Yu/AI_Paper_Review development by creating an account on GitHub.

github.com

 

반응형