Link to this sectionMeituan YOLOv6#
Link to this sectionОбзор#
Meituan YOLOv6, выпущенная в 2022 году, обеспечивает отличный баланс между скоростью и точностью, что делает её популярным выбором для приложений реального времени. Эта модель представляет несколько заметных улучшений архитектуры и схемы обучения, включая внедрение модуля двунаправленной конкатенации (BiC), стратегию обучения с поддержкой якорей (AAT), а также улучшенный дизайн backbone и neck для достижения высокой точности на наборе данных COCO.
Обзор YOLOv6. Схема архитектуры модели, демонстрирующая переработанные компоненты сети и стратегии обучения, которые привели к значительному повышению производительности. (a) Neck модели YOLOv6 (показаны варианты N и S). Обрати внимание: для моделей M/L RepBlocks заменен на CSPStackRep. (b) Структура модуля BiC. (c) Блок SimCSPSPPF. (источник).
Link to this sectionКлючевые особенности#
- Модуль двунаправленной конкатенации (BiC): YOLOv6 внедряет модуль BiC в neck детектора, улучшая сигналы локализации и обеспечивая прирост производительности при практически незаметном снижении скорости.
- Стратегия обучения с поддержкой якорей (AAT): В этой модели предложена стратегия AAT, позволяющая пользоваться преимуществами как anchor-based, так и anchor-free подходов без ущерба для эффективности вывода.
- Улучшенный дизайн backbone и neck: Благодаря расширению YOLOv6 ещё одним этапом в backbone и neck, эта модель на момент выхода показала высокие результаты на датасете COCO при вводе высокого разрешения.
- Стратегия самодистилляции: Реализована новая стратегия самодистилляции для повышения производительности меньших моделей YOLOv6, улучшающая вспомогательную регрессионную ветвь во время обучения и удаляющая её на этапе вывода, чтобы избежать заметного падения скорости.
Link to this sectionМетрики производительности#
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 также предоставляет квантованные модели для различных precisions и модели, оптимизированные для мобильных платформ.
Link to this sectionПримеры использования#
Этот пример содержит простые сценарии обучения и вывода для YOLOv6. Полную документацию по этим и другим режимам смотри на страницах Predict, Train, Val и Export.
Файлы *.yaml для YOLOv6 можно передавать в класс 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")Link to this sectionПоддерживаемые задачи и режимы#
Серия YOLOv6 предлагает ряд моделей, каждая из которых оптимизирована для высокопроизводительного Object Detection. Эти модели удовлетворяют различным вычислительным потребностям и требованиям к точности, что делает их универсальными для широкого спектра задач.
| Модель | Имена файлов | Задачи | Inference | Validation | Training | Экспорт |
|---|---|---|---|---|---|---|
| YOLOv6-N | yolov6n.yaml | Обнаружение объектов (Object Detection) | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-S | yolov6s.yaml | Обнаружение объектов (Object Detection) | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-M | yolov6m.yaml | Обнаружение объектов (Object Detection) | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-L | yolov6l.yaml | Обнаружение объектов (Object Detection) | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-X | yolov6x.yaml | Обнаружение объектов (Object Detection) | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен подробный обзор вариантов модели YOLOv6, подчеркивающий их возможности в задачах object detection и их совместимость с различными рабочими режимами, такими как Inference, Validation, Training и Export. Такая комплексная поддержка гарантирует, что ты сможешь полноценно использовать возможности моделей YOLOv6 в широком спектре сценариев обнаружения объектов.
Link to this sectionЦитирование и благодарности#
Мы хотели бы выразить признательность авторам за их значительный вклад в область обнаружения объектов в реальном времени:
@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. Мы ценим их усилия по развитию области и обеспечению доступности их наработок для широкого сообщества.
Link to this sectionFAQ#
Link to this sectionЧто такое Meituan YOLOv6 и что делает его уникальным?#
Meituan YOLOv6, выпущенный в 2022 году, — это детектор объектов, который балансирует скорость и точность и разработан для приложений реального времени. Он отличается заметными архитектурными улучшениями, такими как модуль двунаправленной конкатенации (BiC) и стратегия обучения с поддержкой якорей (AAT). Эти инновации обеспечивают значительный прирост производительности при минимальном снижении скорости, делая YOLOv6 конкурентоспособным выбором для задач обнаружения объектов.
Link to this sectionКак модуль двунаправленной конкатенации (BiC) в YOLOv6 улучшает производительность?#
Модуль двунаправленной конкатенации (BiC) в YOLOv6 улучшает сигналы локализации в neck детектора, обеспечивая прирост производительности при незначительном влиянии на скорость. Этот модуль эффективно объединяет различные feature maps, увеличивая способность модели точно обнаруживать объекты. Подробнее о функциях YOLOv6 смотри в разделе Key Features.
Link to this sectionКак обучить модель 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)Для получения дополнительной информации посети страницу Train.
Link to this sectionКакие существуют версии 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 с использованием GPU NVIDIA T4. Подробнее о метриках производительности смотри в разделе Performance Metrics.
Link to this sectionКак стратегия обучения с поддержкой якорей (AAT) помогает YOLOv6?#
Обучение с поддержкой якорей (AAT) в YOLOv6 объединяет элементы anchor-based и anchor-free подходов, улучшая возможности детекции модели без ущерба для эффективности вывода. Эта стратегия использует якоря во время обучения для улучшения предсказаний bounding box, делая YOLOv6 эффективным в разнообразных задачах обнаружения объектов.
Link to this sectionКакие рабочие режимы поддерживаются моделями YOLOv6 в Ultralytics?#
YOLOv6 поддерживает различные рабочие режимы, включая Inference, Validation, Training и Export. Эта гибкость позволяет тебе полностью использовать возможности модели в разных сценариях. Загляни в раздел Supported Tasks and Modes для детального обзора каждого режима.