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
说,「对于更复杂的任务,如自动驾驶中的机器视觉,我们可能需要更高的复杂度。」

在投入实际应用前,这种感光+计算的芯片还有很长的路要走。对于真实视觉信息而言,它还包含三维信息、动态图像以及视频的时间轴等。而当前的图像感知技术都只能将三维压缩到二维,芯片也就丢失了很多信息。

与此同时,作者表示,芯片昏暗条件下需要重新设计,以增加可检测的光强度范围。这种「重新设计」需要高压并消耗大量能源。最后就是半导体制作能力了,这种超薄半导体难以大面积生产,且难以加工。

不过尽管面临着重重阻碍,但将神经网络与感光能力结合到一起,在感光的同时产生电流,在产生电流的同时完成视觉任务,这样的芯片还是非常有意思。

CMOS图像传感器同时感知和处理光学图像的更多相关文章

  1. 全球CMOS图像传感器厂商

    近期,台湾地区的Yuanta Research发布报告,介绍了其对CMOS图像传感器(CIS)市场的看法,以及到2022年的前景预期. 从该研究报告可以看出,2018年全球CMOS图像传感器的市场规模 ...

  2. CMOS图像传感器理解

    CMOS图像传感器理解 水流方向从左边流向右边,上面有一个开关,拧下去的时候水流停止,拧上去的时候水流打开.左边是水流的源头我们给它起个名字,叫做源端(就是源头的意思嘛),右边是水流出去的地方,也就是 ...

  3. 【图像处理】ISP 图像传感器camera原理

    1.Color Filter Array — CFA 随着数码相机.手机的普及,CCD/CMOS 图像传感器近年来得到广泛的关注和应用. 图像传感器一般都采用一定的模式来采集图像数据,常用的有 BGR ...

  4. 中国摄像头CMOS需求潜力旺盛

    中国摄像头CMOS需求潜力旺盛 CMOS是Complementary Metal Oxide Semiconductor(互补金属氧化物半导体)的缩写.它是指制造大规模集成电路芯片用的一种技术或用这种 ...

  5. 视音频技术作业一:比较CCD与CMOS摄像的区别

    作业详解: CCD与CMOS简介: CCD: CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高.抗强光.畸变小.体积小.寿命长.抗震动 ...

  6. CCD与CMOS的区别

    我们在购买相机或是摄像机时,都会看到使用CMOS镜头或是CCD镜头,那么CCD与CMOS是什么意思呢,CCD与CMOS的区别是什么?首先,让我们了解CCD与CMOS的意思. CCDCCD使用一种高感光 ...

  7. CCD与CMOS的区别?

    我们在购买相机或是摄像机时,都会看到使用CMOS镜头或是CCD镜头,那么CCD与CMOS是什么意思呢,CCD与CMOS的区别是什么?首先,让我们了解CCD与CMOS的意思. CCDCCD使用一种高感光 ...

  8. CCD 与 CMOS

    窗帘快门与全局快门: 窗帘快门,每次只允许一条缝的光线摄入,因此会呈现自上而下的扫描式拍摄,也就意味着画面上的不同高度,其实拍摄的时间是不同的,也就进一步造成了在高速移动的火车上,如果拍摄窗外的景物, ...

  9. CMOS

    CMOS是Complementary Metal Oxide Semiconductor(互补金属氧化物半导体)的缩写.它是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片,是电脑主板上 ...

随机推荐

  1. 如何使用Vue中的slot

    之前看官方文档,由于自己理解的偏差,不知道slot是干嘛的,看到小标题,使用Slot分发内容,就以为 是要往下派发内容.然后就没有理解插槽的概念.其实说白了,使用slot就是先圈一块地,将来可能种花种 ...

  2. Dalvik模式下基于Android运行时类加载的函数dexFindClass脱壳

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78003184 前段时间在看雪论坛发现了<发现一个安卓万能脱壳方法>这篇 ...

  3. WDK 标准数据类型

    刚刚看到vs2012可以完美支持wdk开发,心中窃喜,正要下载,竟然看到xp不在其支持范围内, 这让刚刚从win7换过来的我真是DT,算了,还是和学习资料保持一致,反正学习的重点不是方便 正题: 为了 ...

  4. 矩阵旋转-Eigen应用(QTCreator编辑器)

    * { font-family: "Tibetan Machine Uni", "sans-serif", STFangSong; outline: none ...

  5. 逆向工程初步160个crackme-------2

    有了第一个crackme的经验后,这个crackme用了半个小时就验证成功了.(思路和第一个crackme相似) 动态调试工具:ollydbg (2.10) 文件分析工具:PEID (0.95) 同样 ...

  6. 测试的V模型和W模型

    V模型 :后测试 优点: 1.每一阶段都清晰明了,便于把控开发的每一个过程. 2.既包含了单元测试又包含了系统测试 缺点: 1.测试介入的比较晚,所以开发前期的缺陷无从修改. 2.开发和测试串行. W ...

  7. JavaScrip条件表达式优化

    目录 1,前言 2,多条件if语句优化 3,参数默认值 4,Switch语句优化 1,前言 今早看了一篇文章<JavaScrip实现:如何写出漂亮的条件表达式>,原创于:华为云开发者社区, ...

  8. PSP初体验:求交点

    项目 内容 课程:北航2020春软件工程 博客园班级博客 作业:完成一个平面图形求交点的程序,体验PSP的过程 个人项目作业 我在这个课程的目标是 体验软件开发的全流程 这个作业在哪个具体方面帮助我实 ...

  9. 基于pyqt5和openpyxl和Pyinstaller的青年大学习检查未学习人数的脚本

    前几天接到团支书的一个需求,因为学校给的名单是青年大学习已学习的名单,然而要知道未学习的名单只能从所有团员中再排查一次,过程相当麻烦.团支书跟我抱怨后,刚好我也学过一些操作办公软件的基础.打包pyth ...

  10. [Linux] Shell请求网页

    文件描述符 0:标准输入 1:标准输出 2:报错输出 举例 1 exec 8<> /dev/tcp/www.baidu.com/80 2 echo -e "GET / HTTP/ ...