文章目录[隐藏]
文章内容
:
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@192.168.43.1:8081
”;
即可调用执行。
注意
:命令中的 admin 为我的 IP 摄像头用户名,admin 为我的 IP 摄像头密码,这个可以在IP摄像头 APP 的设置里查看和修改,代码中的要使用自己的用户名、密码。@后面的地址是局域网 IP地址,这个在打开 IP 摄像头服务器之后的界面就能看到,也需要修改为自己的地址。
- 检测效果:
可以看到,成功调用了手机摄像头,并实现目标检测。每帧图片速率大约 0.02 秒左右,检测速度和识别率都很好。
5 总结
这篇文章主要是完成目标检测程序的安装,在 Anaconda 环境下,进行目标检测程序(Yolov5)的下载及安装,实现 Yolov5 的整体安装;通过调用手机摄像头进行简单的目标检测和识别。
以后可以试着自己打标签,训练一些模型用以准确检测识别更多的目标。
文章内容如有问题或疑问,敬请读者指正。
6 参考资料
版权声明:本文为CSDN博主「L -GRAZY」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_58892312/article/details/120923608
暂无评论