liqing 2020-04-18
CMOS图像传感器同时感知和处理光学图像
概述
近年来,机器视觉技术有了巨大的飞跃,现在已经成为各种智能系统的一个组成部分,包括自主车辆和机器人。通常,视觉信息由基于帧的摄像机捕获,转换成数字格式,然后使用机器学习算法(如人工神经网络(ANN)1)进行处理。然而,大量(大多是冗余)数据通过整个信号链,导致低帧速率和高功耗。为了提高人工神经网络中后续信号处理的效率,人们发展了各种可视化数据预处理技术。在这里,我们证明图像传感器本身可以构成一个神经网络,它可以同时感知和处理光学图像,而无需延迟。我们的装置是基于一个可重构的二维(2D)半导体光电二极管阵列,网络的突触重量存储在一个连续可调的光响应矩阵中。我们演示了有监督和无监督学习,并训练传感器对光学投影到芯片上的图像进行分类和编码,其吞吐量为每秒2000万箱。
摄像头 CMOS 构成一个神经网络,它可以同时感知和处理光学图像
作为各家厂商比拼的重点,今天手机上的摄像头已经做到了一亿像素,而摄像头感光器件也是典型的半导体芯片,本质是二极管,这类精密的结构用来做神经网络运算效果如何?最新一期《自然》杂志上的研究告诉我们:速度是传统处理方法的上千倍。
对于计算机视觉,镜头是它的眼睛,获取丰富的视觉信息后就可以传递给处理单元,并依靠它实现各种视觉能力。这是 CV最常规的范式,也最符合我们的直觉,但是你会发现有两大问题。
首先,从镜头传递信息给处理单元,这一步并不简单,尤其是在使用云计算的情况下,这都怪视觉信息太丰富了。其次,处理单元的工作也不简单,计算量庞大的视觉模型常常让人望而却步。
而在这篇 Nature 最新研究中,研究者表明图像传感器本身也可以「印刻」神经网络,它能同时担当感光与处理图像这两大功能,且还没有延迟。更重要的是,这种机器
视觉芯片比传统卷积神经网络要快上千倍。只要一块芯片,相机秒变智能终端。
与人脑一样,新芯片能以纳秒级的速度感知、分类简单的图像。
除了快以外,因为芯片采用的基本元件是光电二极管,只依靠光就能「发电」并完成计算,运行速度受限于电路中电子的速度。
目前,这项由维也纳科技大学提交的研究已发表在 3 月 4 号的《Nature》杂志上。
为芯片印刻神经网络
为了将神经网络「印刻」到图像传感器上,研究者在芯片上构造了一种光电二极管网络,这些光电二极管非常微小,且对光非常敏感。我们可以通过改变电压来增加或减少每个二极管对光的响应,从而调整每个二极管的灵敏度。
实际上,这些光电传感器网络就等同于神经网络,它们能够执行简单的计算任务。改变光电二极管的光响应强度会改变网络中的连接强度,也就类似于神经网络中的权重。因此,该芯片巧妙地将光学传感与神经形态计算相结合。
a 为神经网络的二极管阵列,具有相同颜色的子像素会并联在一起;b 为光电二极管阵列中单个像素的电路图;c 与 d 就是我们熟悉的神经网络模型,它们可以「内嵌」到该芯片中。
传感器是由一组像素组成,且每个像素代表一个神经元。同时,每个像素再依次由若干个子像素组成,每个子像素代表一个突触。每个光电二极管都基于一层二硒化钨 ( tungsten diselenide ),是一种对光有响应且可调的二维半导体。这种可调节的光响应度就类似于神经网络中的权重。
研究者表示,将光电二极管排列成 9 个像素的方阵,每个像素带有3 个二极管。当某张图像的光线映射到芯片后,会产生、组合各种二极管电流,从而完成硬件阵列提供的模拟计算形式。也就是说,只要感受到光,片上「神经网络」就开始计算了。
训练神经网络
整个阵列可以进行训练以执行视觉任务,因为阵列产生的电流与预测电流中的不一致,研究者可以在计算机上分析并调整权重,从而更新芯片上的神经网络。虽然训练过程中是需要时间与计算资源的,但一旦训练完成,芯片将能急速地处理视觉任务。
科学家基于这些光电二极管间的连接方式创建了一个神经网络,并且可以训练这些神经网络将图像分类为字母「n」「v」或「z」。
「我们的图像传感器不会在工作时消耗任何电能。」Mennel 说,「被感知的光子会提供电流。」
在实验中,研究者使用激光来投影「v」和「n」到神经网络图像传感器中。传统的计算机视觉技术通常能在每秒处理 100 帧,可能一些更快的系统能够每秒处理 1000 帧。Mennel 表示,相比之下,「我们的系统差不多能每秒处理 2000 万帧。
a 为训练分类器与自编码器的实验配置,b 为用于测量 time-resolved 的实验设置,c 为光学实验的近景照片。
Mennel 提到,系统运行的速度只受限于芯片中电子的速度。原则上,这一策略在皮秒内就可以完成,比现有的视觉方法快 3 到 4 个量级。
除了字母识别与分类模型,研究者在实验中还测试了自编码器模型。该模型在存在信号噪声的情况下,传感器计算阵列也可以学习图像的关键特征,并解码以构建接近原始图像的生成图。只要训练完成,这种无监督生成模型的推断速度同样非常快。
所以,芯片到底有什么用?
这样的传感器有什么用途呢?「在这一阶段,这一技术主要用于特定的科学研究,如流体动力学、燃烧进程、或机械故障处理。」Mennel说,「对于更复杂的任务,如自动驾驶中的机器视觉,我们可能需要更高的复杂度。」
在投入实际应用前,这种感光+计算的芯片还有很长的路要走。对于真实视觉信息而言,它还包含三维信息、动态图像以及视频的时间轴等。而当前的图像感知技术都只能将三维压缩到二维,芯片也就丢失了很多信息。
与此同时,作者表示,芯片昏暗条件下需要重新设计,以增加可检测的光强度范围。这种「重新设计」需要高压并消耗大量能源。最后就是半导体制作能力了,这种超薄半导体难以大面积生产,且难以加工。
不过尽管面临着重重阻碍,但将神经网络与感光能力结合到一起,在感光的同时产生电流,在产生电流的同时完成视觉任务,这样的芯片还是非常有意思。