논문 원본: https://arxiv.org/abs/2005.12872
논문 한 줄 요약: DETR는 객체 탐지를 위한 최초의 트랜스포머 기반 End-to-End 모델로, anchor와 후처리 없이 이미지로부터 직접 객체 집합을 예측하는 새로운 패러다임을 제시
Introduction

기존 Object Detection 방법들의 구체적 한계점
기존 object detection 방법들이 가진 문제점을 더 구체적으로 살펴보면 다음과 같다. Anchor 기반 방법론의 복잡성: Faster R-CNN과 같은 two-stage 방법들은 먼저 RPN(Region Proposal Network)에서 대략 2000개의 region proposal을 생성했다. 이 과정에서 연구자들은 anchor의 크기, 비율, 개수를 수동으로 설정해야 했으며, 이는 데이터셋의 특성에 따라 세심한 튜닝이 필요했다. YOLO와 같은 one-stage 방법들도 마찬가지로 각 그리드 셀마다 미리 정의된 anchor box들을 사용하여 객체를 탐지했다.
중복 예측 문제: 이러한 방법들은 본질적으로 하나의 객체에 대해 여러 개의 예측을 생성했다. 예를 들어, 하나의 자동차를 탐지할 때 5~10개의 서로 다른 bounding box가 겹쳐서 예측되는 경우가 일반적이었다. 이를 해결하기 위해 IoU threshold를 기반으로 한 NMS(Non-Maximum Suppression) 알고리즘이 필수적이었지만, 이 과정에서 올바른 예측이 잘못 제거되거나 잘못된 예측이 남아있는 경우가 빈번했다.
복잡한 Loss 설계: 기존 방법들은 positive/negative sample의 불균형을 해결하기 위해 복잡한 loss 함수를 설계해야 했다. 예를 들어, Focal Loss나 hard negative mining과 같은 기법들이 개발되었지만, 이러한 방법들은 추가적인 하이퍼파라미터 튜닝을 요구했다.
DETR의 혁신적 접근

DETR은 이러한 문제들을 근본적으로 다른 접근 방식으로 해결했다. Direct Set Prediction: 객체 탐지를 "이미지에서 객체 집합을 직접 예측하는 문제"로 재정의함으로써, 중간 단계의 복잡성을 모두 제거했다. 이는 마치 기계 번역에서 source sentence를 target sentence로 직접 변환하는 것과 유사한 철학이었다.
DETR(Detection Transformer)은 이런 복잡한 탐지 파이프라인을 하나의 트랜스포머 기반 모델로 통합함으로써, 객체 탐지를 Set Prediction 문제로 정식화한다. 이 모델은 트랜스포머 구조를 그대로 비전 문제에 적용하고, object detection의 핵심을 "이미지 → 객체의 집합"으로 보는 새로운 패러다임을 제시한다. DETR은 anchor 없이, proposal 없이, 후처리 없이 작동하며, 기존 탐지기와 유사한 정확도를 보이면서도 구조적으로 매우 단순하다는 장점을 가진다.
Object Detection as a Direct Set Prediction Problem

DETR의 핵심은 객체 탐지를 set prediction 문제로 보는 방식이다. 기존 탐지 모델들은 이미지에서 수천 개의 위치별 예측을 수행한 뒤, 높은 점수를 가진 박스만을 선택하는 방식이었다. 반면 DETR는 고정된 개수의 객체 Query(예: 100개)를 학습 가능한 벡터로 설정하고, 각 Query가 하나의 객체를 예측하게 만든다.
이때 중요한 것은 예측된 객체 집합과 실제 Ground Truth 간의 매칭이다. 이 문제는 일반적인 분류나 회귀 문제가 아니라 비정렬된 집합 간의 최적 대응(Bipartite Matching) 문제이므로, DETR은 Hungarian Matching 알고리즘을 사용하여 예측과 정답을 1:1로 연결한다. 이로써 모델은 예측 순서에 구애받지 않으며, 불필요한 중복 제거 없이도 객체 탐지를 수행할 수 있게 된다.
Set의 수학적 특성과 Object Detection
집합(Set)의 핵심 특성들이 object detection 문제와 어떻게 자연스럽게 맞아떨어지는지 살펴보겠다.
순서 불변성(Permutation Invariance): 이미지 내의 객체들은 본질적으로 순서가 없다. 왼쪽 위의 자동차를 먼저 탐지하든, 오른쪽 아래의 사람을 먼저 탐지하든 결과는 동일해야 한다. 수학적으로 표현하면, 객체 집합 {car, person, bicycle}과 {person, bicycle, car}는 완전히 동일한 탐지 결과이다.
중복 없음(No Duplicates): 실제 세계에서 하나의 객체는 한 번만 존재한다. 따라서 탐지 결과도 각 객체당 정확히 하나의 예측만 있어야 한다. 기존 방법들이 중복 예측을 생성한 후 제거하는 방식과 달리, DETR은 애초에 중복이 발생하지 않도록 설계되었다.
Model Architecture
DETR의 구조는 세 부분으로 나눌 수 있다. 먼저 CNN 백본(예: ResNet50)은 입력 이미지를 downsampling하여 고수준의 특징 맵(feature map)을 추출한다. 이 특징 맵은 flatten되고, 위치 정보를 담기 위해 2D positional encoding이 더해진다.
다음으로 트랜스포머 인코더는 이러한 시퀀스 정보를 입력으로 받아, 전역적으로 위치 간의 관계를 Self-Attention 메커니즘을 통해 학습한다. 이는 객체의 일부분이 멀리 떨어져 있을 경우에도 전체 문맥에서 이를 인식할 수 있게 만든다.
마지막으로 디코더는 학습 가능한 Object Queries를 입력받아, Cross-Attention을 통해 인코더 출력을 기반으로 각 Query가 어떤 객체를 의미하는지 학습한다. 디코더의 출력은 클래스 확률과 바운딩 박스 좌표를 예측하는 두 개의 prediction head로 전달된다. DETR는 항상 고정된 개수의 예측을 생성하며, 이 중 일부는 ‘∅’ 클래스로 분류되어 실제 객체가 없는 배경을 의미한다.
Feature Extraction의 중요성: ResNet50을 backbone으로 사용하는 DETR은 입력 이미지 (3×H×W)를 고차원 feature map (2048×H/32×W/32)으로 변환했다. 이 과정에서 32배의 spatial resolution 감소가 발생하는데, 이것이 후에 small object detection 성능 저하의 주요 원인이 되었다.
Feature Map의 평탄화: CNN에서 추출된 2D feature map을 Transformer가 처리할 수 있도록 1D sequence로 변환하는 과정이 필요했다. HW개의 spatial location이 각각 하나의 token이 되었으며, 각 token은 d차원의 feature vector를 가졌다.
Transformer Encoder의 Self-Attention 메커니즘
Global Receptive Field: 기존 CNN이 layer를 거듭할수록 점진적으로 receptive field가 확장되는 것과 달리, self-attention은 첫 번째 layer부터 전체 이미지의 모든 위치를 동시에 고려할 수 있었다. 이는 특히 큰 객체나 분산된 객체 부분들을 연결하는 데 유리했다.
Attention Map의 해석: Encoder의 attention map을 시각화하면, 모델이 어떤 spatial location들 사이의 관계를 학습했는지 확인할 수 있었다. 실제로 같은 객체에 속하는 서로 다른 부분들(예: 자동차의 앞부분과 뒷부분) 사이에 강한 attention이 형성되는 것을 관찰할 수 있었다.
CNN + Transformer + Object Queries
- CNN 백본: 이미지를 특징 벡터로 변환
- 트랜스포머 인코더-디코더: 이미지의 전역 정보를 고려하며 객체 후보를 추론
- 객체 예측 헤드: 예측된 각 객체에 대해 클래스와 박스 좌표를 출력
(1) CNN 백본: 이미지 특징 추출
DETR는 이미지에서 CNN(보통 ResNet-50)을 통해 feature map을 생성합니다. 예를 들어, 입력 이미지가 800×1066이라면, 이를 다운샘플링하여 약 25×33 크기의 특징 맵이 됩니다. 채널 수는 2048개 정도로, 각 위치는 이미지의 일부분에 해당하는 정보를 담고 있다.
이 feature map은 Transformer에 넣기 위해 1차원 시퀀스로 바뀝니다. 즉, (2048, 25×33) 모양의 벡터열이 된다.
-> 여기서는 포지셔널 인코딩(Positional Encoding)이 필수입니다. Transformer는 순서 개념이 없기 때문에, 각 위치가 어디에 있었는지를 알려줘야 합니다. DETR는 2D sine-cosine positional encoding을 사용한다.
(2) Transformer Encoder
Encoder는 이 벡터열을 입력으로 받아, self-attention을 통해 모든 위치 간의 관계를 학습한다.
예를 들어, 강아지의 꼬리 부분 특징이 몸통과 어떻게 연결되는지를 고려할 수 있습니다. 이 전역적 정보는 기존 CNN 기반 탐지기보다 더 풍부한 표현력을 가진다.
Encoder는 총 6개 레이어로 구성되어 있으며, 각 레이어는 self-attention + feed forward 구조로 이루어져 있다.
(3) Transformer Decoder + Object Query
Decoder는 DETR의 핵심입니다. 기존 탐지 모델이 위치 후보를 스캔하듯이 처리했다면, DETR는 학습 가능한 Object Query를 통해 어떤 물체가 있을지를 "질문"하는 방식이다.
Object Query는 총 100개(논문 기준)의 고정된 벡터로, 각 Query는 Decoder를 거쳐 하나의 객체를 예측하게 된다.
Decoder는 Encoder 출력과 Query를 Cross-Attention하여, 각 Query가 이미지의 어디를 주목할지 결정한다.
즉, 100개의 Query → 100개의 예측 결과(클래스 + 바운딩 박스)
이 중 일부는 실제 객체, 일부는 배경(None class)을 의미.
(4) 예측 헤드
Decoder의 출력은 d 차원의 벡터이고, 이 벡터는 두 개의 헤드로 나뉜다:
- 클래스 예측: Cross Entropy Loss 사용
- 바운딩 박스 좌표 예측: L1 Loss + GIoU Loss 사용
바운딩 박스는 center_x, center_y, width, height로 예측하며, 0~1 사이로 정규화된 값.
Loss Function
DETR의 손실 함수는 Hungarian Matching 결과를 기반으로 계산된다. 예측된 Query 결과 중 Ground Truth와 매칭된 것에 대해서만 손실을 계산하며, 나머지 Query는 no-object로 간주된다. 총 손실은 두 부분으로 구성된다.
첫 번째는 분류 손실로, Cross-Entropy를 사용해 예측된 클래스와 정답 클래스 간 차이를 계산한다. 두 번째는 박스 회귀 손실로, L1 distance와 Generalized IoU(GIoU) 손실을 결합하여 예측된 바운딩 박스와 실제 바운딩 박스의 차이를 반영한다. 이 손실 구성은 단순하지만 직관적이며, 트랜스포머 학습에도 자연스럽게 녹아든다.
Generalized IoU (GIoU) Loss의 필요성
Scale Invariance의 중요성: 전통적인 L1 loss만 사용할 경우, 큰 객체와 작은 객체에 대해 상대적으로 불공평한 loss가 계산되었다. 예를 들어, 큰 자동차의 bounding box가 10픽셀 어긋나는 것과 작은 보행자의 bounding box가 10픽셀 어긋나는 것은 상대적 오차가 매우 달랐다.
GIoU의 계산 과정:
- 두 박스의 합집합을 감싸는 최소 박스 C를 구했다
- GIoU = IoU - (|C - A ∪ B|) / |C|
- 이 값은 -1에서 1 사이의 값을 가지며, 1에 가까울수록 좋은 매칭이었다
Class Imbalance 처리
No-Object Class의 압도적 비중: N=100개의 query 중에서 실제 객체는 평균적으로 7개 정도에 불과했다. 따라서 93개의 query는 "no-object"로 분류되어야 했는데, 이런 extreme imbalance는 학습을 불안정하게 만들 수 있었다.
Down-weighting Strategy: 이를 해결하기 위해 no-object class에 대한 loss weight를 0.1로 설정했다. 이는 no-object 예측의 영향을 줄여서 실제 객체 탐지에 더 집중할 수 있게 만들었다.
Experiments

실험은 COCO dataset을 기반으로 진행되었다. DETR은 기본 ResNet50 백본을 사용했음에도 불구하고 Faster R-CNN과 유사한 성능을 보여주며, 특히 중간 크기(medium) 및 큰 크기(large)의 객체에 대해 더 우수한 성능을 보인다. 그러나 작은 객체(small)에 대한 성능은 상대적으로 낮은 편이다. 이는 트랜스포머의 해상도 손실 및 attention 분산 문제 때문으로 보인다.
또한, DETR은 학습 수렴 속도가 느리다는 단점이 있다. 일반적으로 500 epoch 이상의 학습이 필요하며, 이는 기존 탐지기 대비 학습 시간이 길다는 의미다. 하지만, 모델이 수렴한 이후에는 매우 안정적이고 간결한 결과를 제공한다.
Comparison with Other Detection Methods

DETR는 구조적으로 기존 탐지 모델과 매우 다르다. Faster R-CNN이나 YOLO 계열은 dense prediction 기반으로 수많은 후보를 생성하고, 이를 필터링하는 구조다. 반면 DETR는 Query 수만큼만 예측하고, 이 예측들을 정답과 직접 매칭하는 방식이다.
실험 결과에서도 확인되듯이, DETR는 NMS 없이도 중복 예측 문제를 해결할 수 있고, 정확도에서도 기존 모델과 동등하거나 더 나은 결과를 보여준다. 특히 복잡한 장면이나 여러 객체가 겹치는 경우에 더욱 안정적으로 작동한다. 구조가 간결하기 때문에 해석 가능성도 높아, 연구자들이 분석하거나 수정하기에도 용이하다.
계산 복잡도 비교
DETR의 계산 특성:
- Self-attention: O(HW)² 복잡도 (H×W는 feature map 크기)
- Faster R-CNN의 RPN: O(HW) 복잡도
- 하지만 DETR은 병렬화가 용이하고 GPU에서 효율적으로 실행되었다
메모리 사용량: DETR은 전체 feature map에 대해 attention을 계산하므로 메모리 사용량이 높았지만, 이는 현대 GPU의 메모리 용량 증가로 실용적 문제는 아니었다.
추론 시간 분석
단일 Forward Pass: DETR은 한 번의 forward pass로 모든 예측을 완료하는 반면, Faster R-CNN은 RPN과 detection head의 두 단계를 거쳐야 했다.
후처리 시간: NMS 등의 후처리가 불필요했으므로, 특히 객체가 많은 이미지에서 추론 속도 이점이 컸다.
Limitations and Future Work


DETR는 혁신적인 모델이지만, 여전히 몇 가지 한계점이 존재한다. 첫째, 학습 속도가 느리다. 트랜스포머의 구조적 특성상 self-attention 연산이 전체 위치에 대해 계산되기 때문에 계산량이 크고, convergence에 오래 걸린다. 둘째, 작은 객체에 대한 인식 성능이 상대적으로 낮다. 이는 고해상도 feature를 직접 사용하는 방식이 아니기 때문에, 작은 영역에 대한 정보가 충분히 반영되지 않기 때문이다.
이에 대한 해결책으로 Deformable DETR 같은 후속 모델이 제안되었으며, 이들은 attention 영역을 제한하거나 multi-scale feature를 도입하는 방식으로 학습 속도와 정확도를 향상시켰다. 향후 DETR 계열 모델들은 더 빠르고 가벼운 구조로 발전할 가능성이 크며, segmentation, tracking, grounding 등 다양한 비전 태스크에 응용될 수 있다.
Conclusion
DETR는 객체 탐지를 바라보는 방식을 완전히 바꿔놓은 모델이다. 후보 영역 없이, 후처리 없이, 단지 트랜스포머와 Query만으로 객체의 클래스와 위치를 예측할 수 있다는 것을 증명했다. 이는 단순히 성능이 좋은 모델이라는 점을 넘어, 기존 탐지 모델들이 안고 있던 구조적 복잡성을 근본적으로 해소하는 새로운 철학을 제시한다.
DETR는 이미지 → 객체 집합이라는 문제를 End-to-End로 해결하는 최초의 모델이며, 이후 수많은 변형 모델과 비전-트랜스포머 연구의 출발점이 되었다. 비록 느린 학습 속도나 작은 객체 탐지에 취약한 점은 있지만, 그 구조적 단순함과 확장성, 그리고 ‘트랜스포머는 비전에도 통한다’는 메시지는 객체 탐지 분야에서 매우 깊은 인상을 남겼다. 앞으로의 비전 모델들은 DETR의 철학을 어떻게 계승하고, 또 어떻게 확장할 것인지에 따라 전개될 가능성이 높다.
'Paper review > CV' 카테고리의 다른 글
| Gaze360: Physically Unconstrained Gaze Estimation in the Wild (0) | 2025.11.21 |
|---|---|
| SAM: Segment Anything (0) | 2025.08.09 |
| YOLOv4: Optimal Speed and Accuracy of Object Detection (5) | 2025.07.10 |
| Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization (3) | 2025.07.01 |
| GAN: Generative Adversarial Nets (0) | 2025.05.23 |