1.简介
NanoEdge AI 库是 Cartesiam 推出的人工智能静态库,它可以帮助客户直接生成可以运行在嵌入式 Arm Cortex 处理器上的.a 静态库文件。
2021 年 ST 收购 Cartesiam,完善了 ST 在 AI 领域的生态,大大降低了客户使用 STM32 开发 AI 应用的难度。通过使用 NanoEdge AI Studio,用户只需要了解基本的 AI 概念,并提供相应的数据,便可以从众多 AI 算法库中智能搜索和生成出最符合用户应用的算法。
NanoEdge AI Studio 具备以下特点:
• 通过抽象化数据科学和机器学习,降低用户开发难度。
• 快速部署机器学习,兼容任何 C 代码。
• 对比传统机器学习方法,使用最少量数据。
感兴趣的话欢迎从以下网址下载该工具进行评估
本文将介绍 NanoEdge AI Studio 的使用方法,并完成人体姿态识别的简单应用。
2.数据采集
在使用 NanoEdge AI Studio 之前,我们需要准备数据,数据来源可以是公开的数据集,也可以是自己采集的数据,还可以利用 NanoEdge AI Studio 采集数据。
2.1硬件介绍
在 ST 官网搜索 STEVAL-MKSBOX1V1 可以查看关于开发板的基本内容,板载了丰富的运动传感器和温湿度传感器,并且具备 SD 卡,可以保存采集到的数据。板载的 USB 可以用于供电和下载程序,也可以通过 ST-LINK 和开发板连接进行调试和下载。USB 下载程序方法:我们这里使用 STM32 CubeProgrammer 下载程序。首先确保没有用电池供电,然后按住板上的 boot 按钮,连接 USB 到电脑,点击 CubeProgrammer 中如下图图 2所示的 connect。
连接成功后,选择好固件,然后填写下载地址,点击 Start Programming 即可完成下载。如图 3:
2.2 软件介绍
关于数据采集和后续的功能测试,推荐使用 FP-AI-SENSING1 这个软件包,可以在 ST官网搜索到。该软件包提供了基本的 BSP,包括按钮,LED,传感器驱动,SD 卡驱动,BLE驱动等。
除此之外,它还提供了一些功能可以帮助我们收集数据,包括可以通过 BLE 连接 ST Ble Sensor App,通过该 APP 配置板载传感器采样率,完成数据的采集,并将数据按一定格式保存到 SD 卡当中,本文将利用该方法采集加速度数据。
该软件包也实现了人体姿态识别和声音场景识别的 AI demo,可以在 ST BLE SensorAPP 上展示,其中的 demo 使用了 Cube.AI 工具做模型转换,和本文讨论的 NanoEdge AI 的方法不同,不在本文讨论范围中。
2.3 数据采集步骤
1编译和烧录程序
下载完 FP-AI-SENSING1 软件包后,需要先编译 bootloader,工程路径位于:
FP-AI-SENSING1_V4.0.3ProjectsSTM32L4R9ZI-SensorTile.boxExamplesBootLoader
编译完成后,下载到 sensorTile.box 当中即可。
然后编译应用程序,工程路径位于:
FP-AI-SENSING1_V4.0.3ProjectsSTM32L4R9ZI-SensorTile.boxApplicationsSENSING1
编译完成后,下载到 sensorTile.box 当中,当上电启动后,绿灯常亮,表明开发板初始化正常完成。蓝色 LED 灯闪烁,表明 BLE 正处于广播状态。
注意:
• bootloader 的下载地址为 0x08000000
• App 的下载地址为 0x08004000
• 当使用电池供电,长按 PWR 按钮,可以开机或关机。在后续采集运动姿态数据时,我们需要使用电池供电。
• 如有需要,可通过 USB 给电池充电,充电过程中,红色 LED 会闪烁。
2ST BLE Sensor APP
该 APP 由 ST 提供,可以展示运动传感器和温湿度传感器,您可从 ST 官网下载(搜索STBLESensor),或者 iPhone 通过苹果商店可以下载,Android 通过 Google Play 或其他第三方下载商店下载。
给 sensorTile.box 上电后,开发板会自动进入广播状态,并且蓝色 LED 闪烁,从 ST BLE Sensor APP 点击“开始扫描”,搜索到开发板(sensorTile.box 一般默认命名为 BAI_400)之后,点击连接就可以连接到开发板。连接完成后的展示界面如下:
可以通过该 APP 查看运动传感器的数据曲线:
通过该 APP 进行数据采集的方法:点击左上角菜单,并选择 Data Log,如下:
在数据采集界面可以选择板载的各种不同的传感器,并设置采样率。本文需要选择加速度传感器,并配置采样率为 52Hz:
可以通过 ADD LABEL 来添加一个标签,然后打开该标签,点击 START LOGGING 进行数据采集,采集完成后,点击 STOP LOGGING 完成数据采集。
使用读卡器,读取 SD 卡里面的数据,保存为 CSV 格式,如下:
数据起始有一些标注,其中 Stationary 一行就是我们采集数据所打的标签,每一行代表一个时间点采集到的三轴加速度数据,从时间上可以看出约 20ms 进行一次采样,所以采样率约为50Hz,和之前在 APP 中的设置是一致的,采集到的数据格式和我们最终在 NanoEdge AI studio中使用的格式是有差异的,需要进行一定的转换,具体转换方法在后面进行介绍。
3数据采集
在正式采集数据之前有些问题需要考虑清楚:
• 采样率:如果想要比较好的恢复原始信号,采样率必须大于原信号最大频率的 2 倍。但是,目前是无法知道原始信号的最大频率的,比较可行的方法是先以 52Hz 的采样率对数据采集,采集完成后对信号进行分析,看是否满足,如果不满足再进行调整。
• 采样时间:总体的采样时间可以通过 APP 进行灵活的开关,单条信号的采样时间需要自己定义,需要在后续的处理中进行调整。
• 标签:FP-AI-SENSING1 的软件包人体姿态识别 demo 中,默认包含以下标签:HAR_STATIONARY(站立),HAR_WALKING(行走),HAR_FASTWALKING(快走),HAR_JOGGING(慢跑), HAR_BIKING(骑单车),HAR_DRIVING(开车),HAR_STAIRS(上下楼梯),Sensor APP 中也有对应的 BLE 协议,可以方便的从手机上看到人体姿态活动识别结果,我们从中选择一部分作为测试即可,其中骑单车和开车数据采集较麻烦,可以直接去掉,其余的通过上面介绍的方法通过 ST BLE Sensor APP 进行采集。
• 采集方法:将 SensorTile.box 使用电池供电,放置在裤子的前方口袋中,使用 ST BLE Sensor APP 连接后,按照上文中介绍的方法设置好标签,然后进行相应的动作对数据进行采集。
采集数据的方法之所以选择使用 ST BLE Sensor APP 设置的方法采集,而不是直接去修改固件,是因为当调整这些采集参数的时候,APP 会更方便一些,不用反复编译和烧录代码。
本文档主要为大家介绍如何通过使用 NANOEDGE.AI 工具完成人体姿态识别应用,文章主要通过对NanoEdge AI Studio的介绍、应用这一工具的步骤,以及如何分析测试这一工具等多个房面展开,篇幅有限,完整内容请点击原文,下载原文档阅读。
审核编辑:汤梓红
-
ARM
+关注
关注
134文章
9043浏览量
366766 -
嵌入式
+关注
关注
5068文章
19013浏览量
303127 -
STM32
+关注
关注
2266文章
10870浏览量
354743 -
AI
+关注
关注
87文章
30097浏览量
268369
原文标题:工程师笔记|使用 NANOEDGE.AI 工具完成人体姿态识别应用
文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论