【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

    • 1. STM32 边缘人工智能
      • 1.1 X-CUBE-AI 扩展包
      • 1.2 STM32 AI Model Zoo
      • 1.3 ST AIoT Craft
    • 2. STM32N6 AI 生态系统 (STM32N6-AI)
      • 2.1 STM32N6 AI 产品组合
      • 2.2 STM32N6 AI 开发工具
    • 3. STM32Cube.AI 参考资料
      • 3.1 ST 边缘AI 官方入口
      • 3.2 ST 边缘AI 套件(ST Edge AI Suite)
      • 3.3 STM32Cube.AI 参考文档
      • 3.4 STM32N6 资料和设计文件


1. STM32 边缘人工智能

从云AI到边缘AI

AI的应用越来越广泛,它影响着我们每天使用的服务,接触的设备和机器。

现阶段的AI技术很大程度上依赖于云计算,使用强大的远程数据中心,处理由本地设备收集的数据。边缘AI将AI算法和模型直接部署在物联网 (IoT) 设备和嵌入式工业和汽车系统等设备上。这种部署方式让我们得以在源头实时处理和分析数据,让真正自主的智能设备成为可能,使设备能够快速决策,以适应性的方式触发行动。

相对云部署,在边缘部署AI具有诸多优势。更快的速度和超低的延迟,大大降低了数据传输负荷,显著提高了安全性。在云端运行推理算法需要瓦特级的功率,而在边缘设备上仅需消耗毫瓦甚至微瓦级的功率,显著降低了运行功耗。此外,边缘AI还能更好地保护隐私。

边缘AI为所有市场的设备和服务创造者打开了新的大门,让我们可以用比云技术低得多的成本实现更多新应用。


1.1 X-CUBE-AI 扩展包

STM32 Cube.AI 扩展包 下载地址:STM32 x-cube-ai

X-CUBE-AI是STM32Cube.AI生态系统的STM32Cube扩展包部分,能够自动转换预训练人工智能算法(包括神经网络和经典机器学习模型),并将生成的优化库集成到用用户项目中,以此来扩展STM32CubeMX功能。

  • 为STM32平台优化NN和ML模型
  • 在STM32平台上对NN和ML模型进行性能分析
  • 在STM32平台上评估NN和ML模型
  • 以STM32CubeMX扩展包的形式提供

在这里插入图片描述
在这里插入图片描述


1. 为STM32平台优化NN和ML模型
将您自己的神经网络模型导入STM32CubeMX,选择优化选项,并生成与输入模型相对应的经优化C代码。
在这里插入图片描述

2. 在STM32平台上对NN和ML模型进行性能分析
X-CUBE-AI将分析NN模型并生成性能分析报告,从而详细说明整个网络及其各层的NN内存需求和推理时间。
在这里插入图片描述

3. 其它功能
从预训练神经网络和经典机器学习模型生成STM32优化库
原生支持各种深度学习框架,如Keras和TensorFlow™ Lite,并支持可导出为ONNX标准格式的所有框架,如PyTorch™、Microsoft® Cognitive Toolkit、MATLAB®等
支持各种内置scikit-learn模型,如孤立森林、支持向量机(SVM)、K-means等
支持8位量子化Keras网络以及TensorFlow™ Lite量子化网络
允许将权重存储在外部Flash存储器和外部RAM的激活缓冲区中,从而使用更大的网络
通过STM32Cube集成在不同的STM32微控制器系列之间实现轻松移植
借助TensorFlow™ Lite神经网络,使用STM32Cube.AI运行时或面向微控制器的TensorFlow™ Lite运行时来生成代码


1.2 STM32 AI Model Zoo

Model Zoo 提供一系列 针对 STM32 器件进行优化的 AI 模型,可以部署在 STM32 MCU 上运行。

  • 可从针对 STM32 器件进行了优化的一系列AI模型中选择
  • 使用脚本重新训练数据集中的任何模型
  • 使用脚本在应用上部署AI模型
  • 自带模型 (BYOM) 或自带数据 (BYOD)

下载地址:
Github: ST-stm32ai-modelzoo
Github: ST-MEMS-Machine Learning Core
Github: ST-MEMS-intelligent sensor processing unit

在这里插入图片描述


1.3 ST AIoT Craft

这是一款在线工具,可利用带有传感器内AI的 STM32 组件快速开发传感器到云解决方案。

借助ST AIoT Craft,可以尝试集成在 STM32 智能传感器中的先进边缘AI功能。

  • 首先学习如何对嵌入在许多MEMS惯性传感器和IMU中的机器学习核心(MLC)引擎进行编程:当微控制器处于睡眠模式时,可以对加速度(或振动)和旋转模式进行分类,从而节省能源。
  • ST AIoT Craft收集标记的传感器数据,并使用它来训练MLC发动机。结果可以通过ST评估板从门户网站(我们建议使用Chrome)或配套的移动应用程序进行验证。
  • ST AIoT Craft还建立了一个完整的物联网系统,其中传感器板连接到网关,网关与云应用程序通信。
  1. 利用意法半导体开发板创建传感器到云解决方案
    使用在线工具简化支持AI的物联网节点的开发流程。

在这里插入图片描述

  1. 对机器学习内核编程,以运行传感器内AI
    在MEMS传感器中快速创建在其嵌入的机器学习内核上运行的决策树算法。

在这里插入图片描述

  1. 探索端到端项目示例
    利用 STM32 参考设计探索概念验证。

在这里插入图片描述


2. STM32N6 AI 生态系统 (STM32N6-AI)

STM32N6-AI

STM32N6 AI生态系统 (STM32N6-AI) 是意法半导体推出的工具和资源集合,旨在支持在高性能STM32N6系列微控制器上开发和部署AI模型。

在这里插入图片描述


2.1 STM32N6 AI 产品组合

STM32N6微控制器 (MCU) 首次集成了意法半导体专有的Neural-ART加速器神经处理单元 (NPU),在AI/ML性能上实现了重大突破。

STM32N6 是ST首款集成自研硬件NPU神经网络硬件处理单元的通用微控制器,其算力可达0.6TOPS(每秒0.6万亿次运算)。STM32N6 还集成了新IP和视频外设,如MIPI CSI摄像机、机器视觉图像信号处理器(ISP)、H.264视频编码器和支持时间敏感网络(TSN)端点的千兆以太网控制器。

  • 神经网络硬件加速单元(NPU)
    处理能力达 600 GOPS,其神经网络加速处理能力是目前最高性能 STM32H7 的 600 倍。
    能效出色:能效达到 3TOPS/W,功耗极低,运行 AI 模型无需散热装置。

  • 基于 Cortex-M55 内核
    采用 Cortex-M55 内核,主频 800MHz,基于 ARM v8.1 架构,新增 150 个新指令,尤其是矢量指令集,可用于 NPU 运算数据的前处理和后处理(如 DSP 运算操作)。

  • 内置大容量 RAM
    拥有 4.2MB 连续地址空间的 SRAM,具备多种使用方式,比如存储 NPU 运算中的推理数据,或用作帧缓存以及 H264 压缩时的中间数据。

  • 机器视觉能力
    算力支持:提供 600GOPS 的 AI 处理算力,可开展众多机器视觉应用。
    接口与处理器:具备 MIPI CSI2 2 线的摄像头接口,还有特定的图像信号处理器 ISP,能实现摄像机 RAW 图到 RGB 格式的转换。

  • 扩展的多媒体功能
    图形加速:2.5D图形加速器。
    视频编码传输:集成 H264 编码器,便于在运行 AI 处理时,通过以太网口或 USB(UVC 协议)将摄像头获取的视频传输到外部,同时具备 JPEG 编码和解码的硬件。
    在这里插入图片描述

  • STM32Cube.AI (X-CUBE-AI):

    • 用于优化NN模型的桌面工具(STM32CubeMX插件)
    • 自动生成适用于STM32微控制器的C代码
  • ST Edge AI Developer Cloud (STEDGEAI-DC):

    • 在线基准测试平台,用于在Board Farm中在线托管的STM32开发板上对AI性能(推理时间、内存占用)进行基准测试。
    • 自动生成适用于STM32微控制器的C代码
    • 通过REST API实现流程自动化
  • ST Edge AI Core (STEdgeAI-Core):

    • 用于优化NN模型的命令行接口 (CLI)
    • 自动生成适用于STM32微控制器的C代码
  • STM32 Model Zoo:

    • 提供经过精心优化的AI模型集及相关性能、即用型应用示例,以及用于模型训练、评估、量化、基准测试和部署的脚本。
    • 通过REST API使用ST Edge AI Developer Cloud服务
  • 应用包:

    • 提供多个AI应用的优化源代码
    • 在用户的开发板上无缝实施
  • 入门代码示例:

    • 简单的AI代码示例和教程,介绍如何使用意法半导体Neural-ART加速器实现AI应用
    • 可选链接至STM32 Model Zoo资源
  • 提供丰富工具以满足用户的配置和目标。

  • Neural-ART加速器与AI软件生态系统的无缝集成,确保了AI应用性能的优化。

  • 用户可轻松获取模型选择、训练脚本及关键模型指标,可直接用于基准测试。

  • 基于Python™脚本 (REST API) 的ML自动化基准测试服务。

  • 丰富的使用案例和应用代码示例,快速在MCU上开启AI应用开发。

  • 原生支持多种深度学习框架,如 Keras 和 TensorFlow Lite,同时兼容所有可导出为ONNX标准格式的框架,包括PyTorch、MATLAB 等。


2.2 STM32N6 AI 开发工具

STM32N6 AI生态系统的所有工具和软件包均属于ST Edge AI Suite。该套件整合了多种软件工具,旨在简化嵌入式AI应用的开发和部署。该综合套件支持从数据收集到在硬件最终部署的整个机器学习算法和神经网络模型的优化和部署流程,简化了跨学科领域的专业人士的工作流程。

STM32N6-AI工具专为简化开发流程而设计,确保开发人员能够实现最理想的性能和效率。这些工具支持“自带数据”(BYOD) 和“自带模型”(BYOM) 两种开发方式,以满足用户的不同开发实践和偏好。
例如,STM32 Model Zoo(github.com/STMicroelectronics/stm32ai-modelzoo)、ST Edge AI Developer Cloud (STEDGEAI-DC)、STM32Cube.AI (X-CUBE-AI) 和ST Edge AI Core (STEdgeAI-Core) 等工具,充分发挥了STM32N6在AI和计算机视觉 (CV) 应用方面的潜力。

此外,STM32N6-AI还提供多种软件包,作为用户AI项目的示例和起点:

  • AI应用:包括简单的计算机视觉 (CV) 和音频应用(如人物检测或图像分类),以及更复杂和优化的应用(如姿势估计、实例分割、手部关键点检测和音频场景识别)。
  • 视频应用:展示完整的应用场景,包括H264编码和通过USB视频设备等级码流将数据输出到PC。

总体而言,STM32N6-AI提供了一个完整的软件和工具生态系统,帮助开发人员利用STM32N6在边缘构建下一代机器学习应用。STM32N6中嵌入的Neural-ART加速器NPU专为高效处理AI推理任务而设计,可显著加速NN模型的执行。这种整合使微控制器上的边缘AI应用变得更加实用和普及,为广泛的应用场景提供了强大、高效且可扩展的解决方案。


3. STM32Cube.AI 参考资料

3.1 ST 边缘AI 官方入口

ST Artificial intelligence at the edge
ST 边缘人工智能

在这里插入图片描述


3.2 ST 边缘AI 套件(ST Edge AI Suite)

ST Edge AI Suite
ST 边缘AI 套件

意法半导体边缘AI套件为您提供免费工具、案例研究和资源,以便在微控制器、微处理器和智能传感器上启用AI。
助您将边缘AI应用于MCU、MPU和智能传感器的得力工具。

在这里插入图片描述


3.3 STM32Cube.AI 参考文档

Wiki: STM32Cube.AI
STM32CubeAI Data brief
STM32CubeAI User manual
STM32CubeAI 扩展包入门指南

在这里插入图片描述

在这里插入图片描述


3.4 STM32N6 资料和设计文件

STM32N6 设计文件
STM32N6超全资料合集
【STM32N6570-DK评测】1.你好N6
【STM32N6570-DK评测】2.最简点灯
【STM32N6570-DK评测】3.从外部flash启动
【STM32N6570-DK评测】4.800MHz的点灯


版权声明:
youcans@qq.com 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/145256170)
Copyright@youcans 2025
Crated:2025-01

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4675.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSE 实践:用 Vue 和 Spring Boot 实现实时数据传输

前言 大家好,我是雪荷。最近我在灵犀 BI 项目中引入了 SSE 技术,以保证图表的实时渲染,当图表渲染完毕服务端推送消息至浏览器端触发重新渲染。 什么是 SSE? SSE 全称为 Server-Send Events 意思是服务端推送事件。 SSE 相比于 …

关于机器学习的一份总结

在之前的文章中分别有详细的关于机器学习中某一学习算法的介绍,但缺少一个总体关于机器学习的总结,所以在这篇文中就是关于机器学习的一份总结。 在最近的日子中,人工智能日益火热起来,而机器学习是其中举足轻重的一部分&#xf…

浅谈计算机网络03 | 现代网络组成

现代网络组成 一 、网络生态体系1.1网络生态系统的多元主体1.2 网络接入设施的多样类型 二、现代网络的典型体系结构解析三、高速网络技术3.1 以太网技术3.2 Wi-Fi技术的深度剖析3.2.1 应用场景的多元覆盖3.2.2 标准升级与性能提升 3.3 4G/5G蜂窝网的技术演进3.3.1 蜂窝技术的代…

数据结构漫游记:队列的动态模拟实现(C语言)

嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…

Ubuntu22.04安装paddle GPU版本

文章目录 确立版本安装CUDA与CUDNN安装paddle 确立版本 查看官网信息,确立服务版本:https://www.paddlepaddle.org.cn/documentation/docs/zh/2.6/install/pip/linux-pip.html 安装CUDA与CUDNN 通过nvidia-smi查看当前显卡驱动版本: 通过…

2024年度总结:从后端Java到全栈成长的蜕变

目录 前言1. 用数据与实践书写成长篇章2. 技术与生活的双重蜕变3. 技术的进阶与生活的绽放 前言 今年是我入行的第十年,也是记录在CSDN平台上的第五年。这五年来,我始终坚持记录成长的点滴,将个人事业与博客创作紧密相连。一路走来&#xff0…

麦田物语学习笔记:创建TransitionManager控制人物场景切换

基本流程 制作场景之间的切换 1.代码思路 (1)为了实现不同场景切换,并且保持当前的persistentScene一直存在,则需要一个Manager去控制场景的加载和卸载,并且在加载每一个场景之后,都要将当前的场景Set Active Scene,保证其为激活的场景,在卸载的时候也可以方便调用当前激活的场…

无人机高速无刷动力电机核心设计技术

一、技术概述 无刷电机优势: 高效率:无刷电机由于去除了电刷和换向器,减少了能量损失,因此具有更高的效率。 长寿命:电刷和换向器的磨损是导致传统有刷电机寿命较短的主要原因,而无刷电机则避免了这一问…

Linux C\C++方式下的文件I/O编程

【图书推荐】《Linux C与C一线开发实践(第2版)》_linux c与c一线开发实践pdf-CSDN博客 《Linux C与C一线开发实践(第2版)(Linux技术丛书)》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 Lin…

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)角点检测

角点检测(Corner Detection)是计算机视觉和图像处理中重要的步骤,主要用于提取图像中的关键特征,以便进行后续的任务,比如图像匹配、物体识别、运动跟踪等。下面介绍几种常用的角点检测方法及其应用。 1. Harris角点检…

QT开发-T113 Linux 主板QC配置套件

此篇文章用于记录在Linux主板上使用QT开发项目的套件配置步骤 进入QC软件,点击 Manage Kits… 选择项目对应的QT Version : 一般有一个项目对应的qmake 文件,选择导入即可 如果首次导入提示 qmake could not be added 需要先对项目进行命令行编译(具体命…

【云岚到家】-day03-门户缓存实现实战

【云岚到家】-day03-门户缓存实现实战 1.定时任务更新缓存 1.1 搭建XXL-JOB环境 1.1.1 分布式调度平台XXL-JOB介绍 对于开通区域列表的缓存数据需要由定时任务每天凌晨更新缓存,如何实现定时任务呢? 1.使用jdk提供的Timer定时器 示例代码如下&#xf…

SuperdEye:一款基于纯Go实现的间接系统调用执行工具

关于SuperdEye SuperdEye是一款基于纯Go实现的间接系统调用执行工具,该工具是TartarusGate 的修订版,可以利用Go来实现TartarusGate 方法进行间接系统调用。 该工具的目标是为了扫描挂钩的NTDLL并检索Syscall编号,然后使用它来执行间接系统调…

Python+ tkinter实现小学整数乘法和除法竖式演算式

Python tkinter实现小学整数乘法和除法竖式演算式 整数的乘法与除法是小学数学中的重要内容,它们是数学运算中的基础部分。 本文将使用python 和Python 的标准 GUI(图形用户界面)包tkinter,实现整数乘法与除法的竖式演示。供有兴趣…

线程池遇到未处理的异常会崩溃吗?

线程池中的 execute 和 submit 方法详解 目录 引言execute 方法 使用示例代码 submit 方法 2.1 提交 Callable 任务2.2 提交 Runnable 任务 遇到未处理异常 3.1 execute 方法遇到未处理异常3.2 submit 方法遇到未处理异常 小结 引言 在多线程编程中,线程池是提高性…

MongoDB基本操作

一、实验目的 1. 熟悉MongoDB的基本操作,包括CRUD(增加、读取、更新、删除)。 2. 理解MongoDB的文档型数据库特性和Shell的使用。 3. 培养学生通过命令行操作数据库的能力。 4. 强化数据库操作的实际应用能力。 二、实验环境准备 1.…

【银河麒麟高级服务器操作系统】业务访问慢网卡丢包现象分析及处理过程

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:product.kylinos.cn 开发者专区:developer.kylinos.cn 文档中心:document.kylinos.cn 交流论坛:forum.kylinos.cn 服务器环境以及配置 【内核版本…

Kotlin Bytedeco OpenCV 图像图像54 透视变换 图像矫正

Kotlin Bytedeco OpenCV 图像图像54 透视变换 图像矫正 1 添加依赖2 测试代码3 测试结果 在OpenCV中,仿射变换(Affine Transformation)和透视变换(Perspective Transformation)是两种常用的图像几何变换方法。 变换方…

【LeetCode100】--- 寻找重复数

题目传送门 方法一:暴力解法(超时) 算法原理 双重循环,每次固定一个数,再遍历别的数。比较这两个数是否相等, 若相等则返回这个数。就是重复数。 复杂度分析 时间复杂度:O(N方&…

RabbitMQ---TTL与死信

(一)TTL 1.TTL概念 TTL又叫过期时间 RabbitMQ可以对队列和消息设置TTL,当消息到达过期时间还没有被消费时就会自动删除 注:这里我们说的对队列设置TTL,是对队列上的消息设置TTL并不是对队列本身,不是说队列过期时间…