基于stm32f407cube ai实例
(一)Cube ai简介
得益于st的一套新的人工智能(ai)解决方案,您现在可以在广泛的stm32微控制器产品组合上映射和运行预先训练的人工神经网络(ann)。stm32cube.ai是广泛使用的stm32cubemx配置和代码生成工具的扩展包,支持基于stm32 arm cortex -m的微控制器上的ai。要访问它,请下载并安装stm32cubemx(版本5.0.1以后)

(二)用处
1.用stm32cube.ai简化人工神经网络映射
与流行的深度学习培训工具互操作
兼容许多ide和编译器
传感器和rtos不可知
允许多个人工神经网络在单个stm32 mcu上运行
完全支持超低功耗stm32 mcus

2.提高你的生产力
在stm32应用程序中,利用深度学习的力量来提高信号处理性能和生产率。创建人工神经网络并将其映射到stm32(自动生成的优化代码),而不是构建手工代码。有关更多信息,您可以下载此演示文稿。

(三)使用stm32cube.ai部署神经网络的5个步骤
1.捕获数据
捕获足够数量的关于正在建模的现象的代表性数据。
这通常需要将传感器放在被监控对象上或附近,以便记录其状态和随时间变化的情况。物理参数的示例包括加速度、温度、声音和视觉,具体取决于您的应用程序。
ST提供有助于数据捕获和标记的工具,例如我们的ST BLE传感器智能手机应用程序,它可作为传感器瓦形状系数、电池供电平台的遥控器。传感器瓦配有运动和环境传感器、微控制器、SD卡接头和蓝牙连接。

2.清理、标记数据并构建人工神经网络拓扑
创建一个人工神经网络需要从传感器和预处理中获取标记数据。
对于所谓的“监督学习”,必须对数据集进行特征化,以便正确分类不同的输出。这个分类集是“地面真相”,将用于训练人工神经网络,然后验证它。开发人员必须决定ann应该具有的拓扑类型,以便能够最好地从数据中学习并为目标应用程序提供有用的输出。通常开发人员使用流行的现成深度学习框架来构建和训练人工神经网络拓扑。st与许多合作伙伴合作,提供人工神经网络工程服务,并与专门的数据科学家和人工神经网络架构师一起提供支持。

3.训练人工神经网络模型
训练神经网络涉及到以迭代的方式通过神经网络传递数据集,以便网络的输出可以最小化期望的错误标准。人工神经网络的定义、培训和测试通常使用现成的深度学习框架来执行。这通常是在一个强大的计算平台上完成的,该平台具有几乎无限的内存和计算能力,允许在短时间内进行多次迭代。该训练的结果是预训练的人工神经网络。
ai工具与人工智能开发人员社区广泛使用的流行的深度学习培训工具提供简单有效的互操作性。这些工具的输出可以直接导入stm32cube.ai。

4.将人工神经网络转换为stm32 mcu的优化代码
下一步是将预先训练好的神经网络嵌入到一个微控制器中(优化的代码使复杂度和内存需求最小化)。

借助stm32cube.ai软件工具,此部分非常简单直观。作为广泛使用的stm32cubemx工具的扩展,stm32cube.ai完全集成到stm32软件开发生态系统中。

它允许快速、自动地将预先培训好的人工神经网络转换成可以在单片机上运行的优化代码。该工具指导用户选择正确的MCU,并提供所选MCU中神经网络性能的快速反馈,同时在您的PC和目标STM32 MCU上运行验证。查看我们的入门视频。

5.使用训练有素的人工神经网络处理和分析新数据
最后,在应用程序中部署嵌入在MCU中的ANN。

在这里,由于集成软件包(功能包),ST还使设计者更容易快速地创建他们的创新应用程序原型。这些包是端到端的示例,将低级驱动程序、中间件库和示例应用程序的组合嵌入到单个软件包中。开发人员可以很容易地从这些示例开始,并进行修改以适应其特定的应用程序。为人工智能启用的两个示例是音频和运动捕获和处理功能包。

(六)实例演示
这里我们应用的模型是基于卷积神经网络的人体活动识别的模型,可以在https://github.com/Shahnawax/HAR-CNN-Keras中下载。
keras中基于卷积神经网络的人体活动识别(model.h5)
这个存储库包含一个小项目的代码。这个项目的目的是创建一个简单的基于卷积神经网络(cnn)的人类活动识别(har)系统。该系统使用来自x、y和z轴的3d加速度计的传感器数据,并识别用户的活动,例如行走、慢跑、上楼或下楼等。
在这些实验中,我们使用了actitracker数据集,该数据集由无线传感器数据挖掘(wisdm)实验室发布,可以在[链接上找到]。这个数据库中提供数据是用智能手机从36个用户那里收集的,采样速率为每秒20个样本。数据包含x、y和z轴的加速度值,而用户在受控环境中执行六种不同的活动。这些活动包括
下楼,慢跑,坐着,站着,上楼,走路。

步骤
首先需要下载cube最新版本,5.0.1以上的版本都可以,这个到网上找一大堆安装教程。
然后需要安装X-CUBE-AI插件
点击help


然后新建工程,点file,new project
左边拖到下面可以看到


Compression选4,这个是选择压缩参数,不同的压缩参数对MCU的flash容量
要求也不一样。。
然后点Analyze计算使用这个神经网络算法的ram和flash容量占用

好了之后

然后选择芯片,(根据所需的flash大小),这里选择stm32f407ZG,然后点start project

好了选择好了,板卡,我们还需要给它添加
扩展库,也就是AI库

点Addition Software

  • List item


选择Validition,core打钩,然后点ok
左下角会多出一个

点开

两个都打钩,选network

然后往下拖,选Analyze



打勾表示验证通过
然后配置时钟,点击


按照图上配置好
然后我们需要配置串口1和CubeMx进行通讯,验证我们
工程。。。

PA9,PA10选择好,然后点击Connectivity

点击USART1

Mode选好
然后在 AI扩展功能里选择通讯端口为串口1

然后配置下工程信息

Project name,这个可以自己命名,然后IDE选择下,这里选mdk5,heap size记得选0x2000
然后code generator

最后点击右上角生成代码工程


没问题后点open project就可以直接打开工程了
然后选择芯片型号


在data中可以看到相应的数据。
然后编译下工程,这个需要等待几分钟
没有错误后就可以下载到板子上验证了。
Stlink或者jlink自己配置下,然后下载。记得要用串口线,因为需要与cube通信。
好了,现在我们需要回到CubeMx里,回到
AI扩展功能里。。 先重启下开发板,然后
点击Validation on target

选择相应的串口号,这个可以在我的电脑设备管理器中看到
验证成功后可以看到状态那边显示成功

在output中可以看到相应的数据



基于stm32f407cube ai实例相关推荐

  1. 腾讯ARC、华中科大联合提出QueryInst,开启基于Query的实例分割新思路

    视学算法专栏 机器之心编辑部 实例分割(Instance Segmentation)任务有着广阔的应用和发展前景.来自腾讯 PCG 应用研究中心 (ARC)和华中科技大学的研究者们通过充分挖掘并利用Q ...

  2. 开启基于Query的实例分割新思路!腾讯华科提出QueryInst

    来源:机器之心 实例分割(Instance Segmentation)任务有着广阔的应用和发展前景.来自腾讯 PCG 应用研究中心 (ARC)和华中科技大学的研究者们通过充分挖掘并利用Query在端到 ...

  3. ICCV 2021 | 腾讯、华中科大提出QueryInst,开启基于Query的实例分割新思路

    ©作者 | 机器之心编辑部 来源 | 机器之心 实例分割(Instance Segmentation)任务有着广阔的应用和发展前景.来自腾讯 PCG 应用研究中心 (ARC) 和华中科技大学的研究者们 ...

  4. python 百度ai批量识别_Python基于百度AI的文字识别的示例

    Python基于百度AI的文字识别的示例 使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张带有文字的图片,进行识别. 下载baidu-aip这个库,可以直接 ...

  5. 【人工智能】基于百度AI+Python编程的简单应用:关于人像照片动漫化的分析实现(可进行批量化处理)——教你看到二次元中的自己

    前两天博主刚写过一篇文章:[人工智能]基于百度AI和Python编程的简单实现:通过QQ/Tim截图进行文本识别功能的分析实战详解--以获取百度文库付费内容为例.由于这两天博主摸鱼时又一次使用到了百度 ...

  6. 基于百度AI开放平台的人脸识别及语音合成

    基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...

  7. 【路径规划】基于matlab AI抗疫服务移动机器人路径规划系统【含Matlab源码 2096期】

    ⛄一.简介 [路径规划]基于matlab AI抗疫服务移动机器人路径规划系统[含Matlab源码 2096期] ⛄二.部分源代码 clear all close all %Set up field f ...

  8. 成立两年,他们用产品描绘出了基于第三代AI的基础设施蓝图

    2020-12-10 14:32:12 机器之心原创 机器之心编辑部 「第三代人工智能」能帮助我们做什么?瑞莱智慧 RealAI 用两年的时间给出了一个答案. 「第一代知识驱动的 AI 利用知识.算法 ...

  9. Query Generation Module-NTU用多样性的query生成,涨点基于文本的实例分割(已开源)...

    关注公众号,发现CV技术之美 ▊ 写在前面 在本文中,作者解决的任务是基于文本的实例分割(referring segmentation,RES).在这个任务中,作为query的文本通常描述了实例之间的 ...

最新文章

  1. 无人驾驶——对frenet坐标的理解
  2. 学习UI设计都需要了解哪些知识
  3. 【POJ】2377 Bad Cowtractors(最大生成树)
  4. 5GS 协议栈 — GTPv1-U 协议
  5. java读取dcm影像文件_使用dcmtk库读取.dcm文件并获取信息+使用OpenCV显示图像
  6. .NET开发者必须学习.NET Core
  7. ddm模型公式_简单判断目前行情——从股利贴现模型切入
  8. JavaScript 监听手机端的touch滑动事件(滑动手势)
  9. python运维常用模块-运维常用python库模块
  10. [Liunx]Linux安装screenfetch
  11. Windows使用自定义消息实现进程之间通信
  12. 加速新冠疫苗研发,阿里云免费开放一切AI算力!
  13. Forrester告诫CIO们:谨慎应用区块链网络
  14. 淘宝网的架构演化分析
  15. NISP第一讲信息安全和网络空间安全
  16. Cox模型中的变量选择(1)---自适应Lasso方法
  17. VDI(Virtual Desktop Infrastructure)
  18. 大数据分析的四个关键环节
  19. json转对象(GsonFormatPlus)
  20. 在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境(新手必看!简单可行!)

热门文章

  1. 是否应该使用utf-8 bom——因DirectVobSub不支持utf-8 no bom带来的问题
  2. 从2019看2020前端发展趋势
  3. 红旗linux桌面版 v8.0,RedFlag最经典的红旗inWise操作系统V8.0下载
  4. 正雅齿科与沈刚正畸团队拓展隐形正畸治疗边界
  5. 网站改版更换服务器seo,网站改版或者更换域名对网站的影响有哪些?
  6. Crytek CryEngine 3新特性完全详解
  7. cmd命令和dos命令有什么不同?
  8. 双软件认证的两项税收优惠政策是什么?
  9. 移动的黑莓,电信的伤?
  10. Java Swing高级组件——分割面板