YOLOv9 и YOLOv10#
Компьютерное зрение в реальном времени быстро развивается: исследователи продолжают улучшать соотношение производительности и эффективности. Среди передовых моделей зрения YOLOv9 и YOLOv10 стали важными вехами. Обе модели, выпущенные в начале 2024 года, внесли значительные архитектурные изменения, направленные на решение давних проблем глубоких нейронных сетей — от потери информации до задержки при постобработке.
В этом техническом сравнении рассматриваются архитектуры, показатели производительности и оптимальные сценарии развёртывания, чтобы помочь тебе выбрать подходящую модель для обнаружения объектов.
Происхождение и архитектура модели#
Понимание происхождения и теоретических основ этих моделей важно для выбора подходящей архитектуры для твоего проекта в области компьютерного зрения.
YOLOv9: управление потоком информации#
Представленная 21 февраля 2024 года, YOLOv9 решает теоретическую проблему потери информации при прохождении данных через глубокие нейронные сети.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информатики, Академия Синика, Тайвань
- Источник: Статья о YOLOv9 на arXiv
- Репозиторий: YOLOv9 на GitHub
В YOLOv9 используется обобщённая эффективная сеть агрегации слоёв (GELAN), которая повышает эффективность использования параметров, объединяя преимущества CSPNet и ELAN. Кроме того, модель применяет программируемую градиентную информацию (PGI) — вспомогательный механизм супервизии, который помогает глубоким слоям сохранять важную пространственную информацию. Поэтому YOLOv9 хорошо подходит для задач, требующих высокой точности признаков, например для анализа медицинских изображений или дальнего видеонаблюдения.
YOLOv10: эффективность в реальном времени от начала до конца#
Выпущенная вскоре после неё, 23 мая 2024 года, YOLOv10 упрощает процесс развёртывания, устраняя известное узкое место в обнаружении объектов, которое увеличивает задержку: подавление немаксимумов (NMS).
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Источник: Статья о YOLOv10 на arXiv
- Репозиторий: YOLOv10 на GitHub
Во время обучения YOLOv10 использует согласованное двойное назначение, благодаря чему в модели изначально реализована архитектура без NMS. Это устраняет накладные расходы на постобработку при инференсе и сокращает задержку. В сочетании с комплексным дизайном модели, ориентированным на эффективность и точность, это позволяет YOLOv10 достичь хорошего баланса: снизить вычислительные затраты (FLOPs), сохранив конкурентоспособную точность. Поэтому модель хорошо подходит для приложений периферийных вычислений.
Сравнение производительности и метрик#
При сравнении этих двух семейств моделей на стандартном наборе данных MS COCO видны компромиссы между точностью и задержкой инференса.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Анализ данных#
- Задержка и точность: Модели YOLOv10 обычно обеспечивают более быстрый инференс. Например, YOLOv10s достигает 46.3% mAP при задержке всего 2.49 ms на TensorRT, тогда как YOLOv9s для близкого результата 46.8% mAP требуется 3.54 ms.
- Точность высшего уровня: Для исследовательских задач, требующих максимальной точности обнаружения, YOLOv9e остается отличным выбором: модель достигает 55.6% mAP, а PGI помогает надежно извлекать тонкие признаки.
- Эффективность: YOLOv10 демонстрирует высокую эффективность по FLOPs. Это напрямую снижает энергопотребление — важный показатель для устройств с батарейным питанием, на которых работают модели компьютерного зрения.
При развертывании на CPU или ресурсно-ограниченных периферийных устройствах, например Raspberry Pi, архитектура YOLOv10 без NMS обычно обеспечивает более плавный конвейер за счет устранения этапов постобработки с переменной задержкой.
Преимущества Ultralytics: обучение и экосистема#
Хотя архитектурные различия имеют решающее значение, успех проекта часто определяется окружающей программной экосистемой. И YOLOv9, и YOLOv10 полностью интегрированы в экосистему Ultralytics, обеспечивая единообразную среду разработки.
Простота использования и эффективность работы с памятью#
В отличие от сложных архитектур на основе Transformer, которым может требоваться большой объем памяти, модели Ultralytics YOLO рассчитаны на эффективное использование памяти GPU. Благодаря этому исследователи могут использовать более крупные размеры пакетов на потребительском оборудовании, делая передовые технологии ИИ доступнее.
Единый Python API берет на себя сложную настройку аугментации данных и гиперпараметров. Чтобы переключиться между архитектурами, достаточно изменить строку с именем файла весов.
from ultralytics import YOLO
# Загрузи модель YOLOv10 (чтобы легко переключиться на YOLOv9, укажи «yolov9c.pt»)
model = YOLO("yolov10n.pt")
# Обучи модель на датасете COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Проверка производительности модели
metrics = model.val()
# Экспортируй обученную модель в формат ONNX для развёртывания
model.export(format="onnx")Если тебе нужно записывать метрики в MLflow или экспортировать модель в TensorRT для высокоскоростного развёртывания на оборудовании, пакет Ultralytics для Python поддерживает это из коробки.
Оптимальные сценарии применения#
Выбор модели зависит от ограничений твоего развёртывания:
- Выбирай YOLOv9, если: ты работаешь над задачами обнаружения мелких объектов, например анализом аэрофотоснимков с дронов или обнаружением небольших опухолей, где сохранение признаков в архитектуре GELAN обеспечивает максимальную точность.
- Выбирай YOLOv10, если: Твоя главная цель — инференс в реальном времени на периферийных устройствах. Архитектура без NMS отлично подходит для автономной робототехники, мониторинга дорожного движения в реальном времени и интеллектуального видеонаблюдения.
Готовность к будущему: переход на YOLO26#
YOLOv8, YOLOv9 и YOLOv10 — отличные модели, но разработчикам, которые хотят создавать современные решения на основе ИИ, стоит обратить внимание на Ultralytics YOLO26, выпущенную в январе 2026 года.
YOLO26 развивает предыдущие поколения, сочетая эффективность YOLOv10 без NMS с более высокой точностью, чем у обеих моделей в этом сравнении.
Ключевые инновации YOLO26#
- Архитектура без NMS от начала до конца: Развивая идеи YOLOv10, опциональная голова «один к одному» в YOLO26 (
nms=False) пропускает постобработку с NMS и упрощает развёртывание. - Оптимизатор MuSGD: Гибрид SGD и Muon, который переносит достижения обучения LLM в компьютерное зрение, обеспечивая стабильное обучение и быструю сходимость.
- Инференс на CPU до 43% быстрее: YOLO26n работает на CPU до 43% быстрее YOLO11n, что делает модель подходящей для периферийных вычислений и устройств без выделенных GPU.
- Отказ от DFL: Distribution Focal Loss удалена, чтобы упростить экспорт модели и повысить совместимость с устройствами с низким энергопотреблением.
- ProgLoss + STAL: Прогрессивная функция потерь и назначение меток с учетом малых объектов (STAL) повышают точность обнаружения мелких объектов.
Исследователям, которые оценивают другие архитектуры, также стоит рассмотреть хорошо документированные альтернативы в экосистеме Ultralytics: RT-DETR и YOLO11. Однако для универсального решения всех задач компьютерного зрения в новых проектах рекомендуется использовать YOLO26 на платформе Ultralytics.