
用该传感器判断是食指还是中指还是其他指头。 对于我们的三个指头(5个也好)本质上是一种多分类网络问题,我们将输入信号划分成不同的分类。 小拇指 大拇指 中指(后来用了食指方便) 没有指头(空置) 因此我们利用多分类神经网络来实现判断功能。
信号的输入部分则和上期一样,100HZ的采样率,128的采样长度。 ![]() 创建一个n-Class n分类神经网络。 ![]() 其他设置都和上期的保持一样,使用通用一轴传感器。 ![]() 但是信号输入的地方,我们利用串口导入各个类别的数据(这里是不同的指头) ![]() 需要注意的是,这里的标签即代表着我们的分类,不像之前那样子可以一个类别下面可以使用多组数据。 ![]() 训练我们的模型,这里可以选择我们的分类(其实这里我觉得要是把某组数据能添加到某个分类就好了,这里让我研究一下)。 ![]() 训练好我们的模型,这里可以关注各指标。 接着就是验证我们的模型,验证的过程可以参考文章开头的视频。 ![]() 部署完我们的模型之后,查看生成的.ZIP文件,其中相比于异常识别多了一个knowledge的头文件。 ![]() 这里我们需要libneai.a以及两个.h文件 STM32中用机器学习实现正确率99.95%的心率异常检测! 怎么导入文件请查看这篇文章。 ![]() 初始化函数中,我们需要导入一个数组,这个数组就定义在knowledge.h这个文件中。 ![]()
初始化的时候,需要以这个数组为参数。 之后我们在定时器中,采集到128个数据之后进行预测。
这里的 预测函数有三个参数,第一个参数是输入数组,第二参数是输出数组,输出数组中包含着对于各个分类的参数预测值,第三个参数输入一个指针,这个指针会指向预测最大值的索引。 ![]() 烧入我们的代码,可以看到,空置的时候,Error的预测值是最大的。 ![]() 当我们放上中指的时候,检测到中指的概率是最大的。 ![]() 小拇指也是可以正常的检测。 转载自:电路小白 如有侵权请联系删除 |
【下载有礼】STM32 Finder华为应用商店正式上线!移动选型工具助力开发效率升级
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
实战经验 | Keil工程使用NEAI库的异常问题
STM32 ISP IQTune:真正零门槛的免费ISP调整软件
【经验分享】STM32 新建基于STM32F40x 固件库的MDK5 工程
意法半导体MCU双供应链策略,打消中国客户后顾之忧
2024意法半导体工业峰会:赋能智能电源和智能工业,构筑可持续未来
ST推出灵活、面向未来的智能电表通信解决方案,助力能源转型
意法半导体 x Qu-Bit Electronix:推动新一轮的数字声音合成革命