基于STM32的机器学习(手势识别)

第一次写博客,希望能给研究单片机AI的同仁一个好的启示。如有不当,多多指正。

STM32自从2019年开始发布AI库以来,网络上关于怎么移植到单片机的资料少得可怜,能找到的也仅仅是新建工程的博客,对我有较大启示的是ST官方的几篇文章。我将对我有启示的文章贴出来供大家参考。

https://blog.csdn.net/qingelife/article/details/78429508?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.nonecase

https://blog.csdn.net/qq_39505991/article/details/95176720?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-8

http://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=619025&page=1

https://blog.csdn.net/bigmaxPP/article/details/104500092/

 

1、首先,简单描述下我要做的项目—基于单片机的手势识别。

所用到的传感器是10G的雷达芯片,芯片出来的是中频信号,需要根据这些中频信号做手势识别。

单片机模拟有无目标,当没有目标时,单片机模拟IF输出中频信号,雷达芯片输出LO(本振信号)

,混频器的作用是将LO+IF=RF。 得到的RF输出到芯片的RX接收端口。 芯片会将这个信号再解调出来作为最后的模拟信号输出到单片机。

前期的工作接触过单片机的来说应该都不难,采集中频信号,AD转换。

这些都不难。但重要是对这些信号要进一步处理,包括去交流,求平均值,FFT(加窗),一系列的转换目的就是将时域的信号转换到频域。曾经看过一篇经典的文章来描述时域和频域,时域就是随时间的变化状态的变化,而频域就是从侧面看待这个问题,一切都是静止的,就像每个人的人生看似随时间不断变化,每天充满变数,但从频域的角度来看,侧面就好像很大的机械装置,每个人的人生早已安排好了。很多时域看不出任何特征的信号在频域一目了然。

2、频域信号处理好了就来到了我们的重头戏了——机器学习(AI)

首先神经网络的生成我用的是Python,Python生成神经网络现在已经很成熟了,网上的例程一大堆,我就不多说了,训练好神经网络导出 .h5文件,你的工作就完成一半了。

接下来就用到官方的STM32cubemx,用这个工具生成KEIL5或者其他IDE的工程,接下来的移植就是重中之重了。再移植之前你也考虑好你的单片机ROM和RAM以及主频速度。根据我的经验ROM 512k,RAM 100k,主频100M可以满足初步的需要,STM32F411CEU6是我目前看到性价比最高的。下面的流程是STM32cubummx生成工程的流程,大家可以参考。

 

导入我们的模型计算,点击Analyze,CubeMX会提示我们哪些MCU型号能支持我们使用,当然啦,你也可以直接选STM32F411CEU6,模型官方有手势识别的.h5文件,可以去下载;

 

 

3、单片机移植过程有很多需要注意的地方,有时间我会专门写一篇博客。我将单片机Keil中AI部分贴出来供大家参考。

FFT相关处理

AI处理

 主函数部分

最终串口 输出效果

不同的手势outdata输出不同的概率,我将概率Round的最终输出结果。至于你想用手势控制外部任何设备就很容易了。

  • 31
    点赞
  • 190
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: 在物联网应用日益广泛的今天,传感器和手势识别技术的发展促使STM32基于的感应手势识别成为人们关注的焦点。STM32的感应手势识别技术基于磁感应原理和运动传感器,可以实时监测人体、物品、手势和运动的信息,可以轻松监测人体动作并进行分析、处理和识别,使设备响应更加智能化。 STM32的感应手势识别技术的主要应用领域是人机交互、智能家居、工业自动化、物联网等领域。在人机交互领域,STM32的感应手势识别技术可以实现不接触式操控,提高用户使用体验;在智能家居领域,STM32的感应手势识别技术可以实现远程控制、场景模拟等功能,提高生活质量;在工业自动化领域,STM32的感应手势识别技术可以实现生产线的自动化控制,提高生产效率;在物联网领域,STM32的感应手势识别技术可以实现互联、数据收集、分析等功能,实现更加高效、智能的管理和控制。 总之,STM32的感应手势识别技术具有前景广阔的市场和应用前景,未来将成为物联网和智能制造领域的重要技术之一。 ### 回答2: “基于STM32的感应手势识别”是一种利用STM32微控制器来实现手势识别的技术。手势识别是现代技术的一个热门领域,其应用广泛,包括智能家居、安防系统、自动驾驶等。STM32作为一款强大的微控制器,具有高性能、低功耗、丰富的外设接口等优势,非常适合用于手势识别。 为了实现基于STM32的感应手势识别,首先需要合适的感应装置。常见的感应装置包括红外传感器、光学传感器、超声波传感器等。这些感应装置可以通过测量人体动作的物理参数,如距离、速度等,来获得手势的信息。 在STM32上,需要利用相应的固件库或编程语言来开发手势识别的算法。常见的手势识别算法包括模式匹配、机器学习等。通过对感应装置采集到的手势数据进行处理和分析,可以实现对手势的识别和分类。 在具体的实现过程中,可以利用STM32的GPIO接口读取感应装置的信号,并将数据通过串口或者无线通信发送到上位机进行进一步的处理。通过对手势数据进行训练和优化,可以提高识别的准确性和稳定性。 基于STM32的感应手势识别技术有很高的应用前景。它可以应用于智能家居,通过手势控制灯光、窗帘等设备的开关。在安防系统中,可以通过手势识别来判断是否有可疑人员进入。另外,在自动驾驶领域,手势识别可以帮助驾驶员进行交互操作,提高驾驶的安全性和便捷性。 总之,基于STM32的感应手势识别技术在实际应用中具有广泛的应用前景,它可以极大地方便人们的生活,提高工作效率和安全性。 ### 回答3: "基于STM32的感应手势识别"是一种利用STM32微控制器实现的手势识别技术,通过感应手势信号来实现对设备的控制。 这种技术的实现主要依赖于STM32微控制器的强大处理能力和丰富的外设资源。首先,需要通过合适的传感器,如光电二极管、电容传感器等,感知到手势信号。然后,将传感器采集到的信号通过模数转换器(ADC)接口输入到STM32微控制器,进行数字化处理。 在STM32上,可以通过编程,利用数学模型和算法处理手势信号,实现手势的识别。例如,可以采用相关算法、神经网络等进行信号特征提取和模式匹配,从而识别出不同的手势。同时,还可以设定适当的阈值和规则,对噪声和误判进行滤除和纠正,增加系统的准确性和稳定性。 识别出手势后,可以通过与外设的串口、蓝牙、无线模块等通信接口进行数据传输,将手势信息传送给目标设备。目标设备可以是智能家居设备、智能手机、电脑等,通过接收到的手势信息,对设备进行相应的操作。例如,可以控制灯光的开关、音量的调节、显示内容的切换等。 "基于STM32的感应手势识别"技术具有较高的可移植性和可扩展性,可以通过增加不同类型的传感器或引入新的手势模式来实现更多功能。此外,STM32微控制器具有低功耗、高性能、低成本等优势,使得该技术在智能设备控制、智能家居等领域具有广泛应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值