YOLOv5 YOLOv9: эволюция обнаружения объектов в реальном времени
За последние несколько лет область обнаружения объектов в реальном времени претерпела значительные изменения. В то время как YOLOv5 установил стандарт удобства использования и промышленного применения в 2020 году, YOLOv9 в 2024 году представил новые архитектурные концепции, которые позволили расширить границы точности и эффективности. В этом руководстве представлено подробное техническое сравнение, которое поможет разработчикам выбрать подходящий инструмент для своих проектов в области компьютерного зрения.
Происхождение модели и технические характеристики
Понимание происхождения этих моделей помогает контекстуализировать их философию дизайна и предполагаемые случаи использования.
YOLOv5: Промышленный стандарт
Запущен в июне 2020 года Гленном Джочером и Ultralytics, YOLOv5 простоте использования, экспортируемости и скорости. Он стал первой YOLO , реализованной нативно в PyTorch, что сделало ее доступной для огромного сообщества Python .
- Автор: Гленн Джокер
- Организация:Ultralytics
- Дата: 2020-06-26
- Репозиторий:GitHub
- Основные преимущества: удобство использования, надежные каналы экспорта (ONNX, CoreML, TFLite) и быстрое обучение.
YOLOv9: Архитектурные инновации
Выпущенная в феврале 2024 года Чень-Яо Ваном и Хун-Юанем Марком Ляо из Академии Синика, YOLOv9 на решение проблемы «информационного бутылочного горлышка» в глубоких сетях.
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация: Институт информатики, Academia Sinica
- Дата: 2024-02-21
- Репозиторий:GitHub
- Статья:arXiv:2402.13616
- Фокус: Эффективность параметров и глубокий надзор с использованием программируемой градиентной информации (PGI).
Архитектурные различия
Основное различие заключается в том, как эти модели обрабатывают извлечение признаков и градиентный поток.
YOLOv5 использует магистраль CSPNet (Cross Stage Partial Network). Эта конструкция разделяет градиентный поток для уменьшения вычислений при сохранении точности, что стало революционным для создания компактных моделей, подходящих для встроенных систем. Его анкерная головка обнаружения высоко оптимизирована для задач общего назначения, предлагая баланс, который остается конкурентоспособным для многих устаревших приложений.
YOLOv9 представляет две ключевые инновации: GELAN (Generalized Efficient Layer Aggregation Network) и PGI (Programmable Gradient Information). GELAN оптимизирует использование параметров, позволяя модели быть более легкой при обучении более сложным функциям. PGI решает проблему потери информации при распространении данных через глубокие слои, предоставляя вспомогательную ветвь контроля, обеспечивающую надежное формирование градиента даже в очень глубоких архитектурах.
Вы знали?
В то время как YOLOv9 архитектурную новизну, Ultralytics YOLOv5 по-прежнему остается непревзойденной в плане внедрения. Она изначально поддерживает экспорт в такие форматы, как TensorRT Edge TPU, упрощая путь от обучения до производства.
Анализ производительности
При сравнении показателей YOLOv9 достигает более высокогоmAPval для заданного количества параметров, особенно в более крупных вариантах модели. Однако YOLOv5 невероятно конкурентоспособным по скорости вывода на CPU и устаревшем оборудовании благодаря своей более простой архитектуре.
Метрики бенчмарков
В таблице ниже приведены компромиссные решения. YOLOv9c достигает 53,0% mAP, превосходя YOLOv5x (50,7%), при этом используя значительно меньше параметров (25,3 млн против 97,2 млн). Это демонстрирует эффективность архитектуры GELAN. И наоборот, более компактные YOLOv5 (Nano и Small) обеспечивают чрезвычайно низкую задержку, что делает их пригодными для устройств с ультранизким энергопотреблением.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 86.7 | 205.7 |
| 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 |
Примечание: в таблице отражены стандартные показатели COCO . Жирным шрифтом выделены лучшие результаты в данной категории.
Простота использования и экосистема
Именно здесь это различие становится наиболее практичным для разработчиков.
Ultralytics (YOLOv5)
YOLOv5 с учетом потребностей разработчиков. Ultralytics обеспечивает бесперебойный рабочий процесс:
- Простой API: загружайте и обучайте модели с помощью нескольких строк Python.
- Интегрированные инструменты: автоматическая интеграция с инструментами отслеживания экспериментов, такими как Comet ClearML.
- Развертывание: экспорт в один клик в ONNX, CoreML, TFLite и OpenVINO.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model
model = YOLO("yolov5su.pt")
# Train on custom data
model.train(data="coco8.yaml", epochs=100)
# Export to ONNX for deployment
model.export(format="onnx")
YOLOv9
Несмотря на высокую точность, исходный YOLOv9 ориентирован на исследования. Однако теперьYOLOv9 полностьюYOLOv9 в Ultralytics ,YOLOv9 обеспечивает такую же простоту использования для этой новой архитектуры. Это означает, что вам не нужно жертвовать удобством использования, чтобы получить доступ к последним усовершенствованиям архитектуры; вы можете просто изменить строку имени модели.
Эффективность обучения и память
Важным преимуществом Ultralytics , включая YOLOv5 интегрированную YOLOv9, является эффективность использования памяти.
- GPU : циклы Ultralytics оптимизированы для минимизации использования CUDA . Это позволяет пользователям обучать большие партии на потребительском оборудовании (таком как NVIDIA 3060/4090) по сравнению с моделями на основе трансформаторов, которые часто требуют большого объема памяти.
- Конвергенция: YOLOv5 своей способностью «тренироваться из коробки», требуя минимальной настройки гиперпараметров. YOLOv9 с его вспомогательной ветвью PGI также демонстрирует стабильную конвергенцию, хотя его архитектура более сложна.
Приложения в реальном мире
Выбор подходящей модели зависит от ограничений вашей среды развертывания.
Идеальные варианты использования для YOLOv5
- Edge AI на устаревшем оборудовании: если вы развертываете систему на старых моделях Raspberry Pi или мобильных устройствах, где важна каждая миллисекунда задержки вывода, YOLOv5n (Nano) не имеет себе равных.
- Быстрое прототипирование: для хакатонов или стартапов, которым требуется доказательство концепции (PoC) в течение нескольких часов, обширная документация и учебные материалы сообщества по YOLOv5 разработку.
- Мобильные приложения: встроенная поддержка iOS CoreML и Android TFLite его незаменимым инструментом для разработчиков мобильных приложений.
Идеальные сценарии использования для YOLOv9.
- Высокоточный контроль: в сфере контроля качества производства, где критически важно обнаруживать мельчайшие дефекты, превосходные возможности GELAN по извлечению признаков делают YOLOv9 .
- Медицинская визуализация: для таких задач, как обнаружение опухолей, где точность важнее скорости, YOLOv9e обеспечивает необходимое mAP .
- Сложные сцены: в средах с высокой степенью окклюзии или загроможденности полезны программируемые градиенты, которые помогают модели сохранять важную информацию через глубокие слои.
Будущее: Знакомство с YOLO26.
Хотя YOLOv5 надежным рабочим инструментом, а YOLOv9 высокую точность, в этой области произошел новый прорыв. Для новых проектов, начинающихся в 2026 году, Ultralytics представляет собой вершину производительности и эффективности.
Почему стоит перейти на YOLO26?
- Нативная сквозная обработка: в отличие от YOLOv5 v9, которые требуют NMS , YOLO26 NMS требует NMS, что упрощает процессы развертывания.
- MuSGD Optimizer: вдохновленный обучением LLM, этот оптимизатор обеспечивает более быстрое и стабильное обучение.
- Универсальность: поддерживает обнаружение, сегментацию, позу, OBB и классификацию из коробки.
Для пользователей, которые в настоящее время используют YOLOv5, переход на YOLO26 обеспечивает значительное ускорение (до 43% более быстрое CPU ) и улучшенное обнаружение мелких объектов с помощью ProgLoss + STAL, что делает его рекомендуемым вариантом как для периферийных, так и для облачных развертываний.
Заключение
Обе архитектуры имеют свое место. YOLOv5 остается королем простоты и широкой совместимости с устройствами, идеально подходящим для разработчиков, которым нужно решение, которое «просто работает». YOLOv9 предлагает заглянуть в будущее эффективного глубокого обучения с его программируемыми градиентами, обеспечивающими высочайшую точность.
Однако использование Ultralytics гарантирует, что вы не будете ограничены в выборе. Вы можете обучить YOLOv5, YOLOv9 и передовую YOLO26, используя один и тот же API, что позволит вам протестировать их на своих данных и выбрать лучший вариант для вашего конкретного приложения.
Краткое сравнение
| Функциональность | YOLOv5 | YOLOv9 |
|---|---|---|
| Основной фокус | Скорость, простота использования, развертывание | Точность, эффективность параметров |
| Архитектура | Магистральная сеть CSPNet, основанная на анкорах | GELAN Backbone, PGI, на основе анкеров |
| Экосистема | Встроенная Ultralytics | Интегрировано в Ultralytics |
| Лучше всего подходит для | Мобильные, периферийные, устаревшие системы | Высокоточные исследования, сложные сцены |
| Инференс | Чрезвычайно быстрый (GPU) | Высокая точность / Более медленная работа |
Ознакомьтесь с другими моделями Ultralytics :
- YOLO11 — надежный предшественник YOLO26.
- YOLOv8 — унифицированная платформа для обнаружения, сегментации и определения положения.
- RT-DETR - Обнаружение в реальном времени на основе трансформатора.