1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/CV_Lab-gradio_yolov5_det

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Основываясь на 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 YOLOv5 Det v0.3] (https://huggingface.co/spaces/Zengyf-CVer/Gradio_YOLOv5_Det_v3) официально добавлено в [официальный список демонстраций Gradio] (https://github.com/gradio-app/awesome-demos) 🤗

❤️ Нажмите на изображение ниже, чтобы перейти к [официальному списку демонстраций 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 demo status

💎 Проектный процесс и использование

📌 Общий проектный процесс

📌 Пример проекта

❤️ Gradio YOLOv5 Det v0.5 Интерфейс и эффект обнаружения (режим изображения)

❤️ Интерфейс ввода (режим изображения)

Интерфейс ввода 01
Интерфейс ввода 02

❤️ Интерфейс вывода (режим изображения)

Интерфейс вывода 01
Интерфейс вывода 02 (пример версии 0.4)
Интерфейс вывода 03
Интерфейс вывода 04

❤️ Быстрый опыт (режим изображения)

Этот проект предоставляет 4 примера изображений, пользователи могут быстро испытать эффект обнаружения:

Пример интерфейса

❤️ Графический интерфейс Gradio YOLOv5 Det v0.5 и эффект обнаружения (видеорежим)

❤️ Интерфейс ввода (видеорежим)

Интерфейс ввода 01
Интерфейс ввода 02

❤️ Интерфейс вывода (видеорежим)

Интерфейс вывода 01
Интерфейс вывода 02

❤️ Быстрый опыт (видеорежим)

В этом проекте представлено 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 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/CV_Lab-gradio_yolov5_det.git
git@api.gitlife.ru:oschina-mirror/CV_Lab-gradio_yolov5_det.git
oschina-mirror
CV_Lab-gradio_yolov5_det
CV_Lab-gradio_yolov5_det
master