Перейти к содержанию

YOLOv10 против YOLOv6.0: Эволюция обнаружения объектов в реальном времени

Выбор правильной архитектуры компьютерного зрения - это ключевое решение, которое влияет на эффективность, точность и масштабируемость ваших проектов в области искусственного интеллекта. По мере развития области обнаружения объектов разработчики часто оказываются перед выбором между устоявшимися промышленными стандартами и передовыми инновациями. В данном руководстве приводится всестороннее техническое сравнение между YOLOv10 и YOLOv6.0, двух выдающихся моделей, предназначенных для высокопроизводительных приложений.

YOLOv10: Граница обнаружения NMS

YOLOv10 представляет собой смену парадигмы в линейке YOLO , сосредоточенную на устранении узких мест в конвейере развертывания для достижения подлинной сквозной эффективности в режиме реального времени. Разработанная исследователями из Университета Цинхуа, она вносит изменения в архитектуру, которые устраняют необходимость в немаксимальном подавлении (NMS), распространенном этапе постобработки, который традиционно увеличивает задержку.

Архитектура и инновации

YOLOv10 оптимизирует время ожидания вывода и производительность модели с помощью нескольких ключевых механизмов:

  1. ОбучениеNMS: Благодаря использованию последовательных двойных назначений YOLOv10 обучает модель, чтобы она получала богатые сигналы супервизора во время обучения и предсказывала единичные высококачественные обнаружения во время вывода. Это устраняет вычислительные затраты на NMS, упрощая конвейер развертывания модели.
  2. Целостный дизайн эффективности и точности: Архитектура включает в себя легкую классификационную головку и понижающую дискретизацию с развязкой по пространственным каналам. Эти компоненты снижают вычислительные затраты (FLOPs), сохраняя важную информацию о признаках.
  3. Свертка с большим ядром: Выборочное использование сверток с большими ядрами на глубоких этапах улучшает рецептивное поле, позволяя модели лучше понимать глобальный контекст без существенного снижения скорости.

Узнайте больше о YOLOv10

YOLOv6.0: Оптимизация промышленного уровня

Выпущенный в начале 2023 года YOLOv6.0 (часто называемый просто YOLOv6) был разработан компанией Meituan специально для промышленных приложений. В ней приоритет отдается аппаратному обеспечению, которое максимально увеличивает пропускную способность GPU, что делает ее надежным кандидатом для автоматизации фабрик и крупномасштабной обработки видео.

Архитектура и инновации

YOLOv6.0 фокусируется на оптимизации компромисса между скоростью и точностью за счет агрессивного структурного тюнинга:

  1. Перепараметризуемая основа: В нем используется основа EfficientRep, которая позволяет создавать сложные структуры во время обучения, которые распадаются на более простые и быстрые блоки во время вывода.
  2. Стратегия гибридных каналов: Этот подход позволяет сбалансировать стоимость доступа к памяти и вычислительную мощность, оптимизируя сеть под различные аппаратные ограничения.
  3. Самодистилляция: Стратегия обучения, при которой обучающаяся сеть учится на самой себе (или на версии учителя), чтобы улучшить сходимость и конечную точность без дополнительных затрат на вывод.

Узнайте больше о YOLOv6

Проектирование с учетом аппаратных средств

YOLOv6 был специально разработан с учетом особенностей аппаратного обеспечения, ориентируясь на оптимизированную производительность на графических процессорах NVIDIA , таких как T4 и V100. Это делает его особенно эффективным в сценариях, где доступно и настроено специальное аппаратное ускорение.

Анализ производительности

В следующем сравнении используются показатели из набора данныхCOCO , стандартного эталона для обнаружения объектов. В таблице показано, насколько YOLOv10 превосходит все остальные в плане эффективности и точности параметров.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.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 для обнаружения на основе трансформаторов.


Комментарии