YOLOv9 против YOLOv8#
За последние несколько лет ландшафт компьютерного зрения в реальном времени заметно изменился: каждая новая модель расширяет теоретические границы возможного как на периферийных устройствах, так и на облачных серверах. При сравнении более новой архитектуры YOLOv9 с чрезвычайно популярным фреймворком Ultralytics YOLOv8 разработчикам часто приходится выбирать между передовыми теоретическими методами распространения градиентов и тщательно проверенной в боевых условиях экосистемой, готовой к промышленной эксплуатации.
В этом подробном руководстве сопоставляются эти две мощные модели: рассматриваются их архитектурные инновации, показатели производительности и оптимальные сценарии развёртывания, чтобы помочь тебе выбрать подходящую модель для следующего проекта в области искусственного интеллекта.
Технические характеристики и авторство#
Понимание происхождения этих моделей даёт важный контекст для их соответствующих архитектурных решений.
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 устраняет этот разрыв, предоставляя доступ к нашим надёжным инструментам экспорта и развёртывания.
Баланс производительности и результаты тестов#
Компромисс между скоростью и точностью — важнейший фактор при развёртывании моделей компьютерного зрения. Ниже приведено подробное сравнение размеров моделей, задержки и средней точности (mAP), оценённых на стандартном наборе данных 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.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 |
| 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 |
При анализе показателей YOLOv9 демонстрирует впечатляющее соотношение количества параметров и точности. Модель YOLOv9c достигает впечатляющего показателя mAP 53,0%, используя всего 25,3 млн параметров. Однако YOLOv8 сохраняет значительное преимущество по требованиям к памяти и скорости инференса на аппаратных ускорителях; в частности, вариант YOLOv8n показывает результат 1,47 мс в конфигурации с NVIDIA TensorRT.
Преимущества экосистемы Ultralytics#
При выборе архитектуры важную роль играют простота использования и окружающая программная экосистема. Управление зависимостями, написание пользовательских загрузчиков данных и работа со сложными скриптами экспорта могут замедлить разработку. Интегрированная экосистема Ultralytics берёт эти сложности на себя.
Выбрав YOLOv8 или YOLOv9 (которая полностью поддерживается библиотекой Ultralytics), ты получаешь единый API, автоматические методы аугментации данных и упрощённый экспорт в формат ONNX. Кроме того, архитектуры Ultralytics обычно обеспечивают высокую эффективность обучения, избегая значительного раздувания памяти CUDA, которое часто связано с крупными моделями на основе Transformer.
Пример кода для обучения#
Обучать любую из моделей с помощью API Python просто: для этого потребуется всего несколько строк кода.
from ultralytics import YOLO
# Load the preferred model (swap 'yolov9c.pt' with 'yolov8n.pt' as needed)
model = YOLO("yolov8n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance metrics
metrics = model.val()
# Export to ONNX for production deployment
model.export(format="onnx")Варианты применения и рекомендации#
Выбор между YOLOv9 и YOLOv8 зависит от конкретных требований твоего проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOv9#
YOLOv9 — хороший выбор для:
- Исследований информационного узкого места: академических проектов, изучающих архитектуры Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).
- Исследований оптимизации потока градиентов: работ, посвященных пониманию и устранению потери информации в слоях глубоких сетей во время обучения.
- Сравнительного тестирования обнаружения с высокой точностью: сценариев, где высокие результаты YOLOv9 на тесте COCO нужны как эталон для архитектурных сравнений.
Когда стоит выбрать YOLOv8#
YOLOv8 рекомендуется для:
- Универсальное развертывание для нескольких задач: проектов, которым нужна проверенная модель для обнаружения, сегментации, классификации и оценки позы в экосистеме Ultralytics.
- Сформировавшиеся промышленные системы: существующих производственных сред, уже построенных на архитектуре YOLOv8 и использующих стабильные, тщательно протестированные конвейеры развертывания.
- Широкая поддержка сообщества и экосистемы: приложений, получающих преимущества от обширных руководств по YOLOv8, сторонних интеграций и активных ресурсов сообщества.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Взгляд в будущее: появление YOLO26#
Хотя YOLOv8 и YOLOv9 обладают впечатляющими возможностями, ландшафт компьютерного зрения быстро меняется. Для современных развёртываний мы настоятельно рекомендуем использовать Ultralytics YOLO26, выпущенную в январе 2026 года.
YOLO26 меняет сам принцип работы детекторов объектов в промышленной эксплуатации. Она оснащена нативной сквозной архитектурой без NMS, которая фактически устраняет задержку и недетерминированное поведение постобработки. Для более эффективной работы на периферийных устройствах и оборудовании с низким энергопотреблением YOLO26 полностью исключает DFL (Distribution Focal Loss), что значительно упрощает экспорт на мобильные устройства.
Кроме того, YOLO26 использует революционный оптимизатор MuSGD — гибрид SGD и Muon, который обеспечивает стабильность обучения уровня LLM для задач компьютерного зрения и значительно ускоряет сходимость. Благодаря ускорению инференса на CPU до 43% и интеграции ProgLoss + STAL для значительно более качественного распознавания малых объектов YOLO26 является бесспорным выбором для новых корпоративных инициатив.
В зависимости от ограничений твоего оборудования ты также можешь сравнить эти модели с Ultralytics YOLO11 для сбалансированных задач общего назначения или изучить модели на основе Transformer, такие как RT-DETR, для специализированных исследований с высокой точностью.
Применение и варианты использования в реальных условиях#
Выбор между YOLOv8 и YOLOv9 в значительной степени зависит от ограничений твоего проекта и целевого оборудования.
- Здравоохранение и медицинская визуализация: когда важен каждый пиксель, например в системах обнаружения опухолей, архитектура GELAN в YOLOv9 исключительно хорошо сохраняет мелкие детали, уменьшая количество ложноотрицательных результатов при критически важных диагнозах.
- Розничная торговля и аналитика запасов: для систем умного супермаркета, отслеживающих плотно заставленные полки, YOLOv9 обеспечивает необходимый mAP для надёжного разделения перекрывающихся товаров.
- Умные города и мониторинг дорожного движения: в стремительных задачах управления логистикой и дорожным движением сверхнизкая задержка и проверенная надёжность YOLOv8 делают её идеальной для одновременного отслеживания транспортных средств в потоках с нескольких камер.
- Развёртывание на периферийных устройствах: если ты развёртываешь модель на устройствах с ограниченными ресурсами, таких как Raspberry Pi, или на мобильном оборудовании, высокооптимизированные блоки C2f в YOLOv8 (а также оптимизация CPU в YOLO26) обеспечивают значительно более плавный и экономичный по заряду аккумулятора конвейер инференса.