Hybrid Task Cascade for Instance Segmentation

Inc Lomin's avatar
May 07, 2019
Hybrid Task Cascade for Instance Segmentation
이 논문은 Cascade R-CNN의 단점을 보완하고 더 개선된 형태의 instance segmentation 구조를 제안하고 있습니다. 저자들은 cascade된 mask branch사이에서 information flow가 충분하지 않음을 지적하며, 약간의 변형을 더해 이를 해결하려 합니다. 나아가 deformable convnet, guided anchoring, senet backbone 등 다양한 요소들을 조합하여 state-of-the-art 성능을 보고하고 있습니다.
 

Introduction

Motivation

Cascaded R-CNN에서 multi-stage architecture를 통해 예측 값을 점진적으로 refine함으로써 좋은 결과를 얻을 수 있었음. 하지만 결과를 살펴보면 bbox AP는 3.5%나 오른 것에 비해 mask AP는 1.2%밖에 오르지 않았는데, 그 이유는 각 stage의 mask branch 사이에 information flow가 suboptimal하기 때문. 2, 3번째 mask branch에서 각각의 이전 stage의 mask branch가 만든 feature를 활용한다면 더 좋지 않을까?

Contribution

1) Cascade된 mask branch들 사이에 information flow를 더함.
2) Instance segmentation에 더하여 stuff segmentation을 함께 학습에 사용하여 background region의 contextual information을 사용함.
 

Proposed Method

Multi-task Cascade

Interleaved Execution: Cascade Mask R-CNN은 각 stage의 두 branch가 이전 stage의 prediction에 기반하여 parallel하게 동작한다는 것이다(아래 그림의 (a)). 이런 구조에서는 한 stage 안에서 두 branch가 상호작용하지 못하므로, 아래 그림의 (b)와 같이 mask branch는 같은 stage의 box branch의 prediction으로부터 input을 pooling하도록 interleaved execution을 제안한다.
Mask Information Flow: 서로 다른 mask branch들 사이에 정보를 흘려주기 위하여(information flow), 이전 branch의 mask feature를 다음 mask branch에 입력으로 넣어준다.
notion image
이전 branch의 mask feature를 다음 branch에 입력할 때는 오른쪽 그림과 같이 1x1 conv를 통하여 align을 시킨 뒤 backbone feature와 더한다.
notion image

Spatial Contexts from Segmentation

notion image
Foreground와 cluttered background를 보다 잘 구분하기 위하여, spatial context를 사용한다. Semantic segmentation feature는 instance segmentation feature의 strong complement이므로 도움이 될 것이다.
기존의 instance segmentation을 수행하는 기존 구조에 더하여 위 그림과 같이 전체 이미지에서 per-pixel segmentation을 수행하는 branch를 추가한다. 이 branch는 fully convolutional하며 다른 branch와 jointly trained된다.
왼쪽의 회색 피라미드는 FPN에서 나온 feature들이다. 이들은 1x1 conv와 upsampling을 통해 크기를 맞추고 더한 뒤, 4개의 convolution 뒤에 다시 1x1 conv로 semantic feature와 segmentation prediction을 생성한다. Semantic feature는 ROI align 후에 box, mask branch에 들어가는 원래 feature와 더해진다. Segmentation prediction은 학습 과정에서 supervision을 주기 위한 용도로만 사용된다.
 

Experiment

State-of-the-art methods와의 비교 (COCO test-dev). Cascade Mask R-CNN에 비하여 각 backbone에서 1% 이상 향상이 있다.
notion image
각 component의 효과 검증(COCO val).
notion image
Parallel branch vs. interleaved branch execution. Box AP는 비슷하지만 mask AP에서 차이가 난다.
notion image
Information flow의 효과.
notion image
Semantic feature의 효과.
notion image
Semantic branch의 loss weight는 결과에 큰 영향이 없다.
notion image
Bells and whitles를 더한 실험 결과.
notion image
다른 논문에서 제시된 contribution들을 조합해 본 실험 결과. 대부분 큰 향상이 없으며, Soft NMS가 그 중 가장 높은 효과를 보인다.
notion image
 
 

Conclusions

본 논문에서는 기존의 Cascaded R-CNN에서 box branch 사이에서만 cascade가 일어나고 mask branch는 prediction 후에 그 feature가 뒷 stage에서 활용되지 못하는 문제를 해결하기 위해 information flow를 새롭게 제안하였습니다. 특히 인상깊은 점은 탄탄한 코드베이스(mmdetection)를 통해 DCN, ASPP, SoftNMS와 같이 잘 알려진 요소들을 정말 다양하게 조합하여 실험함으로써 어떤 것이 실제로 도움이 되는 것인지, 현재 알려진 기술로 가장 높은 성능을 얻기 위한 방법이 무엇인지 알 수 있었다는 점입니다. 실무에서 object detection 모델을 개발하고자 할 때 많은 참고가 되리라 생각합니다.
Share article