Ultralytics YOLO27:

Meituan YOLOv6#

Обзор#

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

Модель YOLOv6 для обнаружения объектов в реальном времени от 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 на COCO val2017 при 1187 FPS на GPU NVIDIA T4.
  • YOLOv6-S: 45,0% AP при 484 FPS.
  • YOLOv6-M: 50,0% AP при 226 FPS.
  • YOLOv6-L: 52,8% AP при 116 FPS.
  • YOLOv6-L6: передовая точность в режиме реального времени.

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

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

В этом примере приведены простые примеры обучения и инференса YOLOv6. Полную документацию по этим и другим режимам см. на страницах документации Предсказание, Обучение, Валидация и Экспорт.

Пример

Файлы YOLOv6 *.yaml можно передать классу YOLO(), чтобы создать соответствующую модель в Python:

from ultralytics import YOLO

# Создай модель YOLOv6n с нуля
model = YOLO("yolov6n.yaml")

# Показать информацию о модели (необязательно)
model.info()

# Обучить модель на демонстрационном наборе данных COCO8 в течение 100 эпох
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Выполни инференс с моделью YOLOv6n на изображении 'bus.jpg'
results = model("path/to/bus.jpg")

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

Серия YOLOv6 включает множество моделей, каждая из которых оптимизирована для высокопроизводительного обнаружения объектов. Эти модели рассчитаны на разные вычислительные возможности и требования к точности, поэтому подходят для самых разных приложений.

МодельИмена файловЗадачиОбучениеВалидацияИнференсЭкспорт
YOLOv6-Nyolov6n.yamlОбнаружение объектов✅✅✅✅
YOLOv6-Syolov6s.yamlОбнаружение объектов✅✅✅✅
YOLOv6-Myolov6m.yamlОбнаружение объектов✅✅✅✅
YOLOv6-Lyolov6l.yamlОбнаружение объектов✅✅✅✅
YOLOv6-Xyolov6x.yamlОбнаружение объектов✅✅✅✅

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

Цитирование и благодарности#

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

Цитата
@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. Мы ценим их усилия по развитию этой области и предоставлению своей работы широкой аудитории.

Часто задаваемые вопросы#

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

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

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

    Пример
    from ultralytics import YOLO
    
    # Создай модель YOLOv6n с нуля
    model = YOLO("yolov6n.yaml")
    
    # Обучить модель на демонстрационном наборе данных COCO8 в течение 100 эпох
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Подробнее см. на странице Обучение.

  • 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: передовая точность в сценариях реального времени

    Эти модели оцениваются на наборе данных COCO с использованием GPU NVIDIA T4. Подробнее о метриках производительности см. в разделе Метрики производительности.

  • Стратегия обучения с поддержкой якорей (AAT) в YOLOv6 объединяет элементы якорного и безъякорного подходов, повышая возможности обнаружения модели без ущерба для эффективности инференса. При обучении стратегия использует якоря, чтобы улучшить предсказания ограничивающих рамок, благодаря чему YOLOv6 эффективно справляется с разнообразными задачами обнаружения объектов.

  • YOLOv6 поддерживает различные режимы работы, включая инференс, валидацию, обучение и экспорт. Благодаря этой гибкости пользователи могут в полной мере использовать возможности модели в разных сценариях. Подробный обзор режимов см. в разделе Поддерживаемые задачи и режимы.

Комментарии