作为世界上领先的半导体公司之一,意法半导体一直积极参与快速发展的嵌入式人工智能技术研发。为了让经济实用型低功耗微控制器加速应用机器学习和深度神经网络,意法半导体开发了一款全面的Edge AI系统,支持嵌入式开发人员利用众多STM32微控制器产品上的AI,轻松添加新特性和强大的解决方案。 如图1所示,意法半导体AI解决方案涵盖了整个STM32产品组合,借助预训练神经网络,嵌入式开发人员可以在任何基于Cortex M4、M33和M7的STM32上进行移植、优化和验证。STM32Cube.AI是STM32CubeMX的AI扩展包,让客户能够更高效地开发自己的AI产品。 您可以在STM32应用中运用深度学习的强大功能来增强信号处理性能和提高生产率。 ▲图1运行机器学习和深度学习算法的STM32产品组合 本文概述了计算机视觉开发框架FP-AI-VISION1,附有在STM32H7上运行的视觉应用代码示例。 从FP-AI-VISION1代码示例起步,可以轻松实现运行在边缘的不同计算机视觉用例,比如:
FP-AI-VISION1是一种STM32Cube功能包(FP),含有基于卷积神经网络(CNN)的计算机视觉应用实例。它由STM32Cube.AI生成的软件组件组成,与专门用于基于人工智能的计算机视觉应用的应用软件组件相辅相成。功能包中提供的应用程序示例如下:
FP-AI-VISION1运行在与STM32F4DIS-CAM相机子模块或B-CAMS-OMV相机模块套装相连的STM32H747I-DISCO板件上。它包括完整的应用固件,用于摄像头捕捉、帧图像预处理、推理执行以及后处理。它还提供浮点和8位量化C模型的集成示例,并支持数据存储器位置的几种配置,以满足应用需求。 该FP最重要的主要优点之一是提供示例,描述如何有效地将不同类型的数据置于片上和外部存储器中。如此一来,用户便能轻松理解哪种内存分配最适合需求,并有助于创建运行在STM32系列产品(特别是STM32H747-disco板)上的自定义神经网络模型。 ▲图2 用于评估FP-AI-VISION1示例的设备 FP-AI-VISION1包括三个基于CNN的图像分类应用示例:
首先,让我们看看食品识别应用。 食品识别CNN是MobileNet模型的衍生模型。MobileNet是一种适用于移动和嵌入式视觉应用的高效模型架构。该模型架构由Google®提出。 MobileNet模型架构包括两个简单的全局超参数,可以有效地在延迟和精度之间进行权衡。原则上,这些超参数允许模型构建者根据问题的约束条件确定大小适当的应用模型。该FP中使用的食品识别模型基于STM32H747目标约束条件调整这些超参数,实现精度、计算资源和内存占用之间的最优权衡。 ▲图3 食品识别模型的执行流程 图3为食品识别模型的执行流程。它在STM32H747上运行,大约需要150ms完成推理。 接下来,让我们看看人员在场检测应用。 FP-AI-VISION1提供了两个人员存在检测示例应用:
这里看到的是前一个模型。人员在场检测应用确定一个人是否出现在图像中。当我们在与STM32F4DIS-CAM连接的STM32L4R上运行此应用时,需要大约270 ms进行推理。flash存储器和RAM虽然小,但是仍然可以在微控制器上运行神经网络(NN),如图4所示。 ▲图4 人员存在检测概述 人员在场检测可用于从低功耗模式中唤醒。可能的用例是打开灯光、打开门,或任何其他自定义方法。典型实现通常基于被动式红外传感器,在检测到运动时触发事件。但这种PIR系统存在的问题是,可能会发生虚假检测,一只猫经过或树叶在风中飘过都可能触发该系统。人员在场检测应用将只检测人类,这样有助于轻松开发更智能的检测系统。 系统架构 FP-AI-VISION1的顶层架构如图5所示。 ▲图5 FP-AI-VISION1架构 应用构建流程从浮点CNN模型(使用Keras等框架设计和训练)起步,用户生成优化的C代码(使用STM32Cube.AI工具),并将其集成到计算机视觉框架(作为FP-AI-VISION1的一部分)中,以便在STM32H7上构建计算机视觉应用。在生成C代码时,用户可以选择以下两种选项之一:
对于大多数CNN模型,第二种选择可以减少资源占用(Flash和RAM)以及推理时间。对最终输出精度的影响取决于CNN模型和量化过程(主要是测试数据集和量化算法)。 ▲图6 FP-AI-VISION1运行架构 应用执行流程 ▲图7 执行流程中的数据缓冲区 在计算机视觉应用情景中,集成需要几个数据缓冲区,如图7所示。 应用依次执行以下操作:
表1详细说明了食品识别应用在集成量化C模型或浮动C模型时所需的数据RAM大小。 表1食品识别应用的SRAM内存缓冲区 |
ST边缘AI传感器系列新增分析密集运动的惯性模块
突破边缘AI应用的次元壁:首届意法半导体边缘人工智能峰会举行
基于STM32Cube.AI 部署ONNX 模型风扇堵塞检测实操
基于STM32图像处理库经验分享
AI技术更简便、更智能的X-CUBE-AI v7.1.0,让您轻松部署AI模型
基于NanoEdge AI风扇堵塞检测实践示例
基于NanoEdge AI的解决方案
基于AI技术ToF传感器的3D手势识别
基于专为STM32 MCU优化的STM32Cube.AI库
AI技术在Deep Edge领域中的应用