Yolov5 安装详细教程及目标检测和识别

文章内容
1.在 Anaconda 环境下,进行目标检测程序(Yolov5)的下载及安装,实现 Yolov5 的整体安装;
2.通过调用手机摄像头进行简单的目标检测和识别。

1 任务目标

  • 实现目标检测程序的下载及安装,了解目标检测程序的开发过程和环境;
  • 完成简单的目标检测,掌握移动 IP 摄像头对目标场景的检测方法。

2 任务环境

  • 设备:PC( Windows系统 )、手机
  • 环境:Anaconda 环境
    安装 Anaconda 环境并新建虚拟环境可以移步到我的另一条博文:Python 环境资源配置

3 Yolov5 下载安装

3.1 下载 Yolov5

在下载配置 Yolov5 之前,需要先安装好 Anaconda 环境,新建虚拟环境,并进入。

  • 这里我之前已经创建好了名为“ PyCharmLearningProject ”的虚拟环境。(名字不重要)

  • 通过“win+R”进入命令提示符

  • 输入命令“ activate PyCharmLearningProject ”进入虚拟环境
    在这里插入图片描述

  • 下载 Yolov5 源码
    Yolov5 Github下载地址:https://github.com/ultralytics/yolov5
    在这里插入图片描述
    直接 git clone 到本地工作目录。

  • 在刚才的命令窗口输入命令:
    git clone https: //github.com/ultralytics/yolov5 ”,
    等待下载完成。
    在这里插入图片描述

  • 下载后可以看到目录架构:
    在这里插入图片描述

3.2 下载 Yolov5 预训练模型

这是已经训练好的权重参数数据,可以直接使用,就不用在本机再做练习了。

  • 进入下载地址:https://github.com/ultralytics/yolov5/releases
    可以看到如下界面:
    在这里插入图片描述

  • 找到最新的 release ,点击下面的 Assets 下载 .pt模型文件。
    其中,yolov5 共有四种模型:yolov5s、yolov5m、yolov5l、yolov5x。其中 yolov5s 目标检测速度最快,因为其网络参数最少,但相应的,检测效果相比是最差的;而 yolov5x 是检测效果最好的,参数最多,而时间上最慢。
    可以根据需要选择模型文件下载到 yolov5 源目录。
    在这里插入图片描述

  • 下载完可以看到,我选择了四个都下载到了 yolov5 目录下。如下:
    在这里插入图片描述

注意:在之后通过 detect.py 对图像进行目标检测的实际操作时,detect.py 默认使用同目录下的 yolov5s.pt 模型,如果想用其他的模型,可以在命令里加入调用来指定。

3.3 安装Yolov5

源码下完后,下面开始安装Yolov5所需模块。

  • 先在命令行里打开 yolov5 目录
    输入:“cd yolov5
    在这里插入图片描述
  • 接着在命令行里,
    输入“pip install -r requirements.txt”,等待安装完成即可。(pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 命令会更快!!)
  • 由于 requirements.txt 依赖包里默认安装的 pytorch-cpu 版,如果有 cuda 可以安装 pytorch-gpu 版:https://pytorch.org/get-started/locally/ , 提升速度。
    在官网里下载 pytorch-gpu 速度会比较慢,快速下载具体操作可以参考这篇博客:安装Torch GPU版本

注意:这里我们最好安装 GPU 版本。亲测发现使用 GPU 版大大提升了运行速率,相比于 CPU ,GPU 对视频的检测速率提升了近10倍!(不同设备的运行速率可能不同)

在这里插入图片描述
将下面的命令在命令行输入执行即可完成安装 torch 的 GPU 版本。

到这里,Yolov5 就全部安装完成。

4 测试 Yolov5

4.1 图片检测

  • 在目录里准备好图片
    在这里插入图片描述
  • 通过 detect.py 对图像进行目标检测:
python detect.py --source ./data/images/1.jpg

在这里插入图片描述
可以看到处理时间只有 0.03 s。
结果可以再“ yolov5\runs\detect ”里找到
在这里插入图片描述

  • 对比效果如下:
    在这里插入图片描述

4.2 视频检测

  • 在目录里准备好图片
    在这里插入图片描述
  • 通过 detect.py 对视频进行目标检测:
python detect.py --source data/video/luhan.mp4

在这里插入图片描述
可以看到处理时间只有 0.01 s左右。
结果可以再“ yolov5\runs\detect ”里找到

在这里插入图片描述

  • 效果如下:

在这里插入图片描述
检测出的视频效果还是可以的,清晰度也是有的,只是我这里上传的是压缩之后的动图,看起来有些模糊。

4.3 调用摄像头检测

  • 使用本机摄像头检测
    输入命令:
python detect.py --source 0

在这里插入图片描述
可以看到处理时间只有 0.02 s左右。
结果可以再“ yolov5\runs\detect ”里找到。

4.4 调用手机 IP 摄像头检测

  • 手机上的准备:
    在手机上下载 IP 摄像头,并安装。
    安装步骤具体可以移步到我的另一篇博客:Python+OpenCV 调用手机摄像头并实现人脸识别。这里不再赘述。

  • 在命令行进入虚拟环境:PyCharmLearningProject
    进入 yolov5 目录,输入:“cd yolov5
    在这里插入图片描述

  • 调用手机摄像头
    命令行输入:
    python detect.py --source http://admin:admin@xxx.xxx.xx.x:xxxx”;
    即可调用执行。

注意:命令中的 admin 为我的 IP 摄像头用户名,admin 为我的 IP 摄像头密码,这个可以在IP摄像头 APP 的设置里查看和修改,代码中的要使用自己的用户名、密码。@后面的地址是局域网 IP地址,这个在打开 IP 摄像头服务器之后的界面就能看到,也需要修改为自己的地址。

  • 检测效果:
    在这里插入图片描述
    可以看到,成功调用了手机摄像头,并实现目标检测。每帧图片速率大约 0.02 秒左右,检测速度和识别率都很好。

5 总结

这篇文章主要是完成目标检测程序的安装,在 Anaconda 环境下,进行目标检测程序(Yolov5)的下载及安装,实现 Yolov5 的整体安装;通过调用手机摄像头进行简单的目标检测和识别。
以后可以试着自己打标签,训练一些模型用以准确检测识别更多的目标。
文章内容如有问题或疑问,敬请读者指正。

6 参考资料

半小时搞定Yolov5安装配置及使用(详细过程)

Yolov5 是一种基于深度学习的目标检测算法,其识别流程大致如下: 1. 数据准备:收集并标注训练数据集,包括图像和对应的标注框信息。 2. 模型选择:选择合适的 Yolov5 模型进行训练和推理。Yolov5 有不同的变种,如 Yolov5s、Yolov5m、Yolov5l 和 Yolov5x,可以根据实际需求选择合适的模型大小。 3. 模型训练:使用准备好的训练数据集对选定的 Yolov5 模型进行训练。这一步通常需要大量的计算资源和时间。 4. 推理过程: a. 输入图像:将待检测的图像输入到 Yolov5 模型中。 b. 特征提取:通过卷积网络对输入图像进行特征提取,得到一系列特征图。 c. Anchor Boxes 设置:预定义一些 Anchor Boxes,用于表示不同尺度和比例的目标物体。 d. 边界框预测:对每个特征图中的每个单元格,预测多个边界框,并计算它们与 Anchor Boxes 的匹配程度(使用 IoU 等指标)。 e. 类别预测:对每个边界框,预测目标物体的类别。 f. NMS(非极大值抑制):根据预测的边界框置信度和类别概率,通过非极大值抑制算法筛选出最终的检测结果。 5. 输出结果:输出经过筛选后的检测结果,包括每个检测框的位置、类别和置信度。 需要注意的是,Yolov5 是一种实时目标检测算法,具有较快的推理速度和较高的准确性。但在实际应用中,可能需要根据具体需求对其进行调优和适配。
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值