i.MX RT1050 是业界首款跨界处理器,将应用处理器上的高性能和高集成度与微控制器的易用性和实时功能结合在一起。 i.MX RT1050 在 Arm Cortex-M7 内核上以 600 MHz 的频率运行,这意味着它绝对具有执行一些复杂的计算的能力,例如浮点算术,矩阵运算等。对于一般的 MCU,它们是 很难克服这些复杂的操作。https://community.nxp.com/extern ... l=http%3A%2F%2Fi.MX[/url]它具有丰富的外围设备,适合于各种应用,在此演示中,PXP(像素管道),CSI(CMOS传感器接口),eLCDIF(增强型 LCD 接口)使我可以轻松地构建摄像显示系统。
图 1 i.MX RT 系列
图 2 i.MX RT1050 框图
计算机视觉(CV)的基本概念
由于各种原因,例如带宽限制,延迟时间,可靠性,安全性等,机器学习(ML)正在走向边缘。人们希望在嵌入式设备上具有边缘计算能力,以提供更高级的服务,例如针对智能扬声器的语音识别和用于监控摄像头的面部检测。
图 3 原因
卷积神经网络(CNN)是进行图像识别和图像分类的主要方法之一。 CNN 基于其共享权重架构和平移不变性特性,使用了需要最少的预处理的多层感知的变体。
图 4 典型的深度神经网络的结构
上面的示例显示了在左侧输入的原始图像,以及它如何遍历每个图层以计算右侧的概率。硬件MIMXRT1050 EVK 板;RK043FN02H-CT(液晶面板)
图 5MIMXRT1050 EVK 板
参考演示代码emwin_temperature_control:演示 emWin 库的图形小部件。cmsis_nn_cifar10:演示卷积神经网络(CNN)的示例,其中使用了 CMSIS-NN 软件库中的卷积,ReLU 激活,池化和完全连接功能。 本示例中使用的 CNN 基于 Caffe 的 CIFAR-10示例。 该神经网络由 3 个卷积层组成,其中散布有 ReLU 激活层和最大池层,最后是一个完全连接层。网络的输入是 32x32 像素的彩色图像,划分为 10 个输出类别之一。注意:这两个演示项目均来自 SDK 库部署神经网络模式图 6 说明了在嵌入式平台上部署神经网络模式的步骤。在 cmsis_nn_cifar10 演示工程中,提供了 3 个卷积层的量化参数,因此在此实施过程中,我直接使用了这些参数,顺便说一句,我从测试集中随机选择 100 张图像作为一轮输入以评估这个模型。通过几轮测试,我得到了模型的精度大约为 65%,如下图所示。
图 6 部署神经网络模式
图 7
cmsis_nn_cifar10 演示项目测试结果CIFAR-10 数据集是通常用于训练 ML 和计算机视觉算法的图像的集合,它由 10 个类别的60000 个 32x32 彩色图像组成,每个类别有 6000 张图(“飞机”,“汽车”,“鸟” ,“猫”,“鹿”,“狗”,“青蛙”,“马”,“船”,“卡车”)。 有 50000 张训练图像和 10000 张测试图像。
嵌入式平台软件结构
上电复位后,将初始化各种组件,例如系统时钟,引脚多路复用器,摄像头,CSI,PXP,LCD 和 emWin 等。然后在 LCD 中显示控制 GUI,按“播放”按钮将在 LCD 中显示摄像头视频,一旦有物体进入摄像头窗口,您可以按“捕获”按钮暂停显示并运行模型以识别物体。 图 8展示了该演示的软件结构。
图 8 嵌入式平台软件结构
对象识别测试这三个图片表示测试结果。
未来的工作使用 Pytorch 框架来训练更好,更复杂的卷积网络以用于对象识别。
|