Meituan YOLOv6
Обзор
Meituan YOLOv6, выпущенный в 2022 году, обеспечивает отличный баланс между скоростью и точностью, что делает его популярным выбором для приложений реального времени. Эта модель представляет несколько примечательных улучшений в своей архитектуре и схеме обучения, включая реализацию модуля двунаправленной конкатенации (Bi-directional Concatenation, BiC), стратегию обучения с поддержкой якорей (anchor-aided training, AAT), а также улучшенный дизайн backbone и neck для высокой точности на наборе данных COCO.
Обзор 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 с использованием 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 и модели, оптимизированные для мобильных платформ.
Примеры использования
Этот пример демонстрирует базовое обучение и вывод с помощью YOLOv6. Полную документацию по этим и другим режимам смотри на страницах Predict, Train, Val и Export.
Файлы 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 предлагает ряд моделей, каждая из которых оптимизирована для высокопроизводительного Object Detection. Эти модели отвечают различным вычислительным потребностям и требованиям к accuracy, что делает их универсальными для широкого спектра приложений.
| Модель | Имена файлов | Задачи | Логический вывод | Валидация | Обучение | Экспорт (Export) |
|---|---|---|---|---|---|---|
| YOLOv6-N | yolov6n.yaml | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-S | yolov6s.yaml | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-M | yolov6m.yaml | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-L | yolov6l.yaml | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-X | yolov6x.yaml | Обнаружение объектов | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен подробный обзор вариантов модели YOLOv6, подчеркивающий их возможности в задачах object detection и совместимость с различными рабочими режимами, такими как Inference, Validation, Training и Export. Эта всесторонняя поддержка гарантирует, что ты сможешь в полной мере использовать возможности моделей 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 обратись к разделу Key Features.
Как я могу обучить модель 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.
Какие существуют версии 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.
Как стратегия обучения с поддержкой якорей (AAT) помогает YOLOv6?
Обучение с поддержкой якорей (AAT) в YOLOv6 объединяет элементы anchor-based и anchor-free подходов, улучшая возможности детекции модели без ущерба для эффективности вывода. Эта стратегия использует якоря во время обучения для улучшения предсказаний bounding box, делая YOLOv6 эффективным в разнообразных задачах детекции объектов.
Какие рабочие режимы поддерживаются моделями YOLOv6 в Ultralytics?
YOLOv6 поддерживает различные рабочие режимы, включая Inference, Validation, Training и Export. Эта гибкость позволяет тебе в полной мере использовать возможности модели в разных сценариях. Изучи раздел Supported Tasks and Modes для получения подробного обзора каждого режима.