Hallo,大家好啊!之前出过几篇文章关于Yolov5的,不得不说Yolov5的识别率真的很高,对个体检测很有帮助,如果大家训练完之后会发现获得一个pt文件,这就是训练好的模型。但是,这个模型只能够在自己的笔记本上运行,那工厂里面要检测零件什么的,不可能抱着个笔记本电脑啊!所以,需要把这个模型移植到树莓派中,利用树莓派的摄像头进行检测。听起来挺简单的,但是操作起来就会有各种各样的问题,这也是本篇博客的由来,记录移植Yolov5遇到的各种问题,以及这些问题的解决办法,希望对你有帮助!
目录
一、环境配置出错
想要正常运行起来Yolov5,有两个库我们必须要安装——opencv和Pytorch,树莓派32位操作系统安装opencv非常麻烦,甚至安装不上Pytorch,所以再安装时一定要选择树莓派64位的操作系统,烧录工具选择win32就可以,64的操作系统链接我放在下面,需要的朋友自己获取:链接:https://pan.baidu.com/s/13JNTom_Da3_5vEm5d05DMw?pwd=1mr9 提取码:1mr9。
然后在烧录的时候一定要记得先把SD卡格式化,要不然会报下面的错误:
先将SD卡格式化! 先将SD卡格式化! 先将SD卡格式化! 重要的事情说三遍 。
之后正常开启,正常配置就行,注意一下,到那个软件更新的页面直接跳过,因为树莓派默认是在国外的网站上更新,速度非常慢,所以我们先跳过,之后如果有需要的话,我们更新镜像源再安装,这样速度会快很多。
二、开启摄像头出错
连接上摄像头后发现VNC连不上了,出现下面界面:
解决方案:修改config.txt文件
sudo nano /boot/config.txt
修改 hdmi_force_hotplug 参数,将 # 去掉(文件21行左右)
三、调用摄像头出错
使用下面指令调用摄像头报错:
python3 detect.py --weight best.pt --source 0
可能是摄像头没有安装好:
csi的摄像头蓝色胶带那一端要靠近usb接口那里,方向千万不能弄错了。运行下列指令查看当前摄像头是否可用:
vcgencmd get_camera
当看到supported=1 detected=1,就说明摄像头已经安装成功了,接下来我们在运行之前的 python3 detect.py --weight best.pt --source 0发现就能够正确调用摄像头进行检测啦!!!
四、总结
好啦!到这里我的树莓派就能够正常通过文件来识别物体啦!今天算是从无到有,早上起床从拍数据集开始,到标记数据集,训练模型,一直训练到下午才完成。虽然都是电脑再跑程序,自己跑去看电影了,哈哈哈。一直跑到下午四点多才跑完,晚上移植到树莓派上面,还算是比较顺利的,虽然也遇到了不少问题但都一一解决了,只要最终达成目标就好了!今天也算是收获满满!如果觉得对你有帮助,不要忘了点个赞哦!有任何问题都欢迎私信或者评论区联系博主!