今天的计算机视觉(CV)技术正处在一个微妙的转折点上。几个主要趋势正在交汇融合,让原本属于云端的AI能力,开始渗透到毫瓦级的边缘设备里。过去我们总觉得“云”是中心,边缘只能做点简单的数据采集;但现在,技术正在把以云为中心的人工智能扩展到最微小的角落,边缘的AI视觉即将变得无处不在。

推动这场演变的,主要有三条技术干线。第一,新的精益神经网络算法,已经能塞进微型设备那点可怜的内存和算力里。第二,新的硅架构为神经网络处理带来了比传统微控制器(MCU)高出几个数量级的效率。第三,针对小型微处理器的AI框架逐渐成熟,大大降低了在边缘开发微型机器学习(tinyML)的门槛。
当这三件事凑到一起,毫瓦级的微型处理器也能拥有强大的神经处理单元。这些单元可以非常高效地运行卷积神经网络(CNN)——视觉处理中最常见的ML架构,而且借助成熟好用的开发工具链,部署起来并不复杂。这意味着,在我们生活的方方面面,都会出现令人兴奋的新用例。
边缘CV的承诺
数字图像处理——我们以前就这么叫它——早就用在半导体制造检测、高级驾驶员辅助系统(比如车道偏离警告、盲点检测),甚至手机上的图像美颜和编辑里了。但向前看,边缘CV正在解锁更高级别的人机界面(HMI)。
HMI在过去十年里变化巨大。除了键盘和鼠标这些传统界面,我们现在有触摸屏、指纹识别、面部识别、语音命令。它们确实提升了用户体验,但有一个共同点:都等着用户主动操作。下一代HMI将不再被动等待——设备能通过上下文感知来理解用户和周围环境,然后主动做出响应。
情境感知设备不仅能感知用户,还能感知它所处的环境,目的只有一个:做出更聪明的决策,实现更有用的自动化交互。举个例子,笔记本电脑可以通过摄像头“看到”用户是不是在盯着屏幕,然后据此调整行为和电源策略。Synaptics的Emza Visual Sense技术已经实现了这一点——当用户不看屏幕时,自动调暗显示器以省电。它还能检测到旁边有没有其他人(旁观者检测),及时提醒用户隐藏屏幕内容,直到“海面平静”。
再比如:智能电视能感知有没有人在看、在什么位置看,然后自动调整图像质量和声音。没人的时候,它可以自动关机省电。空调系统根据房间是否有人,优化送风和制冷,节省电费。这些智能能源利用的场景,在如今家庭与办公室混合办公的模式下,变得越来越重要。
工业领域的视觉感知用例更是数不清:从安全监控(限制区域、安全通道、防护装备检查)到制造过程中的异常检测。农业技术里,作物检查和状态监控也离不开CV。
无论是笔记本电脑、消费电子产品、智能建筑传感器还是工业环境,只要微型且廉价的微处理器、微型神经网络和优化的AI框架能让设备更智能、更节能,这种“环境计算”就会变成现实。
神经网络视觉处理的发展
2012年是计算机视觉从启发式方法转向深度卷积神经网络(DCNN)的分水岭。那一年,Alex Krizhevsky和他的同事发表了AlexNet,DCNN一举赢得ImageNet大规模视觉识别挑战赛(ILSVRC),从此再也没有回头。
之后的好几年里,全球的团队都在追逐更高的检测性能,却很少关注底层硬件的效率。CNN依然是数据和计算的双重“吃货”。这种对性能的狂热在云基础设施里没问题——反正服务器随便堆。
2015年,ResNet152登场,6000万个参数,单次推理需要超过11 Gigaflops,在ImageNet上达到94%的Top-5准确率。性能一路走高,但能效问题越来越突出。直到2017年,谷歌的一群研究者发表了MobileNets,才让效率的火箭开始起飞。
MobileNets——原本是为手机设计的——比当时已有的神经网络架构轻得多。比如MobileNetV2只有350万参数,需要336 MFlops。这种大幅压缩最初是靠人力一点点抠出来的——人工识别那些对精度贡献不大的层,然后砍掉。后来,自动化架构搜索工具让层的数量和组织更优,效率进一步提升。对比一下:MobileNetV2的内存和计算负载大约是ResNet152的1/20,却仍能达到90%的Top-5准确率。一批新的移动友好应用,终于可以用上AI了。
硬件也在不断发展
有了更小的神经网络和对工作负载的清晰理解,开发者开始为微型AI设计专用的硅。于是微神经处理单元(microNPU / µNPU)应运而生。通过严格管理内存组织和数据流,同时充分利用大规模并行性,这些小型专用核心执行NN推理的速度,可以比典型MCU里的独立CPU快10倍甚至100倍。Arm Ethos U55微型NPU就是一个例子。
来看看microNPU到底能带来多大差异。CV里最基本的任务之一是物体检测,它本质上包含两个子任务:定位(找到物体在图里的位置)和分类(识别出是什么物体)。
Emza在Ethos U55 µNPU上部署了一个人脸检测模型,训练了一个轻量版的单镜头检测器(只检测人脸)。结果让人惊讶:模型执行时间不到5毫秒——这跟强大的智能手机应用处理器(比如骁龙845)的速度差不多!而在用四个Cortex A53内核的Raspberry Pi 3B上跑同样的模型,执行时间长了六倍。
AI框架和民主化
任何像机器学习这样复杂的技术,要想被广泛采用,都离不开好用的开发工具。TensorFlow Lite for Microcontrollers(TFLM)就是一个专为tinyML设计的框架,让训练和部署AI更省事。它支持完整TensorFlow的一个子集运算符,能生成微处理器的C代码,然后在µNPU上运行解释器和模型。Meta的PyTorch Mobile和Glow编译器也瞄着这个领域。此外,现在还有不少AutoML平台,比如Edge Impulse、Deeplite、Qeexo、SensiML,可以自动化部分针对微小目标的AI部署工作。
但要在特定硬件和µNPU上执行,编译器与工具链必须做适配。Arm开发了Vela编译器,专门优化U55 µNPU上的CNN模型执行。它自动在CPU和µNPU之间拆分模型任务,大大简化了异构系统的复杂性。
更宏观来看,Apache TVM是一个开源的端到端ML编译器框架,支持CPU、GPU、NPU和翻跟斗。TVM micro瞄准的是微控制器,愿景是“在任何硬件上运行任何AI模型”。AI框架、AutoML平台和编译器都在进化,这让开发人员更容易利用新的µNPU去满足自己的特定需求。
无处不在的边缘AI
边缘侧基于ML的视觉处理会变得无处不在,这个趋势已经很明确了。硬件成本在下降,计算能力在显著提升,新方法让训练和部署模型越来越容易。这些都在降低采用的障碍,让CV AI在边缘的应用越来越广。
不过,就算我们看到微小边缘AI越来越普及,挑战依然存在。想让环境计算成为现实,就得服务好很多细分领域的长尾用例,这可能会带来可扩展性的难题。消费品、工厂、农业、零售……每个新任务都需要不同的算法和独特的数据集来训练。解决每个用例所需的研发投入和技能组合,至今仍是主要障碍。
要填补这个差距,最好由AI公司来出手——他们可以围绕自己的NPU产品,开发丰富的模型示例集(“模型动物园”)和应用参考代码,把软件生态做起来。这样一来,就能覆盖更广泛的长尾应用,同时确保针对目标硬件优化好算法,在既定的成本、尺寸和功耗限制内,解决具体的业务问题。
