Реализация работы:
Модель | Размер | mAPval 0.5:0.95 |
СкоростьT4 trt fp16 b1 (fps) |
СкоростьT4 trt fp16 b32 (fps) |
Параметров (M) |
FLOPs (G) |
---|---|---|---|---|---|---|
YOLOv6-N (https://github.com/meituan/YOLOv6/releases/download/0.4.0/yolov6n.pt) | 640 | 37.5 | 779 | 1187 | 4.7 | 11.4 |
YOLOv6-S (https://github.com/meituan/YOLOv6/releases/download/0.4.0/yolov6s.pt) | 640 | 45.0 | 339 | 484 | 18.5 | 45.3 |
YOLOv6-M (https://github.com/meituan/YOLOv6/releases/download/0.4.0/yolov6m.pt) | 640 | 50.0 | 175 | 226 | 34.9 | 85.8 |
YOLOv6-L (https://github.com/meituan/YOLOv6/releases/download/0.4.0/yolov6l.pt) | 640 | 52.8 | 98 | 116 | 59.6 | 150.7 |
YOLOv6-N6 (https://github.com/meituan/YOLOv6/releases/download/0.4.0/yolov6n6.pt) | 1280 | 44.9 | 228 | 281 | 10.4 | 49.8 |
YOLOv6-S6 (https://github.com/meituan/YOLOv6/releases/download/0.4.0/yolov6s6.pt) | 1280 | 50.3 | 98 | 108 | 41.4 | 198.0 |
---------- | ------ | ----- | ---- | ----- | ------ | ------- |
YOLOv6-L6 | 1280 | 57,2 | 26 | 29 | 140,4 | 673,4 |
Все чекпоинты обучены с помощью самодистилляции, за исключением моделей YOLOv6-N6/S6, которые были обучены до 300 эпох без дистилляции.
Результаты mAP и скорости оцениваются на наборе данных COCO val2017 с разрешением ввода 640x640 для моделей P5 и 1280x1280 для моделей P6. Скорость тестируется с TensorRT 7.2 на T4.
Для получения информации о том, как воспроизвести результаты скорости YOLOv6, обратитесь к руководству Test speed. Параметры и FLOPs YOLOv6 оцениваются по развёрнутым моделям.
Legacy models
Модель | Размер | mAPval0.5:0.95 | SpeedT4trt fp16 b1 (fps) | SpeedT4trt fp16 b32 (fps) | Params (M) | FLOPs (G) |
---|---|---|---|---|---|---|
YOLOv6-N | 640 | 35,9300e | 802 | 1234 | 4,3 | 11,1 |
YOLOv6-T | 640 | 40,3300e | 449 | 659 | 15,0 | 36,7 |
YOLOv6-S | 640 | 43,5300e | 358 | 495 | 17,2 | 44,2 |
YOLOv6-M | 640 | 49,5 | 179 | 233 | 34,3 | 82,2 |
YOLOv6-L-ReLU | 640 | 51,7 | 113 | 149 | 58,5 | 144,0 |
YOLOv6-L | 640 | 52,5 | 98 | 121 | 58,5 | 144,0 |
Скорость тестируется с TensorRT 7.2 на T4.
Модель | Размер | Точность | mAPval0.5:0.95 | SpeedT4trt b1 (fps) | SpeedT4trt b32 (fps) |
---|---|---|---|---|---|
YOLOv6-N RepOpt | 640 | INT8 | 34,8 | 1114 | 1828 |
YOLOv6-N | 640 | FP16 | 35,9 | 802 | 1234 |
YOLOv6-T RepOpt | 640 | INT8 | 39,8 | 741 | 1167 |
YOLOv6-T | 640 | FP16 | 40,3 | 449 | — |
YOLOv6-S RepOpt | 640 | INT8 | 43.3 | 619 | 924 |
YOLOv6-S | 640 | FP16 | 43.5 | 377 | 541 |
Модель | Размер | mAPval 0.5:0.95 |
sm8350 (мс) |
mt6853 (мс) |
sdm660 (мс) |
Параметры (М) |
FLOPs (Г) |
---|---|---|---|---|---|---|---|
YOLOv6Lite-S | 320*320 | 22.4 | 7.99 | 11.99 | 41.86 | 0.55 | 0.56 |
YOLOv6Lite-M | 320*320 | 25.1 | 9.08 | 13.27 | 47.95 | 0.79 | 0.67 |
YOLOv6Lite-L | 320*320 | 28.0 | 11.37 | 16.20 | 61.40 | 1.09 | 0.87 |
YOLOv6Lite-L | 320*192 | 25.0 | 7.02 | 9.66 | 36.13 | 1.09 | 0.52 |
YOLOv6Lite-L | 224*128 | 18.9 | 3.63 | 4.99 | 17.76 | 1.09 | 0.24 |
git clone https://github.com/meituan/YOLOv6
cd YOLOv6
pip install -r requirements.txt
Please refer to Train COCO Dataset.
Single GPU
# P5 models
python tools/train.py --batch 32 --conf configs/yolov6s_finetune.py --data data/dataset.yaml --fuse_ab --device 0
# P6 models
python tools/train.py --batch 32 --conf configs/yolov6s6_finetune.py --data data/dataset.yaml --img 1280 --device 0
Multi GPUs (DDP mode recommended)
# P5 models
python -m torch.distributed.launch --nproc_per_node 8 tools/train.py --batch 256 --conf configs/yolov6s_finetune.py --data data/dataset.yaml --fuse_ab --device 0,1,2,3,4,5,6,7
# P6 models
python -m torch.distributed.launch
``` **Тренировка YOLOv6 с Amazon Sagemaker**
- fuse_ab: добавить вспомогательную ветвь на основе якорей и использовать режим обучения с помощью якорей (в настоящее время не поддерживается для моделей P6).
- conf: выберите файл конфигурации, чтобы указать сеть/оптимизатор/гиперпараметры. Мы рекомендуем применять yolov6n/s/m/l_finetune.py при обучении на собственном наборе данных.
- data: подготовьте набор данных и укажите пути к наборам данных в data.yaml ([COCO](http://cocodataset.org), [YOLO формат coco labels](https://github.com/meituan/YOLOv6/releases/download/0.1.0/coco2017labels.zip)).
- убедитесь, что структура вашего набора данных выглядит следующим образом:
├── coco │ ├── annotations │ │ ├── instances_train2017.json │ │ └── instances_val2017.json │ ├── images │ │ ├── train2017 │ │ └── val2017 │ ├── labels │ │ ├── train2017 │ │ ├── val2017 │ ├── LICENSE │ ├── README.txt
YOLOv6 поддерживает различные режимы входного разрешения. Подробнее см. [Как установить размер ввода](./docs/About_training_size.md).
</details>
<details>
<summary>Возобновление тренировки</summary>
Если ваш тренировочный процесс был прерван, вы можете возобновить тренировку, выполнив следующие действия:
python tools/train.py --resume
python -m torch.distributed.launch --nproc_per_node 8 tools/train.py --resume
Приведённая выше команда автоматически найдёт последнюю контрольную точку в каталоге YOLOv6, а затем возобновит тренировочный процесс.
Вы также можете указать путь к контрольной точке для параметра `--resume` следующим образом:
--resume /path/to/your/checkpoint/path
Это позволит вам продолжить тренировку с указанной контрольной точки.
</details>
<details open>
<summary>Оценка</summary>
Воспроизведите mAP на наборе данных COCO val2017 с разрешением 640×640 или 1280x1280:
```shell
# модели P5
python tools/eval.py --data data/coco.yaml --batch 32 --weights yolov6s.pt --task val --reproduce_640_eval
# модели P6
python tools/eval.py --data data/coco.yaml --batch 32 --weights yolov6s6.pt --task val --reproduce_640_eval --img 1280
Сначала загрузите предварительно обученную модель из выпуска YOLOv6 здесь или используйте свою обученную модель для вывода.
Затем выполните вывод с помощью tools/infer.py
:
# модели P5
python tools/infer.py --weights yolov6s.pt --source img.jpg / imgdir / video.mp4
# модели P6
python tools/infer.py --weights yolov6s6.pt --img 1280 1280 --source img.jpg / imgdir / video.mp4
Если вы хотите выполнить вывод на локальной камере или веб-камере, вы можете запустить:
# модели P5
python tools/infer.py --weights yolov6s.pt --webcam --webcam-addr 0
# модели P6
python tools/infer.py --weights yolov6s6.pt --img 1280 1280 --webcam --webcam-addr 0
webcam-addr
может быть идентификатором локальной камеры или адресом rtsp.
YOLOv6 ONNXRuntime/MNN/TNN C++: YOLOv6-ORT, YOLOv6-MNN и YOLOv6-TNN от DefTruth.
YOLOv6 TensorRT Python: yolov6-tensorrt-python от Linaom1214.
YOLOv6 TensorRT Windows C++: yolort от Wei Zeng.
Демонстрация YOLOv6 в интернете на Huggingface Spaces с Gradio.
Интерактивная демонстрация на DagsHub со Streamlit.
Учебник: «Как обучить YOLOv6 на пользовательском наборе данных».
Видеоурок на YouTube: «Как обучить YOLOv6 на пользовательском наборе данных».
Демонстрация вывода YOLOv6 на Google Colab.
Пост в блоге: «Обнаружение объектов YOLOv6 — объяснение статьи и вывод».
[FAQ (постоянно обновляется)]
Если у вас есть какие-либо вопросы, присоединяйтесь к нашей группе WeChat для обсуждения и обмена.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )