YOLOv8 대 YOLOv9#
실시간 객체 감지의 발전은 더 높은 정확도, 더 낮은 지연 시간, 향상된 하드웨어 활용률을 지속적으로 추구해 온 과정으로 특징지어집니다. 이 여정의 두 가지 주요 이정표는 Ultralytics YOLOv8과 YOLOv9입니다. 두 모델 모두 컴퓨터 비전 분야의 최신 기술 역량을 보여주지만, 서로 다른 배포 요구 사항, 아키텍처 철학 및 개발자 생태계를 지향합니다.
이 종합 가이드에서는 기술적 차이, 아키텍처 혁신 및 실제 배포 시 고려 사항을 분석하여 다음 인공지능 프로젝트에 적합한 모델을 선택할 수 있도록 지원합니다.
모델 계보와 핵심 철학#
지표를 살펴보기 전에 각 모델의 기원과 주요 설계 목표를 이해하는 것이 중요합니다.
Ultralytics YOLOv8: 다목적 생태계 표준#
Ultralytics 팀이 출시한 YOLOv8은 독립형 객체 감지기일 뿐 아니라 통합 멀티태스크 프레임워크로 설계되었습니다. 원활한 개발자 경험, 낮은 메모리 요구 사항 및 폭넓은 하드웨어 호환성을 우선시합니다.
- 저자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직: Ultralytics
- 날짜: 2023-01-10
- GitHub: ultralytics/ultralytics
- 문서: YOLOv8 문서
YOLOv9: 프로그래밍 가능한 그래디언트 정보#
Academia Sinica의 연구자들이 독립적으로 개발한 YOLOv9는 아키텍처 이론에 중점을 두며, 특히 심층 신경망의 정보 병목 현상을 해결하는 데 집중합니다.
- 저자: Chien-Yao Wang 및 Hong-Yuan Mark Liao
- 기관: 대만 중앙연구원 정보과학연구소
- 날짜: 2024-02-21
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
대규모 상용 배포를 계획하고 있다면 간소화된 클라우드 학습, 데이터셋 관리 및 원클릭 API 엔드포인트를 제공하는 Ultralytics Platform을 살펴보시기 바랍니다.
아키텍처 심층 분석#
딥러닝의 아키텍처 선택은 모델이 얼마나 효율적으로 학습하고 NVIDIA Jetson 또는 Intel CPU와 같은 대상 하드웨어에서 얼마나 빠르게 실행되는지를 결정합니다.
YOLOv8 아키텍처: C2f 및 디커플드 헤드#
YOLOv8은 기존 C3 모듈을 대체하는 C2f 모듈(두 개의 컨볼루션을 사용하는 스테이지 간 부분 연결 병목)을 도입했습니다. 이 변경으로 그래디언트 흐름이 개선되고 GPU 메모리에 큰 부담을 주지 않으면서 네트워크가 더 풍부한 특징 표현을 학습할 수 있습니다.
또한 YOLOv8은 앵커 프리 설계와 디커플드 헤드를 사용합니다. 객체성, 분류 및 회귀를 별도의 경로로 처리함으로써 모델은 학습 중 더 빠르게 수렴하고 다양한 커스텀 데이터셋에 더 잘 일반화됩니다.
YOLOv9 아키텍처: PGI 및 GELAN#
YOLOv9은 **프로그래밍 가능한 그래디언트 정보(PGI)**와 **일반화된 효율적 레이어 집계 네트워크(GELAN)**를 도입합니다. PGI는 네트워크 레이어를 통과하는 동안 중요한 데이터가 손실되지 않도록 하여 가중치 업데이트에 신뢰할 수 있는 그래디언트를 제공합니다. GELAN은 파라미터 효율성을 극대화하여 FLOPs를 관리 가능한 수준으로 유지하면서 높은 정확도를 달성할 수 있도록 합니다.
수학적으로는 인상적이지만, YOLOv9는 학습 중 특정 보조 가역 브랜치에 의존하므로 표준 파이프라인에 비해 학습 코드를 커스터마이즈하기가 더 복잡할 수 있습니다.
성능 지표 및 벤치마크#
아래 표에서는 다양한 크기에 걸쳐 두 모델을 직접 비교합니다. 성능은 객체 감지의 표준 벤치마크인 MS COCO 데이터셋에서 측정되었습니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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은 특히 더 큰 e 변형에서 약간 더 높은 최고 정확도(mAP)를 달성합니다. 그러나 그에 따른 비용이 있습니다. Ultralytics YOLOv8은 특히 TensorRT 또는 ONNX와 같은 형식으로 컴파일할 때 추론 속도에서 상당한 우위를 유지합니다. Raspberry Pi 또는 구형 모바일 칩과 같은 제한된 엣지 하드웨어에서 높은 초당 프레임 수(FPS)가 필요한 애플리케이션의 경우 YOLOv8의 n 및 s 변형이 훨씬 더 실용적인 성능 균형을 제공합니다.
학습 효율성과 생태계 통합#
모델 선택은 정확도 표를 확인하는 것 이상을 포함하며, 개발자 경험이 가장 중요합니다.
Ultralytics의 장점: 간편한 사용성#
YOLOv9을 학습하려면 복잡한 GitHub 저장소를 클론하고, PyTorch 환경을 신중하게 관리하며, 보조 손실 가중치를 수동으로 구성해야 하는 경우가 많습니다.
반면 Ultralytics YOLOv8은 매우 간소화된 Python API를 기반으로 합니다. 사용 편의성을 위해 설계된 이 API는 데이터 증강, 로깅(Weights & Biases 및 Comet ML과 같은 도구 사용), 하드웨어 분산을 기본적으로 처리합니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 small model
model = YOLO("yolov8s.pt")
# Train the model efficiently on custom data
results = model.train(data="custom_dataset.yaml", epochs=100, imgsz=640)
# Export for edge deployment
model.export(format="engine", quantize=16) # TensorRT export이 단일 API는 프로토타입에서 프로덕션까지 걸리는 시간을 크게 단축합니다. 또한 YOLOv8은 일반적으로 학습 중 더 적은 CUDA 메모리를 필요로 하므로 개발자가 소비자용 하드웨어에서 더 큰 배치 크기를 사용할 수 있습니다.
작업 범용성#
YOLOv9은 뛰어난 바운딩 박스 감지기이지만 실제 비전 AI에는 더 많은 기능이 필요한 경우가 많습니다. YOLOv8은 인스턴스 세그멘테이션, 포즈 추정, 이미지 분류 및 방향성 바운딩 박스(OBB)를 기본적으로 지원하는 다목적 강력한 모델입니다. 여러 작업에 단일 프레임워크를 사용하면 소프트웨어 비대화와 유지 관리 오버헤드를 크게 줄일 수 있습니다.
새 프로젝트를 시작한다면 기본적으로 엔드투엔드 NMS 프리 설계를 제공하는 Ultralytics YOLO11 또는 최첨단 YOLO26도 평가해 보시기 바랍니다.
실제 사용 사례#
이러한 모델은 프로덕션에서 어떤 성능을 보일까요?
자율 드론 및 로보틱스#
신속한 장애물 회피가 필요한 로보틱스에서는 YOLOv8이 선호됩니다. YOLOv8n의 초저지연 성능은 자율 시스템이 주변 환경에 실시간으로 반응하여 충돌을 방지하도록 합니다. OpenVINO 및 CoreML로 기본 제공되는 내보내기 기능을 사용하면 상용 드론에 일반적인 저전력 칩에 손쉽게 배포할 수 있습니다.
고해상도 결함 감지#
미세한 이상을 감지하는 것이 중요하고 오프라인 처리가 허용되는 특수 제조 환경에서는 YOLOv9이 매우 효과적일 수 있습니다. PGI 아키텍처는 네트워크가 미세한 시각적 세부 정보를 유지하도록 지원하여 헤어라인 균열이나 PCB 납땜 오류를 식별하는 데 필요한 정보를 보존합니다.
스마트 리테일 및 보안 분석#
매장 통로를 이동하는 고객을 추적하거나 자동 결제 시스템을 관리하는 경우 YOLOv8이 가장 균형 잡힌 선택입니다. BoT-SORT와 같은 표준 알고리즘을 사용하여 감지와 다중 객체 추적을 동시에 실행할 수 있어 멀티카메라 리테일 배포를 위한 강력한 솔루션을 제공합니다.
사용 사례 및 권장 사항#
YOLOv8과 YOLOv9 중 선택은 구체적인 프로젝트 요구 사항, 배포 제약 조건 및 생태계 선호도에 따라 달라집니다.
YOLOv8을 선택해야 하는 경우#
YOLOv8은 다음과 같은 경우에 적합합니다.
- 범용 멀티태스크 배포: Ultralytics 생태계에서 detection, segmentation, classification, pose estimation을 수행하기 위해 검증된 모델이 필요한 프로젝트입니다.
- 확립된 프로덕션 시스템: 안정적이고 충분히 테스트된 배포 파이프라인과 함께 YOLOv8 아키텍처를 기반으로 이미 구축된 기존 프로덕션 환경입니다.
- 폭넓은 커뮤니티 및 생태계 지원: YOLOv8의 풍부한 튜토리얼, 서드파티 통합, 활발한 커뮤니티 리소스를 활용하는 애플리케이션입니다.
YOLOv9을 선택해야 하는 경우#
YOLOv9은 다음과 같은 경우에 권장됩니다:
- 정보 병목 연구: 프로그래밍 가능한 그래디언트 정보(PGI) 및 일반화된 효율적 레이어 집계 네트워크(GELAN) 아키텍처를 연구하는 학술 프로젝트입니다.
- 그래디언트 흐름 최적화 연구: 학습 중 심층 네트워크 레이어의 정보 손실을 이해하고 완화하는 데 중점을 둔 연구입니다.
- 고정확도 탐지 벤치마킹: 아키텍처 비교를 위한 기준점으로 YOLOv9의 강력한 COCO 벤치마크 성능이 필요한 시나리오입니다.
Ultralytics(YOLO26)를 선택해야 하는 경우#
대부분의 신규 프로젝트에서 Ultralytics YOLO26은 성능과 개발자 경험의 최적 조합을 제공합니다.
- NMS-Free 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관되고 지연 시간이 짧은 추론이 필요한 애플리케이션입니다.
- CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 더 빠른 CPU 추론이 결정적인 이점을 제공하는 경우입니다.
- 소형 객체 탐지: 항공 드론 이미지나 IoT 센서 분석처럼 ProgLoss와 STAL이 작은 객체의 정확도를 크게 향상하는 까다로운 시나리오입니다.
다음 진화: YOLO26#
YOLOv8과 YOLOv9은 강력하지만 AI 환경은 빠르게 변화합니다. 최고의 성능을 요구하는 팀을 위해 새롭게 출시된 YOLO26은 이전 세대의 성공을 기반으로 발전했습니다.
YOLO26은 엔드투엔드 NMS 프리 설계를 도입하여 복잡한 후처리 병목을 완전히 제거하고, 배포를 간소화하며 지연 시간을 더 예측 가능하게 만듭니다. 새로운 MuSGD 옵티마이저와 향상된 ProgLoss + STAL 손실 함수를 사용하고, DFL 제거(간소화된 내보내기와 향상된 엣지/저전력 디바이스 호환성을 위해 분포 초점 손실 제거)를 적용하여 소형 객체 인식 성능을 높이는 동시에 CPU 추론을 최대 43% 더 빠르게 수행합니다. 엣지 컴퓨팅의 한계를 확장하려는 개발자에게는 YOLO26 평가를 적극 권장합니다.
요약하면 YOLOv9은 흥미로운 아키텍처 연구와 뛰어난 최고 정확도를 제공하지만, Ultralytics YOLOv8은 안정적인 소프트웨어를 신속하게 출시하려는 대다수의 컴퓨터 비전 엔지니어에게 여전히 가장 실용적이고, 지원이 우수하며, 다목적인 선택입니다.