아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다.
읽은 논문들 정리
[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1. Computer Vision 분야 논문Classification 모델들의 발전Detection 모델들의 발전3D 처리2. Natural Language Processing 분야
april2901.tistory.com
줄여서 DETR이라고 부르는 구조에 대한 논문이다.
이전의 detection모델들은 많은 영역 제안, 중복되는 박스를 제거하는 방법, 그리드로 나눠서 탐지 등 사람이 구조에 개입된 부분들이 있었다.
이번 논문은 진정한 end to end를 목표로 한다.

Object detection set prediction loss
기존 방법들처럼 중복되는 예측을 하지않고 정답 하나당 하나의 예측만 되도록 하는 방법에 대해 설명한다.
이렇게 되도록 모델을 훈련시키기 위해 하나의 정답에 여러 예측이 발생했다면 하나를 제외한 나머지 예측에 패널티를 주는 방식을 사용한다.
구체적으로는 아래와 같다.
먼저 DETR은 N개의 예측을 한다. 이 N은 실제 물체의 개수보다 충분히 크게 설정된다.
예측된 값들의 집합과, 실제 정답의 집합을 생각해볼 수 있는데,
예측 집합의 크기는 N일 것이고, 실제 정답 집합의 크기는 N보다 작을 것이지만 남는 부분을 물체없음을 의미하는 $\phi$로 채워 크기 N을 맞춰준다.

두 집합의 크기를 맞춰준 이유는 일대일대응을 시키기 위해서이다.
적절한 대응(순열)을 찾기 위해 아래 손실함수를 사용한다.
$y_i$와 $\hat{y}_{\sigma(i)}$는 각각 i번째 실제 정답, 예측한 i번째 정답을 의미한다.
$\mathcal{L}_{match}$는 이 두 객체가 얼마나 닮았는지 측정한다.
닮았으면 값이 작다.
$\mathfrak{S}_N$는 N개를 배열하는 모든 순열을 의미한다.
이 순열들 중 식의 값을 가장 작게 만드는 조합을 찾는 것이다.

만약 N이 100이라면 100! 개의 모든 조합에 대해 계산해보는 것은 계산 불가능할 정도의 비용이 필요하다.
따라서 여기서 $O(n!)$이 아닌 $O(n^3)$만에 최적의 조합을 찾아주는 헝가리안 알고리즘을 사용한다.
이를 위해 모든 (예측, 정답)쌍에 대해 $\mathcal{L}_{match}$를 계산해 $N \times N$의 cost matrix를 채운다.
이 matrix를 헝가리안 알고리즘에게 던져주면 비용이 최소화되는 조합을 계산해서 알려준다.
헝가리안 알고리즘에 대한 설명은 생략하자.
이제 두 객체(예상, 정답)에 대해 $\mathcal{L}_{match}$를 구하는 법을 알아보자.
먼저 첫번째 항은 클래스 예측이다.
정답 클래스가 $c_i$일 때 모델이 해당 클래스가 맞다고 예측한 확률 $\hat{p}$에 음수를 취한다.
따라서 예측을 정확성 높게 했으면 항의 값의 낮아진다.
두번째 항은 박스와 관련된 것이다.
실제 박스 $b_i$와 예측박스$\hat{b}$사이의 기하학적 거리 오차를 더한다.
역시 두번째 항도 오차가 적다면 전체 값은 작아지게 된다.
{$c_i \neq \phi$}은 조건부를 의미한다. 객체없음인 경우에는 0으로 취급해 해당 항을 날린다.
최종 식은 아래와 같다. 첫번째 항에서 조건부 식이 없어지고 대신 로그가 나왔다.
또한 모든 클래스에 대해 손실을 계산할 수 있도록 시그마가 추가되었다.
다만 배경이 너무 많을 경우 학습이 방해받을 수 있으므로 배경 클래스일 때는 가중치를 10배 낮추어 학습한다.

Bounding Box Loss
기존의 방법들은 박스를 예측할 때 앵커를 깔고 이에 대한 차이($\Delta$)를 주로 예측했었다.
이 방식은 인간이 직접 그리드를 어떻게 나누고, 앵커를 어떻게, 몇개를 깔지 등 여러 설정을 해줘야했고, 과정도 복잡했다.
DETR은 이런 과정을 없애고 이미지 전체를 보고 절대 좌표를 예측한다.
박스에는 네 가지 속성이 있다. 중심 좌표와 가로/세로의 길이이다.
두 번째 항은 이 네 가지 속성의 차이를 더한다.
첫 번째 항의 $\mathcal{L}_{iou}$는 GIoU라는 값을 의미한다. 이전 글에서 여러번 나왔던 IoU와 거의 비슷한 개념이다.
IoU에 만약 두 박스가 겹치지 않을 경우 어떻게 할지만 추가된 느낌이라고 보면된다.
이걸 사용하는 이유는 일반적인 IoU는 만약 박스가 겹치지 않는다면 gradient가 끊길 위험이 있기 때문이다.
DETR Architecture

이 논문에서 내세우는 장점 중 하나로 구조의 단순함이 있다.
CNN백본 - 인코더 - 디코더 - FFN의 구조를 가지고 있다.
1. CNN백본
우리가 아는 CNN이다. ResNet등을 사용해 특징 맵을 뽑아낸다.
주로 채널 수 $C=2048$이고 가로,세로는 원래 이미지의 1/32가 된다.
2. 트랜스포머 인코더
백본에서 받은 $H \times W \times C$를 $1 \times 1$필터를 사용해 $H \times W \times d(=256)$로 채널을 줄인다.
트랜스포머는 입력으로 시퀸스를 받기 때문에 이를 $HW \times d$로 바꾼다.
단어의 수가 $HW$이고 각 단어의 임베딩 차원이 $d$라고 이해하면 된다.
이 상태로만 인코더에 넣으면 위치 정보가 없어지기 때문에 원 트랜스포머 논문에서처럼 positional encoding을 한다.
3. 트랜스포머 디코더
기존 트랜스포머는 자연어처리에서 사용되기때문에 다음단어를 마스킹하는 과정이 필요했다.
하지만 여기서는 그럴 필요가 없으므로 마스킹을 없앴다.
결과적으로 위에서 얘기한 정답 집합의 크기 $N$ 개의 결과 벡터가 나오게 된다.
이 벡터가 FFN을 통과해서 클래스, 박스 정보를 출력한다.
4. FFN
디코더에서 나온 256차원 벡터는 두 개의 head로 들어가 각각 클래스, 박스 정보를 예측한다.
클래스 예측은 박스 예측보다 상대적으로 쉬우므로 Linear(d, 클래스 개수+1) 층 하나만 통과하여 결과를 낸다.
박스 정보 예측은 3층으로 구성되어있다.
Linear(d, d) → ReLU → Linear(d, d) → ReLU → Linear(d, 4) → Sigmoid
총 4개의 숫자를 반환한다. $[c_x, c_y, w, h]$
결과

위 표를 보면 DETR의 장단점을 알 수 있다.
1. 큰 물체 탐지 성능이 좋다. ($AP_L$)
Faster RCNN의 56.0과 비교시 62.3으로 큰 차이를 보이며 더 우세하다는 것을 알 수 있다.
트랜스포머는 전역적으로 입력을 처리하기 때문에 크게 보는 능력이 좋기 때문이라고 생각할 수 있다.
2. 작은 물체 탐지 성능이 나쁘다. ($AP_S$)
이 부분에서는 Faster RCNN보다 더 낮은 AP를 보인다.
3. GFLOPS, params
비슷한 규모의 파라미터를 가진 Faster RCNN에 비해 성능이 좋다.
기본 DETR은 28프레임으로 빠르다. 하지만 성능을 높은 DC5모델들은 프레임이 떨어지는 것을 볼 수 있다.

이 표는 인코더의 layer수에 따른 결과를 나타낸 것이다.
성능은 레이어가 많을수록 당연히 좋아지지만 효율을 따져 논문에서는 6층 사용을 기본값으로 했다.

디코더의 층 수, NMS유무에 따른 그래프이다.
디코더의 층이 적을 떄는 중복 박스가 많아 NMS를 해야 성능이 좋은 것을 알 수 있다.
하지만 디코더 층이 늘어나면서 NMS가 점차 불필요해진다.
panoptic segmentation
이 panoptic segmentation은 이미지 내의 모든 픽셀을 분류하는 작업이다.
물체 인식과 배경인식이 모두 이루어진다. 아래 예시 이미지를 보면 어떤 것인지 감이 올 것이다.

DETR모델에 head 구조를 단순히 추가만 하므로써 이 panoptic segmentation을 할 수 있다.

기존 모델의 디코더를 나온 최종 출력 벡터가 위 그림의 input image라고 생각하면 되고 그 뒤의 구조를 나타낸 것이다.
Res5~Res2로 역순으로 사용해서 점차 세부적인 정보를 활용한다.
원래 층이 진행될수록 저해상도가 되는 대신 고차원이 된다.
그래서 이를 역순으로 사용하면 점차 픽셀단위까지 세부적으로 구성할 수 있게 된다.

이 표는 panoptic segmentation성능을 기존 모델들과 비교한 결과이다.
배경 인식(st)이 압도적으로 좋고, 물체 인식(th)도 비슷하거나 더 뛰어나다.
전체적으로도 가장 뛰어난 것을 알 수 있다.
DETR(Detection Transformer) 요약
기존의 복잡한 수작업 기반 객체 탐지 파이프라인을 제거하고, 트랜스포머와 이분 매칭(Bipartite Matching) 손실을 결합하여 객체 탐지를 단순한 '집합 예측(Set Prediction)' 문제로 재정의한 논문.
핵심 포인트
1. 기존 방식의 문제
기존의 Faster R-CNN 등은 수천 개의 앵커를 미리 정의하거나, 중복된 박스를 제거하기 위해 NMS 같은 복잡하고 미분 불가능한 후처리 과정을 반드시 거쳐야 했다.
이러한 요소들은 모델을 복잡하게 만들고 최적화를 어렵게 했다.
2. 해결 아이디어
객체 탐지를 더 이상 개별 위치를 찾는 문제가 아니라, 정답 박스들의 집합을 직접 예측하는 문제로 보았다.
트랜스포머를 활용하여 한 번의 실행으로 $N$개의 예측값을 병렬로 동시에 내도록 설계했다.
3. 핵심
- Object Queries: 학습 가능한 위치 인코딩으로, 이미지 전체를 훑으며 서로 다른 객체를 찾아내는 역할을 한다. 이를 통해 중복 없이 각기 다른 물체를 포착한다.
- Bipartite Matching: 헝가리안 알고리즘을 사용하여 예측된 $N$개의 박스와 실제 정답 사이의 1:1 매칭을 수행한다. 이를 통해 NMS 없이도 중복 예측을 차단한다.
4. 구현
- Encoder-Decoder: CNN 백본이 뽑은 특징들을 인코더가 전역적으로 분석하고, 디코더는 객체 쿼리를 이용해 이미지의 맥락을 참조하며 물체의 위치를 정교하게 깎아 나간다.
- Prediction Heads: 디코더의 출력을 3층 MLP에 통과시켜 클래스 확률과 정규화된 박스 좌표($x, y, w, h$)를 독립적으로 계산한다.
5. 성능 및 의의
복잡한 수작업 라이브러리 없이 표준적인 레이어만으로 구현이 가능하며, 특히 대형 객체($AP_L$) 탐지에서 기존의 Faster R-CNN을 압도하는 성능을 보여주었다.
또한, 마스크 헤드만 추가하면 (Panoptic Segmentation까지 쉽게 확장 가능하며, 컴퓨터 비전 분야에 '트랜스포머 기반 탐지'라는 새로운 패러다임을 열었다.
'AI > 컴퓨터비전(CV)' 카테고리의 다른 글
| [CV 논문] Fully Convolutional Networks for Semantic Segmentation (0) | 2026.02.26 |
|---|---|
| [CV 논문] 3D Gaussian Splatting for Real-Time Radiance Field Rendering (0) | 2026.02.24 |
| [CV 논문] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (0) | 2026.02.11 |
| [CV 논문] You Only Look Once:Unified, Real-Time Object Detection (0) | 2026.02.10 |
| [CV 논문] SSD: Single Shot MultiBox Detector (0) | 2026.02.09 |