# Gradio-YOLOv5-Det-Blocks **Repository Path**: CV_Lab/gradio_yolov5_det_blocks ## Basic Information - **Project Name**: Gradio-YOLOv5-Det-Blocks - **Description**: 🚀 基于 Gradio Blocks 的 YOLOv5 通用目标检测演示系统 Gradio YOLOv5 Det 项目的扩展版 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://gitee.com/PyCVer - **GVP Project**: No ## Statistics - **Stars**: 42 - **Forks**: 11 - **Created**: 2022-06-03 - **Last Updated**: 2024-11-05 ## Categories & Tags **Categories**: cv **Tags**: YOLOv5, Gradio, 目标检测, 计算机视觉, 深度学习 ## README

Simple Icons

基于Gradio Blocks的YOLOv5通用目标检测演示系统

Gradio YOLOv5 Det的扩展项目

code check Releases Version gradio awesome demos Hugging Face Spaces Hugging Face Spaces License

YOLOv5 Version Gradio Version Python Version Torch Version TorchVision Version pre-commit

## 🚀 作者简介 曾逸夫,从事人工智能研究与开发;主研领域:计算机视觉;[YOLOv8官方开源项目代码贡献人](https://github.com/ultralytics/ultralytics/graphs/contributors);[YOLOv5官方开源项目代码贡献人](https://github.com/ultralytics/yolov5/graphs/contributors);[YOLOv5 v6.1代码贡献人](https://github.com/ultralytics/yolov5/releases/tag/v6.1);[YOLOv5 v6.2代码贡献人](https://github.com/ultralytics/yolov5/releases/tag/v6.2);[YOLOv5 v7.0代码贡献人](https://github.com/ultralytics/yolov5/releases/tag/v7.0);[Gradio官方开源项目代码贡献人](https://github.com/gradio-app/gradio/graphs/contributors) ❤️ Github:https://github.com/Zengyf-CVer 🔥 YOLOv8 官方开源项目PR ID: - Fix YOLOv8 Chinese introduction:https://github.com/ultralytics/ultralytics/pull/219 - Add codespell and upgrade some components:https://github.com/ultralytics/ultralytics/pull/599 - Add pycln:https://github.com/ultralytics/ultralytics/pull/7141 - Fix heatmap width and height parameter bug:https://github.com/ultralytics/ultralytics/pull/7368 - ultralytics 8.0.237 cv2.CAP_PROP fix and in_counts and out_counts displays:https://github.com/ultralytics/ultralytics/pull/7380 💡 Ultralytics v8.1.0 代码贡献链接: - https://github.com/ultralytics/ultralytics/releases/tag/v8.1.0 🔥 YOLOv5 官方开源项目PR ID: - Save \*.npy features on detect.py `--visualize`:https://github.com/ultralytics/yolov5/pull/5701 - Fix `detect.py --view-img` for non-ASCII paths:https://github.com/ultralytics/yolov5/pull/7093 - Fix Flask REST API:https://github.com/ultralytics/yolov5/pull/7210 - Add yesqa to precommit checks:https://github.com/ultralytics/yolov5/pull/7511 - Add mdformat to precommit checks and update other version:https://github.com/ultralytics/yolov5/pull/7529 - Add TensorRT dependencies:https://github.com/ultralytics/yolov5/pull/8553 - Add paddle tips:https://github.com/ultralytics/yolov5/pull/9502 💡 YOLOv5 v6.1 & v6.2 & v7.0 代码贡献链接: - https://github.com/ultralytics/yolov5/releases/tag/v6.1 - https://github.com/ultralytics/yolov5/releases/tag/v6.2 - https://github.com/ultralytics/yolov5/releases/tag/v7.0 🔥 Gradio 官方开源项目PR ID: - Create a color generator demo:https://github.com/gradio-app/gradio/pull/1872

🚀更新走势

- `2022-12-21` **⚡ [Gradio YOLOv5 Det Blocks v0.4.2](https://gitee.com/CV_Lab/gradio_yolov5_det_blocks/releases/v0.4.2)正式上线** - `2022-07-22` **⚡ [Gradio YOLOv5 Det Blocks v0.4](https://gitee.com/CV_Lab/gradio_yolov5_det_blocks/releases/v0.4)正式上线** - `2022-07-11` **⚡ [Gradio YOLOv5 Det Blocks v0.3](https://gitee.com/CV_Lab/gradio_yolov5_det_blocks/releases/v0.3)正式上线** - `2022-06-24` **⚡ [Gradio YOLOv5 Det Blocks v0.2](https://gitee.com/CV_Lab/gradio_yolov5_det_blocks/releases/v0.2)正式上线** - `2022-06-09` **⚡ [Gradio YOLOv5 Det Blocks v0.1](https://gitee.com/CV_Lab/gradio_yolov5_det_blocks/releases/v0.1)正式上线**

💎项目流程与用途

### 📌 项目示例 #### ❤️ 对比检测系列:blocks_01 对比检测,不同图片 不同模型 不同配置
#### ❤️ 对比检测系列:blocks_01_02 对比检测,同一图片 不同模型 不同配置
#### ❤️ 对比检测系列:blocks_01_03 对比检测,同一图片 相同模型 不同配置
#### ❤️ 双端操作系列:blocks_02 单图片,双端操作
#### ❤️ 双端操作系列:blocks_02_02 图片/webcam 双模式,双端操作
#### ❤️ 双端操作系列:blocks_02_03 单图片,双端操作,强制加载YOLOv5
#### ❤️ 示例系列:blocks_03 单图片,示例
#### ❤️ 示例系列:blocks_03_02 单图片,示例下载
#### ❤️ 示例系列:blocks_03_03 单图片,示例配置
#### ❤️ 清除与重置系列:blocks_04 & blocks_04_02 单图片,清除/双端清除
#### ❤️ 清除与重置系列:blocks_04_03 单图片,重置
#### ❤️ 图片路径系列:blocks_05 单图片路径,文本输入(在线)
#### ❤️ 图片路径系列:blocks_05_02 多图片路径,文件上传(在线)
#### ❤️ 绘制检测系列:blocks_06 绘制检测(opencv, pillow, matplotlib)
#### ❤️ 绘制检测系列:blocks_06_02 绘制检测(opencv, pillow, matplotlib),画廊(多选模式)
#### ❤️ 绘制检测系列:blocks_06_03 绘制检测,颜色切换
#### ❤️ 自定义模型权重系列:blocks_07 自定义模型权重,上传
#### ❤️ 目标尺寸系列:blocks_08 目标尺寸,单选
#### ❤️ 目标尺寸系列:blocks_08_02 目标尺寸,多选
#### ❤️ 视频检测系列:blocks_09 视频/webcam 双模式
#### ❤️ 图片批量检测系列:blocks_10 图片批量检测
#### ❤️ 图片批量检测系列:blocks_10_02 图片批量检测,下载
#### ❤️ 图片批量检测系列:blocks_10_03 图片批量检测,批量下载

💡项目结构

``` . ├── gradio_yolov5_det_blocks # 项目名称 │ ├── 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版-中文) │ │ └── cls_name.csv # 类别名称文件(csv版-中文) │ ├── models # 模型Hub │ │ ├── readme.md # 模型Hub README │ │ ├── *.pt # PyTorch模型 │ │ └── *.onnx # ONNX模型 │ ├── util # 工具包 │ │ ├── gradio_version_opt.py # gradio版本管理 │ │ ├── fonts_opt.py # 字体管理 │ │ ├── pdf_opt.py # PDF管理 │ │ └── download_unzip.py # 下载与解压管理 │ ├── img_examples # 示例图片 │ ├── __init__.py # 初始化文件 │ ├── blocks_01_x.py # 对比检测系列 │ ├── blocks_02_x.py # 双端操作系列 │ ├── blocks_03_x.py # 示例系列 │ ├── blocks_04_x.py # 清除与重置系列 │ ├── blocks_05_x.py # 图片路径系列 │ ├── blocks_06_x.py # 绘制检测系列 │ ├── blocks_07_x.py # 自定义模型权重系列 │ ├── blocks_08_x.py # 目标尺寸系列 │ ├── blocks_09_x.py # 视频检测系列 │ ├── blocks_10_x.py # 图片批量检测系列 │ ├── LICENSE # 项目许可 │ ├── CodeCheck.md # 代码检查 │ ├── .gitignore # git忽略文件 │ ├── yolov5_pytorch_gpu.md # YOLOv5 PyTorch GPU安装教程 │ ├── README.md # 项目说明 │ └── requirements.txt # 脚本依赖包 ```

🔥安装教程

### ✅ 第一步:创建conda环境 ```shell conda create -n yolo python==3.8 conda activate yolo # 进入环境 ``` ### ✅ 第二步:克隆 ```shell git clone https://gitee.com/CV_Lab/gradio_yolov5_det_blocks.git ``` ### ✅ 第三步:安装Gradio YOLOv5 Det Blocks依赖 ```shell cd gradio_yolov5_det_blocks pip install -r ./requirements.txt -U ``` ❗ 注意:yolov5默认采用pip安装PyTorch GPU版,如果采用官网安装**PyTorch GPU**版,参见[YOLOv5 PyTorch GPU安装教程](./yolov5_pytorch_gpu.md)

⚡使用教程

```shell # 对比检测系列 python blocks_01_x.py # 双端操作系列 python blocks_02_x.py # 示例系列 python blocks_03_x.py # 清除与重置系列 python blocks_04_x.py # 图片路径系列 python blocks_05_x.py # 绘制检测系列 python blocks_06_x.py # 自定义模型权重系列 python blocks_07_x.py # 目标尺寸系列 python blocks_08_x.py # 视频检测系列 python blocks_09_x.py # 图片批量检测系列 python blocks_10_x.py ``` ❤️ 具体文件信息与功能描述,参见下表: | 系列编号 | 文件名称 | 功能描述 | | :--: | :-------------------------------: | :---------------------------------------: | | 01 | [blocks_01](./blocks_01.py) | 对比检测,不同图片 不同模型 不同配置 | | 01 | [blocks_01_02](./blocks_01_02.py) | 对比检测,同一图片 不同模型 不同配置 | | 01 | [blocks_01_03](./blocks_01_03.py) | 对比检测,同一图片 相同模型 不同配置 | | 02 | [blocks_02](./blocks_02.py) | 单图片,双端操作 | | 02 | [blocks_02_02](./blocks_02_02.py) | 图片/webcam 双模式,双端操作 | | 02 | [blocks_02_03](./blocks_02_03.py) | 单图片,双端操作,强制加载YOLOv5 | | 03 | [blocks_03](./blocks_03.py) | 单图片,示例 | | 03 | [blocks_03_02](./blocks_03_02.py) | 单图片,示例下载 | | 03 | [blocks_03_03](./blocks_03_03.py) | 单图片,示例配置 | | 04 | [blocks_04](./blocks_04.py) | 单图片,清除 | | 04 | [blocks_04_02](./blocks_04_02.py) | 单图片,双端清除 | | 04 | [blocks_04_03](./blocks_04_03.py) | 单图片,重置 | | 05 | [blocks_05](./blocks_05.py) | 单图片路径,文本输入(在线) | | 05 | [blocks_05_02](./blocks_05_02.py) | 多图片路径,文件上传(在线) | | 06 | [blocks_06](./blocks_06.py) | 绘制检测(opencv, pillow, matplotlib) | | 06 | [blocks_06_02](./blocks_06_02.py) | 绘制检测(opencv, pillow, matplotlib),画廊(多选模式) | | 06 | [blocks_06_03](./blocks_06_03.py) | 绘制检测,颜色切换 | | 07 | [blocks_07](./blocks_07.py) | 自定义模型权重,上传 | | 08 | [blocks_08](./blocks_08.py) | 目标尺寸,单选 | | 08 | [blocks_08_02](./blocks_08_02.py) | 目标尺寸,多选 | | 09 | [blocks_09](./blocks_09.py) | 视频检测,视频/webcam 双模式 | | 10 | [blocks_10](./blocks_10.py) | 图片批量检测 | | 10 | [blocks_10_02](./blocks_10_02.py) | 图片批量检测,下载 | | 10 | [blocks_10_03](./blocks_10_03.py) | 图片批量检测,批量下载 | ### 💬 技术交流 - 如果你发现任何Gradio YOLOv5 Det Blocks存在的问题或者是建议, 欢迎通过[Gitee Issues](https://gitee.com/CV_Lab/gradio_yolov5_det_blocks/issues)给我提issues。 - 欢迎加入CV Lab技术交流群