YOLOv8 대 YOLOv9#
실시간 객체 검출의 발전은 더 나은 정확도, 더 낮은 지연 시간, 그리고 향상된 하드웨어 활용을 위한 끊임없는 노력으로 특징지어져 왔습니다. 이 여정에서 두 가지 주요 마일스톤은 Ultralytics YOLOv8과 YOLOv9입니다. 두 모델 모두 컴퓨터 비전 분야에서 최첨단 기능을 나타내지만, 서로 다른 배포 요구 사항, 아키텍처 철학, 개발자 생태계를 충족합니다.
이 포괄적인 가이드는 다음 인공지능 프로젝트에 적합한 모델을 선택하는 데 도움을 주기 위해 기술적 차이점, 아키텍처 혁신, 그리고 실무적인 배포 고려 사항을 분석합니다.
모델 계보 및 핵심 철학#
메트릭을 살펴보기 전에 각 모델의 기원과 주요 설계 목표를 이해하는 것이 중요합니다.
Ultralytics YOLOv8: 범용 생태계 표준#
Ultralytics 팀에서 출시한 YOLOv8은 단독 객체 검출기뿐만 아니라 통합된 멀티태스크 프레임워크로 설계되었습니다. 원활한 개발자 경험, 낮은 메모리 요구 사항, 그리고 광범위한 하드웨어 호환성을 우선시합니다.
- 저자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직: Ultralytics
- 날짜: 2023-01-10
- GitHub: ultralytics/ultralytics
- 문서: YOLOv8 Docs
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 및 디커플드 헤드(Decoupled Head)#
YOLOv8은 기존의 C3 모듈을 대체하는 C2f 모듈(두 개의 컨볼루션을 가진 교차 스테이지 부분 병목, Cross-Stage Partial bottleneck with two convolutions)을 도입했습니다. 이 변경 사항은 그래디언트 흐름을 개선하고 네트워크가 GPU 메모리에 큰 부담을 주지 않으면서도 더 풍부한 피처 표현을 학습할 수 있도록 합니다.
또한 YOLOv8은 **디커플드 헤드(decoupled head)**를 갖춘 앵커 프리(anchor-free) 설계를 활용합니다. 객체성, 분류, 회귀를 별도의 경로를 통해 처리함으로써 모델은 학습 중에 더 빠르게 수렴하고 다양한 커스텀 데이터셋에 더 잘 일반화됩니다.
YOLOv9 아키텍처: PGI 및 GELAN#
YOLOv9은 **프로그래머블 그래디언트 정보(PGI, Programmable Gradient Information)**와 **일반화된 효율적 계층 집계 네트워크(GELAN, Generalized Efficient Layer Aggregation Network)**를 도입합니다. PGI는 네트워크의 레이어를 통과할 때 중요한 데이터가 손실되지 않도록 보장하여 가중치 업데이트를 위한 신뢰할 수 있는 그래디언트를 제공합니다. GELAN은 매개변수 효율성을 극대화하여 FLOP를 관리 가능한 수준으로 유지하면서도 높은 정확도를 달성할 수 있게 합니다.
수학적으로는 인상적이지만, YOLOv9은 학습 중에 특정 보조 가역 분기(auxiliary reversible branches)에 의존하기 때문에 표준 파이프라인에 비해 학습 코드를 커스터마이징하기가 더 복잡할 수 있습니다.
성능 지표 및 벤치마크#
아래 표는 다양한 크기에 걸친 모델들의 직접적인 비교를 제공합니다. 성능은 객체 검출을 위한 표준 벤치마크인 MS COCO dataset을 기준으로 측정되었습니다.
| 모델 | 크기 (픽셀) | 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의 지원을 받습니다. 사용 편의성을 위해 구축되었으며, 데이터 증강, 로깅(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은 인스턴스 세그멘테이션(Instance Segmentation), 포즈 추정(Pose Estimation), 이미지 분류(Image Classification), 그리고 방향성 바운딩 박스(OBB)를 네이티브로 지원하는 다재다능한 파워하우스입니다. 단일 프레임워크를 여러 작업에 사용하면 소프트웨어 비대화와 유지보수 오버헤드가 크게 줄어듭니다.
새로운 프로젝트를 시작하는 경우, 엔드투엔드 NMS 프리 설계를 기본적으로 탑재한 Ultralytics YOLO11 또는 최신 YOLO26을 평가해보는 것도 좋습니다.
실제 활용 사례#
이 모델들은 프로덕션에서 어떻게 작동할까요?
자율 드론 및 로봇 공학#
빠른 장애물 회피가 필요한 로보틱스의 경우 YOLOv8이 선호되는 선택입니다. YOLOv8n의 초저지연 성능은 자율 주행 시스템이 실시간으로 주변 환경에 반응하여 충돌을 방지하도록 보장합니다. OpenVINO 및 CoreML로의 네이티브 내보내기 기능 덕분에 상용 드론의 전형적인 저전력 칩에 손쉽게 배포할 수 있습니다.
고해상도 결함 탐지#
미세한 이상 징후를 감지하는 것이 중요하고 오프라인 처리가 허용되는 특수 제조 환경에서는 YOLOv9이 매우 효과적일 수 있습니다. PGI 아키텍처는 네트워크가 미세한 균열이나 PCB 납땜 오류를 식별하는 데 필요한 세밀한 시각적 세부 정보를 유지하도록 돕습니다.
스마트 리테일 및 보안 분석#
매장 통로에서 고객을 추적하거나 자동 결제 시스템을 관리하는 경우 YOLOv8이 최고의 균형을 제공합니다. BoT-SORT와 같은 표준 알고리즘을 사용하여 검출과 다중 객체 추적(multi-object tracking)을 동시에 실행할 수 있는 능력 덕분에 다중 카메라 리테일 배포를 위한 강력한 솔루션이 됩니다.
활용 사례 및 권장 사항#
YOLOv8과 YOLOv9 중 어떤 것을 선택할지는 특정 프로젝트 요구 사항, 배포 제약 조건, 그리고 생태계 선호도에 따라 달라집니다.
YOLOv8을 선택해야 할 때#
YOLOv8은 다음과 같은 경우에 강력한 선택입니다:
- 다기능 멀티태스크 배포: Ultralytics 생태계 내에서 검출, 세분화, 분류, 자세 추정을 위한 검증된 모델이 필요한 프로젝트입니다.
- 확립된 생산 시스템: 안정적이고 잘 검증된 배포 파이프라인을 갖춘 YOLOv8 아키텍처로 이미 구축된 기존 프로덕션 환경.
- 폭넓은 커뮤니티 및 생태계 지원: YOLOv8의 광범위한 튜토리얼, 타사 통합 및 활발한 커뮤니티 리소스를 활용하는 애플리케이션.
YOLOv9를 선택해야 할 때#
YOLOv9는 다음에 권장됩니다:
- 정보 병목 현상 연구: PGI(Programmable Gradient Information) 및 GELAN(Generalized Efficient Layer Aggregation Network) 아키텍처를 연구하는 학술 프로젝트.
- 그래디언트 흐름 최적화 연구: 학습 중 심층 네트워크 계층에서의 정보 손실을 이해하고 완화하는 데 중점을 둔 연구.
- 고정밀 탐지 벤치마킹: YOLOv9의 강력한 COCO 벤치마크 성능을 아키텍처 비교를 위한 참조 지점으로 활용해야 하는 시나리오.
Ultralytics (YOLO26)를 선택해야 할 때#
대부분의 신규 프로젝트의 경우, Ultralytics YOLO26은 성능과 개발자 경험의 최상의 조합을 제공합니다.
- NMS 미사용 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관되고 낮은 지연 시간의 추론이 필요한 애플리케이션.
- CPU 전용 환경: 전용 GPU 가속이 없는 디바이스에서, 최대 43% 더 빠른 YOLO26의 CPU 추론 속도가 결정적인 이점을 제공합니다.
- 소형 객체 감지: 항공 드론 이미지나 IoT 센서 분석과 같은 까다로운 시나리오에서 ProgLoss와 STAL이 아주 작은 객체의 정확도를 크게 향상시킵니다.
다음 진화: YOLO26#
YOLOv8과 YOLOv9 모두 강력하지만, AI 환경은 빠르게 변화합니다. 최고의 성능을 요구하는 팀에게는 이전 세대의 성공을 기반으로 구축된 새롭게 출시된 YOLO26이 적합할 수 있습니다.
YOLO26은 복잡한 후처리 병목 현상을 완전히 제거하는 엔드투엔드 NMS 프리 설계를 도입하여 배포를 더 단순하게 만들고 지연 시간을 더 예측 가능하게 만듭니다. 새로운 MuSGD Optimizer와 향상된 ProgLoss + STAL 손실 함수를 기반으로 하며, (간소화된 내보내기 및 더 나은 엣지/저전력 장치 호환성을 위해 제거된) DFL Removal 덕분에 소형 객체 인식 능력을 향상시키면서 최대 43% 더 빠른 CPU 추론을 달성합니다. 엣지 컴퓨팅의 한계를 밀어붙이는 개발자들에게는 YOLO26을 평가해보는 것이 강력히 권장됩니다.
요약하자면, YOLOv9은 흥미로운 아키텍처 연구와 뛰어난 피크 정확도를 제공하지만, Ultralytics YOLOv8은 신뢰할 수 있는 소프트웨어를 빠르게 출시하고자 하는 대부분의 컴퓨터 비전 엔지니어에게 여전히 가장 실용적이고 잘 지원되며 다재다능한 선택지입니다.