# Gradio-YOLOv5-Det
**Repository Path**: kai-studio/gradio_yolov5_det
## Basic Information
- **Project Name**: Gradio-YOLOv5-Det
- **Description**: 🚀 基于Gradio的YOLOv5通用目标检测系统
- **Primary Language**: Python
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: https://gitee.com/PyCVer
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 49
- **Created**: 2025-07-24
- **Last Updated**: 2025-07-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
中文简体|[English](./README.en.md)
基于Gradio的YOLOv5通用目标检测演示系统
可自定义检测模型、演示便捷、安装简单
🚀更新走势
- `2022-04-30` **⚡ [Gradio YOLOv5 Det v0.1](https://gitee.com/CV_Lab/gradio_yolov5_det/releases/v0.1)正式上线**
🤗在线demo
❤️ 本项目提供了**在线demo**,点击下面的logo,进入**Hugging Face Spaces**中快速体验:
### 💡 Demo 列表
| Demo 名称 | 输入类型 | 输出类型 | 状态 |
| :----------------------------------------------------------: | :------: | :--------: | :----------------------------------------------------------: |
| [Gradio YOLOv5 Det v0.1](https://huggingface.co/spaces/Zengyf-CVer/gradio_yolov5_det) | 图片 | 图片,JSON | [](https://huggingface.co/spaces/Zengyf-CVer/gradio_yolov5_det) |
| [Gradio YOLOv5 Det v0.2](https://huggingface.co/spaces/Zengyf-CVer/Gradio_YOLOv5_Det_v2) | 图片 | 图片,JSON | [](https://huggingface.co/spaces/Zengyf-CVer/Gradio_YOLOv5_Det_v2) |
💎项目流程与用途
### 📌 项目整体流程
### 📌 项目示例
#### ❤️ 检测界面与效果01
#### ❤️ 检测界面与效果02:检测信息
检测界面
检测信息(JSON版)
#### ❤️ 功能界面
包括**图片上传**、**设备切换**、**模型切换**、**推理尺寸**、**置信度阈值**、**IoU阈值**、**标签显示**、**类别选择**等
❗ 注:Gradio的滑动条组件的滑块的位置,初始时不跟随默认值变化,但不影响检测
功能界面01
功能界面02
功能界面03
#### ❤️ 快速体验
本项目提供了三个**示例**,用户可以快速体验检测效果:
示例界面
💡项目结构
```
.
├── gradio_yolov5_det # 项目名称
│ ├── yolov5 # YOLOv5项目
│ ├── model_download # 模型下载
│ │ ├── 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_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.yaml # 类别名称文件(yaml版)
│ │ ├── cls_name_en.yaml # 类别英文名称文件(yaml版)
│ │ └── cls_name.csv # 类别名称文件(csv版)
│ ├── img_example # 示例图片
│ ├── __init__.py # 初始化文件
│ ├── gradio_yolov5_det.py # 主运行文件
│ ├── LICENSE # 项目许可
│ ├── CodeCheck.md # 代码检查
│ ├── .gitignore # git忽略文件
│ ├── yolov5_pytorch_gpu.md # YOLOv5 PyTorch GPU安装教程
│ ├── README.md # 项目说明
│ ├── README.en.md # 项目说明(英文版)
│ └── requirements.txt # 脚本依赖包
```
❤️ 版本改进
🔥 [Gradio-YOLOv5-Det v0.2](./gradio_yolov5_det_v2.py) 采用[Pillow](https://github.com/python-pillow/Pillow)组件绘制图片检测效果
🔥安装教程
### ✅ 第一步:安装Gradio YOLOv5 Det
📌 创建conda环境
```shell
conda create -n yolo python==3.8
conda activate yolo # 进入环境
```
📌 递归式克隆
```shell
git clone https://gitee.com/CV_Lab/gradio_yolov5_det.git --recursive
```
📌 安装Gradio YOLOv5 Det依赖
```shell
pip install -r ./requirements.txt -U
```
### ✅ 第二步:安装YOLOv5依赖
```shell
conda activate facelabel # 进入环境
cd ./face-labeling/yolov5
pip install -r requirements.txt -U
```
❗ 注意:yolov5默认采用pip安装PyTorch GPU版,如果采用官网安装**PyTorch GPU**版,参见[YOLOv5 PyTorch GPU安装教程](./yolov5_pytorch_gpu.md)
⚡使用教程
### 💡 运行YOLOv5模型
📌 下载YOLOv5 P5模型
```shell
# 将yolov5n.pt,yolov5s.pt,yolov5m.pt,yolov5l.pt,yolov5x.pt下载到yolov5目录中
bash ./model_download/yolov5_model_p5_all.sh
```
📌 运行
```shell
python gradio_yolov5_det.py
# 在浏览器中输入:http://127.0.0.1:7860/或者http://127.0.0.1:7861/ 等等(具体观察shell提示)
```
❗ 注:本项目提供了3种YOLOv5模型下载脚本,默认为`yolov5_model_p5_all.sh`
```shell
# 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版)
# YOLOv5 P6模型下载及运行
bash ./model_download/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.yaml](./cls_name/cls_name.yaml)|[cls_name.csv](./cls_name/cls_name.csv)
### 💡 运行自定义模型
```shell
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/ 等等(具体观察shell提示)
```
📌 自定义模型名称
`custom_model_name.yaml`格式:
```yaml
model_names: ["widerface-s", "widerface-m", "widerface-l"]
```
`custom_model_name.csv`格式(`\n`分隔):
```shell
widerface-s
widerface-m
widerface-l
```
📌 自定义模型类别
`custom_model_cls_name.yaml`格式:
```yaml
model_cls_name: ["face"]
```
`custom_model_cls_name.csv`格式(`\n`分隔):
```shell
face
```
### 💡 其他操作
```shell
# 设备切换(cuda 或者 cpu)
python gradio_yolov5_det.py -dev 0 # cuda 0
python gradio_yolov5_det.py -dev cpu # cpu
# 自定义下拉框默认模型名称
python gradio_yolov5_det.py -mn yolov5m
# 自定义NMS置信度阈值
python gradio_yolov5_det.py -conf 0.8
# 自定义NMS IoU阈值
python gradio_yolov5_det.py -iou 0.5
# 设置默认不显示检测标签
python gradio_yolov5_det.py -lds
```
### 💡 界面操作
操作下拉框、滑动条、复选框来对模型进行相关设置
操作复选框组来对模型类别进行设置
点击`Submit`按钮进行检测功能,点击`clear`按钮重置所有设置
点击`Flag`按钮,下载相关检测数据
❗ 注:上述界面仅供参考,具体界面以实际项目为主。
相关检测数据存储在`run`目录中,结构如下:
```
# run目录
.
├── run # 人脸数据保存目录
│ ├── 原始图片 # 原始图片目录
│ │ ├── 0.jpg # 原始图片
│ │ ├── 1.jpg # 原始图片
│ │ ├── ......
│ ├── 检测图片 # 检测图片目录
│ │ ├── 0.png # 检测图片
│ │ ├── 1.png # 检测图片
│ │ ├── ......
│ ├── log.csv # 检测日志
```