如今,计算机视觉(CV)技术正处于一个拐点,主要趋势在不断融合,使云技术在微型边缘人工智能设备中变得无处不在。技术进步正在使这种以云为中心的人工智能技术扩展到边缘,而新的发展将使边缘人工智能的愿景变得普遍。
三大技术趋势促成了这一演变。新的瘦神经网络算法适合微型设备的存储空间和计算能力。与传统微控制器(MCU)相比,新硅片架构的神经网络处理效率提高了几个数量级。适用于小型微处理器的人工智能框架正在日趋成熟,因此减少了在边缘开发微型机器学习(tinyML)实现的障碍。
当所有这些元素结合在一起时,毫瓦级的微型处理器可以托管强大的神经处理单元,这些单元可以利用成熟且易于使用的开发工具链执行极其高效的卷积神经网络CNN(视觉处理最常见的机器学习架构)。这将在我们生活的方方面面带来令人兴奋的新用例。
数字图像处理(过去的称呼)的应用范围广泛,从半导体制造和检查到高级驾驶辅助系统(ADAS)功能(例如车道偏离警告和盲点检测),再到移动设备上的图像美化和操作。展望未来,边缘计算机视觉技术将能实现更高水平的人机界面(HMI)。
过去十年来,HMI取得了显著的发展。除了传统的键盘和鼠标等界面之外,现在还具有了触摸显示屏、指纹识别器、面部识别系统和语音命令功能。虽然这些方法明显改善了用户体验,但它们还有另一个共同属性——它们都会对用户操作做出反应。HMI的下一个阶段将是能通过上下文感知了解用户及其环境的设备。
上下文感知设备不仅可以感知用户,还可以感知他们的操作环境,所有这些都是为了做出更好的决策,实现更有用的自动化交互。例如,笔记本电脑可以通过视觉感知用户何时集中注意力,并可以相应地调整其行为和电源策略。Synaptics的Emza Visual Sense技术已经实现了这一点,原始设备制造商(OEM)可以利用该技术在用户不观看显示屏时自适应调暗显示屏,从而降低功耗(图1)。通过跟踪旁观者的眼球(旁观者检测),该技术还可以通过提醒用户并隐藏屏幕内容直到安全为止来增强安全性。
图1:戴尔笔记本电脑使用Synaptics的Emza Visual Sense来实现智能隐私和效率功能,例如“视线移开检测”自适应屏幕调暗。(图片来源:Synaptics)
另一个例子是,智能电视机可以感知是否有人在观看以及从哪里观看,然后相应地调整图像质量和声音。当无人在场时,它可以自动关闭以节省电量。或者,空调系统可根据房间占用情况优化电力和气流,以节省能源成本。从财务角度来看,建筑物中智能能源利用的这些例子对于家庭办公混合工作模式来说变得更加重要。
从面向安全监管的对象检测(即限制区域、安全通道、防护装备执行)到面向制造过程控制的异常检测,视觉传感在工业领域也有无数的用例。在农业科技领域,计算机视觉技术支持的作物检验以及状态和质量监控都至关重要。
无论是在笔记本电脑、消费电子产品、智能楼宇传感器还是在工业环境中,当微型便宜的微处理器、微型神经网络和优化的人工智能框架使设备更加智能和节能时,这种环境计算能力就得以实现。
随着Alex Krizhevsky及其同事发布AlexNet,2012年成为了计算机视觉开始从启发式计算机视觉方法转向深度卷积神经网络(DCNN)的转折点。那年DCNN赢得ImageNet大规模视觉识别挑战赛(ILSVRC)后就一发不可收了。
从那时起,全球各地的团队不断寻求更高的检测性能,但不太关心底层硬件的效率。因此,CNN仍然需要大量的数据和计算。这种对性能的关注对于在云基础设施中运行的应用程序来说是很好的。
2015年,ResNet152推出。它有6000万个参数,单次推理操作需要超过11Gflops,并且在ImageNet数据集上表现出94%的top-5准确率。这继续推动了CNN的性能和准确性。但直到2017年,随着Google的一组研究人员发布MobileNet,我们才看到了效率的提升。
MobileNet(针对智能手机)比当时已有的神经网络(NN)架构要轻得多。以MobileNet V2为例,它有350万个参数,需要336Mflops。这种大幅减少最初是通过艰苦的劳动实现的——手动识别深度学习网络中的层,这并没有增加太多的准确性。后来,自动化架构搜索工具进一步改进了层的数量和组织。MobileNet V2在内存和计算负载方面比ResNet192“轻”大约20倍,展示了90%的top-5准确率。一组新的移动友好型应用程序现在可以使用人工智能。
借助更小的神经网络并清楚地了解所涉及的工作负载,开发人员现在可以为微型人工智能设计优化的芯片。这催生了μNPU。通过严格管理内存组织和数据流,同时利用大规模并行性,这些小型专用内核执行神经网络推理的速度比典型MCU中的独立CPU快10倍或100倍。Arm Ethos U55 microNPU就是一个例子。
图2:身体关键点估计等复杂的CNN模型,正在带有NPU的新一代微控制器上运行。(图片来源:Synaptics)
让我们看一下μNPU影响的具体示例。计算机视觉的基本任务之一是目标检测。对象检测本质上需要执行两项任务:定位(确定对象在图像中的位置)和分类(识别检测到的对象)(图2)。
Emza在Ethos U55 μNPU上实现了人脸检测模型,训练了对象检测和分类模型,也即单次检测器的轻量级版本,它经过Synaptics优化,仅检测人脸类别。结果令我们惊讶,模型执行时间不到5ms:这与强大的智能手机应用处理器(如Snapdragon 845)的执行速度相当。当使用四个Cortex A53内核在Raspberry Pi 3B上执行相同的模型时,执行时间延长六倍。
所有像机器学习这样复杂的技术的广泛采用,都需要有良好的开发工具。Google的TensorFlow Lite for Microcontrollers(TFLM)是一个旨在更轻松地训练和部署tinyML AI的框架。对于完整TensorFlow涵盖的运算符子集,TFLM会为解释器和在μNPU上运行的模型发出微处理器C代码。来自Meta的PyTorch Mobile框架和Glow编译器也瞄准了这一领域。此外,如今有相当多的人工智能自动化平台(称为AutoML),可以对微小目标的人工智能部署的某些方面自动化。例子包括Edge Impulse、Deeplite、Qeexo和SensiML。
但为了能够在特定硬件和μNPU上执行,必须修改编译器和工具链。Arm开发了Vela编译器,可优化U55 μNPU的CNN模型执行。Vela编译器通过自动在CPU和µNPU之间拆分模型执行任务,使包含CPU和μNPU的系统变得简单。
更广泛地说,Apache TVM是一个适用于CPU、GPU、NPU和加速器的开源端到端机器学习编译器框架。TVM micro的目标是微控制器,其愿景是能在所有硬件上运行所有人工智能模型。AI框架、AutoML平台和编译器的演变,使开发人员可以更轻松地利用新的μNPU来满足其特定需求。
基于机器学习的边缘视觉处理正变得无处不在。硬件成本正在下降,计算能力正在显著增强,新的方法使训练和部署模型变得更加容易。所有这些都减少了采用的障碍,并增加了计算机视觉AI在边缘的使用。
即使微型边缘人工智能变得越来越普遍,我们仍然还有很多工作要做。为了使环境计算成为现实,我们需要为许多细分市场的长尾用例提供服务,这可能会带来可扩展性挑战。在消费品、工厂、农业、零售等领域,每项新任务都需要不同的算法和独特的数据集进行训练。解决每个用例所需的研发投资和技能组合,仍然是当今的主要障碍。
人工智能公司可以通过开发丰富的模型示例(“模型动物园”)和应用程序参考代码来围绕其NPU产品升级软件,从而最好地填补这一空白。在此过程中,它们可以实现更广泛的长尾应用,同时通过针对目标硬件优化正确的算法来确保设计成功,以在规定的成本、尺寸和功耗限制内解决特定的业务需求。
Krizhevsky A, Sutskever I, Hinton GE (2012) ImageNet Classification with Deep Convolutional Neural Networks. NIPS’12 Proc 25th Int Conf Neural Inf Process Syst 1:1097–1105
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications https://arxiv.org/pdf/1704.04861.pdf
Elad Baram是Synaptics公司低功耗人工智能总监。他于2023年随着Synaptics收购Emza Products加入该公司。Baram此前曾在SanDisk担任产品管理职务。他拥有以色列本古里安大学通信系统工程学士学位。
(原文刊登于EDN姊妹网站Embedded,参考链接:TinyML computer vision is turning into reality with microNPUs (µNPUs),由Franklin Zhao编译。)
本文为《电子技术设计》2023年10月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。