YOLOv9 и YOLOv8#
За последние несколько лет компьютерное зрение в реальном времени заметно продвинулось: каждая новая модель расширяет теоретические границы возможного как на периферийных устройствах, так и на облачных серверах. Сравнивая новую архитектуру YOLOv9 с популярным фреймворком Ultralytics YOLOv8, разработчики часто выбирают между передовыми теоретическими подходами к градиентам и проверенной в боевых условиях экосистемой, готовой к использованию в production.
В этом подробном руководстве сравниваются эти две мощные модели: рассматриваются их архитектурные новшества, показатели производительности и оптимальные сценарии развёртывания, чтобы помочь тебе выбрать модель для следующего проекта в области искусственного интеллекта.
Технические характеристики и авторы#
Знание истории создания этих моделей помогает лучше понять причины, повлиявшие на выбор архитектурных решений.
YOLOv9 YOLOv9 разработали Чиен-Яо Ван и Хун-Юань Марк Ляо из Института информационных наук Академии Синика на Тайване. Модель выпустили 21 февраля 2024 года. Основное направление исследования — решение проблемы информационного узкого места в глубоких нейронных сетях. Оригинальную научную статью о YOLOv9 можно найти на arXiv, а исходный код — в официальном репозитории YOLOv9 на GitHub.
Ultralytics YOLOv8 YOLOv8 разработали Гленн Джочер, Аюш Чаурасия и Цзин Цю из Ultralytics. Модель вышла 10 января 2023 года и стала отраслевым стандартом благодаря универсальности и единому API для широкого спектра задач компьютерного зрения. Исходный код поддерживается в основном репозитории Ultralytics на GitHub, что обеспечивает постоянное обновление и долгосрочную стабильность.
Архитектурные инновации#
YOLOv9: программируемая информация о градиентах#
Главное новшество YOLOv9 — внедрение программируемой информации о градиентах (PGI) и обобщённой эффективной сети агрегации слоёв (GELAN). По мере углубления свёрточные нейронные сети обычно теряют важные признаки в процессе прямого прохода. PGI устраняет это информационное узкое место, сохраняя точные градиенты, используемые для обновления весов, и тем самым обеспечивая надёжное извлечение признаков. Такая архитектура максимально повышает эффективность использования параметров, позволяя YOLOv9 достигать высокой точности при меньшем количестве операций с плавающей запятой (FLOPs).
YOLOv8: универсальная рабочая модель#
В YOLOv8 появился упрощённый механизм обнаружения без якорей: он сокращает количество предсказаний рамок и ускоряет подавление немаксимумов (NMS) при постобработке. Модуль C2f (узкое место с частичными связями между стадиями и двумя свёртками) улучшает распространение градиентов по сети по сравнению с более ранними моделями. Что ещё важнее, YOLOv8 разрабатывали с расчётом на универсальность: модель изначально поддерживает обнаружение объектов, сегментацию экземпляров, оценку позы, классификацию изображений и извлечение ориентированных ограничивающих рамок (OBB).
YOLOv9 показывает исключительные результаты обнаружения, но встроить её в сложные конвейеры может быть непросто. Использование YOLOv9 через фреймворк Ultralytics помогает устранить этот барьер и даёт доступ к нашим надёжным инструментам экспорта и развёртывания.
Баланс производительности и бенчмарки#
При развёртывании моделей компьютерного зрения важнее всего найти баланс между скоростью и точностью. Ниже приведено подробное сравнение размеров моделей, задержки и средней точности, измеренной на стандартном наборе данных 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 |
| 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.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
При анализе метрик YOLOv9 демонстрирует впечатляющее соотношение количества параметров и точности. Модель YOLOv9c достигает впечатляющих 53,0% mAP, используя всего 25,5 млн параметров. Однако YOLOv8 заметно выигрывает по требованиям к памяти и скорости инференса на аппаратных ускорителях: вариант YOLOv8n выполняет инференс за 1,47 мс в конфигурации с NVIDIA TensorRT.
Преимущества экосистемы Ultralytics#
Выбирая архитектуру, важно учитывать простоту использования и доступную программную экосистему. Управление зависимостями, написание собственных загрузчиков данных и работа со сложными скриптами экспорта могут замедлить разработку. Интегрированная экосистема Ultralytics избавляет от этих сложностей.
Какую бы модель ты ни выбрал — YOLOv8 или YOLOv9 (она полностью поддерживается библиотекой Ultralytics), — тебе будут доступны единый API, автоматические методы аугментации данных и простой экспорт в формат ONNX. Кроме того, архитектуры Ultralytics обычно обеспечивают высокую эффективность обучения, избегая чрезмерного потребления памяти CUDA, характерного для крупных моделей на основе Transformer.
Пример кода для обучения#
Обучать любую из моделей через Python API просто: для этого достаточно нескольких строк кода.
from ultralytics import YOLO
# Загрузи нужную модель (при необходимости замени «yolov9c.pt» на «yolov8n.pt»)
model = YOLO("yolov8n.pt")
# Обучи модель на собственном датасете
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Оцени метрики производительности модели
metrics = model.val()
# Экспортируй модель в ONNX для развёртывания в production
model.export(format="onnx")Сценарии использования и рекомендации#
Выбор между YOLOv9 и YOLOv8 зависит от конкретных требований проекта, ограничений развёртывания и предпочтений относительно экосистемы.
Когда выбирать YOLOv9#
YOLOv9 — хороший выбор для:
- Исследование информационного узкого места: Академические проекты, изучающие архитектуры программируемой информации о градиентах (PGI) и обобщённой эффективной сети агрегации слоёв (GELAN).
- Исследования оптимизации потока градиентов: Работы, посвящённые изучению и устранению потери информации в глубоких слоях сети во время обучения.
- Сравнительное тестирование точного детектирования: Сценарии, в которых высокая результативность YOLOv9 на тестах COCO нужна в качестве ориентира для сравнения архитектур.
Когда выбрать YOLOv8#
YOLOv8 подойдет для:
- Универсальное решение для нескольких задач: проекты, которым нужна проверенная модель для обнаружения объектов, сегментации, классификации и оценки позы в экосистеме Ultralytics.
- Уже работающие системы: существующие промышленные среды, построенные на архитектуре YOLOv8 и использующие стабильные, тщательно проверенные конвейеры развертывания.
- Широкая поддержка сообщества и экосистемы: приложения, которым помогают многочисленные руководства по YOLOv8, сторонние интеграции и активное сообщество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Взгляд в будущее: появление YOLO26#
YOLOv8 и YOLOv9 обладают широкими возможностями, но компьютерное зрение быстро развивается. Для современных развёртываний мы настоятельно рекомендуем использовать Ultralytics YOLO26, выпущенную в январе 2026 года.
YOLO26 меняет подход к работе детекторов объектов в production. Модель поддерживает архитектуру без NMS от начала до конца (необязательная функция, включаемая через nms=False), устраняя задержки и недетерминированное поведение на этапе постобработки. Для лучшей поддержки периферийного оборудования и устройств с низким энергопотреблением в YOLO26 полностью реализован отказ от DFL (Distribution Focal Loss), что значительно упрощает экспорт моделей для мобильных устройств.
Кроме того, в YOLO26 используется новаторский оптимизатор MuSGD — гибрид SGD и Muon, который переносит в задачи компьютерного зрения стабильность обучения на уровне больших языковых моделей, значительно ускоряя сходимость. Благодаря инференсу на CPU до 43% быстрее и интеграции ProgLoss + STAL, заметно улучшающей распознавание мелких объектов, YOLO26 — бесспорный выбор для новых корпоративных проектов.
В зависимости от ограничений оборудования тебе может быть интересно сравнить эти модели с Ultralytics YOLO11, подходящей для сбалансированных задач общего назначения, или изучить модели на основе Transformer, например RT-DETR, для специализированных исследований, требующих высокой точности.
Примеры применения в реальных условиях#
Выбор между YOLOv8 и YOLOv9 во многом зависит от ограничений проекта и целевого оборудования.
- Здравоохранение и медицинская визуализация: Когда важен каждый пиксель, например в системах обнаружения опухолей, архитектура GELAN в YOLOv9 особенно хорошо сохраняет мелкие детали и снижает число ложноотрицательных результатов при постановке критически важных диагнозов.
- Розничная торговля и аналитика запасов: Для интеллектуальных систем супермаркетов, отслеживающих товары на плотно заставленных полках, YOLOv9 обеспечивает необходимый уровень mAP для надёжного разделения перекрывающихся объектов.
- Умные города и мониторинг дорожного движения: Для динамичных задач логистики и управления дорожным движением крайне низкая задержка и проверенная надёжность YOLOv8 делают эту модель идеальной для одновременного отслеживания транспортных средств в видеопотоках с нескольких камер.
- Развёртывание на периферийных устройствах: Если ты развёртываешь модель на устройствах с ограниченными ресурсами, например Raspberry Pi или мобильном оборудовании, оптимизированные блоки C2f в YOLOv8 (и оптимизации CPU в YOLO26) обеспечат более стабильный и энергоэффективный конвейер инференса.