본문 바로가기

~2023

[논문 리뷰] FaPN: Feature-Aligned Pyramid Network for Dense Image Prediction

728x90
반응형

논문 정보

논문에서는 단순성을 위해 Feature Alignment 문제를 개선?해결?하지 않고 그대로 사용하는 걸 문제점으로 삼았다. 그래서 misalignment가 발생하는데 이를 해결하고자 Feature Alignment Module을 제한해 offset을 학습해 문제점을 개선했다. 실제로 베이스라인이 되는 Feature Pyramid Network(FPN)보다 좋은 성능을 보여줬으며 ADE20K 데이터셋에 대해 56.7% mIOU로 SOTA를 달성했다.

리뷰

그림 1. FaPN과 FPN 비교하는 Result

[그림 1]과 같이 FPN 같은 경우에는 Feature Misalignment 문제가 있어 경계선을 확대해서 봤을 때 모호하게 Segmentation 된 걸 볼 수 있지만, FaPN 같은 경우에는 FPN 보다 경계선에 있어서 제대로 Segmentation을 하고 있다.

그림 2. 네트워크 구조. 왼쪽: FPN 오른쪽: FaPN

baseline으로는 FPN[2]을 사용하고 bottom-up은 down sampling하는 과정(low-level)이고 top-down은 up sampling하는 과정(high level)이며 feature map i와 다음 feature map i+1을 up sampling하여 이 두 개를 더해 새로운 P_i를 만들어낸다.

논문에서 제안하는 FaPN은 FPN 그대로 사용하며 두 개의 모듈을 추가적으로 사용했는데 low-level에서는 Feature Selection Module (FSM), high-level에서는 Feature Alignment Module (FAM)을 추가했다.

그림 3. Nearest Neighbor[3]

FPN과 FaPN에서 Up Sampling 할 때 기본적으로 [그림 3]과 같이 Nearest Neighbor를 사용하며 FaPN은 FAM을 추가적으로 통과해 OUTPUT을 낸다.

FAM을 이해하기 위해서는 Deformable Convolution[4]을 알아야 한다.

그림 4. Deformable Convolution 이론

일반적으로 학습을 할 때 [그림 4-a]와 같이 고정된 픽셀을 가져와 연산을 수행하는데 Deformable Convolution은 [그림 4-b] ~ [그림 4-d]와 같이 필요한 픽셀을 가져와 유동적으로 학습을 진행한다는 아이디어이다.

그림 5. offset을 학습하는 과정

그래서 결국 현재 윈도우와 가져 올 픽셀의 차이를 offset이라고 하는데 그 offset을 [그림 5]처럼 학습한다.

그림 6. Deformable Convolution Results

결과적으로 object 상관없이 고정된 윈도우에서 학습을 진행하는 일반적인 [그림 6-a]와 달리 object에 맞춰 유동적으로 deformable convolution의 학습 과정은 [그림 6-b]와 같다.

그림 7. Feature Alignment Module (FAM)

FAM 과정은 [그림 7]에 나온 것과 같고 up sampling 결과는 P이고 low-level에서 넘어온 output은 C이며, offset을 학습하기 위해 C와 P를 concat해 델타i를 출력하고 델타i와 P를 학습해 layer의 output인 ^P를 출력한다.

식 (1)

위에 말한 과정을 식으로 표현하면 (1)과 같고 [그림 2]에서는 C를 기준으로 C는 i번째, P는 i+1번째였지만, (1)에서는 P를 기준으로 해 C가 i-1번째, P가 i번째인 것이며 low-level output이 C, high-level output이 P이며, 델타i는 offset 학습 결과이고 ^P는 최종 출력이며, fa()와 fo()는 offset을 학습하는 function이다.

FSM를 이해하기 위해서는 FAM과 마찬가지로 background를 요구한다. 그 background는 SENet에 사용된 SE Block과 Residual Unit이다. (*Residual Unit 개념은 ResNet 리뷰 포스트에 정리해뒀다.)

그림 8. Squeeze-and-Excitation Block (SE Block)

SE Block 알고리즘은 [그림 8]과 같고 F_sq()에서 Squeeze을 수행하고 F_ex()에서 Excitation을 수행해 Attention과 같이 강한 특징을 강조한다. 입력 X으로부터 학습된 feature map U를 F_sq()에서 Global Average Pooling(GVP)를 통해 1x1로 차원 변환하고 FC -> ReLU -> FC -> Sigmod를 통과하면서 강한 특징을 강조한 map과 U를 곱해 ~X를 Output으로 낸다.

그림 9. SE Block 적용 예시. 왼쪽: SE-Inception 오른쪽: SE-ResNet

그래서 위에 설명한 SE Block은 쉽게 탈부착이 가능해 [그림 9]와 같이 간단하게 적용 가능하며 왼쪽은 Inception 모듈, 오른쪽은 ResNet 모듈에 SE Block을 넣은 모습이다.

그림 10. FSM 알고리즘

FaPN 얘기로 돌아와서 FSM 알고리즘은 [그림 10]과 같이 작동되며 f_m()과 u는 SE Block을 통해 출력된 값들이며, 기존 SE Block만을 사용하는 것보다 Residual Unit을 통해 C_i를 identity로 받으면 더 좋은 성능을 보여준다.

(4)에서 z는 squeeze한 GAP 결과이며 f_m()을 통해 u를 출력 받고 u와 C_i를 곱한 후 identity를 받아 1x1 conv를 통해 high-level과 차원 크기를 맞춘다.

그림 11. Ablation Study

Ablation Study는 인공지능 분야에서 여러 모듈을 붙여 보거나 없애 보며 성능을 비교하는 거라 생각하면 되며, FaPN은 FPN에서 FAM과 FSM이라는 모듈을 추가한 것이기 때문에 FAM, FSM, SE Block, Deformable Conv를 붙었다 떼며 실험해본 결과, 제안하는 FaPN이 가장 좋은 성능을 보여줬다.

확실히 Image를 봤을 때 FAM을 적용하지 않은 P보다 FAM을 적용한 ^P가 경계선이 제대로 잘 그려져 명확하게 사물이 구분되는 걸 확인할 수 있다. up sampling 되는 과정에서 2x up한 결과를 FAM에 넣기 때문에 FAM 적용하기 전이 Before alignment로 P이며, 적용한 후가 After alignment인 ^P인 것 같다.

그래서 실제로 Main Result를 봤을 때 FPN보다 Small Object에 대한 Segmentation이 잘 되는 걸 확인 할 수 있다.

FaPN을 FPN과 비교했을 때 Object Detection, Semantic Segmentation, Instance Segmentation, Panoptic Segmentation에서 FaPN이 더 좋은 성능을 보였으며 특히, Object Detection에서 AP_s가 +2.1, AP_m이 +2.2의 성능을 보여줬다,

(*Segmentation 정리를 하자면 Semantic은 동일 클래스끼리 분할, Instance는 동일 클래스라도 객체로 분할, Panoptic은 배경도 분할이며 PQ^St는 배경, PQ^Th는 배경 외 퀄리티이다.)

또한, FaPN은 ADE20K val에 대해서 SOTA를 달성했다.


Reference

[1] S. Huang, et al., "FaPN: Feature-Aligned Pyramid Network for Dense Image Prediction," Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pp. 864-873.

[2] https://openaccess.thecvf.com/content_cvpr_2017/html/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.html

[3] https://herbwood.tistory.com/18

[4] https://openaccess.thecvf.com/content_iccv_2017/html/Dai_Deformable_Convolutional_Networks_ICCV_2017_paper.html

[5] https://openaccess.thecvf.com/content_cvpr_2018/html/Hu_Squeeze-and-Excitation_Networks_CVPR_2018_paper.html

728x90
반응형