YOLOv9 против YOLOv10: техническое сравнение для обнаружения объектов
Выбор подходящей модели обнаружения объектов — критически важное решение для любого проекта в области компьютерного зрения, напрямую влияющее на производительность, скорость и эффективность использования ресурсов. Серия YOLO продолжает расширять границы возможного. На этой странице представлено подробное техническое сравнение двух современных моделей: YOLOv9 и YOLOv10. Мы проанализируем их архитектурные инновации, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать лучшую модель для ваших конкретных потребностей, сбалансировав такие факторы, как точность, скорость вывода и вычислительные затраты.
YOLOv9: Programmable Gradient Information для расширенного обучения
YOLOv9, представленный в феврале 2024 года, является значительным достижением в области обнаружения объектов, которое решает проблему потери информации в глубоких нейронных сетях. Его новая архитектура гарантирует, что важные данные сохраняются на протяжении всей модели, что приводит к очень точным результатам.
Технические детали:
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация: Institute of Information Science, Academia Sinica, Taiwan
- Дата: 21.02.2024
- Arxiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
- Документация: https://docs.ultralytics.com/models/yolov9/
Архитектура и ключевые особенности
YOLOv9 представляет две новаторские концепции:
- Программируемая градиентная информация (PGI): Этот механизм решает проблему потери информации, когда данные проходят через слои глубокой сети. Генерируя надежные градиенты, PGI гарантирует, что модель может эффективно обучаться и выполнять точные обновления, что имеет решающее значение для обнаружения сложных объектов.
- Обобщенная эффективная сеть агрегации слоев (GELAN): YOLOv9 имеет новую сетевую архитектуру GELAN, которая представляет собой высокоэффективную конструкцию, оптимизирующую использование параметров и вычислительную эффективность. Это позволяет YOLOv9 достигать первоклассной производительности, не будучи чрезмерно большой или медленной.
Сильные стороны
- Высокая точность: YOLOv9 устанавливает высокий стандарт точности, при этом ее самый крупный вариант, YOLOv9-E, достигает самых современных показателей mAP на наборе данных COCO.
- Сохранение информации: Основное новшество PGI эффективно смягчает проблему узкого места информации, что приводит к улучшению обучения и производительности модели.
- Эффективная архитектура: GELAN обеспечивает отличный баланс между скоростью и точностью, что делает YOLOv9 весьма конкурентоспособной с точки зрения производительности на параметр.
- Экосистема Ultralytics: При использовании в рамках фреймворка Ultralytics, YOLOv9 выигрывает от оптимизированного пользовательского опыта, простого Python API и обширной документации. Экосистема обеспечивает эффективное обучение с легкодоступными предварительно обученными весами, активную разработку, сильную поддержку сообщества и, как правило, более низкие требования к памяти по сравнению с другими типами моделей, такими как transformers.
Слабые стороны
- Более новая модель: Будучи недавним релизом, широта примеров, созданных сообществом, и интеграций со сторонними разработчиками все еще растет по сравнению с более устоявшимися моделями.
- Сложность: Новая концепция PGI, хотя и мощная, добавляет уровень архитектурной сложности по сравнению с более простыми конструкциями.
Идеальные варианты использования
YOLOv9 — отличный выбор для приложений, где достижение максимально возможной точности является основной целью:
- Продвинутая робототехника: Для сложных задач, требующих точного обнаружения объектов в динамических средах.
- Анализ изображений высокого разрешения: Идеально подходит для таких сценариев, как анализ спутниковых снимков, где детали имеют первостепенное значение.
- Критически важные системы безопасности: Приложения в сфере автономного вождения или продвинутых систем безопасности, где точность может иметь решающее значение.
YOLOv10: Сквозная эффективность в реальном времени
YOLOv10, выпущенный в мае 2024 года исследователями из Университета Цинхуа, разработан для максимальной эффективности и скорости. Он достигает этого за счет перепроектирования ключевых компонентов архитектуры YOLO и, что наиболее важно, за счет устранения необходимости в постобработке Non-Maximum Suppression (NMS).
Технические детали:
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Документация: https://docs.ultralytics.com/models/yolov10/
Архитектура и ключевые особенности
Философия разработки YOLOv10 сосредоточена на сквозной эффективности:
- Обучение без NMS: YOLOv10 использует Согласованные двойные назначения во время обучения, что позволяет выдавать четкие прогнозы без этапа NMS. Это значительно снижает задержку при выводе и упрощает конвейер развертывания.
- Комплексный подход к эффективности и точности: Архитектура модели была оптимизирована сверху донизу. Это включает в себя облегченную классификационную голову, пространственно-канальную разделенную дискретизацию для эффективного сохранения информации и блочную структуру с ранговым управлением для устранения вычислительной избыточности.
Сильные стороны
- Экстремальная эффективность и скорость: Оптимизирована для минимальной задержки и вычислительных затрат, что делает ее одним из самых быстрых доступных детекторов объектов.
- Сквозное развертывание: Отсутствие NMS устраняет издержки постобработки, обеспечивая сквозное обнаружение за один шаг.
- Превосходная производительность на ватт: Низкие вычислительные требования и объем памяти делают его идеальным для устройств с ограниченным энергопотреблением.
- Интеграция Ultralytics: YOLOv10 полностью интегрирован в экосистему Ultralytics, предоставляя пользователям хорошо поддерживаемую и простую в использовании платформу. Это включает в себя простой API, всестороннюю документацию и доступ к полному набору инструментов Ultralytics.
Слабые стороны
- Самая новая модель: Поскольку это новейшая модель в серии, ресурсы сообщества и примеры развертывания в реальных условиях все еще накапливаются.
- Специализация по задачам: YOLOv10 узкоспециализирован для обнаружения объектов. Ему не хватает встроенной универсальности для других задач, таких как сегментация экземпляров или оценка позы, которые являются родными для моделей, таких как Ultralytics YOLOv8.
Идеальные варианты использования
YOLOv10 превосходно подходит для приложений, где критически важны производительность и эффективность в реальном времени:
- Edge Computing: Идеально подходит для развертывания на устройствах с ограниченными ресурсами, таких как NVIDIA Jetson и мобильные платформы.
- Высокоскоростная видеоаналитика: Приложения, требующие немедленного обнаружения объектов в видеопотоках, такие как мониторинг дорожного движения или аналитика спортивных трансляций в реальном времени.
- Мобильные и встраиваемые системы: Интеграция в приложения, где скорость и энергопотребление являются решающими факторами для удобства пользователя.
Противостояние производительности: YOLOv9 против YOLOv10
Ключевое различие между YOLOv9 и YOLOv10 заключается в их приоритетах проектирования. YOLOv9 фокусируется на максимизации точности за счет сложных архитектурных решений, в то время как YOLOv10 разработан для беспрецедентной вычислительной эффективности и низкой задержки.
В таблице ниже показано, что, хотя самая большая модель, YOLOv9-E, достигает самого высокого общего mAP, модели YOLOv10 стабильно обеспечивают лучшую скорость и эффективность параметров при сопоставимых уровнях точности. Например, YOLOv10-B имеет на 46% меньшую задержку и на 25% меньше параметров, чем YOLOv9-C, при аналогичной производительности. Это делает YOLOv10 чрезвычайно сильным выбором для приложений, где скорость логического вывода является критическим узким местом.
Модель | размер (пиксели) |
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 |
YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Заключение: какую модель вам следует выбрать?
Ваш выбор между YOLOv9 и YOLOv10 полностью зависит от приоритетов вашего проекта.
-
Выбирайте YOLOv9, если ваше основное требование — максимальная точность. Он идеально подходит для сложных задач, где точность не подлежит обсуждению, и вы можете справиться с несколько более высокими вычислительными затратами.
-
Выбирайте YOLOv10, если ваше основное требование — скорость и эффективность в реальном времени. Его архитектура без NMS делает его превосходным выбором для приложений с низкой задержкой и развертывания на оборудовании с ограниченными ресурсами.
Обе модели представляют собой передовые решения для обнаружения объектов и являются отличным выбором в своих областях. Их интеграция в экосистему Ultralytics гарантирует, что разработчики и исследователи смогут легко использовать эти мощные инструменты с надежной поддержкой.
Изучите другие модели
Для пользователей, чьи потребности могут не совсем соответствовать ни YOLOv9, ни YOLOv10, экосистема Ultralytics предлагает другие мощные альтернативы. Ultralytics YOLOv8 остается лучшим выбором благодаря исключительному балансу производительности и универсальности, поддерживая такие задачи, как сегментация, классификация и оценка позы, «из коробки». Для тех, кто ищет самые последние достижения, Ultralytics YOLO11 опирается на своих предшественников, устанавливая новые ориентиры в производительности и эффективности. Вы можете изучить дополнительные сравнения, такие как YOLOv9 vs. YOLOv8 и YOLOv8 vs. YOLOv10, чтобы найти идеальную модель для своего проекта.