본문 바로가기

Research

[Paper Review] PSEUDOSEG: DESIGNING PSEUDO LABELS FOR SEMANTIC SEGMENTATION

PSEUDOSEG: DESIGNING PSEUDO LABELS FOR SEMANTIC SEGMENTATION, Published as a conference paper at ICLR 2021

Yuliang Zou∗ Zizhao Zhang Han Zhang Chun-Liang Li Xiao Bian Jia-Bin Huang Tomas Pfister

[PDF]

Google Cloud AI에서 인턴 하던 분이 저자

짧게 보고 바로바로 쓰는거라 중요한 내용이 빠졌을 수도 있음... 


 

 

 

 

 

 

 

Introduction

적은 양의 라벨 데이터의 픽셀을 필요로 하고 라벨이 되지 않거나 부족한 부분을 활용하는 data-efficient segmentation에 초점을 맞춘다. 

이 논문의 주 아이디어는 semi-supervsied learning(SSL)이 cosistency training이라는 점: augmented image들에 대해 동일한 예측을 만들어내는 것. 이 전 연구 FixMatch에서는 augmented를 심하게 적용시킨 경우에 대해 학습시키기 위해 Weakly-augumented 시킨 unlabeled data들로부터 높은 confidence를 갖는 pseudo label을 사용했다. 이 점을 key라고 봄.

Contribution

- 제한된 양의 pixeld-labeld data와 충분한 unlabeled data를 사용한 간단한 1-stage framework 를 제안.

- 여러 prediction들을 융합하여 만든 soft psueo label이 얼마나 잘 consistency training 을 향상시키는지 보여줌

- PASCAL VOC와 COCO dataset에 대해 SSL을 segmentation task에 어떻게 전이해야하는지를 여러 실험들로써 보여줌

 

The Proposed Method

Overview

간단하다. 이 그림만 보면 대충 다 파악될 듯... 약한 augmentation을 decoder 통과시키면서, 제안하는 Self-attention Grad-CAM 결과와 융합시킨다. 이것이 Psueo Label. 그리고 약한 augmentation으로부터 strong augmentation을 적용시킨 후 decoder로 prediction 한 결과를 만든다. 1차 Pseudo Label과 Decoder prediction 사이의 cross entropy를 구한다.

전체적으로 아이디어 구성을 보면

1. weak augmentation 결과와 strong augmentation 결과 사이 loss를 구한다는 것. (다른 논문에서 가져온듯)

2. SGC 결과와 output decoder 합친다는 점.(융합)

3. SGC는 self-attention과 CAM을 결합해서 레이어를 구성했다는 점

Diagram of Self-attention Grad-CAM (SGC)
Figure: Overview of unlabled data training branch. 

 

Loss function

pixel-level labled data D_{l}에 대해  supervised loss L_{s} 

unlabled data D_{u}에 대해 consistency constraint loss L_{l}

별 거 없는 듯. 

supervised loss 구하는 건 일반적으로 알다시피.. weak augmentation 통과시키고 prediction 한 결과와 라벨 y 사이 cross entropy 구함.

unsupervsed loss는 정답 label이 없으므로, fused_function(weak_aug_image) 결과와 strong_aug_function(weak_aug_image) 결과 사이 cross-entropy를 구함. 

 

Localization

localization 시각으로 decoder를 좀 더 세밀한 segmentation을 만들도록 성능을 향상시키는 방안으로써, class activation map( CAM)을 사용. 

 

Augmentation

(1) weakly augmentation : 논문 Encoder-decoder with atrous separable convolution for semantic image segmentation의 방식 차용.

(2) strong data augmentation : color jittering operation from simCLR and remove all geometric transformations. Also, apply once random CutOut with a region of 50x50 pixels.

(논문: A simple framework for contrastive learning of visual representations)

 

Calibrarted prediction fusion

Self Attention Gard-CAM (SGC) map을 low-resolution feature map으로부터 얻어낸다. segmentation decoder에 비해 SGC는 더 지역적으로 일관적인 마스크들을 더 만들어낼 수 있다. 따라서, 이 논문에서는 새로운 calibrated fusion 전략을 제안한다. decoder와 SGC prediction 결과를 융합하여 더 좋은 pseudo label을 만들어낸다.

softmax를 통과한 decoder output p^ 그리고 SGC map은 m^으로 표기된 거. Norm(a, b)는 a의 제곱과 b의 제곱을 모두 합친 후 루트 씌운 거.. 논문 참조.. norm의 목적은 softmax 통과 후 over-confident probability가 발생하는 것을 완화시킴.

 

Loss functions

여기에 대해 좀 헷갈린 부분이 있다. 논문을 워낙 대충 읽어서.. 이건 나중에 구현할 때 다시 볼 예정

 

Github Code https://github.com/googleinterns/wss

기본적으로 Tensorflow 1.15 를 기반으로 한다. 

데이터셋 사용 및 파라메터 설정이 좀 귀찮다. 경로 잘못 설정하면 경로에 대한 에러보다는 스레드 관련 에러를 발생시킨다.