|
前言 在边缘计算时代,将人工智能直接部署在终端设备上,成为实现实时响应、保障数据隐私与降低云端依赖的关键。异常检测作为其中的核心应用,能通过持续分析传感器数据,智能识别系统或设备的异常状态,从而在工业预测性维护、智能安防、设备健康管理等领域发挥巨大价值。 为高效开发此类应用,AT32 AI Studio 应运而生。它是一款专为 AT32 系列芯片设计的一站式边缘 AI 开发平台,集数据工程、模型训练、测试与部署于一体,极大降低了开发门槛。本指南将详细介绍如何利用此平台,构建一个完整的异常检测解决方案:从通过 AT32 芯片的 ADC 模块采集传感器数据开始,到最终生成可高效运行在设备端的 AI 模型。无论您是初学者还是有经验的开发者,都能通过本指南快速掌握基于实际硬件数据的边缘 AI 应用开发全流程。
支持型号列表:AT32F403A
1 概述AT32 AI Studio 软件旨在提供从数据到部署的完整边缘 AI 开发体验。其主要功能模块包括: l 数据采集与处理:支持连接真实的 AT32 硬件,通过其 ADC 等接口直接采集传感器数据,并进行标注、增强和分割。 l 模型训练:提供直观的图形化机器学习管道设计,内置多种适用于边缘设备的轻量型神经网络模型,可针对异常检测等任务进行高效训练与优化。 l 模型验证与测试:可在软件内对模型精度进行仿真评估,并支持在真实设备上实时测试其性能与资源消耗。 l 一键部署:最终将训练好的模型自动转换为高度优化的代码,直接部署到目标 AT32 芯片上运行。 本指南所聚焦的异常检测应用,典型场景包括:工业设备(通过振动或电流信号监测电机故障)、环境监控(识别温湿度传感数据的异常波动)以及消费品(分析家电噪音模式是否异常)。通过本平台,开发者可快速应对这些场景,实现智能化预警与决策。 1.1 硬件环境本应用笔记基于AT32-EdgeAI-Sensor-EV Board,这是一块基于AT32F403A集成多种传感器的开发板,本案例需要用到以下器件: n 0.96’ OLED显示屏 n 3D 加速度计/陀螺仪(LSM6DS3TR) 实际电路图可参考文件AT32_EdgeAI_Sensor_EV_V1.0.zip
1.2 软件环境本应用笔记基于AT32 AI Studio平台进行软件开发,完整项目所需的软件包括: n 数据收集Keil项目: AN0304\SourceCode\AN0304_SourceCode\app\data_collect n 本案例所使用传感器数据: AN0304\Tool_Training_Data\Training_Data.zip,解压后可得到异常和正常两组传感器数据 n TXTToCSV: AN0304\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 模型训练本章节主要介绍如何通过AT32 AI Studio平台进行异常检测模型训练,包括数据集导入、模型训练、验证和部署等操作。 2.1 数据集导入本案例提供了少量的异常检测模型训练的数据集,包括正常数据和异常数据两种类型。完整的数据集可以在Tool_Training_Data目录下的anomaly_detect_dataset.zip压缩包中查看。 用户还可以基于自己的项目自行添加相应的数据集,收集的数据集按照固定格式存储、命名后,通过TXTToCSV工具即可一键转换TXT文本数据格式为CSV数据格式。使用TXTToCSV工具处理的原始TXT文本数据应符合以下格式要求: at32data get X,Y,Z X1, Y1,Z1 X2, Y2,Z2 … Xn, Yn,Zn at32data get X,Y,Z X1, Y1,Z1 X2, Y2,Z2 … Xn, Yn,Zn 其中,单条数据以at32 data get分割;X、Y、Z分别为三列数据的表头;X1、X2到Xn为X列下的具体数值,Yn、Zn同理;X、Y、Z三列为示例名称,用户可按自己需求修改名称和列数。
数据集解压或转换后放入AT32 AI Studio软件所在目录,在软件界面中点击数据集路径-浏览,即可选择指定的模型训练数据集
2.2 模型训练和验证数据集导入成功后即可开始模型训练和验证的操作,AT32 AI Studio提供了关于模型训练中最核心的三个配置项:学习率(learningrate)、批量大小(batch size)和轮次(epoch),这三个配置项的作用如下: n 学习率:决定了模型根据计算出的误差(梯度)来调整自身参数时的幅度 n 批量大小:对训练样本进行分批处理的数据量大小 n 轮次:模型训练过程中训练样本被遍历和学习的次数
这三个参数在模型训练过程中相互关联,在实际模型调试中,通常首先确定一个合适的批量大小,其设定可基于运行AT32 AI Studio软件的硬件性能而定,然后通过实验寻找最佳的学习率和轮次,这是模型成功训练的基础。
设定好以上三个参数后即可点击开始按钮,进行自动化的模型训练。开始训练后,根据运行软件的硬件性能以及训练参数的不同,训练完成所花费的时间不等。以上述参数为参考,训练所需时间约610秒,可通过训练日志查看详细的训练过程以及报错信息等内容。
在模型训练完成后,软件将自动进行模型验证工作,主要包含: 1) 性能评估:在独立测试集上计算准确率、损失等核心指标,并进行细致的误差分析(如混淆矩阵); 2) 质量诊断:通过绘制训练曲线诊断过拟合/欠拟合,并可视化分析预测结果;
3) 部署验证:测试模型推理速度、资源消耗,并验证格式转换(如转TensorFlow Lite)后的精度与功能完整性。
经过以上步骤最终确保模型从实验状态达到生产就绪标准,接下来就可进行模型部署了。
2.3 模型部署模型部署阶段用户可以选择将要部署的模型、开发板、项目类型等,主要的部署配置如下: 选择模型:选择将要部署的模型 TFLite模型文件:选择模型文件路径 输出项目路径:选择部署项目的生成路径 开发板:选择AT32 AI Studio支持的开发板 使用NPU:可选是否支持NPU 应用:指定模型的应用类型,可选音频、视觉和传感器 项目类型:指定生成项目所使用的开发环境,可选Keil和VSCode 张量内存池大小:设定模型运行所需占用的内存大小
设定完成后直接点击执行按钮即可在指定目录下生成工程项目。
3 软件实现本章节详细阐述基于AT32 AI Studio的异常检测应用的软件实现流程,涵盖从传感器数据采集、数据预处理到边缘AI模型部署运行的关键步骤。 3.1 数据采集本案例通过SPI对三轴加速度计进行控制,实现精确时序的数据采集,系统采用双缓冲机制,确保数据采集与模型推理并行处理,避免数据丢失。 3.1.1 硬件配置与初始化l SPI接口初始化:开发板上的3D 加速度计/陀螺仪(LSM6DS3TR)通过SPI进行控制,包括传感器初始化、状态读取和数据读取。 l 传感器初始化:SPI初始化完成后即可开始传感器的初始化配置,包括设定工作模式、输出数据速率等。 l 定时器配置:传感器的输出速率被设定为104Hz,为了将数据采集与模型推理并行处理,案例使用定时器中断每10ms采集一笔数据的方式实现。
3.1.2 双缓冲机制系统采用双缓冲结构存储传感器数据,由两个相同大小的数组实现。每个缓冲区可存储100笔完整的三轴加速度数据(X、Y、Z),共计300个浮点数值,对应每一组数据采样时间为1秒。当前缓冲区存储完毕后立即切换到另一缓冲区,并将采集完成标志置位。 3.2 数据预处理通过传感器获取到原始加速度数据后,即可开始对数据进行输入模型前的预处理。预处理旨在将原始的三轴加速度时序数据,转换为一个能直接表征运动剧烈程度的一维特征序列。预处理算法主要包括以下两个部分: 1) 计算向量幅度:对每个时间点t(共100个),根据其三轴(x、y、z)加速度值计算合成加速度向量幅度 2) 计算一阶差分:计算相邻向量幅度之间的绝对差值,得到差分序列,共99个值。此序列将直接反映加速度变化的剧烈程度 通过数据预处理模型将不再直接学习复杂的原始加速度波形,而是通过预处理后的差分序列对输入数据进行学习识别,这将极大的减轻模型的负载。 3.3 模型部署
模型部署模块将在AT32AI Studio中训练验证完成的TFLite模型集成到AT32开发板,实现从边缘AI异常检测的完整推理流程,并通过OLED显示屏实时反馈识别结果。模型部署的软件实现流程图如下:
3.3.1 模型初始化与加载在系统启动阶段,模型部署模块首先进行初始化操作。该过程包括加载预训练的TFLite模型文件到内存,创建TensorFlow Lite Micro解释器实例,并根据模型结构分配必要的Tensor内存空间。初始化过程中,系统会验证模型格式的正确性,检查内存分配的充足性,并建立输入输出Tensor的引用关系,为后续推理做好准备。
3.3.2 实时推理循环当数据擦剂完成标志置位后,推理流程随即启动。系统首先将特征数组数据复制到模型的输入Tensor中,确保数据格式与模型要求一致。随后调用解释器的推理接口执行前向计算,该过程在AT32的处理器上高效运行。推理完成后,从输出Tensor中提取异常、正常数据的置信度分数,通过比较确定最高置信度类别,并根据预设阈值判断识别结果的有效性。
3.3.3 结果反馈与显示识别结果通过OLED显示屏直观呈现。系统设计了简洁的显示界面,在屏幕中央以文字形式展示当前设备的异常检测结果,“Anomaly”表示异常,“Regular”表示正常。
至此,基于加速度计与AT32 AI Studio的异常检测系统软件设计已完成。整个流程实现了从硬件定时器中断触发数据采集到TFLite模型在AT32上实时推理的完整闭环。本设计充分利用了边缘AI的实时性、可靠性与隐私安全优势,并通过AT32 AI Studio平台高效完成了从模型训练到嵌入式部署的全流程,为资源受限的终端设备提供了可靠的智能交互解决方案。
4 案例实作本章节主要介绍异常检测案例在开发板上的实际部署与测试过程,涵盖硬件连接、软件配置及功能验证的完整流程
4.1 操作方法本案例的硬件平台由前述的AT32-EdgeAI-Sensor-EV Board开发板构成。开发板搭载AT32F403A MCU的主控板,其集成了3D加速度计、OLED显示屏和具备USB转串口功能的AT-LINK调试器。 操作步骤: 1) 使用一根Mini-USB线将开发板连接到电脑,系统将由电脑USB口供电。 2) 在电脑上打开串口调试工具,选择识别到的AT-LINK虚拟串口,配置波特率为460800,即可建立通信。 3) 在KeilMDK环境中打开项目工程,完成编译后,通过集成的AT-LINK将固件下载至主控板。
4.2 实验效果
编译下载程序后复位开发板,等待串口、传感器等初始化完成。初始化完成后屏幕将显示测试信息。
任意方向大幅晃动开发板将检测到异常动作,开发板保持平稳或较小晃动则检测正常,OLED画面将显示模型识别结果
此外,在acc.h代码中提供了#define PRINT_RAW_DATA宏定义,可以选择是否将无法识别的数据打印出来。后续可按照前述 2.1 数据集导入的步骤将新数据导入训练集,对模型进行重新训练,进而提高模型的准确度。
至此,基于AT32 AI Studio的异常检测案例讲解完成。
|