本专栏主要是提供一种国产化图像识别的解决方案,专栏中实现了YOLOv5/v8在国产化芯片上的使用部署,并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。
B站配套视频:https://www.bilibili.com/video/BV1or421T74f
YOLOv5的使用
首先通过使用vscode链接远程主机,并且进入docker容器。在开发电脑上第一步选择链接远程主机,第二步启动主机上的docker容器,第三步使用docker插件连接到远程docker容器中。
初次启动时候时候vscode会在远程主机上安装一系列开发环境可能比较慢,等安装完成之后就可以根据情况安装相关控件。注意此时vscode是连接到容器中的,通过左下角和终端可以看出来。
如果按照准备课程操作完成此时执行python detect.py将会在目录中生成runs/detect/exp/bus.jpg代表yolov5已经顺利运行了。
YOLOv5训练(重点、重点、重点)
数据标注
以后在实际项目中会发现很多工作都是在为了训练作准备,所以训练部分必须好好学习。
首先训练我们需要用到一个工具叫做labelimg,同样也可以使用labelimg,这个就看个人使用习惯。我们也会在yolov8的课程中说一下labelme的使用。
在你有界面的电脑上先用conda创建一个虚拟环境,使用python3.8版本,再使用pip安装labelimg。输入labelimg就可以弹出界面了。
conda create -n python38 python=3.8
conda activate python38
pip install labelimg
labelimg
接下来要做四部操作:
1、点击菜单上的查看,将自动保存选项钩上。
2、将数据模式选择yolo,在途中位置多点几下就好。
3、选择打开目录,打开需要标注的图片文件夹。标注之前是不会显示这些框的。
4、选择改变保存目录,这个目录是用来保存标注结果的。通常我们会把需要标注的图片放在images里,将标注结果放在同级目录下的labels里面。
完成上面的设置之后,记住几个快捷键。按W键会进入画框功能,框完目标物之后会选择标签,在没有此标签时候需要新建。下次画框时候就可以直接选择了。D切下一张图片,A切上一张图片。
在完成第一章图片标注后,可以在labels文件夹下看一下,应该会自动生成文件。其中classes.txt中就是你的标签,其他txt就是标注的数据。
此处需要注意:labelimg有一个bug,在关闭labelimg后如果重新打开,选在打开目录后,他会自动加载第一章图片中的classes,比如第一章图片没有标注信息不全,就不会有部分信息,那classes.txt就会被篡改。当打开有其他标注信息的图片时候会直接崩溃。此时可以直接修改classes.txt文件,文件内容就是标签的名字,每个名字独立一行。