YOLOv5 против YOLOv9: подробное сравнение
На этой странице представлено техническое сравнение двух значительных моделей обнаружения объектов: Ultralytics YOLOv5 и YOLOv9. Обе модели являются частью влиятельной серии YOLO (You Only Look Once), известной балансом скорости и точности при обнаружении объектов в реальном времени. В этом сравнении рассматриваются их архитектурные различия, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать наиболее подходящую модель для ваших проектов в области компьютерного зрения.
Ultralytics YOLOv5: Устоявшийся отраслевой стандарт
Автор: Гленн Джокер
Организация: Ultralytics
Дата: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Документация: https://docs.ultralytics.com/models/yolov5/
Ultralytics YOLOv5 быстро завоевал популярность после выпуска благодаря замечательному балансу скорости, точности и простоты использования. Разработанный полностью на PyTorch, YOLOv5 имеет архитектуру, использующую CSPDarknet53 в качестве основы и PANet для агрегации признаков, а также эффективный head обнаружения на основе anchor-ов. Он предлагает различные размеры моделей (n, s, m, l, x), что позволяет пользователям выбирать, исходя из их вычислительных ресурсов и потребностей в производительности.
Сильные стороны
- Исключительная скорость и эффективность: YOLOv5 высоко оптимизирована для быстрого вывода, что делает ее идеальной для приложений реального времени на различном оборудовании, включая периферийные устройства.
- Простота использования: Ultralytics YOLOv5 славится своим оптимизированным пользовательским интерфейсом, простыми интерфейсами Python и CLI, а также обширной документацией.
- Хорошо поддерживаемая экосистема: Преимущества интегрированной экосистемы Ultralytics, включающей активную разработку, большое и поддерживающее сообщество, частые обновления и всесторонние ресурсы, такие как Ultralytics HUB, для обучения без кода.
- Баланс производительности: Обеспечивает надежный компромисс между скоростью инференса и точностью обнаружения, подходящий для различных реальных сценариев развертывания.
- Универсальность: Поддержка нескольких задач, включая обнаружение объектов, сегментацию экземпляров и классификацию изображений.
- Эффективность обучения: Предлагает эффективные процессы обучения, легкодоступные предварительно обученные веса и, как правило, более низкие требования к памяти по сравнению со многими другими архитектурами, особенно моделями на основе трансформеров.
Слабые стороны
- Точность: Несмотря на высокую точность для своего времени, новые модели, такие как YOLOv9, могут достигать более высоких показателей mAP в бенчмарках, таких как COCO.
- На основе Anchor: Использует предопределенные anchor boxes, что может потребовать большей настройки для конкретных наборов данных по сравнению с подходами без anchor.
Случаи использования
- Видеонаблюдение и системы безопасности в реальном времени.
- Развертывание на периферийных устройствах с ограниченными ресурсами, таких как Raspberry Pi и NVIDIA Jetson.
- Промышленная автоматизация и контроль качества, например, улучшение производства с помощью компьютерного зрения.
- Быстрое прототипирование и разработка благодаря простоте использования и надежной экосистеме.
YOLOv9: Повышение точности с помощью новых техник
Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
Организация: Институт информатики, Academia Sinica, Тайвань
Дата: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
Документация: https://docs.ultralytics.com/models/yolov9/
YOLOv9 представляет значительные архитектурные инновации, а именно Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). PGI направлен на смягчение потери информации, поскольку данные проходят через глубокие сети, предоставляя полную входную информацию для расчета функции потерь. GELAN — это новая архитектура, разработанная для превосходного использования параметров и вычислительной эффективности. Эти усовершенствования позволяют YOLOv9 достигать более высокой точности при сохранении эффективности.
Сильные стороны
- Повышенная точность: Устанавливает новые передовые результаты на наборе данных COCO для детекторов объектов в реальном времени, превосходя YOLOv5 и другие модели по mAP.
- Повышенная эффективность: GELAN и PGI способствуют созданию моделей, которые требуют меньше параметров и вычислительных ресурсов (FLOPs) для сопоставимой или лучшей производительности, чем предыдущие модели.
- Сохранение информации: PGI эффективно решает проблему информационного узкого места, что имеет решающее значение для точного обучения более глубоких и сложных сетей.
Слабые стороны
- Ресурсы для обучения: Как отмечено в документации YOLOv9, обучение моделей YOLOv9 может потребовать больше ресурсов и времени по сравнению с Ultralytics YOLOv5.
- Более новая архитектура: Являясь более новой моделью от другой исследовательской группы, она имеет менее развитую экосистему, поддержку сообщества и интеграцию со сторонними разработчиками, чем хорошо зарекомендовавшая себя Ultralytics YOLOv5.
- Универсальность задач: В основном ориентирован на обнаружение объектов, не имеет встроенной поддержки для сегментации, классификации и оценки позы, которые есть в моделях Ultralytics, таких как YOLOv5 и YOLOv8.
Случаи использования
- Приложения, требующие максимально возможной точности обнаружения объектов.
- Сценарии, где вычислительная эффективность критически важна наряду с высокой производительностью.
- Расширенная видеоаналитика и высокоточная промышленная инспекция.
- AI в управлении дорожным движением и приложениях «умный город», требующих обнаружения высшего уровня.
Производительность и тесты: YOLOv5 против YOLOv9
При сравнении производительности модели YOLOv9 обычно достигают более высоких показателей mAP, чем их аналоги YOLOv5, что демонстрирует эффективность ее архитектурных инноваций. Однако Ultralytics YOLOv5 сохраняет прочные позиции благодаря своей исключительной скорости инференса и высокооптимизированной реализации, что делает его отличным выбором для приложений реального времени, где количество кадров в секунду (FPS) является критически важным показателем.
Модель | размер (пиксели) |
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 |
Архитектурное Глубокое Погружение
Архитектура YOLOv5
Архитектура Ultralytics YOLOv5 представляет собой усовершенствованную реализацию принципов семейства YOLO. Она состоит из трех основных частей:
- Backbone: Сеть CSPDarknet53, которая является модифицированной версией Darknet-53, включающей модули Cross Stage Partial (CSP) для снижения вычислительной нагрузки при сохранении точности.
- Neck: Path Aggregation Network (PANet) используется для агрегации признаков с различных уровней backbone, улучшая обнаружение объектов в различных масштабах.
- Head: Головная часть обнаружения основана на anchor-ах, предсказывая ограничивающие рамки на основе предопределенных форм anchor-боксов, что способствует ее высокой скорости.
Архитектура YOLOv9
YOLOv9 представляет новые концепции, чтобы расширить границы точности и эффективности:
- Программируемая градиентная информация (PGI): Этот механизм предназначен для борьбы с проблемой информационного узкого места в глубоких сетях. Он гарантирует, что полная входная информация доступна для расчета функции потерь, что приводит к более надежному обновлению градиентов и улучшению сходимости модели.
- Обобщенная эффективная сеть агрегации слоев (GELAN): Это новая сетевая архитектура, основанная на принципах CSPNet и ELAN. GELAN предназначена для оптимизации использования параметров и вычислительной эффективности, что позволяет модели достигать более высокой точности с меньшими ресурсами.
Обучение и экосистема
Опыт обучения и поддержка экосистемы – это то, в чем Ultralytics YOLOv5 действительно превосходит.
- Простота использования: YOLOv5 предлагает невероятно удобный интерфейс с простыми API командной строки и Python, обширными учебными пособиями и исчерпывающей документацией.
- Хорошо поддерживаемая экосистема: Будучи официальной моделью Ultralytics, YOLOv5 является частью надежной экосистемы, которая включает активную разработку, большое сообщество на GitHub и Discord, частые обновления и бесшовную интеграцию с инструментами MLOps, такими как Ultralytics HUB.
- Эффективность обучения: YOLOv5 очень эффективен для обучения, с готовыми предварительно обученными весами и более низкими требованиями к памяти по сравнению с более сложными архитектурами. Это делает его доступным для пользователей с более широким спектром оборудования.
Несмотря на то, что YOLOv9 является мощной моделью, ее процесс обучения может быть более требовательным, а ее экосистема не так развита и интегрирована, как у моделей Ultralytics. Для разработчиков, ищущих простой и хорошо поддерживаемый путь от обучения до развертывания, YOLOv5 предлагает явное преимущество.
Заключение: какую модель вам следует выбрать?
И YOLOv5, и YOLOv9 — отличные модели, но они отвечают разным приоритетам.
-
Ultralytics YOLOv5 — идеальный выбор для разработчиков, которые ценят скорость, простоту использования и зрелую, хорошо поддерживаемую экосистему. Исключительный баланс производительности делает ее идеальной для приложений реального времени, быстрого прототипирования и развертывания на периферийных AI устройствах с ограниченными ресурсами. Универсальность в различных задачах компьютерного зрения повышает ее ценность как универсальной платформы AI.
-
YOLOv9 лучше всего подходит для приложений, где достижение максимально возможной точности обнаружения объектов является основной задачей, а вычислительные ресурсы для обучения менее важны. Ее инновационная архитектура обеспечивает самые современные результаты на сложных бенчмарках.
Для большинства пользователей, особенно для тех, кто ищет надежную, быструю и простую в использовании модель с сильной поддержкой сообщества и коммерческой поддержкой, Ultralytics YOLOv5 остается главной рекомендацией. Для тех, кто интересуется последними достижениями Ultralytics, такие модели, как YOLOv8 и новейшая YOLO11, предлагают еще большую производительность и универсальность, сохраняя при этом удобство использования, которое определяет экосистему Ultralytics.