yolov5模型结构(yolov3模型训练并部署到K210(零基础也可))
1.yolov3模型训练
2.部署到K210
文章有点长 ,是因为很细节 。
首先建一个新文件夹(要以英文命名)再在文件夹中建如下两个文件夹(images是用来放原照片的 ,xml是用来放标志后的照片的) 。
将要识别的照片原照片放到images文件夹 ,然后先不要急着去标注 ,打开yolov3,在工具集中找到
打开后按照片中如下操作
然后点击开始下载 ,看到如下就是下载成功了
至于为什么这样呢
是因为K210上识别的照片模式是240x240,我们找到照片不全是这个格式 ,所以要转换才能更好的识别 。训练效果才更好 ,同样照片集越多 ,识别越准 。
然后回到images文件夹中你会发现出现了数量一样的jpg照片 ,这些就是224x224格式的照片,当然原来的照片也在 ,你可以删掉 ,也可以放到另一个文件夹,但就是不能放在images上了(不知道哪些是标注后的可以看时间 ,时间新的就是标注后的) 。
还有一步很重要就是要点开转换后的照片看是否有空白的照片(可以在文件夹上方点击查看模式 ,方便查看),有的话就得全删掉(因为标志照片xml与images上的是一一对应的 ,不删的话 ,那些空白照片标志不了 ,会导致训练不了) 。
如下
完成这一步就可以开始标注了
同样在工具集中找到如下工具
然后按下图所示一步步操作
change save Dir 是保存标注照片的地方 。
然后
最后按如下步骤去标注 ,框要包住整个物体 ,刚刚包过是最好的 。
一直标注完到最后一张照片就可以了 。
然后再打开xml文件夹就可以看到如下
这时候就可以去训练了
按下图步骤
第一次训练是有点久的 ,慢慢等待 ,然后训练完会自动弹出一个文件夹。如下
将里面的所有文件复制到car文件夹的Train_date里 (有没有发现文件里多了好多文件 ,这些都是自动生成的) 。
复制完成后是这样的 。
然后就可以测试模型了
按下图步骤
然后等待一会就会出现以下界面
这就表示测试完成了。(有一张图未识别出来 ,原因可能是照片数量太少,好的数据集大几千张 ,也可能是测试次数少) 。
接下来就是部署到K210上了
因为K210上的文件形式是.kmodel,而训练完的模型文件的是.tflite 所以要转换 。
按下图操作
然后点击转换 ,等待转换成功。打开文件夹中的Train_date中就会找到如下文件
接下来再新建一个文件夹
如下图,将下面的三个文件拖到新的文件夹(K210_car) 。
然后按如下路径在yolov3文件夹中找到
同样放到新建文件夹总(也可以不放 ,只是为了方便管理)
最后就将这些文件复制到你的SD卡中(也可以不用SD卡 ,下面再说)
然后将SD卡插入K210上,打开上图的boot.py 文件 ,就可以连接上机了
还需要按如下修改代码中的文件位置 。
(下图中的labels,不是与下面的对应就行 ,也要跟你放进SD卡中的文件名称一样)
修改后记得点保存 ,然后就可以运行了 。
识别不是很准确 ,也是因为数据集不够大(有时能识别到(很难) ,有时识别不到) ,也有灯光的原因 ,所以我换了成了yolov3中带的mask数据集进行测试可以看到以下结果
这就很稳定的识别出来了 。到这你就再K210上成功了一大步 。
那就来说说没SD卡的 ,这就得把模型包烧录到K210上了(建议还是用SD卡)
首先你得到Sipeed找到下面的固件并下载
然后再在kflash_gui.exe上烧录到K210的固件上 ,如下图
串口要选对,然后就是可以下载了 。
然后再将.kmodel文件下载到K210上 ,如下(地址一定不要错 ,因为前面的是固件的地址)
然后就可以打开boot.py了,但是要修改以下地方(这里就以mask的为例)
可以在新建文件夹中找到这些数据复制过来就行了 。
不懂这些函数的可以去Sipped 上学习 。
然后就可以运行了 。
文章到此就结束 ,这只是个人学习的记录分享 ,如有错误,请路过的大佬指导指导。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!