YOLOv8 vs. 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은 앵커 프리(anchor-free) 설계와 **분리형 헤드(decoupled head)**를 활용합니다. 객체성(objectness), 분류, 그리고 회귀를 개별 경로로 처리함으로써 모델은 학습 중에 더 빠르게 수렴하며 다양한 커스텀 데이터셋에 더 잘 일반화됩니다.
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", half=True) # TensorRT export이 단일 API는 프로토타입에서 프로덕션까지 걸리는 시간을 획기적으로 단축합니다. 또한 YOLOv8은 일반적으로 학습 중에 더 적은 CUDA 메모리를 사용하므로 개발자가 소비자용 하드웨어에서 더 큰 배치 사이즈를 사용할 수 있습니다.
작업 범용성
YOLOv9은 훌륭한 바운딩 박스 탐지기이지만, 실제 환경의 비전 AI는 더 많은 기능을 요구합니다. YOLOv8은 인스턴스 세그멘테이션, 포즈 추정, 이미지 분류, 그리고 회전된 바운딩 박스(OBB)를 기본적으로 지원하는 다재다능한 강자입니다. 여러 작업에 하나의 프레임워크를 사용하면 소프트웨어의 팽창과 유지 관리 오버헤드가 크게 줄어듭니다.
새로운 프로젝트를 시작하신다면 Ultralytics YOLO11이나 기본적으로 엔드 투 엔드 NMS 프리 설계를 특징으로 하는 최첨단 YOLO26을 평가해 보시는 것도 좋습니다.
실제 사용 사례
이 모델들은 프로덕션 환경에서 어떤 성과를 낼까요?
자율 드론 및 로봇 공학
신속한 장애물 회피가 필요한 로봇 공학에서는 YOLOv8이 선호되는 선택입니다. YOLOv8n의 초저지연 성능은 자율 시스템이 실시간으로 환경에 반응하여 충돌을 방지할 수 있도록 보장합니다. OpenVINO 및 CoreML로의 기본 내보내기 기능을 사용하면 상업용 드론에 흔히 사용되는 저전력 칩에 쉽게 배포할 수 있습니다.
고해상도 결함 탐지
미세한 이상 징후를 탐지하는 것이 중요하며 오프라인 처리가 허용되는 특수 제조 환경에서는 YOLOv9이 매우 효과적일 수 있습니다. PGI 아키텍처는 네트워크가 아주 작은 균열이나 PCB 납땜 오류를 식별하는 데 필요한 미세한 시각적 세부 정보를 유지하도록 돕습니다.
스마트 리테일 및 보안 분석
매장 통로에서 고객을 추적하거나 자동 결제 시스템을 관리하는 경우, YOLOv8이 최상의 균형을 제공합니다. BoT-SORT와 같은 표준 알고리즘을 사용하여 탐지와 다중 객체 추적을 동시에 수행할 수 있는 능력은 멀티 카메라 리테일 배포를 위한 강력한 솔루션입니다.
사용 사례 및 권장 사항
YOLOv8과 YOLOv9 중 무엇을 선택할지는 특정 프로젝트 요구 사항, 배포 제약 조건, 그리고 생태계 선호도에 따라 달라집니다.
YOLOv8을 선택해야 할 때
YOLOv8은 다음의 경우에 강력한 선택입니다:
- 범용 다중 태스크 배포: Ultralytics 생태계 내에서 탐지, 세그멘테이션, 분류, 포즈 추정을 위해 검증된 모델이 필요한 프로젝트.
- 구축된 프로덕션 시스템: 이미 YOLOv8 아키텍처를 기반으로 구축되었으며 안정적이고 잘 테스트된 배포 파이프라인을 갖춘 기존 프로덕션 환경.
- 폭넓은 커뮤니티 및 생태계 지원: YOLOv8의 광범위한 튜토리얼, 타사 통합, 활발한 커뮤니티 리소스의 이점을 활용하는 애플리케이션.
YOLOv9을 선택해야 할 때
YOLOv9은 다음의 경우에 권장됩니다:
- 정보 병목 현상 연구: 프로그래밍 가능한 그래디언트 정보(PGI) 및 일반화된 효율적 계층 집계 네트워크(GELAN) 아키텍처를 연구하는 학술 프로젝트.
- 그래디언트 흐름 최적화 연구: 학습 중 심층 네트워크 계층에서의 정보 손실을 이해하고 완화하는 데 중점을 둔 연구.
- 고정확도 탐지 벤치마킹: 아키텍처 비교를 위한 참조 지점으로 YOLOv9의 강력한 COCO 벤치마크 성능이 필요한 시나리오.
Ultralytics(YOLO26)를 선택해야 할 때
대부분의 신규 프로젝트에서 Ultralytics YOLO26은 성능과 개발자 경험의 최적의 조합을 제공합니다:
- NMS-free 엣지 배포: Non-Maximum Suppression 후처리의 복잡성 없이 일관되고 낮은 지연 시간의 추론이 필요한 애플리케이션.
- CPU 전용 환경: 전용 GPU 가속기가 없는 장치에서 YOLO26의 최대 43% 더 빠른 CPU 추론 속도가 결정적인 이점을 제공합니다.
- 소형 객체 탐지: 항공 드론 이미지나 IoT 센서 분석과 같은 도전적인 시나리오에서 ProgLoss와 STAL이 작은 객체에 대한 정확도를 크게 향상시킵니다.
다음 단계의 진화: YOLO26
YOLOv8과 YOLOv9도 강력하지만, AI 환경은 빠르게 변화합니다. 최고의 성능을 요구하는 팀을 위해, 새롭게 출시된 YOLO26은 이전 세대들의 성공을 바탕으로 구축되었습니다.
YOLO26은 복잡한 후처리 병목 현상을 완전히 제거하여 배포를 단순화하고 지연 시간을 더욱 예측 가능하게 만드는 엔드 투 엔드 NMS 프리 설계를 도입했습니다. 새로운 MuSGD 옵티마이저와 향상된 ProgLoss + STAL 손실 함수로 구동되며, DFL 제거(간소화된 내보내기 및 엣지/저전력 장치 호환성을 위해 배포 초점 손실 제거)를 통해 최대 43% 더 빠른 CPU 추론을 달성함과 동시에 작은 객체 인식 성능을 향상시켰습니다. 엣지 컴퓨팅의 한계를 시험하는 개발자라면 YOLO26을 평가하는 것을 강력히 권장합니다.
요약하자면, YOLOv9은 흥미로운 아키텍처 연구와 뛰어난 피크 정확도를 제공하지만, Ultralytics YOLOv8은 신뢰할 수 있는 소프트웨어를 빠르게 출시하고자 하는 대다수의 컴퓨터 비전 엔지니어에게 여전히 가장 실용적이고 잘 지원되며 다재다능한 선택입니다.