
当你开着自动驾驶汽车时,突然一只兔子跳到了你前方的路上。
通常情况下,以下是发生的过程:汽车的传感器捕捉到兔子的图像;这些图像被发送到计算机进行处理和用于做出决策;该决策被发送到汽车的控制器,以便调整以安全地避免兔子。危机得到解决。
这只是计算机视觉的一个例子,计算机视觉是人工智能的一个领域,它使计算机能够获得、处理和分析数字图像,并基于该分析提出建议或做出决策。
计算机视觉市场正在快速增长,包括从美国国防部的无人机监视,到商用智能眼镜,到避兔自主车辆系统的所有内容。因此,对改进技术的兴趣不断增加。南加州大学Viterbi信息科学研究所(ISI)和明谷电气和计算机工程系(Ming Hsieh Department of Electrical and Computer Engineering, ECE)的研究人员最近完成了DARPA (防卫先进研究计划局)项目的第一和第二阶段,旨在推进计算机视觉技术的进步。
两个工作分布在两个不同平台上
在上述的”路中兔“情境中,“前端”是视觉感应(汽车传感器捕捉兔子的图像),而“后端”是视觉处理(数据进行分析)。这些是在不同的平台上进行的,传统上是在物理上隔离的。
ISI的高级电子主管Ajey Jacob解释了这种影响:“在需要从图像传感器发送大量数据到后端处理器的应用中,物理上分离的系统和硬件会导致吞吐率、带宽和能源效率 bottleneck(瓶颈)。”
为了避免这种瓶颈,一些研究者采用了接近问题的方法,研究如何将后端处理更靠近前端的图像收集。雅各布解释了这种方法论:“你可以将该处理放在一个CPU 上,将CPU放在传感器附近。传感器将收集信息并将其发送到电脑。如果我们假设这是为一辆车的话,那很好。我可以在车里放一个CPU来做处理。然而,假设我有一架无人机。我不能将这台电脑带进无人机内部,因为CPU太大了。而且,我还需要确保无人机有足够的互联网连接和电池,使得数据包能够被传送。”
因此,ISI / ECE团队采取了另一种方法,试图减少或完全消除后端处理。Jacob表示:“我们说的是,让我们在像素本身上进行计算。这样你就不需要电脑了。你不需要创建另一个处理单元。你可以在芯片上本地处理。”
像素内部的前端处理
图像传感器芯片上的AI应用处理被称为像素内部智能处理(IP2)。通过IP2,在像素本身数据的正下方进行处理,并且只提取相关信息。这得益于计算机微芯片的进步,特别是用于图像处理的互补金属-氧化物-半导体(CMOS)。
该团队提出了一种新颖的IP2范式,称为像素内处理内存(P2M),利用先进的CMOS技术使像素阵列能够执行更广泛、更复杂的操作,包括图像处理。
Akhilesh Jaiswal是一个在ISI的计算机科学家,也是ECE的助理教授,他领导了前端电路设计。他解释说:“我们提出了一种新的方式,通过将混合信号模拟计算的进步与半导体芯片的3D集成的进展相结合,将感知、存储和计算融合在摄像头芯片中。”
经过像素内处理后,只有被压缩的有意义的数据向下游传输到AI处理器,大大减少了功耗和带宽消耗。 ISI的高级研究工程师Joe Mathai表示:“我们花了很多时间来确定像素传感器上压缩和计算之间的正确权衡。”
在分析这种权衡之后,团队创造了一个框架,将芯片缩小到传感器的大小。从传感器传输到计算机的数据也非常少,因为数据首先被修剪或计算在像素本身上。
从前端到后端,进入未来
RPIXELS(In-Pixel中的循环神经网络处理,用于高效低功耗异构系统)是DARPA挑战的结果提出的解决方案。它将前端的In-Pixel处理与ISI团队优化以支持前端的背景端结合起来。
在测试RPIXEL框架时,团队看到了有望的结果:数据大小和带宽都减少了13.5倍(DARPA的目标是两个指标都减少10倍)。
ISI的高级计算机科学家安德鲁·施密特表示:“RPIXELS通过将神经网络的前几层直接耦合到像素上进行计算,从而减少了图像处理的延迟(所需的时间)和带宽。这使得基于传感器‘看到’的内容更快地做出决策成为可能。它还使研究人员能够开发新的后端目标检测和跟踪算法,继续进行更准确、更高性能系统的创新。”
“这个项目是南加州大学电子与计算机工程系和信息科学研究所之间合作的一个很好的例子,”电子与计算机工程系的计算机与电气工程教授彼得·贝尔尔说道。“我们将电子与计算机工程系在硬件和机器学习算法领域的专业知识与信息科学研究所在设备、电路和机器学习应用领域的专业知识相结合了。”
下一步是通过把电路放在硅上创建出一个物理芯片,并在现实世界中进行测试,这可能会拯救一些兔子,以及其他一些事情。