YOLOv10 против YOLOv5: подробное техническое сравнение
Выбор подходящей модели обнаружения объектов имеет решающее значение для любого проекта в области компьютерного зрения, поскольку производительность напрямую влияет на успех приложения. Семейство моделей You Only Look Once (YOLO) славится своей скоростью и точностью. На этой странице представлено подробное техническое сравнение YOLOv10, современной модели из Университета Цинхуа, и Ultralytics YOLOv5, универсального и широко используемого отраслевого стандарта. Этот анализ поможет разработчикам и исследователям принять обоснованное решение на основе их конкретных потребностей.
YOLOv10: Передовой детектор реального времени
YOLOv10 представляет собой значительный прогресс в обнаружении объектов в реальном времени, уделяя особое внимание достижению истинной сквозной эффективности за счет устранения необходимости в постобработке 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 представляет несколько архитектурных инноваций, чтобы расширить границы компромисса между скоростью и точностью. Как подробно описано в его статье на arXiv, его основные особенности включают в себя:
- Обучение без NMS: В процессе обучения используются согласованные двойные назначения, что позволяет модели выдавать четкие прогнозы без этапа NMS. Это нововведение упрощает конвейер развертывания и снижает задержку при выводе, что является критическим узким местом во многих системах реального времени.
- Комплексный подход к эффективности и точности: Архитектура модели была всесторонне оптимизирована, от backbone до neck и head. Это включает в себя облегченную классификационную голову и пространственно-канальную разделенную дискретизацию, которые снижают вычислительную избыточность и расширяют возможности модели.
- Обнаружение без привязки к якорям (Anchor-Free Detection): Как и многие современные детекторы, YOLOv10 использует подход без привязки к якорям (anchor-free), что упрощает архитектуру и улучшает обобщение для объектов различных размеров и соотношений сторон.
Сильные и слабые стороны
Преимущества:
- Превосходная скорость и эффективность: Оптимизирована для инференса в реальном времени, предлагая более быструю обработку, что имеет решающее значение для требований с низкой задержкой.
- Архитектура без NMS: Устраняет постобработку NMS, упрощая развертывание и сокращая общее время вывода.
- Высокая точность при меньшем количестве параметров: Достигает конкурентоспособной точности при меньших размерах модели, что делает ее очень подходящей для сред с ограниченными ресурсами.
- End-to-End Deployment: Разработан для бесшовного сквозного развертывания, что является значительным преимуществом для производственных систем.
- Интеграция Ultralytics: Хотя YOLOv10 разработан сторонними разработчиками, он хорошо интегрирован в экосистему Ultralytics, извлекая выгоду из простых интерфейсов Python и CLI для обучения, валидации и инференса.
Слабые стороны:
- Более новая модель: Будучи недавно выпущенной моделью, ее поддержка сообщества и количество интеграций со сторонними разработчиками все еще могут развиваться по сравнению с устоявшимися моделями, такими как YOLOv5.
- Сложность оптимизации: Достижение максимальной производительности может потребовать специальной тонкой настройки и оптимизации для конкретного оборудования и наборов данных, что может быть сложнее, чем с более зрелыми моделями.
Случаи использования
YOLOv10 превосходен в приложениях, требующих сверхбыстрого и эффективного обнаружения объектов:
- Высокоскоростная робототехника: Обеспечивает визуальную обработку в реальном времени для роботов в динамических средах, что является ключевым компонентом в будущем робототехники.
- Продвинутые системы помощи водителю (ADAS): Обеспечение быстрой детекции объектов для повышения безопасности дорожного движения, дополняя такие решения, как ИИ в самоуправляемых автомобилях.
- Видеоаналитика в реальном времени: Обработка видео с высокой частотой кадров для получения мгновенной информации, что полезно в таких приложениях, как управление дорожным движением.
Ultralytics YOLOv5: Универсальная и широко используемая модель
Ultralytics YOLOv5 стал отраслевым стандартом, известным своим превосходным балансом скорости, точности и простотой использования. Он был предпочтительной моделью для тысяч разработчиков и исследователей с момента своего выпуска.
Технические детали:
- Авторы: Гленн Джокер
- Организация: Ultralytics
- Дата: 26.06.2020
- GitHub: https://github.com/ultralytics/yolov5
- Документация: https://docs.ultralytics.com/models/yolov5/
Архитектура и ключевые особенности
YOLOv5, построенный на базе PyTorch, использует CSPDarknet53 в качестве основы и PANet в качестве neck для агрегации признаков. Его архитектура обладает высокой масштабируемостью и предлагается в различных размерах (n, s, m, l, x) для соответствия различным вычислительным возможностям. Ключевой причиной его популярности является удобство использования, предоставляемое Ultralytics, которое включает в себя:
- Простой и согласованный API: Понятный интерфейс для обучения, валидации и инференса.
- Обширная документация: Подробные руководства и учебные пособия, которые охватывают все, от обучения на пользовательских данных до развертывания.
- Интегрированная экосистема: Полная поддержка в экосистеме Ultralytics, включая такие инструменты, как Ultralytics HUB для обучения без кода и управления MLOps.
Сильные и слабые стороны
Преимущества:
- Исключительная простота использования: Известен своим простым API, исчерпывающей документацией и плавной интеграцией, что делает его очень доступным как для начинающих, так и для экспертов.
- Развитая и надежная экосистема: Преимуществами являются большое, активное сообщество, частые обновления, легкодоступные предварительно обученные веса и обширные ресурсы.
- Баланс производительности: Предлагает превосходный компромисс между скоростью и точностью, что делает его практичным выбором для широкого спектра реальных приложений.
- Эффективность обучения: Отличается эффективным процессом обучения, более низкими требованиями к памяти по сравнению со многими сложными архитектурами и более быстрой сходимостью с предварительно обученными весами.
- Универсальность: Поддержка нескольких задач, помимо обнаружения объектов, включая сегментацию экземпляров и классификацию изображений.
Слабые стороны:
- Детектирование на основе Anchor: Опирается на anchor boxes, что иногда может потребовать настройки для достижения оптимальной производительности на наборах данных с нетрадиционными формами объектов.
- Компромисс в точности: Несмотря на высокую производительность, меньшие модели YOLOv5 приоритезируют скорость, и новые архитектуры, такие как YOLOv10, могут достигать более высоких показателей mAP на стандартных тестах.
Случаи использования
Универсальность и эффективность YOLOv5 делают его подходящим для огромного количества областей:
- Edge Computing: Его скорость и меньшие размеры моделей делают его идеальным для развертывания на таких устройствах, как Raspberry Pi и NVIDIA Jetson.
- Промышленная автоматизация: Широко используется для контроля качества и автоматизации процессов в производстве.
- Безопасность и видеонаблюдение: Идеально подходит для мониторинга в реальном времени в системах безопасности и приложениях общественной безопасности.
- Мобильные приложения: Подходит для задач обнаружения объектов на устройстве, где потребление ресурсов является ключевым фактором.
Напрямую: Анализ производительности
В таблице ниже представлено подробное сравнение различных вариантов моделей YOLOv10 и YOLOv5, протестированных на наборе данных COCO. Метрики выделяют компромиссы между точностью (mAP), скоростью инференса и сложностью модели (параметры и FLOPs).
Модель | размер (пиксели) |
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.20 | 56.9 | 160.4 |
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 |
Из данных видно, что модели YOLOv10 стабильно достигают более высоких показателей mAP при значительно меньшем количестве параметров и FLOPs по сравнению с их аналогами YOLOv5. Например, YOLOv10-S превосходит YOLOv5-m по точности (46,7 против 45,4 mAP), имея при этом примерно треть параметров. Это демонстрирует превосходную архитектурную эффективность YOLOv10.
Тем не менее, Ultralytics YOLOv5 сохраняет сильные позиции, особенно в отношении скорости инференса на определенном оборудовании. Модель YOLOv5n демонстрирует замечательную скорость как на CPU, так и на GPU T4, что делает ее отличным выбором для приложений, где важна каждая миллисекунда и ресурсы сильно ограничены.
Заключение: какую модель вам следует выбрать?
YOLOv10 и Ultralytics YOLOv5 — исключительные модели, но они отвечают разным приоритетам.
YOLOv10 — идеальный выбор для разработчиков и исследователей, которым необходимо расширить границы производительности и эффективности. Ее архитектура без NMS обеспечивает ощутимое преимущество в приложениях, критичных к задержкам, а ее способность обеспечивать высокую точность с меньшим объемом модели меняет правила игры для развертывания на edge-устройствах. Если вашему проекту требуется абсолютно лучший компромисс между скоростью и точностью, и вы комфортно работаете с новой, развивающейся моделью, YOLOv10 — убедительный вариант.
Ultralytics YOLOv5 остается рекомендуемым выбором для большинства пользователей, особенно для тех, кто ценит простоту использования, быструю разработку и стабильную, хорошо поддерживаемую экосистему. Ее проверенная репутация, обширная документация и простая интеграция с такими инструментами, как Ultralytics HUB, делают ее невероятно доступной. Для проектов, требующих надежной, универсальной и простой в развертывании модели с фантастическим балансом производительности, YOLOv5 является выдающимся и надежным выбором.
В конечном счете, решение зависит от конкретных ограничений и целей вашего проекта. Для передовой эффективности обратите внимание на YOLOv10. Для надежного, удобного и универсального решения Ultralytics YOLOv5 трудно превзойти.
Изучите другие модели YOLO
Ландшафт YOLO постоянно развивается. Для тех, кто заинтересован в изучении возможностей, выходящих за рамки YOLOv10 и YOLOv5, Ultralytics предлагает ряд мощных моделей. Рассмотрите возможность ознакомления с Ultralytics YOLOv8, которая предлагает отличный баланс производительности и универсальности с поддержкой нескольких задач компьютерного зрения, или с последней версией YOLO11 для получения самых современных результатов.
Доступны дополнительные сравнения, которые помогут вам выбрать лучшую модель для ваших нужд: