YOLOv9 против YOLOv5: технический обзор современных систем обнаружения объектов
Область компьютерного зрения переживает стремительный рост, и обнаружение объектов является основой для бесчисленного множества промышленных и исследовательских приложений. Выбор подходящей архитектуры часто требует тщательной оценки среднего значения точности (mAP), скорости вывода и затрат памяти. В этом сравнении мы рассмотрим две очень влиятельные модели: YOLOv9, получившую признание за свои архитектурные достижения в сохранении градиентной информации, и Ultralytics YOLOv5 — проверенный в боях отраслевой стандарт, известный своей невероятной простотой использования и непревзойденной универсальностью при развертывании.
Архитектурные инновации и техническое происхождение
Понимание внутренней механики этих двух моделей дает важный контекст для оценки их производительности.
YOLOv9: программируемая градиентная информация
Модель YOLOv9, разработанная исследователями Chien-Yao Wang и Hong-Yuan Mark Liao из Института информатики Academia Sinica на Тайване, была выпущена 21 февраля 2024 года. Модель внедряет две инновационные концепции для решения проблемы «узкого места» в передаче информации, характерной для глубоких нейронных сетей: программируемую градиентную информацию (PGI) и обобщенную эффективную сеть агрегации слоев (GELAN).
Используя PGI, YOLOv9 гарантирует сохранение жизненно важной информации в процессе прямого распространения, что приводит к максимально точным обновлениям градиента. В то же время архитектура GELAN максимизирует эффективность параметров, позволяя модели достигать передовой точности с удивительно низкими вычислительными затратами. Ты можешь изучить технические детали в официальной статье YOLOv9 на Arxiv или посмотреть репозиторий YOLOv9 на GitHub.
Ultralytics YOLOv5: производственный стандарт
Созданная Glenn Jocher и выпущенная Ultralytics 26 июня 2020 года, YOLOv5 произвела революцию в доступности компьютерного зрения. Будучи одной из первых моделей обнаружения объектов, созданных на базе фреймворка PyTorch, она обошла сложности старого C-фреймворка Darknet. YOLOv5 использует высокооптимизированную основу CSPNet и «шею» PANet, уделяя первостепенное внимание идеальному балансу между скоростью и точностью.
Однако ее главное достижение — интеграция в более широкую экосистему Ultralytics. YOLOv5 глубоко оптимизирована для быстрой эффективности обучения и сред с низким объемом памяти, что делает ее невероятно стабильной для развертывания на периферийных устройствах.
При оценке моделей для периферийных устройств помни, что модели Ultralytics YOLO обычно требуют значительно меньше памяти GPU как во время обучения, так и при выводе по сравнению с тяжелыми архитектурами на базе Transformer.
Анализ производительности: скорость против точности
При проектировании конвейера компьютерного зрения разработчикам приходится взвешивать компромиссы между точностью и задержкой. В следующей таблице показаны различия в производительности на стандартном наборе данных COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 — сильный выбор для:
- Исследований информационных узких мест: академических проектов, изучающих архитектуры PGI (Programmable Gradient Information) и GELAN (Generalized Efficient Layer Aggregation Network).
- Изучения оптимизации градиентного потока: исследований, сфокусированных на понимании и смягчении потери информации в глубоких слоях сети во время обучения.
- Бенчмаркинга высокоточного детектирования: сценариев, где высокая производительность YOLOv9 на бенчмарке COCO нужна как точка отсчета для архитектурных сравнений.
Когда выбирать YOLOv5
YOLOv5 рекомендуется для:
- Проверенных производственных систем: Существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения в условиях ограниченных ресурсов: Сред с ограниченными GPU-ресурсами, где эффективный конвейер обучения YOLOv5 и меньшие требования к памяти являются преимуществом.
- Широкой поддержки форматов экспорта: Проектов, требующих развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на 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 предлагает решение без написания кода для обучения, отслеживания и развертывания этих передовых моделей без лишних усилий.