Sparse R-CNN : An End-to-End Framework for Object Detection 논문 정리
https://arxiv.org/abs/2011.12450
Sparse R-CNN: End-to-End Object Detection with Learnable Proposals
We present Sparse R-CNN, a purely sparse method for object detection in images. Existing works on object detection heavily rely on dense object candidates, such as $k$ anchor boxes pre-defined on all grids of image feature map of size $H\times W$. In our m
arxiv.org
Abstract
object detection에 대해 완전히 sparse한 method인 Sparse R-CNN을 제시했습니다. 기존의 object detection 연구는 보통 size가 HxW인 image feature map의 모든 grid에 대해 k개의 anchor box를 미리 정의하는 등, 밀집된 object candidate에 의존했습니다. 그러나 이 논문에선, 전체 길이가 N인 학습된 object proposal에 대한 고정된 sparse set이 주어지고 이를 통해 classification과 location을 수행할 수 있는 object recognition head를 얻을 수 있습니다. HWk개의 직접 지정한 object candidate대신 N개의 learnable proposal을 사용함으로써 Sparse R-CNN은 one-to-many label assigment에 대해 신경 쓸 필요 없이 object candidate을 지정하는 데에만 집중할 수 있습니다. 나아가 Sparse R-CNN은 후처리 과정인 non-maximum suppression (NMS)없이 바로 output을 예측할 수 있습니다. 이를 통해 object detection에 대해 end-to-end framework를 만들 수 있습니다.
Introduction
object detection은 image에서 관심있는 object의 set에 대해 위치를 찾고 카테고리를 찾아내는 task입니다. 대부분의 detector에선 밀집한 prior(proposal)이 주축이 되었습니다. 최근의 one-stage detector에서도 anchor box나 reference point와 같은 dense한 feature map grid에 대한 표시를 미리 정의하고, 이에 대한 상대적인 scaling과 bounding box에 대한 offset, 그에 대한 category를 예측하는 형태였습니다 (e.g, YOLO).
RetinaNet을 HxW feature map에 대해 각 grid의 k anchor box를 반복합니다. 결국 총 anchor box의 갯수는 대략 10^4-10^5개가 됩니다. 2-stage pipeline은 dense하지 않고 sparse한 proposal box set을 다뤘지만, proposal generation 알고리즘에선 여전히 dense한 candidate를 만들게 됩니다.
Faster R-CNN은 RPN(Region Proposal Network)에서 수십만개의 candidate 중 N개 (대략 300~2000)를 선택하고, 그에 해당하는 region에서 그들의 image feature를 추출한 후, bounding box location과 category를 조정해 나갑니다.
이렇게 잘 설계된 방법들은 개념적으로 직관적이고 훌륭한 성능을 내긴 하지만, 그들이 사용하는 'dense-prior' detector에는 여전히 한계가 존재합니다.
(1) 이런 pipeline은 보통 반복되는 결과들을 내고, NMS(non-maximum suppression)과 같은 post-processing 과정이 꼭 필요하게 됩니다. 이런 NMS는 결국 추가적인 inference time을 요구할 수 밖에 없습니다. 설상가상으로, NMS dilemma라고 불리는 밀집되어 있는 object가 존재하는 scene에 대해선 detection accuracy가 떨어질 수 밖에 없습니다. 예를 들어 NMS threshold를 높게 설정하면 더 많은 false positive를 야기하고, 더 낮은 threshold를 설정하면 true positive를 제거해 true target을 잃을 수도 있습니다.
(2) one-to-many label assgiment는 하나의 ground-truth box를 여러 개의 anchor box(candidate)에 할당하기 때문에, 학습 중에 detector를 heuristic label assigment rule에 크게 의존하게 됩니다. label assigment을 할 때 일반적으로 IoU threshold들의 heuristic rule를 적용하게 되는데 IoU는 값이 높을수록 두 box가 더 많이 겹치는 것을 의미합니다.
- 낮은 IoU threshold : 많은 anchor box가 positive sample로 분류됨 -> noisy한 positive sample이 training 과정에 포함되어 결국 prediction에서도 더 noisy한 prediction을 하게 됩니다.
- 높은 IoU threshold : 적은 anchor box가 positive sample로 분류됨 -> sample이 줄어들어 detector가 overfitting
(3) 최종 성능은 size, aspect ratio (종횡비), anchor box의 수, reference point의 밀도와 proposal generation algorithm에 많은 영향을 받을 수 밖에 없습니다. 높은 성능의 object detector를 얻기 위해서, 이런 모든 hyper-parameter와 object candidate의 design pattern은 신중히 tuning되어야 합니다.
object detector 사이에서 dense convention이 많이 사용되긴 하지만, 'sparse detector'를 만드는 게 가능할까요?
최근, DETR은 object detection을 direct set-prediction problem으로 다뤄 input이 오직 100개의 학습된 object query가 되고 supervision은 bipartite matching loss로 인식됩니다. 최종 prediction set은 추가적인 처리 필요 없이 바로 output이 됩니다. 간단하고 효과적이긴 하지만 DETR은 각 object query가 global image context와 interaction을 해야 합니다. 이 global(dense) property는 training convergence를 늦출 뿐만 아니라, 이 특징은 object detection에서 sparse pipeline을 불가능하도록 합니다. 이 논문에선 이러한 이유로 DETR은 purely sparse object detection이 아니라고 주장합니다.
sparse property라 함은 2가지 측면에서 볼 수 있습니다. sparse boxes & sparse features
[sparse box]
image에서의 모든 position과 scale에 따른 수많은 candidate를 사용하는 대신, 처음 시작할 때 적은 수의 box로도 충분히 image에 있는 모든 object들을 예측가능하다는 것을 의미합니다.
[sparse feature]
각 object의 feature가 모든 image에 대해 다른 feature들과 interact할 필요가 없음을 의미합니다. 각 object feature가 각 local region 내에서 image feature들과만 interact를 하면 training convergence에서도 inference speed 면에서도 이득이 됩니다. 이런 관점에서, DETR은 object query가 전체 image에 대해 dense feature와 interact하기 때문에 sparse-feature method라고 볼 수 없습니다.
이 논문에선 지극히 sparse한 (모든(dense) image grid에 대해 존재하는 수많은 object candidate / global(dense) image feature와 interacting 하는 object query) 같은 것들이 존재하지 않은 Sparse R-CNN을 제시했습니다. Sparse R-CNN에선 object candidate는 4d coordinate으로 표현되는 학습가능한 bounding box의 set으로 바로 주어집니다. 예를 들어, COCO dataset에 대해 총 100개의 box와 400 parameter가 필요합니다. 이런 sparse한 candidate은 RoIPool이나 RoIAlign에 의해 얻을 수 있는 RoI의 feature를 뽑기 위한 proposal box로 사용됩니다.
학습가능한 proposal box는 image에서 잠재적인 object들의 location에 대한 정보를 담고 있는 statistics가 되는 반면, 4d coordinate은 pose나 shape 같은 informative detail을 담을 수 없고 object에 대한 대략적인 represenation만 가능합니다. 여기서 또다른 중요한 개념 'proposal feature'이 나옵니다. 이는 high-dimension의 latent vector가 됩니다 (256-dim). rough한 bounding box와 비교했을 때, proposal feature는 instance 특성에 대해 더 풍부한 특징을 encode할 수 있습니다.
proposal box와 proposal feature 모두 임의로 초기화되고 전체 network의 다른 parameter들과 같이 최적화됩니다. 이는 dense한 object candidate를 사용하거나 proposal generation algorithm을 사용했을 때 드는 effort들을 피할 수 있습니다.
proposal feature과 proposal box는 one-to-one형식으로 일치합니다. 각 proposal feature는 각각의 object recognition head에 맞춰진 parameter의 series를 생성합니다. 이런 conditional head는 classification과 해당 RoI feature에 해당하는 location을 예측합니다. 이런 과정이 최근 dynamic scheme과 비슷하기 때문에 'Dynamic Instance Interactive Head'로 부릅니다. 이 논문에선 object recognition에 대해 고정된 parameter가 아닌 head 별 각각의 고유한 proposal feature를 사용한 것이 Sparse R-CNN의 성공 요인으로 본다고 합니다.
Sparse R-CNN의 가장 두드러지는 특징은 전체적인 pipeline에서 'sparse-in sprase-out' paradigm이라는 점입니다. object candidate은 proposal box와 proposal feature의 sparse set이 되고, 서로 상호작용하게 되는 interaction module은 one-to-one dynamic instance interaction head가 됩니다. dense candidate을 사용하지도, global한 즉 dense한 feature와 interacting도 하지 않는 pipeline이란 뜻입니다. 이렇게 완전한 sparsity를 가진 Sparse R-CNN은 R-CNN family의 새로운 member가 될 수 있습니다.
Sparse R-CNN은 [Cascaded R-CNN], [Faster R-CNN], [FCOS : Fully convolutional one-stage object detection] 와 같은 잘 설계된 detector와 비교했을 때 COCO dataset에서 기존보다 3배 빠른 training schedule을 갖고 45.0 AP를 도달했고 inference할 때도 ResNet-50 FPN model을 사용해 22 fps를 달성할 수 있었습니다.
결국 Sparse R-CNN의 최종 contribution은 다음과 같습니다.
- object detection의 발전과정을 살펴보며, Sparse R-CNN이 기존 object detector에 존재하는 dense, dense-to-sparse에서 완전히 'sparse'한 새로운 object detector paradigm을 확장시켰습니다.
- Sparse R-CNN은 수만개의 object candidate과 NMS post-processing을 제거해 inference 속도를 높였습니다.
- Sparse R-CNN은 아주 작은 수정만으로 object detection과 관련된 다른 task로 쉽게 확장될 수 있습니다. (e.g., instance segmentation, tracking, 3D object detection, video action detection, ..)
Related Work
Dense Object Detection
오랜 시간동안 object detection에선 sliding-window paradigm이 많은 인기를 얻었습니다.
여기서 sliding-window는 위와 같은 영상처럼 조금씩 이동하며 많은 proposal을 생성하는 방법입니다.
이렇게 전통적인 feature extraction technique의 한계에 의해, 성능은 수십년동안 정체되었고 application도 제한적이었습니다. CNN의 발전이 상당한 성능을 낼 수 있는 일반적은 object detection을 만들어 낼 수 있었습니다. mainstream pipeline 중 하나는 one-stage detector로 특정 공간적인 위치, 크기, 종횡비를 다루는 미리 정의된 dense한 anchor box로부터 object의 category와 location을 예측하는 방법으로 OverFeat, YOLO, SSD, RetinaNet이 있습니다. 이렇게 직접 고안해야 하는 effort와 anchor box의 복잡한 computation을 줄이기 위해, anchor-free detector 방법이 제안되었고 직접 제안한 anchor box 대신 reference point를 사용해 object detection pipeline을 상당히 단순화시켰습니다. 이런 방법으로 DenseBox, CornerNet, FCOS, CenterNet등이 있습니다.
Dense object detector는 object candidate을 dense하게 sampling하고 각 candidate는 바로 classified되고 regressed됩니다. 이런 candidate들은 학습하는 동안 기존에 이미 정의된 원칙에 의해 ground-truth object box와 할당되게 됩니다. 예를 들어 anchor가 해당하는 ground truth에 대해 설정해둔 threshold보다 높은 IoU를 가졌는지, 혹은 reference point가 어떤 object box의 하나에 떨어져있는지 등등이 될 수 있습니다. 나아가, NMS post-processing은 실제로 inference 하는 동안 중복되는 여러 예측을 제거하기 위해 꼭 필요한 과정입니다.
Dense-to-Sparse Object Detection
two-stage detector는 또다른 mainstream pipeline 중 하나로 현재 많이 사용되는 object detection 방법입니다. 2-stage는 먼저 dense한 region candidte으로 부터 foreground proposal box의 sparse set을 얻고 그 다음 각 proposal의 위치를 개정하고 그 다음 해당 candidate에 해당하는 특정 카테고리를 예측합니다. 수만개의 candidate으로 부터 적은 갯수의 foreground proposal을 얻기 때문에 이런 detector는 dense-to-sparse method라고 볼 수 있습니다. region proposal algorithm은 첫번째 단계에서 중요한 역할을 하게 됩니다. R-CNN에선 selective search를 사용하고, Faster R-CNN에선 Region Proposal Networks (RPN)을 사용합니다. RPN는 category는 고려하지 않는 category-agnostic dense detector이기 때문에, 2-stage detector는 뒤에 object recognition refinement head가 따라오는 dense detector로 볼 수 있습니다. dense pipeline과 비슷하게, dense-to-sparse detector도 NMS post-processing과 hand-crafted label assignment를 필요로 합니다.
dense detector와 dense-to-sparse detector를 보면, dense-to-sparse detector에서 첫번째 단계는 사실 필요하지 않다는 것을 알 수 있습니다. 대신, region proposal이 대략적인 guess를 하게 된다면 마지막 단계에서 box의 위치를 조정하기 때문에 이런 coarse guess로 충분할 수 있습니다.
Sparse Object Detection
sparse detector는 위에서 설명했던 dense detector들보다 훨씬 더 적은 set의 object candidate을 사용하지만, dense detector와 비슷한 정확도를 보여줍니다. G-CNN은 이런 연구의 선구자라고 볼 수 있습니다. 이 방법은 image에 대해 여러 scale에 대한 regular grid를 뽑고 box를 반복적으로 업데이트합니다. 이렇게 직접 제작한 regular prior는 sub-optimal로 볼 수 있고 top performance를 이루기엔 어느정도 한계가 있습니다. 대신, 이 논문에서 제시한 Sparse R-CNN은 학습 가능한 proposal을 사용해, hand-crafted proposal design을 사용하지 않으면서도 더 좋은 성능을 낼 수 있습니다. 더 중요한 건, Sparse R-CNN은 경쟁력 있는 accuracy를 보였습니다. 이는 object candidate에 대해 더 적은 set을 사용해서도 object detection에 대해 좋은 성능을 낼 수 있다는 것을 보여줍니다.
End-to-End Object Detection
end-to-end object detection system을 구축하는 데에 있어, NMS(Non-Maximum Suppression)가 마지막으로 남은 differentiate 할 수 없는 component입니다. 선행 연구 중, [End-to-end people detection in crowded scenes] 에선 LSTM을 사용해 oject sequence를 recurrent하게 생성하고 set-based loss에 맞춰 end-to-end model을 학습합니다. Relation Network는 object간의 relation을 appearance feature과 geometry에 따라 modeling해, pipeline에서 NMS를 제거했습니다. 최근에, DETR은 Transformer architecture를 사용해 적은 set의 object query를 global image feature와 상호작용하도록 했습니다. global attention mechanims과 prediction과 ground truth object간의 bipartite matching 덕분에, DETR은 NMS를 사용하지 않고 바로 prediction 결과를 낼 수 있습니다.
그러나, DETR은 training convergence 속도가 느리고 작은 object에 대한 성능에 한계가 있습니다. deformable DETR은 각 object query가 reference point 주위의 중요한 sampling point와의 interact를 제한하는 대신, feature map의 모든 point와 interact하도록 했습니다. 이후에도 UP-DETR, TSP,SMCA 등과 같은 여러 모델과 Sparse R-CNN은 모두 end-to-end object에 대해 분석하고 DETR보다 더 좋은 구조를 제시했습니다.
Sparse R-CNN
sprase R-CNN framework의 핵심 아이디어는 Region Proposal Network(RPN)를 통해 얻는 수많은 proposal box 대신 학습이 가능한 작은 set의 proposal box를 사용하는 것입니다. 또한, 밀집되어 있는 사람들을 탐지하는 benchmark인 CrownHuman에 대해서 Sparse R-CNN의 유효성을 평가하고자 했습니다. Sparse R-CNN은 89.2 AP, 48.3 mMR, 95.9 recall을 달성했고, 이 결과는 well-established mainstream detector보다 더 좋은 성능입니다.
위의 그림처럼 Sprase R-CNN의 pipeline은 꽤 단순하고 획일화된 network입니다. backbone network, dynamic instance interactive head와 2개의 task-specific prediction layer가 전부입니다.
총 3개의 input (image, proposal box의 set, proposal feature의 set)이 있습니다. proposal set과 proposal feature은 학습 가능하고 network에 있는 다른 parameter와 같이 최적화됩니다. 이는 Sparse R-CNN이 다양한 detection 상황에서 견고한 baseline으로 사용될 수 있음을 의미하고, segmantion branch를 추가해, 쉽게 instance segmentation을 해결해 SOTA result를 달성할 수 있습니다.
Backbone
ResNet 구조 기반의 Feature Pyramid Network (FPN)은 backbone network로 사용되어 input으로 image를 받으면 multi-scale의 feature map을 만들게 됩니다. "Feature pyramid networks for object detection"에서 사용한 것처럼, pyramid level이 높아질수록 해상도는 2배씩 점점 낮아지고, 그에 따른 feature map의 size도 작아지게 됩니다. 낮은 level (p2,p3)에선 작은 object를, 높은 level (p4,p5)에선 큰 object를 더 잘 탐지할 수 있습니다. 실제로 Sparse R-CNN의 성능을 더 높이기 위해 복잡한 설계를 적용할 수 있습니다. Sparse R-CNN은 본질적으로 효율적이고 간소화된 object detection model이지만, stacked encoder layer나 deformable convolution network를 통합하는 둥 더 복잡한 구조를 도입함으로써 성능을 추가적으로 향상시킬 수 있습니다. 하지만 논문에선 Faster R-CNN과 같은 setting을 적용했고, method가 단순하고 효율적임을 보여줬습니다.
Learnable proposal box
작은 set으로 이루어진 learnable proposal box (Nx4)는 RPN에서 얻는 prediction 대신 region proposal로 사용됩니다. 이 proposal box는 0에서 1사이의 값으로 이루어진 4d parameter로 표현되고, 이 parameter는 center coordinate, height, width를 나타냅니다. proposal box의 parameter는 학습하는 동안 back-propagation을 통해 update될 수 있습니다. 이렇게 학습이 가능하기 때문에, initialization의 영향을 크게 받지 않고 덕분에 framework를 더 유연하게 사용할 수 있습니다.
이론상, 이렇게 학습된 proposal box는 training set에 대한 잠재적인 object location들의 statistics이고 input image와 상관없이 image에서 object가 존재할 것 같은 region에 대한 초기 추측값이라고 볼 수 있습니다. 반대로 RPN을 통해 얻는 proposal은 input image와 많은 연관이 있고 현재 image에 대한 object의 coarse한 location을 제공합니다. RPN을 통해 얻는 proposal box에 대한 정보를 얻는 것이 오히려 나중에 box의 위치를 조정하는 데에 불필요하게 많은 정보를 줄 수 있습니다. 대신, 잠재적인 object location에 대한 합리적은 statistic가 유효한 object candidate을 생성하는 데에 충분합니다. 이런 관점에서, Sparse R-CNN은 dense하거나 dense-to-sprase한 object detector에서 완전히 'sparse'한 object detection의 paradigm을 넓힌 것이라고 볼 수 있습니다.
Learnable proposal feature
4d proposal box를 간단하고 object를 표현하는데에 명시적인 표현임에도 불구하고, 이는 단지 object의 위치에 대한 coarse한 정보만 담고 있고 이에 대한 object pose나 shape같은 detail은 담지 못합니다. 이런 한계를 해결하기 위해 high-dimension latent vector로 이루어진 'proposal feature (Nxd)'라는 개념을 제시했고, 이 proposal feature가 풍부한 instance 특징을 encoding하도록 합니다. proposal feature의 수는 box와 동일합니다. proposal feature와 proposal box는 일대일 대응이고, proposal box와 비슷하게 proposal feature parameter도 training 동안 학습 가능합니다 .
Dynamic Instance Interactive Hed
1. Sparse R-CNN은 N개의 proposal box가 주어지면
2. 각 box에 대한 feature를 뽑기 위해 처음 RoIAlign operation 진행
3. 그 다음 각각의 RoI feature는 prediction head를 통해 object feature를 만드는 데에 사용됩니다
dynamic algorithm에 영향을 받아 'Dynamic Instance Interactive Head'를 제시했고, 이는 각 RoI feature가 독자적인 head에 들어가고, 각 head의 parameter가 특정 proposal feature에 맞도록 설정됩니다.
다음의 pseudo-code는 dynamic instance interaction에 대한 설명입니다. N개의 proposal box에 대해, N개의 proposal feature가 사용됩니다. 각 RoI feature f(i)(SxS,C)는 비효율적인 bin을 걸러내고 최종 object feature(C)를 도출하기 위해 그에 대응하는 proposal feature p(i)(C)와 상호작용하게 됩니다. 이 때 RoI feature는 특정 image에 대한 feature이고 proposal feature는 image와 상관없이 주어지는 general feature입니다. k번째 proposal feature는 k번째 RoI에 대응하는 dynamic parameter를 생성합니다. bmm(:batch matrix multiplication), linear(:linear projection). 가볍게 설계하기 위해, ReLU activation function을 사용한 2개의 연속적인 1x1 convolution을 사용해 interaction process를 실행했습니다. 2 convolution에 대한 parameter는 일치하는 proposal feature에 의해 생성됩니다. (개인적으로, 2 convolution을 하기 위한 parameter의 initialization을 proposal feature로 한다고 이해했습니다)
Classification and Box Regression Layer
object feature는 결국 box location과 classification prediction으로 변형됩니다. "End-to-End object detection with transformer(DETR)" 과 같이, 마지막 regression prediction은 3 layer perceptron으로 계산되고, classification prediction은 linear projection layer에 의해 계산됩니다.
성능을 향상시키기 위해 iteration 구조와 selt-attention module을 적용했습니다.
iteration 구조는, 새로 생성된 object box와 object feature는 다음 stage의 proposal box와 proposal feature로 사용되는 것을 뜻합니다. 구조가 sparse하고 dynamic head가 가볍기 때문에, marginal computation overhead만 발생하게 됩니다.
dynamic instance interaction을 하기 전에, object feature set에 대한 self-attention module이 적용돼 object들간의 relation에 대해 추론하게 됩니다. 이전의 연구에선 self-attention module을 사용하면 geometric attribute (positional encoding 같은)이 필요하고 object feature로 인한 복잡한 rank feature가 요구 됐지만, Structured R-CNN에선 더 심플하게 사용했고 input으로 오직 object feature만 사용한 방법을 제시했습니다.
Set Prediction Loss
Sprase R-CNN은 classification과 box coordinate에 대해 고정된 크기의 set prediction에 대한 set prediction loss를 사용합니다. set 기반의 loss는 prediction과 ground truth object간의 최적의 bipartite matching을 사용해 생성하게 됩니다. matching cost는 다음과 같습니다.
- l(cls) : predicted classification과 ground truth category label의 focal loss
- l(l1),l(giou) : predicted box와 ground truth box간의 normalized center coordindate, height, width에 대한 L1 loss& generalized IoU loss
- lambda : 각 component에 대한 coefficient
training loss는 matching cost와 같지만 오직 matching된 pair에 대해서만 수행합니다. final loss는 training batch의 object의 수에 normalized된 모든 pair에 대한 합이 됩니다.
sparse detector가 아닌 다른 R-CNN family들은 one-to-many matching으로 인해 label assignment 문제를 겪고 있습니다. 여기서, one-to-many matching을 우회하는 새로운 possibility를 제공하고 set-based loss에 대한 one-to-one matching을 소개했습니다. bipartite matching은 학습 과정에섯 각 object에 unique한 object candidate를 할당하는 것이고, 결국 inference에서 각 object에 대해 하나의 prediction을 하게 됩니다. 이는 NMS post-processing을 제거해주고 end-to-end object detection framework를 완성할 수 있게 해줍니다.
Experiments
Dataset
실험은 ojbect detection의 표준 metric를 사용해 MS COCO benchmark에 대해 진행했습니다. 모든 모델은 COCO train2017 split으로 학습되었고 val20217로 평가되었습니다.
Main Results
Sparse R-CNN에 대한 2가지 version을 제시해 실험을 진행했습니다.
첫번째는 random crop data augmentation 없이 100개의 learnable proposal box를 적용했고, 이는 mainstream object detector들과 비교를 진행했습니다. (Faster R-CNN, Cascade R-CNN, RetinaNet)
두번째는 random crop data augmentation을 진행한 300개의 learnable proposal box를 사용해, DETR-series model과 비교를 했습니다.
위의 테이블을 보시면, RetinaNet, Faster R-CNN과 같은 mainstream detector에 비해 훨씬 뛰어난 성능을 보였고, ResNet-50을 사용한 Sparse R-CNN이 42.8AP로, ResNet-101을 사용한 Faster R-CNN을 충분히 뛰어넘은 것을 확인할 수 있습니다.
DETR과 Deformable DETR는 stacked layer나 deformable convolution 같은 보통 더 강력한 feature extracting 방법을 사용합니다. 이들과 비교하기 위해 Sparse R-CNN에도 더 강력한 implementation을 적용했다고 합니다. Sparse R-CNN은 feature extracing method로 간단한 FPN만을 사용했는데도 더 높은 정확도가 나왔습니다. 나아가, Sparse R-CNN은 DETR과 비교했을 때 더 작은 object에 대해 더 좋은 성능을 달성했습니다.
Sparse R-CNN의 training 수렴 속도가 DETR보다 10배 빠른 걸 확인할 수 있습니다. 느린 속도로 인해 개선되어 나온 Deformable DETR과 비교했을 때에도, Sparse R-CNN이 더 짧은 running-time과 더 짧은 training schedule과 더 좋은 성능을 냈습니다.
Sparse R-CNN은 100 proposal에 대해 23 FPS가 소요되고, 300 proposal에 대해선 22FPS가 소요됩니다. 이에 대한 이류를 dynamic instance interactive head를 간단히 설계를 해서로 주장했습니다.
Conclusion
이 논문에선 image에 대한 object detection을 하는 완전히 sparse한 method를 제시했습니다. 학습된 object proposal의 sparse set은 dynamic head를 통해 classification과 location을 할 수 있습니다. 마지막 prediction은 NMS라는 post-procedure 없이 바로 output을 도출할 수 있습니다. Sparse R-CNN은 상당히 높은 accuract, 빠른 running-time과 convergence performance를 가짐에도 불구하고 상당히 sparse한 design을 가졌습니다. 더 중요한 건, NMS 와 같은 과정ㅇ ㅣ필요없는 end-to-end object detection framework라는 점입니다. 저자들은, 이런 sparse design이 video task로도 확장이 되길 희망합니다. (video는 spatial도 temporal dimension도 dense한 candidate 존재) . 그렇기 때문에 이러한 sparse pipeline을 사용하면 video task에서 훨씬 빠르고 간단하게 처리할 수 있음을 설명했습니다.