YOLOv5 대 YOLOv9: 심층 기술 비교
지난 몇 년간 컴퓨터 비전 및 실시간 객체 탐지 분야는 놀라운 발전을 이루었습니다. 검증을 마친 안정적인 모델과 최신 연구 아키텍처 중에서 선택하는 것은 머신러닝 엔지니어들에게 흔한 과제입니다. 이 가이드는 YOLO 계열에서 매우 영향력 있는 두 모델인 YOLOv5와 YOLOv9에 대한 포괄적인 기술적 비교를 제공합니다.
제한된 엣지 디바이스에 배포하든, 고충실도 특징 추출을 연구하든, 아니면 복잡한 객체 탐지 파이프라인을 구축하든 상관없이, 이러한 모델들의 아키텍처 차이, 성능 지표 및 생태계 차이를 이해하는 것이 중요합니다.
모델 개요
아키텍처 비교에 앞서 각 모델의 기원과 주요 목표를 이해하는 것이 도움이 됩니다.
Ultralytics YOLOv5
Glenn Jocher가 개발하고 2020년 6월 26일에 Ultralytics에서 출시한 YOLOv5는 개발자가 비전 모델과 상호작용하는 방식에 패러다임 변화를 가져왔습니다. PyTorch 프레임워크를 완전히 수용함으로써, YOLOv5는 기존 Darknet 기반 모델들의 복잡한 컴파일 단계를 직관적이고 Python 중심적인 사용자 경험으로 대체했습니다.
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: YOLOv5 리포지토리
- 문서: YOLOv5 플랫폼 개요
YOLOv5는 사용 편의성과 다양한 하드웨어 환경에서의 안정적인 성능으로 유명합니다. 탐지뿐만 아니라 이미지 분류 및 인스턴스 분할도 지원합니다.
YOLOv9
대만 Academia Sinica 정보과학연구소의 Chien-Yao Wang과 Hong-Yuan Mark Liao가 소개한 YOLOv9은 딥 뉴럴 네트워크의 정보 병목 현상 문제를 완화하기 위해 아키텍처 이론에 크게 집중합니다.
- 저자: Chien-Yao Wang 및 Hong-Yuan Mark Liao
- 조직: 대만 아카데미아 시니카 정보과학연구소
- 날짜: 2024-02-21
- Arxiv: 2402.13616
- GitHub: YOLOv9 저장소
- 문서: YOLOv9 문서
YOLOv9의 핵심은 두 가지 주요 이론적 혁신인 PGI(Programmable Gradient Information)와 GELAN(Generalized Efficient Layer Aggregation Network)에 의존합니다. 이러한 개념들은 모델이 딥 네트워크 계층을 통해 중요한 공간적 특징을 유지하도록 돕습니다.
YOLOv5와 YOLOv9은 강력하지만, 새로 출시된 YOLO26은 속도와 정밀도의 최적 균형을 보여줍니다. NMS가 필요 없는 엔드투엔드 설계와 최대 43% 더 빠른 CPU 추론 성능을 갖춘 YOLO26은 현대적인 엣지 컴퓨팅 및 프로덕션 배포에 강력히 권장됩니다.
아키텍처 및 기술적 차이
이러한 비전 모델의 내부 작동 방식을 이해하는 것은 모델 배포 전략을 최적화하는 데 필수적입니다.
특징 추출 및 정보 보존
YOLOv5는 CSPNet(Cross Stage Partial Network) 백본을 사용하여 역전파 중 정확한 그래디언트 흐름을 유지하면서 계산 오버헤드를 효과적으로 줄입니다. 이 설계는 기존 GPU 연산에 최적화되어 있으며, 무거운 Transformer 대안 모델에 비해 학습 중 메모리 요구 사항을 낮게 유지합니다.
YOLOv9은 CSPNet 원리를 확장한 범용 아키텍처인 GELAN을 도입했습니다. 보조 가역 분기인 PGI와 결합하여 YOLOv9은 깊은 계층에서 정확한 목적 함수에 필요한 의미론적 데이터를 손실하지 않도록 보장합니다. 이를 통해 YOLOv9은 특히 작은 객체에 대해 높은 정확도를 달성하지만, 복잡한 보조 분기로 인해 심도 있게 제한된 엣지 하드웨어로의 내보내기 파이프라인이 때로는 복잡해질 수 있습니다.
메모리 요구 사항 및 학습 효율성
When it comes to training efficiency, YOLOv5 remains incredibly robust. The well-maintained Ultralytics ecosystem ensures that YOLOv5 models consume significantly less CUDA memory, allowing researchers to maximize batch sizes on consumer-grade GPUs. While YOLOv9 achieves excellent parameter efficiency (high accuracy relative to its size), its training process can be more resource-intensive if not utilizing optimized frameworks. Fortunately, integrating YOLOv9 into the Ultralytics API brings it closer to parity with YOLOv5's streamlined resource management.
성능 및 지표
이러한 아키텍처를 객관적으로 평가하기 위해 COCO와 같은 표준 데이터셋에서 성능을 비교합니다. 아래는 mAP(Mean Average Precision), 추론 속도 및 파라미터 수와 같은 지표에 대한 자세한 분석입니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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은 더 최신 아키텍처를 반영하여 동급 티어에서 더 높은 원시 정확도를 달성합니다. 하지만 YOLOv5n은 1.12ms라는 매우 낮은 TensorRT 지연 시간을 유지하며, 고속 로컬 엣지 컴퓨팅 애플리케이션에 대한 지속적인 강점을 보여줍니다.
학습 방법론 및 사용 편의성
오늘날 컴퓨터 비전을 활용하는 진정한 이점은 툴체인의 접근성에 있습니다.
Ultralytics의 강점
YOLOv9와 같은 모델의 원본 연구 리포지토리는 기본이 되지만, 종종 복잡한 의존성 매트릭스와 상용구 스크립트가 포함되어 있습니다. Ultralytics Python API는 이러한 복잡성을 완전히 추상화합니다. Ultralytics 생태계를 사용하면 동일하고 통합된 구문으로 YOLOv5와 YOLOv9 모두를 학습, 평가 및 내보내기할 수 있습니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")이 단일 API 방식은 엄청난 범용성을 제공하여 탐지뿐만 아니라 선택한 모델에 따라 포즈 추정 및 지향성 경계 상자(OBB)도 지원합니다. 또한 Comet ML 및 Weights & Biases와 같은 도구와의 강력한 통합 기능이 학습 루프에 직접 내장되어 있습니다.
이상적인 사용 사례 및 실무 응용
이러한 아키텍처 간의 선택은 주로 하드웨어의 제약 조건과 애플리케이션 도메인에서 요구하는 정밀도에 따라 달라집니다.
YOLOv5를 선택해야 할 때
YOLOv5는 안정성, 낮은 메모리 사용량, 극강의 내보내기 호환성을 우선시하는 배포 환경에서 빛을 발하는 검증된 베테랑 모델입니다.
- 모바일 배포: YOLOv5를 TFLite 또는 CoreML로 내보내어 구형 스마트폰에서 온디바이스 추론을 수행하는 과정은 매우 원활합니다.
- 레거시 엣지 하드웨어: Raspberry Pi나 구형 NVIDIA Jetson Nano와 같은 디바이스의 경우, YOLOv5의 직관적인 컨볼루션 연산은 스마트 주차 관리와 같은 애플리케이션에서 일관된 프레임 속도를 보장합니다.
- 빠른 프로토타이핑: 커뮤니티 튜토리얼, 사용자 지정 사전 학습된 가중치, 대규모 데이터셋 호환성을 폭넓게 제공하여 개념 증명을 검증하는 가장 빠른 방법입니다.
YOLOv9을 선택해야 할 때
YOLOv9은 약간 더 많은 계산 오버헤드가 필요하더라도 복잡한 세부 정보를 포착하고 오탐지를 최소화하는 것이 절대적으로 중요한 시나리오에 이상적입니다.
- Aerial and Satellite Imagery: The PGI framework is highly adept at maintaining the fidelity of small objects, making YOLOv9 excellent for drone-based agricultural monitoring.
- 의료 영상 진단: 고해상도 스캔에서 미세한 이상이나 병변을 탐지할 때, GELAN의 정확한 그래디언트 흐름은 리콜(recall) 측면에서 필요한 이점을 제공합니다.
- 하이엔드 소매 분석: 밀집된 선반에서 겹쳐진 제품을 추적할 때 YOLOv9의 우수한 특징 유지 성능이 큰 도움이 됩니다.
영역 확장하기
YOLOv5와 YOLOv9을 비교하면 2020년부터 2024년까지 아키텍처가 어떻게 진화했는지 명확하게 알 수 있지만, AI 분야는 그 어느 때보다 빠르게 변화하고 있습니다. 최고의 성능을 추구하는 개발자라면 최신 YOLO26 모델을 살펴보기를 강력히 권장합니다. 기존의 NMS를 네이티브 NMS가 필요 없는 엔드투엔드 설계로 대체하고 고급 MuSGD 옵티마이저를 활용하는 YOLO26은 연구 수준의 정확도와 프로덕션 수준의 속도 사이의 격차를 해소합니다. DFL 제거(내보내기 간소화 및 엣지/저전력 디바이스 호환성 향상을 위해 Distribution Focal Loss 제거)를 통해 YOLO26은 최대 43% 더 빠른 CPU 추론을 달성하며 엣지 컴퓨팅에 이상적입니다. 또한 ProgLoss + STAL은 손실 함수를 개선하여 IoT, 로봇 공학 및 항공 이미지에 중요한 작은 객체 인식에서 괄목할만한 성능 향상을 제공합니다.
또한 이러한 아키텍처들을 RT-DETR이나 매우 뛰어난 성능을 자랑하는 YOLO11과 같은 다른 최신 모델들과 비교해보는 것도 좋습니다. 통합된 Ultralytics 프레임워크를 사용하면 어떤 모델을 선택하든 개발 파이프라인을 깔끔하고 효율적으로 유지하며 규모에 맞게 확장할 수 있습니다.