1. 简介
NanoEdge™ AI 库是 Cartesiam 推出的人工智能静态库,它可以帮助客户直接生成可以运行在嵌入式 Arm Cortex 处理器上的.a 静态库文件。
2021 年 ST 收购 Cartesiam,完善了 ST 在 AI 领域的生态,大大降低了客户使用 STM32 开发 AI 应用的难度。
通过使用 NanoEdge AI Studio,用户只需要了解基本的 AI 概念,并提供相应的数据,便可以从众多 AI 算法库中智能搜索和生成出最符合用户应用的算法。
NanoEdge AI Studio 具备以下特点:
- • AI 库的搜索引擎。
- • 为嵌入式开发者量身定做。
- • 通过抽象化数据科学和机器学习,降低用户开发难度。
- • 快速部署机器学习,兼容任何 C 代码。
- • 对比传统机器学习方法,使用最少量数据。
感兴趣的话欢迎从以下网址下载该工具进行评估:
https://www.st.com/en/development-tools/nanoedgeaistudio.html
本文将介绍 NanoEdge AI Studio 的使用方法,并完成人体姿态识别的简单应用。
2. 数据采集
在使用 NanoEdge AI Studio 之前,我们需要准备数据,数据来源可以是公开的数据集,也可以是自己采集的数据,还可以利用 NanoEdge AI Studio 采集数据。
本文将使用 sensorTile.box 完成数据的采集。
2.1. 硬件介绍
图1.STEVAL-MKSBOX1V1 (SensorTile.box)评估板
在 ST 官网搜索 STEVAL-MKSBOX1V1 可以查看关于开发板的基本内容,板载了丰富的运动传感器和温湿度传感器,并且具备 SD 卡,可以保存采集到的数据。板载的 USB 可以用于供电和下载程序,也可以通过 ST-LINK 和开发板连接进行调试和下载。
USB 下载程序方法:我们这里使用 STM32 CubeProgrammer 下载程序。首先确保没有用电池供电,然后按住板上的 boot 按钮,连接 USB 到电脑,点击 CubeProgrammer 中如下图图 2所示的 connect。
图2.通过 USB 下载程序
连接成功后,选择好固件,然后填写下载地址,点击 Start Programming 即可完成下载。如图 3:
图3.CubeProgrammer 下载固件
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. 数据采集步骤
2.3.1. 编译和烧录程序
下载完 FP-AI-SENSING1 软件包后,需要先编译 bootloader,工程路径位于:
FP-AI-SENSING1_V4.0.3\Projects\STM32L4R9ZI-SensorTile.box\Examples\BootLoader
编译完成后,下载到 sensorTile.box 当中即可。
然后编译应用程序,工程路径位于:
FP-AI-SENSING1_V4.0.3\Projects\STM32L4R9ZI-SensorTile.box\Applications\SENSING1
编译完成后,下载到 sensorTile.box 当中,当上电启动后,绿灯常亮,表明开发板初始化正常完成。蓝色 LED 灯闪烁,表明 BLE 正处于广播状态。
注意:
- • bootloader 的下载地址为 0x08000000
- • App 的下载地址为 0x08004000
- • 当使用电池供电,长按 PWR 按钮,可以开机或关机。在后续采集运动姿态数据时,我们需要使用电池供电。
- • 如有需要,可通过 USB 给电池充电,充电过程中,红色 LED 会闪烁。
图4.电池供电的连接方法
2.3.2. ST BLE Sensor APP
该 APP 由 ST 提供,可以展示运动传感器和温湿度传感器,您可从 ST 官网下载(搜索STBLESensor),或者 iPhone 通过苹果商店可以下载,Android 通过 Google Play 或其他第三方下载商店下载。
给 sensorTile.box 上电后,开发板会自动进入广播状态,并且蓝色 LED 闪烁,从 ST BLE Sensor APP 点击“开始扫描”,搜索到开发板(sensorTile.box 一般默认命名为 BAI_400)之后,点击连接就可以连接到开发板。连接完成后的展示界面如下:
图5.ST BLE Sensor 默认界面(环境)
可以通过该 APP 查看运动传感器的数据曲线:
图6.ST BLE Sensor 查看运动传感器数据曲线
通过该 APP 进行数据采集的方法:点击左上角菜单,并选择 Data Log,如下:
图7.选择 Data Log 进入数据采集界面
在数据采集界面可以选择板载的各种不同的传感器,并设置采样率。本文需要选择加速度传感,
并配置采样率为 52Hz:
图8.数据采集配置界面
可以通过 ADD LABEL 来添加一个标签,然后打开该标签,点击 START LOGGING 进行数据采集,采集完成后,点击 STOP LOGGING 完成数据采集。
图9.数据采集标签设置
使用读卡器,读取 SD 卡里面的数据,保存的为 CSV 格式,如下:
图10. SD 卡采集到的数据