YOLOv10 vs YOLOv7: Подробное техническое сравнение
Выбор подходящей модели обнаружения объектов имеет решающее значение для проектов компьютерного зрения, поскольку это влияет на производительность, скорость и использование ресурсов. На этой странице представлено техническое сравнение YOLOv10 и YOLOv7 — двух значимых моделей в семействе You Only Look Once (YOLO), которое поможет вам выбрать наиболее подходящий вариант для ваших нужд. Мы углубимся в их архитектуры, показатели производительности и идеальные варианты использования.
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: Благодаря использованию согласованных двойных назначений для назначения меток, YOLOv10 избегает избыточных прогнозов и устраняет необходимость в этапе постобработки NMS. Это упрощает конвейер развертывания и делает модель действительно сквозной.
- Комплексный подход к эффективности и точности: Архитектура модели была комплексно оптимизирована как для эффективности, так и для производительности. Это включает в себя внедрение облегченной классификационной головы и использование пространственно-канальной разделенной дискретизации для снижения вычислительной избыточности при одновременном расширении возможностей модели.
- Подход без Anchor: Как и другие современные модели YOLO, он использует дизайн детектора без anchor, что упрощает головку обнаружения и улучшает обобщение.
- Бесшовная интеграция Ultralytics: YOLOv10 полностью интегрирован в экосистему Ultralytics, что обеспечивает удобство работы благодаря простому Python API и мощным командам CLI. Это делает обучение, проверку и развертывание исключительно простыми.
Сильные стороны
- Современная эффективность: Отсутствие NMS и оптимизация архитектуры приводят к более высокой скорости инференса и значительно более низкой задержке, что критически важно для приложений реального времени.
- Конкурентная точность: YOLOv10 поддерживает высокую точность, значительно уменьшая размер модели и вычислительные затраты по сравнению со своими предшественниками.
- Упрощенное развертывание: Отказ от NMS создает сквозной конвейер обнаружения, что упрощает развертывание, особенно на периферийных устройствах.
- Превосходная масштабируемость: Предлагает ряд моделей от Nano (N) до Extra-large (X), удовлетворяющих различные потребности в производительности, от периферийного оборудования с ограниченными ресурсами до мощных облачных серверов.
Слабые стороны
- Более новая модель: Будучи недавним релизом, поддержка сообщества и количество интеграций со сторонними разработчиками могут быть менее обширными по сравнению с более устоявшимися моделями, такими как YOLOv7 или Ultralytics YOLOv8.
YOLOv7
YOLOv7, выпущенная в июле 2022 года, быстро установила новый стандарт в области обнаружения объектов, благодаря замечательному балансу скорости и точности. Разработанная исследователями из Института информатики Academia Sinica, она представила несколько архитектурных улучшений и стратегий обучения, известных как «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): Эта усовершенствованная структура сети улучшает способность модели изучать разнообразные признаки, поддерживая при этом эффективный поток градиентов, что приводит к повышению точности и более быстрой сходимости.
- Масштабирование модели для моделей на основе конкатенации: YOLOv7 представила методы составного масштабирования, которые интеллектуально регулируют глубину и ширину модели для оптимизации производительности при различных вычислительных бюджетах.
- Обучаемый набор бесплатных улучшений: Он использует передовые методы обучения, такие как использование вспомогательной головы с поэтапным руководством, для повышения точности без добавления каких-либо накладных расходов во время вывода.
Сильные стороны
- Высокая mAP: Обеспечивает превосходную точность обнаружения объектов, что делает его отличным выбором для приложений, где точность имеет первостепенное значение.
- Быстрый вывод: Предлагает конкурентоспособную скорость вывода, которая подходит для многих задач реального времени, особенно на GPU оборудовании.
- Хорошо зарекомендовавшая себя: Благодаря тому, что YOLOv7 доступна дольше, она выигрывает от большей базы сообщества, большего количества учебных пособий и более широкого распространения в различных проектах.
Слабые стороны
- Зависимость от NMS: В отличие от YOLOv10, YOLOv7 использует этап постобработки NMS, что увеличивает общую задержку при выводе и усложняет конвейер развертывания.
- Менее эффективна: По сравнению с YOLOv10, модели YOLOv7 обычно имеют больше параметров и более высокие значения FLOPs при аналогичном уровне точности, что делает их менее эффективными.
Сравнение производительности: YOLOv10 против YOLOv7
При сравнении производительности YOLOv10 демонстрирует явное преимущество в эффективности. Наиболее прямое сравнение — между YOLOv10-M и YOLOv7-L. Как показано в таблице ниже, YOLOv10-M достигает почти идентичного mAPval, равного 51,3%, по сравнению с 51,4% у YOLOv7-L. Однако YOLOv10-M значительно эффективнее: он быстрее (5,48 мс против 6,84 мс на TensorRT), имеет менее половины параметров (15,4 млн против 36,9 млн) и требует гораздо меньше вычислительных ресурсов (59,1 млрд FLOP против 104,7 млрд FLOP). Это подчеркивает превосходную архитектурную конструкцию YOLOv10, которая обеспечивает сопоставимую точность с гораздо большей эффективностью.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Заключение
И YOLO10, и YOLOv7 — это мощные модели обнаружения объектов, но YOLO10 представляет собой следующий шаг в эффективности обнаружения в реальном времени. Его архитектура без NMS обеспечивает настоящее сквозное решение, которое быстрее, легче и проще в развертывании без ущерба для точности. Для новых проектов, особенно ориентированных на периферийный ИИ или требующих минимальной задержки, рекомендуется выбирать YOLO10.
Несмотря на то, что YOLOv7 по-прежнему является эффективной моделью, ее зависимость от NMS и менее эффективная архитектура делают ее более подходящей для устаревших проектов или сценариев, где ее обширные ресурсы сообщества являются основным фактором. Для разработчиков, стремящихся к максимальной производительности, простоте использования и комплексной экосистеме, модели Ultralytics, такие как YOLOv10, предлагают превосходные возможности. Интеграция с Ultralytics HUB еще больше упрощает обучение и развертывание, делая передовое компьютерное зрение более доступным, чем когда-либо.
Изучите другие модели
Для дальнейшего изучения рассмотрите другие современные модели, доступные в документации Ultralytics:
- Ultralytics YOLOv8: Высоко универсальная модель, которая превосходно справляется с различными задачами компьютерного зрения, включая обнаружение, сегментацию и оценку позы.
- YOLOv9: Представляет такие инновации, как Programmable Gradient Information (PGI) для решения проблемы потери информации в глубоких сетях.
- YOLO11: Последняя официальная модель Ultralytics, предлагающая современную производительность, поддержку многозадачности и беспрецедентную простоту использования.