YOLOv10 대 YOLOv5#
프로덕션 환경에서 성공적인 컴퓨터 비전 파이프라인을 배포하려면 적절한 neural network 아키텍처를 선택하는 것이 매우 중요합니다. 이 페이지에서는 실시간 객체 detection의 발전 과정에서 큰 영향을 미친 두 모델인 YOLOv10과 YOLOv5를 심층적으로 기술 분석하고 비교합니다. 두 모델 모두 AI 커뮤니티에 큰 영향을 주었지만, 딥러닝 아키텍처 설계에서 서로 다른 시대와 철학을 나타냅니다.
이 가이드에서는 평균 정밀도 (mAP), inference latency, parameter efficiency, ecosystem support를 기준으로 이러한 아키텍처를 평가하여 배포 요구 사항에 가장 적합한 모델을 선택할 수 있도록 지원합니다.
모델 개요#
YOLOv10: 실시간 엔드투엔드 객체 감지#
Tsinghua University 연구진이 개발한 YOLOv10은 post-processing이 필요하지 않도록 하여 객체 detection에 새로운 접근 방식을 도입했습니다.
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 기관: 칭화대학교
- 날짜: 2024-05-23
- 연구 논문: arXiv:2405.14458
- 소스 코드: YOLOv10 GitHub Repository
YOLOv10의 핵심적인 혁신은 End-to-End NMS-Free Design입니다. 역사적으로 YOLO 모델은 중복된 bounding box를 필터링하기 위해 비최대 억제 (NMS)에 의존했습니다. YOLOv10은 NMS-free training을 위해 일관된 dual assignment를 활용하여 inference latency 변동성을 크게 줄이고 deployment logic을 단순화합니다. 또한 아키텍처는 다양한 구성 요소를 철저히 최적화하여 computational redundancy를 줄이는 holistic efficiency-accuracy driven design을 특징으로 합니다.
YOLOv5: 사용성을 위한 업계 표준#
Ultralytics PyTorch repository가 시작된 직후 출시된 YOLOv5는 오픈 소스 vision AI framework에 대해 개발자들이 기대하는 기준을 새롭게 정의했습니다. 현재도 전 세계에서 가장 널리 배포된 아키텍처 중 하나입니다.
- 작성자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- 소스 코드: YOLOv5 GitHub Repository
YOLOv5는 사용 편의성과 높은 수준의 잘 유지 관리되는 생태계로 잘 알려져 있습니다. PyTorch로 전부 작성된 YOLOv5는 training, validation, ONNX 및 TensorRT와 같은 형식으로의 export를 기본 지원하여 원활한 "zero-to-hero" 경험을 제공합니다. 순수 객체 detection에 주로 초점을 맞춘 YOLOv10과 달리, YOLOv5는 동일한 통합 Python API 내에서 instance segmentation과 image classification을 지원하는 뛰어난 범용성을 보여줍니다.
성능 및 지표 비교#
속도와 정확도의 관계를 시각화하면 주어진 속도 제약에서 가장 높은 정확도를 제공하는 모델을 식별하는 데 도움이 됩니다. 이러한 performance metrics를 이해하는 것은 특정 하드웨어 제약에 부합하는 모델을 선택하는 데 필수적입니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
기술 분석#
- 정확도 (mAP): YOLOv10은 정확도에서 뚜렷한 세대적 우위를 보여줍니다. 예를 들어 YOLOv10-X 모델은 54.4% mAPval을 달성하여 YOLOv5x(50.7% mAP)를 능가합니다. 이러한 도약은 주로 2024년에 도입된 NMS-free training strategy와 아키텍처 개선에 기인합니다.
- Inference Latency: YOLOv5 모델은 raw T4 TensorRT benchmark에서 매우 빠르지만(예: YOLOv5n 1.12ms), YOLOv10은 post-processing NMS 단계를 완전히 제거합니다. End-to-end practical deployment에서 YOLOv10의 NMS-free design은 더욱 일관되고 결정론적인 latency를 제공하며, 이는 autonomous vehicle 및 robotics와 같은 real-time application에 매우 중요합니다.
- Parameter Efficiency: YOLOv10 모델은 매우 경쟁력 있는 Performance Balance를 유지합니다. YOLOv10-S는 7.2M개의 parameter만으로 46.7% mAP를 달성하는 반면, YOLOv5s는 9.1M개의 parameter로 37.4% mAP를 달성합니다.
NVIDIA Jetson과 같은 edge AI device에 배포할 때 NMS logic이 없는 모델(예: YOLOv10 및 YOLO26)은 TensorRT로 더욱 원활하게 compile되는 경우가 많아 CPU로의 fallback operation을 방지할 수 있습니다.
사용 사례 및 권장 사항#
YOLOv10과 YOLOv5 중 어떤 모델을 선택할지는 구체적인 프로젝트 요구 사항, deployment constraint, ecosystem preference에 따라 달라집니다.
YOLOv10을 선택해야 하는 경우#
YOLOv10은 다음과 같은 경우에 적합합니다:
- NMS-Free 실시간 탐지: 비최대 억제 없이 엔드투엔드 탐지의 이점을 활용하여 배포 복잡성을 줄이는 애플리케이션입니다.
- 균형 잡힌 속도-정확도 절충: 다양한 모델 규모에서 추론 속도와 탐지 정확도 사이의 뛰어난 균형이 필요한 프로젝트입니다.
- 일관된 지연 시간이 필요한 애플리케이션: 로보틱스 또는 자율 시스템과 같이 예측 가능한 추론 시간이 중요한 배포 시나리오입니다.
YOLOv5를 선택해야 하는 경우#
YOLOv5는 다음과 같은 경우에 권장됩니다.
- 검증된 프로덕션 시스템: YOLOv5의 오랜 안정성 기록, 광범위한 documentation, 대규모 community support가 중요한 기존 deployment입니다.
- 리소스가 제한된 training: YOLOv5의 효율적인 training pipeline과 낮은 memory requirement가 유리한 제한된 GPU resource 환경입니다.
- 광범위한 export format support: ONNX, TensorRT, CoreML, TFLite를 비롯한 다양한 format으로 deployment해야 하는 project입니다.
Ultralytics(YOLO26)를 선택해야 하는 경우#
대부분의 신규 프로젝트에서 Ultralytics YOLO26은 성능과 개발자 경험의 최적 조합을 제공합니다.
- NMS-Free 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관되고 지연 시간이 짧은 추론이 필요한 애플리케이션입니다.
- CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 더 빠른 CPU 추론이 결정적인 이점을 제공하는 경우입니다.
- 소형 객체 탐지: 항공 드론 이미지나 IoT 센서 분석처럼 ProgLoss와 STAL이 작은 객체의 정확도를 크게 향상하는 까다로운 시나리오입니다.
Ultralytics의 강점#
YOLOv10은 뛰어난 detection capability를 제공하지만, academic repository에 의존하면 production pipeline이 복잡해질 수 있습니다. 공식 Ultralytics Python package를 사용하면 YOLOv5와 YOLOv10을 모두 지원하는 통합 ecosystem과 advanced feature에 액세스할 수 있습니다.
- Training Efficiency: Ultralytics YOLO 아키텍처는 training 중 memory requirement를 낮추도록 고도로 최적화되어 있습니다. 막대한 CUDA memory가 필요한 heavy Transformer model(예: RT-DETR)과 달리, 일반적인 consumer GPU에서도 YOLOv5와 YOLOv10을 편리하게 training할 수 있습니다.
- Ecosystem Integration: Ultralytics Platform과 통합하면 개발자가 dataset을 시각적으로 관리하고, Weights & Biases를 사용하여 experiment를 추적하며, hyperparameter를 자동으로 tuning할 수 있습니다.
코드 예제: 원활한 Training#
Ultralytics library를 사용하면 model string만 변경하여 이러한 아키텍처 간에 간단히 전환할 수 있습니다. training pipeline은 data augmentation, scaling, optimizer configuration을 자동으로 처리합니다.
from ultralytics import YOLO
# To use YOLOv5:
# model = YOLO("yolov5s.pt")
# To use YOLOv10:
model = YOLO("yolov10s.pt")
# Train the model on a custom dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Use GPU 0
)
# Export the trained model to ONNX format
path = model.export(format="onnx")차세대 모델: Ultralytics YOLO26#
오늘 새로운 machine learning project를 시작한다면 최신 **Ultralytics YOLO26**을 평가해 보는 것을 강력히 권장합니다. 2026년 1월에 출시된 YOLO26은 지난 5년간의 최고의 혁신을 결합하여 최첨단 성능을 구현합니다.
YOLO26은 YOLOv10이 개척한 End-to-End NMS-Free Design을 기본적으로 통합하여 빠르고 결정론적인 deployment를 보장합니다. 또한 YOLO26은 다음과 같은 몇 가지 중요한 혁신을 도입합니다.
- 최대 43% 더 빠른 CPU Inference: Distribution Focal Loss (DFL) module을 제거하여 YOLO26은 standard CPU에서 대폭 향상된 속도를 달성하므로, mobile deployment와 저전력 IoT sensor에 가장 적합한 선택입니다.
- MuSGD Optimizer: Moonshot AI의 Kimi K2와 같은 Large Language Model (LLM) training technique에서 영감을 받은 YOLO26은 SGD와 Muon의 hybrid를 활용합니다. 이를 통해 YOLOv10에서 사용하는 AdamW optimizer보다 훨씬 안정적인 training run과 크게 가속화된 convergence를 보장합니다.
- ProgLoss + STAL: 이러한 advanced loss function은 small-object recognition을 크게 향상하며, 이는 drone imagery와 aerial security application에 매우 중요합니다.
- Task-Specific Mastery: YOLOv10이 엄격히 bounding box detector인 것과 달리, YOLO26은 모든 task에 대해 전용 아키텍처 개선을 제공하며, 여기에는 Pose를 위한 Residual Log-Likelihood Estimation (RLE)과 Oriented Bounding Boxes (OBB)를 위한 특수 angle loss가 포함됩니다.
object detection의 더 넓은 landscape를 살펴보고 있다면 이러한 아키텍처를 다른 framework와 비교하는 데에도 관심이 있을 수 있습니다. 보다 comprehensive한 benchmarking을 위해 YOLO11 vs EfficientDet 또는 RT-DETR vs YOLOv8에 대한 심층 분석을 확인해 보세요.
YOLOv5의 견고한 legacy, YOLOv10의 NMS-free innovation, YOLO26의 비할 데 없는 cutting-edge performance 중 무엇을 사용하든, Ultralytics ecosystem은 vision AI application을 빠르고 효율적으로 구현하는 데 필요한 tool을 제공합니다.