YOLOv9 YOLOv5: 기술 비교
빠르게 발전하는 컴퓨터 비전 환경에서 올바른 물체 감지 모델을 선택하는 것은 프로젝트 성공을 위해 매우 중요합니다. 이 분석에서는 다음과 같은 두 가지 모델 간의 상세한 기술 비교를 제공합니다. YOLOv9과 정확도의 한계를 뛰어넘는 연구 중심 아키텍처인 Ultralytics YOLOv5와 신뢰성, 속도, 다용도로 유명한 업계 표준 모델입니다. 각 아키텍처의 차이점, 성능 벤치마크, 이상적인 사용 사례를 살펴보고 현명한 결정을 내릴 수 있도록 도와드립니다.
YOLOv9: 정확도 극대화를 위한 아키텍처 혁신
2024년 초에 출시될 YOLOv9 딥러닝 정보 흐름의 근본적인 문제를 해결함으로써 물체 감지의 이론적 한계를 극복하는 것을 목표로 합니다. 정밀도가 가장 중요한 시나리오를 위해 설계되었습니다.
저자들: 저자: 왕치엔야오, 홍위안 마크 리아오
조직:대만 학술원 정보과학연구소
날짜: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:YOLOv9 Documentation
핵심 아키텍처
YOLOv9 두 가지 획기적인 개념이 도입되었습니다: 프로그래밍 가능한 그라디언트 정보(PGI) 와 일반화된 효율적인 레이어 집계 네트워크(GELAN)입니다. PGI는 손실 함수에 대한 완전한 입력 정보를 유지함으로써 딥 뉴럴 네트워크에 내재된 정보 병목 문제를 해결하고 그라데이션 신뢰성을 향상시킵니다. GELAN은 매개변수 효율성을 최적화하여 심층 컨볼루션을 사용하는 이전 아키텍처에 비해 더 적은 계산 리소스로 더 높은 정확도를 달성할 수 있습니다.
강점과 약점
YOLOv9 가장 큰 강점은 COCO 데이터 세트와 같은 벤치마크에서 최첨단 정확도를 보인다는 점입니다. 다른 모델이 실패할 수 있는 작거나 가려진 물체를 감지하는 데 탁월합니다. 하지만 탐지 정확도에 초점을 맞추다 보니 단점도 있습니다. 훈련 프로세스는 리소스 집약적일 수 있으며, Ultralytics 에코시스템에 통합되어 있지만, 더 광범위한 커뮤니티 지원과 타사 도구는 오래 전에 구축된 모델에 비해 아직 성숙 단계에 있습니다. 또한, 다른 모델은 광범위한 멀티태스크 기본 지원을 제공하는 반면, 이 모델은 여전히 탐지에 중점을 두고 있습니다.
Ultralytics YOLOv5: 다목적 산업 표준
2020년 출시된 이후, Ultralytics YOLOv5 실용적인 실제 AI 배포의 표준을 정의해 왔습니다. 성능과 사용성 간에 정확한 균형을 유지하여 역사상 가장 널리 사용되는 모델 중 하나가 되었습니다.
저자: 작성자: Glenn Jocher
조직:Ultralytics
날짜: 2020-06-26
GitHub:yolov5
Docs:YOLOv5 문서
핵심 아키텍처
YOLOv5 강력한 기능 통합을 위해 CSPDarknet53 백본과 PANet 넥을 갖춘 정교한 앵커 기반 아키텍처를 채택하고 있습니다. 추론 속도와 엔지니어링 최적화에 우선순위를 둔 설계입니다. 이 모델은 다양한 규모(나노에서 초대형까지)로 제공되므로 개발자는 임베디드 에지 디바이스에서 클라우드 GPU에 이르기까지 하드웨어 제약 조건에 맞게 모델을 완벽하게 조정할 수 있습니다.
Ultralytics 이점
YOLOv9 학문적 한계를 뛰어넘는 반면, YOLOv5 공학적 실용성에서 탁월합니다.
- 사용 편의성: YOLOv5 "설치 후 실행" 환경으로 유명합니다. 간소화된 Python API와 포괄적인 설명서를 통해 개발 시간을 크게 단축할 수 있습니다.
- 잘 관리된 에코시스템: Ultralytics 지원을 받는 YOLOv5 활발한 유지 관리, GitHub의 방대한 커뮤니티, MLOps 도구와의 원활한 통합을 제공합니다.
- 다목적성: YOLOv5 감지 외에도 인스턴스 분할과 이미지 분류를 기본적으로 지원하여 다양한 비전 작업을 위한 통합 솔루션을 제공합니다.
- 메모리 효율성: Ultralytics 모델은 트레이닝과 추론 모두에서 메모리 사용량이 적도록 최적화되어 있어, 트랜스포머 기반 대안의 무거운 요구 사항과 대조적입니다.
성능 지표: 속도 대 정확도
아래 비교는 이러한 모델의 뚜렷한 역할을 강조합니다. YOLOv9 일반적으로 더 큰 모델 크기(c 및 e)에서 더 높은 mAP (평균 평균 정밀도)를 달성합니다. 따라서 세밀한 디테일이 필요한 작업에 더 적합합니다.
반대로 YOLOv5 특히 나노(n) 및 스몰(s) 버전에서 탁월한 추론 속도를 제공합니다. NVIDIA Jetson 또는 Raspberry Pi와 같은 엣지 하드웨어의 실시간 애플리케이션의 경우, YOLOv5 가벼운 특성과 TensorRT 최적화의 완성도로 인해 여전히 최고의 경쟁자입니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 |
배포 팁
배포 유연성을 극대화하기 위해 두 모델 모두 다음과 같은 형식으로 내보낼 수 있습니다. ONNX, TensorRT 및 CoreML 같은 형식으로 내보낼 수 있습니다. 이렇게 하면 모든 대상 하드웨어에서 모델을 효율적으로 실행할 수 있습니다.
교육 및 사용성
훈련 방법론은 사용자 경험에 따라 크게 다릅니다. Ultralytics YOLOv5 사용자 지정 데이터 세트에 대해 즉시 작동하는 강력한 사전 설정을 제공하여 훈련 효율성을 높이도록 설계되었습니다. 자동 앵커 계산, 하이퍼파라미터 진화, 풍부한 로깅 통합이 특징입니다.
YOLOv9 강력하지만, 특히 소규모 데이터 세트에서 안정성과 수렴을 달성하려면 하이퍼파라미터를 보다 세심하게 조정해야 할 수 있습니다. 하지만 ultralytics Python 패키지를 통해 개발자는 이제 YOLOv5 동일한 간단한 구문을 사용하여 YOLOv9 학습할 수 있어 사용성 격차를 해소할 수 있습니다.
코드 예제
Ultralytics 라이브러리를 사용하면 모델 이름을 변경하는 것만큼이나 간단하게 이러한 아키텍처 간에 전환할 수 있습니다. 이 코드 조각은 두 모델을 사용하여 추론을 로드하고 실행하는 방법을 보여줍니다:
from ultralytics import YOLO
# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")
# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")
# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")
# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")
이상적인 사용 사례
YOLOv9 선택해야 할 때
- 고정밀 검사: 모든 픽셀이 중요한 제조 조립 라인에서 미세한 결함을 감지합니다.
- Advanced Research: 프로그래밍 가능한 기울기 정보와 같은 새로운 딥러닝 아키텍처를 탐구하는 프로젝트입니다.
- 복잡한 환경: 오클루전이나 클러터가 많은 시나리오에서 GELAN의 고급 기능 집계를 통해 결정적인 이점을 얻을 수 있습니다.
YOLOv5 선택해야 하는 경우
- 엣지 배포: 전력 소비와 메모리 공간이 중요한 배터리 구동 장치 또는 마이크로컨트롤러에서 실행합니다.
- 신속한 프로토타이핑: 데이터 수집에서 작동하는 데모까지 며칠이 아닌 몇 시간 안에 완료해야 하는 경우, 광범위한 튜토리얼과 커뮤니티 리소스를 활용하세요.
- 멀티태스크 시스템: 단일 코드베이스 내에서 감지와 함께 포즈 추정 또는 분류가 필요한 애플리케이션.
- 프로덕션 안정성: 다년간의 테스트를 통해 안정성이 입증된 솔루션이 필요한 엔터프라이즈 환경.
결론
YOLOv9 YOLOv5 중 선택은 특정 제약 조건에 따라 달라집니다. YOLOv9 은 정확도 극대화를 위한 탁월한 선택이며, 최첨단 아키텍처 개선 사항을 제공합니다. YOLOv5 는 여전히 다목적성과 사용 편의성의 챔피언으로, 전체 AI 수명 주기를 간소화하는 강력하고 잘 지원되는 에코시스템을 제공합니다.
YOLOv5 사용 편의성과 YOLOv9능가하는 성능을 결합하여 두 가지 장점을 모두 원하는 개발자에게는 다음을 살펴볼 것을 권장합니다. YOLO11. Ultralytics 최신 버전인 YOLO11 모든 비전 작업에서 최첨단 속도와 정확도를 제공하며, YOLO 제품군의 미래를 대표합니다.
다른 모델 살펴보기
- YOLO11: detection, segmentation 및 포즈를 위한 Ultralytics의 최신 모델이자 가장 강력한 모델입니다.
- YOLOv8: YOLO11 강력한 이전 버전으로 균형 잡힌 기능을 제공합니다.
- RT-DETR: 실시간 성능에 최적화된 Transformer 기반 detector입니다.