JLOG

[논문리뷰]SEAM-Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation 본문

논문정리

[논문리뷰]SEAM-Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation

정정선선 2022. 2. 8. 19:07

Abstract

WSSS를 위해 주로 CAM을 사용하지만, CAM을 object mask로 사용하기에는 어려움이 있다.

본 논문에서는 self-supervised equivariant attention mechanism을 적용해 추가적인 supervision을 제안함으로서 성능을 개선하고자 한다.

해당 기법은 FSSS에서 implicit constraint의 등변성을 기반으로 하여, pixel-level labels은 입력 이미지와 동일한 공간 변환을 한다. 하지만, image-level labels에서는 이러한 constraint가 사라진다.

 

따라서, consistency regularization을 제안하기 위해 다양하게 변환된 이미지에서 CAM을 predict한다.

또한, PCM(pixel correlation module)을 제안함으로서 context appearance information을 이용하고, 유사한 픽셀 이웃에 대한 현재 픽셀 예측을 refine하여 CAM의 consistency를 더욱 향상하도록 한다.

 

PASCAL VOC 2012 DATASET에 대해 SOTA 성능을 내었고, 코드는 온라인에 공개한다고 한다.

 

 

Introduction

summary 부분만 정리

  • 본 논문에서 self-supervised equivariant attention mechanism(SEAM), pixel correlation module(PCM)로 incorporating equivariant regularization(?)을 통해 FSSS와 WSSS의 격차를 줄였다.
  • equivariant cross regularization (ECR) loss와 함께 siamese network architecture로 디자인 되어 있어, PCM와 self-supervision을 효율적으로 결합해, 과활성 및 비활성 영역(?)을 모두 가진 CAM을 생성한다.
  • PASCAL VOC 2012에서 image-level annotation에 대해 SOTA 성능

 

 

Approach

먼저 motivation에 대해서 말하고, shared weight siamese network 에 의해 같은 regularization을 적용한다. 제안한 pixel correlation module(PCM)을 network에 통합함으로서 prediction의 일관성을 개선한다. 마지막으로, SEAM에 대한 loss를 design한다.

 

 

3.1 Motivation

affine transformation에 대해 segmentation은 equivariant 하지만, classification function의 경우 pooling operation 때문에 equivariant하지 않다. classification과 segmentation이 같아지는 것은 불가능하다. additional regularizer을 사용하여 이러한 supervision gap을 줄이게 된다.

self-attention은 pixel의 유사성을 이용하여 original activation map을 수정하게 되고, approximation ability를 개선시킨다.

(capturing context feature dependency?)

 

attention mechanism은 아래와 같은 식에 의해 정의된다.

 

 

x: input feature

y: output feature

i, j : spatial position index

 

즉, 네트워크 성능을 개선시키기 위하여 본 논문에서 self-attention과 quivariant regularization을 통합한 SEAM 기법을 제시한다.

 

 

3.2 Equivariant Regularization

fully supervised semantic segmentation의 data augmentation의 경우 인풋 이미지 변화에 대해 결과에 똑같은 변화가 일어난다(equivariant). 하지만 WSSS의 경우 image level classfication label만 존재하기 때문에, equivariant 하지 않다. 그러므로, 본 논문에서는 equivariant regularization을 제안한다.

A : affine transformation

F : network

Input Image에 Affine을 적용한 것과, network output인 feature에 적용한 것의 차이를 줄임으로서 equivariant하게 만들어준다. 이때, siamese structure를 채택함으로서, 하나의 branch에는 원본 이미지, 다른 branch에는 transformed 이미지를 사용함으로서 network를 구성한다.

이렇게 두개의 브런치의 output activation maps은 CAM의 consistency를 보장한다.

 

 

3.3 Pixel Correlation Module

3.2에서 Equivariant regularization을 추가하였지만 기존 classifical convolution layers로는 ideal equivariance를 얻기에는 부족하다.

context information을 capture하고 pixel-wise prediction results를 조정하기 위해 self-attention은 좋은 모듈이다.

 

기존 CAM에서 self-attention을 사용하면 3.1 method에서 언급했던 식을 바탕으로 아래와 같이 나타낼 수 있다.

 

y^^ : original CAM

y : revised CAM

g : function for original CAM embedded into residual space

세타, 파이, g : 각각 1x1 convolution으로 이뤄져있다.

 

context information을 주기 위해 PCM(pixel correlation module)을 network 끝 부분에 추가했다. PCM은 self-attention 기법을 아래와 같이 수정하여 사용되었다.

src="https://t1.daumcdn.net/cfile/tistory/img?original" />

ReLU를 사용해 negative value들을 suppress하였다. classifical self-attention과 비교해서 PCM는 residual connection을 제거해 original CAM의 activation intensity를 유지했다. 또한 기존 파이, g를 사용하지 않아 overfitting을 방지해주는 역할도 한다.

L1 normalization과 함께 ReLU를 activation function으로 사용함으로서 irrelvant pixels을 mask out하고 relevant regions을 smoother하는 affinity attention map을 생성하도록 하였다. (?)

 

 

3.4 Loss Design of SEAM

classification loss

 

본 논문에서는 siamses network를 사용했음으로,

original과 transform 된 image feature를 모두 loss에 사용한다.

 

앞서 말한 equivariant regularization을 original CAM에 적용하기 위해 ER loss를 제안한다.

 

또한 equivariant cross regularization을 사용해 equivariant regularization의 역할을 도와주고, self-attention의 정보도 사용함으로서 모델을 개선한다.

 

classification loss에 의해 foreground object는 학습되지만 많은 backgound pixel이 존재하고 PCM processing에서 무시될 수 없다. original foreground CAM은 background position에 zero vectors를 가지고 있기 때문에 gradient를 생성할 수 없다. 그래서 아래와 같이 bck pixel을 설정하여 준다.

 

요약하자면, SEAM의 Loss function은 아래 와 같다.

ER loss는 pixel, image-elvel supervision의 gap을 줄여주고, ECR loss는 PCM을 network에 적용해주며, affine transformation의 consistent를 유지하도록 해준다.

 

 

 

Experiments

PASCAL VOC 2012 dataset, 21 class(20 foreground object, 1 background)

backbone : ResNet38

output_stride = 8

extract from stage 3 and 4

reduce channel number into 64 and 128 at 1x1 conv

function 세타를 위해 1x1 conv를 따로 사용해줌

 

성능이 개선된 것을 확인할 수 있음

Comments