YOLOv8 YOLOv5: 실시간 객체 감지의 진화
빠르게 변화하는 컴퓨터 비전의 세계에서 YOLO (You Only Look Once)만큼 강력한 반향을 불러일으키는 이름은 드뭅니다. 개발사 Ultralytics에서 개발한 YOLOv5 YOLOv8 모두 물체 감지의 역사에서 중요한 순간을 상징합니다. 2020년 출시와 동시에 사용 편의성과 속도에 대한 업계 표준을 세운 YOLOv8 2023년에 출시되어 정확도와 아키텍처 유연성의 한계를 한층 더 확장했습니다.
이 포괄적인 비교에서는 이 두 가지 강력한 모델의 기술적 차이점, 아키텍처 진화, 성능 메트릭을 살펴봅니다. 레거시 시스템을 유지 관리하든 최첨단 AI 솔루션을 구축하든, 두 버전 간의 미묘한 차이를 이해하는 것은 정보에 입각한 배포 결정을 내리는 데 매우 중요합니다.
아키텍처 진화
YOLOv5 YOLOv8 전환은 기존의 앵커 기반 방식에서 앵커가 없는 현대적인 접근 방식으로 전환하는 디자인 철학의 중요한 변화를 의미합니다. 이러한 변화는 모델 훈련과 일반화에서 흔히 발생하는 문제를 해결합니다.
YOLOv5: 앵커 기반 표준
YOLOv5 앵커 기반 탐지 체계를 활용합니다. 즉, 모델은 특정 데이터 세트에 맞게 미리 정의된 '앵커 박스'에서 오프셋을 예측합니다. 이 접근 방식은 매우 효과적이지만, "자동 앵커"라고 알려진 프로세스인 사용자 지정 데이터 세트에 대한 최적의 앵커 치수를 계산해야 하는 경우가 많습니다.
- 백본: Focus 레이어(이전 버전) 또는 스템 레이어(이후 버전)가 있는 CSPDarknet53 백본을 사용하여 이미지를 다운샘플링합니다.
- Neck: 기능 융합을 위한 PANet(경로 집계 네트워크)을 통합합니다.
- 헤드: 분류 및 현지화 작업이 최종 출력 레이어까지 특징을 공유하는 결합된 헤드 구조입니다.
YOLOv8: 닻을 내리지 않는 혁신가
YOLOv8 앵커가 없는 감지 헤드를 도입하여 수동으로 앵커 박스를 정의할 필요가 없습니다. 이를 통해 훈련 파이프라인이 간소화되고 다양한 모양과 종횡비를 가진 물체에 대한 성능이 향상됩니다.
- C2f 모듈: YOLOv5 있는 C3 모듈을 대체합니다. C2f(두 개의 컨볼루션이 있는 교차 단계 부분 병목) 모듈은 가벼운 설치 공간을 유지하면서 경사 흐름 및 특징 추출 기능을 개선하도록 설계되었습니다.
- 디커플링 헤드: YOLOv5 달리 YOLOv8 객체성, 분류, 회귀 작업을 별개의 분기로 분리합니다. 이를 통해 각 분기가 특정 작업에 집중할 수 있으므로 정확도가 높아지고 수렴 속도가 빨라집니다.
- 손실 함수: YOLOv8 작업별 할당자 및 분포 초점 손실을 사용하여 훈련 중에 양성 및 음성 샘플을 처리하는 방법을 더욱 세분화합니다.
YOLO11: 최신 세대
YOLOv8 YOLOv5 비해 크게 개선되었지만, Ultralytics 계속해서 혁신을 거듭하고 있습니다. 최근에 출시된 YOLO11 은 훨씬 더 높은 효율성과 정확성을 제공합니다. 새로운 프로젝트의 경우, 애플리케이션이 최신 아키텍처의 발전된 기능을 활용할 수 있도록 YOLO11 살펴볼 것을 적극 권장합니다.
성능 분석
성능을 비교할 때는 정확도mAP와 추론 속도를 모두 살펴보는 것이 필수적입니다. 아래 표는 YOLOv8 비슷한 크기의 YOLOv5 비해 COCO 데이터 세트에서 지속적으로 더 높은 평균 정밀도(mAP) 를 달성하고 있으며, 추론 속도도 비슷하거나 더 나은 경우가 많다는 것을 보여 줍니다.
| 모델 | 크기 (픽셀) | 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 |
주요 내용
- 정확도 도약: YOLOv8n (Nano)은 YOLOv5n (28.0)에 비해 mAP가 크게 향상(37.3)되어 가장 작은 v8 모델이 더 큰 YOLOv5s만큼 정확합니다.
- 계산 효율성: YOLOv8 모델은 일부 변형에서 FLOP이 약간 더 높지만, 그 대신 불균형적으로 더 높은 정확도를 제공하므로 계산 투자 대비 더 나은 수익을 얻을 수 있습니다.
- 추론 속도: YOLOv5 특히 구형 하드웨어나 순수 CPU 엣지 디바이스에서 매우 빠른 속도를 유지합니다. 하지만 YOLOv8 다음과 같은 최신 GPU 및 가속기에 최적화되어 있습니다. TensorRT에 최적화되어 속도 격차가 크게 좁혀졌습니다.
Ultralytics YOLOv8: 멀티태스킹의 강자
저자 저자: 글렌 조처, 아유시 차우라시아, 징 치우
조직:Ultralytics
날짜: 2023-01-10
문서yolov8
깃허브ultralytics
YOLOv8 컴퓨터 비전을 위한 다목적 올인원 솔루션으로 설계되었습니다. 기본적으로 인스턴스 분할, 포즈 추정, 분류, 방향성 경계 상자(OBB) 감지 등 단순한 객체 감지를 넘어 다양한 작업을 지원합니다.
강점
- 최첨단 정확도: COCO 및 Roboflow 100과 같은 표준 벤치마크에서 우수한 탐지 성능을 제공합니다.
- 통합 프레임워크: 기반
ultralyticsPython 패키지를 통해 원활한 교육 환경을 보장합니다, 유효성 검사, 및 배포를 제공합니다. - 개발자 친화적: API는 매우 직관적입니다. 작업 간 전환(예: 탐지에서 세분화)을 하려면 CLI 또는 Python 코드에서 인수 하나만 변경하면 되는 경우가 많습니다.
- 훈련 효율성: '스마트' 데이터 세트 증강 및 자동 하이퍼파라미터 튜닝과 같은 기능은 데이터에서 배포된 모델까지의 경로를 간소화합니다.
약점
- 리소스 사용량: 더 큰 변형(L 및 X)은 v5 이전 버전에 비해 훈련 중에 리소스 집약적일 수 있으므로 GPU에 더 많은 VRAM이 필요합니다.
Ultralytics YOLOv5: 레거시 표준
저자: 작성자: Glenn Jocher
조직:Ultralytics
날짜: 2020-06-26
문서yolov5
깃허브yolov5
YOLOv5 AI의 접근성을 혁신적으로 개선했습니다. 활용함으로써 PyTorch를 활용하여 딥러닝 경험이 부족한 개발자도 맞춤형 객체 감지기를 훈련할 수 있게 했습니다. 수천 개의 튜토리얼, 통합 및 실제 배포가 포함된 방대한 에코시스템을 갖추고 있습니다.
강점
- 검증된 안정성: 프로덕션 환경에서 수년간 활발하게 사용되어 온 YOLOv5 가장 안정적이고 신뢰할 수 있는 비전 모델 중 하나가 되었습니다.
- 광범위한 배포 지원: 다음을 포함한 내보내기 형식에 대한 광범위한 지원 ONNX, CoreML 및 TFLite 포함한 광범위한 내보내기 형식을 지원하므로 휴대폰부터 라즈베리 파이까지 다양한 하드웨어 대상에 이상적입니다.
- 커뮤니티 생태계: 대규모 커뮤니티를 통해 거의 모든 에지 케이스나 오류에 대한 해결책을 포럼과 GitHub 이슈에서 쉽게 찾을 수 있습니다.
약점
- 정확도 상한선이 낮아졌습니다: 2020년 모델로서 정확도 메트릭은 v8과 같은 최신 아키텍처 및 YOLO11.
- 앵커 관리: 앵커 박스 계산이 필요하며, 이는 고유하거나 매우 가변적인 데이터 세트를 가진 사용자에게 마찰 지점이 될 수 있습니다.
코드 통합 및 사용 편의성
Ultralytics 모델의 특징 중 하나는 공유되고 간소화된 API입니다. 정확성을 위해 YOLOv8 선택하든, 레거시 지원을 위해 YOLOv5 선택하든 관계없이 ultralytics 패키지는 워크플로를 통합합니다. 따라서 진입 장벽이 크게 낮아지고 쉽게 실험할 수 있습니다.
단 몇 줄의 Python 코드로 학습, 검증, 예측을 수행할 수 있습니다.
from ultralytics import YOLO
# Load a YOLOv8 model (recommended for new projects)
model_v8 = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results_v8 = model_v8.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
model_v8.predict("https://ultralytics.com/images/bus.jpg", save=True)
# Load a YOLOv5 model (automatically handled by the same package)
model_v5 = YOLO("yolov5su.pt") # 'u' suffix indicates updated v5 model structure
# The same API works for training and inference
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
통합된 에코시스템의 이점
통합된 Ultralytics 에코시스템을 사용하면 코드 없이도 모델 학습 및 시각화를 위한 Ultralytics HUB와 같은 강력한 도구에 액세스할 수 있습니다. 이 플랫폼은 데이터 세트 관리와 협업을 간소화하여 팀이 인프라 관리 대신 문제 해결에 집중할 수 있게 해줍니다.
사용 사례 권장 사항
특정 프로젝트 요구 사항, 하드웨어 제약 조건, 개발 목표에 따라 YOLOv8 YOLOv5 중 어떤 것을 선택할지 결정해야 합니다.
YOLOv8 선택해야 할 때
- 새 프로젝트: 처음부터 시작하는 경우, YOLOv8 (또는 최신 버전인 YOLO11)이 확실한 승자입니다. 뛰어난 정확도로 애플리케이션의 경쟁력과 견고함을 보장합니다.
- 복잡한 작업: 포즈 추정이나 세분화가 필요한 애플리케이션의 경우, YOLOv8 기본 멀티태스크 지원은 필수입니다.
- 고정밀 요구 사항: 의료 영상이나 결함 감지와 같은 분야에서 YOLOv8 개선된 mAP 오탐을 크게 줄일 수 있습니다.
YOLOv5 선택해야 하는 경우
- 레거시 유지 관리: YOLOv5 중심으로 구축된 기존 프로덕션 파이프라인이 잘 작동하고 있는 경우 마이그레이션이 즉시 필요하지 않을 수 있습니다.
- 극한의 에지 제약: 밀리초 단위의 지연 시간이 중요하고 정확도는 부차적인 문제인 초저전력 디바이스의 경우, 특정 구형 CPU에서 더 가벼운 YOLOv5 나노 변형이 여전히 원시 처리량에서 약간의 우위를 점할 수 있습니다.
- 튜토리얼 호환성: 원래 YOLOv5 저장소 구조에 크게 의존하는 특정 레거시 튜토리얼 또는 강좌를 따르는 경우.
결론
YOLOv5 YOLOv8 모두 AI의 접근성, 속도, 정확성을 높이기 위한 Ultralytics 노력을 잘 보여줍니다. YOLOv5 는 물체 감지를 대중화하여 대규모 커뮤니티를 구축하고 사용성의 표준을 정립했습니다. YOLOv8 은 이러한 기반을 바탕으로 최첨단 성능과 다양한 기능을 제공하는 아키텍처 혁신을 도입했습니다.
대다수의 사용자에게 적합합니다, YOLOv8-또는 더 고급스러운 YOLO11-을 추천합니다. 전체 머신 러닝 라이프사이클을 간소화하는 최신의 풍부한 기능의 소프트웨어 에코시스템으로 뒷받침되는 속도와 정확성의 최상의 균형을 제공합니다.
더 자세히 알아보려면 배포에 대한 자세한 지침이 담긴 가이드를 확인하거나, 비전 AI의 미래를 위해 기여하는 Ultralytics GitHub를 방문하세요.