본문 바로가기
Computer Vision

RT-DETR (2024) 논문 리뷰

by 아르카눔 2025. 6. 24.

RT-DETR 논문 제목은 DETRs Beat YOLOs on Real-time Object Detection다. (링크)

 

저자들은 Yian Zhao, Wenyu Lv, Shangliang Xu, Jinman Wei, Guanzhong Wang, Qingqing Dang, Yi Liu, Jie Chen다.

 

Github: 링크

 

Real-time object detection의 대표적인 모델인 YOLO 시리즈를 트랜스포머 구조의 모델로 더 좋은 성능을 거둔 논문이다.

 

Abstract

YOLO 시리즈는 속도와 정확도 간의 합리적인 trade-off으로 인해 실시간 객체 탐지에서 가장 널리 사용되는 프레임워크가 되었다. 그러나 본 연구에서는 YOLO의 속도와 정확도가 NMS의 부정적인 영향을 받는다는 것을 발견했다. 최근, End-to-end 종단간 Transformer-based detectors DETRs들은 NMS를 제거하는 대안을 제시했다. 하지만 높은 연산 비용은 실용성을 제한하고 NMS를 제거함으로써 얻을 수 있는 이점을 충분히 활용하지 못한다. 본 논문에서는 위의 딜레마를 해결하는 최초의 Real-Time DEtection TRansformer RT-DETR를 제안한다. 본 연구에서는 향상된 DETR을 활용하여 RT-DETR을 두 단계로 구축한다. 먼저 정확도를 유지하면서 속도를 향상시키는 데 중점을 두고, 두 번째 단계에서는 정확도를 유지하면서 속도를 향상시킨다. 구체적으로, 속도를 향상시키기 위해 intra-scale interaction과 cross-scale fusion을 분리하여 multi scale features를 신속하게 처리하는 효율적인 하이브리드 인코더를 설계한다. 다음으로, 디코더에 고품질의 초기 쿼리를 제공하기 위해 uncertatinty-minimal query selection 불확실성 최소화 쿼리 선택을 제안하여 정확도를 향상시킨다. 또한, RT-DETR은 재학습 없이 다양한 시나리오에 맞춰 디코더 계층 수를 조정하여 유연한 속도 조정을 지원한다. RT-DETR-R50/R101은 COCO에서 53.1%/54.3%의 AP를, T4 GPU에서 108/74 FPS를 달성하여 속도와 정확도 모두 기존 YOLO보다 우수하다. 또한, RT-DETR-R50은 DINO-R50보다 정확도에서 2.2% AP, FPS에서 약 21배 높은 성능을 보여준다. Objects365로 사전 학습한 RTDETR-R50/R101은 55.3%/56.2%의 AP를 달성했다.

 

 

 

3. End-to-end Speed of Detectors

3.1. Analysis of NMS (Non Maximum Suppression)

 

NMS는 Object detetction 객체 탐지 분야에서 널리 쓰이는 post-processing 알고리즘으로 겹치는 결과 박스들을 제거한다. 

NMS는 2가지 thresholds 임계치를 지니는데 confidence 임계치와 IoU 임계치다. 구체적으로, confidence 점수가 일정치 이하면 필터 되어 사라지고, 2개의 박스의 IoU가 일정 수치 이상이면 더 낮은 값을 버린다. 이런 과정이 모든 카테고리의 박스에 대해서 이루어진다. 따라서 NMS의 실행 시간은 주로 박스의 숫자와 두 임계치 값에 의존한다. 이런 관찰을 검증하기 위해서 anchor-based인 YOLOv5와 anchor-free인 YOLOv8을 분석에 활용한다.

 

우선, 동일한 입력에 대해서 서로 다른 confidence 임계치 값들에 따라서 필터된 후 남은 박스의 수를 센다. 임계치 값들은 0.001 부터 0.25까지의 범위를 갖는다. 두 개의 탐지기의 남은 박스들을 세고 이를 bar graph로 그린다. 아래 Figure 2에 바 그래프가 나타나있는데 이는 NMS가 임계치에 민감하다는 사실을 보여준다.

 

 

추가적으로 YOLOv8을 통해서 서로 다른 하이퍼파라미터에 대한 COCO val2017에 대한 정확도와 NMS 실행 시간을 측정한다. 

 

NMS는 TensorRT의 efficientNMSPlugin을 사용하며, 이 플러그인은 EfficientNMSFilter, RadixSort, EfficientNMS 등이 포함되어 있다. 저자들은 EfficientNMS 커널의 실행 시간만을 보고한다. T4 GPU와 TensorRT FP16으로 속도를 테스트한다. 그 결과는 아래 Table 1에 나와있다.

 

 

 

실행 시간은 confidence 임계치와 IoU 임계치가 커질 수록 커진다. 또한 서로 다른 NMS 임계치에 따른 YOLOv8의 예측을 시각화한 결과를 Appendix에 첨부했다. 이 실험 결과는 적절하지 않은 confidence 임계치는 중대한 false postives 혹은 false negatives을 의미한다. Confidence 임계치가 0.0001이고 IoU 임계치가 0.7일 때 YOLOv8은 베스트 AP를 가지지만 상응하는 NMS 실행 시간은 다소 길다. 보통 YOLO 모델들은 모델의 속도를 보고하지만 NMS 시간을 제외하므로, end-to-end 속도 벤치마크를 확립할 필요하다. 

 

3.2. End-to-end Speed Benchmark

 

COCO val 2017를 벤치마크 데이터셋으로 하여 TensorRT의 NMS 후처리를 덧붙인다. NMS 임계치에 따른 탐지기의 평균 추론 시간을 테스트한다. 이때 I/O와 MemoryCopy 연산은 제외한다. Anchor-based 모델로는 YOLOv5, v7을 그리고 Anchor-free 모델들로는 PP-YOLOE,  YOLOv6와 v8을 선택했다. 실험 결과는 Table 2에 제시된다. Anchor-free 모델들이 동일한 정확도에 대해서 anchor-based를 능가한 결과를 보여주는데 그 이유는 NMS 시간이 더 적게 걸리기 떄문이다. 

 

 

4. The Real-time DETR

4.1. Model Overview

 

RT-DETR는 백본, efficient hybrid encoder, 그리고 auxiliary prediction head 보조 예측 헤드를 지닌 Transformer decoder의 세 부분으로 구성된다. 전반적인 구조는 Figure 4에 그려져있다. 백본의 마지막 3개 스테이지인 {$S_3, S_4, S_5$}에 features를 주입한다. Efficient hybrid encoder는 multi-scale features를 sequence of image features로 변환하는데, 이때 intra-scale features interaction과 cross-scale feature fusion을 통해서 이룩한다. 그 뒤에 uncertainty-miniumal query selection 불확실성 최소화 쿼리 선택을 적용해 고정된 숫자의 인코더 피쳐를 선택하고 이를 디코더의 초기 객체 쿼리값으로 사용한다. 마지막으로 디코더는 보조 예측 헤드를 통해서 객체 쿼리값을 반복적으로 최적화하여 categories와 boxes를 예측한다. 

 

 

 

4.2. Efficient Hybrid Encoder

 

Computational bottleneck analysis

 

Deformable-DETR 모델에서 인코더는 GFLOPs 중에서 49%의 비중을 차지하지만, AP에 있어서는 11%만 기여한다. 이러한 병목을 극복하기 위해서 우선 멀티 스케일 트랜스포머 인코더의 computational redundancy 계산 중복을 분석한다. 

직관적으로, 객체에 대한 풍부한 semantic information을 포함하는 high-level features 고수준 특징은 low-level features 저수준 피쳐에서 추출되므로 concatenated multi-scale 피쳐들의 피쳐 상호작용은 중복을 포함한다. 따라서, 저자들은 simulatenous 동시적인 intra-scale 스케일 내 및 cross-scale 스케일 간 피쳐 상호작용이 비효율적임을 증명하기 위해 다양한 유형의 인코더를 갖는 a set of variants 변형 세트를 설계하며 이는 아래 Figure 3에 묘사된다. 특히 RT-DETR에서 사용된 더 작은 크기의 데이터 리더와 더 가벼운 디코더를 갖춘 DINO-Deformable-R50을 실험에 사용한다. 먼저 DINO-Deformable-R50에서 변형 A로 다중 스케일 트랜스포머 인코더를 제거한다. 그런 다음, 다양한 유형의 인코더를 삽입하여 A를 기반으로 하는 일련의 변형을 생성하며 자세한 내용은 아래에 서술한다. 구체적인 변형들은 Table 3에 소개된다.

 

 

A → B: Variant A에 single scale Transformer encoder (SSE)를 삽입한다. Intra-scale는 피쳐 멀티 스케일 피쳐들의 상호작용을  위한 동일한 인코더를 공유하며 concatenate해서 결과를 출력한다.

 

B → C: Variant C는 변형 B에 cross-scale feature fusion을 삽입하여 Multi scale Transformer encoder  (MSE)에 concatenated 피쳐를 넣어서 intra-scale와 cross-scale 피쳐 상호작용을 동시에 수행한다. 

 

C → D: Variant D는 intra-scale 상호작용과 cross-scale fusion을 서로 분리하며, intra-scale에는 single-scale Transformer를, cross-scale fusion (CSF) 에는 PANet-style을 적용한다. 

 

D → E: Variant E는 Efficient hybrid encoder를 적용한다. 

 

 

 

 

Hybrid design

 

Efficient Hybrid Encoder는 다음의 2개의 모듈로 구성된다, Attention-based Intra-scale Feature Interaction (AIFI)와 CNN-based Cross-scale Feature Fusion (CCFF)다. 

 

Attention-based Intra-scale Feature Interaction (AIFI)

구체적으로, AIFI는 싱글 스케일 트랜스포머 인코더를 사용하여 $S_5$에서만 intra-scale 상호작용을 수행함으로써 variant D에 기반한 계산 비용을 더욱 줄인. 그 이유는 더 풍부한 의미 개념을 가진 고수준 피쳐에 셀프 어텐션 연산을 적용하면 개념적 개체 간의 연결을 포착하여 후속 모듈에서 객체의 위치 지정 및 인식을 용이하게 만들기 때문이다. 그러나 저수준 피쳐의 스케일 내 상호작용은 의미 개념이 부족하고 고수준 피쳐 상호작용과 중복 및 혼동될 위험이 있기 때문에 불필요하다. 이 의견을 검증하기 위해 변형 D에서 $S_5$에서만 intra-scale 상호작용을 수행했으며 실험 결과는 Table (행 $D_{S_5}$ 참조)에 보고되었다. D와 비교하여 $D_{S_5}$ 는 지연 시간을 크게 줄일 뿐만 아니라 (35% 더 빠름) 정확도도 향상시킨다 (AP 0.4% 더 높음).

 

CNN-based Cross-scale Feature Fusion (CCFF)

CCFF는 CNN 계층으로 구성된 여러 개의 fusion blocks를 fusion path에 삽입하는 cross-scale fusion 모듈을 기반으로 최적화된다. Fusion blocks의 역할은 두 개의 인접한 스케일 피쳐를 새로운 피쳐로 합성하는 것이며, 그 구조는 아래 Figure 5에 나와 있다. Fusion blocks 은 채널 수를 조정하기 위해 두 개의 1 × 1 컨볼루션을 포함한다. RepConv로 구성된 N개의 RepBlock이 feature fusion에 사용되고, 두 fusion path는 element-wise addition을 통해 합성된다.

 

 

 

하이브리드 인코더의 계산식 (1)은 다음과 같다.

 

 

Reshape는 flattend 피쳐를 다시 $S_5$의 shape로 복구하는 연산이다.

 

 

 

4.3. Uncertainty-minimal Query Selection

 

DETR에서 객체 질의 최적화의 어려움을 줄이기 위해, 여러 후속 연구를 토대로 한 질의 선택 기법을 제안한다. 이전 연구들은 공통적으로 confidence scores 신뢰도 점수를 사용하여 인코더에서 상위 K개의 피쳐를 선택하여 object queries 객체 질의 (또는 position quereis 위치 질의)로 초기화한다. 신뢰도 점수는 피쳐가 foreground objects 전경 객체를 포함할 가능성을 나타낸다. 그럼에도 불구하고 탐지기들은 객체의 category 범주와 location 위치를 동시에 모델링해야 하며, 이 두 가지는 피쳐의 품질을 결정한다. 따라서 피쳐의 performance score 성능 점수는 분류 및 위치 추정과 공동으로 상관관계가 있는 latent variable 잠재 변수다. 분석 결과 현재의 쿼리 선택은 선택된 특징으로 하여금 상당한 수준의 unceratainty 불확실성을 초래하여 디코더의 최적이 아닌 초기화를 초래하고 탐지기의 성능을 저해하는 결과를 가져온다.
이 문제를 해결하기 위해, 본 연구에서는 불확실성 최소 질의 선택 기법을 제안한다. 이는 인코더 피쳐의 공동 잠재 변수를 모델링하기 위해 episdemic uncertainty 인식적 불확실성을 명시적으로 구성하고 최적화하여 디코더에 고품질의 쿼리를 제공한다. 구체적으로 피쳐 불확실성 $U$는 아래 식 (2)에서 predicted distribution of localization 예측 지역화의 분포 $P$와 predicted distribution of classificaion 예측 분류 분포 $C$의 간의 discrepancy 불일치로 정의된다.


질의의 불확실성을 최소화하기 위해, 식 (2)를 loss 함수에 통합하여 식 (3)을 만든다. 이는 그라디언트 기반의 손실 함수 최소화로 최적화 한다.

 

 

$\hat{\mathcal{Y}}$는 예측치이며, $\mathcal{Y}$는 ground truth다. $\mathcal{Y} = { \text{c}, \text{b} }$이며, 각각은 category와 bounding box다. $\hat{\mathcal{Y}}$은 $\mathcal{Y}$와 유사하지만 단지 ground truth가 아니라 predicted cateogry와 bounding box다. 

 

 

Effectivenes analysis

 

COCO val 2017에 대해서 불확실성 최소화 쿼리 선택이 classificatio scores와 IoU scores에 얼마나 효율적인지를 아래 Figure 6에서 보여준다. 분류 점수가 0.5 이상인 경우에 대해서만 scatterplot을 그린다.

 

 

보라색은 불확실성 최소화 쿼리 선택의 결과이며 녹색은 일반 쿼리 선택 방법 결과다. 

보라색 점들은 오른쪽 상단에 많이 분포하며, 녹색 점들이 오른쪽 하단에 많이 분포한다. 보라색 점은 녹색 점보다 138% 더 많다. 즉, 분류 점수가 0.5 이하인 녹색 점이 더 많으며, 이는 품질이 낮다고 간주될 수 있습니다. 그리고 두 점수 모두 0.5보다 큰 보라색 점이 녹색 점보다 120% 더 많습니다. Figure 6의 오른쪽과 오른쪽에 표시된 밀도 곡선에서도 동일한 결론을 도출할 수 있으며, 보라색과 녹색 사이의 차이는 Figure의 오른쪽 상단에서 가장 두드러진다. 정량적 분석의 결과는 불확실성 최소화 쿼리 선택이 쿼리에 대한 정확한 분류와 정확한 위치를 제공하여 탐지기의 정확도를 향상시킨다는 사실을 잘 보여준다

 

 

녹색이 높은 IoU 점수를 지녀서 객체를 탐지는 하지만 무엇인지는 제대로 분류 하지 못한다고 해석할 수 있다. 반면에 보라색은 높은 IoU 점수와 높은 분류 점수를 지니는데 객체 탐지와 분류 모두 잘 수행한다고 해석할 수 있다. 구체적인 값은 아래 Table 4에 제시된다. 

 

 

 

 

4.4. Scaled RT-DETR

 

Real-Time 탐색기는 일반적으로 다양한 시나리오에 맞춰 다양한 규모의 모델을 제공하므로, RT-DETR 또한 유연한 스케일링을 지원한다. 특히, 하이브리드 인코더의 경우, 임베딩 차원과 채널 수를 조정하여 width 너비를 제어하고, Transformer 계층과 RepBlocks의 수를 조정하여 depth 깊이를 제어한다. 디코더의 너비와 깊이는 객체 쿼리와 디코더 계층 수를 조정하여 제어할 수 있다. 또한, RT-DETR의 속도는 디코더 계층 수 조정을 통해 유연한 조정을 지원한다. 마지막의 몇 개의 디코더 계층을 제거해도 정확도에는 거의 영향을 미치지 않지만 추론 속도는 크게 향상됨을 관찰했다 (섹션 5.4와 아래 Table 5 참조). 아래 Det6은 디코더의 5번째 디코더 레이러를 추론에 사용한다. 

 

 

 

ResNet50과 ResNet101을 탑재한 RT-DETR을 YOLO 탐색기의 L 및 X 모델과 비교한다. 더 가벼운 RT-DETR은 확장 가능한 인코더 및 디코더를 갖춘 더 작은 (e.g.,:  ResNet18/34) 또는 확장 가능한 (e.g., CSPResNet) 백본을 적용하여 설계할 수 있다. 확장된 RT-DETR을 Appendix에 있는 더 가벼운 (S 및 M) YOLO 모델들과 비교했는데, 속도와 정확도 모두에서 모든 YOLO의 S 및 M 모델 보다 우수하다. 그 결과는 아래 Figure B다.

 

 

 

5. Experiments

 

RT-DETR이 높은 FPS를 지녀서 빠르게 처리하면서도 AP가 높아서 좋은 성능임을 알 수 있다.

 

 

 

 

 

 

 

 

 

 

References:

https://velog.io/@qtly_u/d5isa9ts

https://medium.com/analytics-vidhya/non-max-suppression-nms-6623e6572536

 

 

 

'Computer Vision' 카테고리의 다른 글

RepVGG (2021) 논문 리뷰  (0) 2025.06.24
YOLOv7 (2022) 논문 리뷰  (1) 2025.06.24
PP-YOLOE (2022) 논문 리뷰  (0) 2025.06.23
YOLOX (2021) 논문 리뷰  (1) 2025.06.23
MnasNet (2018) 논문 리뷰  (0) 2025.05.03