YOLOv5桌面应用开发(上)——附源代码

关注并星标

从此不迷路

计算机视觉研究院

afdd5e31557bda15566b01e5ba7c14c0.gif

bea1de29ad14f046bb6070de978c8383.png

公众号IDComputerVisionGzq

学习群扫码在主页获取加入方式

66e5d5e92899a1705687dce9ef1cdeda.png

今天分享的内容来自CSDN——成都_小吴,该同学撰写的一篇关于Yolov5桌面应用的开发工作,有兴趣的同学可以关注CSDN!具体文章链接:

https://blog.csdn.net/qq_52859223/article/details/122982212

计算机视觉研究院专栏

作者:Edison_G

本文主要讲解几个部分,(适合一些在读的研究生啥也不会然后接到一些项目无从下手,如果是大佬的话就可以跳过了)先看看网络摄像头的效果吧(在2060的电脑上运行 )

YoloV5的训练

很多做深度学习的伙伴肯定有跑过一些网上的目标检测开源项目,比如yolo系列,我跑过YOLOv4(VS编译进行对于我这个小白来说比较麻烦),还是YOLOv5使用pycharm在pytorch的环境下进行训练、测试,之类的(此内容只针对小白)。

先从搭建环境开始,首先你要去官网下载anaconda点击此处进入下载教程,就当你已经下载好anaconda了,然后你要下载一个编译器pycharm(简单的来说就是你编写python代码的一个APP),编译器有了现在就要创建一个虚拟环境了(通过anaconda创建一个虚拟环境,在这个环境里面你可以下载很多库模块,比如python—opencv,torch,tensorflow,Pyqt之类的第三方库你才能运行你的深度学习或者你的界面开发)。

如果你是做深度学习的话肯定有一个不错的GPU,我是下载的GPU版本的torch,所以都是以我自身的计算机能力下载相关配置:

# 创建(建议下载3.7我也不是很清楚)
conda create -n env_name python=x.x 
#如果你要创建pytorch环境你可以如下操作(名字可以自己选择)
 conda create -n pytorch python=3.7
# 删除
conda remove -n env_name --all

创建完虚拟环境后你可以在你的anaconda目录下面找到你创建的环境如下图所示:

cdeea23867d46b08146352a7acdea535.png

环境创好了、编译器也下载好了,大家伙不要着急!马上就要去下载YOLOv5的源码(这里面有一个巨大的坑困扰了我几天后面会告诉大家)

直接去GitHub官网下载点击此处下载YOLOV5源码:https://github.com/ultralytics/yolov5

48878df0f42b9e07787c187a9f7cfd02.png

大家可以看到有很多不同的版本,就是在这里困扰了我很久,我自己下载的是V3.0版本的,但是有一个博主的界面设计使用的源码是V4.0,导致后面加载权重死活加载不出来,界面崩溃;所以大家做界面开发一定要用自己的或者跟博主的一样,好了建议你下载V4.0因为我是4.0版本的如果出现什么问题还可以讨论一下。

b5cca2b0882743ca957325ea212f5ea1.png

点击右上角的Code,Download就可以了,然后解压到自己的电脑如下:

679f32601811675f6a33dfc6f3f98e6b.png

好了!源码下载好了之后,开始安装YOLOv5需要的库。开始安装上面的一些库,win+r输入cmd进入终端激活你刚刚创建的环境(因为你以后要使用这个环境把所以的第三方库下进去就完事了)

#激活环境(你自己的环境)
activate pytorch

激活之后就会出现:

223853627cb4d8e3e655b708627fdee1.png

此时你已经进入了环境就可以下载了。如果你要执行

pip install -r requirements.txt

你需要进入源码根目录在路径输入cmd如下:

2692754959a196bd2eb3c370c4b1e46e.png

进入终端后直接输入:(torch,和torchvision先不下载)

pip install -r requirements.txt
#一般情况下都不会成功反正我是这样的所以我是一个一个下载的
#这里忘了告诉大家pip下载是访问外网进行下载所以速度非常慢,加入国内镜像源下载如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib>=3.2.2(默认下载最新版本)

就这样一个一个的下载很笨的方法,gpu-torch官网上可以下载但是对于小白来说很容易失败,或者根本下载不了非常慢,所以我把我的gpu-torch发给大家。我的CUDA版本是11.1(至于cuda是什么我也不解释了自己百度一下就知道了),我会把CUDA、CUDNN、torch,这一套都放在百度网盘:

链接:https://pan.baidu.com/s/15GASd44zuYZXDhrR-bnzbA 

提取码:7eit

CUDA的安装大家可以看一下其他教程,cuda一定要安装在C盘默认位置记住这个位置。

d48da8b4151cbe3a9204d20b1a0b2a4e.png

上图是CUDNN这个很难下载在官网,大家直接在我的网盘里面下载完之后把几个文件夹里面的东西拷贝到CUDA的对应文件夹即可,系统变量一般在安装时会自动添加。这里你的CUDA就安装成功了。

下一步安装torch(这个东西在官网下载非常的慢所以用我的梯子)

93dfb457dd8487eb62b7e51feeb5b9ca.png

大家把torch-1.8.0+cu111-cp37-cp37m-win_amd64.whl和另一个torchvision-0.9.0+cu111-cp37-cp37m-win_amd64.whl解压到你刚刚创建的环境里面,解压好之后在路径输入CMD进入终端,进入终端后:

pip install torch-1.8.0+cu111-cp37-cp37m-win_amd64.whl
pip install torchvision-0.9.0+cu111-cp37-cp37m-win_amd64.whl

等待几分钟就会下载好,在你的:

1da1a4058cf365b979d2a934144a2ffe.png

这里面基本都是你以后下载的所以三方库!可以测试一下你的gpu-torch是否可以调用:

#进入你的环境
activate pytorch
#输入
python
import torch
torch.cuda.is_available()
#如果输出的结果是
Ture(表示你安装成功了)

如果没什么大问题我们就可以直接进入pycharm运行yolov5代码试一试!点击file-open打开项目点击我们刚刚下载的YOLOv5源码的文件:

915ae8a1cadb96a8164a657aafcedc1f.png

大家像这种都保存在英文路径下。导入我们刚刚的环境点击file-setting-projict-python编译器-点击设置就进入到此界面,然后点击conda-environment

25b79a64d99dc25a6b4254560f5988c3.png

bad2d616a18021b16664c97cb313e714.png

等待几分钟让他配置环境。完成之后就可以进行测试了,运行detect.py,设置device=0

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--weights', nargs='+', type=str, default='yolov5s.pt', help='model.pt path(s)')
    parser.add_argument('--source', type=str, default='data/images', help='source')  # file/folder, 0 for webcam
    parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
    parser.add_argument('--conf-thres', type=float, default=0.25, help='object confidence threshold')
    parser.add_argument('--iou-thres', type=float, default=0.45, help='IOU threshold for NMS')
    parser.add_argument('--device', default='0', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
    parser.add_argument('--view-img', action='store_true', help='display results')

好的在意料之中:报错了,没有YOLOV5S.pt权重文件,大家可以在网上下载V4.0的。

a4c3cc0dac2167c5cbdb2bcbb5e5431c.png

下载好你的权重文件放在根目录,如果没有问题的话就像下面这样:

b51325139ccd128dace5e84dfb5afe0b.png

恭喜你你已经入门了!(关于如何训练自己的权重文件网上有很多教程直接进入下一个板块)。

感谢大家的阅读和关注,下一期我们一起来进行yolov5的界面开发(Pyqt5)将整个项目打包成EXE

© THE END 

转载请联系本公众号获得授权

9085df425c7d9b952a4e5aae71ca71ea.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

fbd0546dec7a557323b00120d987a7b8.png

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 基于yolov5的双目测距是计算物体在实际场景中的距离的一种方法。它通过使用两个摄像头进行立体视觉,利用深度信息进行测距。 首先,我们需要安装yolov5库并加载预训练模型。预训练模型是在大型数据集上进行训练的,可以识别多种物体。 接下来,我们需要配置双目视觉系统。这包括设置两个摄像头的参数,如焦距、视差等。这些参数将用于计算深度信息。 然后,我们需要使用yolov5模型对图像进行目标检测。这可以通过在双目图像上运行模型来实现。模型将返回每个目标的位置和类别信息。 接下来,我们将使用立体视觉算法根据摄像头的参数和目标在双目图像中的位置来计算目标的深度信息。这可以通过计算视差(左右图像中目标的像素差)来实现。 最后,我们可以根据深度信息计算目标在实际场景中的距离。这可以通过将视差转换为实际距离来实现,具体方法取决于我们选择的立体视觉算法。 综上所述,基于yolov5的双目测距涉及安装yolov5库、加载预训练模型、配置双目视觉系统、目标检测、深度计算和距离计算等步骤。这种方法可以在实际应用中用于测量物体距离,例如自动驾驶、机器人导航等领域。 ### 回答2: 基于Yolov5的双目测距涉及使用Yolov5目标检测算法对图像中的目标进行检测,然后通过双目立体视觉技术计算目标物体与摄像头的距离。以下是对该过程的代码讲解。 首先,需要安装Yolov5Python包。可以使用pip install yolov5命令在终端中安装。然后导入必要的库文件,如torch、cv2和numpy。 接下来,加载预训练的Yolov5模型,可以使用torch.hub.load函数加载yolov5s模型。加载模型后,可以通过model.names获取模型中的类别标签。 然后,使用cv2.VideoCapture打开摄像头,并进入循环,读取每一帧图像。对于每一帧图像,先将其转换为tensor格式,然后通过模型进行目标检测。可以使用model(img)函数获取检测结果。检测结果是一个列表,列表中的每个元素代表一个检测到的目标,包含目标的边界框位置、置信度和类别标签。 接下来,可以根据目标检测结果,使用双目立体视觉算法计算目标与摄像头的距离。首先需要标定摄像头,获取相机的内参和外参。然后,通过目标的边界框位置,计算目标在图像中的深度。具体的计算方法可以使用三角测距或基于视差的方法。 最后,可以将距离信息添加到目标的边界框上,并将图像展示出来。可以使用cv2.putText函数将距离信息添加到图像上。 需要注意的是,双目测距需要摄像头的立体视觉拍摄,同时还需要进行摄像头的标定。另外,在进行深度计算时,还需要确保目标物体在左右摄像头的视野中有重叠区域。 以上是基于Yolov5的双目测距的代码讲解,通过目标检测和双目立体视觉算法,可以实现对目标物体与摄像头的距离测量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值