yolov5调用电脑摄像头和识别本地图片或视频
书接上文,yolov5环境搭建(Windows下cpu训练)-CSDN博客 完成后,尝试调用电脑摄像头实现动态识别或者识别本地图片或视频,方法非常简单。
一.调用电脑摄像头
1.复制使用模型路径
在上文中,train.py运行完成后,打开yolov5\runs\train,找到最新的exp前缀的文件夹,我的在exp2
一个best.pt和一个last.pt,这两个文件就是我们训练得到的模型。
best.pt 和 last.pt 是在训练深度学习模型时保存的两个不同的模型文件。
last.pt 包含最后一次训练迭代的模型参数。
在训练期间,每次完成一次迭代时,模型参数都会被保存在 last.pt 文件中。因此,当使用 last.pt 文件时,将得到最后一次训练迭代的模型。 best.pt 包含在整个训练过程中获得最佳性能的模型参数。通常,这是在验证集上达到最佳性能的模型。保存最佳模型的方法是在每次完成验证集上的迭代时,如果获得了更好的性能,则将模型参数保存到 best.pt 文件中。因此,当使用 best.pt 文件时,将得到整个训练过程中性能最佳的模型。 在应用深度学习模型时,通常建议使用 best.pt 文件,因为它提供了整个训练过程中性能最佳的模型。但是,如果仅仅希望继续训练模型,则可以使用 last.pt 文件。(以上摘自大佬的学习总结,原文如下)【学习总结】win10下yolov5使用GPU训练自己的模型,同时调用网络摄像头识别目标、学习指南与踩坑经验_用gup训练需要安装哪些软件-CSDN博客
此处用作练习可以任意选取一个模型,复制其路径
2.修改使用模型并调用摄像头
打开detect.py文件,找到parse_opt()函数,修改weights和sourse
修改 --weights 为 runs/train/exp2/weights/last.pt 修改使用模型的位置,这里我们使用last.pt模型
修改 --source 为 0 修改调用摄像头0,如果有多个可以改1、2、3
运行detect.py,运行成功,不过识别效果一般,训练集(coco128)和权重文件的问题,后续可以改进。
二.识别本地图片或视频
同样,打开detect.py文件
修改 --weights 为 runs/train/exp2/weights/last.pt 修改使用模型的位置
当识别文件夹里的图片,修改 --source 为 mydata/images/test 识别相对路径里mydata/images/test里我们放的测试集里所有图片
如果识别单个视频或图片,修改 --source 为 video\test.mp4 识别相对路径video/test.mp4 识别mp4视频文件
这里我选择本地的单个图片,复制文件地址(复制本地文件的路径后记得将 \ 修改为 / ),否则读取失败。
改好后运行detect.py,运行结果在exp3中。








