Link to this sectionYOLOv8 대 YOLOv5#
적절한 컴퓨터 비전 아키텍처를 선택하는 것은 강력한 머신러닝 파이프라인을 구축하는 데 있어 매우 중요한 단계입니다. 이 상세한 기술 비교에서는 비전 AI 생태계에서 가장 인기 있는 두 모델인 YOLOv8과 YOLOv5의 차이점을 살펴봅니다. 두 모델 모두 Ultralytics에서 개발하였으며, 실시간 객체 탐지 분야의 지형을 크게 변화시켰고 속도, 정확도 및 사용 편의성 측면에서 업계 표준을 정립했습니다.
엣지 디바이스에 배포하든 클라우드 추론을 확장하든, 이러한 모델의 아키텍처 변화, 성능 지표 및 학습 방법론을 이해하는 것은 컴퓨터 비전 프로젝트를 위한 정보에 입각한 결정을 내리는 데 도움이 될 것입니다.
Link to this sectionUltralytics YOLOv8: 다재다능한 표준#
2023년 초에 출시된 YOLOv8은 이전 모델들과는 차원이 다른 주요 아키텍처 변화를 보여주었습니다. 이 모델은 인스턴스 세그멘테이션, 이미지 분류, 포즈 추정을 포함하여 여러 비전 작업을 기본적으로 처리할 수 있는 통합 프레임워크로 처음부터 설계되었습니다.
- 저자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직: Ultralytics
- 날짜: 2023-01-10
- GitHub: ultralytics/ultralytics
- 문서: YOLOv8 문서
Link to this section아키텍처 및 방법론#
YOLOv8 introduced an anchor-free detection head, which simplifies the training process by eliminating the need to manually configure anchor boxes based on dataset distribution. This makes the model more robust when generalizing to custom datasets and reduces the number of box predictions, speeding up 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에서 더 큰 배치 사이즈를 사용할 수 있습니다.
Link to this section강점 및 약점#
강점:
- 단순 바운딩 박스 탐지를 넘어선 여러 작업 전반에 걸친 독보적인 범용성.
ultralytics패키지를 통한 간소화된 Python API로 학습 및 내보내기를 매우 직관적으로 수행 가능.- Higher mean Average Precision (mAP) across all size variants compared to YOLOv5.
약점:
- 디커플드 헤드와 C2f 모듈은 일부 변형 모델에서 정확히 대응하는 YOLOv5 모델보다 파라미터 수와 FLOPs가 약간 증가하는 결과를 가져옵니다.
Link to this sectionUltralytics YOLOv5: 민첩한 선구자#
2020년에 도입된 YOLOv5는 YOLO를 PyTorch 생태계로 가져와 개발자 접근성을 크게 향상시켰습니다. 이후 빠르고 안정적이며 배포가 쉬운 객체 탐지 모델의 업계 표준으로 빠르게 자리 잡았습니다.
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: ultralytics/yolov5
- 문서: YOLOv5 문서
Link to this section아키텍처 및 방법론#
YOLOv5는 앵커 기반(anchor-based) 아키텍처에 의존하며 수정된 CSPDarknet53 백본을 사용합니다. 앵커 기반 방식은 학습 전에 최적의 앵커를 정의하기 위해 데이터셋 바운딩 박스를 신중하게 클러스터링해야 하지만, 특정하고 잘 정의된 데이터셋에는 매우 효과적입니다.
YOLOv5는 낮은 파라미터 점유율을 유지하면서 효율적으로 특징을 추출하는 C3 모듈을 통합합니다. 손실 함수는 객체성 손실(Objectness loss)과 분류 및 바운딩 박스 회귀 손실을 결합하여 네트워크가 정확한 예측을 하도록 안내합니다.
Link to this section강점 및 약점#
강점:
- Extremely lightweight, making the Nano (YOLOv5n) and Small (YOLOv5s) variants highly suitable for resource-constrained edge AI deployments.
- 특히 CPU에서 매우 빠른 추론 속도를 제공합니다.
- 방대한 커뮤니티 튜토리얼과 타사 통합이 포함된 깊이 있는 생태계 구축.
약점:
- 앵커 박스 구성이 필요하여 매우 다양하거나 커스텀 데이터셋의 경우 설정이 복잡해질 수 있음.
- YOLOv8이나 YOLO26 같은 현대적인 앵커 프리 아키텍처에 비해 전반적인 정확도(mAP)가 낮음.
Link to this section성능 비교#
이 모델들을 평가할 때 속도와 정확도 사이의 유리한 균형을 달성하는 것이 무엇보다 중요합니다. 아래 표는 COCO 데이터셋에서 평가된 두 아키텍처의 성능 지표를 요약한 것입니다. 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에서 대폭 향상된 성능을 보여주며 까다로운 실제 배포 시나리오에 훨씬 더 강력한 성능 균형을 제공합니다.
Link to this section사용 편의성과 Ultralytics 생태계#
현대적인 Ultralytics 모델의 결정적인 특징은 이를 둘러싼 잘 관리된 생태계입니다. YOLOv5에서 YOLOv8로의 전환은 통합된 ultralytics pip 패키지의 도입을 가져왔으며, 매우 간소화된 사용자 경험을 제공합니다.
개발자는 몇 줄의 Python 코드만으로 모델 학습, 검증, 예측 및 내보내기를 원활하게 처리할 수 있으며, 과거 딥러닝 프로젝트에서 필요했던 복잡한 보일러플레이트 스크립트를 거치지 않아도 됩니다.
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과 같은 도구와의 통합으로 데이터셋 관리, 클라우드 학습 및 배포가 단순화되어 활발한 개발과 강력한 커뮤니티 지원을 보장합니다.
Link to this section이상적인 사용 사례#
YOLOv5를 선택해야 할 때: 레거시 시스템을 유지 관리하거나 Raspberry Pi와 같이 제약이 심한 CPU에서 추론을 실행해야 하거나, 모델 크기를 1MB라도 줄이는 것이 중요한 프로젝트를 진행 중이라면 YOLOv5는 여전히 신뢰할 수 있는 도구입니다.
YOLOv8을 선택해야 할 때: 오늘 시작하는 거의 모든 신규 프로젝트의 경우 YOLOv5보다 YOLOv8을 적극 권장합니다. 고급 아키텍처는 복잡한 추적, 지향성 바운딩 박스(OBB) 및 세그멘테이션을 쉽게 처리합니다. 자율 로봇 공학부터 의료 영상 분석, 스마트 시티 인프라에 이르는 현대적인 애플리케이션에 이상적입니다.
YOLOv8도 매우 뛰어나지만, 최고의 성능을 원하는 개발자는 **YOLO26**을 고려해야 합니다. 2026년에 출시된 이 모델은 몇 가지 획기적인 발전을 도입했습니다:
- 엔드 투 엔드 NMS 프리 디자인: YOLOv10에서 처음 개척된 개념으로, 더 빠르고 단순한 배포를 위해 NMS 후처리를 제거했습니다.
- MuSGD 옵티마이저: SGD와 Muon의 하이브리드 방식으로, LLM 학습 혁신을 컴퓨터 비전에 도입하여 더욱 안정적인 학습과 빠른 수렴을 가능하게 합니다.
- 최대 43% 더 빠른 CPU 추론: 전용 GPU가 없는 엣지 컴퓨팅 환경에 맞게 대폭 최적화되었습니다.
- DFL 제거: 간편한 내보내기와 향상된 엣지 디바이스 호환성을 위해 Distribution Focal Loss가 제거되었습니다.
- ProgLoss + STAL: 항공 이미지 및 IoT에 필수적인 소형 객체 인식의 현저한 개선을 이끄는 고급 손실 함수입니다.
Ultralytics가 제공하는 포괄적인 문서와 도구를 활용하면 YOLOv8을 쉽게 배포하거나 최첨단 YOLO26을 탐색하여 전례 없는 속도와 정확도로 복잡한 시각적 문제를 해결할 수 있습니다. 추가 학습을 원하시면 하이퍼파라미터 튜닝 및 모델 배포 관행에 대한 가이드를 확인해 보세요.