YOLOv7 대 YOLOv9: 현대 객체 탐지에 대한 기술적 심층 분석
실시간 객체 탐지 분야는 급격히 발전하고 있으며, 새로운 버전이 출시될 때마다 에지 디바이스와 클라우드 서버 모두에서 가능한 성능의 한계를 넓혀가고 있습니다. 컴퓨터 비전 프로젝트를 위한 아키텍처를 평가할 때, 개발자들은 기존 벤치마크와 새로운 혁신 기술을 자주 비교합니다. 본 가이드는 YOLO 제품군의 두 가지 중요한 이정표인 YOLOv7과 YOLOv9을 포괄적으로 비교합니다.
두 모델의 아키텍처적 돌파구, 성능 지표, 그리고 이상적인 배포 시나리오를 분석하여 귀하의 애플리케이션에 적합한 모델을 선택할 수 있도록 돕겠습니다. 또한 Ultralytics Platform이 어떻게 이러한 모델들을 통합하여 학습, 검증 및 배포를 용이하게 하는지도 살펴볼 것입니다.
모델 계보 및 기술 사양
이 모델들의 기원과 설계 철학을 이해하는 것은 해당 모델의 역량을 파악하는 데 필수적인 맥락을 제공합니다. 두 모델 모두 공통된 연구 계보를 공유하지만 서로 다른 아키텍처 병목 현상을 해결하는 데 중점을 둡니다.
YOLOv7: Bag-of-Freebies의 개척자
2022년 중반에 출시된 YOLOv7은 매우 안정적이고 고도로 최적화된 아키텍처로 자리매김했습니다. 이 모델은 구조적 재매개변수화와 "학습 가능한 Bag-of-Freebies" 접근 방식을 도입하여 평균 정밀도(mAP)를 저하시키지 않으면서도 높은 추론 속도를 유지했습니다.
- 저자: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
- 조직: 대만 중앙연구원 정보과학연구소(Institute of Information Science, Academia Sinica, Taiwan)
- 날짜: 2022년 7월 6일
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
아키텍처 혁신: YOLOv7은 E-ELAN(Extended Efficient Layer Aggregation Network)을 특징으로 하며, 이는 모델이 카디널리티를 확장, 셔플 및 병합하여 더욱 다양한 특징을 학습할 수 있게 합니다. 이 설계는 뛰어난 GPU 활용도와 추론 지연 시간을 제공합니다. 그러나 최신 버전과 비교할 때 복잡한 학습 과정에서 상당한 메모리를 요구할 수 있습니다.
YOLOv9: 정보 병목 현상 해결
동일한 연구팀에 의해 2024년 초에 소개된 YOLOv9은 심층 신경망 내에 내재된 "정보 병목 현상"을 해결합니다. 데이터가 깊은 레이어를 통과할 때 중요한 세부 정보가 종종 손실되는데, YOLOv9은 근본적으로 새로운 레이어 설계를 통해 이를 완화합니다.
- 저자: Chien-Yao Wang 및 Hong-Yuan Mark Liao
- 조직: 대만 중앙연구원 정보과학연구소(Institute of Information Science, Academia Sinica, Taiwan)
- 날짜: 2024년 2월 21일
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
아키텍처 혁신: YOLOv9은 PGI(Programmable Gradient Information)와 GELAN(Generalized Efficient Layer Aggregation Network)을 도입합니다. PGI는 신뢰할 수 있는 그래디언트가 보존되어 가중치를 정확하게 업데이트하도록 환류되게 합니다. GELAN은 매개변수 효율성을 극대화하여 YOLOv9이 이전 버전보다 훨씬 적은 FLOPs로 높은 정확도를 달성할 수 있게 합니다.
성능 분석
아키텍처를 선택할 때 AI 엔지니어는 정확도, 추론 속도 및 컴퓨팅 비용 간의 균형을 맞춰야 합니다. 아래 표는 표준 COCO 데이터셋에서 이러한 모델들의 성능 차이를 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
핵심 요약
- 매개변수 효율성: YOLOv9m은 YOLOv7l(51.4% mAP)의 정확도와 일치하면서도 45% 더 적은 매개변수(20.0M 대 36.9M)를 사용합니다. 이러한 급격한 감소 덕분에 YOLOv9m은 메모리 제약이 있는 에지 AI 디바이스에 배포하기가 훨씬 더 쉬워졌습니다.
- 마이크로 배포: YOLOv9t(tiny) 버전의 도입은 실시간 제약이 절대적인 환경을 위해 놀라운 속도(T4 TensorRT에서 2.3ms)를 제공합니다.
- 최대 정확도: 정밀도가 가장 중요한 애플리케이션의 경우, YOLOv9e는 탐지 정확도를 55.6% mAP까지 끌어올려 YOLOv7x보다 월등히 뛰어난 성능을 보입니다.
YOLOv7과 YOLOv9은 강력하지만, 새롭게 출시된 YOLO26은 결정적인 도약을 의미합니다. YOLO26은 네이티브 엔드투엔드 NMS-free 설계를 도입하여 복잡한 후처리를 제거하고 CPU 추론 속도를 최대 43%까지 향상시킵니다. 새로운 MuSGD 옵티마이저와 개선된 ProgLoss + STAL 손실 함수를 활용하는 YOLO26은 타의 추종을 불허하는 학습 안정성과 소형 객체 탐지 정확도를 제공합니다.
Ultralytics의 강점
모델 아키텍처 선택은 첫 번째 단계일 뿐입니다. 모델을 둘러싼 소프트웨어 생태계가 프로토타입에서 프로덕션까지 얼마나 빨리 나아갈 수 있는지를 결정합니다. Ultralytics Python API를 통해 이러한 모델을 통합하면 개발자와 연구자에게 상당한 이점을 제공합니다.
사용 편의성 및 학습 효율성
역사적으로 YOLOv7을 학습시키려면 복잡한 데이터 준비와 고도로 맞춤화된 스크립트가 필요했습니다. Ultralytics 프레임워크는 이러한 딥러닝 복잡성을 추상화합니다. 개발자는 최소한의 코드로 아키텍처를 쉽게 전환하고, 하이퍼파라미터 튜닝을 실험하며, 지능적인 데이터 증강 파이프라인을 활용할 수 있습니다.
또한 Ultralytics는 학습 및 추론 중 메모리 사용량을 최적화합니다. 무거운 Transformer 모델(예: RT-DETR)과 달리 Ultralytics YOLO 아키텍처는 훨씬 빠르게 학습되고 훨씬 적은 CUDA 메모리를 요구하여 소비자용 GPU에 이상적입니다.
코드 예시: 간소화된 학습
최첨단 모델을 학습시키는 것은 Ultralytics 생태계 내에서 원활하게 이루어집니다. 다음은 YOLOv9 모델을 학습 및 검증하는 방법을 보여주는 완전히 실행 가능한 예제입니다.
from ultralytics import YOLO
# Initialize the model (you can swap 'yolov9c.pt' with 'yolov7.pt' or 'yolo26n.pt')
model = YOLO("yolov9c.pt")
# Train the model on the COCO8 sample dataset
train_results = model.train(
data="coco8.yaml",
epochs=50,
imgsz=640,
device="0", # Use GPU 0 if available
batch=16, # Optimized batch size for memory efficiency
)
# Validate the model's performance on the validation set
metrics = model.val()
# Export the trained model to ONNX format for deployment
model.export(format="onnx")작업 전반에 걸친 타의 추종을 불허하는 다재다능함
잘 유지 관리되는 생태계는 다양한 컴퓨터 비전 작업에 대한 접근을 의미합니다. YOLOv7은 주로 객체 탐지를 위해 구축되었지만(이후 다른 작업을 위한 실험적 포크가 등장함), 현대적인 Ultralytics 모델은 본질적으로 다재다능하게 구축되었습니다. 즉시 인스턴스 세그멘테이션, 포즈 추정, 이미지 분류 및 회전형 경계 상자(OBB) 탐지를 원활하게 수행할 수 있습니다.
이상적인 사용 사례 및 응용 프로그램
YOLOv7과 YOLOv9 사이의 결정은 종종 특정 산업 제약 및 하드웨어 가용성에 따라 달라집니다.
YOLOv7을 활용해야 할 때
- 레거시 에지 배포: YOLOv7의 E-ELAN 아키텍처에 이미 고도로 튜닝되고 최적화된 하드웨어 환경의 경우, 산업용 IoT를 위한 강력한 선택지로 남아 있습니다.
- 교통 모니터링: YOLOv7의 높은 프레임 속도와 입증된 안정성은 스마트 시티 인프라 및 실시간 교통 관리에 탁월합니다.
- 로봇 통합: 역동적인 환경을 탐색하려면 저지연 처리가 필요한데, YOLOv7 변형 모델들이 이 시나리오에서 충분히 검증되었습니다.
YOLOv9 활용 시기
- 의료 영상: YOLOv9의 PGI 아키텍처는 깊은 레이어를 통해 미세한 세부 정보를 보존하는 데 탁월하며, 이는 종양 탐지와 같은 복잡한 의료 영상 분석 작업을 분석할 때 매우 중요합니다.
- 밀집 소매 분석: 소매점 선반에 빽빽하게 쌓인 품목을 추적하고 세는 경우, YOLOv9의 특징 통합은 우수한 정확도를 제공하고 오탐지(False Negative)를 줄여줍니다.
- 항공 및 드론 영상: YOLOv9m의 매개변수 효율성은 드론에서 고해상도 이미지 처리를 가능하게 하여 배터리 소모 없이 야생동물 보호 및 농업 모니터링을 지원합니다.
결론
YOLOv7과 YOLOv9 모두 컴퓨터 비전 역사에 각자의 자리를 확고히 했습니다. YOLOv7은 실시간 처리를 위한 필수 최적화를 도입했고, YOLOv9은 매개변수 효율성을 극대화하기 위해 구조적 딥러닝 병목 현상을 해결했습니다.
그러나 오늘날 새로운 프로젝트를 시작하는 개발자에게는 Ultralytics 생태계, 특히 YOLO11과 YOLO26 같은 차세대 모델을 활용하는 것이 속도, 정확도 및 개발자 경험 간에 가장 유리한 균형을 제공합니다. MuSGD 옵티마이저와 같은 혁신과 더 넓은 하드웨어 호환성을 위한 DFL(Distribution Focal Loss) 제거 등을 통해, Ultralytics는 비전 AI 전문가를 위한 가장 접근하기 쉽고 강력한 도구를 지속적으로 제공하고 있습니다.