Основываясь на Gradio, универсальная система обнаружения целей YOLOv5
Простая в использовании, удобная для демонстрации и простая в установке.
Можно настроить модель обнаружения,
Автор: Цзэн Ифу, занимается исследованиями и разработкой искусственного интеллекта; основная область исследований: компьютерное зрение.
Участник официальных проектов с открытым исходным кодом YOLOv8, YOLOv5 и Gradio.
GitHub: https://github.com/Zengyf-CVer
Ссылки на PR-запросы Ultralytics v8.1.0:
https://github.com/ultralytics/ultralytics/releases/tag/v8.1.0
Ссылки на запросы на изменение YOLOv5:
— Сохранение функций .npy в detect.py — —visualize: https://github.com/ultralytics/yolov5/pull/5701
— Исправление detect.py — view-img для путей, отличных от ASCII: https://github.com/ultralytics/yolov5/pull/7093
— Исправление Flask REST API: https://github.com/ultralytic/yolov5/pull/7210
— Добавление yesqa к предварительным проверкам: https://github.com/ultralytics/yolov5/pull/7511
— Добавить mdformat к предварительным проверкам и обновить другие версии: https://github.com/ultralytics/yolov5/pull/7529
— Добавить TensorRT. dependencies: https://github.com/ultralytics/yolov5/pull/8553
💡 YOLOv5 v6.1 & v6.2 & v7.0 код для вклада:
🔥 Gradio официальный проект с открытым исходным кодом PR ID:
❤️ Нажмите на изображение ниже, чтобы перейти к [официальному списку демонстраций Gradio], найдите меня в списке Computer vision!
Этот проект предоставляет онлайн-демонстрацию, нажмите на логотип ниже, чтобы войти в Hugging Face Spaces и быстро испытать его:
❤️ Щелкните ссылку в списке, чтобы перейти на соответствующую страницу Hugging Face Spaces, чтобы быстро испытать её:
Демонстрация | Интерфейс перед обнаружением | Интерфейс после обнаружения | Статус |
---|---|---|---|
🚀 [Gradio YOLOv5 Det v0.5] (https://huggingface.co/spaces/Zengyf-CVer/Gradio_YOLOv5_Det_v5) | Image ,Video | Image ,Video |
Этот проект предоставляет 4 примера изображений, пользователи могут быстро испытать эффект обнаружения:
В этом проекте представлено 3 видео примера, пользователи могут быстро испытать эффект обнаружения:
.
├── gradio_yolov5_det # Название проекта
│ ├── model_download # Загрузка модели
│ │ ├── yolov5_model_p5_p6_all.sh # Модель YOLOv5 P5
│ │ ├── yolov5_model_p5_all.sh # Модель YOLOv5 P5
│ │ ├── yolov5_model_p6_all.sh # Модель YOLOv5 P6
│ │ └── yolov5_model_p5_n.sh # Модель yolov5n
│ ├── model_config # Конфигурация модели
│ │ ├── model_name_p5_all.yaml # Имя модели YOLOv5 P5 (версия yaml)
│ │ ├── model_name_p6_all.yaml # Имя модели YOLOv5 P6 (версия yaml)
│ │ ├── model_name_p5_p6_all.yaml # Имя модели YOLOv5 P5 & P6 (версия yaml)
│ │ ├── model_name_p5_n.yaml # Имя модели yolov5n (версия yaml)
│ │ ├── model_name_p5_all.csv # Имя модели YOLOv5 P5 (версия csv)
│ │ ├── model_name_p6_all.csv # Имя модели YOLOv5 P6 (версия csv)
│ │ └── model_name_p5_n.csv # Имя модели yolov5n (версия csv)
│ ├── cls_name # Наименование класса
│ │ ├── cls_name_zh.yaml # Файл с наименованием класса (версия yaml на китайском языке)
│ │ ├── cls_name_en.yaml # Файл с наименованием класса (версия yaml на английском языке)
│ │ ├── cls_name_ru.yaml # Файл с наименованием класса (версия yaml на русском языке)
│ │ ├── cls_name_es.yaml # Файл с наименованием класса (версия yaml на испанском языке)
│ │ ├── cls_name_ar.yaml # Файл с наименованием класса (версия yaml на арабском языке)
│ │ ├── cls_name_ko.yaml # Файл с наименованием класса (версия yaml на корейском языке)
│ │ ├── cls_name.yaml # Файл с наименованием класса (версия yaml на китайском языке, версия 0.1)
│ │ └── cls_name.csv # Файл с наименованием класса (версия csv на китайском языке)
│ ├── huggingface_demo # Пользовательская онлайн-демонстрация HuggingFace
│ │ ├── gyd_hf_demo_v4.py # Графическая демонстрация Gradio YOLOv5 Det версии 0.4
│ │ └── gyd_hf_demo_v3.py
``` **Запуск**
```shell
bash ./model_download/yolov5_model_p5_p6_all.sh
Запустить
python gradio_yolov5_det_v5.py # v0.5
python gradio_yolov5_det_v4.py # v0.4
python gradio_yolov5_det_v3.py # v0.3
# В браузере введите: http://127.0.0.1:7860/ или http://127.0.0.1:7861/ и т. д. (конкретно смотрите подсказку оболочки)*
Внимание: версии v0.1 и v0.2.x запускаются следующим образом:
cd gradio_yolov5_det && git clone https://github.com/ultralytics/yolov5.git
cp *.pt yolov5
python gradio_yolov5_det.py # v0.1
python gradio_yolov5_det_v2.py # v0.2
python gradio_yolov5_det_v2_2.py # v0.2.2
Этот проект предоставляет 4 скрипта для скачивания моделей YOLOv5, по умолчанию используется yolov5_model_p5_p6_all.sh
# Скачивание и запуск модели yolov5n
bash ./model_download/yolov5_model_p5_n.sh
python gradio_yolov5_det.py -mc ./model_config/model_name_p5_n.yaml (*версия yaml*)
# python gradio_yolov5_det.py -mc ./model_config/model_name_p5_n.csv (*версия csv*)
# Скачивание и запуск P5 модели YOLOv5
bash ./model_download/yolov5_model_p5_all.sh
python gradio_yolov5_det.py -mc ./model_config/model_name_p5_all.yaml (*версия yaml*)
# python gradio_yolov5_det.py -mc ./model_config/model_name_p5_all.csv (*версия csv*)
# Скачивание и запуск P6 модели YOLOv5
bash ./model_downloa/yolov5_model_p6_all.sh
python gradio_yolov5_det.py -mc ./model_config/model_name_p6_all.yaml (*версия yaml*)
# python gradio_yolov5_det.py -mc ./model_config/model_name_p6_all.csv (*версия csv*)
Примечание: по умолчанию файл категорий cls_name_zh.yaml | cls_name.csv
Пользовательская модель
Поместите файл пользовательской модели (.pt) в каталог models
python gradio_yolov5_det.py -mc custom_model_name.yaml -cls custom_model_cls_name.yaml (*версия yaml*)
# python gradio_yolov5_det.py -mc custom_model_name.csv -cls custom_model_cls_name.csv (*версия csv*)
В браузере введите: http://127.0.0.1:7860/ или http://127.0.0.1:7861/ и т.д. (конкретно следите за подсказкой оболочки)
Название пользовательской модели
custom_model_name.yaml
формат:
model_names: ["widerface-s", "widerface-m", "widerface-l"]
custom_model_name.csv
формат (разделяется символом \n):
widerface-s
widerface-m
widerface-l
Класс пользовательской модели
custom_model_cls_name.yaml
формат:
model_cls_name: ["face"]
custom_model_cls_name.csv
формат (разделяется символом \n):
face
Этот проект также предоставляет некоторые команды для работы со сценариями, предназначенные для расширения функциональности проекта.
Примечание: некоторые функции не могут быть реализованы с помощью компонентов интерфейса (кнопок, текстовых полей и т. д.), и должны быть выполнены с помощью команд сценариев:
# Режим YOLOv5 (v0.5.2)
python gradio_yolov5_det_v5_02.py (*по умолчанию online*)
python gradio_yolov5_det_v5_02.py -mt offline (*режим оффлайн*)
*Примечание:* перед использованием версии оффлайн необходимо выполнить команду git clone в корневом каталоге gradio_yolov5_det https://github.com/ultralytics/yolov5.git, а затем поместить файлы модели в gradio_yolov5_det/yolov5
# Режим входа (v0.3)
python gradio_yolov5_det.py -isl (*по умолчанию admin, admin*)
python gradio_yolov5_det.py -isl -up zyf zyf (*установить имя пользователя и пароль: zyf, zyf*)
# Общий режим (v0.3)
python gradio_yolov5_det.py -is (*открыть в браузере в общем режиме, https://**.gradio.app/*)
# Пользовательский порт
python gradio_yolov5_det.py -sp 8080 (*v0.6*)
# Источник ввода изображения, по умолчанию — загрузка изображения
python gradio_yolov5_det.py -src upload (*загрузка изображения*)
python gradio_yolov5_det.py -src webcam (*съёмка с веб-камеры*)
# Видеоисточник ввода, по умолчанию — загрузка видео
python gradio_yolov5_det.py -src_v upload (*загрузка видео*)
python gradio_yolov5_det.py -src_v webcam (*запись с веб-камеры*)
# Режимы работы с изображениями, по умолчанию — редактор изображений
python gradio_yolov5_det.py -it editor (*редактор изображений*)
python gradio_yolov5_det.py -it select (*выбор области*)
# Переключение устройства (cuda или cpu)
python gradio_yolov5_det.py -dev cuda:0 (*cuda*)
python gradio_yolov5_det.py -dev cpu (*cpu*)
# Установить имя модели по умолчанию
python gradio_yolov5_det.py -mn yolov5m
# Установите порог достоверности NMS
python gradio_yolov5_det.py -conf 0.8
# Установите пороговое значение IoU NMS
python gradio_yolov5_det.py -iou 0.5
# Настройка размера вывода, по умолчанию 640
python gradio_yolov5_det.py -isz 320
# Установка максимального количества обнаружений, по умолчанию 50 (v0.3)
python gradio_yolov5_det.py -mdn 100
# Установите шаг ползунка, по умолчанию 0,05 (v0.3)
python gradio_yolov5_det.py -ss 0.01
# Отключить отображение метки обнаружения по умолчанию (*v0.3 устарело*)
python gradio_yolov5_det.py -lds
Gradio YOLOv5 Det v0.5 версия для разработки предоставляет функцию горячей перезагрузки, которая позволяет выполнять отладку программы в реальном времени:
gradio gradio_yolov5_det_v5_dev.py gyd
Примечание: gradio>=3.0.17
Содержание Det_Report.pdf
следующее:
Соответствующие данные обнаружения хранятся в каталоге run
, структура следующая:
# run каталог
.
├── run # Каталог данных лица
│ ├── Исходное изображение # Исходное изображение каталога
│ │ ├── 0.jpg # Исходное изображение
│ │ ├── 1.jpg # Исходное изображение
│ │ └── ...
│ ├── Изображение обнаружения # Каталог изображений обнаружения
│ │ ├── 0.png # Изображение обнаружения
│ │ ├── 1.png
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )