YOLOv9 YOLOv5: 객체 탐지에서 아키텍처의 진화와 유산
YOLO You Only Look Once) 계열의 진화는 컴퓨터 비전 발전의 흥미로운 연대기를 보여줍니다. YOLOv5Ultralytics 출시되어 사용 편의성과 생산 준비도 측면에서 새로운 기준을 세웠으며, 전 세계 개발자들의 필수 프레임워크로 자리매김했습니다. YOLOv9는 2024년 중앙연구원(Academia Sinica) 연구진에 의해 공개되었으며, 프로그래머블 그라디언트 정보(PGI) 같은 개념으로 이론적 아키텍처의 한계를 확장합니다.
이 비교는 YOLOv5 검증된 신뢰성과 YOLOv9 아키텍처 혁신을 YOLOv5 , 특정 컴퓨터 비전 요구사항에 맞는 모델을 선택하는 데 도움을 줍니다.
성능 지표 비교
다음 표는 다양한 크기에서 두 모델을 벤치마킹한 결과입니다. YOLOv9 이론상 더 높은 정확도(mAP) YOLOv9 , YOLOv5 특히 기존 배포 환경에서 속도와 자원 효율성 측면에서 여전히 경쟁력을 YOLOv5 .
| 모델 | 크기 (픽셀) | 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 |
| 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 |
YOLOv5: 생산용 AI의 표준
2020년 Ultralytics에 의해 출시된 이후, YOLOv5 실용적인 AI 배포의 대명사가 되었습니다. 단순한 모델 아키텍처가 아닌 생태계 전체의 전환이었습니다. YOLOv5 이전에는 객체 탐지 모델 훈련에 복잡한 구성 파일과 취약한 C 기반 프레임워크가 필요했습니다. YOLOv5 단일 명령어로 훈련이 가능하도록 하는 네이티브 PyTorch YOLOv5 .
- 저자:글렌 조커
- 조직:Ultralytics
- 날짜: 2020년 6월
- GitHub:yolov5
YOLOv5 주요 강점
- 탁월한 사용 편의성: Ultralytics 핵심은 사용자 경험입니다. YOLOv5 데이터셋 준비부터 배포까지 원활한 워크플로를 YOLOv5 .
- 광범위한 플랫폼 지원: CoreML, TFLite, ONNX 대한 네이티브 내보내기 지원을 제공하여 모바일 및 엣지 애플리케이션에 매우 다재다능합니다.
- 낮은 리소스 오버헤드: 방대한 GPU 요구하는 트랜스포머 중심 아키텍처와 달리, YOLOv5 매우 YOLOv5 일반 소비자용 하드웨어나 Google 같은 무료 클라우드 노트북에서도 훈련이 가능합니다.
- 안정성: 수년간의 적극적인 유지보수를 통해 경계 사례가 해결되어 스마트 제조 및 보안 분야의 미션 크리티컬 애플리케이션을 위한 안정적인 플랫폼을 보장합니다.
사용 편의성 예시
YOLOv5 또는 Ultralytics )로 추론을 실행하는 방법은 표준화되어 있으며 간단합니다:
from ultralytics import YOLO
# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Show results
results[0].show()
YOLOv9: PGI를 활용한 아키텍처 혁신
2024년 초 출시된 YOLOv9 은 딥 뉴럴 네트워크의 정보 병목 현상 해결에 중점을 둡니다. 네트워크가 깊어질수록 전방 전달 과정에서 중요한 특징 정보가 손실될 수 있습니다. YOLOv9 프로그래머블 그라디언트 정보(PGI) 와 일반화된 효율적 레이어 집계 네트워크(GELAN)를 통해 이 문제를 YOLOv9 .
- 저자: Chien-Yao Wang, Hong-Yuan Mark Liao
- 조직:정보 과학 연구소, 아카데미아 시니카
- 날짜: 2024년 2월
- Arxiv:YOLOv9: 프로그래밍 가능한 기울기 정보를 사용하여 학습하고자 하는 것을 학습하기
- GitHub:WongKinYiu/yolov9
건축적 혁신
- GELAN 아키텍처: 이 새로운 아키텍처는 CSPNet( YOLOv5 사용)과 ELAN( YOLOv7 사용)의 장점을 결합하여 매개변수 효율성을 극대화합니다. 기존 아키텍처에 비해 더 적은 매개변수로 더 높은 정확도를 달성할 수 있게 합니다.
- 프로그래머블 그라디언트 정보(PGI): PGI는 훈련 중에만 사용되는 보조 분기를 통해 신뢰할 수 있는 그라디언트를 생성합니다. 이는 추론 비용을 추가하지 않으면서도 심층 레이어가 의미 정보를 유지하도록 보장하여, 작은 물체 탐지와 같은 어려운 작업에서 성능을 향상시킵니다.
비교 분석: 언제 어떤 것을 사용해야 할까?
이 두 모델 중 선택은 귀하의 우선순위에 달려 있습니다: 배포 속도 또는 최대 정확도.
1. 훈련 효율성과 생태계
YOLOv5 생태계 성숙도에서 우위를 점합니다. 수천 개의 타사 도구에 통합되어 있으며 방대한 커뮤니티 지원을 받고 있습니다. 최소한의 마찰로 오늘 당장 모델을 배포해야 한다면, YOLOv5 또는 최신 버전인 YOLO11)이 더 안전한 선택입니다.
YOLOv9Ultralytics 내에서 완전히 지원되므로, 사용자는 동일한 간소화된 훈련 파이프라인을 활용할 수 있습니다. 그러나 복잡한 아키텍처(보조 분기)로 인해 간소화된 YOLOv5 비해 훈련 속도가 다소 느리고 메모리 사용량이 약간 더 많을 수 있습니다.
2. 에지 배포 대 서버 정확도
순수한 정확도 중심 작업(예: 오프라인 의료 영상 분석 또는 고정밀 산업 검사)에서 YOLOv9e는 YOLOv5x보다 성능이 현저히 우수하며, +5%의 mAP 제공합니다.
그러나 라즈베리 파이(Raspberry Pi)나 NVIDIA )과 같은 에지 디바이스의 경우, YOLOv5 여전히 선호되는 모델입니다. 더 단순한 아키텍처 덕분에 int8 양자화에 잘 적용되며, 제한된 하드웨어에서 더 빠른 추론 속도를 제공하는 경우가 많습니다. 다만 YOLO26과 같은 최신 모델들이 이 분야에서 빠르게 대체되고 있습니다.
3. 작업 다용도성
두 모델 모두 다용도로 활용 가능하지만, Ultralytics 방식은 단순 탐지를 넘어 다양한 작업을 지원하도록 보장합니다:
미래: YOLO26
YOLOv5 YOLOv9 훌륭한 YOLOv9 , 이 분야는 빠르게 발전하고 YOLOv9 . 최첨단 기술을 추구하는 개발자들은 YOLO26을 주목해야 합니다.
2026년 1월 출시된 YOLO26은 이러한 아키텍처 발전의 정점을 보여줍니다. 이는 최초로 대중화된 엔드투엔드 NMS 프리 설계를 채택합니다. YOLOv10에 의해 처음 대중화된 SGD NMS 프리(NMS-Free) 설계를 채택하여 지연 시간이 긴 비최대 억제(Non-Maximum Suppression) 단계를 완전히 제거합니다. 또한 SGD Muon)의 하이브리드인 MuSGD 최적화기를 특징으로 하여 더 빠른 수렴성과 안정성을 보장합니다.
소형 객체 탐지를 위한 ProgLoss + STAL 개선 및 단순한 내보내기를 위한 분포 초점 손실(DFL) 제거를 통해 YOLO26은 이전 세대 대비 최대 43% 빠른 CPU 제공하여 연구 및 생산 환경 모두에서 탁월한 선택지입니다.
결론
- 레거시 시스템이나 극심한 자원 제약 환경에서 최신 연산자 지원(예: YOLOv9 연산자)이 부족할 수 있는 경우, 가볍고 검증된 모델이 필요하다면 YOLOv5 선택하십시오.
- 도전적인 데이터셋에서 높은 정확도가 필요하고 약간 더 높은 훈련 자원 비용을 감당할 수 있다면 YOLOv9 선택하십시오.
- YOLO26을 선택하면 모든 장점을 누릴 수 있습니다: NMS 없이도 빠른 속도, 최상위 수준의 정확도, 그리고 MuSGD 최적화기와 같은 차세대 기능까지.
이러한 모델 중 어느 것으로든 시작하려면 Ultralytics 사용하여 데이터셋을 관리하고, 클라우드에서 학습을 수행하며, 손쉽게 배포할 수 있습니다.
시작하기
Ultralytics Python 사용하여 이 모델들을 훈련할 수 있습니다. 스크립트에서 모델 이름을 변경하기만 하면 됩니다:
from ultralytics import YOLO
# Switch between models easily
model = YOLO("yolov5su.pt") # YOLOv5
# model = YOLO("yolov9c.pt") # YOLOv9
# model = YOLO("yolo26n.pt") # YOLO26
# Train on your data
model.train(data="coco8.yaml", epochs=100)