|
前言 随着人工智能加速向终端设备渗透,边缘AI正成为实现实时、低功耗智能的关键。然而,在资源受限的嵌入式硬件上完成AI模型的集成与部署,仍面临着从算法适配、性能优化到工程落地的诸多挑战。为应对这一挑战,AT32 AI Studio应运而生。它是一款面向AT32系列芯片的一站式边缘AI开发平台,旨在通过图形化界面,将数据预处理、模型训练、优化、评估与部署流程无缝集成,极大降低开发门槛,助力开发者高效地将创意转化为实际产品。 手势识别作为一种直观的人机交互方式,在诸多场景中展现出巨大潜力。相较于传统视觉方案,基于飞行时间(ToF)传感器的技术路径通过直接获取深度信息,具备数据维度低、环境鲁棒性强、隐私安全性好等突出优势,尤其适合在算力和功耗受限的边缘设备上实现。本指南将以ToF手势识别为具体案例,详细阐述如何利用AT32 AI Studio,快速完成一个边缘AI应用从模型构建到在AT32硬件上部署的全过程,为开发智能交互产品提供清晰指引。
支持型号列表:AT32F403A
1 概述AT32 AI Studio是一款功能集成的桌面软件,其核心是提供覆盖边缘AI开发生命周期的工具链。主要功能包括:支持导入多种主流格式的预训练模型;提供模型量化、压缩等优化工具,以适配嵌入式资源约束;具备在PC端或连接真实硬件进行模型性能分析与精度评估的能力;最终能自动生成高度优化的、可嵌入目标工程的推理代码。其设计目标是实现AI模型到AT32芯片的快速、高效部署。 基于ToF的手势识别应用场景广泛。在消费电子领域,可用于智能电视、音响的隔空控制;在智能家居中,实现灯光、窗帘的非接触式操作;在工业、医疗等特种环境下,能为操作员提供安全、可靠的交互方式。本案例是展现AT32 AI Studio如何简化高性能、低功耗边缘AI应用开发的典型范例。 1.1 硬件环境本应用笔记基于AT32-EdgeAI-Sensor-EV Board,这是一块基于AT32F403A集成多种传感器的开发板,本案例需要用到以下器件: n TOF时间飞行传感器(VL53L7CX) n 0.96’ OLED显示屏
实际电路图可参考文件AT32_EdgeAI_Sensor_EV_V1.0.zip
1.2 软件环境本应用笔记基于AT32 AI Studio平台进行软件开发,完整项目所需的软件包括: n 数据收集Keil项目: AN0303\SourceCode\AN0303_SourceCode\app\data_collect n 本案例所使用传感器数据: AN0303\Tool_Training_Data\Training_Data.zip,解压后可得到上、下、左、右和异常五组传感器数据 n TXTToCSV: AN0303\Tool_Training_Data\TXTToCSV.zip,TXT文件转CSV工具,解压双击后即可将本目录下的TXT数据文件转换为CSV文件 n AT32_AI_Studio 通过官方下载链接 AT32_AI_Studio获取最新版软件,解压AT32_AI_Studio.zip后可得到AT32_AI_Studio.exe,双击后即可进入软件界面,如下图:
n Keil MDK 用于AT32系列开发板的程序开发与编译 n 串口调试工具
用于开发板数据接收和调试信息收集等
2 Gesture模型训练本章节主要介绍如何通过AT32 AI Studio平台进行Gesture模型训练,包括数据集导入、模型训练、验证和部署等操作。 2.1 数据集导入Gesture模型训练的数据集,用户可以通过前述软件环境中提供的data_collect项目进行数据收集工作。或者可以直接使用本案例所提供的数据集:AN0303\Tool_Training_Data\Training_Data.zip
数据集解压后通过TXTToCSV工具即可一键转换数据格式为CSV。将转换后的数据集放入AT32 AI Studio软件所在目录,在软件界面中点击数据集路径-浏览,即可选择指定的模型训练数据集,如下图:
2.2 模型训练和验证数据集导入成功后即可开始模型训练和验证的操作,AT32 AI Studio提供了关于模型训练中最核心的三个配置项:学习率(learningrate)、批量大小(batch size)和轮次(epoch),这三个配置项的作用如下: n 学习率:决定了模型根据计算出的误差(梯度)来调整自身参数时的幅度 n 批量大小:对训练样本进行分批处理的数据量大小 n 轮次:模型训练过程中训练样本被遍历和学习的次数
这三个参数在模型训练过程中相互关联,在实际模型调试中,通常首先确定一个合适的批量大小,其设定可基于运行AT32 AI Studio软件的硬件性能而定,然后通过实验寻找最佳的学习率和轮次,这是模型成功训练的基础。
设定好以上三个参数后即可点击开始按钮,进行自动化的模型训练。开始训练后,根据运行软件的硬件性能以及训练参数的不同,训练完成所花费的时间不等。以上述参数为参考,训练所需时间约20秒,可通过训练日志查看详细的训练过程以及报错信息等内容。
在模型训练完成后,软件将自动进行模型验证工作,主要包含: 1) 性能评估:在独立测试集上计算准确率、损失等核心指标,并进行细致的误差分析(如混淆矩阵); 2) 质量诊断:通过绘制训练曲线诊断过拟合/欠拟合,并可视化分析预测结果;
3) 部署验证:测试模型推理速度、资源消耗,并验证格式转换(如转TensorFlow Lite)后的精度与功能完整性。
经过以上步骤最终确保模型从实验状态达到生产就绪标准,接下来就可进行模型部署了。
2.3 模型部署模型部署阶段用户可以选择将要部署的模型、开发板、项目类型等,主要的部署配置如下: 选择模型:选择将要部署的模型 TFLite模型文件:选择模型文件路径 输出项目路径:选择部署项目的生成路径 开发板:选择AT32 AI Studio支持的开发板 使用NPU:可选是否支持NPU 应用:指定模型的应用类型,可选音频、视觉和传感器 项目类型:指定生成项目所使用的开发环境,可选Keil和VSCode 张量内存池大小:设定模型运行所需占用的内存大小
设定完成后直接点击执行按钮即可在指定目录下生成工程项目。
3 软件实现本章节详细阐述基于AT32 AI Studio和ToF传感器的手势识别应用的完整软件实现流程。系统通过硬件触发采集手势数据,经过标准化预处理后提取轨迹特征,最终利用在AT32开发板上部署的TFLite模型完成实时手势识别,并通过OLED显示屏反馈识别结果。 3.1 数据采集
数据采集模块负责在检测到手部进入有效识别范围时,自动触发并采集连续的传感器数据,为后续处理提供原始输入。数据采集的软件实现流程图如下:
3.1.1 硬件配置与初始化系统采用具备8x8多区域测距功能的ToF传感器,配置其工作在标准测距模式,设置有效检测范围为5-20厘米。传感器硬件中断引脚配置为下降沿触发模式,当任意检测区域的距离值落入设定阈值范围时,传感器自动拉低中断引脚,向AT32微控制器发送采集启动信号。 3.1.2 采集触发与数据读取流程采集流程采用硬件中断触发机制,确保实时响应。当中断触发后,系统立即启动一个1秒硬件定时器,并将帧计数器清零。在采集会话期间,系统通过I2C接口连续读取传感器的8x8距离矩阵数据,每帧包含64个独立的距离值,单位毫米(mm)。每次成功读取一帧数据后,帧计数器递增,直到满足以下任一停止条件: 1) 帧计数器达到预设最大值15帧 2) 1秒硬件定时器超时 3.1.3 数据缓存与状态管理
系统维护一个循环缓冲区存储采集的原始数据。每帧数据包含时间戳和8x8距离矩阵。采集状态机管理整个采集周期,包括空闲、采集中和完成三个状态。采集完成后,系统将设置完成标志并通知预处理模块,确保数据管道的顺畅流转。
3.2 数据预处理
预处理模块将采集的原始距离数据转换为统一的特征表示形式,确保数据质量并提取有效手势特征,为模型推理提供标准化输入。数据预处理的软件实现流程图如下:
3.2.1 数据标准化处理由于采集过程可能因手势速度差异而获得不同数量的数据帧,预处理模块首先执行数据对齐操作。系统检查实际采集的帧数,若不足15帧,则在数据序列末尾补零,直至总帧数达到15帧。这种处理方式确保输入数据长度的一致性,同时保留手势的运动轨迹特征。对齐后的数据形成15×64的二维数组,每行代表一帧8x8距离矩阵。 3.2.2 质心特征提取算法对于每一帧8x8距离数据,计算其二维质心坐标,将64个距离值压缩为1个二维坐标点。质心计算采用加权平均法,其中每个检测区域的列索引和行索引分别作为X和Y坐标的权重系数,该区域的距离值作为权重值。具体计算公式如下: , 其中 表示第i行、第j列检测区域的距离值。此计算将空间距离分布转换为位置坐标,有效表征手势在传感器视野中的位置变化。
3.2.3 特征序列生成
遍历所有15帧数据,对每一帧执行质心计算,最终生成一个15×2的特征数组。该数组描述了一秒内手部质心在传感器平面上的运动轨迹,形成了手势的时空特征表示。这种表示方法具有维度低、计算量小的优点,非常适合在资源受限的边缘设备上处理。
3.3 模型部署模型部署模块将在AT32 AI Studio中训练验证完成的TFLite模型集成到AT32开发板,实现从特征输入到手势识别的完整推理流程,并通过OLED显示屏实时反馈识别结果。
3.3.1 模型初始化与加载在系统启动阶段,模型部署模块首先进行初始化操作。该过程包括加载预训练的TFLite模型文件到内存,创建TensorFlow Lite Micro解释器实例,并根据模型结构分配必要的Tensor内存空间。初始化过程中,系统会验证模型格式的正确性,检查内存分配的充足性,并建立输入输出Tensor的引用关系,为后续推理做好准备。 3.3.2 实时推理循环当预处理模块输出15×2特征数组后,推理流程随即启动。系统首先将特征数组数据复制到模型的输入Tensor中,确保数据格式与模型要求一致。随后调用解释器的推理接口执行前向计算,该过程在AT32的处理器上高效运行。推理完成后,从输出Tensor中提取四类手势(上、下、左、右)的置信度分数,通过比较确定最高置信度类别,并根据预设阈值判断识别结果的有效性。 3.3.3 结果反馈与显示识别结果通过OLED显示屏直观呈现。系统设计了简洁的显示界面,在屏幕中央以图标形式展示识别到的手势方向(↑、↓、←、→),同时以文本形式显示手势名称。屏幕下方实时更新当前识别的置信度,为用户提供识别可靠性的直观参考。显示模块采用双缓冲技术,避免屏幕刷新时的闪烁现象,确保视觉体验的流畅性。
至此,基于ToF传感器与AT32 AI Studio的手势识别系统软件设计已完成。整个流程实现了从硬件中断触发数据采集、运动轨迹特征提取到TFLite模型在AT32上实时推理的完整闭环。本设计充分利用了边缘AI的实时性、可靠性与隐私安全优势,并通过AT32 AI Studio平台高效完成了从模型训练到嵌入式部署的全流程,为资源受限的终端设备提供了可靠的智能交互解决方案。
4 案例实作本章节主要介绍手势识别案例在开发板上的实际部署与测试过程,涵盖硬件连接、软件配置及功能验证的完整流程 4.1 操作方法本案例的硬件平台由前述的AT32-EdgeAI-Sensor-EV Board开发板构成。开发板搭载AT32F403A MCU的主控板,其集成了TOF时间飞行传感器、OLED显示屏和具备USB转串口功能的AT-LINK调试器。 操作步骤: 1) 使用一根Mini-USB线将开发板连接到电脑,系统将由电脑USB口供电。 2) 在电脑上打开串口调试工具,选择识别到的AT-LINK虚拟串口,配置波特率为460800,即可建立通信。 3) 在KeilMDK环境中打开项目工程,完成编译后,通过集成的AT-LINK将固件下载至主控板。 4.2 实验效果编译下载程序后复位开发板,等待串口、传感器等初始化完成。初始化完成后屏幕将显示测试信息,包括案例名称、识别范围和可识别的动作方向。 在距离传感器5厘米至20厘米的范围内做出手势动作,OLED画面将显示手势识别结果,如下图: 此外,也可以通过串口工具打印出原始数据及检测结果便于记录,如下图: 通过代码中的宏定义:#define PRINT_RAW_DATA 还可以选择是否将无法识别的原始数据打印出来。后续可按照前述 2.1 数据集导入的步骤将新数据导入训练集,对模型进行重新训练,进而提高模型的准确度。
4.3 附加功能本案例中除了EdgeAI手势识别的功能外,还提供了一个附加功能: 质心点坐标权重显示模式,可通过板上的KEY进行前述手势识别模式和质心点显示模式的切换。该功能可将质心坐标和权重在OLED屏幕上进行显示。当触发检测后屏幕将显示一个矩形点,该点会随着手势而移动,大小会随着距离远近而变化。此模式下TOF传感器检测范围扩大为0-30厘米内 至此,基于AT32 AI Studio的手势识别案例讲解完成。
|