YOLO YOLOv9: 기술적 비교
빠르게 발전하는 컴퓨터 비전 세계에서 최적의 물체 감지 모델을 선택하는 것은 시스템 지연 시간부터 감지 정확도까지 모든 것에 영향을 미치는 중요한 결정입니다. 이 포괄적인 가이드에서는 알리바바 그룹의 고속 검출기인 YOLOYOLOv9와 정보 보존 및 효율성에 중점을 둔 아키텍처를 비교합니다. 두 아키텍처의 혁신, 성능 메트릭, 이상적인 사용 사례를 분석하여 개발자와 연구자가 정보에 입각한 선택을 할 수 있도록 도와드립니다.
두 모델 모두 이전 모델에 비해 크게 개선되었습니다, YOLOv9은 특히 Ultralytics 에코시스템 내에서 활용될 경우 최첨단 정확도, 개발자 친화적인 도구, 다양한 배포 옵션의 강력한 조합을 제공합니다.
YOLO: 신경망 아키텍처 검색을 통한 속도 지향 설계
YOLO Alibaba에서 개발한 객체 감지 프레임워크로, "일회성" 방법론으로 설계되었습니다. 짧은 지연 시간과 높은 처리량을 우선시하므로 특정 하드웨어에 엄격하게 정의된 속도 제약이 필요한 산업용 애플리케이션에 적합한 강력한 경쟁자입니다.
저자 저자: Xianzhe Xu, 이치 장, 웨이화 첸, 일룬 황, 위안 장, 시우위 선
조직:알리바바 그룹
날짜: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHubYOLO
아키텍처 혁신
YOLO 자동화된 디자인 프로세스와 효율적인 구성 요소를 통해 차별화됩니다:
- 신경망 아키텍처 검색(NAS): 백본을 수동으로 설계하는 대신, YOLO 신경망 아키텍처 검색(NAS) 을 활용하여 다양한 계산 예산에 맞는 효율적인 구조(TinyNAS)를 찾아냅니다.
- RepGFPN 넥: RepGFPN이라고 하는 일반화된 특징 피라미드 네트워크(GFPN)의 효율적인 변형을 도입합니다. 이 구성 요소는 특징 융합을 최적화하고 재파라미터화를 지원하므로 추론 속도가 빨라집니다.
- 제로헤드: 이 모델은 일반적으로 복잡한 감지 헤드와 관련된 계산 오버헤드를 줄여주는 경량 '제로헤드' 감지 헤드를 사용합니다.
- AlignedOTA: 학습 안정성과 정확도를 높이기 위해 분류 작업과 회귀 작업 간의 정렬 문제를 해결하는 레이블 할당 전략인 AlignedOTA를 사용합니다.
장점과 한계
YOLO 가장 큰 강점은 추론 속도에 있습니다. 이 아키텍처는 높은 GPU 처리량을 위해 고도로 최적화되어 있어 처리량이 중요한 비디오 분석 파이프라인에 적합합니다. 또한 증류를 사용하여 더 작은 모델의 성능을 향상시킵니다.
그러나 YOLO 에코시스템 성숙도와 관련된 문제에 직면해 있습니다. Ultralytics 모델에 사용할 수 있는 강력한 도구에 비해 배포, 형식 변환, 커뮤니티 지원을 위한 리소스가 적을 수 있습니다. 또한 최신 프레임워크는 기본적으로 세분화와 포즈 추정을 지원하는 경우가 많은 반면, 다모욜로의 작업 다양성은 일반적으로 객체 감지로 제한됩니다.
YOLOv9: 효율 극대화를 위한 프로그래밍 가능한 그라데이션
YOLOv9 심층 신경망의 정보 손실이라는 근본적인 문제를 해결함으로써 실시간 객체 감지의 패러다임 전환을 의미합니다. 중요한 데이터가 네트워크 깊이 전체에 걸쳐 보존되도록 함으로써 YOLOv9 놀라운 매개변수 효율성과 함께 뛰어난 정확도를 달성합니다.
저자들: 저자: 왕치엔야오, 홍위안 마크 리아오
조직:대만 학술원 정보과학연구소
날짜: 2024-02-21
아카이브:https://arxiv.org/abs/2402.13616
깃허브:https://github.com/WongKinYiu/yolov9
문서ultralytics
핵심 아키텍처: PGI 및 GELAN
YOLOv9 차별화된 두 가지 획기적인 기술을 소개합니다:
- 프로그래밍 가능한 그라데이션 정보(PGI): 딥 네트워크는 종종 입력 데이터가 레이어를 통과할 때 손실되는 정보 병목 현상을 겪습니다. PGI는 신뢰할 수 있는 그라데이션을 생성하는 보조 감독 분기를 제공하여 딥 레이어가 정확한 가중치 업데이트를 위한 완전한 정보를 수신할 수 있도록 합니다.
- 일반화된 효율적인 계층 집계 네트워크(GELAN): 이 새로운 아키텍처는 CSPNet과 ELAN의 강점을 결합한 것입니다. GELAN은 매개변수 활용도를 극대화하도록 설계되어 가벼우면서도 매우 강력한 모델을 제공합니다.
PGI가 중요한 이유
기존의 딥러닝 모델에서는 출력 계층의 손실 함수에 얕은 계층의 업데이트를 효과적으로 안내하기에 충분한 정보가 부족한 경우가 많습니다. PGI는 입력 정보를 보존하고 전체 네트워크가 강력한 기능을 학습하도록 하여 더 나은 수렴과 더 높은 정확도를 이끌어내는 다리 역할을 합니다.
Ultralytics 이점
개발자는 Ultralytics 에코시스템 내에서 YOLOv9 사용하면 독립형 구현에 비해 상당한 이점을 얻을 수 있습니다:
- 사용 편의성: Ultralytics Python API 및 CLI 복잡한 교육 파이프라인을 간단한 명령으로 추상화합니다.
- 교육 효율성: Ultralytics 방법론은 최적의 리소스 사용을 보장합니다. YOLOv9 일반적으로 트랜스포머 기반 탐지기에 비해 트레이닝 중에 CUDA 메모리를 덜 필요로 하므로 더 다양한 하드웨어에서 사용할 수 있습니다.
- 다용도성: 핵심 YOLOv9 논문은 탐지에 초점을 맞추고 있지만, Ultralytics 프레임워크는 이러한 아키텍처를 다른 작업으로 쉽게 확장하고 다음과 같은 포맷으로 원활하게 내보낼 수 있도록 지원합니다. ONNX, TensorRT및 OpenVINO.
성능 분석: 정확성 대 효율성
아래 비교는 YOLO YOLOv9 장단점을 강조합니다. YOLO 특정 하드웨어에서 경쟁력 있는 속도를 제공하는 반면, YOLOv9 더 적은 매개변수로 더 높은 평균 정밀도(mAP) 를 일관되게 제공하여 뛰어난 아키텍처 효율성을 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
주요 요점:
- 매개변수 효율성: YOLOv9은 절반 이하의 파라미터 (7.1M 대 16.3M)를 사용하면서 DAMO-YOLO(46.0)보다 더 높은 mAP (46.8)를 달성합니다. 따라서 YOLOv9 훨씬 더 스토리지 친화적이며 에지 AI 디바이스에서 무선으로 업데이트하기가 더 쉽습니다.
- 최고 수준의 정확도: 가장 큰 YOLO 변형(c 및 e)은 정확도의 한계를 훨씬 뛰어넘어 55. mAP 도달합니다.
- 속도: 중간 모델의 경우 원시 TensorRT 지연 시간에서 YOLO 약간 우위를 보이지만, YOLOv9t는 매우 빠르기 때문에(2.3ms) 실시간 모바일 애플리케이션에 이상적입니다.
학습 방법론 및 사용성
교육 경험은 두 모델 간에 크게 다릅니다. YOLO NAS에 의존하기 때문에 아키텍처를 도출하기 위해 복잡한 검색 단계를 거치거나 미리 검색된 백본을 사용해야 합니다. 백본 구조의 사용자 정의가 필요한 경우 "일회성" 접근 방식은 계산 비용이 많이 들 수 있습니다.
반면, Ultralytics 지원하는 YOLOv9 간소화된 훈련 모드를 제공합니다. 사용자는 최소한의 구성으로 Open Images V7과 같은 사용자 지정 데이터 세트 또는 특수 컬렉션에서 모델을 미세 조정할 수 있습니다. Ultralytics HUB와의 통합을 통해 클라우드 기반 학습, 시각화 및 원클릭 배포가 가능하므로 NAS 또는 하이퍼파라미터 조정에 대한 깊은 전문 지식 없이도 고급 AI에 대한 액세스를 대중화할 수 있습니다.
코드 예시: YOLOv9 교육
YOLOv9 구현하는 것은 Ultralytics Python 패키지를 사용하면 간단합니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
이상적인 사용 사례
YOLO 선택해야 할 때
- 대규모 비디오 처리: 밀리초의 지연 시간이 상당한 인프라 비용 절감으로 이어지는 특정 서버 GPU에서 수천 개의 비디오 스트림을 처리하는 경우, 높은 처리량을 위한 YOLO 최적화가 유용할 수 있습니다.
- 하드웨어 제약 수정: 하드웨어가 알려져 있고 정적인 시나리오의 경우, NAS 파생 아키텍처를 선택하여 사용 가능한 컴퓨팅 예산을 완벽하게 채울 수 있습니다.
YOLOv9 선택해야 할 때
- 범용 컴퓨터 비전: 로봇 공학, 보안 또는 리테일 분석 작업을 하는 대부분의 개발자에게 YOLOv9 정확성과 사용 편의성 사이에서 최고의 균형을 제공합니다.
- 엣지 배포: 뛰어난 매개변수 효율성(예: YOLOv9s)으로 인해 라즈베리 파이 또는 NVIDIA Jetson과 같은 제약이 있는 장치에 더 잘 맞으며 다른 애플리케이션을 위한 더 많은 공간을 확보할 수 있습니다.
- 연구 및 개발: PGI 아키텍처는 딥 러닝 효율성에 대한 추가 연구를 위한 흥미로운 기반을 제공합니다.
- 성숙한 에코시스템이 필요합니다: 프로젝트에 안정적인 추적, CoreML 또는 TFLite 간편한 내보내기, 활발한 커뮤니티 지원이 필요한 경우, YOLOv9 둘러싼 Ultralytics 에코시스템은 타의 추종을 불허합니다.
결론
YOLO YOLOv9 모두 물체 감지 분야의 빠른 혁신을 보여줍니다. YOLO 최대 속도 성능을 끌어내기 위한 신경망 아키텍처 검색의 가치를 증명합니다. 하지만 YOLOv9 은 대부분의 사용자에게 더 다양하고 강력한 솔루션으로 돋보입니다.
PGI로 심층 감독 정보 병목 현상을 해결하고 GELAN으로 레이어를 최적화함으로써 YOLOv9 놀라운 효율성과 함께 최첨단 정확도를 제공합니다. Ultralytics 에코시스템과 결합하면 개념에서 배포까지의 여정을 가속화하는 강력하고 잘 유지 관리되며 사용자 친화적인 플랫폼을 제공합니다. 자신 있게 최첨단 비전 애플리케이션을 구축하고자 하는 개발자에게는 Ultralytics YOLO 모델이 여전히 최고의 선택입니다.
다른 모델 살펴보기
Ultralytics 제품군 내의 다른 최신 옵션을 살펴보고 싶거나 더 자세히 비교하고 싶다면 다음 리소스를 참조하세요:
- Ultralytics YOLO11 - 다양한 비전 작업을 위한 최신 SOTA 모델입니다.
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLOv10 대 YOLO
- YOLOX vs. DAMO-YOLO