YOLOv5와 YOLOv10#
실시간 컴퓨터 비전 분야는 지난 몇 년 동안 폭발적으로 성장했으며, 다양한 아키텍처가 최신 하드웨어에서 가능한 성능의 한계를 확장해 왔습니다. 최첨단 아키텍처를 평가할 때 YOLOv5와 YOLOv10의 비교는 객체 검출 분야에서 중요한 진화 단계를 보여줍니다. 이 기술 심층 분석에서는 두 모델의 아키텍처 패러다임과 성능상의 절충점, 그리고 개발자가 프로덕션 환경에서 이러한 도구를 활용하는 방법을 살펴봅니다.
아키텍처 심층 분석#
이러한 모델 간의 구조적 차이를 이해하는 것은 실제 환경에 효율적으로 배포하는 데 매우 중요합니다.
Ultralytics YOLOv5: 업계 표준#
Ultralytics가 출시한 YOLOv5는 속도, 정확도, 접근성의 탁월한 균형으로 오랫동안 인정받아 왔습니다.
- 작성자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: YOLOv5 리포지토리
- 문서: YOLOv5 문서
YOLOv5는 고도로 최적화된 CSPDarknet 백본과 결합된 anchor 기반 검출 메커니즘을 사용합니다. 이 아키텍처는 거의 모든 추론 엔진에서 지원되는 표준 연산에 크게 의존하므로 매우 다재다능합니다. YOLOv5의 주요 강점은 간소화된 사용자 경험, 단순한 API, 광범위한 문서를 제공하는 Ultralytics Python SDK에 있습니다. 또한 YOLOv5는 Transformer 기반 모델보다 메모리 요구 사항이 낮기 때문에 높은 VRAM 오버헤드 없이 소비자용 GPU에서 빠르게 학습할 수 있습니다.
YOLOv10: 패러다임의 발전#
칭화대학교 연구진이 개발한 YOLOv10은 이전 아키텍처에서 발견된 특정 지연 시간 병목을 해결하는 것을 목표로 했습니다.
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 기관: 칭화대학교
- 날짜: 2024-05-23
- ArXiv: 2405.14458
- GitHub: YOLOv10 리포지토리
- 문서: YOLOv10 Docs
YOLOv10의 핵심 특징은 기본적으로 NMS가 필요 없는 설계입니다. 학습 중 일관된 이중 할당을 사용하여 추론 과정에서 NMS 후처리가 필요하지 않도록 합니다. 이러한 이론적 지연 시간 감소는 강력한 NVIDIA TensorRT 가속을 사용하는 고성능 하드웨어 기반 배포에 큰 이점이 되지만, 엣지 디바이스에서는 구조적 복잡성을 초래할 수 있습니다.
YOLOv10은 흥미로운 아키텍처 혁신을 제공하지만, YOLOv5 및 최신 YOLO26과 같은 Ultralytics 모델은 Ultralytics Platform에서 기본적으로 지원되므로, 기본 제공 방식으로 더 뛰어난 학습 효율성, 자동 하이퍼파라미터 진화, 광범위한 export 옵션을 제공합니다.
성능 분석#
이러한 모델을 비교할 때는 정확도(mAP)와 계산 비용(지연 시간 및 파라미터) 간의 균형에 따라 최적의 사용 사례가 결정됩니다. 아래는 COCO dataset에서의 기술적 성능 비교입니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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은 현대화된 효율성-정확도 중심의 모델 설계를 활용하여 동일한 크기 구간에서 더 높은 mAP50-95을 분명하게 달성합니다. 그러나 YOLOv5는 특히 Nano 및 Small 등급에서 매우 경쟁력 있는 지연 시간을 유지하므로, NVIDIA Jetson 제품군과 같은 제약이 있는 임베디드 환경이나 OpenVINO를 통한 일반 CPU에서 매우 안정적으로 사용할 수 있습니다.
학습 방법론과 생태계#
모델의 가치는 모델을 둘러싼 생태계와 밀접하게 연관되어 있습니다. Ultralytics는 매우 다양한 작업을 지원하는 탁월하게 관리되는 생태계를 유지하고 있습니다. YOLOv10은 2D object detection에만 집중하는 반면, Ultralytics는 기본적으로 instance segmentation, image classification, pose estimation, oriented bounding boxes (OBB)를 지원합니다.
또한 Ultralytics 모델을 학습하는 데 필요한 메모리 오버헤드는 경쟁 Transformer 기반 방법보다 훨씬 낮아 개발 주기를 빠르고 비용 효율적으로 유지할 수 있습니다.
원활한 코드 실행#
모델 학습, 검증, export가 단일 API 아래에서 통합됩니다. 문자열 하나만 변경하면 모델 간에 전환할 수 있습니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for baseline testing
model_v5 = YOLO("yolov5s.pt")
# Load a YOLOv10 model for comparison
model_v10 = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset efficiently
results = model_v5.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # Automatically utilizes PyTorch CUDA acceleration
batch=16,
)
# Export to ONNX for CPU inference deployment
model_v5.export(format="onnx", simplify=True)사용 사례 및 권장 사항#
YOLOv5와 YOLOv10 중 무엇을 선택할지는 구체적인 프로젝트 요구 사항, 배포 제약 조건, 생태계 선호도에 따라 달라집니다.
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입니다.
YOLOv10을 선택해야 하는 경우#
YOLOv10은 다음과 같은 경우에 권장됩니다:
- NMS-Free 실시간 탐지: 비최대 억제 없이 엔드투엔드 탐지의 이점을 활용하여 배포 복잡성을 줄이는 애플리케이션입니다.
- 균형 잡힌 속도-정확도 절충: 다양한 모델 규모에서 추론 속도와 탐지 정확도 사이의 뛰어난 균형이 필요한 프로젝트입니다.
- 일관된 지연 시간이 필요한 애플리케이션: 로보틱스 또는 자율 시스템과 같이 예측 가능한 추론 시간이 중요한 배포 시나리오입니다.
Ultralytics(YOLO26)를 선택해야 하는 경우#
대부분의 신규 프로젝트에서 Ultralytics YOLO26은 성능과 개발자 경험의 최적 조합을 제공합니다.
- NMS-Free 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관되고 지연 시간이 짧은 추론이 필요한 애플리케이션입니다.
- CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 더 빠른 CPU 추론이 결정적인 이점을 제공하는 경우입니다.
- 소형 객체 탐지: 항공 드론 이미지나 IoT 센서 분석처럼 ProgLoss와 STAL이 작은 객체의 정확도를 크게 향상하는 까다로운 시나리오입니다.
미래: Ultralytics YOLO26#
YOLOv5가 접근성을 혁신하고 YOLOv10이 NMS가 필요 없는 아키텍처의 한계를 확장했지만, 최첨단 기술은 계속 발전하고 있습니다. 새로운 프로젝트에는 2026년 1월에 출시된 최첨단 Ultralytics YOLO26을 적극 권장합니다.
YOLO26은 Ultralytics 생태계의 안정성과 획기적인 발전을 결합합니다.
- End-to-End NMS-Free Design: NMS가 필요 없는 패러다임을 Ultralytics 프레임워크에 직접 통합하여 YOLO26은 배포를 간소화하고 더 낮은 지연 시간을 보장합니다.
- Up to 43% Faster CPU Inference: 분포 초점 손실(DFL)을 제거하여 YOLO26은 GPU가 없는 엣지 디바이스에서 놀라울 정도로 더 빠르게 작동합니다.
- MuSGD Optimizer: Moonshot AI의 LLM 학습 혁신에서 영감을 받은 MuSGD optimizer는 전례 없는 안정성과 빠른 수렴을 제공합니다.
- ProgLoss + STAL: 이러한 새로운 loss function은 소형 객체 인식 성능을 크게 향상하며, 드론 영상 및 로보틱스와 같은 분야에 필수적입니다.
Ultralytics Platform을 통해 YOLO26을 직접 관리하고, 학습하고, 배포할 수 있습니다.
결론#
YOLOv5와 YOLOv10 중 무엇을 선택할지는 대개 구체적인 프로젝트 제약 조건에 따라 결정됩니다. YOLOv10은 연구자와 GPU의 순수 처리량을 활용하는 애플리케이션에 뛰어난 mAP를 제공합니다. 반면 YOLOv5는 표준 배포 환경에서 높은 호환성을 갖춘 안정적인 범용 모델로 남아 있습니다.
그러나 컴퓨터 비전 분야는 역동적으로 변화하고 있습니다. 최고의 성능 균형, 다재다능함, 사용 편의성을 활용하려면 개발자는 Ultralytics YOLO26을 주목해야 합니다. YOLO26은 NMS가 필요 없는 추론의 속도와 견고하고 문서화가 잘된 Ultralytics 생태계를 결합하여 비전 AI 솔루션의 미래 경쟁력을 보장합니다. 특수한 사용 사례의 경우 개발자는 범용적인 견고성을 위해 YOLO11을, Transformer 기반 정밀도를 위해 RT-DETR을 검토할 수도 있습니다.