YOLOX 대 YOLOv10#
실시간 컴퓨터 비전 모델의 발전은 중요한 아키텍처 도약으로 이어져 왔습니다. 이러한 발전 과정에서 두 가지 핵심 이정표는 YOLOX와 YOLOv10입니다. 2021년에 출시된 YOLOX는 매우 효과적인 앵커 프리 설계를 도입하여 학술 연구와 산업 응용 분야 사이의 격차를 성공적으로 해소했습니다. 3년 후 YOLOv10은 후처리 과정에서 비최대 억제 (NMS)의 필요성을 제거하여 효율성과 속도의 한계를 확장하면서 이 분야에 혁신을 일으켰습니다.
이 종합적인 기술 비교에서는 두 모델의 아키텍처, 성능 지표 및 이상적인 사용 사례를 살펴보고, 다음 객체 검출 프로젝트에 적합한 도구를 선택하는 데 도움이 되는 인사이트를 제공합니다.
모델 출처 및 메타데이터#
이러한 모델의 기원을 이해하면 아키텍처 선택과 의도된 배포 환경을 파악하는 데 도움이 됩니다.
YOLOX 상세 정보
- 저자: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
- 조직: Megvii
- 날짜: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- 문서: https://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs
YOLOv10 상세 정보
- 저자: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, and Guiguang Ding
- 기관: 칭화대학교
- 날짜: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Docs: https://docs.ultralytics.com/models/yolov10
아키텍처 혁신#
YOLOX와 YOLOv10의 핵심적인 차이점은 두 모델이 바운딩 박스 예측과 후처리를 처리하는 방식에 있습니다.
YOLOX: 앵커 프리 설계를 개척하다#
YOLOX는 YOLO 제품군을 앵커 프리 아키텍처로 전환하며 큰 반향을 일으켰습니다. 사전 정의된 앵커 박스에 의존하는 대신 객체의 중심을 예측함으로써, YOLOX는 커스텀 데이터셋에 필요한 설계 매개변수와 휴리스틱 튜닝의 수를 크게 줄였습니다. 또한 분류와 회귀 작업을 별도의 경로로 분리하는 분리형 헤드를 도입했습니다. 이 접근 방식은 객체가 무엇인지 식별하는 것과 객체가 어디에 있는지 판단하는 것 사이의 충돌을 해결하여 수렴 속도와 정밀도를 눈에 띄게 향상했습니다.
YOLOv10: NMS 프리 혁명#
YOLOX는 검출 헤드를 단순화했지만, 중복된 바운딩 박스 예측을 필터링하기 위해 여전히 NMS에 의존했습니다. YOLOv10은 이러한 근본적인 병목 현상을 해결했습니다. 학습 중 일관된 이중 할당을 활용하여 YOLOv10은 네이티브 종단 간 검출을 달성합니다. 학습 중에는 풍부한 감독 신호를 보장하기 위해 일대다 헤드를 사용하고, 추론 중에는 일대일 헤드를 사용하여 최종 예측을 직접 출력합니다. 이러한 종합적인 효율성 및 정확도 중심 설계는 NMS를 완전히 제거하여 임베디드 칩에서의 추론 지연 시간을 크게 줄입니다.
비최대 억제는 신경망 처리 장치 (NPUs)에서 가속하기 어려운 복잡한 연산인 경우가 많습니다. 이를 제거하면 YOLOv10은 전체 모델 그래프를 특수 하드웨어에서 원활하게 실행할 수 있어 OpenVINO 및 TensorRT와 같은 최적화 프레임워크와의 호환성이 크게 향상됩니다.
성능 지표 및 비교#
프로덕션용 모델을 평가할 때는 정확도와 계산 오버헤드 사이의 균형을 맞추는 것이 중요합니다. 아래 표는 다양한 규모의 YOLOX와 YOLOv10 간 트레이드오프를 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
데이터 분석#
지표는 YOLOv10이 세대에 걸쳐 크게 도약했음을 명확하게 보여줍니다. 예를 들어 YOLOv10-S는 YOLOX-m의 46.9%와 비교하여 평균 정밀도 46.7%를 달성하지만, 파라미터 수는 3분의 1 미만(7.2M 대 25.3M)이고 FLOPs도 훨씬 적습니다. 또한 최상위 모델인 YOLOv10-X는 mAP를 54.4%까지 높여 까다로운 정확도 작업에 매우 경쟁력 있는 성능을 제공하면서도 기존 YOLOX-x 아키텍처보다 빠릅니다.
Ultralytics 생태계의 이점#
YOLOX는 여전히 강력한 오픈 소스 연구 구현체이지만, YOLOv10을 도입하면 Ultralytics가 제공하는 체계적으로 유지 관리되는 생태계에 즉시 액세스할 수 있습니다. Ultralytics가 지원하는 모델을 선택하면 간단한 API와 광범위한 문서를 갖춘 간소화된 사용자 경험을 이용할 수 있습니다.
개발자는 프레임워크의 메모리 요구 사항으로부터 큰 이점을 얻습니다. 일반적으로 Ultralytics 모델을 학습하는 데는 RT-DETR과 같은 대규모 Transformer 기반 대안보다 훨씬 적은 CUDA 메모리가 사용됩니다. 이러한 효율적인 학습 메모리 사용량 덕분에 소비자용 하드웨어에서 더 큰 배치 크기를 사용할 수 있으며, 데이터 수집부터 모델 배포까지 걸리는 시간이 단축됩니다. 또한 이 프레임워크는 뛰어난 범용성을 제공하여 사용자가 최소한의 코드 변경만으로 객체 검출, 인스턴스 세그멘테이션, 포즈 추정 사이를 원활하게 전환할 수 있습니다.
학습 및 추론 예제#
통합 API를 사용하면 아이디어를 매우 빠르게 검증할 수 있습니다. 다음 스니펫은 PyTorch 백엔드를 사용하여 YOLOv10 모델을 얼마나 쉽게 학습하고 배포할 수 있는지 보여줍니다:
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export the model for edge deployment
model.export(format="engine", quantize=16)내장된 export 루틴을 활용하면 모델을 TensorRT 또는 ONNX와 같은 형식으로 변환하는 데 코드 한 줄만 필요하므로 복잡한 컴파일 문제를 완전히 우회할 수 있습니다.
이상적인 사용 사례 및 배포 시나리오#
이러한 아키텍처 중에서 선택하는 것은 주로 하드웨어 제약과 특정 도메인 요구 사항에 따라 달라집니다.
실시간 비디오 분석#
자율 주행이나 실시간 교통 모니터링처럼 매우 짧은 지연 시간이 필요한 애플리케이션에는 YOLOv10이 더 적합합니다. 종단 간 NMS 프리 설계는 결정론적인 실행 시간을 보장하며, 이는 후처리 지연 시간의 변동을 허용할 수 없는 안전 시스템에 매우 중요합니다. NVIDIA Jetson 시리즈와 같은 디바이스에서 모델이 손쉽게 높은 프레임 속도를 달성합니다.
학술적 기준선 및 엣지 마이크로컨트롤러#
YOLOX는 레이블 할당 전략을 실험하기 위한 깔끔한 분리형 헤드 기준선을 원하는 연구자에게 학술 환경에서 여전히 가치가 있습니다. 또한 매우 작은 YOLOX-Nano(파라미터 100만 개 미만)는 하드웨어가 표준 합성곱 연산을 지원한다는 전제하에, 메모리가 킬로바이트 단위로 제한되는 초제약 엣지 마이크로컨트롤러에도 탑재할 수 있습니다.
최고의 표준: Ultralytics YOLO26#
YOLOv10은 NMS를 제거하여 크게 도약했지만 컴퓨터 비전 분야는 빠르게 발전하고 있습니다. 현재 최고 수준의 성능을 구현하려는 개발자에게는 YOLO26을 살펴보는 것을 적극 권장합니다.
비전 AI의 최신 표준으로 출시된 YOLO26은 이전 모델의 기반 아이디어를 계승하고 한층 강화했습니다. 검출, 세그멘테이션, 포즈 및 방향성 바운딩 박스를 네이티브로 지원하여 최고의 성능 균형을 제공합니다.
YOLO26이 최신 컴퓨터 비전 파이프라인에 권장되는 이유는 다음과 같습니다:
- 종단 간 NMS 프리 설계: YOLOv10의 획기적인 발전을 기반으로 하는 YOLO26은 네이티브 종단 간 방식으로 동작하여 후처리 병목 없이 더 빠르고 결정론적인 추론 시간을 보장합니다.
- 최대 43% 더 빠른 CPU 추론: 엣지 컴퓨팅에 특화되어 최적화되었으며, 개별 GPU가 없는 모바일 프로세서와 디바이스에서 뛰어난 성능을 보장합니다.
- MuSGD Optimizer: 대규모 언어 모델 학습(특히 Moonshot AI의 Kimi K2)에서 영감을 받은 YOLO26은 SGD와 Muon의 하이브리드 방식을 활용하여 매우 안정적인 학습과 빠른 수렴을 달성합니다.
- ProgLoss + STAL: 이러한 고급 손실 함수는 항공 이미지 및 드론 내비게이션과 같은 까다로운 도메인에 중요한 소형 객체 인식 성능을 크게 향상합니다.
- DFL 제거: Distribution Focal Loss를 제거하여 YOLO26은 모델 그래프를 단순화하고 엣지 및 저전력 디바이스로 원활하게 export할 수 있습니다.
- 작업별 개선: 포즈 추정에 Residual Log-Likelihood Estimation (RLE)을 사용하거나 OBB에 특화된 각도 손실을 사용하는 등, YOLO26은 모든 주요 비전 작업에 맞게 미세 조정되었습니다.
가장 효율적인 학습 및 배포 도구로 파이프라인을 업그레이드할 준비가 된 개발자라면 Ultralytics Platform으로 전환하고 YOLO26을 활용하여 인공지능의 최첨단을 유지할 수 있습니다. 오래되었지만 안정적인 아키텍처에 관심이 있는 사용자는 광범위한 커뮤니티 지원과 검증된 견고성을 제공하는 YOLO11 또는 YOLOv8도 검토할 수 있습니다.