> 文章列表 > 使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

目录

    • 准备
      • 源文件和预训练文件下载
      • python版本以及torch版本说明:
      • 文件目录说明
      • 测试文件
    • detect.py使用
      • 测试单张图片
      • 测试一个文件夹里的图片

准备

源文件和预训练文件下载

下载链接:https://github.com/ultralytics/yolov5/releases/tag/v6.2
源文件和预训练模型如下:
使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

python版本以及torch版本说明:

  • python:3.9.3
  • pytorch:
    使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

因为我是cuda 11.8,所以是安装了这个版本的。但不是只有该版本才能使用v5-6.2。由于6.2版本是2022年发布的,所以相近几年的都可以

文件目录说明

如图:
使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

测试文件

demo2.jpg在这里插入图片描述

detect.py使用

测试单张图片

基本的命令:

python detect.py --source ./demo/demo2.jpg --weights YOLOv5s.pt --project  "runs/detect/demo1" --device 0 --view-img --save-txt

参数解析:

  • --device:配置GPU加速,第一个GPU设备。

  • 指定输出结果的文件夹: --output ./demo/demo1。现在已经不能指定这个参数了。而是配合project参数以及name来代替,及project/name。结果路径保存的地方runs/detect/demo1/exp。还有一个参数exist_ok,这个参数指定的话,就会存在exp文件里。如果不指定,在此运行,结果会存在exp+int(i)这样,递增的文件夹里,如:

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

  • --view-img:虽然会显示图片,但是会一闪而过的。

  • --save-txt:这里是保存的目标检测对应的标签,以及对象框的信息,如:

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

  • --save-crop:保存裁剪后的预测框的图片:

    使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

  • --save-conf:保存预测的置信度到save-txt制定的txt文件里效果如下:

    使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

    最后添加的0.734整好是预测框的置信度。

  • --visualize:这个关键字就比较有意思了,制定这个关键字,可以可视化detect时每个步骤捕捉到的特征。然后保存在指定的project/name里。比如:
    使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

    由于detect时,使用的是yolov5s的模型结构,在tensorboard中查看这个模型的结构,整好也是ConV[0]-ConV[23]
    使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

首先,查看stage0_Conv_features.png:

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

然后查看一下Covn[0]的结构:

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

是上面方框是吻合的。

  • --augment:增强推理。精确度会上升,但是可能会导致--visualize关键字失效。

    使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

detect.py里就是一个run()以及一个命令行解析函数parse_opt。命令行参数与run中的关键参数就差在连接符上。比如命令行参数exist-ok,而run里对应的关键字参数是`exist_ok

  • 其他参数:后面有研究再更新…

测试一个文件夹里的图片

直接将--source制定为文件夹即可。其他没有任何不同