[Paper Review] DE⫶TR: End-to-End Object Detection with Transformers
Transformer 구조를 통해 앵커박스를 이용한 관심영역 제안과 중복된 바운딩박스 처리를 위한 NMS 구조에서 탈피를 제안한 논문 리뷰
Reference
Paper: https://arxiv.org/abs/2005.12872
Implemented: https://github.com/facebookresearch/detr
5월에 페이스북에서 기존 Object detection 구조에서 당연한 듯 사용해 두 가지 구조를 사용하지 않는 새로운 모델 구조를 제안했다. 두 가지 구조는 누구나 기본적으로 사용해오던 1) 앵커 박스 구조를 이용한 관심영역을 추출하는 구조와 2) 예측한 바운딩박스에 대한 중복처리를 하는 Non-maixmum supression (NMS)이다. 놀랍게도 필수적으로 느껴졌던 두 구조를 NLP 분야에서만 사용될 것만 같은 Transformer를 이용하여 해결 해냈다.
앵커박스와 NMS는 Object detection 모델에서 필수적인 요소로 사용되어 왔는데 이는 오래전부터 휴리스틱한 방법에 기반을 두고 있다. 하지만 이러한 방법들은 Object detetection 모델을 End-to-end로 학습하는데 있어서 방해 요소로 작용되어지며 구조적 한계점을 보여주고 있는 부분이기도 하다. 이러한 문제 요인이 있어 최신 연구들은 이러한 구조에서 벗어나기 위해서 앵커프리 모델과 같은 연구들도 제안되고 있는 중이다.
그러한 연구 중 일환으로 Facebook AI에서는 Transformer를 이용해서 이를 해결하고자 한 논문이 이번에 소개하고자하는 논문이다.
기존 Object detection에서 당연한듯 사용해 오는 파이프라인으로 다음과 같은 파이프라인 형태 구조로 되어있다.
1) CNN Feature 추출
2) Region of Interest (RoI) 제안
3) 중복처리 (NMS)
4) Crop과 RoI Align
5) Classification과 Regression
6) 중복처리 (NMS)
반면, DETR의 경우는 다음과 같은 단순한 구조로 줄여냈다.
1) CNN Feature 추출
2) Transformer Encoder-Decoder
이러한 구조로 진정한 End-to-end 구조를 이루어냈다고 할 수 있다.
실제로 논문에서 Fig. 6을 보면 예측한 객체에 대해서 특징적인 부분이 정확히 Attention이 된다든지, 기존 데이터셋에서 보기 힘든 수많은 기린이 있는 이미지 내에서도 문제 없이 찾아내는 것을 증명하기도 한다.
하지만 논문에서도 몇가지 한계점과 해결 과제에 대해서도 언급 하였다. 크게 두가지로 정리할 수 있는데 1) Transformer를 사용하게 됨으로써 학습시간이 오래 걸리는 문제가 존재하며 특히 마음에 아픈 것은 2) 작은 객체에 대한 성능이 SOTA 모델들보다 현저히 낮다는 문제가 있다.
마음이 아픈 이유는 필자가 Small object detection에 대해서 연구하고 있기 때문이다..
이러한 문제가 있음에도 DETR은 기존 Object detection 모델에서 한계점이 많았지만 대체하지 못했던 두 요소를 제거할 수 있는 새로운 모델을 제안했다는 것에는 큰 기여를 했다고 본다. 앞으로 이러한 구조를 기반으로 새로운 모델들이 연구가 많이 나올 것을 기대한다. 이제 이 논문에 대해서 자세히 정리해 보도록 하겠다.
Abstract
- 논문에서 제안하는 모델은 기존 Object detection에서 사용하는 파이프라인을 앵커 생성과 NMS를 사용하지 않게 하고, 이러한 정보를 명시적으로 인코딩하여 효과적으로 제거한 논문이다.
- 학습된 인코더를 이용하여 fixed small set을 쿼리로 주어지면, decoder를 이용하여 병렬적으로 전체 이미지 문맥에 대해서 바운딩박스와 분류를 예측할 수 있다.
Introduction
- 현대의 Object detection 모델은 set prediction task를 앵커 박스를 이용한 관심영역 제안, NMS로 간접적인 방식으로 정의하여 사용한다. 이러한 구조는 후처리 단계에 의해 중복되는 정보를 합치거나 앵커박스에 대한 미리 정의된 비율과 크기를 할당하는 휴리스틱한 방식에 크게 영향을 받는다. 이러한 파이프라인을 단순화하기 위해 간적접인 방식을 우회할 수 있는 직접적인 방식을 제안한다.
여기서 set prediction task란 바운딩박스 정보와 분류 정보를 한번에 같이 예측하기 때문에 set prediction이라 표현하는 것 같다.
- Transformer의 self-attention 메커니즘을 중복된 예측을 제거와 같은 특정 제약 조건을 해결하는 구조로 사용한다.
- DETR은 공간 앵커박스 또는 NMS와 같은 사전 지식을 인코딩할 수 있도록 구조화 하여 이러한 휴리스틱들을 단순화한다.
- DETR은 큰 객체들에 대해서 훨씬 우수한 성능을 보여주지만 작은 객체에 대해서는 성능이 낮다.
- 새롭게 제안하는 모델에는 디코딩 손실 학습을 위해서 긴 학습 시간이 소요된다.
Related Work
- Set prediction을 위한 Transformer를 기반으로하는 Encoder-decoder 구조, 병렬 디코딩과 Object detection 방법론, 이분 매칭 손실에 대한 사전지식이 필요하다.
The DETR Model
- 직접적인 방식의 set prediction에서는 두가지 요소가 필요하다. 첫번째로 예측과 정답 사이에 정확히 매칭되는 손실함수, 두번째로 single-pass로 예측이 가능한 구조이다.
- DETR은 N개의 fixed-size set을 예측하도록하고 N은 이미지에 나오는 일반적인 객체수보다 크게 설정한다.
- 예측과 정답 사이에 최적의 이분 매칭을 만든 다음, 객체별 바운딩 박스를 최적화하는 손실함수를 사용한다.
이는 모델 학습에 Hungarian Algorithm을 적용하여 구현하며, 예측과 정답 사이에 1:1 매칭을 통해 중복된 예측을 못하도록 하는데 큰 역할을 한다.
- 전체적인 구조로 1) CNN Feature 추출, 2) Encoder-decoder transformer, 3) Simple feed forward network (FFN)을 가진다.
- 기본적인 Transformer를 사용하되, 각 Decoder 레이어에서 N개의 객체를 병렬로 디코딩하는 차이를 가진다.
Experiments
- COCO 2017 Object detection과 Panoptic segmentation dataset에서 실험을 진행했다.
- 실험에서 사용된 Backbone을 ResNet-50, ResNet-101으로 사용하는 DETR, DETR-R101과 feature resoultion을 증가 시키기 위해 dilated를 적용한 DETR-DC5, DETR-DC5-R101으로 진행하였다.
- 이로 인하여 작은 객체에 대한 성능을 올릴 수 있었지만 결과적으로 2배의 연산비용이 추가되었다.
- 기존 모델에 비해서 전체적인 성능이 성능이 올라간 것을 볼 수 있다. 하지만 작은 객체 성능에 대해서는 현저히 떨어진 것도 확인할 수 있다.
Conclusion
- 직접적인 Set prediction을 위해서 Transformer와 이분 매칭 손실에 기반한 새로운 Object detection 구조를 제안하였다.
- 새로운 구조는 작은 물체에 대한 학습과 최적화 및 성능에 대해서 과제를 안고 있다.
- 최근 object detection 모델들이 앵커박스와 NMS 무넺를 해결하기 위해 수년간의 개선이 필요했었다. 향후 연구들이 DETR을 통해서 성공적으로 해결할 것으로 예상된다.