不眠者②队:国电F题省一,数字识别(神经网络训练),开源

269 阅读3分钟

这是我们兄弟队伍的作品,同样获得省一等奖,在我们的争取下,源码也开源啦!!!\

目录

前言

  Openmv使用Edgeimpluse在线训练神经网络进行识别数字1-8(必须是openmv 4Plus)
对于很多只想要做神经网络识别的功能的人来说,从零到有要花费很大的学习成本,但是又想在短时间内实现理想的功能的朋友,OpenMV无疑为我们提供了一个很好的平台。

附上网址:edgeimpulse.com
注意:本文章严禁未授权转载;所属源码,除本团队外,禁止销售。如有发现,可向我们举报。
在这里插入图片描述

1.采集数据集

首先创建一个空文件夹,然后打开OpenMV IDE进行数据集的创建数据集
在这里插入图片描述
创建完成后左边状态栏会出现数据编辑器,为数据集创建标签类,在相应的类文件放入相应的数字,再点击想存取相应数字的文件,不点可能数字1收集完,创建数字2的文件,但是拍照还是存储在数字1的文件。(采集图片建议各个角度、距离、及位置都拍到且拍数字全)在这里插入图片描述

2.上传至Edgeimpluse进行训练

注册完找到Data acquisition,然后找到Upload existing data,如果第一次上传那就看这个图标上传(通过IDE里的API线上传图片没成功过,所以手动传输)在这里插入图片描述
选择训练的图片,默认是80%照片用来训练及20%用来测试(推荐),其次是全部用来训练以及全部用来测试
下面Enter label一定要手动填,这里我选择的是数字1的照片,所以标签名给1,其他数字以此类推在这里插入图片描述
完成上传之后找到Impluse design照片的属性,第一个图片大小默认96*96
第二个我们训练的类型是图片,所以选择Image就行;之前我们对数据集进行了分类,所以默认选择迁移学习
第四个是训练完成后生成的标签集,点击Save impluse就可
在这里插入图片描述
点击左侧的image进行选择图片训练完的模式,默认RGB,但这里我们识别的是单色的数字,所以使用灰度图像模式(如果识别有无戴口罩或者垃圾分类等建议RGB),保存模式

在这里插入图片描述
选完接着点击上方的generate features,再点击页面中的generate features进行图像预处理
在这里插入图片描述
处理完点击左侧的Transfer learning
设置训练轮数
学习率的参数(学习速度的快慢),过大或者过小都达不到理想的模型
数据增强是在训练过程中可能随机变换数据,提高数据分类的准确性,并且在训练多轮不会过拟合,在训练多轮次可以勾选上
点击Start training开始训练,训练完点击左侧Versioning,保存训练版本,以便下次效果没之前好就使用之前的版本

在这里插入图片描述

3.将训练文件导出

将训练模型导出,点击左侧的Deployment选择OpenMV
点击build会生成一个压缩包,里面包含标签名文本,tflite文件和py文件,其中tflite文件就是本次的训练模型
将三个文件放置OpenMV的内置flash,打开IDE连接OpenMV并运行py文件即可识别
在这里插入图片描述
电赛F题交流群,要是过期了,关注公众号,联系千歌进群,未来我们还会继续推出各种比赛项目,敬请期待~~~

在这里插入图片描述