Link to this sectionRTDETRv2 대 YOLOv10: NMS 없는 실시간 객체 탐지의 발전#
컴퓨터 비전의 진화는 속도와 정확성의 균형을 맞추기 위한 끊임없는 노력에 의해 주도되어 왔습니다. 전통적으로 실시간 객체 탐지 파이프라인은 겹치는 경계 상자(bounding box)를 필터링하기 위한 후처리 단계로 NMS(Non-Maximum Suppression)에 의존해 왔습니다. 그러나 NMS는 지연 시간 병목 현상과 복잡한 하이퍼파라미터 튜닝을 유발합니다. 최근 이 문제를 근본적으로 해결하기 위해 RTDETRv2와 같은 Transformer 기반 모델과 YOLOv10과 같은 CNN 기반 모델이라는 두 가지 독자적인 아키텍처 접근 방식이 등장했습니다.
본 가이드는 이 두 모델에 대한 포괄적인 기술적 비교를 제공하며, 아키텍처, 성능 지표 및 이상적인 사용 사례를 분석합니다. 또한 최신 Ultralytics 에코시스템 혁신이 어떻게 현대적인 배포를 위한 최고의 솔루션을 제공하는지 강조합니다.
Link to this sectionRTDETRv2: 실시간 탐지 트랜스포머(Real-Time Detection Transformers)#
RTDETRv2는 기존 RT-DETR 아키텍처를 기반으로 하며, Vision Transformer의 전역 문맥 이해 능력과 기존 YOLO 모델이 지배하던 실시간 속도 요구 사항을 결합하는 것을 목표로 합니다.
주요 특징:
- 저자: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, Yi Liu
- 조직: Baidu
- 날짜: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Link to this section아키텍처 및 학습 방법론#
RTDETRv2는 NMS가 필요 없는 종단 간(end-to-end) Transformer 아키텍처를 활용합니다. 이 모델은 학습 전략을 최적화하고 다중 스케일 탐지 기능을 통합하는 "Bag-of-Freebies" 방식을 도입하여 이전 버전을 개선했습니다. CNN 백본을 사용하여 특성 맵(가장자리 및 질감과 같은 시각적 세부 정보)을 추출한 다음, 이를 Transformer 인코더-디코더 구조로 처리합니다. 이를 통해 모델은 전체 이미지 컨텍스트를 동시에 분석할 수 있어, 객체가 밀집되어 있거나 겹쳐 있는 복잡한 장면을 이해하는 데 매우 효과적입니다.
Link to this section장점 및 단점#
강점:
- 전역 컨텍스트: 어텐션 메커니즘을 통해 복잡하고 혼잡한 환경에서도 모델이 뛰어난 성능을 발휘합니다.
- NMS 미사용(NMS-Free): 객체 좌표를 직접 예측하여 배포 파이프라인을 단순화합니다.
- 높은 정확도: COCO 데이터셋에서 뛰어난 평균 정밀도(mAP)를 달성합니다.
약점:
- 자원 집약적: Transformer 아키텍처는 일반적으로 CNN에 비해 학습 중에 훨씬 더 많은 CUDA 메모리를 필요로 하므로, 표준 하드웨어에서 파인튜닝하는 데 비용이 많이 듭니다.
- 추론 속도 가변성: 빠르긴 하지만, 무거운 어텐션 연산은 전용 AI 가속기가 없는 엣지 디바이스에서 컴퓨터 비전의 FPS를 낮출 수 있습니다.
Link to this sectionYOLOv10: 실시간 엔드투엔드 객체 탐지#
YOLOv10은 CNN 프레임워크 내에서 오랫동안 지속된 NMS 병목 현상을 직접 해결함으로써 YOLO 객체 탐지 계보의 큰 전환점을 마련했습니다.
주요 특징:
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직: 칭화대학교(Tsinghua University)
- 날짜: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
Link to this section아키텍처 및 학습 방법론#
YOLOv10의 핵심 혁신은 NMS 없는 학습을 위한 일관된 이중 할당(dual assignments) 방식입니다. 학습 중에 두 개의 탐지 헤드를 사용합니다. 하나는 풍부한 지도 신호를 제공하기 위해 일대다(one-to-many) 할당(기존 YOLO와 유사)을 사용하고, 다른 하나는 NMS 필요성을 제거하기 위해 일대일(one-to-one) 할당을 사용합니다. 추론 중에는 일대일 헤드만 사용하여 종단 간 프로세스를 구현합니다. 또한 저자들은 효율성과 정확성을 고려한 모델 설계 전략을 적용하여 다양한 구성 요소를 포괄적으로 최적화함으로써 계산 중복을 줄였습니다.
Link to this section장점 및 단점#
강점:
- 극한의 속도: NMS를 제거하고 아키텍처를 최적화함으로써 YOLOv10은 매우 낮은 추론 지연 시간을 달성합니다.
- 효율성: 다른 모델과 비슷한 정확도를 달성하는 데 필요한 파라미터와 FLOPs 수가 적어 제한된 환경에 매우 적합합니다.
- NMS 없는 배포: 스마트 감시와 같은 엣지 애플리케이션으로의 통합을 간소화합니다.
약점:
- 1세대 개념: 이 특정 NMS 없는 아키텍처를 구현한 최초의 YOLO로서 기반을 마련했지만, YOLO11 및 YOLO26과 같은 후속 모델에서 볼 수 있는 멀티태스킹 다재다능함과 최적화의 여지를 남겼습니다.
Link to this section성능 비교#
프로덕션용 모델을 평가할 때는 정확성과 계산 비용의 균형을 맞추는 것이 중요합니다. 아래 표는 RTDETRv2와 YOLOv10의 다양한 크기 간 성능 차이를 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
RTDETRv2는 강력한 정확도를 제공하지만, YOLOv10은 특히 더 작은 모델(Nano 및 Small)에서 지연 시간 및 파라미터 효율성 측면에서 놀라운 이점을 보여주어 엣지 컴퓨팅 및 AIoT 애플리케이션에 매우 매력적입니다.
배치 크기와 VRAM 제약이 적은 서버급 GPU에 배포하는 경우, 더 큰 모델(예: -x 또는 -l)이 정확도를 극대화합니다. Raspberry Pi나 휴대폰과 같은 엣지 디바이스의 경우, 실시간 프레임 속도를 유지하기 위해 나노(-n) 또는 스몰(-s) 버전을 우선순위에 두십시오.
Link to this section사용 사례 및 권장 사항#
RT-DETR과 YOLOv10 중 하나를 선택하는 것은 특정 프로젝트 요구 사항, 배포 제약 조건 및 에코시스템 선호도에 따라 달라집니다.
Link to this sectionRT-DETR을 선택해야 할 시기#
RT-DETR은 다음과 같은 경우에 강력한 선택입니다:
- Transformer 기반 탐지 연구: NMS 없이 엔드 투 엔드 객체 탐지를 위해 어텐션 메커니즘과 Transformer 아키텍처를 탐구하는 프로젝트.
- 유연한 지연 시간을 가진 고정밀 시나리오: 탐지 정확도가 최우선이며 약간 더 높은 추론 지연 시간이 허용되는 응용 프로그램.
- 대형 객체 탐지: Transformer의 전역 어텐션 메커니즘이 자연스러운 이점을 제공하는, 중대형 객체가 주로 나타나는 장면.
Link to this sectionYOLOv10을 선택해야 하는 경우#
YOLOv10은 다음과 같은 경우에 권장됩니다:
- NMS-free 실시간 탐지: Non-Maximum Suppression 없이 엔드투엔드 탐지 기능을 활용하여 배포 복잡성을 줄여야 하는 애플리케이션.
- 균형 잡힌 속도-정확도 트레이드오프: 다양한 모델 규모 전반에서 추론 속도와 탐지 정확도 간의 강력한 균형이 필요한 프로젝트.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Link to this sectionUltralytics(YOLO26)를 선택해야 할 때#
대부분의 신규 프로젝트에서 Ultralytics YOLO26은 성능과 개발자 경험의 최적의 조합을 제공합니다:
- NMS-free 엣지 배포: Non-Maximum Suppression 후처리의 복잡성 없이 일관되고 낮은 지연 시간의 추론이 필요한 애플리케이션.
- CPU 전용 환경: 전용 GPU 가속기가 없는 장치에서 YOLO26의 최대 43% 더 빠른 CPU 추론 속도가 결정적인 이점을 제공합니다.
- 소형 객체 탐지: 항공 드론 이미지나 IoT 센서 분석과 같은 도전적인 시나리오에서 ProgLoss와 STAL이 작은 객체에 대한 정확도를 크게 향상시킵니다.
Link to this sectionUltralytics의 이점: YOLO26 소개#
RTDETRv2와 YOLOv10 모두 학술적으로 훌륭한 발전을 보여주지만, 실제 환경에 배포하려면 강력하고 잘 유지 관리되는 소프트웨어 에코시스템이 필요합니다. Ultralytics 플랫폼은 사용 편의성, 방대한 문서, 그리고 데이터 어노테이션 및 배포를 위한 강력한 도구를 결합하여 타의 추종을 불허하는 개발자 경험을 제공합니다.
2026년 최고의 기술력을 원하는 개발자에게는 **Ultralytics YOLO26**을 강력히 추천합니다. 이 모델은 두 아키텍처의 장점을 합성하는 동시에 획기적인 개선 사항을 도입했습니다:
- 종단 간 NMS 없는 설계: YOLOv10이 개척한 개념을 기반으로 하는 YOLO26은 NMS 후처리를 기본적으로 제거하여 더 빠르고 단순한 배포 로직과 제로 지연 시간 변동을 달성합니다.
- DFL 제거: DFL(Distribution Focal Loss)을 제거함으로써 YOLO26은 모델 내보내기를 단순화하고 엣지 및 저전력 디바이스와의 호환성을 획기적으로 개선합니다.
- MuSGD 옵티마이저: SGD와 Muon(LLM 학습 혁신에서 영감)의 하이브리드인 이 새로운 옵티마이저는 기존 방식보다 더 안정적인 학습과 훨씬 빠른 수렴을 제공합니다.
- CPU 추론 최대 43% 향상: 전용 GPU가 없는 환경에 맞게 신중하게 최적화되어 고성능 비전 AI를 대중화합니다.
- ProgLoss + STAL: 이러한 고급 손실 함수는 드론 사용 애플리케이션 및 IoT 센서에 필수적인 소형 객체 인식 기능을 크게 향상시킵니다.
- 타의 추종을 불허하는 다재다능함: 경계 상자에만 국한된 모델과 달리 YOLO26은 인스턴스 세그멘테이션, 자세 추정, 이미지 분류, OBB 탐지를 포함한 전체 작업 제품군을 지원하며, 자세 추정을 위한 RLE(Residual Log-Likelihood Estimation)와 같은 작업별 개선 사항을 완벽하게 갖추고 있습니다.
Link to this sectionPython을 사용한 원활한 구현#
Ultralytics Python API를 사용하여 이러한 모델을 학습하고 배포하는 과정은 매끄럽게 설계되었습니다. Transformer 위주의 아키텍처와 비교하여 학습 중 메모리 요구 사항이 현저히 낮아 표준 하드웨어에서도 강력한 모델을 학습할 수 있습니다.
from ultralytics import YOLO
# Load the cutting-edge YOLO26 model (recommended)
# Alternatively, load a YOLOv10 model using YOLO('yolov10n.pt')
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Easily export to various formats for edge deployment
model.export(format="onnx", simplify=True)Whether you are implementing security alarm systems or conducting medical image analysis, choosing a model backed by the active Ultralytics community ensures you have the tools, hyperparameter tuning guides, and continuous updates needed to succeed. While YOLOv10 and RTDETRv2 paved the way for NMS-free architectures, YOLO26 perfects the formula, offering the best balance of performance, versatility, and production readiness.