YOLOv10과 YOLOv9#
실시간 컴퓨터 비전은 속도, 정확도, 아키텍처 효율성의 지속적인 혁신을 거치며 발전해 왔습니다. 다음 배포에 적합한 최신 솔루션을 평가할 때 YOLOv10과 YOLOv9을 비교하면 딥러닝의 병목 현상을 해결하는 두 가지 접근 방식을 흥미롭게 살펴볼 수 있습니다. YOLOv9은 학습 중 그래디언트 정보 흐름을 극대화하는 데 초점을 맞추는 반면, YOLOv10은 기존 후처리 과정을 완전히 제거하는 네이티브 엔드투엔드 설계를 선보입니다.
이 종합 가이드에서는 개발자와 연구자가 각자의 컴퓨터 비전 작업에 최적의 모델을 선택하도록 두 모델의 아키텍처 혁신, 성능 지표, 적합한 사용 사례를 분석합니다.
YOLOv10: NMS-free 엔드투엔드 설계의 선구자#
기존 객체 탐지기의 지연 시간 병목을 해결하기 위해 개발된 YOLOv10은 비최대 억제(NMS)의 필요성을 기본적으로 제거하는 혁신적인 엔드투엔드 아키텍처를 도입했습니다.
기술 세부 정보 및 계보:
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직: Tsinghua University
- 날짜: 2024년 5월 23일
- 링크: Arxiv 논문, GitHub 리포지토리, Ultralytics 문서
아키텍처 및 강점#
YOLOv10의 가장 중요한 기여는 NMS-free 학습을 위한 일관된 이중 할당 전략입니다. NMS를 제거하면 추론 지연 시간이 크게 줄어들며, 특히 후처리가 전체 파이프라인의 병목이 될 수 있는 엣지 기기에서 효과적입니다. 또한 효율성과 정확도 측면에서 다양한 구성 요소를 최적화하여 속도와 파라미터 수의 탁월한 균형을 갖춘 모델을 구현했습니다. 예를 들어 YOLOv10-S 변형 모델은 속도가 매우 빨라 고속 비디오 분석과 실시간 로봇 내비게이션에 적합합니다.
단점#
NMS-free 설계는 바운딩 박스 탐지에서 획기적이지만, YOLOv10은 주로 순수 객체 탐지기로 최적화되었습니다. 인스턴스 분할 또는 자세 추정을 기본 지원하는 최신 생태계와 같은 폭넓은 활용성은 갖추지 못했습니다.
YOLOv10을 프로덕션에 적용할 때는 반드시 TensorRT 또는 ONNX와 같은 최적화 형식으로 모델을 내보내세요. 배포 환경에서 원본 PyTorch 가중치를 사용하면 그래프 연산이 최적화되지 않아 추론 속도가 예상보다 느려질 수 있습니다.
YOLOv9: 프로그래밍 가능한 그래디언트 정보#
YOLOv10에 앞서 YOLOv9은 심층 신경망의 정보 병목 문제를 해결하기 위해 새로운 아키텍처 개념을 도입하여 파라미터를 매우 효율적으로 활용할 수 있도록 했습니다.
기술 세부 정보 및 계보:
- 저자: Chien-Yao Wang 및 Hong-Yuan Mark Liao
- 기관: 대만 중앙연구원 정보과학연구소
- 날짜: 2024년 2월 21일
- 링크: Arxiv 논문, GitHub 리포지토리, Ultralytics 문서
아키텍처 및 강점#
YOLOv9은 일반화 효율적 계층 집계 네트워크(GELAN)와 함께 프로그래밍 가능한 그래디언트 정보(PGI)를 도입했습니다. PGI는 데이터가 네트워크의 심층 레이어를 통과할 때 핵심 타깃 정보가 손실되지 않도록 하여 가중치 업데이트에 필요한 신뢰도 높은 그래디언트를 생성합니다. GELAN은 네트워크 파라미터의 효율성을 극대화합니다. 이러한 혁신을 통해 YOLOv9은 평균 정밀도(mAP)를 매우 높게 달성하며, MS COCO 데이터셋에서 더 적은 FLOPs를 사용하면서도 더 큰 모델을 능가하는 경우가 많습니다. 이 모델은 이론적 정확도 지표를 극대화하려는 연구자에게 탁월한 선택입니다.
단점#
정확도는 높지만 YOLOv9은 여전히 표준 NMS 후처리에 의존합니다. 따라서 신경망 연산은 빠르더라도 장면 내 객체 밀도에 따라 최종 바운딩 박스 필터링에서 지연 시간이 달라질 수 있습니다. 또한 학습 과정은 후속 모델보다 메모리를 많이 사용하는 편이므로 사용자 지정 데이터셋을 파인튜닝하려면 더 강력한 GPU 리소스가 필요합니다.
성능 비교#
아래 표는 두 모델의 주요 지표를 보여줍니다. YOLOv10은 일반적으로 TensorRT를 사용해 지연 시간을 낮추는 반면, YOLOv9은 가장 큰 구성에서 정확도의 상한을 높이는 것을 확인할 수 있습니다.
| 모델 | 크기 (픽셀) | mAP검증 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
차세대 모델: YOLO26을 가장 먼저 추천하는 이유#
YOLOv9과 YOLOv10은 인상적인 이정표이지만, 머신러닝 분야는 빠르게 변화합니다. 최신 프로덕션 환경에서 개발자는 점점 더 통합되고 잘 관리되는 Ultralytics Platform 생태계를 활용합니다. 2026년 현재 연구와 엔터프라이즈 모두에 명확히 권장되는 모델은 새롭게 출시된 YOLO26입니다.
YOLO26은 이전 모델의 핵심 개념을 기반으로, 간소화된 사용자 경험과 간편한 API를 제공하며, 무거운 트랜스포머 기반 아키텍처보다 학습 중 메모리 요구량을 훨씬 낮췄습니다.
YOLO26의 주요 혁신#
- 엔드투엔드 NMS-free 설계: YOLOv10의 혁신을 기반으로 하는 YOLO26은 네이티브 엔드투엔드 추론을 지원하며
nms=False를 통해 NMS 후처리를 생략합니다. 따라서 배포가 간편해지고 지연 시간 프로파일의 결정성이 크게 향상됩니다. - CPU 추론 속도 최대 43% 향상: 엣지 AI에 즉시 사용할 수 있도록 최적화되어 전용 GPU가 없는 임베디드 시스템에 적합합니다.
- MuSGD 옵티마이저: SGD와 Muon을 결합한 획기적인 하이브리드 옵티마이저입니다. 대규모 언어 모델 최적화에서 영감을 얻었으며, 매우 안정적인 학습 과정과 빠른 수렴을 지원합니다.
- DFL 제거: Distribution Focal Loss를 제거하여 YOLO26은 모델 내보내기 과정을 간소화하고 저전력 기기 및 다양한 엣지 배포 프레임워크와의 호환성을 크게 높입니다.
- 작업별 개선: 단일 작업 전용 탐지기와 달리 YOLO26은 다양한 작업에 활용할 수 있는 강력한 모델입니다. 픽셀 수준의 정밀도를 높이는 시맨틱 분할 손실, 정확한 자세 추정을 위한 잔차 로그 우도 추정(RLE), OBB(회전 바운딩 박스) 경계 문제를 해결하는 특수 각도 손실을 사용합니다.
실제 구현#
Python SDK를 사용하면 이러한 모델을 간편하게 학습하고 배포할 수 있습니다. 다음 예제에서는 하이퍼파라미터 스케줄링과 최적의 메모리 할당을 자동으로 처리하는 Ultralytics 생태계의 효율적인 학습 프로세스를 활용하는 방법을 보여줍니다.
from ultralytics import YOLO
# 권장하는 최첨단 모델을 불러옵니다
model = YOLO("yolo26n.pt") # 'yolov10n.pt' 또는 'yolov9c.pt'와도 호환됩니다
# 사용자 지정 데이터셋으로 모델을 효율적으로 학습합니다.
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0, batch=16)
# 초고속 추론을 실행합니다
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# 간편한 엣지 배포를 위해 ONNX로 내보냅니다
model.export(format="onnx")사용 사례 및 권장 사항#
YOLOv10과 YOLOv9 중 어떤 모델을 선택할지는 구체적인 프로젝트 요구사항, 배포 제약 조건 및 생태계 선호도에 따라 달라집니다.
YOLOv10을 선택해야 하는 경우#
YOLOv10은 다음과 같은 경우에 적합합니다:
- NMS가 필요 없는 실시간 탐지: 비최대 억제 없이 엔드 투 엔드 탐지를 활용하여 배포 복잡성을 줄일 수 있는 애플리케이션입니다.
- 속도와 정확도의 균형: 다양한 모델 규모에서 추론 속도와 탐지 정확도 간의 균형이 중요한 프로젝트입니다.
- 일관된 지연 시간이 필요한 애플리케이션: 로보틱스나 자율 시스템처럼 예측 가능한 추론 시간이 중요한 배포 시나리오입니다.
YOLOv9을 선택해야 하는 경우#
다음과 같은 경우 YOLOv9을 권장합니다:
- 정보 병목 연구: 프로그래밍 가능한 그래디언트 정보(PGI) 및 일반화된 효율적 계층 집계 네트워크(GELAN) 아키텍처를 연구하는 학술 프로젝트입니다.
- 그래디언트 흐름 최적화 연구: 학습 중 심층 네트워크 계층의 정보 손실을 이해하고 완화하는 데 초점을 둔 연구입니다.
- 고정확도 탐지 벤치마킹: 아키텍처 비교의 기준점으로 YOLOv9의 우수한 COCO 벤치마크 성능이 필요한 시나리오입니다.
Ultralytics(YOLO26)를 선택해야 하는 경우#
대부분의 신규 프로젝트에는 성능과 개발자 경험을 가장 잘 조합한 Ultralytics YOLO26을 권장합니다.
- NMS가 필요 없는 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관된 저지연 추론이 필요한 애플리케이션입니다.
- CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 빠른 CPU 추론은 결정적인 이점을 제공합니다.
- 작은 객체 탐지: 항공 드론 이미지나 IoT 센서 분석과 같이 작은 객체의 정확도를 ProgLoss와 STAL이 크게 높여 주는 까다로운 시나리오입니다.
결론#
YOLOv9과 YOLOv10은 각각 고유한 장점을 제공합니다. YOLOv9은 네트워크 파라미터 효율성과 이론적인 그래디언트 흐름을 극대화하여 최고 수준의 정확도를 구현합니다. 반면 YOLOv10은 NMS에 따른 지연 시간 페널티 없이 엔드투엔드 바운딩 박스 탐지를 구현한 학술적 선구자입니다.
그러나 성능과 다용성, 사용 편의성의 완벽한 균형을 원하는 개발자에게 최신 모델로 업그레이드하는 것은 매우 중요합니다. 고급 MuSGD 옵티마이저, 소형 객체 탐지 성능을 높이는 ProgLoss + STAL 기능, 포괄적인 멀티태스크 지원을 갖춘 YOLO26은 실제 컴퓨터 비전 과제에 적합한 최첨단 솔루션입니다.