简介:
AI 是所有研究的机器模仿人类等认知能力的超集。例如:
• 与环境的交互
• 知识表示
• 感知
• 学习
• 计算机视觉
• 语音识别
• 解决问题等等。
机器学习是AI的分支,在计算机科学领域的应用使计算机无需显式编程就能学习。机器学习由能够基于数据进行学习和预测的算法组成:
• 这类算法在前面样本基础上进行训练,以构建和估计模型;
• 在传统编程不可行的情况下,通常采用机器学习;
• 如果经过适当的训练,可以适应新的案例应用。
机器学习有不同的实现方法,其中包括常见的:
• 决策树
• 聚类
• 基于规则的学习
• 归纳逻辑编程
• 深度学习
深度学习是利用神经网络进行的学习。
• 灵感来自生物神经网络
• 深度是指有很多中间的学习步骤.
• 需要大量数据
深度学习优劣势
数据量大小与算法表现的关系
随着近年来数据量的增加,深度学习的性能开始体现出优势,也引起更多的关注。
最新机器学习合作伙伴请参考下面链接。
https://www.st.com/content/st_com/en/partner/partner-program/partnerpage.html?key=STM32CubeAI&country=country
目前STM32用作AI应用的优势在于:
• 低功耗
• 通用性 (用1颗芯片既满足AI又满足通用需求)
• 丰富的产品系列
• 工业级品质及10年供货保障
1. 获取数据
ST提供硬件开发板和软件采集数据。
A. 运动、声音类数据
硬件开发板: SensorTile、SensorTile.Box、IOT Node (B-L475E-IOT01A)
购买渠道:
STM32天猫旗舰店
软件:
FP-AI-SENSING1
2. 数据清洗、打标
ST同时提供手机端APP直连硬件开发板,作为数据初筛和收集的平台。
ST BLE Sensor APP (支持Android、IOS,源码开放)
3. 训练神经网络模型
神经网络训练在服务器或者PC端完成,ST不提供方案。
4. 将模型转换为MCU上执行的优化代码
Cube.AI工具是CubeMX的AI扩展包,可以在CubeMX内下载或者在点击下载
支持的神经网络模型框架有Lasagne、Keras、Caffe、ConvNetJs、Tensorflow Lite、可以导出为ONNX标准的框架(PyTorch™, Microsoft® Cognitive Toolkit, MATLAB® 以及更多),最新支持请参考Cube.AI的release note。
Cube.AI 工具具有的功能有:
• 转换模型文件到运行在STM32上的C代码
• 对模型文件做CPU、RAM、Flash资源分析,显示适配MCU型号
• 对模型做整型量化或者深度压缩
• 更多功能更新中…
使用教程请参考,
基于STM32开发人工智能应用
5. 使用训练好的模型分析数据
A. 运动、声音类数据
硬件开发板: SensorTile、SensorTile.Box、IOT Node (B-L475E-IOT01A)
软件:
FP-AI-SENSING1
B. 图像类数据
硬件开发板: STM32H747I-DISCO + STM32F4DIS-CAM或者OpenMV
购买渠道:
STM32天猫旗舰店
OpenMV 中国区官方代理
软件:
FP-AI-VISION1
如何在OpenMV生态系统中集成STM32Cube.AI生成的代码
UCLA: Internet of Things and Embedded Machine Learning
苏州大学王宜怀教授:物体认知系统
http://sumcu.suda.edu.cn/AIwEORS/list.htm