YOLOv10 против YOLOv8: техническое сравнение для обнаружения объектов
Выбор подходящей модели обнаружения объектов имеет решающее значение для успеха любого проекта в области компьютерного зрения. На этой странице представлено подробное техническое сравнение YOLOv10 и Ultralytics YOLOv8, двух современных моделей в этой области. Мы проанализируем их архитектурные различия, показатели производительности и идеальные приложения, чтобы помочь вам принять обоснованное решение, основанное на ваших конкретных потребностях в скорости, точности и эффективности использования ресурсов.
YOLOv10: Расширяя границы эффективности
Авторы: Ао Ванг, Хуэй Чен, Лихао Лю и др.
Организация: Университет Цинхуа
Дата: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
Документация: https://docs.ultralytics.com/models/yolov10/
YOLOv10, представленный в мае 2024 года, представляет собой значительный шаг на пути к достижению истинного сквозного обнаружения объектов в реальном времени. Его основная инновация заключается в сосредоточении внимания на устранении узких мест постобработки и оптимизации архитектуры модели для максимальной эффективности. Ключевой особенностью является его подход к обучению без NMS, который использует согласованные двойные назначения для устранения необходимости в Non-Maximum Suppression (NMS), тем самым снижая задержку при выводе.
Архитектура и ключевые особенности
YOLOv10 представляет целостный подход к проектированию модели, ориентированный на эффективность и точность. Он оптимизирует различные компоненты, такие как реализация облегченной классификационной головы и использование пространственно-канальной разделенной дискретизации, для уменьшения вычислительной избыточности и повышения возможностей обнаружения. Хотя YOLOv10 разработан Университетом Цинхуа, он построен на базе фреймворка Ultralytics и интегрирован в него, что делает его доступным и простым в использовании с помощью знакомого API Ultralytics.
Сильные стороны
- Повышенная эффективность: Предлагает более высокую скорость вывода и меньшие размеры моделей в прямых сравнениях, что очень выгодно для сред с ограниченными ресурсами, таких как периферийные устройства.
- Дизайн без NMS: Упрощает конвейер развертывания за счет удаления этапа постобработки NMS, что приводит к снижению сквозной задержки.
- Передовая производительность: Достигает отличной производительности, особенно в тестах, ориентированных на задержку, расширяя границы современного уровня для компромиссов между скоростью и точностью.
Слабые стороны
- Более новая модель: Будучи более новым релизом, она имеет меньшее сообщество и меньше интеграций со сторонними разработчиками по сравнению с хорошо зарекомендовавшей себя YOLOv8.
- Специализация по задачам: YOLOv10 в основном ориентирован на обнаружение объектов. Ему не хватает встроенной универсальности для других задач компьютерного зрения, таких как сегментация и оценка позы, которые являются родными для YOLOv8.
- Развитость экосистемы: Будучи интегрированной в экосистему Ultralytics, она еще не имеет такой глубины ресурсов и примеров, созданных сообществом, как YOLOv8.
Идеальные варианты использования
YOLOv10 особенно хорошо подходит для приложений, где производительность в реальном времени и эффективность использования ресурсов являются абсолютными приоритетами:
- Edge AI: Идеально подходит для развертывания на устройствах с ограниченной вычислительной мощностью, таких как мобильные телефоны и встроенные системы, такие как NVIDIA Jetson.
- Высокоскоростная обработка: Подходит для приложений, требующих очень низкой задержки, таких как автономные дроны и робототехника.
- Аналитика в реальном времени: Идеально подходит для динамичных сред, требующих немедленного обнаружения объектов, таких как управление дорожным движением.
Ultralytics YOLOv8: Универсальность и зрелость
Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
Организация: Ultralytics
Дата: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Документация: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8, запущенная в январе 2023 года, представляет собой зрелую и очень универсальную модель, основанную на сильных сторонах своих предшественников YOLO. Она разработана для обеспечения скорости, точности и простоты использования в широком спектре задач визуального ИИ. Это делает ее мощным и надежным выбором как для разработчиков, так и для исследователей.
Архитектура и ключевые особенности
YOLOv8 использует подход без anchor boxes для обнаружения объектов, что упрощает архитектуру модели и улучшает обобщение. Гибкий backbone и оптимизированные функции потерь способствуют повышению точности и более стабильному обучению. Отличительной особенностью YOLOv8 является встроенная поддержка нескольких задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB).
Сильные стороны
- Развитая и хорошо документированная: Преимуществами являются обширная документация, большое сообщество и легкодоступные ресурсы, что делает ее удобной в использовании и простой в реализации с помощью простых интерфейсов Python и CLI.
- Универсальность и многозадачность: Поддерживает широкий спектр задач компьютерного зрения из коробки, предлагая беспрецедентную гибкость для сложных проектов, требующих больше, чем просто обнаружение.
- Хорошо поддерживаемая экосистема: Легко интегрируется с Ultralytics HUB и другими инструментами MLOps, оптимизируя рабочие процессы от обучения до развертывания. Поддерживается активной разработкой и частыми обновлениями.
- Баланс производительности: Обеспечивает превосходный компромисс между скоростью, точностью и размером модели, что делает его подходящим для широкого спектра реальных сценариев развертывания.
- Эффективность обучения: Предлагает эффективные процессы обучения и легкодоступные предварительно обученные веса, ускоряя циклы разработки. Также имеет более низкие требования к памяти по сравнению со многими другими архитектурами, особенно моделями на основе трансформеров.
Слабые стороны
- Несмотря на высокую эффективность, новые модели, такие как YOLOv10, могут предложить незначительные улучшения в конкретных метриках, таких как количество параметров или задержка, в условиях сильных ограничений.
Идеальные варианты использования
Универсальность и простота использования YOLOv8 делают ее идеальным выбором для широкого спектра применений:
- Системы безопасности: Отлично подходит для обнаружения объектов в реальном времени в системах охранной сигнализации.
- Аналитика розничной торговли: Полезна в интеллектуальной розничной торговле для понимания поведения клиентов и управления запасами.
- Промышленный контроль качества: Применим в производстве для автоматизированного визуального контроля.
- Многозадачные проекты: Идеальный выбор для проектов, требующих одновременного обнаружения, сегментации и оценки позы с помощью одной эффективной модели.
Анализ производительности: YOLOv10 против YOLOv8
Метрики производительности на наборе данных COCO выявляют ключевые различия между двумя моделями. YOLOv10 стабильно достигает более высоких показателей mAP с меньшим количеством параметров и FLOPs по сравнению со своими аналогами YOLOv8 аналогичного размера. Например, YOLOv10-S достигает 46.7% mAP с 7.2M параметрами, в то время как YOLOv8-S достигает 44.9% mAP с 11.2M параметрами. Это подчеркивает превосходную архитектурную эффективность YOLOv10.
Тем не менее, YOLOv8 поддерживает высокую конкурентоспособную скорость инференса, особенно на GPU. Самая маленькая модель, YOLOv8n, немного быстрее на GPU T4 с TensorRT, чем YOLOv10n (1,47 мс против 1,56 мс). Кроме того, YOLOv8 предоставляет полный набор хорошо зарекомендовавших себя тестов CPU, демонстрируя свою надежную и стабильную производительность для развертываний, которые могут не иметь доступа к GPU.
Модель | размер (пиксели) |
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 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Заключение и рекомендации
И YOLO10, и YOLOv8 — мощные модели, но они отвечают разным приоритетам. YOLO10 превосходен в чистой эффективности, предлагая современную производительность с меньшей задержкой и меньшим количеством параметров, что делает его отличным выбором для специализированных приложений, критичных к задержке.
Однако, для подавляющего большинства разработчиков и исследователей Ultralytics YOLOv8 является рекомендуемым выбором. Его ключевые преимущества заключаются в его зрелости, универсальности и надежной экосистеме. Встроенная поддержка YOLOv8 для нескольких задач (обнаружение, сегментация, поза, классификация и OBB) предоставляет значительное преимущество для создания сложных, многогранных решений на основе искусственного интеллекта. Обширная документация, активное сообщество и полная интеграция с такими инструментами, как Ultralytics HUB, создают превосходный и более оптимизированный процесс разработки. Он предлагает выдающийся и проверенный баланс скорости и точности, который является надежным для самого широкого спектра реальных приложений.
Изучение других моделей
Пользователям, заинтересованным в изучении других современных моделей, Ultralytics предлагает широкий набор, включающий базовую YOLOv5, эффективную YOLOv9 и новейшую YOLO11. Подробные сравнения, такие как YOLOv9 vs. YOLOv8 и YOLOv5 vs. YOLOv8, также доступны, чтобы помочь вам выбрать идеальную модель для вашего проекта.