YOLOv5 против YOLOv9: всестороннее техническое сравнение
Развитие технологии обнаружения объектов в реальном времени ознаменовалось быстрым повышением точности и эффективности. Двумя важными вехами на этом пути стали Ultralytics YOLOv5модель, установившая отраслевой стандарт по удобству использования и развертывания, и YOLOv9архитектура, ориентированная на исследования и расширяющая границы теории глубокого обучения.
В этом техническом сравнении анализируются их архитектуры, показатели производительности и идеальные сценарии использования, чтобы помочь разработчикам и исследователям выбрать подходящий инструмент для своих проектов в области компьютерного зрения.
Ultralytics YOLOv5: промышленный стандарт универсальности
С момента выпуска, YOLOv5 стала одной из самых популярных моделей искусственного интеллекта зрения во всем мире. Разработанная компанией Ultralytics, она ставит во главу угла инженерное совершенство, простоту использования и реальную производительность. Она обеспечивает баланс между скоростью и точностью, а также удобство использования благодаря надежной экосистеме.
Технические детали:
- Авторы: Гленн Джокер
- Организация:Ultralytics
- Дата: 26.06.2020
- GitHub:https://github.com/ultralytics/yolov5
- Документы:https://docs.ultralytics.com/models/yolov5/
Архитектура и Дизайн
YOLOv5 использует магистраль CSPDarknet в сочетании с горловиной PANet для эффективного извлечения и агрегирования признаков. Его головка обнаружения, основанная на якорях, оптимизирована по скорости, что делает ее пригодной для широкого спектра аппаратных средств. В отличие от чисто академических моделей, YOLOv5 был разработан с учетом особенностей развертывания, предлагая встроенную поддержку для iOS, Androidи edge-устройств.
Основные сильные стороны
- Хорошо поддерживаемая экосистема: YOLOv5 - это результат многолетней активной разработки, включающей обширную документацию, поддержку сообщества и интеграцию с такими инструментами, как Ultralytics HUB.
- Эффективность обучения: Она отличается быстрым временем обучения и меньшими требованиями к памяти по сравнению с архитектурами на основе трансформаторов, что делает ее доступной на стандартных потребительских графических процессорах.
- Универсальность: Помимо обнаружения, YOLOv5 поддерживает сегментацию экземпляров и классификацию изображений, позволяя разработчикам решать множество задач технического зрения с помощью одного фреймворка.
- Готовность к развертыванию: Встроенные возможности экспорта в ONNX, TensorRT, CoreML и TFLite, переход от исследований к производству упрощается.
YOLOv9: архитектурные инновации для максимальной точности
Выйдет в 2024 году, YOLOv9 нацелена на решение проблемы потери информации в глубоких сетях. В ней представлены новые концепции, улучшающие распространение данных в модели, что позволило достичь передовых результатов в таких бенчмарках, как COCO.
Технические детали:
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация:Институт информационных наук, Академия Синика, Тайвань
- Дата: 21.02.2024
- Arxiv:https://arxiv.org/abs/2402.13616
- GitHub:https://github.com/WongKinYiu/yolov9
- Документы:https://docs.ultralytics.com/models/yolov9/
Архитектура и инновации
В YOLOv9 реализованы два основных архитектурных усовершенствования:
- Программируемая градиентная информация (PGI): Техника, разработанная для смягчения проблемы информационного узкого места, обеспечивающая доступность полной входной информации для вычисления функции потерь.
- Обобщенная эффективная сеть агрегирования слоев (GELAN): Облегченная архитектура сети, которая оптимизирует эффективность параметров, позволяя модели достигать более высокой точности с меньшим количеством параметров, чем некоторые предшественники.
Основные сильные стороны
- Высокая точность: YOLOv9 устанавливает впечатляющие показатели точности обнаружения объектов, особенно в больших конфигурацияхYOLOv9).
- Эффективность использования параметров: Архитектура GELAN гарантирует, что модель эффективно использует параметры, обеспечивая высокое соотношение точности и веса.
- Теоретический прогресс: Рассматриваются фундаментальные вопросы глубокого обучения, связанные с сохранением информации в глубоких слоях.
Сравнение производительности
При сравнении этих двух моделей компромисс обычно лежит между скоростью и абсолютной точностью. YOLOv9 достигает более высоких показателей mAPval на наборе данных COCO , демонстрируя эффективность PGI и GELAN. Однако, Ultralytics YOLOv5 остается грозным конкурентом в скорости вычислений, особенно на процессорах и пограничных устройствах, где оптимизированная архитектура дает о себе знать.
Баланс производительности
В то время как YOLOv9 занимает первое место по точности, YOLOv5 часто обеспечивает более практичный баланс для приложений реального времени, предлагая значительно более высокую скорость вывода (мс) на стандартном оборудовании при сохранении надежных возможностей обнаружения.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Обучение и ресурсы
Для разработчиков эффективность обучения часто так же важна, как и скорость получения выводов. Ultralytics YOLOv5 известна своей простотой "обучись и работай". Она обычно требует меньше памяти во время обучения по сравнению с новыми, более сложными архитектурами, особенно моделями на основе трансформаторов (такими как RT-DETR). Такой низкий барьер для входа позволяет пользователям обучать пользовательские модели на скромных аппаратных установках.
YOLOv9, хотя и эффективен по параметрам, может быть более ресурсоемким в обучении из-за сложности вспомогательных ветвей, используемых для PGI, которые удаляются при выводе, но увеличивают накладные расходы при обучении.
Пример кода: Унифицированный интерфейс
Одно из главных преимуществ экосистемы Ultralytics - унифицированный Python API. Вы можете переключаться между YOLOv5 и YOLOv9 с помощью одной строки кода, что делает невероятно простым бенчмаркинг обоих на вашем конкретном наборе данных.
from ultralytics import YOLO
# Load an Ultralytics YOLOv5 model (pre-trained on COCO)
model_v5 = YOLO("yolov5su.pt")
# Train the model on your custom data
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a YOLOv9 model for comparison
model_v9 = YOLO("yolov9c.pt")
# Train YOLOv9 using the exact same API
results_v9 = model_v9.train(data="coco8.yaml", epochs=100, imgsz=640)
Идеальные варианты использования
Выбор между этими моделями зависит от приоритетов вашего проекта:
Когда стоит выбрать Ultralytics YOLOv5
- Пограничное развертывание: Идеально подходит для Raspberry Pi, мобильных приложений и встраиваемых систем, где важна каждая миллисекунда задержки.
- Быстрое создание прототипов: Простота использования, обширные руководства и поддержка сообщества обеспечивают невероятно быстрые циклы разработки.
- Многозадачные требования: Если в вашем проекте наряду с обнаружением требуется сегментация или классификация, YOLOv5 предлагает унифицированное решение.
- Ограниченность ресурсов: Проекты с ограниченным объемом памяти GPU для обучения выиграют от эффективности YOLOv5.
Когда выбирать YOLOv9
- Максимальная точность: Критически важна для таких приложений, как медицинская визуализация или высокоточный промышленный контроль, где пропуск обнаружения обходится дорого.
- Академические исследования: Отлично подходит для исследователей, изучающих последние достижения в области градиентных информационных потоков и проектирования сетевой архитектуры.
- Мощное оборудование: лучше всего использовать при наличии достаточных вычислительных ресурсов для обучения и выводов, чтобы использовать весь потенциал.
Заключение
Обе модели представляют собой передовые разработки в области компьютерного зрения. Ultralytics YOLOv5 остается прагматичным выбором для большинства разработчиков, предлагая непревзойденное сочетание скорости, надежности и поддержки экосистемы. Это проверенная в боях "рабочая лошадка" для реального применения. YOLOv9с другой стороны, предлагает взгляд в будущее архитектурной эффективности, обеспечивая точность высшего уровня для тех, кто в ней нуждается.
Для тех, кто ищет абсолютную новизну в производительности и универсальности, мы также рекомендуем обратить внимание на YOLO11который, опираясь на сильные стороны YOLOv5 и YOLOv8 , обеспечивает самые современные результаты по всем параметрам.
Изучите другие модели
Если вы заинтересованы в дальнейших исследованиях, ознакомьтесь с этими смежными моделями в экосистеме Ultralytics :
- YOLO11: новейшая модель SOTA, обеспечивающая превосходную производительность и универсальность.
- YOLOv8: мощная модель без привязки, поддерживающая обнаружение, сегментацию, позирование и OBB.
- RT-DETR: трансформаторный детектор реального времени для высокоточных приложений.