YOLOv9 vs YOLOv7#
실시간 객체 감지의 발전은 계산 효율성과 높은 정확도의 균형을 맞추려는 지속적인 노력에 의해 이루어져 왔습니다. 이러한 발전 과정에서 중요한 두 아키텍처는 대만 Academia Sinica의 Institute of Information Science 연구진이 모두 개발한 YOLOv9와 YOLOv7입니다. YOLOv7이 혁신적인 학습 가능한 bag-of-freebies를 도입한 반면, 더 최신 모델인 YOLOv9는 딥러닝의 정보 병목 현상을 직접적으로 해결합니다.
이 포괄적인 기술 비교에서는 두 모델의 아키텍처 차이, 성능 지표, 이상적인 배포 시나리오를 살펴보고, ML 엔지니어와 연구자가 컴퓨터 비전 파이프라인에 적합한 도구를 선택할 수 있도록 지원합니다.
성능 및 지표 비교#
이러한 모델을 비교할 때는 원시 성능과 효율성이 중요한 요소입니다. 다음 표에서는 표준 COCO 데이터 세트 벤치마크에 대한 평균 정밀도(mAP)와 계산 요구 사항을 자세히 설명합니다.
| 모델 | 크기 (픽셀) | 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 |
YOLOv9c가 YOLOv7x(53.1 mAP)와 거의 동일한 정확도(53.0 mAP)를 달성하면서도 훨씬 적은 파라미터(25.3M 대 71.3M)와 FLOPs를 사용하는 점에 주목하시기 바랍니다. 이는 최신 아키텍처의 성능 균형이 향상되었음을 보여줍니다.
YOLOv9: 정보 병목 현상 해결#
2024년 초에 발표된 YOLOv9는 딥 뉴럴 네트워크가 계층 전반에서 데이터를 유지하는 방식을 근본적으로 바꾸었습니다.
- 저자: Chien-Yao Wang 및 Hong-Yuan Mark Liao
- 조직: Institute of Information Science, Academia Sinica
- 날짜: 2024년 2월 21일
- 리소스: Arxiv 논문 | GitHub 저장소
아키텍처 혁신#
YOLOv9는 Generalized Efficient Layer Aggregation Network(GELAN)와 Programmable Gradient Information(PGI)을 도입합니다. GELAN은 CSPNet과 ELAN의 장점을 결합하여 파라미터 효율성과 계산 비용을 최적화하고, 더 적은 파라미터 수로 높은 정밀도를 보장합니다. PGI는 딥 네트워크에서 데이터 손실을 방지하도록 설계된 보조 supervision 프레임워크로, 학습 과정에서 가중치를 업데이트할 때 신뢰할 수 있는 gradient를 생성합니다.
강점과 한계#
YOLOv9의 주요 강점은 막대한 계산 오버헤드 없이 미세한 특징을 추출할 수 있다는 점으로, 의료 이미지 분석과 같이 높은 feature fidelity가 필요한 작업에 매우 적합합니다. 그러나 학습 중 복잡한 PGI 구조를 사용하므로, 더 통합된 프레임워크에 비해 초보자가 사용자 지정 아키텍처를 수정하기가 더 어려울 수 있습니다.
YOLOv7: Bag-of-Freebies의 선구자#
2022년에 출시된 YOLOv7은 소비자용 하드웨어에서 가능한 성능의 새로운 기준을 세웠으며, 실시간 추론 속도를 크게 향상한 구조적 혁신을 도입했습니다.
- 저자: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
- 조직: Institute of Information Science, Academia Sinica
- 날짜: 2022년 7월 6일
- 리소스: Arxiv 논문 | GitHub 저장소
아키텍처 혁신#
YOLOv7의 핵심 기여는 Extended Efficient Layer Aggregation Network(E-ELAN)입니다. 이 아키텍처를 통해 모델은 더욱 다양한 특징을 지속적으로 학습할 수 있습니다. 또한 YOLOv7은 계획된 re-parameterized convolution과 동적 label assignment 같은 기법인 "trainable bag-of-freebies"를 사용합니다. 이러한 방법은 배포 시 추론 비용을 추가하지 않으면서 학습 중 모델의 정확도를 향상합니다.
강점과 한계#
YOLOv7은 실시간 엣지 처리에 고도로 최적화되어 있으며, 레거시 시스템과 구형 CUDA 환경에서 여전히 널리 사용됩니다. 현재 YOLOv7의 주요 한계는 최신 모델보다 파라미터 규모가 크다는 점입니다. 성능 표에서 볼 수 있듯이 최고 수준의 정확도를 달성하려면 대형 YOLOv7x 모델이 필요하며, 이 모델은 동급의 최신 아키텍처보다 훨씬 더 많은 GPU 메모리를 요구합니다.
Ultralytics의 강점: 간소화된 배포#
YOLOv9와 YOLOv7의 원본 연구 저장소는 훌륭한 학술적 기반을 제공하지만, 이러한 모델을 프로덕션 환경에 배포하는 작업은 복잡할 수 있습니다. ultralytics 패키지를 통해 통합하면 탁월한 사용 편의성을 제공합니다.
통합된 Ultralytics Platform을 활용하면 개발자는 직관적인 Python API, 활발한 커뮤니티 지원, 강력한 실험 추적 기능을 갖춘 체계적으로 유지 관리되는 생태계의 이점을 누릴 수 있습니다.
YOLO26으로 미래 대비#
새로운 컴퓨터 비전 프로젝트를 시작한다면 YOLOv9와 YOLOv7보다 새롭게 출시된 **YOLO26**을 검토할 것을 적극 권장합니다. 새로운 state-of-the-art 표준으로 출시된 YOLO26은 다음과 같은 획기적인 발전을 제공합니다.
- End-to-End NMS-Free 설계: 비최대 억제 후처리를 제거하여 배포 복잡성과 지연 시간을 크게 줄입니다.
- 최대 43% 더 빠른 CPU 추론: 엣지 컴퓨팅 환경에 최적화되어 전용 GPU가 없어도 애플리케이션이 원활하게 실행되도록 합니다.
- MuSGD Optimizer: LLM 학습에서 영감을 얻은 하이브리드 optimizer로, 매우 안정적인 수렴을 제공하고 학습 시간을 단축합니다.
- DFL 제거: Distribution Focal Loss를 제거하여 모델 내보내기를 간소화하고, 저전력 모바일 장치와의 호환성을 향상합니다.
- ProgLoss + STAL: 작은 객체 감지 성능을 크게 향상하여 항공 이미지와 감시 분야에 가장 적합한 선택이 되도록 합니다.
생태계 내 다른 인기 대안으로는 Ultralytics YOLOv8과 YOLO11이 있으며, 두 모델 모두 인스턴스 세그멘테이션과 포즈 추정 같은 작업 전반에서 뛰어난 다용성을 제공합니다.
구현 예시#
통합 API를 사용하면 이러한 아키텍처를 모두 매우 간단하게 학습하고 내보낼 수 있습니다. 아래 코드는 Ultralytics 도구의 특징인 간소화된 학습 효율성을 보여줍니다.
from ultralytics import YOLO
# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt") # Swap with "yolo26n.pt" for faster edge performance
# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export the trained model to ONNX format for deployment
model.export(format="onnx")소비자용 하드웨어에서 학습할 때는 메모리 효율성이 매우 중요합니다. YOLOv9와 YOLO26의 Ultralytics 구현은 VRAM 급증을 줄이도록 고도로 최적화되어 있습니다. 이는 학습 중 심각한 메모리 비대 현상을 자주 겪는 Transformer 기반 모델(예: RT-DETR)과 대조됩니다.
실제 애플리케이션 및 이상적인 사용 사례#
이러한 아키텍처 중 무엇을 선택할지는 대개 프로덕션 환경의 구체적인 제약 조건에 따라 결정됩니다.
YOLOv9를 사용해야 하는 경우: 미세한 세부 정보의 유지가 필요한 환경에서 YOLOv9는 뛰어난 성능을 발휘합니다. 강력한 특징 추출 기능을 갖춘 YOLOv9는 선반에 빽빽하게 진열된 제품을 세는 리테일 분석이나 작은 잎에서 초기 작물 질병을 식별하는 것이 중요한 농업 애플리케이션에 이상적입니다.
YOLOv7을 사용해야 하는 경우: YOLOv7은 레거시 배포 파이프라인에서 여전히 강력한 후보입니다. 구형 하드웨어 시스템(예: 특정 세대의 Google Coral Edge TPU)에 통합하는 경우, YOLOv7의 단순한 CNN 아키텍처가 최신 모델의 더 복잡한 gradient branch보다 컴파일하기 쉬울 수 있습니다.
YOLO26을 사용해야 하는 경우(권장): 자율 드론부터 스마트 시티 교통 관리까지 모든 최신 배포 환경에서는 YOLO26이 더 우수한 선택입니다. YOLO26의 NMS-free 아키텍처는 결정론적인 추론 시간을 보장하며, 이는 안전이 중요한 로보틱스에 필수적입니다. 또한 높은 정밀도를 통해 전반적으로 YOLOv9와 YOLOv7을 능가합니다.