YOLOv7 против YOLOv10: подробное техническое сравнение
Выбор правильной модели обнаружения объектов включает в себя балансировку точности, скорости и требований к развертыванию. На этой странице представлено подробное техническое сравнение между YOLOv7 и YOLOv10, двумя значительными моделями в области обнаружения объектов в реальном времени. Мы углубимся в их архитектурные различия, показатели производительности и идеальные варианты использования, чтобы помочь вам выбрать наиболее подходящий вариант для ваших проектов в области компьютерного зрения.
YOLOv7: Высокая точность и скорость
YOLOv7, представленный в июле 2022 года, быстро получил признание за впечатляющий баланс между скоростью и точностью, установив новые эталонные показатели на тот момент. Он был нацелен на оптимизацию процесса обучения с использованием "trainable bag-of-freebies" для повышения точности без увеличения затрат на вывод.
Технические детали:
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация: Institute of Information Science, Academia Sinica, Taiwan
- Дата: 06.07.2022
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Документация: https://docs.ultralytics.com/models/yolov7/
Архитектура и ключевые особенности
YOLOv7 представил несколько архитектурных улучшений и уточнений обучения для достижения своей производительности:
- Расширенные сети агрегации эффективных слоев (E-ELAN): Этот ключевой компонент в backbone повышает способность сети изучать разнообразные признаки, контролируя путь градиента, что улучшает сходимость и общую точность.
- Масштабирование модели: Внедрены методы составного масштабирования для моделей на основе конкатенации, позволяющие эффективно регулировать глубину и ширину модели в соответствии с различными вычислительными бюджетами.
- Обучаемый набор бесплатных улучшений: YOLOv7 использовал передовые методы во время обучения, такие как стратегии назначения меток и корректировки пакетной нормализации, для повышения производительности, не добавляя никаких накладных расходов во время вывода.
- Вспомогательная голова Coarse-to-fine: Модель использует вспомогательные головы во время обучения для улучшения глубокого контроля и более эффективного управления процессом обучения модели.
Сильные и слабые стороны
Сильные стороны
- Баланс высокой точности и скорости: YOLOv7 предлагает сильное сочетание высокого mAP и быстрой скорости инференса, что делает его подходящим для многих приложений реального времени.
- Эффективное обучение: Модель включает в себя передовые методы обучения, которые улучшают производительность без значительного увеличения вычислительных требований во время инференса.
- Хорошо зарекомендовавшая себя: Будучи зрелой моделью, она выигрывает от большей базы пользователей и большего количества ресурсов сообщества по сравнению с новейшими моделями.
Слабые стороны
- Зависимость от NMS: YOLOv7 использует Non-Maximum Suppression (NMS) для постобработки, что увеличивает вычислительные затраты и задержку при выводе.
- Сложность: Архитектура и стратегии обучения, хотя и эффективны, могут быть сложными для полного понимания и точной настройки под конкретные приложения.
Случаи использования
YOLOv7 хорошо подходит для требовательных приложений, где критически важен баланс скорости и точности:
- Расширенное наблюдение: Его высокая точность ценна для идентификации объектов или угроз в системах безопасности.
- Автономные системы: Обеспечивает надежное обнаружение для таких приложений, как автомобили с автоматическим управлением.
- Промышленная автоматизация: Модель может использоваться для надежного обнаружения дефектов в производстве и контроле качества.
YOLOv10: Сквозное обнаружение в реальном времени
YOLOv10, представленная в мае 2024 года исследователями из Университета Цинхуа, представляет собой значительный прогресс в области обнаружения объектов в реальном времени. Ее основное новшество — создание сквозного решения за счет устранения необходимости в Non-Maximum Suppression (NMS), что снижает задержку и повышает эффективность развертывания.
Технические детали:
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация: Университет Цинхуа
- Дата: 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: В процессе обучения используются согласованные двойные назначения, что обеспечивает конкурентоспособную производительность без этапа постобработки NMS. Это упрощает конвейер развертывания и снижает задержку при выводе.
- Комплексный подход к эффективности и точности: Модель оптимизирует различные компоненты, такие как классификационная голова и слои дискретизации, для снижения вычислительной избыточности и расширения возможностей. Это включает в себя такие методы, как блочная структура с ранговым управлением и частичное самовнимание (PSA).
- Подход без Anchor: Как и другие современные модели YOLO, он использует дизайн детектора без anchor, что упрощает головку обнаружения и улучшает обобщение.
Сильные и слабые стороны
Сильные стороны
- Высокая эффективность: Конструкция без NMS и другие архитектурные оптимизации приводят к более быстрому выводу, меньшей задержке и снижению вычислительных затрат.
- Конкурентная точность: Он поддерживает высокую точность, значительно улучшая скорость и уменьшая размер модели.
- Сквозное развертывание: Отсутствие NMS упрощает конвейер развертывания, облегчая интеграцию в приложения.
Слабые стороны
- Относительно новая модель: Будучи более новой моделью, поддержка сообщества и количество реальных примеров могут быть менее обширными по сравнению с устоявшимися моделями, такими как YOLOv7 или Ultralytics YOLOv8.
- Настройка для оптимальной производительности: Для достижения наилучших результатов может потребоваться тщательная настройка гиперпараметров, возможно, с использованием таких ресурсов, как советы по обучению моделей.
Случаи использования
Благодаря ориентации на эффективность в реальном времени, YOLOv10 идеально подходит для сред с ограниченными ресурсами:
- Приложения Edge AI: Идеально подходит для развертывания на таких устройствах, как NVIDIA Jetson или Raspberry Pi, где критически важна низкая задержка.
- Робототехника: Обеспечивает более быстрое восприятие для навигации и взаимодействия, что является ключевым аспектом роли ИИ в робототехнике.
- Автономные дроны: Его легкая и быстрая архитектура подходит для быстрого обнаружения объектов в дронах и других беспилотных летательных аппаратах.
Прямое сравнение производительности
При сравнении YOLOv7 и YOLOv10 наиболее существенное различие заключается в их философии проектирования. YOLOv7 стремится к балансу между высокой точностью и скоростью, что делает его мощным детектором общего назначения. В отличие от этого, YOLOv10 отдает приоритет вычислительной эффективности и низкой задержке за счет устранения NMS, что делает его превосходным выбором для приложений реального времени на периферийных устройствах.
В таблице ниже показано, что модели YOLOv10 стабильно достигают более низкой задержки и требуют меньше параметров и FLOPs, чем модели YOLOv7, при аналогичных уровнях mAP. Например, YOLOv10b достигает 52,7 mAP всего с 6,54 мс задержки, превосходя YOLOv7l, который имеет аналогичный mAP, но более высокую задержку.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
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 |
Заключение и рекомендации
YOLOv7 и YOLOv10 — это мощные модели, но они служат разным потребностям. YOLOv7 — это надежный и точный детектор, который остается надежным выбором для приложений, где достижение высокого mAP является приоритетом. YOLOv10, с его инновационной архитектурой без NMS, является явным победителем для приложений, требующих высочайшей эффективности и минимальной задержки, особенно при сквозном развертывании.
Для разработчиков, ищущих современный, универсальный и удобный фреймворк, модели из экосистемы Ultralytics, такие как Ultralytics YOLOv8 и новейшая YOLO11, часто представляют собой более убедительный выбор. Эти модели предлагают:
- Простота использования: Оптимизированный Python API, подробная документация и простые команды CLI.
- Хорошо поддерживаемая экосистема: Активная разработка, сильное сообщество с открытым исходным кодом и интеграция с такими инструментами, как Ultralytics HUB для бесшовного MLOps.
- Универсальность задач: Поддержка нескольких задач помимо обнаружения объектов, включая сегментацию, классификацию, оценку позы и обнаружение ориентированных объектов (OBB).
Изучите другие модели
Если вам интересны другие модели, ознакомьтесь с этими дополнительными сравнениями:
- YOLOv7 против YOLOv8
- YOLOv10 в сравнении с YOLOv8
- YOLOv10 в сравнении с YOLOv9
- RT-DETR против YOLOv7
- YOLOv7 против YOLOv5
- Ознакомьтесь с последними моделями, такими как YOLO11.