하루에 논문 한편씩, 핵심만 읽고 요약하기 : Paper 03


Paper Link : https://arxiv.org/abs/2006.02334



1. Abstract

: 해당 논문에서는 object detection을 위한 새로운 backbone desine을 제안합니다. 크게 보았을 때(macro level), FPN으로 부터 얻은 추가적인 패드백 연결(extra feedback connections)을 bottom-up backbone layer에 추가해주는 Recursive Feature Pyramid를 제안합니다. 또한 자세히 들여다보면(micro level), 다양한 atrous rates로 얻은 features를 switch function을 통해 모아주는 Switchable Atrous Convolution을 제안합니다. 해당 방법을 통하여 DetectoRS는 COCO test-dev에서 SOTA를 달성하였습니다. (Object detection : 54.7% box AP, Instance segmentation : 47.1% mask AP, Panoptic segmentation : 49.6% PQ)


- Github code : Link








2. Recursive Feature Pyramid


위의 그림에서 (a)는 흔히 사용되는 FPN (Feature Pyramid Network) 구조입니다. 를 각 bottom-up backbone의 i-stage, 를 i번째 top-down FPN라 하고, 또한 를 i-stage FPN의 output이라 한다면, FPN에서 output feature 는 아래와 같이 나타낼 수 있습니다.




이번에는 (b)에 나타난 RFP (Recursive Feature Pyramid)가 포함된 FPN에서의 output features 를 나타내면 아래와 같습니다. 이때 는 bottom-up backbone으로 연결해주기 이전에 가하는 feature transformations입니다, 




이러한 recursive 연산을 unroll하여 위의 그림의 (c)처럼 나타내면 아래와 같이 나타낼 수 있습니다. 이때, 는 unrolled step을 나타냅니다,




이때 위의 그림에서 (c)를 보시면 알 수 있듯이 ASPP를 connecting module 로 사용하였습니다. ASPP에 대한 자세한 내용은 DeepLabv3+ 리뷰를 참고해주세요.







Connecting module의 output에 해당하는 RFP feature는 뒤의 그림과 같은 구조를 통해 ResNet backbone에 더해지게 됩니다.







3. Switchable Atrous Convolution


위의 그림은 switchable atrous convoltuon을 나타낸 figure입니다. 크게 3가지 요소(2개의 global context modules과 SAC)로 구성되어 있습니다.



을 weight가 이고 atrous rate가 이며 를 input으로 받아 를 output으로 출력하는 convolutional operation이라 하면, 아래와 같은 과정을 통해 ResNet backbone의 convolutional layer를 SAC로 변환합니다.


이때, 는 switch function이며 는 trainable weight입니다. 는 위의 Figure 4에 나타난 것과 같이 5x5 kernel의 averagae pooling과 1x1 convolutional layer로 구성되어 있습니다.


이러한 SAC를 통해 input이 두 가지의 다른 atrous rates를 바탕으로 연산이 되어짐으로써 더욱 정확한 모델을 만들어낼 수 있었다고 합니다. 다시 말해 특정 이미지를 하나의 네트워크로 하여금 다양한 관점(receptive field)으로 바라보게 함으로써 성능을 향상시켰습니다.




Global Context는 SAC의 앞 뒤에 붙어있는데 일종의 간단한 SENet으로 생각하시면 되며 이를 통해 global information을 더해주어 더욱 정확한 결과를 예측했습니다.








4. Experiments

COCO test-dev에 대한 결과는 위와 같습니다.






HTC를 baseline으로 두고, 해당 모델에 RFP와 SAC를 각각 추가한 결과와

DetectoRS의 결과를 비교한 learning curve입니다.






위의 그림은 마지막 switch function의 output을 시각화한 결과입니다. 진한 영역은 switch function이 더욱 큰 atrous rate를 통해 더 많은 outputs을 모아주었다는 것을 의미합니다. 원본 이미지와 비교하였을 때, switch output이 ground-truth object의 크기와 잘 맞아 떨어지는 것을 확인할 수 있습니다. 이러한 결과는 SAC가 더 큰 물체를 직면하였을 때 더욱 큰 atrous rates를 사용할 것이라는 직관과 일치하는 것을 보여줍니다.