Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
dianYu c8085f0313 | 1 year ago | |
---|---|---|
README.md | 1 year ago | |
gradio_yolov5_det.ipynb | 1 year ago | |
gradio_yolov5_det.py | 1 year ago |
基于Gradio的YOLOv5通用目标检测演示系统
可自定义检测模型、演示便捷、安装简单
曾逸夫,从事人工智能研究与开发;主研领域:计算机视觉;YOLOv5官方开源项目代码贡献人;YOLOv5 v6.1代码贡献人;YOLOv5 v6.2代码贡献人;YOLOv5 v7.0代码贡献人;Gradio官方开源项目代码贡献人
❤️ Github:https://github.com/Zengyf-CVer
🔥 YOLOv5 官方开源项目PR ID:
--visualize
:https://github.com/ultralytics/yolov5/pull/5701detect.py --view-img
for non-ASCII paths:https://github.com/ultralytics/yolov5/pull/7093💡 YOLOv5 v6.1 & v6.2代码贡献链接:
🔥 Gradio 官方开源项目PR ID:
2022-12-18
⚡ Gradio YOLOv5 Det v0.5.2正式上线2022-08-04
⚡ Gradio YOLOv5 Det v0.5正式上线2022-05-31
⚡ Gradio YOLOv5 Det v0.4正式上线2022-05-22
⚡ Gradio YOLOv5 Det v0.3正式上线2022-05-14
🚀 [好消息] Gradio YOLOv5 Det v0.3 正式加入到 Gradio官方demo列表 🎉🎉🎉🎉🎉2022-05-13
🚀[推荐] Gradio YOLOv5 Det 开发版 脚本指令操作2022-05-12
⚡ Gradio YOLOv5 Det v0.2.2正式上线2022-05-08
⚡ Gradio YOLOv5 Det v0.2正式上线2022-04-30
⚡ Gradio YOLOv5 Det v0.1正式上线❤️ 点击下图进入Gradio awesome-demos ,在Computer vision列表中Find Me!
本项目提供了在线demo,点击下面的logo,进入Hugging Face Spaces中快速体验:
❤️ 点击列表中的链接,进入对应版本的Hugging Face Spaces界面中快速体验:
Demo 名称 | 整体界面-检测前 | 整体界面-检测后 | 状态 |
---|---|---|---|
🚀 Gradio YOLOv5 Det v0.5 | Image ,Video | Image ,Video | |
🚀 Gradio YOLOv5 Det v0.4 | Image ,Video | Image | |
Gradio YOLOv5 Det v0.3 | Image | Image | |
Gradio YOLOv5 Det v0.2.2 | Image | Image | |
Gradio YOLOv5 Det v0.2 | Image | Image | |
Gradio YOLOv5 Det v0.1 | Image | Image |
❗ 注:点击整体界面
链接,查看项目整体界面大图
Demo 名称 | 输入类型 | 输出类型 |
---|---|---|
🚀 Gradio YOLOv5 Det v0.5 | 图片/视频 | 图片/视频/JSON/PDF/数据表/统计图 |
🚀 Gradio YOLOv5 Det v0.4 | 图片/视频 | 图片/视频/JSON/PDF/数据表 |
Gradio YOLOv5 Det v0.3 | 图片 | 图片/JSON/PDF/数据表 |
Gradio YOLOv5 Det v0.2.2 | 图片 | 图片/JSON/PDF |
Gradio YOLOv5 Det v0.2 | 图片 | 图片/JSON/PDF |
Gradio YOLOv5 Det v0.1 | 图片 | 图片/JSON |
点击下图,查看详细代码:
点击下图,查看详细代码:
查看gradio iframe详细代码:
<iframe src="https://hf.space/embed/Gradio-Blocks/Gradio_YOLOv5_Det/+" frameBorder="0" width="1300px" height="1000px" title="Gradio app" allow="accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking" sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"></iframe>
本项目提供了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版-中文-v0.1)
│ │ └── cls_name.csv # 类别名称文件(csv版-中文)
│ ├── huggingface_demo # 自定义在线HuggingFace Demo
│ │ ├── gyd_hf_demo_v4.py # Gradio YOLOv5 Det v0.4 脚本
│ │ └── gyd_hf_demo_v3.py # Gradio YOLOv5 Det v0.3 脚本
│ ├── models # 模型Hub
│ │ ├── readme.md # 模型Hub README
│ │ ├── *.pt # PyTorch模型
│ │ └── *.onnx # ONNX模型
│ ├── util # 工具包
│ │ ├── fonts_opt.py # 字体管理
│ │ └── pdf_opt.py # PDF管理
│ ├── history_version # 历史版本README
│ │ ├── v1_v2.md # v1_v2 中文README
│ │ └── v1_v2.en.md # v1_v2 英文README
│ ├── img_examples # 示例图片
│ ├── __init__.py # 初始化文件
│ ├── gradio_yolov5_det_v5_02.py # v0.5.2主运行文件
│ ├── gradio_yolov5_det_v5.py # v0.5主运行文件
│ ├── gradio_yolov5_det_v5_dev.py # v0.5主运行文件(热重载版)
│ ├── gradio_yolov5_det_v4.py # v0.4主运行文件
│ ├── gradio_yolov5_det_v3.py # v0.3主运行文件
│ ├── gradio_yolov5_det_v2_2.py # v0.2.2主运行文件
│ ├── gradio_yolov5_det_v2.py # v0.2主运行文件
│ ├── gradio_yolov5_det.py # v0.1主运行文件
│ ├── LICENSE # 项目许可
│ ├── CodeCheck.md # 代码检查
│ ├── .gitignore # git忽略文件
│ ├── yolov5_pytorch_gpu.md # YOLOv5 PyTorch GPU安装教程
│ ├── README.md # 项目说明
│ ├── README.en.md # 项目说明(英文版)
│ └── requirements.txt # 脚本依赖包
🔥 Gradio YOLOv5 Det v0.4 采用标签和边界框颜色模式:(点击图片,可查看大图)
v0.3 | v0.4 |
---|---|
🔥 Gradio-YOLOv5-Det v0.2 采用Pillow组件绘制图片检测效果,可自定义字体文件。
🔥 Gradio-YOLOv5-Det v0.2 的检测结果可以在图片上显示ID、自定义字体标签以及置信度,同时提供了6种语言:中文、英文、俄语、西班牙语、阿拉伯语以及韩语,具体效果如下图所示。(点击图片,可查看大图)
版本-语言 | 效果图 |
---|---|
v0.1-英文 | |
v0.2-中文 | |
v0.2-英文 | |
v0.2-俄语 | |
v0.2-西班牙语 | |
v0.2-阿拉伯语 | |
v0.2-韩语 |
conda create -n yolo python==3.8
conda activate yolo # 进入环境
git clone https://gitee.com/CV_Lab/gradio_yolov5_det.git
cd gradio_yolov5_det
pip install -r ./requirements.txt -U
❗ 注意:yolov5默认采用pip安装PyTorch GPU版,如果采用官网安装PyTorch GPU版,参见YOLOv5 PyTorch GPU安装教程
❤️ 注:Gradio YOLOv5 Det v0.5.x 的使用方法和v0.1、v0.2.x、v0.3.x、v0.4.x相同,将gradio_yolov5_det.py
改为 gradio_yolov5_det_v5_x.py
即可。
📌 下载YOLOv5 P5模型
❤️ yolov5n.pt--yolov5x.pt,yolov5n6.pt--yolov5x6.pt下载到models
目录中
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/ 等等(具体观察shell提示)
❗ 注意: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版)
# YOLOv5 P5模型下载及运行
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版)
# 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_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/ 等等(具体观察shell提示)
📌 自定义模型名称
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 # 离线模式
# 注:在使用离线版前,需要在gradio_yolov5_det的根目录下执行git clone 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)
# 图片输入源切换,默认为图片上传(v0.3)
python gradio_yolov5_det.py -src upload # 图片上传
python gradio_yolov5_det.py -src webcam # webcam拍照
# 视频输入源切换,默认为视频上传(v0.4)
python gradio_yolov5_det.py -src_v upload # 视频上传
python gradio_yolov5_det.py -src_v webcam # webcam录制
# 输入图片操作模式,默认为图片编辑器(v0.3)
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
# 自定义NMS IoU阈值
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.pdf # 检测图片
│ │ ├── 1.pdf # 检测图片
│ │ ├── ......
│ ├── log.csv # 检测日志
📌 如需引用Gradio YOLOv5 Det v0.5,请在相关文章的参考文献中加入下面文字:
曾逸夫, (2022) Gradio YOLOv5 Det (Version 0.5).https://gitee.com/CV_Lab/gradio_yolov5_det.
📌 如需引用Gradio YOLOv5 Det v0.4,请在相关文章的参考文献中加入下面文字:
曾逸夫, (2022) Gradio YOLOv5 Det (Version 0.4).https://gitee.com/CV_Lab/gradio_yolov5_det.
📌 如需引用Gradio YOLOv5 Det v0.3,请在相关文章的参考文献中加入下面文字:
曾逸夫, (2022) Gradio YOLOv5 Det (Version 0.3).https://gitee.com/CV_Lab/gradio_yolov5_det.
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》