DETR(DEtection TRansformer)은 객체 검출 문제를 '직접적인 집합 예측' 문제로 재정의한 혁신적인 모델입니다. 기존 객체 검출 모델들이 필수적으로 요구하던 NMS(Non-Maximum Suppression)나 Anchor 생성과 같은 수작업 구성 요소들을 과감히 제거하여 파이프라인을 극도로 단순화한 새로운 End-to-End 방법론을 제시합니다.
이 모델의 핵심은 Transformer Encoder-Decoder 아키텍처와, 예측된 객체와 Ground Truth(실제 정답) 객체 간의 일대일 매칭을 강제하는 Set-based global loss에 있습니다.
1. 핵심 방법론: DETR 아키텍처
DETR은 크게 세 가지 주요 구성 요소로 이루어져 있습니다.
1-1 CNN Backbone
입력 이미지 $x_{\text{img}} \in \mathbb{R}^{3 \times H_0 \times W_0}$로부터 저해상도 특징 맵(feature map) $f \in \mathbb{R}^{C \times H \times W}$를 추출합니다.
- 일반적으로 ResNet-50 또는 ResNet-101과 같은 사전 학습된(pretrained) CNN 모델이 사용됩니다.
- 마지막 단계에 Dilated Convolution을 적용하여 해상도를 높일 수 있습니다.
1-2 Transformer Encoder
- 차원 축소 및 Flatten: CNN backbone에서 추출된 특징 맵 $f$는 $1 \times 1$ Convolution을 통해 채널 차원을 $C$에서 $d$로 줄여 $z_0 \in \mathbb{R}^{d \times H \times W}$를 생성합니다. Transformer Encoder의 입력은 시퀀스 형태여야 하므로, 공간 차원(H, W)을 하나로 flatten하여 $d \times HW$ 크기의 시퀀스로 만듭니다.
- Positional Encodings: Transformer 아키텍처는 순열 불변(permutation-invariant) 특성을 가집니다. 따라서 입력 시퀀스의 각 요소에 Fixed Positional Encodings($P_{\text{enc}} \in \mathbb{R}^{d \times HW}$)를 추가하여 각 Self-Attention 레이어에 공간 정보를 제공합니다.
- 역할: Encoder는 여러 개의 표준 Multi-Head Self-Attention 모듈과 FFN(Feed-Forward Network)으로 구성되며, 이미지의 전역적인(global) 문맥 정보를 학습하고 객체 인스턴스들을 서로 분리하는 역할을 수행합니다.
1-3 Transformer Decoder
- Decoder는 표준 Transformer 아키텍처를 따르며, Multi-Head Self-Attention과 Encoder-Decoder Attention 메커니즘을 포함합니다.
- Object Queries: 이 모델의 가장 중요한 특징 중 하나는 $N$개의 Learned Positional Encodings를 입력으로 받는다는 점입니다. 이를 "Object Queries"라고 부르며, 디코더에 의해 출력 임베딩으로 변환됩니다. ($N$은 일반적으로 이미지 내 객체 수보다 훨씬 큰 고정된 값, 예: 100으로 설정됩니다.)
- 병렬 디코딩: 기존 순차적 예측을 하던 Transformer와 달리, DETR의 Decoder는 $N$개의 객체를 병렬(parallel)로 디코딩합니다. 각 Object Query는 Self-Attention을 통해 다른 Query들과의 관계를 학습하고, Encoder-Decoder Attention을 통해 인코더의 출력(이미지 특징)에 Attention을 가합니다.
1-4 Prediction Feed-Forward Networks (FFNs)
- Decoder의 각 출력 임베딩은 별도의 FFN(3-layer perceptron + linear projection)을 통해 최종 예측으로 변환됩니다.
- 이 FFN은 정규화된 바운딩 박스 좌표(중심 좌표, 높이, 너비)와 클래스 레이블을 예측합니다.
- "No Object" 클래스: 객체가 감지되지 않았음을 나타내는 특수 클래스 $\emptyset$이 포함되어 있습니다. 예측 슬롯 $N$ 중 실제 객체 수보다 남는 슬롯들은 이 클래스로 예측됩니다.
- 학습 안정성을 위해 각 디코더 레이어의 출력에도 예측 FFN과 Hungarian Loss를 적용하는 Auxilary Decoding Losses를 사용합니다.

이 그림은 DETR(DEtection TRansformer)의 전체적인 작동 방식을 보여줍니다. DETR은 객체 탐지를 직접적인 집합 예측 문제로 접근하여 기존의 복잡한 객체 탐지 파이프라인을 간소화합니다.
CNN 백본: 먼저, 입력 이미지가 CNN 백본을 통과하여 이미지의 특징(feature) 집합을 추출합니다. 이 특징들은 이미지의 시각적 정보를 압축한 형태입니다.
트랜스포머 인코더-디코더: 추출된 이미지 특징들은 트랜스포머 인코더-디코더 아키텍처로 전달됩니다. 트랜스포머는 어텐션 메커니즘을 통해 특징들 간의 관계를 파악하고, 이미지의 전역적인 컨텍스트를 이해합니다.
인코더: 이미지 특징의 공간적, 내용적 관계를 학습합니다.
디코더: 학습된 객체 쿼리(object queries)를 사용하여 인코더의 출력으로부터 직접 객체 예측을 수행합니다. 이 과정에서 객체들 간의 상호 작용과 이미지 전체 정보를 활용합니다.
박스 예측 집합: 트랜스포머 디코더는 고정된 수의 "박스 예측 집합"을 생성합니다. 각 예측은 잠재적인 객체와 그 경계 상자(bounding box)를 나타냅니다. 예측된 박스는 그림에서 여러 색깔의 상자로 표현됩니다.
이분 매칭 손실: DETR의 핵심적인 부분 중 하나는 "이분 매칭 손실(Bipartite Matching Loss)"입니다. 이 손실 함수는 예측된 객체 집합과 실제(ground truth) 객체 집합 간의 일대일 최적 매칭을 찾습니다.
- 이를 위해 헝가리안 알고리즘을 사용하여 예측된 각 박스와 실제 객체 간의 비용(class prediction 및 box similarity)을 최소화하는 매칭을 찾습니다.
- 매칭이 이루어진 예측에 대해서는 분류 손실과 박스 손실을 계산하고, 매칭되지 않은 예측은 "객체 없음(no object, ∅)"으로 간주하여 손실을 계산합니다. 이 과정은 중복된 예측을 제거하고 각 실제 객체에 대해 고유한 예측을 보장합니다.
전반적으로 DETR은 CNN으로 특징을 추출하고, 트랜스포머로 이를 처리하여 직접 객체를 예측하며, 이분 매칭 손실을 통해 학습함으로써 기존의 복잡한 후처리 단계(NMS 등)를 제거하고 객체 탐지 과정을 단순화합니다.
2. 핵심 방법론: Set Prediction Loss
DETR 학습의 알파이자 오메가는 Set Prediction Loss입니다. 이는 예측 집합과 Ground Truth 객체 간의 완벽한 일대일 매칭을 강제합니다.
2-1 Bipartite Matching (이분 매칭)
모델은 고정된 크기 $N$의 예측 집합 $\hat{y} = \{\hat{y}_i\}_{i=1}^N$을 생성합니다. Ground Truth 객체 집합 $y$ 역시 $\emptyset$ 클래스로 패딩되어 $N$개의 원소를 갖게 됩니다. 학습 과정에서 두 집합 간의 최적의 일대일 매칭 $\hat{\sigma} \in S_N$을 찾기 위해 Hungarian Algorithm이 사용됩니다.
이 매칭은 아래의 Matching Cost $\mathcal{L}_{\text{match}}$를 최소화하는 순열 $\sigma$를 찾는 방식입니다.
Matching Cost는 Ground Truth 객체 $y_i=(c_i, b_i)$와 예측 $\hat{y}_{\sigma(i)}=(\hat{c}_{\sigma(i)}, \hat{b}_{\sigma(i)})$ 사이의 유사도를 측정합니다. ($c_i$는 클래스 레이블, $b_i$는 박스 좌표, $\hat{p}$는 예측 확률)
$\mathbf{1}_{{c_i \neq \emptyset}}$는 $c_i$가 $\emptyset$이 아닐 때 1, 그렇지 않을 때 0인 지시 함수입니다.
2-2 Hungarian Loss
최적의 매칭 $\hat{\sigma}$가 결정되면, 최종 학습 손실인 Hungarian Loss가 계산됩니다. 이는 매칭된 예측-정답 쌍에 대한 클래스 예측 손실(음의 로그 확률)과 바운딩 박스 손실의 선형 조합입니다.
실제 구현에서는 클래스 불균형을 해결하기 위해 $c_i = \emptyset$인 경우의 로그 확률 항 가중치를 10으로 낮춥니다.
2-3 Bounding Box Loss & GIoU
바운딩 박스 손실 $\mathcal{L}_{\text{box}}$는 $\ell_1$ 손실과 Generalized IoU(GIoU) 손실의 조합으로 정의됩니다.
GIoU 손실은 단순 IoU를 넘어 박스를 포함하는 최소 박스(enclosing box)를 고려하여 스케일 불변성을 가지며, 정렬 상태까지 평가합니다.
$| \cdot |$은 영역, $B(\cdot)$는 두 박스를 모두 포함하는 가장 작은 박스입니다.
2-4 Panoptic Segmentation 확장: DICE/F-1 Loss
DETR을 Panoptic Segmentation으로 확장할 때 마스크 헤드(mask head)가 추가되며, 마스크 예측 $\hat{m}$과 이진 타겟 마스크 $m$에 대해 DICE Loss가 적용됩니다.
3. 주요 기여 및 실험 결과
- 우수한 검출 성능: COCO 데이터셋 기준, Faster R-CNN 베이스라인과 필적하는 성능을 달성했습니다. 특히 Transformer의 전역적 연산(global computation) 덕분에 **큰 객체(APL)**에 대한 검출 성능이 훨씬 우수합니다. (단, 작은 객체(APS) 성능은 다소 낮음)
- 파이프라인의 간결성: NMS, Anchor Box 등 복잡한 수작업 구성 요소를 완전히 제거했습니다. 표준 CNN과 Transformer 클래스만으로 구현이 가능해 별도의 맞춤형 레이어가 필요 없습니다.
- 구성 요소의 중요성 입증 (Ablation Study): * Encoder: 객체 인스턴스를 분리하는 데 핵심적입니다.
- Decoder Self-Attention: 중복 예측을 억제하는 데 중요한 역할을 합니다.
- GIoU Loss: 바운딩 박스 회귀 성능을 높이는 가장 결정적인 요소임이 확인되었습니다.
- 강력한 일반화 능력: 각 Object Query 슬롯은 특정 영역과 박스 크기에 특화되도록 학습됩니다. 특히 학습 데이터에서 보지 못한 '다수의 동일 클래스 객체(예: 수십 마리의 기린)'에 대해서도 뛰어난 일반화 능력을 보여줍니다.
- 뛰어난 확장성 (Panoptic Segmentation): Decoder 출력에 마스크 헤드를 추가하고 픽셀 단위 argmax를 통해 오버랩 없는 마스크를 생성함으로써, 기존 경쟁 모델들을 능가하는 Panoptic Segmentation 성능(특히 "stuff" 클래스)을 보여주었습니다.

이 이미지는 DETR 모델을 파놉틱 분할(Panoptic Segmentation) 작업에 적용하기 위한 "파놉틱 헤드(Panoptic Head)"의 구조를 보여줍니다. 파놉틱 분할은 이미지의 모든 픽셀에 대해 클래스 레이블을 할당하는 동시에, 객체 인스턴스(thing)와 배경 영역(stuff)을 구분하는 작업입니다.
입력 이미지 (Input Image): 모델의 입력으로 3채널의 원본 이미지가 사용됩니다.
박스 임베딩 (Box Embeddings): DETR 모델이 먼저 객체의 위치와 클래스를 예측하여 얻은 바운딩 박스 정보에 해당하는 임베딩입니다. 이 임베딩은 N개의 객체 각각에 대해 d 차원의 벡터로 표현됩니다.
인코딩된 이미지 (Encoded Image): CNN 백본과 트랜스포머 인코더를 거쳐 생성된 이미지 특징 맵입니다. d 채널을 가지며, 공간 해상도는 원본 이미지의 1/32로 줄어듭니다 (H/32 x W/32).
다중 헤드 어텐션 (Multi-Head Attention): 박스 임베딩과 인코딩된 이미지를 이용하여 어텐션 메커니즘을 수행합니다. 이 과정에서 어텐션 맵 (Attention maps)이 생성되며, 이는 각 객체 임베딩이 이미지의 어느 부분에 집중하는지를 나타냅니다. N x M x H/32 x W/32의 형태를 가집니다. 여기서 N은 객체의 수, M은 어텐션 헤드의 수입니다.
FPN-style CNN: ResNet에서 추출된 다중 스케일 특징 맵(Res2, Res3, Res4, Res5)을 입력으로 받습니다. 이 부분은 Feature Pyramid Network (FPN)와 유사한 구조를 가지며, 다양한 해상도의 특징을 융합하여 최종적으로 더 상세한 공간 정보와 의미 정보를 결합합니다. 여러 개의 컨볼루션, 업샘플링, 그리고 잔차 연결(add) 연산을 포함합니다.
마스크 로짓 (Masks logits): FPN-style CNN의 출력을 받아 각 객체에 대한 마스크 예측의 원시 값(logit)을 생성합니다. 이 결과는 N x H/4 x W/4의 형태를 가집니다. 즉, 원본 이미지 해상도의 1/4 크기에서 각 객체에 대한 마스크의 존재 여부를 나타냅니다.
픽셀 단위 Argmax (Pixel-wise argmax): 각 픽셀별로 가장 높은 점수를 가진 객체(또는 배경)의 클래스를 최종적으로 할당합니다. 이를 통해 겹치지 않는 최종 파놉틱 분할 결과 이미지를 생성합니다.
최종 결과 (Pixel-wise argmax 이후): 이미지 내의 각 픽셀이 'sky', 'tree', 'cow', 'grass'와 같은 클래스로 분할되고, 'cow'의 경우 98%의 신뢰도로 예측되었음을 보여줍니다.
이 파놉틱 헤드는 DETR의 객체 탐지 능력 위에 각 객체에 대한 픽셀 단위 마스크를 생성하는 기능을 추가함으로써, 객체 탐지와 의미 분할(semantic segmentation)을 통합하는 파놉틱 분할 작업을 수행할 수 있도록 합니다.
4. 한계 및 향후 연구 방향
DETR은 객체 검출 시스템에 새로운 End-to-End 패러다임을 제시한 기념비적인 모델이지만, 긴 학습 시간(수렴 속도 지연)과 작은 객체(Small Object)에 대한 상대적으로 낮은 검출 성능이라는 과제를 안고 있습니다.
하지만 DETR이 제시한 직관적이고 단순한 아키텍처는 향후 컴퓨터 비전 분야의 수많은 후속 연구(Deformable DETR 등)를 통해 이러한 한계를 극복하며 발전해 나갈 수 있는 강력한 잠재력을 보여주었습니다.
추가 메모:
Hungarian은 학습할 때 사용, NMS는 후처리할 때 사용.
'1. AI 논문 + 모델 분석 > AI 논문 분석' 카테고리의 다른 글
| [논문 리뷰] Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection (0) | 2026.02.25 |
|---|---|
| [논문 리뷰] Swin Transformer 정리 (0) | 2026.02.23 |
| [논문 구현] 멀티모달 병목 트랜스포머(MBT) PyTorch 구현 및 RAVDESS 감정 인식 테스트 (0) | 2026.02.16 |
| [논문 리뷰] Multimodal Bottleneck Transformer (MBT) (0) | 2026.02.15 |
| [논문 리뷰] CLIP: 텍스트로 이미지를 이해하는 비전 모델 (OpenAI) (0) | 2026.02.12 |