本文结合小土堆的教学视频目标检测 YOLOv5 开源代码项目调试与讲解实战进行学习
一、环境配置
项目地址:目标检测 YOLOv5 开源代码项目调试与讲解实战
选择 Tags 为 v7.0 的文件,并将整个文件下载到本地
配置对应的 conda 环境,根据作者提供的 requirments.txt 文件下载所需要的库,可以利用命令 pip install -r requirments.txt 进行安装
二、使用YOLOv5进行预测
在IDE中打开下载好的 yolov5-7.0 文件夹,进入路径 D:\yolov5\yolov5-7.0\detect.py 下的py文件,直接在IDE上点击运行,最终会输出 D:\yolov5\yolov5-7.0\data\images 路径下两张图片的预测结果于 D:\yolov5\yolov5-7.0\runs\detect\exp 中,显示如下
detect.py 文件分析【 parse_opt() 函数下的参数分析】
parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt', help='model path or triton URL')
weights 表示指定网络模型,默认指定 yolov5s
parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob/screen/0(webcam)')
source 表示指定想要预测的数据路径(可以是单个数据,也可以是数据文件夹)
parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640], help='inference size h,w')
imgsz 表示在训练过程中将图片转化为指定大小的尺寸,输出结果会等比例放大为输入数据的大小
parser.add_argument('--conf-thres', type=float, default=0.25, help='confidence threshold')
conf-thres 表示指定置信度大小,当置信度大于所设定大小的时候才输出结果
将置信度大小设置为0时,结果显示如下
将置信度大小设置为0.8时,结果显示如下
parser.add_argument('--iou-thres', type=float, default=0.45, help='NMS IoU threshold')
iou-thres 表示交并比阈值。IOU 值=预测框大小∩真实框大小 / 预测框大小∪真实框大小(预测框与真实框的交集与并集的取值)。当值过大时容易出现一个目标多个检测框,值过小容易出现检测结果少的问题
将 iou-thres 设置为1,结果显示如下
将 iou-thres 设置为0,结果显示如下
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
device 表示指定所使用的设备,CPU 或者 GPU
parser.add_argument('--view-img', action='store_true', help='show results')
view-img 表示实时观看运行结果
parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --classes 0, or --classes 0 2 3')
classes 表示只识别指定类别
指定识别 classes 0(只识别 person),在终端输入命令 python detect.py --class 0 运行程序,结果显示如下
parser.add_argument('--augment', action='store_true', help='augmented inference')
augment 表示网络增强
在终端输入命令 python detect.py --augment 运行程序,结果显示如下
YOLOv5开源代码项目:环境配置与参数解读
本文介绍了如何在本地环境配置YOLOv5开源代码,包括下载项目、设置conda环境、解析detect.py中的关键参数如模型路径、数据源、图像尺寸、置信度和IOU阈值,以及如何通过命令行选项实现不同功能如增强和类别过滤。
1313

被折叠的 条评论
为什么被折叠?



