【YOLO】目标检测第二步——利用yolov5源码实现预测

1. 源码下载

去哪里下?怎么下?怎么打开?

  • 去哪里下
    yolov5的源码放在Github上,Github可能存在打不开的情况,因此有个国内版的,叫Gitee。
    在Github上搜索栏里搜索“yolov5”,出现的第一条就是官方源码仓库
    在这里插入图片描述

  • 怎么下
    首先选择版本信息
    在这里插入图片描述
    再点击下载
    在这里插入图片描述

  • 怎么打开
    打开第一步下载好的IDE打开文件即可,我打开的pycharm。

2. yolov5的README.md解读

我将.md格式的文件转为pdf,在pad上用MarginNote3上进行标注,导入的pdf格式上有些出入。
我进行标注的文件上传到了我的资源中,或是查看我的参考链接:目标检测 YOLOv5 开源代码项目调试与讲解实战【土堆 x 布尔艺数】

3. 进行预测

在pycharm找到"detect.py"文件,并打开。

3.1 检测或修改解释器

选择好在环境配置过程中利用Anaconda配置好的环境
在这里插入图片描述

3.2 环境和依赖的安装

在运行"detect.py"文件之前,先找到一个"requirement.txt"的文件,这个文件介绍了所需要的库以及库的版本,在pycharm的终端上输入就可以完成对所需库的安装。

pip install -r  pip install -r yolov5-master/requirements.txt

3.3 其他问题的解决

报错 解决
Downloading https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt to yolov5s.pt…之后出现一大堆报错 官方下载”yolo5s.pt"放入yolov5-master文件夹下
Can’t get attribute ‘SPPF’ on <module ‘models.common’ from… AttributeError: Cant get attribute SPPF on module models.common from e:\pyWorkSpace\yolov5
UserWarning: torch.meshgrid: in an upcoming release,… 感觉是由于pytorch版本的问题,未解决

4.detect.py中opt模型主要参数解析

def parse_opt():
    parser = argparse.ArgumentParser()
 """
    '--weights'# 权重参数,可以设置权重参数的路径
    '--source' # 需检测文件的路径
    '--imgsz', '--img', '--img-size' # 在处理过程中的图像尺寸,不同权重参数推荐的也不同,以“6”为结尾的权重推荐设置为1280
    '--conf-thres' # 置信度阈值,越大标注框越少
    '--iou-thres' # 交并比阈值,越大所得的重叠框越多
    '--max-det' # 每张图像最大的检测目标
    '--device' # 所用设备,如CPU或GPU,程序为自动选择
  ->'--view-img' # 指定这个参数,将实时显示图像
  ->'--save-txt' # 保存txt的文件
  ->'--save-conf' # 保存置信度信息
  ->'--save-crop' #
  ->'--nosave' # 不保存
    '--classes' # 类别,可以指定附值指定显示某个类别
  ->'--agnostic-nms' # 增强nms
  ->'--augment' # 增强nms
  ->'--visualize' # 可视化特征
  ->'--update'
    '--project' #项目保存的路径
    '--name' # 项目保存路径下的文件夹名
  ->'--exist-ok' # 若设置该参数,则在相同文件夹下生成文件
    '--line-thickness' # 标注狂的厚度
    '--hide-labels' # 隐藏标签
    '--hide-conf' # 隐藏置信度
  ->'--half'
  ->'--dnn'
"""
    opt = parser.parse_args()
    opt.imgsz *= 2 if len(opt.imgsz) == 1 else 1  # expand
    print_args(FILE.stem, opt)
    return opt

在上方代码中,参数前面标注"->“代表的需要标注的参数,具体实现方式为:点击右上角”detect”,编辑配置,在图片圈出的Parameters添加参数
在这里插入图片描述

  • 检测视频类型
  1. 在data文件夹下新建一个video文件夹;
  2. 将视频数据放入该文件夹;
  3. 在“detect.py的第207行,修改default里的内容,修改为:parser.add_argument('--source', type=str, default=ROOT / 'data/video', help='file/dir/URL/glob, 0 for webcam')
  • 只显示person类型
  1. detect.py第218行添加参数”–classes",即可指定需要显示的类型: parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --classes 0, or --classes 0 2 3')
  2. 找到person指定的类别,在data文件夹下,查看了几个.yaml文件,发现person都被安排在第一个,我就用0试了一下;
  3. 点击右上角的“detect",Edit Configuration,在Parameters中输入”–classes 0"

参考链接

目标检测 YOLOv5 开源代码项目调试与讲解实战【土堆 x 布尔艺数】

版权声明:本文为CSDN博主「橙橙小狸猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42442319/article/details/121377829

橙橙小狸猫

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

目标检测入坑指南3:VGGNet神经网络

学了蛮久的目标检测了,但是有好多细节总是忘或者模棱两可,感觉有必要写博客记录一下学习笔记和一些心得,既可以加深印象又可以方便他人。博客内容集成自各大学习资源,所以图片也就不加水印了&#xf