yolov3模型训练并部署到K210(零基础也可)

1.yolov3模型训练

2.部署到K210

文章有点长,是因为很细节。

首先建一个新文件夹(要以英文命名)再在文件夹中建如下两个文件夹(images是用来放原照片的,xml是用来放标志后的照片的)。

yolov3模型训练并部署到K210(零基础也可)_第1张图片 将要识别的照片原照片放到images文件夹,然后先不要急着去标注,打开yolov3,在工具集中找到

yolov3模型训练并部署到K210(零基础也可)_第2张图片

打开后按照片中如下操作

 yolov3模型训练并部署到K210(零基础也可)_第3张图片

然后点击开始下载,看到如下就是下载成功了

yolov3模型训练并部署到K210(零基础也可)_第4张图片至于为什么这样呢

是因为K210上识别的照片模式是240x240,我们找到照片不全是这个格式,所以要转换才能更好的识别。训练效果才更好,同样照片集越多,识别越准。 

然后回到images文件夹中你会发现出现了数量一样的jpg照片,这些就是224x224格式的照片,当然原来的照片也在,你可以删掉,也可以放到另一个文件夹,但就是不能放在images上了(不知道哪些是标注后的可以看时间,时间新的就是标注后的)。

yolov3模型训练并部署到K210(零基础也可)_第5张图片还有一步很重要就是要点开转换后的照片看是否有空白的照片(可以在文件夹上方点击查看模式,方便查看),有的话就得全删掉(因为标志照片xml与images上的是一一对应的,不删的话,那些空白照片标志不了,会导致训练不了)。

如下 

 yolov3模型训练并部署到K210(零基础也可)_第6张图片

 

 完成这一步就可以开始标注了

同样在工具集中找到如下工具

 

yolov3模型训练并部署到K210(零基础也可)_第7张图片然后按下图所示一步步操作

 yolov3模型训练并部署到K210(零基础也可)_第8张图片

change save Dir 是保存标注照片的地方。

然后

yolov3模型训练并部署到K210(零基础也可)_第9张图片最后按如下步骤去标注,框要包住整个物体,刚刚包过是最好的。 yolov3模型训练并部署到K210(零基础也可)_第10张图片

 一直标注完到最后一张照片就可以了。

 然后再打开xml文件夹就可以看到如下

yolov3模型训练并部署到K210(零基础也可)_第11张图片

 这时候就可以去训练了

按下图步骤 

yolov3模型训练并部署到K210(零基础也可)_第12张图片第一次训练是有点久的,慢慢等待,然后训练完会自动弹出一个文件夹。如下

yolov3模型训练并部署到K210(零基础也可)_第13张图片

将里面的所有文件复制到car文件夹的Train_date里 (有没有发现文件里多了好多文件,这些都是自动生成的)。

 yolov3模型训练并部署到K210(零基础也可)_第14张图片

 复制完成后是这样的。yolov3模型训练并部署到K210(零基础也可)_第15张图片

 然后就可以测试模型了

按下图步骤

yolov3模型训练并部署到K210(零基础也可)_第16张图片

然后等待一会就会出现以下界面

yolov3模型训练并部署到K210(零基础也可)_第17张图片

 这就表示测试完成了。(有一张图未识别出来,原因可能是照片数量太少,好的数据集大几千张,也可能是测试次数少)。

接下来就是部署到K210上了

因为K210上的文件形式是.kmodel,而训练完的模型文件的是.tflite 所以要转换。

按下图操作

yolov3模型训练并部署到K210(零基础也可)_第18张图片

yolov3模型训练并部署到K210(零基础也可)_第19张图片

yolov3模型训练并部署到K210(零基础也可)_第20张图片

然后点击转换,等待转换成功。打开文件夹中的Train_date中就会找到如下文件

yolov3模型训练并部署到K210(零基础也可)_第21张图片接下来再新建一个文件夹

如下图,将下面的三个文件拖到新的文件夹(K210_car)。 

 yolov3模型训练并部署到K210(零基础也可)_第22张图片

 然后按如下路径在yolov3文件夹中找到

yolov3模型训练并部署到K210(零基础也可)_第23张图片

同样放到新建文件夹总(也可以不放,只是为了方便管理)

最后就将这些文件复制到你的SD卡中(也可以不用SD卡,下面再说)

然后将SD卡插入K210上,打开上图的boot.py 文件,就可以连接上机了

还需要按如下修改代码中的文件位置。

 (下图中的labels,不是与下面的对应就行,也要跟你放进SD卡中的文件名称一样)

yolov3模型训练并部署到K210(零基础也可)_第24张图片

修改后记得点保存,然后就可以运行了。

yolov3模型训练并部署到K210(零基础也可)_第25张图片

 识别不是很准确,也是因为数据集不够大(有时能识别到(很难),有时识别不到),也有灯光的原因,所以我换了成了yolov3中带的mask数据集进行测试可以看到以下结果

yolov3模型训练并部署到K210(零基础也可)_第26张图片

 这就很稳定的识别出来了。到这你就再K210上成功了一大步。

 

 

那就来说说没SD卡的,这就得把模型包烧录到K210上了(建议还是用SD卡)

首先你得到Sipeed找到下面的固件并下载

yolov3模型训练并部署到K210(零基础也可)_第27张图片

然后再在kflash_gui.exe上烧录到K210的固件上,如下图

 yolov3模型训练并部署到K210(零基础也可)_第28张图片

串口要选对,然后就是可以下载了。 

 然后再将.kmodel文件下载到K210上,如下(地址一定不要错,因为前面的是固件的地址)

yolov3模型训练并部署到K210(零基础也可)_第29张图片

 然后就可以打开boot.py了,但是要修改以下地方(这里就以mask的为例)

yolov3模型训练并部署到K210(零基础也可)_第30张图片

 可以在新建文件夹中找到这些数据复制过来就行了。

不懂这些函数的可以去Sipped 上学习。

然后就可以运行了。

文章到此就结束,这只是个人学习的记录分享,如有错误,请路过的大佬指导指导。

 

 

 

 

 

你可能感兴趣的:(深度学习,人工智能,视觉检测)