Перейти к содержимому

Meituan YOLOv6

Обзор

Meituan YOLOv6 - это передовой детектор объектов, который предлагает замечательный баланс между скоростью и точностью, что делает его популярным выбором для приложений реального времени. В этой модели реализовано несколько заметных улучшений в архитектуре и схеме обучения, включая внедрение модуля двунаправленной конкатенации (BiC), стратегию обучения с помощью якорей (AAT), а также улучшенную конструкцию позвоночника и шеи, обеспечивающую высочайшую точность на наборе данных COCO.

Meituan YOLOv6 Пример модели изображения Обзор YOLOv6. Схема архитектуры модели, показывающая переработанные компоненты сети и стратегии обучения, которые привели к значительному улучшению производительности. (a) Шея YOLOv6 (показаны N и S). Заметь, что для M/L, RepBlocks заменен на CSPStackRep. (b) Структура модуля BiC. (c) Блок SimCSPSPPF. (источник).

Основные характеристики

  • Модуль двунаправленной конкатенации (BiC): В YOLOv6 появился модуль BiC в горловине детектора, улучшающий сигналы локализации и обеспечивающий прирост производительности при незначительном снижении скорости.
  • Стратегия обучения с помощью якорей (AAT): Эта модель предлагает AAT, чтобы воспользоваться преимуществами парадигм с якорями и без якорей без ущерба для эффективности выводов.
  • Улучшенная конструкция позвоночника и шеи: Углубив YOLOv6, чтобы включить еще одну стадию в позвоночнике и шее, эта модель достигла передовой производительности на наборе данных COCO при высоком разрешении входных данных.
  • Стратегия самодистилляции: Для повышения производительности небольших моделей в YOLOv6 реализована новая стратегия самодистилляции, которая усиливает вспомогательную ветвь регрессии во время обучения и удаляет ее при выводе, чтобы избежать заметного снижения скорости.

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

YOLOv6 предоставляет различные предварительно обученные модели с разными масштабами:

  • YOLOv6-N: 37.5% AP on COCO val2017 at 1187 FPS with NVIDIA T4 GPU.
  • YOLOv6-S: 45,0% AP при 484 FPS.
  • YOLOv6-M: 50,0% AP при 226 FPS.
  • YOLOv6-L: 52,8% AP при 116 FPS.
  • YOLOv6-L6: современная точность в режиме реального времени.

YOLOv6 also provides quantized models for different precisions and models optimized for mobile platforms.

Примеры использования

В этом примере приведены простые примеры обучения и вывода YOLOv6. Полную документацию по этим и другим режимам можно найти на страницах Predict, Train, Val и Export docs.

Пример

PyTorch pretrained *.pt модели, а также конфигурации *.yaml файлы могут быть переданы в YOLO() класс, чтобы создать экземпляр модели в python:

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI Для непосредственного запуска моделей доступны команды:

# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg

Поддерживаемые задачи и режимы

The YOLOv6 series offers a range of models, each optimized for high-performance Object Detection. These models cater to varying computational needs and accuracy requirements, making them versatile for a wide array of applications.

Тип моделиПредварительно обученные весаПоддерживаемые задачиЗаключениеВалидацияТренировкаЭкспорт
YOLOv6-Nyolov6-n.ptОбнаружение объектов
YOLOv6-Syolov6-s.ptОбнаружение объектов
YOLOv6-Myolov6-m.ptОбнаружение объектов
YOLOv6-Lyolov6-l.ptОбнаружение объектов
YOLOv6-L6yolov6-l6.ptОбнаружение объектов

This table provides a detailed overview of the YOLOv6 model variants, highlighting their capabilities in object detection tasks and their compatibility with various operational modes such as Inference, Validation, Training, and Export. This comprehensive support ensures that users can fully leverage the capabilities of YOLOv6 models in a broad range of object detection scenarios.

Цитаты и благодарности

Мы хотели бы поблагодарить авторов за их значительный вклад в область обнаружения объектов в реальном времени:

@misc{li2023yolov6,
      title={YOLOv6 v3.0: A Full-Scale Reloading},
      author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
      year={2023},
      eprint={2301.05586},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Оригинальную статью YOLOv6 можно найти на arXiv. Авторы сделали свою работу общедоступной, а кодовую базу можно найти на GitHub. Мы ценим их усилия, направленные на развитие области и обеспечение доступности их работы для широкой общественности.

ВОПРОСЫ И ОТВЕТЫ

Что такое Meituan YOLOv6 и что делает его уникальным?

Meituan YOLOv6 - это современный детектор объектов, который балансирует между скоростью и точностью, идеально подходящий для приложений реального времени. В нем реализованы такие заметные архитектурные усовершенствования, как модуль двунаправленной конкатенации (BiC) и стратегия обучения с помощью якоря (AAT). Эти инновации обеспечивают существенный прирост производительности при минимальном снижении скорости, что делает YOLOv6 конкурентоспособным выбором для задач обнаружения объектов.

Как модуль двунаправленной конкатенации (BiC) в YOLOv6 повышает производительность?

Модуль двунаправленной конкатенации (BiC) в YOLOv6 улучшает сигналы локализации в шее детектора, обеспечивая прирост производительности при незначительном влиянии на скорость. Этот модуль эффективно объединяет различные карты признаков, повышая способность модели к точному обнаружению объектов. Подробнее о возможностях YOLOv6 читай в разделе " Ключевые особенности ".

Как обучить модель YOLOv6 с помощью Ultralytics?

Ты можешь обучить модель YOLOv6 с помощью Ultralytics , используя простые команды Python или CLI . Например:

Пример

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

Для получения дополнительной информации посети страницу " Поезд ".

Каковы различные версии YOLOv6 и их показатели производительности?

YOLOv6 предлагает несколько версий, каждая из которых оптимизирована под разные требования к производительности:

  • YOLOv6-N: 37,5% AP при 1187 FPS
  • YOLOv6-S: 45,0% AP при 484 FPS
  • YOLOv6-M: 50,0% AP при 226 FPS
  • YOLOv6-L: 52,8% AP при 116 FPS
  • YOLOv6-L6: Современная точность в сценариях реального времени

These models are evaluated on the COCO dataset using an NVIDIA T4 GPU. For more on performance metrics, see the Performance Metrics section.

Как стратегия Anchor-Aided Training (AAT) приносит пользу YOLOv6?

Anchor-Aided Training (AAT) in YOLOv6 combines elements of anchor-based and anchor-free approaches, enhancing the model's detection capabilities without compromising inference efficiency. This strategy leverages anchors during training to improve bounding box predictions, making YOLOv6 effective in diverse object detection tasks.

Какие режимы работы поддерживаются моделями YOLOv6 в Ultralytics?

YOLOv6 поддерживает различные режимы работы, включая Inference, Validation, Training и Export. Такая гибкость позволяет пользователям в полной мере использовать возможности модели в различных сценариях. Ознакомься с разделом " Поддерживаемые задачи и режимы ", чтобы получить подробный обзор каждого режима.

📅 Created 11 months ago ✏️ Updated 1 month ago

Комментарии