콘텐츠로 건너뛰기

YOLOv5 YOLOv8: 실시간 객체 감지의 진화

물체 인식의 진화는 YOLO (You Only Look Once) 모델 제품군에 의해 크게 형성되었습니다. 개발사 Ultralytics에서 개발한 YOLOv5 YOLOv8 모두 컴퓨터 비전 역사에서 중요한 순간을 상징합니다. YOLOv5 단순성과 속도로 인해 세계에서 가장 사랑받고 널리 사용되는 감지 아키텍처로 자리매김한 반면, YOLOv8 광범위한 비전 작업을 지원하기 위해 최첨단 아키텍처 혁신이 적용된 통합 프레임워크를 도입했습니다.

이 두 강자 중 어떤 것을 선택할지는 프로젝트의 제약 조건, 하드웨어 가용성, 멀티태스크 기능의 필요성에 따라 달라집니다. 이 가이드는 컴퓨터 비전 엔지니어와 연구자가 올바른 결정을 내리는 데 도움이 되는 심층적인 기술 분석을 제공합니다.

YOLOv5: 입증된 업계 표준

저자: 작성자: Glenn Jocher
조직:Ultralytics
날짜: 2020-06-26
깃허브yolov5
문서yolov5

2020년 중반에 출시된 YOLOv5 물체 감지의 접근성을 혁신적으로 개선했습니다. 이 모델은 네이티브로 구현된 최초의 YOLO 모델입니다. PyTorch에서 기본적으로 구현된 최초의 YOLO 모델이었으며, 이전 버전에서 사용하던 다크넷 프레임워크에서 벗어났습니다. 이러한 변화 덕분에 개발자들은 사용자 정의 데이터 세트를 훈련, 배포, 실험하기가 매우 쉬워졌습니다.

YOLOv5 CSPDarknet 백본을 활용하며 앵커 기반 탐지기입니다. 즉, 미리 정의된 앵커 박스에 의존하여 객체 위치를 예측합니다. 이 접근 방식은 고유한 데이터 세트에서 최적의 성능을 발휘하기 위해 일부 하이퍼파라미터를 조정해야 하지만 여전히 매우 효과적입니다. 이 아키텍처는 추론 속도와 낮은 메모리 용량을 강조하기 때문에 라즈베리 파이나 초기 세대의 NVIDIA Jetson과 같이 리소스가 제한된 하드웨어에 배포하는 데 적합합니다.

YOLOv5 주요 강점

  • 레거시 안정성: 프로덕션 환경에서 수년간 활발히 사용되면서 가장 안정적이고 버그가 없는 비전 모델 중 하나가 되었습니다.
  • 엣지 최적화: 특히 구형 CPU와 특정 모바일 프로세서에서는 YOLOv5 더 단순한 아키텍처가 더 빠른 추론 지연 시간을 제공할 수 있습니다.
  • 방대한 에코시스템: 튜토리얼, 타사 통합, 포럼 토론으로 구성된 방대한 커뮤니티가 문제 해결과 개발을 지원합니다.

YOLOv5에 대해 자세히 알아보세요

YOLOv8: 멀티태스킹의 강자

저자 저자: 글렌 조처, 아유시 차우라시아, 징 치우
조직:Ultralytics
날짜: 2023-01-10
GitHubultralytics
Docsyolov8

YOLOv8 단순한 객체 감지기가 아니라 이미지 분할, 포즈 추정, 분류방향성 경계 상자(OBB) 감지를 위한 포괄적인 프레임워크로 설계되어 상당한 도약을 이루었습니다.

구조적으로 YOLOv8 객체성, 분류, 회귀 작업을 분리한 디커플링 헤드가 있는 앵커 프리 설계로 전환했습니다. 또한 YOLOv5 C3 모듈을 대체하는 C2f 모듈 (2개의 컨볼루션이 있는 크로스 스테이지 부분 보틀넥)을 도입했습니다. C2f 모듈은 그라데이션 흐름과 특징 융합을 개선하여 모델이 계산 비용을 크게 늘리지 않고도 더 복잡한 패턴을 학습할 수 있게 해줍니다.

YOLOv8 주요 강점

  • 최첨단 정확도: COCO 및 사용자 정의 데이터 세트에서 YOLOv5 비해 일관되게 더 높은 mAP (평균 평균 정밀도) 점수를 달성합니다.
  • Anchor-Free Detection: 앵커 박스를 계산하거나 튜닝할 필요가 없어 학습 파이프라인을 단순화하고 특이한 종횡비의 객체에 대한 일반화 성능을 향상시킵니다.
  • 다용도성: 동일한 API를 사용하여 감지, 세분화, 포즈 추정 간에 전환할 수 있어 복잡한 프로젝트의 개발 시간을 크게 단축할 수 있습니다.

YOLOv8에 대해 자세히 알아보세요

기술 심층 분석: 아키텍처 및 성능

YOLOv5 YOLOv8 전환은 성능 향상을 주도하는 몇 가지 '내부적인' 변화로 특징지어집니다.

아키텍처 교대 근무

가장 눈에 띄는 차이점은 감지 헤드입니다. YOLOv5 분류와 로컬라이제이션이 기능을 공유하는 결합형 헤드를 사용합니다. YOLOv8 분리형 헤드를 사용하여 네트워크가 독립적으로 가중치를 조정하여 물체가 무엇이고 어디에 있는지 식별할 수 있습니다. 이는 일반적으로 더 나은 수렴과 더 높은 정확도로 이어집니다.

또한, C3에서 C2f로 백본이 진화하면서 YOLOv8 더 풍부한 그라데이션 정보를 캡처할 수 있게 되었습니다. 이로 인해 아키텍처가 약간 더 복잡해지긴 했지만, Ultralytics 훈련 효율성이 높게 유지되도록 구현을 최적화했습니다.

성능 지표

표준 COCO 데이터 세트의 모델을 비교할 때, YOLOv8 뛰어난 정확도 대 계산 비율을 보여줍니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

그림과 같이, YOLOv8n (나노)은 37.3의 mAP 달성하여 37.4를 기록한 더 큰 YOLOv5s (스몰)와 거의 일치하지만 훨씬 더 적은 FLOP을 기록합니다. 이러한 효율성은 최신 엣지 AI 애플리케이션에 매우 중요합니다.

학습 방법론 및 생태계

Ultralytics 모델의 가장 큰 특징 중 하나는 개발자 경험에 중점을 둔다는 것입니다. 두 모델 모두 포괄적인 Ultralytics 에코시스템의 이점을 활용하지만, 접근 방식은 약간 다릅니다.

사용 편의성 및 API

YOLOv8 ultralytics 통합 CLI 및 Python 인터페이스인 Python 패키지를 제공합니다. 이 패키지는 종속성을 효과적으로 관리하고 다음에 대한 일관된 API를 제공합니다. 교육, 유효성 검사예측. 흥미롭게도, 현대의 ultralytics 패키지는 YOLOv5 모델을 로드하고 실행하여 세대 간 격차를 해소할 수도 있습니다.

from ultralytics import YOLO

# Load a YOLOv8 model (Official)
model_v8 = YOLO("yolov8n.pt")

# Load a YOLOv5 model (Legacy support via Ultralytics package)
model_v5 = YOLO("yolov5nu.pt")

# Training is identical for both
results = model_v8.train(data="coco8.yaml", epochs=100)

메모리 및 효율성

다음과 같은 변압기 기반 모델과 비교 RT-DETR과 같은 트랜스포머 기반 모델에 비해 YOLOv5 YOLOv8 메모리 효율성이 매우 뛰어납니다. 트랜스포머는 종종 상당한 양의 CUDA 메모리가 필요하고 수렴을 위해 더 긴 훈련 시간이 소요됩니다. 반면, Ultralytics YOLO 모델은 일반 소비자용 GPU는 물론 CPU에서도 실행되도록 최적화되어 있어 고성능 AI에 대한 액세스를 대중화합니다.

통합 에코시스템

두 모델 모두 Ultralytics HUB와 완벽하게 호환되므로 데이터 집합 관리, 모델 시각화, 실제 기기에 대한 원클릭 배포가 원활하게 이루어집니다.

이상적인 사용 사례

올바른 모델을 선택하는 것은 모델을 배포할 특정 환경에 따라 결정되는 경우가 많습니다.

YOLOv5 선택해야 하는 경우

YOLOv5 여전히 훌륭한 선택입니다:

  • 레거시 시스템: 인프라가 이미 YOLOv5 아키텍처를 중심으로 구축된 기존 파이프라인을 업데이트합니다.
  • 특정 에지 하드웨어: 일부 구형 NPU(신경 처리 장치) 드라이버는 YOLOv5 아키텍처에 특별히 최적화된 지원을 제공합니다.
  • 초저지연: 밀리초 단위의 CPU 추론이 중요한 시나리오에서는 YOLOv5n의 더 단순한 결합 헤드가 때때로 v8n보다 원시 속도에서 이점을 제공할 수 있습니다.

YOLOv8 선택해야 하는 경우

YOLOv8 추천합니다:

  • 새로운 개발 사항: 오늘 프로젝트 시작, YOLOv8 (또는 새로운 YOLO11)은 더 나은 미래 보장형 경로를 제공합니다.
  • 복잡한 작업: 인스턴스 세분화 (예: 의료 세포 분석) 또는 키포인트 감지(예: 스포츠 분석)가 필요한 애플리케이션.
  • 높은 정확도 요구 사항: 자율 주행 차량 안전 시스템이나 보안 감시와 같이 감지 누락이 매우 중요한 시나리오.

결론

YOLOv5 YOLOv8 모두 오픈 소스 혁신에 대한 Ultralytics 노력을 보여주는 증거입니다. YOLOv5 는 안정적이고 빠르며 폭넓게 지원되는 현장의 전설로 남아 있습니다. 하지만 YOLOv8 은 개발자가 기대하는 사용 편의성은 그대로 유지하면서 더 높은 정확도와 다양한 기능을 제공하는 아키텍처 발전을 통해 이러한 기반을 더욱 개선했습니다.

대부분의 신규 프로젝트의 경우 YOLOv8 향상된 기능을 활용하거나 최신 버전인 YOLO11로 업그레이드하여 이러한 개념을 더욱 개선하여 속도와 정확성의 궁극적인 균형을 맞출 것을 권장합니다.

다른 모델 살펴보기

최신 탐지 기술에 대해 자세히 알아보고 싶다면 다음을 살펴보세요:

  • YOLO11: 최신 버전으로, YOLOv8보다 빠른 처리 속도와 향상된 특징 추출 기능을 제공합니다.
  • RT-DETR: GPU 메모리 제약이 적을 때 실시간 애플리케이션에 적합하며 높은 정확도를 제공하는 Transformer 기반 모델입니다.

댓글