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 Documentation
YOLOv5는 사용 편의성과 다양한 하드웨어 환경에서의 안정적인 성능으로 잘 알려져 있습니다. 검출뿐만 아니라 이미지 분류와 인스턴스 세그멘테이션도 지원합니다.
YOLOv9#
대만 Academia Sinica 산하 Institute of Information Science의 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)와 일반화된 효율적 레이어 집계 네트워크(GELAN)에 기반합니다. 이러한 개념은 모델이 깊은 네트워크 레이어를 거치는 동안 중요한 공간 특징을 유지하도록 지원합니다.
YOLOv5와 YOLOv9도 강력하지만, 새롭게 출시된 YOLO26은 속도와 정밀도의 궁극적인 균형을 제공합니다. 엔드투엔드 NMS-free 설계와 최대 43% 더 빠른 CPU 추론을 갖춘 YOLO26은 최신 엣지 컴퓨팅 및 프로덕션 배포에 적극 권장됩니다.
아키텍처 및 기술적 차이#
이러한 비전 모델을 내부에서 구동하는 요소를 이해하는 것은 모델 배포 전략을 최적화하는 데 매우 중요합니다.
특징 추출 및 정보 유지#
YOLOv5는 Cross Stage Partial Network(CSPNet) 백본을 사용하며, 역전파 중 정확한 그래디언트 흐름을 유지하면서 연산 오버헤드를 효과적으로 줄입니다. 이 설계는 기존 GPU 연산에 고도로 최적화되어 있으며, 대규모 Transformer 대안과 비교해 학습 중 더 적은 메모리를 사용합니다.
YOLOv9는 CSPNet 원칙을 확장한 일반 아키텍처인 GELAN을 도입합니다. 보조 가역 브랜치인 PGI와 결합된 YOLOv9는 정밀한 목적 함수에 필요한 의미 데이터를 깊은 레이어에서 잃지 않도록 합니다. 이를 통해 YOLOv9는 특히 작은 객체에서 높은 정확도를 달성할 수 있지만, 복잡한 보조 브랜치로 인해 제약이 큰 엣지 하드웨어로의 export 파이프라인이 때때로 복잡해질 수 있습니다.
메모리 요구 사항 및 학습 효율성#
학습 효율성 측면에서 YOLOv5는 여전히 매우 견고합니다. 잘 관리되는 Ultralytics 생태계 덕분에 YOLOv5 모델은 CUDA 메모리를 훨씬 적게 사용하므로 연구자는 일반 소비자용 GPU에서 배치 크기를 최대화할 수 있습니다. YOLOv9는 뛰어난 파라미터 효율성(모델 크기에 비해 높은 정확도)을 달성하지만, 최적화된 프레임워크를 사용하지 않으면 학습 과정에 더 많은 리소스가 필요할 수 있습니다. 다행히 YOLOv9를 Ultralytics API에 통합하면 YOLOv5의 간소화된 리소스 관리 수준에 가까워집니다.
성능 및 지표#
이러한 아키텍처를 객관적으로 평가하기 위해 COCO와 같은 표준 데이터셋에서 성능을 비교합니다. 아래에는 mAP(평균 정밀도), 추론 속도 및 파라미터 수와 같은 지표를 자세히 정리했습니다.
| 모델 | 크기 (픽셀) | 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를 모두 학습하고, 평가하고, export할 수 있습니다.
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는 안정성, 적은 메모리 사용량 및 광범위한 export 호환성을 우선시하는 배포 환경에서 뛰어난 검증된 베테랑입니다.
- 모바일 배포: YOLOv5를 TFLite 또는 CoreML로 export하여 구형 스마트폰에서 온디바이스 추론을 수행하는 작업은 매우 원활합니다.
- 레거시 엣지 하드웨어: Raspberry Pi나 초기 세대 NVIDIA Jetson Nano와 같은 디바이스에서는 YOLOv5의 단순한 컨볼루션이 스마트 주차 관리와 같은 애플리케이션에서 일관된 프레임 속도를 보장합니다.
- 신속한 프로토타이핑: 커뮤니티 튜토리얼, 사용자 지정 사전 학습 가중치 및 광범위한 데이터셋 호환성을 풍부하게 활용할 수 있어 개념 증명을 검증하는 가장 빠른 방법입니다.
YOLOv9을 선택해야 하는 경우#
YOLOv9는 약간 더 많은 연산 오버헤드가 필요하더라도 복잡한 세부 사항을 포착하고 false negative를 최소화하는 것이 절대적으로 중요한 시나리오에 적합합니다.
- 항공 및 위성 이미지: PGI 프레임워크는 작은 객체의 충실도를 유지하는 데 매우 뛰어나므로 YOLOv9는 드론 기반 농업 모니터링에 탁월합니다.
- 의료 영상 진단: 고해상도 스캔에서 미세한 이상이나 병변을 검출할 때 GELAN의 정확한 그래디언트 흐름은 재현율 측면에서 필요한 이점을 제공합니다.
- 고급 리테일 분석: 밀집된 선반에서 서로 겹친 제품을 추적할 때 YOLOv9의 뛰어난 특징 유지 능력이 큰 이점을 제공합니다.
가능성의 지평 확장#
YOLOv5와 YOLOv9를 비교하면 2020년부터 2024년까지 아키텍처가 어떻게 발전했는지 명확하게 확인할 수 있지만, AI 분야는 그 어느 때보다 빠르게 변화하고 있습니다. 최고의 성능을 추구하는 개발자라면 최신 YOLO26 모델을 살펴보는 것이 좋습니다. YOLO26은 기존 Non-Maximum Suppression을 네이티브 엔드투엔드 NMS-Free 설계로 대체하고 고급 MuSGD 옵티마이저를 활용하여 연구 수준의 정확도와 프로덕션 수준의 속도 사이의 격차를 해소합니다. DFL 제거(단순화된 export와 향상된 엣지 및 저전력 디바이스 호환성을 위해 Distribution Focal Loss 제거)를 통해 YOLO26은 최대 43% 더 빠른 CPU 추론을 달성하므로 엣지 컴퓨팅에 적합합니다. 또한 ProgLoss + STAL은 손실 함수를 개선하여 작은 객체 인식 성능을 크게 향상하며, 이는 IoT, 로보틱스 및 항공 이미지에서 중요합니다.
이러한 아키텍처를 RT-DETR과 같은 다른 최신 기술 수준의 모델이나 매우 뛰어난 YOLO11과 비교하는 데에도 관심이 있을 수 있습니다. 통합 Ultralytics 프레임워크를 활용하면 어떤 모델을 선택하더라도 개발 파이프라인을 깔끔하고 효율적으로 유지하면서 확장할 수 있습니다.