概述
目前,视觉应用在物联网发展领域备受关注。不论是可视门铃、会议室监控、家庭安全摄像头或者是智能零售应用,诸多创新型公司纷纷借助人工智能 (AI) 和机器学习 (ML) 技术,大力开发经济高效的成像解决方案。对于这一领域的开发者来说,提高准确性和效率变得越来越重要。
简介
Plumerai 总部位于伦敦,专注于在小型嵌入式设备上高效地执行复杂的 AI 辅助计算机视觉任务,诸如人员检测,包括可识别熟悉的面孔、车辆和宠物。Plumerai 工程师开发了一个实时人员检测应用程序,并将其移植到了基于 Arm Cortex-M85 的瑞萨 RA8D1 微控制器 (MCU) 上运行,从而利用 Arm Helium 矢量扩展技术,加速神经网络,通过少量的系统资源便可实现每秒 13 帧的高性能。
挑战
在资源受限的嵌入式设备上运行基于神经网络的计算机视觉任务(例如人员检测)颇具挑战性。此类应用程序需具备高计算性能和低内存占用。
传统上,微控制器不支持 SIMD (单指令多数据) 指令,无法实现并行处理和性能的提升。引入 Helium 矢量扩展(也称为 Cortex-M 矢量扩展技术,MVE)可以有效弥补这一欠缺。
将所有数据都保留在设备端,而不依赖于云连接,以保障用户隐私性并增强解决方案的安全性。
解决方案
Plumerai 利用 Cortex-M85 上的 Helium 矢量扩展来加速其人员检测神经网络。
Plumerai 构建紧凑型神经网络的方法涉及到垂直整合,需同时考虑所有 AI 层。换句话说,他们并不是将数据、模型、训练、推理和硬件分开来处理。这种整体方法对于能效而言至关重要。
Plumerai 的方法不仅关注模型架构,这只是整个处理过程的一部分,在此基础上,还要考虑如何将组件与数据紧密地联系在一起。数据对于小型神经网络来说至关重要,因此收集、整理和正确标记训练数据非常关键。
鉴于 Arm 技术在市场的应用普及性和丰富广泛的生态系统,Plumerai 选用了 Arm 架构。通过在 Cortex-M MCU 上运行软件,Plumerai 实现了稳定的图像捕捉性能,每秒可捕捉 2-5 帧。当采用 Cortex-M85 Helium 扩展的高性能 RA8x1 MCU 面向市场时,他们表现出了浓厚的兴趣。
Helium 是 Cortex-M 系列处理器的矢量扩展,可以为执行 AI 和 ML 工作负载的小型节能设备提供增强性能。Helium 包含硬件和软件优化,有助于在 Cortex-M 处理器上更快地执行神经网络模型,使其适用于各种应用,包括智能传感器、物联网设备、可穿戴设备等
他们借助 Helium 更宽的矢量寄存器和增强型点积 EDP 等新的 SIMD 指令,加速卷积和矩阵乘法等关键神经网络层。
Plumerai 的优化推理引擎在性能最大化方面也发挥了关键作用。经测量,它比在采用 Helium 技术的微控制器上运行 TensorFlow Lite 推理模型的速度快 3.5 倍。得益于 Helium 的加速能力,Plumerai 将人员检测的工作速度提高了 4 倍;在运行速度仅为 480 Mhz 基于 Cortex-M85 的 RA8D1 MCU 上,其性能提升到了 13 帧率 (FPS)。
这不仅提高了成像速度,还提升了准确率,进而为人员统计等新应用带来了全新可能。此外,它还可降低整体系统功耗:更高的帧速率意味着更快地捕捉和分析帧数。因此,如果帧中没有检测到人员,系统便可以更快地进入休眠状态。
Plumerai 能够在配备基于 Cortex-M85 的 RA8D1 MCU 的瑞萨评估板上实现这一点,且仅需占用 300 KB RAM (随机存取存储器)。对于较为复杂的 AI 视觉任务,整个可执行二进制文件的大小仅为 1.5 MB。RA8D1 MCU 具备 2MB 闪存、1MB 片上 SRAM 存储器以及 16 位摄像头接口,无需任何外部存储器或其他组件即可打造高质量的人员检测全面解决方案,并且能够应对遮挡、不同姿势和照明不佳等棘手情况。除此之外,Plumerai 还能够实现公司的一大关键用户目标,即提供隐私友好的解决方案,可以完全在设备端运行,无需云端处理。因此不会在云端存储或传输任何图像。
此外,公司还构建了自己的优化推理引擎和框架,并被 ML Commons 联盟评为全球最快的推理引擎及框架。
结论
Helium 矢量扩展助力 Plumerai 在资源受限的嵌入式设备上打造高性能计算机视觉应用。相关实现方案既展示了 Helium 的出色能力,也为其他从事嵌入式 AI 工作负载的开发者提供了参考模型。
全部0条评论
快来发表一下你的评论吧 !