基于MAX78000FTHR的机器学习实时处理方案

描述

MAX78000本质上是一个ARM Cortex-M4F微控制器,周边有很多硬件,其中包括Maxim设计的神经网络(CNN)加速器(图1)。这种机器学习(ML)支持使芯片能够实时处理诸如识别关键字甚至人脸识别等,而不会浪费功率预算。

神经网络

1.MAX78000包括Cortex-M4F和RISC-V内核以及CNN加速器。

该芯片还包括一个引人注意的是RISC-V内核,但是,由于其太新了,因此Cortex-M4F是主要处理器。甚至CNN的支持都还处于beta阶段之外,但这些都是本文的重点。

MAX78000具有通常的微控制器外设功能,包括一系列串行端口,定时器和并行/串行接口,例如I2S。它甚至具有并行摄像头接口,在模拟外设中有一个8通道10位sigma-delta ADC,也包括四个比较器。

该芯片具有512kB的闪存以及128kB的SRAM和引导ROM,该引导ROM允许更复杂的引导过程,例如安全引导支持。有片上密钥存储以及CRC和AES硬件支持,未来将获得CNN支持。基于Github的文档可一览无余。

开发工具是基于Eclipse的免费开发工具,而Eclipse是其他平台(例如德州仪器的Code Composer Studio和Silicon Labs的Simplicity Studio)的基础。 Maxim并没有做太多的定制工作,但是有足够的便利来使用诸如MAX78000之类的硬件,同时使第三方插件和工具的使用变得容易,这在处理云或物联网开发环境时非常方便。默认安装包括示例和教程,可轻松测试CNN硬件和其他外围设备。

MAX78000开发板具有两个LCD显示器。较大的3.5英寸TFT触摸显示屏适用于处理器,而第二个较小的显示屏则提供电源管理信息。该芯片没有内置显示控制器,使用串行接口与较大的显示器配合使用。功率跟踪支持非常完善。

开发板带有一个16 MB的QSPI闪存芯片,可以方便地存储图像数据。此外,闪存芯片的USB桥接器允许更快,更轻松地下载数据。

该开发板还添加了一些有用的设备,例如数字麦克风,3D加速度计和3D陀螺仪。几个按钮和LED完善了外围设备,支持JTAG。

如前所述,这次没有使用RISC-V内核,而是采用为Cortex-M4F生成C代码以设置CNN硬件。 CNN硬件旨在处理单个模型,但是可以快速更换新模型。

与大多数机器学习硬件一样,大多数程序员都倾向于隐藏底层硬件,从而提供了更多的黑盒操作,您可以在其中设置盒子并将其数据馈入另一端。如果可用模型,这将很好地工作;这是用不同的信息或使用经过训练的模型来训练。开发和训练新模型时面临挑战,这是我在此将避免讨论的问题。

我确实尝试了Maxim提供的两种模型,包括关键字搜索和面部识别(FaceID)应用程序。 Keyword Spotting应用程序本质上是语音识别系统,可用于侦听关键字以启动基于云的服务,这是大多数基于Alexa的语音系统的工作方式,因为云在识别关键字后会处理所有内容。

另一方面,能够识别许多不同的关键字使构建基于语音的命令系统成为可能,例如许多汽车导航系统中使用的命令系统。Cortex-M4F会处理输入,并进行一些调整以向CNN加速器提供合适的输入(图2)。检测到的类输出指定识别哪个关键字(如果有)。然后,应用程序可以利用此信息。

神经网络

2.在将信息移交给CNN加速器之前,Cortex-M4F会处理初始音频输入流。

FaceID系统突出显示了MAX78000的摄像机支持(图3)。这可用于识别人脸或识别在装配线上移动的特定零件。样品应用程序可以使用固定输入(如图所示)或从摄像机进行操作。

3.FaceID应用程序强调了CNN实时处理图像的能力。

使用默认值会变得很容易。Maxim提供所有示例代码和过程。这些可以稍作修改,但是重新训练模型是一项涉及更多的工作,尽管Maxim的文档确实涵盖了这一工作。这些示例概述了需要做什么以及需要更改哪些内容以定制解决方案。

将模型和应用程序更改为电动机振动监控系统之类的工作将是一项艰巨的工作,需要一种新的模型,但是该芯片很可能能够处理。它将需要更多的机器学习和CNN支持。

该工具集支持TensorFlow和PyTorch等平台的模型(图4)。这很有用,因为训练不是由芯片处理的,而是在PC或云服务器等平台上进行的。同样,可以对模型进行完善和在高端硬件上进行测试以验证模型,然后可以对其进行修剪以适合MAX78000。

神经网络

4.PyTorch只是MAX78000处理的框架之一。训练不是在微型计算机上进行的。 Maxim的工具将模型转换为驱动CNN硬件的代码。

此时,CNN加速器文档以及RISC-V支持都很少。Maxim的CNN模型编译器可将C代码导入到Eclipse IDE中。调试常规应用程序代码与通过JTAG进行远程调试。

Maxim还提供MAX78000FTHR,它是简化评估板(图5),它没有显示器或其他外围硬件,但大多数I / O是裸露的。单是开发板仅有25美元。批量购买时,该芯片的单价约为15美元。

5.简化评估板MAX78000FTHR

MAX78000的使用非常有趣。这是一个支持边缘ML应用程序的绝佳平台。但是,请注意,尽管这是一种非常低功耗的解决方案,但它与低端Nvidia Jetson Nano都不一样。检验电源跟踪支持很有趣,因为低功耗可能是许多MAX78000应用中的关键因素,尤其是基于电池的解决方案。
编辑:hfy

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分