隆重介绍恩智浦MCU机器学习教育套件——OpenART

Posted TsinghuaJoking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隆重介绍恩智浦MCU机器学习教育套件——OpenART相关的知识,希望对你有一定的参考价值。

  各位看官新年好,小编在这里祝各位童鞋在2021年里

GOOD GOOD STUDY
DAY DAY UP !

  经常关注恩智浦MCU加油站的童鞋应该熟悉,在过去的一年里,加油站陆陆续续发布了很多篇关于AI机器学习的文章。里面有介绍神经网络基础知识的,模型设计原理的,还有一些人脸识别,图像分类的示例。

  很多童鞋看了心痒痒,想要验证一番。奈何没有配套软硬件,无法施展。是不是有种空有屠龙技,没有风火轮,混天绫的遗憾啊!

  在这里小编向大家隆重推出,基于MCU平台的AI机器学习开发套件:OpenART。

  智能车参赛的童鞋可能已经听说过了。没错,OpenART的首发亮相就是今年智能车竞赛,AI视觉组里的图像识别模块。

  OpenART的软件是由NXP研发。原型开发使用的硬件平台是i.MX RT1060 EVK,最近又乔迁到了逐飞(SeekFree)公司的SeekFree ART开发板上。野火公司也很快会推出一款Fire ART开发板。这三款开发板使用的都是i.MX RT1060系列高性能跨界处理器。但OpenART项目不止限于高性能的AI应用,后面,我们还打算移植到与逐飞合作的一款基于LPC55xx的IoT开发板。

▲ NXP i.MX TR1060-EVK
隆重介绍恩智浦MCU机器学习教育套件——OpenART
▲ OpenART野火版
隆重介绍恩智浦MCU机器学习教育套件——OpenART
▲ OpenART逐飞

  OpenART的硬件采取模块化设计,有两排扩展口,其中一排兼容树莓派的通信接口,支持多种数据采集运算。高度集成设计,尺寸与名片大小相仿,可以方便集成到各种使用场景。

输入端口:

  • OMV4 Camera
  • 板载支持2个I2S麦克风,可扩展8个I2S麦克风阵列
  • 板载支持加速传感器,陀螺仪,压力,温湿度,光线传感器
  • 支持8路ADC数据采集
  • 支持SPI高速WIFI模块

输出控制端口:

  • 一只贴片喇叭或者3.5毫米耳机接口,由MQS.LEFT通过D类功放来驱动
  • RGB LED和一个独立LED
  • USB device口,模拟出虚拟串口
  • TF卡接口,存储脚本和数据
  • SPI LCD显示
  • IO扩展8080
  • 云台载具(PTV)扩展口

  看到这些这些明星阵容,各位童鞋有没有怦然心动啊?没错,就是这么大方。  OpenART的BSP主要实现如下功能:

⊙ 基于神经网络的机器学习和深度学习比如:

  • 图像处理,图像分类,人脸识别
  • 语音触发,音源定位
  • 多媒体数据的机器学习(异常检测,姿态识别,智能控制策略)
  • 智能可运动物体(模仿+强化学习)-机电联动:云台载具
  • 模型验证,人工智能教育

⊙ OpenART里包含了3个各有千秋的神经网络推理引擎  分别是NN, NNCU, 和TF。

  • NN 这是OpenMV在3年前最早实现的简易引擎,是开山之石般的存在,也启迪了我们的工作。  虽然现在看上去比较单薄了,但可以运行OpenMV早期提供的一些例子(.network文件),包括识别手写数字的lenet.network。它需要Caffe来训练模型,并且使用OpenMV提供的2个脚本来量化,只支持线性拓扑。不建议为它训练新模型。

  • NNCU,去年了解过电磁AI的同学可能对它已经有印象了。  NNCU是我们基于CMSIS-NN和自己的扩展制作的一套完整的工具,使用CMSIS-NN传统API,可以达到最高的性能。尤其是在搭配了我们特色的权重缓存功能,在大型模型上的性能提升可达2-5倍!不过,由于量化机制比较简单,只支持2的方幂的放大倍数,在 8位量化精度在大型模型上稍有下降。

  NNCU使用Keras来训练模型,它的工具可以从https://pan.baidu.com/s/1eQADEHg8UVhTsZWT_lRRgw来下载。

  • TF,这是OpenMV最新基于TensorFlow lite micro制作的引擎,使用CMSIS-NN的新一代”_s8” API,量化系数不再有2的方幂的限制,并且每个通道有自己的量化系数,可以达到最高的8位量化精度,但牺牲了少量性能。它甚至可以支持浮点模型,当然这也是以牺牲性能为代价的。
    TF可以导入.tflite文件,一般使用TensorFlow来训练模型。

  下面的小表总结了这3个引擎各自的特色。

  由于NNCU和TF都可以使用Keras API,我们建议使用Keras或tf.keras训练模型。如果模型不大(小于10层主运算)先使用NNCU上量化,否则先用TF量化,在精度与性能间权衡。

  ★ 机器视觉处理:OpenART项目包含了OpenMV软件在i.MX RT1060上的移植,可以使用OpenMV的功能和示例。

  ★ MCU教育。基于MicroPython,实现了python对基础外设的控制。并且独创了管脚动态管理模块CMM,通过CMM动态配置管脚,不用更改烧录固件既可以切换管脚不同的功能。  从图中可以看出,OpenART集成了现在最火爆的RTOS:RT-Thread。基于RTOS,各位童鞋可以愉快地添加自己的应用而不影响其它模块。而且通过RT-Thread的开发环境,可以集成RT-Thread Online packages。

  试想一下机器学习+Cloud,是不是很炫酷呢!

▲ OpenART工具架构

  小编在这里透露一下,OpenART预计第一季度,也就是三月份与大家见面。代码计划在GitHub开源。未来可能会允许有想法,有能力的童鞋提交一些比较好的应用代码,软件模块。是不是特别的期待呢??


以上是关于隆重介绍恩智浦MCU机器学习教育套件——OpenART的主要内容,如果未能解决你的问题,请参考以下文章

痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事- 从Serial(1-bit SPI) NOR恢复启动

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1160/1170)...

NXP(恩智浦)iMX8M Plus 处理器介绍

NXP(恩智浦)iMX8M Plus 处理器介绍

痞子衡嵌入式:恩智浦机器视觉模块OpenMV-RT那些事- 初体验

NXP恩智浦VEGA织女星开发板免费申请!