YOLOv8 대 YOLOv5#
올바른 컴퓨터 비전 아키텍처를 선택하는 것은 강력한 머신 러닝 파이프라인을 구축하는 데 있어 중요한 단계입니다. 이 상세한 기술적 비교에서는 비전 AI 생태계에서 가장 인기 있는 두 모델인 YOLOv8과 YOLOv5의 차이점을 살펴봅니다. 두 모델 모두 Ultralytics에 의해 개발되었으며 실시간 object detection 분야의 지형을 크게 형성하여 속도, 정확도, 사용 편의성 측면에서 업계 표준을 세웠습니다.
엣지 디바이스에 배포하든 클라우드 인퍼런스를 확장하든, 이 모델들의 아키텍처 변화, 성능 지표, 학습 방법론을 이해하면 computer vision 프로젝트를 위한 현명한 결정을 내리는 데 도움이 됩니다.
Ultralytics YOLOv8: 다재다능한 표준#
2023년 초에 출시된 YOLOv8은 이전 버전에서 벗어난 주요 아키텍처적 전환을 나타냅니다. 이 모델은 instance segmentation, 이미지 분류, pose estimation을 포함한 여러 비전 태스크를 네이티브로 처리할 수 있는 통합 프레임워크로 처음부터 설계되었습니다.
- 저자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직: Ultralytics
- 날짜: 2023-01-10
- GitHub: ultralytics/ultralytics
- Docs: YOLOv8 Documentation
아키텍처 및 방법론#
YOLOv8은 anchor-free 디텍션 헤드를 도입하여, 데이터셋 분포에 따라 앵커 박스를 수동으로 설정할 필요성을 없앰으로써 학습 과정을 단순화합니다. 이를 통해 모델이 커스텀 데이터셋에 일반화할 때 더 견고해지고 박스 예측 수가 줄어들어 Non-Maximum Suppression (NMS) 속도가 빨라집니다.
아키텍처는 YOLOv5의 C3 모듈을 대체하는 C2f 모듈(두 개의 컨볼루션을 포함한 교차 단계 부분 병목 현상, Cross-Stage Partial bottleneck)을 특징으로 합니다. C2f 모듈은 그래디언트 흐름을 개선하고 계산 비용을 크게 늘리지 않으면서도 더 풍부한 특징 표현을 학습할 수 있게 합니다. 또한 YOLOv8은 객체성, 분류 및 회귀 작업을 분리하는 디커플드 헤드(decoupled head) 구조를 사용하여 수렴 속도와 정확도를 향상시킵니다.
YOLOv8을 포함한 Ultralytics YOLO 모델은 RT-DETR과 같은 많은 Transformer 기반 대안에 비해 학습 중 낮은 CUDA 메모리 사용량에 최적화되어 있습니다. 이를 통해 개발자는 NVIDIA RTX 시리즈와 같은 표준 컨슈머 GPU에서 더 큰 배치 사이즈를 사용할 수 있습니다.
강점 및 약점#
강점:
- 단순 바운딩 박스 탐지를 넘어선 여러 작업 전반에 걸친 독보적인 범용성.
ultralytics패키지를 통한 간소화된 Python API로 학습과 내보내기가 매우 직관적입니다.- YOLOv5에 비해 모든 크기 변형에서 더 높은 mean Average Precision (mAP)을 제공합니다.
약점:
- 디커플드 헤드와 C2f 모듈은 일부 변형 모델에서 정확히 대응하는 YOLOv5 모델보다 파라미터 수와 FLOPs가 약간 증가하는 결과를 가져옵니다.
Ultralytics YOLOv5: 민첩한 선구자#
2020년에 도입된 YOLOv5는 PyTorch 생태계에 YOLO를 도입하여 개발자 접근성을 크게 향상시켰습니다. 빠르고 신뢰할 수 있으며 쉽게 배포할 수 있는 object detection 모델의 업계 표준이 되었습니다.
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: ultralytics/yolov5
- Docs: YOLOv5 Documentation
아키텍처 및 방법론#
YOLOv5는 앵커 기반(anchor-based) 아키텍처에 의존하며 수정된 CSPDarknet53 백본을 사용합니다. 앵커 기반 방식은 학습 전에 최적의 앵커를 정의하기 위해 데이터셋 바운딩 박스를 신중하게 클러스터링해야 하지만, 특정하고 잘 정의된 데이터셋에는 매우 효과적입니다.
YOLOv5는 낮은 파라미터 점유율을 유지하면서 효율적으로 특징을 추출하는 C3 모듈을 통합합니다. 손실 함수는 객체성 손실(Objectness loss)과 분류 및 바운딩 박스 회귀 손실을 결합하여 네트워크가 정확한 예측을 하도록 안내합니다.
강점 및 약점#
강점:
- 매우 경량화되어 Nano (YOLOv5n) 및 Small (YOLOv5s) 변형이 리소스가 제한된 edge AI 배포에 매우 적합합니다.
- 특히 CPU에서 매우 빠른 추론 속도를 제공합니다.
- 방대한 커뮤니티 튜토리얼과 타사 통합이 포함된 깊이 있는 생태계 구축.
약점:
- 앵커 박스 구성이 필요하여 매우 다양하거나 커스텀 데이터셋의 경우 설정이 복잡해질 수 있음.
- YOLOv8이나 YOLO26 같은 현대적인 앵커 프리 아키텍처에 비해 전반적인 정확도(mAP)가 낮음.
성능 비교#
이 모델들을 평가할 때 속도와 정확도 사이의 유리한 절충안을 달성하는 것이 가장 중요합니다. 아래 표는 COCO dataset에서 평가된 두 아키텍처의 성능 지표를 보여줍니다. CPU 속도는 ONNX를 사용하여 측정되었으며, GPU 속도는 TensorRT를 사용하여 테스트되었습니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
YOLOv5가 Nano 모델의 파라미터 수와 절대적인 순수 속도 면에서 약간의 우위를 유지하지만, YOLOv8은 전반적으로 mAP에서 대폭 향상된 성능을 보여주며 까다로운 실제 배포 시나리오에 훨씬 더 강력한 성능 균형을 제공합니다.
사용 편의성과 Ultralytics 생태계#
현대 Ultralytics 모델의 결정적인 특징은 모델을 둘러싼 잘 관리되는 생태계입니다. YOLOv5에서 YOLOv8로의 전환은 통합 ultralytics pip 패키지의 도입으로 이어져 매우 간소화된 사용자 경험을 창출했습니다.
개발자는 몇 줄의 Python 코드로 model training, 검증, 예측 및 내보내기를 원활하게 처리할 수 있으며, 딥러닝 프로젝트에서 역사적으로 요구되었던 복잡한 상용구 스크립트를 우회할 수 있습니다.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on custom data efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Export the model to ONNX for production deployment
path = model.export(format="onnx")또한 Ultralytics Platform과 같은 도구와의 통합은 데이터셋 관리, 클라우드 학습, 배포를 단순화하여 활발한 개발과 강력한 커뮤니티 지원을 보장합니다.
이상적인 사용 사례#
YOLOv5를 선택해야 하는 경우: 레거시 시스템을 유지 관리하거나, Raspberry Pi와 같이 성능이 엄격하게 제한된 CPU에서 인퍼런스를 실행하거나, 모델 크기의 1메가바이트 미만까지 아끼는 것이 중요한 프로젝트에서 작업하는 경우 YOLOv5는 여전히 신뢰할 수 있는 주력 모델입니다.
YOLOv8을 선택해야 하는 경우: 오늘 시작하는 거의 모든 신규 프로젝트의 경우, YOLOv5보다 YOLOv8이 강력히 권장됩니다. 고급 아키텍처는 복잡한 트래킹, oriented bounding boxes (OBB), 세그멘테이션을 손쉽게 처리합니다. 자율 로보틱스부터 의료 이미지 분석 및 스마트 시티 인프라에 이르는 현대적 애플리케이션에 이상적입니다.
YOLOv8도 엄청난 능력을 갖추고 있지만 성능의 절대적인 최전선을 추구하는 개발자는 **YOLO26**을 고려해야 합니다. 2026년에 출시된 이 모델은 몇 가지 혁신적인 발전 사항을 도입했습니다:
- 엔드 투 엔드 NMS 프리 디자인: YOLOv10에서 처음 개척된 개념으로, 더 빠르고 단순한 배포를 위해 NMS 후처리를 제거했습니다.
- MuSGD 옵티마이저: SGD와 Muon의 하이브리드 방식으로, LLM 학습 혁신을 컴퓨터 비전에 도입하여 더욱 안정적인 학습과 빠른 수렴을 가능하게 합니다.
- 최대 43% 더 빠른 CPU 추론: 전용 GPU가 없는 엣지 컴퓨팅 환경에 맞게 대폭 최적화되었습니다.
- DFL 제거: 간편한 내보내기와 향상된 엣지 디바이스 호환성을 위해 Distribution Focal Loss가 제거되었습니다.
- ProgLoss + STAL: 항공 이미지 및 IoT에 필수적인 소형 객체 인식의 현저한 개선을 이끄는 고급 손실 함수입니다.
Ultralytics가 제공하는 포괄적인 문서와 도구를 활용하여 YOLOv8을 쉽게 배포하거나 최첨단 YOLO26을 탐색하여 전례 없는 속도와 정확도로 복잡한 시각적 과제를 해결할 수 있습니다. 추가 학습을 위해 hyperparameter tuning 및 model deployment practices에 대한 가이드를 살펴보시기 바랍니다.