YOLOv9 против YOLOv5: Технический глубокий анализ современного обнаружения объектов
Область компьютерного зрения пережила колоссальный рост, при этом обнаружение объектов служит основой для бесчисленных промышленных и исследовательских приложений. Выбор правильной архитектуры часто требует тщательной оценки средней точности (mAP), скорости инференса и накладных расходов памяти. В этом сравнении мы исследуем две весьма влиятельные модели: YOLOv9, известную своими архитектурными прорывами в сохранении градиентной информации, и Ultralytics YOLOv5, проверенный временем отраслевой стандарт, известный своей невероятной простотой использования и непревзойденной универсальностью развертывания.
Архитектурные инновации и технические истоки
Понимание базовых механизмов этих двух моделей обеспечивает критически важный контекст для их соответствующих профилей производительности.
YOLOv9: Программируемая градиентная информация
Разработанный исследователями Чьен-Яо Ваном и Хонг-Юань Марком Ляо из Института информационных наук Academia Sinica на Тайване, YOLOv9 был выпущен 21 февраля 2024 года. Модель представляет две новаторские концепции для решения проблемы информационного узкого места, характерной для глубоких нейронных сетей: программируемую градиентную информацию (PGI) и обобщенную эффективную сеть агрегации слоев (GELAN).
Используя PGI, YOLOv9 гарантирует сохранение важной информации на протяжении всего прямого распространения, что приводит к высокоточным обновлениям градиента. Тем временем архитектура GELAN максимизирует эффективность параметров, позволяя модели достигать современной точности с удивительно низкими вычислительными затратами. Вы можете ознакомиться с техническими деталями в официальной статье YOLOv9 на Arxiv или просмотреть репозиторий YOLOv9 на GitHub.
Ultralytics YOLOv5: Производственный стандарт
Разработанное Гленном Джочером и выпущенное Ultralytics 26 июня 2020 года, YOLOv5 произвело революцию в доступности компьютерного зрения. Будучи одной из первых моделей обнаружения объектов, изначально построенных на фреймворке PyTorch, оно обошло сложности старого C-фреймворка Darknet. YOLOv5 использует высокооптимизированный backbone CSPNet и neck PANet, обеспечивая идеальный баланс между скоростью и точностью.
Однако его главным достижением является интеграция в более широкую экосистему Ultralytics. YOLOv5 сильно оптимизирован для быстрой эффективности обучения и сред с низким объемом памяти, что делает его невероятно стабильным для развертывания на периферийных устройствах.
Эффективность памяти
При оценке моделей для периферийных устройств помните, что модели Ultralytics YOLO обычно требуют значительно меньше памяти GPU как во время обучения, так и во время инференса по сравнению с тяжелыми архитектурами на основе трансформеров.
Анализ производительности: скорость в сравнении с точностью
При проектировании конвейера компьютерного зрения разработчики должны учитывать компромиссы между точностью и задержкой. В следующей таблице показаны различия в производительности на стандартном наборе данных 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Анализ компромиссов
YOLOv9 устанавливает абсолютное доминирование в чистой точности. YOLOv9e расширяет границы mAP до 55,6%, используя свои слои GELAN для сохранения мелких деталей. Это делает его исключительным выбором для медицинской визуализации или сценариев, требующих высокой точности на мелких объектах.
Напротив, YOLOv5 выделяется своей скоростью развертывания и аппаратной гибкостью. YOLOv5n (Nano) известен своей легковесностью, выполняя инференс всего за 1,12 мс на GPU T4 через TensorRT. Если вы развертываете на ограниченных IoT-устройствах, мобильных телефонах или Raspberry Pi, объем памяти, занимаемый YOLOv5, делает его чрезвычайно надежным.
Преимущество экосистемы Ultralytics
Важным фактором при выборе модели является окружающая программная экосистема. Хотя YOLOv9 предоставляет лучшие исследовательские бенчмарки, использование обеих моделей через современный Python API Ultralytics устраняет этот разрыв, предлагая разработчикам унифицированный и оптимизированный опыт.
Простота использования и экспорт
Ultralytics абстрагирует сложные инженерные препятствия. Такие функции, как автоматическое увеличение данных и настройка гиперпараметров, обрабатываются из коробки. Перенос моделей в производство столь же тривиален благодаря встроенным командам экспорта для преобразования моделей в форматы ONNX, OpenVINO или TFLite.
Универсальность задач
Хотя обе модели превосходно справляются с обнаружением объектов, современные модели Ultralytics созданы для решения различных задач компьютерного зрения. Более широкий фреймворк обеспечивает нативную поддержку классификации изображений, сегментации экземпляров, оценки позы и ориентированных ограничивающих рамок (OBB), позволяя разработчикам решать несколько задач зрения без переключения кодовых баз.
Сценарии использования и рекомендации
Выбор между YOLOv9 и YOLOv5 зависит от конкретных требований вашего проекта, ограничений развертывания и предпочтений экосистемы.
Когда выбирать YOLOv9
YOLOv9 — отличный выбор для:
- Исследования информационного узкого места: Академические проекты, изучающие архитектуры Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).
- Исследования по оптимизации потока градиентов: Исследования, направленные на понимание и снижение потери информации в глубоких слоях сети во время обучения.
- Бенчмаркинг обнаружения с высокой точностью: Сценарии, где высокая производительность YOLOv9 в бенчмарке COCO необходима в качестве эталонной точки для архитектурных сравнений.
Когда выбирать YOLOv5
YOLOv5 рекомендуется для:
- Проверенные производственные системы: Существующие развертывания, где ценятся долгий track-рекорд стабильности YOLOv5, обширная документация и массивная поддержка сообщества.
- Обучение с ограниченными ресурсами: Среды с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и низкие требования к памяти являются преимуществом.
- Обширная поддержка форматов экспорта: Проекты, требующие развертывания во многих форматах, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Пример реализации
Преимущество экосистемы Ultralytics заключается в том, что вы можете переключаться между моделью YOLOv5 и моделью YOLOv9, просто изменив строку весов.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Export to ONNX for seamless deployment
model.export(format="onnx")
Исследование более новых архитектур
Хотя YOLOv5 и YOLOv9 являются отличными моделями с явными преимуществами, область продолжает развиваться. Пользователи, изучающие новые проекты, также могут рассмотреть последние итерации от Ultralytics.
- YOLO11: Мощная, усовершенствованная эволюция линейки YOLOv8, предлагающая отличный баланс скорости и точности во всех задачах компьютерного зрения.
- YOLO26: Выпущенная в 2026 году, YOLO26 является лучшей рекомендацией для современных конвейеров. Она представляет сквозную архитектуру без NMS (End-to-End NMS-Free Design), полностью устраняя узкие места постобработки. Благодаря удалению DFL (Distribution Focal Loss удален для упрощенного экспорта и лучшей совместимости с периферийными/маломощными устройствами), она достигает до 43% более быстрого инференса на CPU. Стабильность обучения значительно повышается благодаря новому оптимизатору MuSGD, а ProgLoss + STAL обеспечивает улучшенные функции потерь с заметными улучшениями в распознавании мелких объектов, что критически важно для IoT, робототехники и аэрофотосъемки, делая ее самой надежной архитектурой как для периферийных, так и для облачных развертываний.
Для команд, управляющих большими наборами данных и сложными конвейерами развертывания, использование платформы Ultralytics предлагает no-code решение для легкого обучения, отслеживания и развертывания этих передовых моделей.