Meituan YOLOv6
Обзор
Meituan YOLOv6, выпущенная в 2022 году, предлагает отличный баланс между скоростью и точностью, что делает её популярным выбором для приложений реального времени. Эта модель представляет несколько заметных улучшений в своей архитектуре и схеме обучения, включая внедрение модуля двунаправленной конкатенации (BiC), стратегию обучения с поддержкой якорей (AAT) и улучшенный backbone и дизайн neck для высокой точности на export mode.
Обзор YOLOv6. Схема архитектуры модели, показывающая переработанные компоненты сети и стратегии обучения, которые привели к значительным улучшениям производительности. (a) Neck модели YOLOv6 (показаны N и S). Обрати внимание: для M/L RepBlocks заменен на CSPStackRep. (b) Структура модуля BiC. (c) Блок SimCSPSPPF. (источник).
Ключевые особенности
- Модуль двунаправленной конкатенации (BiC): YOLOv6 внедряет модуль BiC в neck детектора, улучшая сигналы локализации и обеспечивая прирост производительности при незначительном снижении скорости.
- Стратегия обучения с поддержкой якорей (AAT): Эта модель предлагает AAT, чтобы воспользоваться преимуществами обоих anchor-based и anchor-free парадигм без ущерба для эффективности вывода.
- Улучшенный дизайн backbone и neck: Углубив YOLOv6 путем добавления еще одного этапа в backbone и neck, эта модель на момент выпуска достигла высоких показателей производительности на наборе данных COCO при вводе высокого разрешения.
- Стратегия самодистилляции: Внедрена новая стратегия самодистилляции для повышения производительности меньших моделей YOLOv6, улучшающая вспомогательную регрессионную ветвь во время обучения и удаляющая её при выводе, чтобы избежать заметного снижения скорости.
Метрики производительности
YOLOv6 предоставляет различные предобученные модели с разными масштабами:
- YOLOv6-N: 37.5% AP на COCO val2017 при 1187 FPS с 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 также предоставляет квантованные модели для различных precisions и модели, оптимизированные для мобильных платформ.
Примеры использования
В этом примере представлены простые примеры обучения и вывода YOLOv6. Для получения полной документации по этим и другим режимов см. на Предсказание, Обучение, Валидация и Экспорт страницах документации.
YOLOv6 *.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")Поддерживаемые задачи и режимы
Серия YOLOv6 предлагает ряд моделей, каждая из которых оптимизирована для высокопроизводительной Детекция объектов. Эти модели отвечают различным вычислительным потребностям и точности требованиям, что делает их универсальными для широкого спектра приложений.
| Модель | Имена файлов | Задачи | Inference | Валидация | Обучение | Экспорт |
|---|---|---|---|---|---|---|
| YOLOv6-N | yolov6n.yaml | Детекция объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-S | yolov6s.yaml | Детекция объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-M | yolov6m.yaml | Детекция объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-L | yolov6l.yaml | Детекция объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-X | yolov6x.yaml | Детекция объектов | ✅ | ✅ | ✅ | ✅ |
Эта таблица содержит подробный обзор вариантов модели YOLOv6, подчеркивая их возможности в обнаружения объектов задачах и их совместимость с различными рабочими режимами, такими как Inference, Валидация, Обучение и Экспорт. Эта всесторонняя поддержка гарантирует, что ты сможешь в полной мере использовать возможности моделей 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. Мы ценим их усилия по продвижению области и обеспечению доступности их работы для широкого сообщества.
Часто задаваемые вопросы (FAQ)
Что такое Meituan YOLOv6 и что делает её уникальной?
Meituan YOLOv6, выпущенная в 2022 году, — это детектор объектов, который балансирует между скоростью и точностью, предназначенный для приложений реального времени. Она отличается заметными архитектурными улучшениями, такими как модуль двунаправленной конкатенации (BiC) и стратегия обучения с поддержкой якорей (AAT). Эти инновации обеспечивают значительный прирост производительности при минимальном снижении скорости, что делает YOLOv6 конкурентоспособным выбором для задач обнаружения объектов.
Как модуль двунаправленной конкатенации (BiC) в YOLOv6 улучшает производительность?
Модуль BiC в YOLOv6 улучшает сигналы локализации в neck детектора, обеспечивая повышение производительности при незначительном влиянии на скорость. Этот модуль эффективно объединяет различные feature maps, увеличивая способность модели точно обнаруживать объекты. Для получения дополнительных сведений о функциях 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)Для получения дополнительной информации посети Обучение.
Какие существуют версии 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: Современная точность в сценариях реального времени
Эти модели оцениваются на наборе данных COCO с использованием графического процессора NVIDIA T4. Чтобы узнать больше о метриках производительности, см. Метрики производительности раздел.
Как стратегия обучения с поддержкой якорей (AAT) помогает YOLOv6?
Обучение с поддержкой якорей (AAT) в YOLOv6 сочетает элементы подходов, основанных на якорях и свободных от якорей, улучшая возможности обнаружения модели без ущерба для эффективности вывода. Эта стратегия использует якоря во время обучения для улучшения ограничивающего прямоугольника (bounding box) прогнозов, что делает YOLOv6 эффективной в разнообразных задачах обнаружения объектов.
Какие операционные режимы поддерживаются моделями YOLOv6 в Ultralytics?
YOLOv6 поддерживает различные операционные режимы, включая Inference, Validation, Training и Export. Эта гибкость позволяет тебе в полной мере использовать возможности модели в разных сценариях. Ознакомься с разделом Поддерживаемые задачи и режимы для получения подробного обзора каждого режима.