해당논문은 detection에서 주로 사용되는 FPN의 구조를 변화해서 성능을 향상시킨 논문입니다.
Introduction
Detection 네트워크는 일반적으로 feature extraction을 하는 backbone과 backbone에서 추출된 feature를 이용해서 detection을 수행하는 network로 구성됩니다.
backbone이 아닌 부분에 대해서는 Faster R-CNN, Cascade R-CNN과 같이 multi-stage로 진행되는 모델이 많습니다. 저자들은 multi-stage detector로 부터 motivation을 얻어, FPN의 구조를 변형하였습니다.
본 논문에서는 atrous convolution(dilated convolution)을 상당히 많이 사용합니다. Dilated convolution은 파라미터를 많이 늘리지않고도 넓은 receptive field를 활용할 수 있습니다. 자세한 연산은 아래 그림처럼 동작하게 됩니다.
Proposed Method
저자들이 제시한 feature extraction 구조는 기본적으로 FPN을 기본으로 하고있습니다.
저자들이 제시한 feature extraction 구조는 FPN과 다른점이 크게 2가지 입니다.
1) Macro level : Recursive Feature Pyramid (RFP)
2) Micro level : Switchable Atrous Convolution (SAC)
Recursive Feature Pyramid (RFP)
FPN과 Recursive Feature Pyramid의 차이점은 feedback connection의 유무입니다. 이미지 입력이 recurrent 한 형태의 input은 아니지만, feature extraction을 multi-stage로 진행하기 위해서 FPN을 T번 진행합니다. 그리고 t번째 FPN output을 (t+1) 번째 FPN 진행시 적절하게 반영을 해줍니다. RFP의 진행 방식을 그림으로 나타내면 아래와 같습니다.
t번째 FPN output이 (t+1)번째 FPN에 반영되는 방법으로 저자들은 2가지를 제시합니다.
- ASPP (Atrous Spatial Pyramid Pooling)
ASPP는 특정 feature map에서 atous convolution에서의 rate 값을 변화시키면서 feature를 뽑고, 해당 feature를 모두 concatenate 를 해서 사용하는 모듈을 의미합니다.
t번째 FPN output에 ASPP를 적용하여 feature를 뽑고 (t+1)번째 FPN의 Bottom-up forwarding시 해당 feature 를 사용합니다.
- Fusion module
- t번째 FPN output이 (t+1)번째 FPN output으로 바로 반영됩니다. 정확히 2개의 sum으로 연산되는것은 아니고, 아래의 그림처럼 2가지 feature의 linear interpolation 형태로 연산됩니다.
Switchable Atrous Convolution (SAC)
FPN은 bottom-up path 와 top-down path가 존재한다. FPN bottom-up path에 존재하는 3x3 convolution을 SAC로 변환했습니다.
input이 x, kernel weight 가 w, atrous rate 를 r로 표현했을때 dilated convolution 연산을 다음과 같이 정의 합니다. Conv(x, w, r=1)은 일반 convolution연산과 같습니다.
일반적인 방법론들과 다른 점든 dilated convolution의 weight를 일반 convolution의 weight와 새로 선언한 weight의 합으로 나타냈다는것입니다. 이러한 mechanism을 저자들은 locking mechanism이라고 표현을 했고 해당 mechanism을 사용하지 않았을 경우에는 성능의 저하가 있었다고 합니다.
Experiment
Implementation details
- RFP에서 각 각 FPN에서 bottom-up 에서 사용되는 weight들은 t에 따라서 shared 하지 않음
- SAC에서 convolution 대신 deformable convolution 사용
Baseline으로는 HTC를 사용하였다.
Detection results on COCO val2017 with Res50
Ablation study of RFP and SAC
SOTA comparison on COCO test-dev for bounding box object detection
Instance segmentation comparison on COCO test-dev
Conclusions
EfficientDet과 해당 논문을 통하여 feature extraction에서의 변화가 성능 향상에 크게 영향을 끼친다는것을 알수 있기때문에, 2가지 backbone을 사용하는것을 기본으로 해당 방법론에 대한 연구가 필요한것으로 보임
Share article