队员:邓子辉(zd13)、黄星昊(xh28)、杜乐义(ld31)、蒋天成(tj16)
前言
虽然在这个最终项目中有多种选择,但我们最终决定进行唤醒词检测。由于智能设备现在在我们的生活中非常普遍,因此这种检测对于在不联系后端服务器的情况下检测唤醒词非常有用。我们想接触一些日常生活中实用且常用的东西,所以就来了。
至于应用架构,从TinyML微稿中我们知道,对于每一个机器学习项目,至少要有五个步骤:
1. 获取输入
2. 预处理输入以提取适合输入模型的特征
3. 对处理后的输入进行推理
4. 对模型的输出进行后处理以理解它
5. 使用结果信息使事情发生
在这个项目中,我们主要遵循上述规则,但有一些变化。
首先,我们必须先处理原始音频数据,然后再将其作为输入送入模型。此外,我们必须修改分类模型以满足输出字符串(“YES”或“NO”)而不是可能值的要求。
过程
我们使用 Arduino Nano 33 BLE 训练了一个机器学习模型,它应该对输入进行分类和识别,并将输入分为三个不同的输出:“是”、“否”和“未知”。我们选择用于训练的数据集是语音命令数据集,它由 65,000 个 30 个短词的一秒长话语组成,在线众包。
我们在这里要做的是将我们的原始数据从单词预处理为音频类型。我们可以通过用频谱图表示输入词来做到这一点。
结果
实际上,我们添加了一些创新的技巧来训练模型。从下面的demo我们可以看到,当输入为“YES”时,黄灯会亮3秒,当输入为“NO”时,黄灯会熄灭3秒,当输入是未知的东西,光没有任何反应。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !