YOLOv5 YOLOv8: Ultralytics 탐지의 진화
컴퓨터 비전 분야는 YOLO You Only Look Once) 객체 탐지기 계열의 지속적인 혁신에 힘입어 급속히 발전해 왔습니다. 이 계보에서 가장 영향력 있는 두 버전은 YOLOv5 와 YOLOv8입니다. 둘 다 Ultralytics 개발했습니다. YOLOv5 2020년 출시 당시 사용 편의성과 유연성 측면에서 업계 표준을 YOLOv5 , YOLOv8 2023년 출시) YOLOv8 최첨단 성능을 재정의하는 아키텍처적 혁신을 도입했습니다.
이 가이드는 개발자, 연구원 및 엔지니어가 특정 애플리케이션 요구사항에 맞는 적합한 모델을 선택할 수 있도록 심층적인 기술적 비교를 제공하며, YOLO26과 같은 해당 분야의 최신 발전 동향도 함께 소개합니다.
Ultralytics YOLOv5: 업계 표준
2020년 6월 출시된 YOLOv5 는 AI의 대중화에서 중대한 전환점이 YOLOv5 . 주로 C(Darknet)로 작성된 이전 버전들과 달리, YOLOv5 최초의 네이티브 PyTorch 구현체로서 Python 커뮤니티에 매우 접근하기 쉬운 모델이 되었습니다.
주요 기능 및 아키텍처
YOLOv5 속도, 정확도, 사용자 친화적 설계의 균형으로 YOLOv5 . 이 아키텍처는 YOLOv4 대비 다음과 같은 주요 개선점을 도입했습니다:
- CSPDarknet 백본: 단계 간 부분 연결을 활용하여 기울기 흐름을 개선하고 매개변수를 줄입니다.
- 자동 학습 앵커 박스: 훈련 시작 전에 사용자 정의 데이터셋에 대한 최적의 앵커 박스 크기를 자동으로 학습합니다.
- 모자이크 데이터 증강: 네 장의 이미지를 하나로 결합하는 훈련 기법으로, 모델의 detect 객체 detect 능력을 향상시키고 문맥 일반화 능력을 개선합니다.
기술 사양:
- 작성자: Glenn Jocher
- 조직:Ultralytics
- 날짜:26
- GitHub:yolov5
Ultralytics YOLOv8: 최첨단 기술의 기준을 제시하다
2023년 1월 출시된 YOLOv8 컴퓨터 비전 기술의 획기적인 발전을 보여주었습니다. YOLOv5 사용된 앵커 기반 탐지 방식에서 벗어나 앵커 프리(anchor-free) YOLOv5 전환함으로써 학습 과정을 단순화하고 다양한 물체 형태에 대한 일반화 능력을 향상시켰습니다.
아키텍처 혁신
YOLOv8 속도와 정확도를 모두 향상시킨 다양한 현대적 기법들을 YOLOv8 :
- 앵커 프리 탐지: 수동 앵커 박스 구성이 필요 없으며, 객체 중심을 직접 예측합니다. 이를 통해 박스 예측 횟수가 감소하고 비최대 억제(NMS) 속도가 향상됩니다.
- C2f 모듈: YOLOv5 C3 모듈을 대체하며, 더 풍부한 기울기 흐름을 제공하고 더 나은 특징 추출을 위해 채널 수를 조정합니다.
- 분리된 헤드: 객체 인식, 분류 및 회귀 작업을 서로 다른 분기로 분리하여 각 작업이 더 효과적으로 수렴할 수 있도록 합니다.
- 작업 다용도성: 탐지뿐만 아니라 인스턴스 분할, 자세 추정, 분류 및 OBB (방향성 경계 상자)까지 지원하도록 처음부터 설계되었습니다.
기술 사양:
- 작성자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직:Ultralytics
- 날짜:10
- GitHub:ultralyticsultralytics
성능 비교
이 두 강자를 비교해 보면, 동급 하드웨어에서 YOLOv8 정확도(mAP)와 지연 시간 YOLOv5 YOLOv8 YOLOv5 우수한 성능을 보인다는 점이 분명합니다. 그러나 YOLOv5 레거시 시스템에 매우 효율적인 고성능 모델로 YOLOv5 .
아래 표는 COCO 성능을 보여줍니다. 굵은 글씨로 표시된 값은 각 범주에서 가장 우수한 성능을 나타냅니다.
| 모델 | 크기 (픽셀) | 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 |
| 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 |
분석
YOLOv8n 나노)은 매개변수 수가 약간 증가했을 뿐임에도 YOLOv5n(28.0)에 비해 현저히 높은 mAP 37.3)을 달성합니다. 이러한 효율성 향상으로 인해 정확도의 모든 백분율이 중요한 현대적인 에지 애플리케이션에서는 YOLOv8 .
학습 및 생태계
두 모델 모두 사용 편의성을 최우선으로 하는 Ultralytics 혜택을 크게 누립니다.
간소화된 교육 워크플로우
YOLOv5 YOLOv8 전환은 모든 작업을 지원하는 통합된 CLI Python 도입했습니다. YOLOv5 특정 스크립트(예: train.py, detect.py), YOLOv8 후속 모델들처럼 YOLO26 모듈식 패키지 구조를 사용하십시오.
YOLOv5 :
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt
YOLOv8 :
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
Ultralytics 의 장점
두 모델 모두 Ultralytics 플랫폼과 원활하게 통합됩니다. 이를 통해 사용자는 훈련 실행을 시각화하고, 데이터셋을 관리하며, 다음과 같은 형식으로 원클릭 모델 내보내기를 수행할 수 있습니다. ONNX, TensorRT, CoreML 등의 형식으로 모델을 CoreML 내보낼 수 있습니다.
사용 사례 및 권장 사항
이 두 모델 중 선택은 구체적인 제약 조건에 따라 달라지지만, 신규 프로젝트에는 일반적으로 최신 모델을 권장합니다.
YOLOv5의 이상적인 시나리오
- 레거시 시스템: YOLOv5 와 이미 깊게 통합되어 이주 비용이 높은 프로젝트들.
- 특정 하드웨어 지원: 일부 구형 엣지 AI 가속기는 YOLOv5 특정 레이어 구조에 맞춰 고도로 최적화된 커널을 보유할 수 있습니다.
- 단순성: 순수히 교육적 목적으로, YOLOv5 소의 명시적인 스크립트 기반 구조는 초보자가 한 줄씩 분석하기에 더 쉬울 수 있습니다.
YOLOv8 이상적인 시나리오
- 고정밀도 요구 사항: 미세한 특징을 감지하는 것이 중요한 의료 영상이나 품질 검사 같은 응용 분야.
- 다중 작업 학습: 탐지와 함께 분할 또는 자세 추정 작업이 필요한 프로젝트.
- 미래 대비: 신규 프로젝트를 시작하는 개발자는 장기적인 지원과 최신 배포 도구와의 호환성을 보장하기 위해 YOLOv8 또는 그 이상 버전)을 선택해야 합니다.
미래: Ultralytics
YOLOv5 YOLOv8 , 해당 분야는 계속 진화해 왔습니다. 2026년 최고의 성능을 추구하는 개발자들에게는 Ultralytics 강력히 추천합니다.
왜 YOLO26을 선택해야 할까요? YOLO26은 v5와 v8의 유산을 계승하면서도 속도와 효율성을 위한 혁신적인 변화를 도입합니다:
- 엔드투엔드 NMS 프리: 비최대 억제(NMS)의 필요성을 제거함으로써 YOLOv2는 배포 로직을 단순화하고 추론 지연 시간을 줄입니다. 이는 YOLOv10에서 선구적으로 제시된 개념입니다.
- MuSGD 최적화기: 비전 모델에 LLM 훈련 안정성을 제공하는 하이브리드 최적화기로, 더 빠른 수렴을 보장합니다.
- Edge용으로 강화됨: DFL 제거 및 특정 CPU 통해 YOLO26은 이전 세대에 비해 CPU에서 최대 43% 더 빠르게 실행됩니다.
- 우수한 소형 물체 탐지: 새로운 ProgLoss 및 STAL 함수는 드론 영상 및 IoT 애플리케이션에 필수적인 소형 표적에 대한 성능을 크게 향상시킵니다.
결론
YOLOv5 YOLOv8 모두 컴퓨터 비전 역사에서 기념비적인 성과를 YOLOv8 . YOLOv5 는 기존 애플리케이션에서 안정성과 낮은 메모리 사용량으로 인정받는 믿을 수 있는 저메모리 작업용 도구로 남아 있습니다. YOLOv8는 우수한 다용도성, 높은 정확도, 그리고 최신 연구 동향에 부합하는 보다 현대적인 아키텍처 설계를 제공합니다.
최첨단을 요구하는 이들을 위해, YOLO26 또는 YOLO11 을 고려하는 분들에게는 속도와 정밀도 측면에서 더 큰 이점을 제공할 것입니다. 궁극적으로 강력한 Ultralytics 은 어떤 모델을 선택하든 성공을 위한 도구, 문서 및 커뮤니티 지원을 보장합니다.
코드 예시: 추론 실행
Ultralytics API의 간편함을 경험해 보세요. 이 코드는 YOLOv8, YOLO11, YOLO26 모델에 모두 호환됩니다.
from ultralytics import YOLO
# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")
# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")
# Process results list
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
masks = result.masks # Masks object for segmentation masks
keypoints = result.keypoints # Keypoints object for pose outputs
probs = result.probs # Probs object for classification outputs
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
이러한 모델을 워크플로에 통합하는 방법에 대한 자세한 내용은 빠른 시작 가이드를 참조하십시오.