논문 : arxiv.org/pdf/2005.12872v3.pdf
End-to-End Object Detection with Transformers
2020 5월에 페이스북 리서치팀에서 발표한 object detection 논문이다.
Abstract.
직접 디자인하는 요소를 없앴다. 예를 들어 복잡한 인코딩이나 사전 지식을 겸해야 하는 non-maximum suppression, anchor generation 등을 말이다. 메인은 DETR : DEtection TRansformer이다. 전역 loss를 기반으로 이분 매칭을 통해 고유 예측값을 강제한다. 그리고 인코더, 디코더 결과를 transform 한다. 예측 값은 병렬로 출력한다. 이는 개체의 관계와 전역 이미지 간으로 표현된다.
1. Introduction
object detection의 목표는 바운딩박스와 라벨을 예측하는 것이다. 기존 검출기는 직접적이지 않은 방법으로 예측을 한다. 대리 회귀(surrogate regression)와 분류 문제가 큰 set에서 제안되었고, 고정(anchors), 창가 중심(window centers)등이 그 부분이다. 이들은 near-duplicate 예측에 의한 전처리 붕괴, 고정셋과 그거에 할당된 작스의 휴리스틱에 특히 영향을 받는다. 현대의 검출기는 대규모 제안 집합 [37,5], 앵커 [23] 또는 창 중심[53,46]에 대한 대리 회귀 및 분류 문제를 정의함으로써 간접적인 방법으로 이 세트 예측 작업을 다룬다. 이들의 성능은 거의 중복에 가까운 예측을 붕괴시키는 후처리 단계, 앵커 세트의 설계 및 앵커에 대상 상자를 할당하는 휴리스틱에 의해 크게 영향을 받는다[52] 이것을 단순화하기 위해 우리는 surrogate task를 bypass함으로써 직접 셋 예측을 한다. 이 end-to-end는 기계번역이나 음성인식과 같은 복잡한 구조 예측을 이끌어 왔다. 하지만 객체 인식에는 아니었다. 이전 시도들은 다른 형태의 사전 지식을 추가하거나 강력한 베이스 라인에게 경쟁적이지 못했다. 이 논문의 목적은 이 차이를 줄이는 것이다.
Fig. 1: DETR은 일반적인 CNN에 transformer 구조를 결합하여 마지막 셋을 병행 예측 한다. 학습동안 이분 매칭이 각각(유니크하게) 신뢰도 박스 예측에 할당된다. 매치가 안된 예측은 “no object” (∅)로 표현된다.
우리의 스트림라인은 객체인식을 할때 직접 셋을 예측하는 방법으로 파이프라인을 학습힌다. 우리는 인코더-디코더 구성 순서가 있는 예측에 효과적인 transfomers를 기반으로 시도한다. 순서가 있는 요소간의 모든 일대일 상호작용을 복잡하게 모델링하는 transformers의 스스로의 메커니즘은 중복을 제거하는것과 같이 특정한 셋 예측 제한을 부분적으로 딱 맞게 한다.
DETR은 모든 객체를 한번에 예측하고, 예측과 ground-truth객체들 간 이분매칭으로 인한 loss함수셋과 함께 end-to-end로 학습된다. DETR은 인코딩 사전지식(분할 고정spatial anchors 혹은 nms)과 같은 다중 수작업(multiple hand-designed)을 없앰으로써 검출 파이프라인을 단순화한다. 대부분의 검출 방법과 다르게 DETR은 꾸며진 레이어를 필요로 하지 않고 그러므로 기본적인 CNN과 transforner과 같은 어떤 프레임워크던 쉽게 재구성할 수 있다.
이전의 직접적인 셋 예측과 비교하면 DETR의 메인 특징은 이분매칭loss와 디코딩 병행(non-자동회귀)을 통한 transfomers를 수행(conjunction)하는것이다. 반면에 이전 작업들은 RNN을 이용한 자동회귀에 초점을 두었다. 우리의 매칭 loss 함수는 ground truth object에 유니크하게(각각) 할당되며 예측된 객체의 permutation에 invariant된다. 그래서 우리는 병행적으로 수행(emit)할 수 있다.
우리는 유명한 객체인식 데이터셋인 COCO로 DETR을 평가했고, Faser R-CNN 베이스 라인과 경쟁적인것을 확인(against)했다. 많은 디자인 반복과 퍼포먼스를 인증 받아온 Faster R-CNN은 처음 출간부터 많이 발전되었가. 우리의 경험은 우리의 새로운 모델이 경쟁적인 퍼포먼스를 성취할것을 보여준다. 보다 정확하게 DETR은 큰 객체에서 더 좋은 퍼포먼스를 입증하고, 결과는 transformer의 지역적이지 않은 계산을 가능하게 한다. 하지만 추가로 작은 객체에서는 적은 수행능력을 보인다. 우리는 미래에는 이 측면이 Faster R-CNN에서 사용된 FPN을 통해 개선될 것으로 기대한다.
DETR의 학습 설정은 기존 객체인식의 다양한 방법과는 다르다. 새로운 모델은 긴 학습 스케줄과 보조적인 transformer의 디코딩 loss를 필요로 한다. 우리는 어떤 요소가 성능 입증에 중요한지 굉장히 탐험했다.
DETR의 디자인 방식은 복잡한 태스크에서도 쉽게 확장한다. 우리의 경험에 의하면, 단순한 분할이 학습된 DETR의 출력이 Panoptic Segmentation의 베이스라인 경쟁력을 이끌고, 최근에 인기를 얻고 있는 픽셀 단위 검출에 도전한다.
2. Related work
우리의 작업은 몇몇의 도메인에 사전 작업을 구축한다 : 셋 예측에 대한 이분매칭loss와 tranformer에 기반을 둔 인코딩-디코딩 구조, 병행 디코딩, 그리고 객체 검출 메소드이다.
2.1 Set Prediction
여기엔 셋 예측을 직접적으로 하는 표준적인 딥러닝 모델이 없다. 기본적인 셋 예측 태스크는 베이스 라인 접근으로 다중 분류를 하는 것이고, one-vs-rest와 같은 요소간 밑바탕 구조에 대한 검출 문제(가까운 인식 박스)를 적용하지 않는다. 이 임무의 첫번째 어려움은 가까운 중복을 피하는 것이다. 최근 검출의 대부분은 이 문제를 다루기 위해 non-maximal suppression과 같은 전처리를 한다. 하지만 직접적인 셋 예측은 전처리에 자유롭다. 그들은 중복을 피하기 위해 모든 예측 요소들과 상호작용하는 전역 영향 계획을 필요로 한다. 일정한 사이즈 셋의 예측에 있어서 빽빽하게 연결된 네트워크가 효과적이지만 비싸다. 일반적인 접근은 반복적인 신경망과 같은 순차 자동 회귀 모델을 쓰는것이다. 모든 케이스에서 loss함수는 순열 예측에서 불변할 수 있다. 일반적인 해결책은 헝가리안 알고리즘을 베이스로 한 loss를 디자인하는것이고, ground-truth와 예측간의 이분 매칭을 찾는것이다. 이것은 순열 불변을 강요하는 것이고, 각 타겟 요소에 유니크 매치되는것을 보증한다. 우리는 이분매칭loss 접근을 따라간다. 그러나 대부분의 이전 작업들과 반대로, 우리는 자동회귀 모델에서 떠나고 우리가 위에서 설명한 병행 디코딩을 쓰는 transformers을 사용한다.
2.2 Transformers and Parallel Decoding