논문 공부 과제 – End-to-End Object Detection with Transformers (DETR)

1. 한 줄 요약

객체 탐지를 더 이상 Anchor나 NMS에 의존하지 말고,
트랜스포머와 Bipartite Matching으로 Set Prediction 문제로 풀자.


2. 기존 Object Detection의 한계

기존 객체 탐지 모델들(Faster R-CNN, YOLO 등)은 다음과 같은 구조를 가진다.

이미지 → CNN → Anchor/Proposal 생성 → 분류 & 박스 회귀 → NMS

여기에는 여러 수작업 설계 요소가 포함된다.

  • Anchor box 설계
  • Proposal 생성
  • IoU 기반 heuristic 매칭
  • Non-Maximum Suppression(NMS)

즉, 모델이 완전히 end-to-end로 학습되는 것이 아니라 중간에 사람이 설계한 규칙이 많이 들어간다.

DETR 논문은 이 질문에서 출발한다.

"Object Detection을 그냥 Set Prediction 문제로 보면 안 될까?"


3. DETR의 핵심 아이디어

DETR은 객체 탐지를 이렇게 정의한다.

"입력 이미지에 대해 중복 없는 객체 집합(Set)을 직접 예측하자"

이를 위해 두 가지 핵심 요소를 사용한다.

1. Bipartite Matching Loss (Hungarian Loss)

기존 방식은 여러 anchor 중 하나를 선택하는 방식이지만 DETR은 예측 결과와 정답을 1:1 매칭한다.

수식적으로는 다음과 같다.

 

 

즉,

  • 예측 박스 집합
  • 정답 박스 집합

이 둘을 Hungarian Algorithm으로 최적 매칭한다.

이 덕분에:

  • 중복 예측이 발생하지 않음
  • NMS가 필요 없음
  • 순서(permutation)에 불변

 

2. Transformer Encoder-Decoder 구조

DETR의 전체 구조는 매우 단순하다.

Image
 ↓
CNN Backbone (ResNet)
 ↓
Transformer Encoder
 ↓
Transformer Decoder (Object Queries)
 ↓
FFN
 ↓
Class + Bounding Box

특히 중요한 부분은 Object Query이다.

  • 고정된 N개의 학습 가능한 벡터
  • 각 Query가 하나의 객체를 담당
  • 모든 객체를 병렬(parallel)로 예측

기존 RNN 기반 autoregressive 방식과 다르게 DETR은 비순차적(non-autoregressive) 으로 예측한다.


4. Bounding Box Loss

기존 객체탐지는 anchor 기준 delta regression을 하지만
DETR은 절대 좌표를 직접 예측한다.

Loss는 다음과 같이 구성된다.

 

 

이 수식은 GIoU개념에 가까운데, 왜 GIoU를 쓰는 것 일까?

  • L1만 쓰면 작은 박스/큰 박스 스케일 차이 문제 발생
  • GIoU는 scale-invariant

실험 결과:

  • GIoU가 대부분 성능을 담당
  • L1은 보조 역할

5. DETR 아키텍처 분석

Encoder의 역할

  • 이미지 전체를 global self-attention으로 처리
  • 객체 간 관계를 미리 분리
  • 특히 큰 객체에서 강점

논문 실험 결과:

  • Encoder 제거 시 AP 크게 감소
  • Large Object에서 성능 급락

→ Global reasoning이 핵심

Decoder의 역할

  • 각 Object Query가 하나의 객체를 담당
  • Layer가 깊어질수록 AP 상승
  • 초기 layer에서는 중복 예측 존재
  • 후반 layer에서는 self-attention이 중복 억제

흥미로운 점:

DETR은 설계적으로 NMS가 필요 없다.
실제로 마지막 layer에서 NMS 적용 시 오히려 성능 하락.

Position Encoding의 중요성

Transformer는 permutation-invariant이므로
위치 정보가 필수적이다.

  • Spatial Positional Encoding
  • Output Positional Encoding (Object Query)

Spatial encoding 제거 시 AP 대폭 하락.


6. Faster R-CNN과 비교

COCO dataset 기준:

모델AP

Faster R-CNN ~42
DETR ~42

성능은 비슷하지만 특성이 다르다.

  • Large Object → DETR가 강함
  • Small Object → DETR 약함

이유:

  • Transformer는 global context에는 강함
  • Multi-scale 처리(FPN) 구조가 약함

7. Panoptic Segmentation 확장

DETR은 mask head를 추가해
Panoptic Segmentation까지 확장 가능하다.

특징:

  • Thing + Stuff를 통합적으로 처리
  • Mask argmax로 겹침 제거
  • 별도 heuristic 불필요

결과:

  • 기존 Panoptic FPN보다 우수한 PQ 달성
  • 특히 Stuff 클래스에서 강함

8. DETR의 의의

이 논문의 의미는 단순히 성능이 아니다.

기존 detection 파이프라인:

Anchor 설계 → IoU threshold → NMS → Heuristic

DETR 이후:

CNN + Transformer + Matching Loss

Object Detection을 완전한 End-to-End 문제로 재정의했다는 점이 가장 중요하다.


9. 한계점

  • 학습 시간이 매우 김 (300~500 epochs)
  • Small object 성능 약함
  • 초기 수렴이 느림

하지만 이후 등장한:

  • Deformable DETR
  • Conditional DETR
  • DINO

등이 이를 개선하게 된다.


10. 개인 정리

이 논문을 읽으며 가장 인상 깊었던 점은 "Detection은 그냥 Set Prediction이다" 라는 관점의 전환이었다.

기존에는 detection이 복잡한 파이프라인 문제라고 생각했는데, DETR은 이를 Transformer + Matching으로 단순화했다.

NMS를 제거했다는 점은 단순한 구조 개선이 아니라 문제 정의 자체를 바꾼 것이라고 느껴졌다.