YOLOv6.0과 YOLOv5: 객체 감지를 위한 기술 비교
컴퓨터 비전 프로젝트에 적합한 아키텍처를 선택하는 것은 성능, 배포 용이성, 장기적인 유지 관리에 영향을 미치는 중요한 결정입니다. 실시간 객체 감지 분야의 대표적인 두 가지 경쟁자는 Meituan의 YOLOv6.0과 UltralyticsYOLOv5. 이 가이드는 개발자와 연구자가 원시 GPU 처리량을 우선시하든 다재다능하고 사용하기 쉬운 에코시스템을 우선시하든 특정 요구 사항에 가장 적합한 모델을 선택할 수 있도록 상세한 기술 비교를 제공합니다.
성능 지표 분석
아래 표는 COCO 데이터 세트의 성능 메트릭을 직접 비교한 것입니다. YOLOv6.0은 GPU 장치에서 최고 정확도의 한계를 뛰어넘었습니다, Ultralytics YOLOv5 는 특히 CPU 탁월한 효율성으로 명성을 유지하고 있으며, 경량 변형의 경우 모델 복잡성(매개변수 및 FLOP)이 현저히 낮습니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| 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 |
분석: 데이터에 따르면 YOLOv5n (나노) 모델은 리소스가 제한된 환경에서 가장 낮은 파라미터 수(2.6M)와 FLOPs(7.7B)를 자랑하며, 이는 우수한 CPU 추론 속도를 의미한다고 합니다. 따라서 메모리와 전력이 부족한 엣지 AI 애플리케이션에 매우 적합합니다. 반대로 YOLOv6.0은 모델 크기가 커지는 대신 더 높은 mAPval을 목표로 하므로 전용 GPU 하드웨어를 사용하는 산업용 설정에 적합합니다.
메이투안 YOLOv6.0: 산업 정밀도
저자: 추이 리, 룰루 리, 이페이 겅, 홍량 장, 멩 청, 보 장, 자이단 케, 샤오밍 쉬, 샹샹 추
조직: Meituan
날짜: 2023-01-13
아카이브: https://arxiv.org/abs/2301.05586
깃허브: YOLOv6
문서: https:ultralytics
Meituan에서 개발한 YOLOv6.0은 산업용 애플리케이션에 맞춘 객체 감지 프레임워크입니다. 추론 속도와 정확도 사이의 유리한 균형을 이루는 데 중점을 두며, 특히 GPU의 하드웨어 인식 성능에 최적화되어 있습니다.
아키텍처 및 주요 기능
YOLOv6 효율적인 백본 설계와 재파라미터화 가능한 구조(RepVGG 스타일)를 통합해 훈련 중에 복잡한 특징 추출 기능을 유지하면서 추론 중에 모델을 단순화합니다. 버전 3.0에서는 자체 증류 및 앵커 지원 훈련 전략과 같은 기술을 도입하여 성능을 더욱 향상시켰습니다.
강점과 약점
- 높은 GPU 정확도: COCO 데이터 세트에서 경쟁력 있는 mAP 점수를 제공하므로 제조 분야의 품질 관리 작업에 적합합니다.
- 정량화 지원: 모델 정량화를 위한 구체적인 지원을 제공하여 배포를 가속화합니다.
- 제한된 범용성: 주로 객체 감지용으로 설계되었기 때문에 다른 프레임워크에서 볼 수 있는 인스턴스 분할이나 포즈 추정과 같은 광범위한 작업에 대한 기본 지원이 부족합니다.
- 더 높은 리소스 오버헤드: 더 큰 변형은 동급의 경량 YOLOv5 모델에 비해 더 많은 메모리와 연산 능력을 필요로 합니다.
Ultralytics YOLOv5: 에코시스템 표준
저자 작성자: Glenn Jocher
조직: Ultralytics
날짜: 2020-06-26
GitHub: yolov5
문서: https:yolov5
Ultralytics YOLOv5 는 컴퓨터 비전 분야의 전설적인 모델로, 사용자 중심의 설계와 안정성, 그리고 이를 둘러싼 포괄적인 에코시스템으로 유명합니다. 속도, 정확성, 사용 편의성의 균형으로 인해 전 세계적으로 가장 많이 배포된 모델 중 하나입니다.
아키텍처 및 주요 기능
YOLOv5 강력한 기능 융합을 위해 PANet 넥과 결합된 CSPDarknet 백본을 활용합니다. 다양한 데이터 세트에서 매우 안정적인 것으로 입증된 앵커 기반 탐지 메커니즘을 사용합니다. 이 아키텍처는 고도로 모듈화되어 임베디드 디바이스에서 클라우드 서버에 이르기까지 모든 것에 적합한 5가지 스케일(n, s, m, l, x)을 제공합니다.
왜 YOLOv5 선택해야 하나요?
- 사용 편의성: Ultralytics 간단한 Python API, 자동 환경 설정, 광범위한 설명서를 통해 개발자 경험을 우선시합니다.
- 다목적성: 다른 경쟁사와 달리 YOLOv5 이미지 분류 및 인스턴스 분할 기능을 기본적으로 지원합니다.
- 훈련 효율성: 훈련 중 빠른 컨버전스와 낮은 메모리 사용으로 컴퓨팅 리소스 비용을 절감하는 것으로 알려져 있습니다.
- 배포 유연성: 다음과 같은 형식으로 원활하게 내보내기 ONNX, TensorRT, CoreML 및 TFLite 같은 형식으로 원활하게 내보내 다양한 하드웨어 통합이 가능합니다.
통합 에코시스템
YOLOv5 사용의 가장 큰 장점 중 하나는 바로 Ultralytics 에코시스템입니다. Ultralytics 허브와 같은 도구와의 통합을 통해 코드 없이 모델 훈련 및 미리 보기가 가능하며, 다음을 통해 실험 추적을 기본으로 지원합니다. Comet 및 MLflow를 통한 실험 추적 지원은 MLOps 워크플로우를 간소화합니다.
상세 비교
건축 및 디자인 철학
YOLOv6.0은 하드웨어 인식 신경 아키텍처 검색 및 재파라미터화에 크게 의존하여 특정 GPU 아키텍처(예: Tesla T4)에서 처리량을 최대화합니다. 반면 YOLOv5 는 CPU, GPU, NPU 전반에서 안정적으로 작동하는 범용 설계에 중점을 둡니다. YOLOv5 앵커 기반 탐지기는 일부 앵커가 없는 접근 방식에 비해 작은 개체가 포함된 사용자 정의 데이터 세트에 맞게 조정하기가 더 쉽습니다.
사용성 및 교육 방법론
Ultralytics 모델은 "바로 훈련할 수 있도록" 설계되었습니다. YOLOv5 자동 앵커와 같은 기능이 데이터 세트 레이블에 맞게 앵커 박스를 자동으로 조정하고, 스마트 하이퍼파라미터 진화 기능이 최적의 학습 설정을 찾는 데 도움을 줍니다. YOLOv6 기존 리서치 리포지토리의 특징인 수동 설정이 더 많이 필요하므로 신규 사용자에게는 학습 곡선이 더 가파르게 나타날 수 있습니다.
실제 사용 사례
- 신속한 프로토타이핑과 다양한 배포에 이상적인 Ultralytics YOLOv5. 가벼운 '나노' 모델은 드론 기반 모니터링이나 CPU 실시간 추론이 필요한 모바일 앱에 적합합니다. 또한 세분화를 지원하므로 세포 세분화와 같은 의료 이미징 작업에도 유용합니다.
- YOLOv6.0: 하이엔드 GPU를 사용할 수 있는 고정된 산업 환경에 가장 적합하며 주요 지표는 mAP. 전자 제품 제조의 자동 광학 검사(AOI)를 예로 들 수 있습니다.
코드 예시: YOLOv5 실행
PyTorch 허브를 사용해 단 몇 줄의 코드만으로 추론을 실행할 수 있다는 점이 YOLOv5 단순성을 가장 잘 보여줍니다. 따라서 복잡한 설치 단계가 필요 없으며 개발자가 모델을 즉시 테스트할 수 있습니다.
import torch
# Load the YOLOv5s model from the official Ultralytics Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image URL (or local path)
img = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img)
# Display results
results.show()
# Print detailed results regarding detected objects
results.print()
이러한 접근 용이성은 컴퓨터 비전 실무자가 환경 문제를 디버깅하는 대신 문제 해결에 집중할 수 있도록 하는 Ultralytics 철학의 특징입니다.
결론
두 아키텍처 모두 최신 비전 환경에서 중요한 역할을 합니다. 메이투안 YOLOv6.0은 GPU 하드웨어에서 감지 정확도를 극대화하는 데 중점을 두는 사용자에게 매력적인 옵션을 제공합니다.
하지만, Ultralytics YOLOv5 는 탁월한 다용도성, 트레이닝 효율성, 강력한 에코시스템으로 인해 대부분의 개발자에게 여전히 최고의 선택입니다. 세분화 및 분류 지원과 함께 엣지 디바이스에 쉽게 배포할 수 있는 기능 덕분에 YOLOv5 실제 AI 과제에 대한 포괄적인 솔루션이 되었습니다.
최신의 최첨단 성능을 원한다면 다음을 살펴볼 것을 권장합니다. Ultralytics YOLO11. YOLO11 기존의 YOLOv5 기반으로 더욱 뛰어난 정확도, 속도, 풍부한 기능을 갖춘 비전 AI의 미래를 제시합니다. 다음과 같은 기타 전문 모델 RT-DETR 과 같은 다른 전문 모델도 트랜스포머 기반 애플리케이션에 사용할 수 있습니다.
전체 도구 및 모델에 대한 자세한 내용은 Ultralytics 모델 설명서를 참조하세요.