YOLOv10 대 YOLOX#
컴퓨터 비전 분야는 실시간 객체 탐지 아키텍처의 급속한 발전을 바탕으로 성장하고 있습니다. 이 상세한 기술 비교에서는 효율성과 설계 패러다임의 한계를 넓힌 두 가지 영향력 있는 모델인 YOLOv10과 YOLOX를 살펴봅니다. 아키텍처 차이, 성능 지표, 학습 방법론을 검토하면 개발자와 연구자가 강력한 비전 시스템을 배포하기 위한 현명한 결정을 내릴 수 있습니다.
모델의 배경과 기원#
이러한 딥러닝 모델의 기원을 이해하면 아키텍처 목표와 대상 사용 사례를 파악하는 데 유용한 맥락을 얻을 수 있습니다.
YOLOv10: 진정한 엔드투엔드 탐지를 위한 NMS 제거#
오랜 시간 지속된 지연 시간 병목 현상을 해결하기 위해 개발된 YOLOv10은 YOLO 계열에 네이티브 엔드투엔드 접근 방식을 도입했습니다.
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직: 칭화대학교
- 날짜: 2024년 5월 23일
- ArXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- 문서: Ultralytics YOLOv10 문서
YOLOX: 연구와 산업 간의 간극 해소#
YOLOX는 기존 YOLO 설계를 앵커 프리 방식으로 구현하여, 경쟁력 있는 성능과 더 단순한 방법론을 제공하며 특히 산업계에서의 배포를 쉽게 하는 데 초점을 두었습니다.
- 저자: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
- 조직: Megvii
- 날짜: 2021년 7월 18일
- ArXiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
- 문서: YOLOX 공식 문서
아키텍처의 주요 특징과 혁신#
두 프레임워크 모두 기존 앵커 기반 탐지기와는 다르지만, 객체 탐지 파이프라인의 서로 다른 문제를 해결합니다.
YOLOX 아키텍처#
YOLOX는 2021년에 생태계에 몇 가지 중요한 업데이트를 도입했습니다. 주요 기여는 앵커 프리 탐지기 설계로 전환한 것입니다. 사전 정의된 앵커 박스를 제거함으로써 YOLOX는 다양한 데이터셋에 필요한 설계 파라미터와 휴리스틱 튜닝의 수를 크게 줄였습니다.
또한 YOLOX는 분류와 회귀 작업을 분리하는 분리형 헤드를 사용합니다. 이를 통해 두 목표 간의 충돌을 해결하고 학습 중 수렴 속도를 크게 높였습니다. 또한 고급 레이블 할당에 SimOTA를 활용하여 COCO 데이터셋에서 흔히 나타나는 복잡한 장면과 가림 현상을 더 잘 처리합니다.
YOLOX가 개척한 앵커 프리 설계는 모델 튜닝의 복잡성을 크게 낮춥니다. 개발자는 최적의 앵커 박스 크기를 정의하기 위해 사용자 지정 데이터셋에 k-means 클러스터링을 수행할 필요가 없어 귀중한 준비 시간을 절약할 수 있습니다.
YOLOv10 아키텍처#
YOLOX는 탐지 헤드를 개선했지만 추론 중에는 여전히 비최대 억제(NMS)에 의존했으며, 이로 인해 지연 시간이 변동합니다. YOLOv10은 NMS 없는 학습을 위한 일관된 이중 할당 전략을 도입해 이 문제를 직접 해결했습니다. 학습 중에는 일대다 및 일대일 레이블 할당을 모두 사용하지만, 추론 중에는 일대다 헤드를 완전히 제거하여 NMS 후처리 없이 깔끔한 예측 결과를 출력합니다.
YOLOv10은 효율성과 정확도를 종합적으로 고려한 모델 설계도 특징입니다. 경량 분류 헤드와 공간·채널 분리형 다운샘플링을 적용해 정확도를 희생하지 않으면서 파라미터 수와 FLOPs를 크게 줄였습니다.
성능 비교#
NVIDIA T4 GPU와 같은 하드웨어에서 이 모델들을 평가하면 모델 규모에 따라 뚜렷한 장점이 드러납니다. 아래에 종합 비교표를 제시합니다.
| 모델 | 크기 (픽셀) | mAP검증 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
위에서 볼 수 있듯이 YOLOv10은 탁월한 확장성을 보입니다. YOLOv10x 변형 모델은 가장 높은 정확도(54.4 mAP)를 달성하며, YOLOv10n 변형 모델은 TensorRT 통합을 통해 가장 빠른 추론 속도를 제공합니다. 반면 기존 YOLOX 나노 모델은 제약이 심한 환경에서 전체 설치 공간이 가장 작습니다.
학습 방법론과 리소스 요구 사항#
프로덕션용 모델을 구현할 때는 학습 생태계와 리소스 요구량도 순수 추론 속도만큼 중요합니다.
YOLOX는 관리하기 번거로울 수 있는 구형 환경 설정에 의존하는 경우가 많습니다. 또한 기존 코드베이스로 다중 GPU 분산 학습이나 혼합 정밀도 최적화를 구현하려면 보일러플레이트 코드가 더 많이 필요합니다.
반면 YOLOv10은 최신 PyTorch 워크플로와 원활하게 통합되지만, 개발자 경험을 진정으로 혁신하는 것은 Ultralytics 생태계입니다. Ultralytics 모델은 RT-DETR과 같은 Transformer 기반 아키텍처에 비해 학습 중 CUDA 메모리 사용량이 훨씬 적다는 특징이 있습니다.
코드 예제: 간소화된 학습#
통합 Ultralytics API를 사용하면 Python 코드 몇 줄만으로 최첨단 모델을 간편하게 학습할 수 있습니다. 따라서 C++ 연산자를 수동으로 컴파일하거나 복잡한 구성 파일을 작성할 필요가 없습니다.
from ultralytics import YOLO
# 사전 학습된 YOLOv10 모델 초기화
model = YOLO("yolov10s.pt")
# COCO8 데이터셋으로 모델 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 모델 성능 검증
metrics = model.val()
# 최적화된 모델을 ONNX 형식으로 내보내기
model.export(format="onnx")이 간단한 구문만으로 자동 혼합 정밀도, 자동 데이터 증강, Weights & Biases와 같은 도구와의 통합을 즉시 사용할 수 있습니다.
사용 사례 및 권장 사항#
YOLOv10과 YOLOX 중에서 선택할 때는 구체적인 프로젝트 요구 사항, 배포 제약, 선호하는 생태계를 고려해야 합니다.
YOLOv10을 선택해야 하는 경우#
YOLOv10은 다음과 같은 경우에 적합합니다:
- NMS가 필요 없는 실시간 탐지: 비최대 억제 없이 엔드 투 엔드 탐지를 활용하여 배포 복잡성을 줄일 수 있는 애플리케이션입니다.
- 속도와 정확도의 균형: 다양한 모델 규모에서 추론 속도와 탐지 정확도 간의 균형이 중요한 프로젝트입니다.
- 일관된 지연 시간이 필요한 애플리케이션: 로보틱스나 자율 시스템처럼 예측 가능한 추론 시간이 중요한 배포 시나리오입니다.
YOLOX를 선택해야 하는 경우#
다음과 같은 경우 YOLOX를 권장합니다.
- 앵커 프리 탐지 연구: 새로운 탐지 헤드나 손실 함수를 실험하기 위한 기준 모델로 YOLOX의 간결한 앵커 프리 아키텍처를 사용하는 학술 연구입니다.
- 초경량 엣지 장치: YOLOX-Nano 변형의 매우 작은 풋프린트(0.91M 파라미터)가 중요한 마이크로컨트롤러 또는 구형 모바일 하드웨어에 배포하는 경우입니다.
- SimOTA 레이블 할당 연구: 최적 수송 기반 레이블 할당 전략과 해당 전략이 학습 수렴에 미치는 영향을 조사하는 연구 프로젝트입니다.
Ultralytics(YOLO26)를 선택해야 하는 경우#
대부분의 신규 프로젝트에는 성능과 개발자 경험을 가장 잘 조합한 Ultralytics YOLO26을 권장합니다.
- NMS가 필요 없는 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관된 저지연 추론이 필요한 애플리케이션입니다.
- CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 빠른 CPU 추론은 결정적인 이점을 제공합니다.
- 작은 객체 탐지: 항공 드론 이미지나 IoT 센서 분석과 같이 작은 객체의 정확도를 ProgLoss와 STAL이 크게 높여 주는 까다로운 시나리오입니다.
비전 AI의 미래: YOLO26의 등장#
YOLOv10과 YOLOX가 중요한 이정표이기는 하지만, 컴퓨터 비전 분야는 끊임없이 발전하고 있습니다. 오늘 새로운 프로젝트를 시작하는 개발자에게는 Ultralytics YOLO26을 가장 확실하게 추천합니다.
2026년 1월에 출시된 Ultralytics YOLO26은 YOLOv10이 개척한 엔드투엔드 NMS 프리 설계의 획기적인 기반을 발전시켜 안정성과 속도를 한층 더 높였습니다.
YOLO26은 다음과 같은 여러 획기적인 발전을 도입했습니다.
- 최대 43% 빠른 CPU 추론: Distribution Focal Loss(DFL)를 전략적으로 제거하여 GPU가 없는 엣지 디바이스에서 훨씬 뛰어난 성능을 구현합니다.
- MuSGD 옵티마이저: LLM 학습 안정성에서 영감을 받은 이 새로운 SGD와 Muon의 하이브리드 방식은 수렴을 가속화하고 매우 안정적인 학습을 보장합니다.
- ProgLoss + STAL: 이 고급 손실 함수는 항공 이미지와 IoT 센서에서 중요한 요소인 소형 객체 인식 성능을 크게 향상합니다.
- 탁월한 범용성: 객체 탐지 전용 모델인 YOLOX와 달리 YOLO26은 단일 통합 라이브러리에서 인스턴스 분할, 자세 추정, 이미지 분류, OBB 탐지를 기본 지원합니다.
프로덕션에 가장 간편하게 도입하려면 Ultralytics Platform을 사용해 데이터셋에 주석을 추가하고, 클라우드에서 YOLO26 모델을 학습하며, 설정 없이 모든 엣지 디바이스에 배포할 수 있습니다.
실제 애플리케이션#
적절한 모델을 선택하는 일은 다양한 산업 분야의 실제 배포 성공을 좌우합니다.
고속 비디오 분석#
스마트 시티 교통 관리와 같이 밀집된 비디오 피드를 처리할 때 YOLOv10은 NMS 없는 후처리 덕분에 상당한 이점을 제공합니다. NMS 병목 현상을 제거하면 낮은 지연 시간을 일관되게 유지할 수 있어 BoT-SORT와 같은 추적 알고리즘과 함께 사용하기에 적합합니다.
레거시 엣지 배포#
구형 학술 환경이나 순수 합성곱 패러다임에 맞춰 고도로 최적화된 기존 Android 애플리케이션에서는, 구형 PyTorch 환경을 유지하는 것을 감수할 수 있다면 YOLOX-Tiny와 같은 소형 모델을 특정 용도로 계속 활용할 수 있습니다.
최신 엣지 및 IoT 디바이스#
로보틱스, 드론, 소매점 진열대 분석과 같은 차세대 하드웨어 배포에는 YOLO26이 최적의 솔루션입니다. CPU 지연 시간을 크게 줄이고 소형 객체 탐지 성능을 높여 자율 주행과 세밀한 재고 관리에 특히 적합합니다.
딥러닝 도구 모음을 확장하기 위해 다른 모델과 추가로 비교해 볼 수도 있습니다. 유연한 YOLO11이나 Transformer 기반 RT-DETR과 비교해 보세요.