YOLOv5 vs. DAMO-YOLO: 상세 기술 비교
빠르게 진화하는 컴퓨터 비전 환경에서 올바른 객체 감지 아키텍처를 선택하는 것은 프로젝트 성공의 핵심입니다. 이 비교에서는 두 가지 중요한 모델을 살펴봅니다: Ultralytics YOLOv5와 새로운 아키텍처 검색 기법을 도입한 알리바바 그룹의 연구 중심 모델인 YOLO 비교합니다.
두 모델 모두 물체 감지 작업을 해결하는 것을 목표로 하지만, 서로 다른 요구 사항을 충족합니다. YOLOv5 사용 편의성, 배포의 다양성, 실제 성능의 균형을 우선시하는 반면, YOLO 신경 구조 검색(NAS)과 강력한 기능 융합 메커니즘으로 학문적 경계를 넓히는 데 중점을 둡니다.
성능 지표 및 벤치마크
프로덕션용 모델을 선택할 때는 추론 속도와 감지 정확도 간의 상충 관계를 이해하는 것이 필수적입니다. 다음 데이터는 객체 감지를 위한 표준 벤치마크인 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
결과 분석
데이터는 설계 철학에서 뚜렷한 이분법을 보여줍니다. 속도와 효율성 측면에서 확실한 챔피언인 YOLOv5n (Nano)은 GPU 1.12ms의 놀라운 추론 시간과 폭넓게 액세스할 수 있는 CPU 성능을 제공합니다. 따라서 짧은 지연 시간이 타협할 수 없는 엣지 AI 애플리케이션에 이상적입니다.
YOLO 모델(예: DAMO-YOLOl약간 더 높은 평균 평균 정밀도mAP에서 정점을 찍습니다. 50.8보다 빠르지만 CPU 성능 지표가 불투명하다는 대가를 치릅니다. YOLO 대한 CPU 속도가 보고되지 않은 것은 주로 하이엔드 GPU 환경에 최적화되어 있어 모바일 앱이나 임베디드 시스템과 같은 광범위한 배포 시나리오에 대한 유연성이 제한적이라는 것을 의미합니다.
Ultralytics YOLOv5: 다목적 산업 표준
저자: 작성자: Glenn Jocher
조직:Ultralytics
날짜: 2020-06-26
깃허브yolov5
문서yolov5
YOLOv5 출시 이후 컴퓨터 비전 커뮤니티에서 초석으로 자리 잡았습니다. 기본적으로 PyTorch에 기본적으로 구축되어 복잡성과 유용성의 균형을 유지하며 "배터리 포함" 경험을 제공합니다. 이 아키텍처는 다양한 크기의 물체를 detect 위해 다양한 규모의 피처를 효율적으로 통합하는 CSPDarknet 백본과 PANet 넥을 활용합니다.
주요 강점
- 사용 편의성: Ultralytics 개발자 경험(DX)을 우선시합니다. 간단한 Python API와 직관적인 CLI 명령으로 사용자는 몇 분 만에 모델을 학습하고 배포할 수 있습니다.
- 잘 관리된 에코시스템: 활발한 커뮤니티와 빈번한 업데이트가 뒷받침되는 YOLOv5 원활한 모델 관리를 위한 Ultralytics HUB를 비롯한 최신 도구와의 호환성을 보장합니다.
- 다목적성: 표준 감지 외에도 YOLOv5 인스턴스 분할과 이미지 분류를 지원하므로 개발자는 단일 프레임워크로 여러 비전 작업을 처리할 수 있습니다.
- 배포 유연성: ONNX 및 TensorRT 내보내기부터 iOS 및 Android 실행까지, YOLOv5 어디서나 실행할 수 있도록 설계되었습니다.
간소화된 워크플로
YOLOv5 널리 사용되는 MLOps 도구와 원활하게 통합됩니다. 다음을 사용하여 실험을 track 수 있습니다. Weights & Biases 또는 Comet 을 사용하여 실험을 추적할 수 있으므로 훈련 실행을 재현하고 쉽게 분석할 수 있습니다.
YOLO: 연구 중심의 정확성
저자: Xianzhe Xu, 이치 장, 웨이화 첸, 일룬 황, 위안 장, 시우위 선
조직: 알리바바 그룹
날짜: 2022-11-23
아카이브:https://arxiv.org/abs/2211.15444v2
깃허브YOLO
다모 YOLO 알리바바의 다모 아카데미에서 개발한 방법입니다. 효율적인 백본을 자동으로 설계하는 신경 아키텍처 검색(NAS)(MAE-NAS), 무거운 목 구조인 RepGFPN(Reparameterized Generalized Feature Pyramid Network), 경량 헤드인 ZeroHead 등 다양한 고급 기술을 도입합니다.
주요 특징
- MAE-NAS 백본: MAE-NAS라는 방법을 사용하여 특정 지연 시간 제약 조건에서 최적의 네트워크 구조를 찾지만, 아키텍처를 수동으로 수정하기가 더 복잡해질 수 있습니다.
- AlignedOTA 라벨 할당: 분류 작업과 회귀 작업 간의 불일치를 해결하기 위해 AlignedOTA라는 동적 라벨 할당 전략을 사용합니다.
- 정확도에 집중: YOLO 주요 목표는 COCO 데이터 세트의 mAP 최대화하여 1%의 정확도가 중요한 대회나 학술 연구에서 강력한 경쟁자가 되도록 하는 것입니다.
아키텍처 및 운영상의 차이점
YOLOv5 YOLO 차이는 단순한 지표를 넘어 핵심 설계 철학과 운영 요구 사항으로까지 확장됩니다.
아키텍처: 단순성 대 복잡성
YOLOv5 수작업으로 제작된 직관적인 아키텍처를 사용합니다. 앵커 기반 접근 방식은 잘 이해되고 디버깅하기 쉽습니다. 이와 대조적으로 YOLO 과도한 재매개변수화 및 자동화된 검색(NAS)에 의존합니다. NAS는 효율적인 구조를 생성할 수 있지만, 개발자가 사용자 지정하거나 해석하기 어려운 '블랙박스' 모델을 생성하는 경우가 많습니다. 또한 YOLO 헤비넥(RepGFPN)은 훈련 중 계산 부하를 증가시켜 YOLOv5 효율적인 CSP 설계에 비해 더 많은 GPU 메모리를 필요로 합니다.
교육 효율성 및 메모리
Ultralytics 모델은 학습 효율성이 뛰어난 것으로 유명합니다. YOLOv5 일반적으로 더 적은 CUDA 메모리를 필요로 하므로 일반 소비자용 GPU에서도 학습할 수 있습니다. 복잡한 재파라미터화 및 증류 프로세스가 있는 YOLO 효과적인 훈련을 위해 하이엔드 하드웨어가 필요한 경우가 많습니다. 또한, Ultralytics 사전 훈련된 방대한 가중치 라이브러리와 자동화된 하이퍼파라미터 튜닝을 제공하여 컨버전스 경로를 가속화할 수 있습니다.
에코시스템 및 사용 편의성
가장 중요한 차이점은 아마도 에코시스템에 있을 것입니다. YOLOv5 단순한 모델이 아니라 포괄적인 도구 세트의 일부입니다.
- 문서: 데이터 수집부터 배포까지 사용자를 안내하는 광범위한 다국어 설명서를 유지 관리합니다.
- 커뮤니티: 대규모 글로벌 커뮤니티를 통해 문제를 신속하게 해결하고 튜토리얼을 쉽게 이용할 수 있습니다.
- 통합: 기본 지원 Roboflow 데이터 세트 및 배포 대상에 대한 기본 지원으로 전체 파이프라인을 간소화합니다.
주로 연구 저장소인 YOLO 이러한 수준의 세련된 지원이 부족하여 상용 제품과의 통합이 훨씬 더 어렵습니다.
실제 사용 사례
이러한 모델 간의 선택은 종종 특정 배포 환경에 따라 달라집니다.
YOLOv5 장점
- 스마트 농업: 리소스 요구량이 적어 드론이나 자율 트랙터에서 실행하여 작물 질병을 감지하는 데 적합합니다.
- 제조: 산업 자동화 분야에서 YOLOv5 빠른 속도는 빠르게 움직이는 컨베이어 벨트에서 실시간으로 결함을 감지할 수 있게 해줍니다.
- 리테일 분석: 객체 계산 및 대기열 관리의 경우, YOLOv5 CPU 성능 덕분에 기존 매장 하드웨어에 비용 효율적으로 배포할 수 있습니다.
YOLO 강점
- 학술 연구: RepGFPN 또는 NAS 기술의 효능을 연구하는 연구자들은 YOLO 유용한 기준으로 삼을 수 있습니다.
- 하이엔드 감시: 지연 시간보다 정확도가 우선시되는 전용 서버급 GPU를 사용하는 시나리오에서 YOLO 복잡한 장면에서 정밀한 감지 기능을 제공할 수 있습니다.
코드 예시: YOLOv5 시작하기
Ultralytics Python 패키지 덕분에 YOLOv5 실행하는 것은 간단합니다. 다음 예는 사전 학습된 모델을 로드하고 이미지에서 추론을 실행하는 방법을 보여줍니다.
import torch
# Load a pre-trained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image URL or local path
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to the console
results.print()
# Show the image with bounding boxes
results.show()
결론
YOLOv5 YOLO 모두 물체 감지 분야에 크게 기여하고 있습니다. YOLO 높은 정확도 벤치마크를 달성하기 위한 신경망 아키텍처 검색과 고급 기능 융합의 잠재력을 보여줍니다.
그러나 대다수의 개발자, 엔지니어 및 기업에게는 그렇지 않습니다, Ultralytics YOLOv5 가 여전히 최고의 선택입니다. 탁월한 사용 편의성, 강력한 성능 균형, 잘 관리된 에코시스템의 보안을 통해 프로젝트가 마찰을 최소화하면서 프로토타입에서 프로덕션으로 이동할 수 있도록 지원합니다. CPU와 GPU에 걸쳐 효율적으로 배포할 수 있는 능력과 트레이닝에 필요한 메모리 요구 사항이 낮기 때문에 YOLOv5 실제 애플리케이션에 매우 실용적인 솔루션입니다.
최신 컴퓨터 비전 기술을 활용하고자 하는 사람들을 위해 Ultralytics 다음과 같은 혁신을 거듭해 왔습니다. YOLOv8 과 최첨단 YOLO11. 이 최신 모델들은 YOLOv5 견고한 기반을 바탕으로 더욱 향상된 속도, 정확성 및 다양한 작업을 제공합니다.
다른 비교 살펴보기
이러한 모델이 더 넓은 에코시스템에 어떻게 적용되는지 자세히 알아보려면 다음 세부 비교를 살펴보세요: