模型训练
在开始之前,一定确保k210中已烧录较新的maxipy固件,资料中也有
数据集准备
图片格式处理
新建一个文件夹,在该文件夹里创建一个名num的文件夹(该文件夹命名随意):
在num文件夹中创建images文件夹(必须是该名称):
将准备的图片复制到该images文件夹中:
在资料中找到该图片处理工具,需要将图片转为224大小,打开该工具:
确保这里的输出图片大小为224,接着选择图片文件夹开始转换,选择刚刚存放图片的images文件夹:
转换完成后:
在原本的images文件夹下会出现一个新文件夹(images_out):
images_out中就是处理好的224大小的图片,我们需要将原来的images文件夹删除,并将out文件重命名为images文件:
至此,图片格式处理完毕
标注训练集
在标注训练集之前,需要在num文件夹下创建新文件夹xml和文本文件labels,必须是这两个名称。现在开始标签图片:
运行标注工具:
(如果一打开就闪退,那是中文路径的问题,把它拖到纯英文路径地方即可正常使用)
点击open dir,选择要标注的文件夹:选择images文件夹
点击change save dir,选择保存的地方,选择之前创建的xml文件夹:
打开自动保存,也就是你标注之后就软件会自动保存
切换到英语输入,可以使用快捷键,主要用到W和D,W开启框选,D则是下一张:按下W,进入框选,按住鼠标左键拖动,选中对应范围。
标签标注为1,ok
然后按D切换下一张,重复此操作,知道无可切换图片。这时打开xml文件夹就能看到处理好的xml文件,标注好的图片是以xml为后缀文件。
接着,这个项目这边只是识别一个数字1,所以也就一个标签1,这个标签要写在labels文本文件中,labels相当于就是用于存放标签名字,如果好几个标签,就一行写一个。
maxhub网站使用
接下来到了模型训练的步骤,打开maxhub网站,地址:
https://maixhub.com/home
未注册的注册,很简单
点击模型训练:新建训练
创建数据集
导入数据集
将我们刚刚的num文件夹压缩,选择num压缩包,并开始上传:
创建任务:k210一定要选nncase!
训练完成,有时需要排队,耐心等待
下载模型,这里是演示了一遍,未认真处理,准确率很低
模型部署至K210
将下载下来的压缩文件解压,将三个文件都放入SD卡中,其实放一个komdel文件就行。
将SD卡插上K210,然后用Maixpy IDE运行这个main.py即可
效果图:
参考b站一个视频:【[教程]从0自制模型,实现多物体识别(以k210多数字识别举例)】 https://www.bilibili.com/video/BV13G411V7jd/?share_source=copy_web&vd_source=4d84f07cf9b4e331ed12b31fc1240391
链接:https://pan.baidu.com/s/1IxUKV3V2dA1grawSaTXZGA?pwd=1111
提取码:1111