项目概述
本模型使用 Wio Terminal 内置的加速度计,识别反转(turn),挥动(wave),静止(idle)动作。
这是一项使用基于规则的编程很难解决的任务。
因为人们每次做动作的方式都不完全一样,若使用编程方法,我们把不同的人不同的动作方式考虑进去,那将是成百上千条不同的规则。实际上这仍是理想化情况,仍有很多人不同的动作未被考虑到,速度,角度。频率,方向等任一因素的轻微变化都需为其建立新的规则,但机器学习可以轻松地处理这些变化。
期望效果
如下所示,Wio Terminal 实时展示当前对Wio Terminal的动作的识别结果。反转(turn),挥动(wave),静止(idle)其中一种。
材料准备
为实现以上效果,我们需要:
硬件需求:Wio Terminal
连接方式:
(图)
项目步骤
- 创建与选择模型
- 数据采集
- 训练与部署
- 使用与编程
项目步骤
1.创建与选择模型
1. 创建“内置加速度计识别动作”模型
点击“创建与选择模型”,点击“内置加速度计识别动作”,如下图步骤1,2:
根据命名要求输入名称。
点击“确认”。
点击确定后会自动跳转到数据采集界面。
2.查看模型
2.采集数据
1.默认标签
2. 连接设备并在 Codecraft 中上传默认采集数据程序
Wio Terminal连接就位后,在 Codecraft 的界面,点击 ,位置如下图所示。此操作将上传默认采集数据程序。
会出现“上传”的弹出窗口,如下图所示。
选择目前的Wio Terminal对应的串口号(未必如图中的COM20),点击“确定”按钮。
弹窗提示正在上传,请稍后…
上传时间通常数十秒钟,完成后会看到下图所示的“上传成功”画面。如下图所示。
点击“我知道了”关闭上图的上传成功弹窗,回到编程界面。
注意
对于网页版的 Codecraft ,如果没有安装或者运行设备助手,可能会出现下图中还没有打开设备助手的提示。 这种状况可以参考:下载、安装和使用“设备助手”的内容。
3. 采集数据
在右上角有数据采集步骤介绍,根据介绍指示采集数据。
注意:
- Wio Terminal按键位置。
- 动图gif已加速,实际动作可稍微放慢。
- 请注意红字提示
- 当你把鼠标移至描述文字上,会有更详细内容介绍
根据Wio Terminal屏幕显示开始收集数据和结束收集。
表示正在收集数据。
表示收集完毕。
Wio Terminal 显示收集完毕即可停止采集数据,CodeCraft仍在拼命加载中,是将数据从WioTerminal传至CodeCraft仍需1~2s。
待数据采集完毕。
点击“训练与部署”。
4. 采集自定义标签的数据
采集自定义标签的数据与采集默认标签步骤相似
- 添加或修改标签
- 上传采集数据程序
- 采集数据
- 添加或修改标签
- 添加
在标签的界面,点击 ,位置如下图所示。
输入标签名,点击确认,如下图步骤1,2.
添加成功后标签栏有新的标签“shake”
- 修改标签
或通过修改标签名,将其中一个默认标签修改成自定义标签名:
鼠标单击需修改的标签,会出现修改标签的弹窗,进行修改即可
修改后源标签会替换成已修改的标签名
- 上传采集数据程序
选择其中一个积木,如下图,将选择“turn”的积木改成选择“shake”。
更改成功后如下图红框。
点击“上传”,上传采集数据程序
选择目前的Wio Terminal对应的串口号(未必如图中的COM20),点击“确定”按钮,如下图步骤1,2
弹窗提示正在上传,请稍后…
上传时间通常数十秒钟,完成后会看到下图所示的“上传成功”画面。如下图所示。
点击“我知道了”关闭上图的上传成功弹窗,回到编程界面。
3.训练与部署
1.设置神经网络及参数
选择适合的神经网络规模:小中大型其中一个
设置参数,设置训练周期数(大于0的数),学习率(0~1的数),最低置信度(0~1的数)
2.开始训练模型
点击“开始训练”
开始训练,界面会提示“拼命加载中”。
“拼命加载中”持续时间因选择神经网络规模(小型中型大型),训练周期数的不同而持续时间不同,会因网络规模的增大所需时间加长,训练周期数的增大时间加长,所以请耐心等待。
也可通过观察“日志输出”推理还需等待时间。如下图,已完成“Epoch:12/30”说明总共需训练30轮,已训练了12轮。
加载完成后,能在“输出日志”中看到“模型训练任务已完成”。
3.观察模型性能选择理想模型
在“模型训练报告”界面,可观察训练的成绩,包括模型的准确性,损失,模型在Wio Terminal上的性能。
如果训练成绩不理想,可以返回训练模型第一步,选择其他规模的神经网络,或者调整参数的设置,再次训练,直到获得一个成绩理想的模型。
4. 部署理想模型
在“模型训练报告”界面,点击“部署模型”。
弹窗提示部署完成,点击“确认”后,自动跳转到“使用与编程”界面。
4.使用与编程
1. 编写模型使用程序
在“使用与编程”界面,点击“模型使用”即可使用已经部署的模型
编写如下程序即可尝试使用你的模型
2. 上传程序到Wio Terminal
点击“上传”按钮。
选择目前的Wio Terminal对应的串口号(未必如图中的COM20),点击“确定”按钮。
首次上传时间较长,且随模型复杂程度上传时间增长,请耐心等待。小模型上传时间大约为4分钟。
3. Wio Terminal测试模型效果
效果说明:
即使训练模型分数达到很高仍不代表模型就是好的模型,训练模型的分高而实际使用预测效果差的现象被称为过拟合(overfitting),相当于模型生硬记忆背诵了训练数据集的细节,在面临新的数据时不会做题了,是机器学习训练模型会遇到的问题。
解决此问题的办法:
- 增加数据集
- 降低学习率
保存
点击“SuperMaker”。
修改名称,点击保存。
在我的作品可以查看保存的作品
点击“turn1”即可查看对应作品。