YOLOv9 YOLOv8: 물체 감지를 위한 기술 비교
최적의 객체 감지 모델을 선택하려면 아키텍처 혁신과 실제 배포 요구 사항의 균형을 맞춰야 합니다. 이 기술 비교에서는 YOLOv9과 새로운 그라데이션 정보 기법을 도입한 연구 중심 모델인 Ultralytics YOLOv8과 다목적성과 속도를 위해 설계된 프로덕션 지원 프레임워크를 비교합니다. 각 모델의 아키텍처, COCO 데이터 세트의 성능 메트릭, 이상적인 사용 사례를 살펴보고 컴퓨터 비전 파이프라인에 적합한 모델을 결정하는 데 도움을 드립니다.
YOLOv9: 새로운 아키텍처를 통한 정보 손실 해결
2024년 초에 출시될 YOLOv9 심층 신경망의 정보 손실이라는 근본적인 문제를 해결하고자 합니다. 네트워크가 깊어질수록 필수 입력 데이터가 최종 레이어에 도달하기 전에 사라져 훈련 과정이 복잡해질 수 있습니다.
- 저자: Chien-Yao Wang, Hong-Yuan Mark Liao
- 조직:기관: 대만 학술원 정보 과학 연구소
- 날짜: 2024-02-21
- Arxiv:arXiv:2402.13616
- GitHub:YOLOv9 리포지토리
- 문서:Ultralytics YOLOv9 문서
주요 혁신: PGI 및 GELAN
YOLOv9 정보 병목 현상을 해결하기 위해 두 가지 주요 아키텍처 개선 사항을 도입했습니다:
- 프로그래밍 가능한 그라디언트 정보(PGI): 네트워크 가중치를 업데이트하기 위해 신뢰할 수 있는 그라데이션을 생성하여 주요 입력 상관관계가 레이어 전체에 걸쳐 유지되도록 하는 보조 감독 프레임워크입니다. 이는 매우 심층적인 모델을 훈련하는 데 특히 효과적입니다.
- 일반화된 효율적인 계층 집계 네트워크(GELAN): 매개변수 효율성과 계산 속도(FLOPs)를 우선시하는 경량 네트워크 아키텍처입니다. GELAN을 통해 YOLOv9 상당한 추론 속도로 높은 정확도를 달성할 수 있습니다.
장점과 한계
YOLOv9 학문적 벤치마크에서 탁월합니다. YOLOv9-E 최상위 등급을 달성한 변형 mAP 점수. 탐지 정확도의 한계를 뛰어넘고자 하는 연구자에게는 탁월한 선택입니다. 하지만 연구에 깊이 뿌리를 둔 모델이기 때문에 보다 성숙한 생태계에서 볼 수 있는 광범위한 멀티태스크 지원이 부족합니다. 기본 구현은 바운딩 박스 감지에 중점을 두고 있으며, 훈련 워크플로는 간소화된 산업용 솔루션에 비해 리소스 집약적일 수 있습니다.
Ultralytics YOLOv8: 프로덕션 AI의 표준
Ultralytics YOLOv8 은 비전 AI에 대한 총체적인 접근 방식을 나타냅니다. 단일 메트릭에만 집중하는 것이 아니라 최고의 사용자 경험, 배포의 다양성, 성능 균형을 제공하도록 설계된 YOLOv8 . 광범위한 Ultralytics 에코시스템의 일부로, 모든 기술 수준의 개발자가 강력하고 쉽게 사용할 수 있도록 보장합니다.
- 작성자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직:Ultralytics
- 날짜: 2023-01-10
- GitHub:Ultralytics 리포지토리
- 문서:Ultralytics YOLOv8 문서
아키텍처 및 에코시스템의 이점
YOLOv8 앵커가 없는 감지 헤드와 C2f(2개의 컨볼루션이 있는 교차 단계 부분 병목) 백본을 사용하여 가벼운 설치 공간을 유지하면서 기울기 흐름을 향상시킵니다. 아키텍처 외에도 이 제품의 강점은 통합에 있습니다:
- 사용 편의성: 통합 Python API와 명령줄 인터페이스(CLI)를 사용하면 몇 줄의 코드만으로 모델을 학습하고 배포할 수 있습니다.
- 다목적성: 탐지에만 국한된 경쟁사와 달리 YOLOv8 기본적으로 인스턴스 세분화, 포즈 추정, 오리엔티드 바운딩 박스(OBB), 이미지 분류를 지원합니다.
- 성능 균형: 지연 시간과 정확도 간의 탁월한 절충점을 제공하므로 NVIDIA Jetson 또는 Raspberry Pi와 같은 엣지 디바이스에서 실시간 추론에 적합합니다.
- 메모리 효율성: YOLOv8 일반적으로 트랜스포머 기반 아키텍처에 비해 트레이닝 시 CUDA 메모리가 덜 필요하므로 하드웨어의 진입 장벽이 낮습니다.
성능 분석: 속도, 정확도 및 효율성
모델 간의 선택은 종종 속도와 순수한 정확도에 관한 특정 프로젝트 요구 사항에 따라 결정됩니다. 아래 표는 COCO 유효성 검사 세트의 표준 변형을 비교한 것입니다.
| 모델 | 크기 (픽셀) | 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 |
| 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 |
주요 내용
- 하이엔드 정확도: 에 지정되어 있습니다.
YOLOv9e모델은 55.6%의 놀라운 mAP 달성하여YOLOv8x. 애플리케이션에서 가장 까다로운 물체를 감지해야 하고 지연 시간은 부차적인 문제라면 YOLOv9e가 강력한 경쟁자입니다. - 실시간 속도: 속도에 의존하는 애플리케이션의 경우,
YOLOv8n및YOLOv8s뛰어난 성능을 보여줍니다.YOLOv8n은 특히 다음과 같은 경우에 효과적입니다. 모바일 배포를 사용하여 CPU GPU 모두에서 놀랍도록 빠른 경량 솔루션을 제공합니다. - 배포 준비 상태: 이 표는 GPU GPU 환경의 중요한 지표인 YOLOv8 CPU ONNX 속도를 강조합니다. 이 데이터 투명성은 광범위한 배포 시나리오를 위한 YOLOv8 설계를 반영하는 반면, YOLOv9 주로 연구 환경에서 V100 또는 T4와 같은 하이엔드 GPU를 대상으로 벤치마킹하는 경우가 많습니다.
교육 및 사용성
가장 중요한 차이점 중 하나는 개발자 경험에 있습니다. Ultralytics "배터리 포함" 접근 방식을 우선시합니다.
Ultralytics 통한 단순성
YOLOv8 모델을 훈련하려면 최소한의 설정만 필요합니다. 라이브러리는 데이터 증강, 하이퍼파라미터 튜닝, 사전 학습된 가중치 다운로드를 자동으로 처리합니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
연구 복잡성
YOLOv9 더 쉽게 액세스할 수 있도록 Ultralytics 코드베이스에 통합되어 있지만, 원래 연구 리포지토리는 복잡한 환경 구성과 수동 하이퍼파라미터 관리가 필요한 경우가 많습니다. 잘 관리된 Ultralytics 에코시스템은 YOLOv8 사용하든 포팅된 YOLOv9 사용하든 안정적인 CI/CD 파이프라인, 광범위한 문서화, Discord를 통한 커뮤니티 지원의 혜택을 누릴 수 있도록 보장합니다.
이상적인 사용 사례
다음과 같은 경우 YOLOv9 선택합니다:
- 최대 정확도가 중요합니다: 의료 이미지 분석 (예: 종양 탐지)과 같이 mAP 백분율 포인트가 중요한 프로젝트.
- 학술 연구: PGI와 같은 새로운 아키텍처를 조사하거나 신경망 효율성에 대한 비교 연구를 수행합니다.
- 고성능 컴퓨팅 환경: 배포 대상은 더 높은 FLOP이 허용되는 강력한 서버(예: NVIDIA A100)입니다.
다음의 경우 Ultralytics YOLOv8을 선택하세요.
- 다양한 작업이 필요합니다: 단일 프로젝트 구조 내에서 오브젝트 추적, 세분화 또는 포즈 추정을 수행해야 합니다.
- 엣지 배포: 메모리와 CPU 주기가 부족한 스마트 카메라나 드론과 같이 제한된 하드웨어에서 실행되는 애플리케이션.
- 신속한 개발: 스타트업 및 엔터프라이즈 팀은 ONNX, TensorRT 또는 OpenVINO 같은 내보내기 형식을 사용하여 개념에서 프로덕션으로 빠르게 이동해야 합니다.
- 안정성 및 지원: 문제를 효율적으로 해결하려면 잦은 업데이트와 대규모 커뮤니티가 뒷받침되는 모델이 필요합니다.
결론
동안 YOLOv9 은 인상적인 이론적 발전을 도입하고 높은 탐지 정확도를 달성합니다, Ultralytics YOLOv8 은 여전히 대부분의 실제 애플리케이션에 더 실용적인 선택입니다. 속도, 정확도, 다목적성이 균형을 이루고 있으며 사용자 친화적인 API와 효율적인 교육 프로세스가 결합되어 있어 개발자들이 가장 선호하는 솔루션입니다.
최신 Ultralytics 라인업을 찾고 계신다면 다음을 살펴보세요. YOLO11은 이러한 특성을 더욱 세분화하여 최첨단 성능을 제공합니다. 하지만 여기서 설명한 두 모델 중에서 YOLOv8 데이터에서 배포까지의 경로를 가속화하는 세련된 프로덕션 지원 환경을 제공합니다.
다른 모델 살펴보기
다른 아키텍처에 관심이 있는 경우, Ultralytics 문서에서 여러 다른 모델에 대한 비교를 확인할 수 있습니다:
- RT-DETR: 높은 정확도를 제공하지만 리소스 요구 사항이 다른 변압기 기반 검출기입니다.
- YOLOv5: 극도의 안정성과 광범위한 채택으로 유명한 전설적인 이전 버전입니다.
- YOLO11: 효율성을 한층 더 높인 Ultralytics 최신 버전입니다.