-
Salient Object Detection 논문정리 [2020]논문 정리 2021. 7. 24. 00:05반응형
Progressive Feature Polishing Network for Salient Object Detection [AAAI 2020]
- PFPN (Progressive Feature Polishing Network) 제안
- ECSSD, HKU-IS, PASCAL-S, DUT-OMRON, DUTS 데이터셋 사용
- 구조적으로 앞선 논문들과 비교하여 큰 특징은 없는듯
- 논문의 주요 contribution은 The Feature Polishing Module (FPM)인데 인코더 각 부분의 feature를 점진적으로 통합 시켜서 성능을 높이는 방식
* Result
Weakly-Supervised Salient Object Detection via Scribble Annotations [CVPR 2020]
- 특이하게 weakly-supervised 방식으로 학습함
- 학습에는 전체 GT가 아닌 scribble (일종의 낙서?)가 사용됨
- 학습용 scribble 데이터셋은 S-DUTS로 부터 재생성하여 사용
- 첫 번째 그림과 같이 네트워크는 scribble와 partial cross entropy loss (GT가 존재하는 부분만 역전파 시키는 방식인듯)를 이용함
- 추가로 edge 정보도 학습에 이용함
- 두 번째 그림과 같이 gated structure-aware loss는 주황색 (물체), 파란색 (배경)의 scribble 데이터로 학습한 결과 (d)와 (d)에 Dense CRF를 적용한 (e)의 마스크를 이용한 (g) (둘 다 1이면 주황색, 둘 다 0이면 파란색)로 학습한 결과
- 최종 예측은 (h)로 나옴
* Result
Multi-scale Interactive Network for Salient Object Detection [CVPR 2020]
- SOD에 다양한 scale의 물체들이 존재하므로 이를 잘 다루기 위해 MINet을 제안함
- aggregate interaction module, self-interaction module을 제안함
- 추가적으로 픽셀 불균형 문제를 해결하기 위해 consistency-enhanced loss를 제안함
* Aggregate Interaction Module (AIM)
- 아래 그림과 같이 인접 feature map으로 부터 multi-level integration을 수행하는 모듈
- 몇번째 feature block이냐에 따라 아래 3가지 종류의 AIM 중 하나가 사용됨 (위 그림 참고)
* Self-Interaction Module
- AIM은 inter-layer convolutional feature을 효율적으로 활용하는 것을 목표로 하는 반면, SIM은 intra-layer feature에서 multi-scale representation을 생성하기 위해 사용됨
- 과정은 아래와 같음
* Consistency-Enhanced Loss
- background보다는 foreground에 더 초점을 맞추고, 물체의 scale 차이가 계산된 손실에 큰 차이를 유발하지 말아야함
- 예측된 foreground 영역이 실제 실제 영역과 완전히 분리된 경우 가장 큰 패널티가 있어야 함 (작은 물체의 경우 이러한 일이 빈번하게 발생하기 때문인 듯)
- 실제 수식은 아래와 같음 (분석이 더 필요)
먼저 일반적인 binary cross entropy loss의 경우
$L _ { BCEL } = \sum _ { p \in P,g \in G } ^ { } - \left [ g log p+ \left ( 1-g \right ) log \left ( 1-p \right ) \right ]$
제안된 loss의 경우
$L _ { CEL } = \frac{ \left | FP+FN \right | } { \left | FP+2TP+FN \right | } = \frac{ \sum _ { } ^ { } \left ( p-pg \right ) + \sum _ { } ^ { } \left ( g-pg \right ) } { \sum _ { } ^ { } p+ \sum _ { } ^ { } g }$
실제로 학습할 때는 두 loss를 모두 사용함
$L=L _ { BCEL } \left ( P,G \right ) + \lambda L _ { CEL } \left ( P,G \right )$
Label Decoupling Framework for Salient Object Detection [CVPR 2020]
- 기존 상당수 논문들이 edge 정보를 이용함
- 이 논문은 body map, detail map을 사용한다는 것이 특징
- feature interaction network를 제안하여 body map, detail map을 반복적으로 통합하여 SOD를 개선함
* Label Decoupling
- GT label을 body와 detail 부분으로 구분하는 과정
- body는 물체의 골격, 중심부 부분이고 detail은 가장자리에 가까운 부분으로 이해하면 됨
- 일반적으로 가장자리 부분을 예측하는 것이 어렵기 때문에 네트워크의 디코더를 두 부분으로 나누고 이를 통합하는 과정을 추가한 듯
- body와 detail을 나누기 위해 간단한 컴퓨터비전 기술인 Distance Transformation(DT)을 적용함
- Distance Transformation은 이 글을 참고하면 됨
- 결과적으로 body는 GT에 DT를 적용한 이미지, detail은 GT에서 body 이미지를 뺀 이미지와 동일함
* Feature Interaction Network
- 결과적으로 body decoder의 출려과 detail decoder의 출력을 concat해서 interaction decoder에 집어 넣음
- 이때 interaction decoder 각 layer의 feature map을 다시 body decoder, detail decoder에 집어 넣음
- 이 과정을 몇번 반복하여 학습함
- 추측으로는 1단계에서는 body, detail, SOD 결과를 뽑고 각각 역전파 (interaction decoder는 학습 x), 2단계에서 body, detail concat한 결과를 interaction decoder에 넣고 body, detail, SOD를 다시 뽑아 역전파 (interaction decoder는 학습 o) 과정을 몇번 반복하는 듯
- 학습 과정이 특이해서 코드 확인 필요
- body, detail에는 BCE loss를 적용한다는데 body, detail map이 이진화된 상태가 아니라 BCE 적용이 가능한지 확인 또한 필요
- SOD map은 기본적인 BCE와 추가로 IOU loss 적용 (body, detail는 이진화가 아니라 적용이 불가능)
Suppress and Balance: A Simple Gated Network for Salient Object Detection [ECCV 2020]
- 기본적으로 FPN 구조를 가짐
- Parallel branch를 추가하여 기존 FPN 디코더와 정보 전달이 필요
- Gated branch를 이용해 필요한 정보 흐름을 조절함
- gate는 아래 그림처럼 channel-wise sigmoid 사용
반응형'논문 정리' 카테고리의 다른 글
Object-Centric Learning with Slot Attention (0) 2023.03.25 SuperPoint: Self-Supervised Interest Point Detection and Description (0) 2022.03.09 Salient Object Detection 논문정리 [2021] (0) 2021.08.22 Salient Object Detection 논문정리 [2019] (0) 2021.07.13 Monocular Depth Estimation 논문 정리 (0) 2020.12.01