YOLOv9 YOLOv7: 물체 감지 진화에 대한 심층 분석
컴퓨터 비전은 아키텍처의 혁신이 속도와 정확성의 경계를 지속적으로 재정의하는 빠른 혁신이 특징입니다. 이 여정에서 중요한 두 가지 이정표는 YOLOv9 YOLOv7. 두 모델 모두 "You Only Look Once" 제품군의 여러 세대를 대표하는 Chien-Yao Wang과 동료들의 연구에서 비롯된 것입니다.
동안 YOLOv7 은 2022년 출시와 동시에 실시간 객체 감지의 표준을 정립했습니다, YOLOv9 은 딥 네트워크의 정보 손실을 해결하기 위한 새로운 메커니즘으로 2024년에 등장했습니다. 이 비교에서는 기술 사양, 아키텍처 차이점, 실제 적용 사례를 살펴보고 개발자가 필요에 맞는 최적의 모델을 선택할 수 있도록 도와드립니다.
성능 지표 및 효율성
YOLOv7 YOLOv9 진화는 계산 비용과 탐지 성능 간의 균형에서 가장 잘 드러납니다. YOLOv9 효율성이 크게 향상되어 이전 버전에 비해 더 적은 수의 파라미터로 더 높은 평균 정밀도(mAP) 를 달성할 수 있습니다.
예를 들어, YOLOv9m 모델은 YOLOv7l과 동일한 51.4%의 mAPval을 달성하지만 거의 절반에 가까운 파라미터(20.0M 대 36.9M)와 훨씬 적은 수의 FLOP을 사용합니다. 이러한 효율성은 하드웨어 리소스에 제약이 있는 엣지 AI 애플리케이션에 특히 유리합니다.
| 모델 | 크기 (픽셀) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv9: 프로그래밍 가능한 그라데이션 정보
YOLOv9 심층 신경망이 레이어를 통해 데이터 전송을 처리하는 방식에 대한 패러다임의 변화를 의미합니다. 2024년 초에 출시된 이 기술은 특히 데이터가 딥 네트워크의 연속적인 계층을 통과할 때 손실되는 '정보 병목' 문제를 해결하고자 합니다.
저자들: 저자: 왕치엔야오, 홍위안 마크 리아오
조직:중국학술원 정보과학연구소
날짜: 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9
아키텍처 혁신
YOLOv9 핵심 혁신은 프로그래밍 가능한 그라데이션 정보(PGI)의 도입입니다. PGI는 특징 추출 중에 손실될 수 있는 필수 입력 정보를 보존하면서 그라데이션이 초기 레이어로 안정적으로 다시 전파되도록 하는 보조 감독 프레임워크를 제공합니다.
PGI를 보완하는 것이 일반화된 효율적인 레이어 집계 네트워크(GELAN)입니다. 이 아키텍처를 사용하면 개발자가 다양한 계산 블록(예: CSP 또는 ResBlocks)을 유연하게 스택하여 정확도를 유지하면서 특정 하드웨어 제약 조건에 맞게 모델 가중치를 최적화할 수 있습니다.
강점과 약점
- 강점:
- 뛰어난 정확도: COCO 데이터 세트에서 55.6%의 mAP 도달하는 YOLOv9 모델을 통해 최첨단 결과를 달성합니다.
- 매개변수 효율성: 훨씬 적은 수의 매개변수를 사용하여 이전 모델과 비슷한 성능을 제공하므로 추론 시 메모리 요구량이 줄어듭니다.
- 정보 보존: 그라디언트 흐름의 이론적 개선으로 수렴 및 특징 표현이 향상되었습니다.
- 약점:
- 훈련 복잡도: 훈련 중에 사용되는 보조 브랜치(추론을 위해 제거됨)는 단순한 아키텍처에 비해 훈련 단계에서 GPU 메모리 사용량을 증가시킬 수 있습니다.
YOLOv7: 공짜 가방의 표준
YOLOv9 이전, YOLOv7 이 YOLO 제품군의 챔피언이었습니다. "공짜 가방"이라는 개념으로 알려진 추론 비용을 늘리지 않고 훈련 프로세스를 최적화하는 데 초점을 맞춘 아키텍처 개선 사항을 도입했습니다.
저자 왕치엔야오, 알렉세이 보흐코브스키, 홍위안 마크 리아오
조직: 중국과학원 정보과학연구소
날짜: 2022-07-06
아카이브:2207.02696
깃허브:WongKinYiu/yolov7
Docs:Ultralytics YOLOv7
아키텍처 개요
YOLOv7 네트워크의 학습 능력을 향상시키기 위해 최단 및 최장 경사 경로를 제어하는 E-ELAN(확장된 효율적인 계층 집합 네트워크)을 도입했습니다. 또한 네트워크의 깊이와 폭을 동시에 수정하는 모델 스케일링 기술을 활용하여 다양한 대상 디바이스에 맞는 최적의 아키텍처를 보장합니다.
강점과 약점
- 강점:
- 검증된 신뢰성: 수년에 걸친 광범위한 커뮤니티 사용과 검증을 통해 레거시 시스템을 위한 안정적인 선택입니다.
- 빠른 속도: 표준 GPU 하드웨어에서 실시간 추론에 최적화되어 있습니다.
- 약점:
- 낮은 효율성: 더 많은 파라미터와 플롭이 필요하여 YOLOv9 또는 YOLO11 과 같은 최신 모델이 더 가벼운 아키텍처로 달성할 수 있는 정확도 수준에 맞춰야 합니다.
- 구형 도구: 최신 Ultralytics 에코시스템에서 볼 수 있는 일부 기본 통합 및 사용 편의성 기능이 부족합니다.
이상적인 사용 사례 및 애플리케이션
이 두 모델 중 선택은 배포 환경의 특정 제약 조건과 필요한 작업의 정밀도에 따라 달라지는 경우가 많습니다.
YOLOv9 선택해야 할 때
YOLOv9 최고의 정확도 대비 효율성이 요구되는 시나리오에 적합합니다.
- 자율주행 내비게이션: 자율주행차에서는 원거리에 있는 작은 물체를 감지하는 것이 매우 중요합니다. YOLOv9 정보 보존 기능은 멀리 있는 위험을 인식하는 데 도움이 됩니다.
- 의료 영상: 종양 검출과 같이 양성 검출을 놓치는 것이 중요한 작업의 경우, YOLOv9 높은 회상률과 정확도가 유용합니다.
- 엣지 디바이스: 에 지정되어 있습니다.
yolov9t변형은 다음과 같은 강력한 솔루션을 제공합니다. IoT 디바이스 와 같이 최소한의 계산 오버헤드로 우수한 정확도를 제공합니다.
YOLOv7 선택해야 하는 경우
YOLOv7 이미 아키텍처에 최적화되어 있는 기존 파이프라인과도 여전히 관련이 있습니다.
- 레거시 시스템: 품질 관리를 위해 YOLOv7 검증한 산업 제조 라인은 즉시 업그레이드하기보다는 일관성을 유지하는 것을 선호할 수 있습니다.
- 연구 기준선: 학술 연구의 기존 표준과 새로운 탐지 전략을 비교할 수 있는 훌륭한 벤치마크 역할을 합니다.
Ultralytics 통한 성능 균형
속도, 정확성 및 개발자 경험의 궁극적인 균형을 원하는 개발자는 다음 사항을 고려해야 합니다. Ultralytics YOLO11. YOLO11 이전 세대의 최고의 기능을 간소화된 API와 통합하여 단일 프레임워크에서 감지, 세분화, 포즈 추정 및 분류를 지원합니다.
Ultralytics 이점
Ultralytics 에코시스템 내에서 이러한 모델을 사용하면 원시 리서치 리포지토리를 사용할 때보다 뚜렷한 이점이 있습니다. 복잡한 상용구 코드를 추상화하여 연구자와 엔지니어가 데이터와 결과에 집중할 수 있도록 해주는 Ultralytics Python API입니다.
- 사용 편의성: 통합 인터페이스를 통해 한 줄의 코딩으로 YOLOv8, YOLOv9, YOLO11 전환할 수 있습니다.
- 학습 효율성: Ultralytics 모델은 더 빠른 융합을 위해 최적화되어 있으며, 높은 정확도에 도달하기 위해 더 적은 학습 데이터가 필요한 경우가 많습니다.
- 메모리 요구 사항: 이 프레임워크는 CUDA 메모리 사용량을 최소화하도록 설계되어 메모리를 많이 사용하는 트랜스포머 모델에 비해 소비자급 하드웨어에서 더 큰 배치 크기를 훈련할 수 있습니다.
- 다용도성: 단순한 바운딩 박스를 넘어 인스턴스 세분화, 포즈 추정, OBB(지향 바운딩 박스) 작업을 지원하여 다양한 AI 과제를 위한 종합적인 도구로 활용됩니다.
구현 예시
이러한 모델을 실행하는 것은 Ultralytics 라이브러리를 사용하면 간단합니다. 다음 코드 스니펫은 사전 학습된 모델을 로드하고 이미지에서 추론을 실행하는 방법을 보여 줍니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)
# Process results
for result in results:
result.show() # Display predictions
사용자 지정 데이터 세트에 대한 교육에 관심이 있는 경우, 프레임워크에 내장된 강력한 하이퍼파라미터 튜닝 및 데이터 증강 전략을 활용하여 프로세스가 똑같이 간단합니다.
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
결론
YOLOv9 YOLOv7 모두 컴퓨터 비전 분야에서 중요한 업적을 남겼습니다. YOLOv9 은 혁신적인 PGI 및 GELAN 아키텍처를 통해 뛰어난 파라미터 효율성과 정확성을 제공하는 확실한 기술적 후속 제품입니다. 특정 Wang 등 연구 계보에서 고성능을 원하는 사용자에게 권장되는 선택입니다.
하지만 가장 전체적인 AI 개발 경험을 원하는 개발자를 위한 제품입니다, Ultralytics YOLO11 이 여전히 최고의 추천 제품입니다. 적극적인 유지 관리, 광범위한 문서화, 멀티모달 작업에 대한 광범위한 지원을 제공하는 YOLO11 프로젝트가 미래 지향적이고 프로덕션에 바로 사용할 수 있도록 보장합니다.
다른 모델 살펴보기
객체 감지 환경에 대한 이해의 폭을 넓히려면 다음과 같은 관련 모델과 비교를 살펴보세요:
- YOLO11 YOLOv9 - 최신 Ultralytics 모델과 YOLOv9 비교합니다.
- YOLOv8 YOLOv7 비교 - 이전 세대와 비교해 보세요.
- RT-DETR YOLOv9 - 트랜스포머 기반 탐지와 CNN을 비교합니다.
- YOLOv10 - 실시간 엔드투엔드 객체 감지 모델을 살펴보세요.
- Ultralytics 허브 - 모델을 훈련하고 배포하는 가장 쉬운 방법입니다.