YOLOv5 대 YOLOv9#
컴퓨터 비전 및 실시간 객체 탐지 분야는 지난 몇 년간 놀라운 발전을 이루었습니다. 머신러닝 엔지니어에게 입증되고 검증된 모델과 최신 연구 아키텍처 사이에서 선택을 내리는 것은 흔한 과제입니다. 이 가이드는 YOLO 계열에서 매우 영향력 있는 두 모델인 YOLOv5와 YOLOv9를 포괄적으로 기술 비교합니다.
제한된 엣지 디바이스에 배포하든, 고정밀 피처 추출을 연구하든, 복잡한 object detection 파이프라인을 구축하든, 이러한 모델의 아키텍처적 미묘함, 성능 지표, 생태계 차이를 이해하는 것은 매우 중요합니다.
모델 개요#
아키텍처 비교에 들어가기 전에, 각 모델의 기원과 주요 목표를 이해하는 것이 도움이 됩니다.
Ultralytics YOLOv5#
Glenn Jocher가 개발하고 2020년 6월 26일 Ultralytics에서 발표한 YOLOv5는 개발자가 비전 모델과 상호작용하는 방식을 완전히 바꾼 패러다임 전환이었습니다. PyTorch 프레임워크를 전면 수용함으로써, YOLOv5는 기존 Darknet 기반 모델의 복잡한 컴파일 단계를 직관적인 파이썬 중심의 사용자 경험으로 대체했습니다.
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: YOLOv5 Repository
- Docs: YOLOv5 Documentation
YOLOv5는 뛰어난 **사용 편의성(Ease of Use)**과 다양한 하드웨어 환경에서의 안정적인 성능으로 유명합니다. 감지뿐만 아니라 image classification 및 instance segmentation도 지원합니다.
YOLOv9#
대만 중앙연구원 정보과학연구소의 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 프리(NMS-free) 디자인과 최대 43% 빨라진 CPU 추론 기능을 갖춘 YOLO26은 최신 엣지 컴퓨팅 및 프로덕션 배포에 강력히 권장됩니다.
아키텍처 및 기술적 차이#
이러한 비전 모델의 내부 작동 방식을 이해하는 것은 model deployment 전략을 최적화하는 데 필수적입니다.
특징 추출 및 정보 유지#
YOLOv5는 Cross Stage Partial Network (CSPNet) 백본을 사용하여 백프로파게이션 동안 정확한 그래디언트 흐름을 유지하면서 연산 오버헤드를 효과적으로 줄입니다. 이 디자인은 전통적인 GPU operations에 최적화되어 있으며, 무거운 Transformer 대안에 비해 학습 중 메모리 요구 사항을 낮춰줍니다.
YOLOv9은 CSPNet 원칙을 확장한 일반 아키텍처인 GELAN을 도입합니다. 보조 가역 브랜치인 PGI와 결합된 YOLOv9은 깊은 레이어가 정밀한 목적 함수에 필요한 시맨틱 데이터를 잃지 않도록 보장합니다. 이를 통해 YOLOv9은 특히 작은 객체에서 높은 accuracy를 달성할 수 있지만, 복잡한 보조 브랜치로 인해 깊이 제한된 엣지 하드웨어로의 내보내기 파이프라인이 복잡해질 수 있습니다.
메모리 요구 사항 및 학습 효율성#
학습 효율성 측면에서 YOLOv5는 여전히 매우 견고합니다. 잘 관리되는 Ultralytics ecosystem 덕분에 YOLOv5 모델은 훨씬 적은 CUDA 메모리를 소비하므로 연구원이 보급형 GPU에서 batch sizes를 극대화할 수 있습니다. YOLOv9은 뛰어난 파라미터 효율성(크기 대비 높은 정확도)을 달성하지만, 최적화된 프레임워크를 사용하지 않으면 학습 과정에 더 많은 리소스가 소모될 수 있습니다. 다행히도 YOLOv9을 Ultralytics API에 통합하면 YOLOv5의 간소화된 리소스 관리 수준에 가까워집니다.
성능 및 지표#
이러한 아키텍처를 객관적으로 평가하기 위해 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 레이턴시를 유지하여 고속, 로컬화된 edge computing 애플리케이션에서의 지속적인 강점을 보여줍니다.
학습 방법론 및 사용 편의성#
오늘날 computer vision을 활용하는 진정한 장점은 툴체인의 접근성에 있습니다.
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 접근 방식은 선택한 모델에 따라 감지뿐만 아니라 pose estimation 및 oriented bounding boxes (OBB)도 지원하여 엄청난 **다재다능함(Versatility)**을 제공합니다. 또한 Comet ML 및 Weights & Biases 같은 도구와의 강력한 통합이 학습 루프에 직접 내장되어 있습니다.
이상적인 사용 사례 및 실제 애플리케이션#
이 아키텍처 중 무엇을 선택할지는 하드웨어의 제약 조건과 애플리케이션 도메인에서 요구하는 정밀도에 크게 좌우됩니다.
YOLOv5를 선택해야 하는 경우#
YOLOv5는 안정성, 낮은 메모리 점유율, 그리고 뛰어난 내보내기 호환성을 우선시하는 배포 환경에서 빛을 발하는 실전 검증된 베테랑입니다.
- 모바일 배포: 구형 스마트폰에서 온디바이스 추론을 위해 YOLOv5를 TFLite 또는 CoreML로 내보내는 과정이 매우 원활합니다.
- 레거시 엣지 하드웨어: Raspberry Pi나 구세대 NVIDIA Jetson Nano 같은 디바이스의 경우, YOLOv5의 간단한 컨볼루션은 smart parking management와 같은 애플리케이션에 일정한 프레임 속도를 보장합니다.
- 빠른 프로토타이핑: 커뮤니티 튜토리얼, 커스텀 pre-trained weights, 그리고 방대한 데이터셋 호환성이 광범위하게 제공되므로 개념 증명(PoC)을 검증하는 가장 빠른 방법입니다.
YOLOv9를 선택해야 할 때#
YOLOv9은 약간의 추가 연산 오버헤드가 발생하더라도 복잡한 세부 정보를 포착하고 위음성(false negatives)을 최소화하는 것이 절대적으로 중요한 시나리오에 이상적입니다.
- 항공 및 위성 이미지: PGI 프레임워크는 작은 객체의 충실도를 유지하는 데 매우 능숙하여, YOLOv9은 드론 기반 agricultural monitoring에 탁월합니다.
- 의료 영상 진단: 고해상도 스캔에서 미세한 이상이나 병변을 탐지할 때, GELAN의 정확한 기울기 흐름은 리콜(recall) 측면에서 필요한 이점을 제공합니다.
- 하이엔드 소매 분석: 밀집된 선반에서 겹쳐진 제품을 추적하는 작업은 YOLOv9의 탁월한 특징 유지 기능으로부터 큰 이점을 얻습니다.
시야 확장하기#
YOLOv5와 YOLOv9을 비교하면 2020년부터 2024년까지 아키텍처가 어떻게 진화해 왔는지 명확히 알 수 있지만, AI 분야는 그 어느 때보다 빠르게 발전하고 있습니다. 성능의 절대적 한계를 추구하는 개발자라면 최신 YOLO26 models을 살펴보는 것을 강력히 권장합니다. 전통적인 비최대억제(NMS)를 네이티브 **엔드투엔드 NMS 프리 디자인(End-to-End NMS-Free Design)**으로 대체하고 고급 MuSGD Optimizer를 활용함으로써, YOLO26은 연구 수준의 정확도와 프로덕션 수준의 속도 간의 격차를 좁혀줍니다. **DFL 제거(DFL Removal, 단순화된 내보내기 및 더 나은 엣지/저전력 디바이스 호환성을 위해 Distribution Focal Loss 제거)**를 통해 YOLO26은 최대 43% 더 빠른 CPU 추론을 달성하여 엣지 컴퓨팅에 이상적입니다. 또한 ProgLoss + STAL은 손실 함수를 개선하여 소형 객체 인식 능력이 크게 향상되었으며, 이는 IoT, 로보틱스, 항공 이미지에 매우 중요합니다.
또한 RT-DETR이나 뛰어난 성능의 YOLO11 같은 다른 최첨단 모델과 이러한 아키텍처를 비교해 보는 것도 좋습니다. 통합된 Ultralytics 프레임워크를 활용하면 어떤 모델을 선택하든 개발 파이프라인이 깔끔하고 효율적이며 확장 가능한 상태로 유지됩니다.