Meituan YOLOv6
Обзор
Meituan YOLOv6 - это передовой детектор объектов, который обеспечивает замечательный баланс между скоростью и точностью, что делает его популярным выбором для приложений реального времени. В этой модели реализован ряд заметных улучшений в архитектуре и схеме обучения, включая внедрение модуля двунаправленной конкатенации (BiC), стратегию обучения с помощью якорей (AAT), а также улучшенную конструкцию позвоночника и шеи для достижения наивысшей точности на наборе данных COCO.
Обзор 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 с 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 также предоставляет квантованные модели для различных прецизионных значений и модели, оптимизированные для мобильных платформ.
Примеры использования
В этом примере приведены простые примеры обучения и вывода YOLOv6. Полную документацию по этим и другим режимам можно найти на страницах Predict, Train, Val и Export docs.
Пример
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")
CLI Команды доступны для прямого запуска моделей:
Поддерживаемые задачи и режимы
Серия YOLOv6 предлагает ряд моделей, каждая из которых оптимизирована для высокопроизводительного обнаружения объектов. Эти модели отвечают различным вычислительным потребностям и требованиям к точности, что делает их универсальными для широкого спектра приложений.
Модель | Имена файлов | Задачи | Заключение | Валидация | Обучение | Экспорт |
---|---|---|---|---|---|---|
YOLOv6-N | yolov6n.yaml |
Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
YOLOv6-S | yolov6s.yaml |
Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
YOLOv6-M | yolov6m.yaml |
Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L | yolov6l.yaml |
Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
YOLOv6-X | yolov6x.yaml |
Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен подробный обзор вариантов моделей YOLOv6 с указанием их возможностей в задачах обнаружения объектов и совместимости с различными режимами работы, такими как "Вывод", "Проверка", "Обучение" и "Экспорт". Благодаря такой всесторонней поддержке пользователи могут полностью использовать возможности моделей YOLOv6 в широком спектре сценариев обнаружения объектов.
Цитаты и благодарности
Мы хотели бы поблагодарить авторов за их значительный вклад в область обнаружения объектов в реальном времени:
Оригинальную статью YOLOv6 можно найти на arXiv. Авторы сделали свою работу общедоступной, и кодовая база доступна на GitHub. Мы ценим их усилия, направленные на развитие области и обеспечение доступности их работы для широкой общественности.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое Meituan YOLOv6 и что делает его уникальным?
Meituan YOLOv6 - это современный детектор объектов, который обеспечивает баланс между скоростью и точностью, идеально подходящий для приложений реального времени. В нем реализованы такие значительные архитектурные усовершенствования, как модуль двунаправленной конкатенации (BiC) и стратегия обучения с помощью якорей (AAT). Эти инновации обеспечивают существенный прирост производительности при минимальном снижении скорости, что делает YOLOv6 конкурентоспособным выбором для задач обнаружения объектов.
Как модуль двунаправленной конкатенации (BiC) в YOLOv6 повышает производительность?
Модуль двунаправленной конкатенации (BiC) в YOLOv6 улучшает сигналы локализации в шее детектора, обеспечивая повышение производительности при незначительном влиянии на скорость. Этот модуль эффективно объединяет различные карты признаков, повышая способность модели к точному обнаружению объектов. Более подробная информация о возможностях YOLOv6 приведена в разделе " Ключевые особенности".
Как обучить модель YOLOv6 с помощью Ultralytics?
Вы можете обучить модель YOLOv6 с помощью Ultralytics , используя простые команды Python или CLI . Например:
Пример
Для получения дополнительной информации посетите страницу "Поезд".
Каковы различные версии 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 GPU. Подробнее о показателях производительности см. в разделе " Показатели производительности".
Как стратегия обучения с помощью якоря (AAT) помогает YOLOv6?
Обучение с помощью якорей (AAT) в YOLOv6 сочетает в себе элементы подходов, основанных на якорях и без них, что расширяет возможности модели по обнаружению объектов без ущерба для эффективности выводов. Эта стратегия использует якоря во время обучения для улучшения предсказания границ, что делает YOLOv6 эффективным в различных задачах обнаружения объектов.
Какие режимы работы поддерживаются моделями YOLOv6 на сайте Ultralytics?
YOLOv6 поддерживает различные режимы работы, включая "Вывод", "Проверка", "Обучение" и "Экспорт". Такая гибкость позволяет пользователям в полной мере использовать возможности модели в различных сценариях. Ознакомьтесь с разделом " Поддерживаемые задачи и режимы ", чтобы получить подробный обзор каждого режима.