YOLOv10 против YOLOv6.0: Эволюция обнаружения объектов в реальном времени
Выбор правильной архитектуры компьютерного зрения - это ключевое решение, которое влияет на эффективность, точность и масштабируемость ваших проектов в области искусственного интеллекта. По мере развития области обнаружения объектов разработчики часто оказываются перед выбором между устоявшимися промышленными стандартами и передовыми инновациями. В данном руководстве приводится всестороннее техническое сравнение между YOLOv10 и YOLOv6.0, двух выдающихся моделей, предназначенных для высокопроизводительных приложений.
YOLOv10: Граница обнаружения NMS
YOLOv10 представляет собой смену парадигмы в линейке YOLO , сосредоточенную на устранении узких мест в конвейере развертывания для достижения подлинной сквозной эффективности в режиме реального времени. Разработанная исследователями из Университета Цинхуа, она вносит изменения в архитектуру, которые устраняют необходимость в немаксимальном подавлении (NMS), распространенном этапе постобработки, который традиционно увеличивает задержку.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 2024-05-23
- Arxiv:Просмотреть статью
- GitHub:РепозиторийYOLOv10
- Документы:ДокументацияYOLOv10
Архитектура и инновации
YOLOv10 оптимизирует время ожидания вывода и производительность модели с помощью нескольких ключевых механизмов:
- ОбучениеNMS: Благодаря использованию последовательных двойных назначений YOLOv10 обучает модель, чтобы она получала богатые сигналы супервизора во время обучения и предсказывала единичные высококачественные обнаружения во время вывода. Это устраняет вычислительные затраты на NMS, упрощая конвейер развертывания модели.
- Целостный дизайн эффективности и точности: Архитектура включает в себя легкую классификационную головку и понижающую дискретизацию с развязкой по пространственным каналам. Эти компоненты снижают вычислительные затраты (FLOPs), сохраняя важную информацию о признаках.
- Свертка с большим ядром: Выборочное использование сверток с большими ядрами на глубоких этапах улучшает рецептивное поле, позволяя модели лучше понимать глобальный контекст без существенного снижения скорости.
YOLOv6.0: Оптимизация промышленного уровня
Выпущенный в начале 2023 года YOLOv6.0 (часто называемый просто YOLOv6) был разработан компанией Meituan специально для промышленных приложений. В ней приоритет отдается аппаратному обеспечению, которое максимально увеличивает пропускную способность GPU, что делает ее надежным кандидатом для автоматизации фабрик и крупномасштабной обработки видео.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng, et al.
- Организация:Meituan
- Дата: 13.01.2023
- Arxiv:Просмотреть статью
- GitHub:РепозиторийYOLOv6
- Документация:Документация поYOLOv6
Архитектура и инновации
YOLOv6.0 фокусируется на оптимизации компромисса между скоростью и точностью за счет агрессивного структурного тюнинга:
- Перепараметризуемая основа: В нем используется основа EfficientRep, которая позволяет создавать сложные структуры во время обучения, которые распадаются на более простые и быстрые блоки во время вывода.
- Стратегия гибридных каналов: Этот подход позволяет сбалансировать стоимость доступа к памяти и вычислительную мощность, оптимизируя сеть под различные аппаратные ограничения.
- Самодистилляция: Стратегия обучения, при которой обучающаяся сеть учится на самой себе (или на версии учителя), чтобы улучшить сходимость и конечную точность без дополнительных затрат на вывод.
Проектирование с учетом аппаратных средств
YOLOv6 был специально разработан с учетом особенностей аппаратного обеспечения, ориентируясь на оптимизированную производительность на графических процессорах NVIDIA , таких как T4 и V100. Это делает его особенно эффективным в сценариях, где доступно и настроено специальное аппаратное ускорение.
Анализ производительности
В следующем сравнении используются показатели из набора данныхCOCO , стандартного эталона для обнаружения объектов. В таблице показано, насколько 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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Основные выводы
- Эффективность параметров: YOLOv10 демонстрирует значительное уменьшение размера модели. Например, YOLOv10s достигает более высокой точности (46,7 % mAP), чем YOLOv6.0s (45,0 % mAP), используя при этом менее половины параметров (7,2 М против 18,5 М). Такой низкий объем памяти очень важен для краевых устройств с ограниченной оперативной памятью.
- Вычислительные затраты: Количество операций с плавающей запятой (FLOPs) значительно ниже для YOLOv10 на аналогичных уровнях, что приводит к снижению энергопотребления и потенциально более низкой температуре на аппаратных средствах граничного ИИ.
- Точность: YOLOv10 постоянно получает более высокие показатели mAP (средняя точность) по всем шкалам, что говорит о более надежном обнаружении объектов в различных условиях.
- Скорость: Хотя YOLOv6.0n демонстрирует небольшое преимущество в задержках TensorRT на GPU T4, реальное преимущество архитектуры YOLOv10 NMS часто приводит к более высокой общей пропускной способности системы за счет устранения узкого места в постобработке CPU.
Интеграция и экосистема
Одно из самых значительных отличий заключается в экосистеме и простоте использования. В то время как YOLOv6 является мощным автономным репозиторием, YOLOv10 выигрывает от интеграции в Ultralytics экосистему. Это обеспечивает разработчикам беспрепятственный рабочий процесс от аннотирования данных до их развертывания.
Простота использования Ultralytics
Использование моделей Ultralytics обеспечивает доступ к стандартизированному и простому API на Python . Вы можете переключаться между такими моделями, как YOLOv8 и YOLOv10 с минимальными изменениями кода - гибкость, которая недоступна при переключении между различными фреймворками.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")
# Train the model on your custom data
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model.predict("path/to/image.jpg")
Универсальность и перспективность
Хотя YOLOv6.0 ориентирован в первую очередь на обнаружение, фреймворк Ultralytics поддерживает более широкий спектр задач компьютерного зрения, включая сегментацию, классификацию и оценку положения. Для пользователей, которым требуются многозадачные возможности, обновление до YOLO11 часто рекомендуется, так как он предлагает современную производительность во всех этих модальностях в рамках одного унифицированного API.
Оптимизированное обучение
Обучение с помощью Ultralytics позволяет использовать такие функции, как автоматическая настройка гиперпараметров и ведение журнала в реальном времени через TensorBoard или Weights & Biasesчто значительно ускоряет цикл от исследования до производства.
Идеальные варианты использования
Когда выбирать YOLOv10
- Граничное развертывание: Благодаря малому количеству параметров и NMS, YOLOv10 идеально подходит для встраиваемых систем, таких как NVIDIA Jetson или Raspberry Pi, где ресурсы CPU для постобработки ограничены.
- Приложения реального времени: Приложения, требующие немедленной обратной связи, такие как автономные транспортные средства или навигация беспилотников, выигрывают от предсказуемой задержки выводов NMS.
- Новые проекты: Для любого нового проекта превосходный компромисс между точностью и эффективностью и поддержка современной экосистемы делают YOLOv10 предпочтительным выбором по сравнению со старыми архитектурами.
Когда выбирать YOLOv6.0
- Устаревшие системы: Если существующий производственный конвейер уже сильно оптимизирован под специфическую архитектуру YOLOv6, затраты на его перестройку непомерно высоки.
- Специфические рабочие нагрузки на GPU : В сценариях, строго ограниченных пропускной способностью TensorRT на оборудовании эпохи T4, где специфические оптимизации YOLOv6 все еще могут иметь незначительное преимущество по количеству кадров в секунду, особенно для модели nano.
Заключение
В то время как YOLOv6.0 после своего выпуска служил эталоном для обнаружения промышленных объектов, YOLOv10 представляет собой следующий шаг в эволюции искусственного интеллекта зрения. Благодаря архитектуреNMS, значительному сокращению количества параметров и более высокой точности, YOLOv10 предлагает более эффективное и масштабируемое решение для современных задач компьютерного зрения.
Разработчикам, стремящимся к абсолютной универсальности и производительности в области обнаружения, сегментации и оценки позы, мы также рекомендуем обратить внимание на YOLO11. Являясь частью активно поддерживаемой экосистемы Ultralytics , эти модели позволяют вам оставаться на переднем крае инноваций в области ИИ благодаря надежной поддержке сообщества и постоянным улучшениям.
Если вы хотите узнать больше о сравнении моделей, ознакомьтесь с нашим анализом YOLOv10 и YOLOv8 или изучите возможности RT-DETR для обнаружения на основе трансформаторов.