计算机视觉是从一个众所周知的笑话开始的。1966 年,麻省理工学院教授佩帕特(Seymour Papert)表示:“计算机连接上摄像头,‘描绘它看到什么’这个问题一个暑期项目就能搞定。”半个多世纪以来,人们在嘲笑佩帕特低估难度的同时,却一直在犯一个更根本的错误:摄像头 + 计算机 + 算法 = 机器视觉。很少人质疑用图像序列(视频)表达视觉信息的合理性,更少人质疑是否凭计算机算法就能实现真正的机器视觉。

视频存在“帧率天花板”,难以表达灵敏运动

视觉是生物体的基本功能,负责远距离探测环境,可追溯到生命起源。幽居于颅骨之中的人类大脑,通过 300 多万根神经纤维实时感知外部世界,其中连接每只眼睛的就有 100 多万根,因此人类获取的信息有 70% 以上来自视觉。生物视觉系统采用神经脉冲序列表示环境中的光照刺激,从刺激到行动,就是生物神经网络加工神经脉冲的过程。

生物视觉系统把环境光刺激转换成视觉脉冲流,大脑视皮层根据收到的脉冲流“看见”世界。灵长类眼睛的视网膜中央凹能够以很高的空间分辨率捕获光子,视皮层能够根据过去 50 毫秒左右的神经脉冲流构造出“图像”(瞬态感知),从而“看清”世界,这种现象称为视觉暂留。

视频即静止图像的序列,是随着电影电视技术发展起来的一个人造概念。视频之所以给观众以连续感,正是利用了人类视觉系统的视觉暂留现象:两幅画面刷新的时间间隔小于 50 毫秒,视觉暂留就能接续起来,产生连续视觉感受。需要特别说明的是,在观看真实世界时,视觉暂留的影像随着眼睛传来的神经脉冲流而不断刷新,是高度连续的过程,但在看电影时,神经脉冲是间歇式传来的。对于慢速运动,视觉感知差异不明显,但对快速运动就不同了,例如观看真实的车轮旋转,我们感觉到越来越快直到模糊,但电影里的车轮旋转,却会出现倒转等反常现象。

机器视觉系统采用视频表示视觉信息,除了会出现上述错误外,最主要的问题是时间灵敏度受限于帧率,我们称之为“帧率天花板”,简单地说,机器视觉没法看到比帧率更快的物理现象,因为两帧图像之间的变化过程已经丢失。正是因为这个原因,机器视觉研究者才发展出各种运动估计算法、光流算法等,试图从帧之间的差异估算出来运动过程,但这在生物视觉系统中根本不需要,因为生物视觉过程中根本就没有视频,生物用脉冲流保留了更为精细的时间信息。

因此,要实现真正的机器视觉,需要借鉴生物视觉系统的神经网络结构和信息加工机理,建立起一套新的视觉信息处理理论、技术、标准、芯片和应用系统,我们称之为类脑视觉。实现类脑视觉,首先要有类似眼睛的新型视觉传感器和摄像装置,为此我们研制了仿灵长类视网膜中央凹超速全时视觉感知芯片 SpikeOne(思湃客壹号),它能够像灵长类生物一样感知光线变化并编码为高速脉冲序列,可以形象地称为“超速电眼”。

“超速电眼”的第一个特点是“全时”。“全时”(full time)是指从芯片采集的脉冲序列中重构出任意时刻的画面,从而实现连续视觉感知。这颗芯片模仿的就是灵长类视网膜中央凹,具有全时视觉感知能力。

图1 地址事件表达协议

“超速”是第二个特点。受限于生理限制,灵长类视网膜神经节细胞每秒发放的神经脉冲数往往只有几个,很少达到几十个。“电眼”采用光电器件,脉冲发放频率达到万赫兹乃至更高。我们研究的首款芯片,其脉冲发放频率是 4 万赫兹,“超速”人眼千倍,能够“看清”高速旋转叶片的文字。

传统仿生视觉传感器,不能重现精细图像

早在 20 世纪 50 年代,生理学家就发现生物视网膜中就存在对运动敏感的神经元。1953 年英国神经科学家荷瑞斯·巴洛发现青蛙视网膜有一种神经节细胞对运动斑点敏感,1959 年控制论主要成员莱特文又在青蛙视网膜中发现四种新功能的神经节细胞,同年 Hubel 和 Wiesel 在猫的初级视皮层开创性地发现对移动边缘敏感的神经元。至今,人们已经初步了解了从眼球视网膜到初级视皮层再到高阶视皮层各级神经元反应的大致特性,建立了各种视觉计算模型。但是,受研究手段限制,目前对视觉系统的认识还存在大量空白区,正如 2010 年发表在《NEURON》上的论文《眼睛比科学家坚信的还要聪明:视网膜神经环路内的神经计算》所提醒的,即使是看起来最容易的视网膜,也存在大量不为人知的秘密。

仿生视觉传感器的发展始于 20 世纪 80 年代,其研制和实现是建立在神经科学、生理学等领域对生物视网膜以及生物神经网络的研究基础上,而它的出现又为这些学科领域提供了一种工具,更好地去分析和理解生物感知过程。最早用集成电路模拟生物视网膜的尝试可以追溯到 20 世纪 80 年代末加州理工学院教授卡弗·米德(Carver Mead)和他的学生米莎(Misha Mahowald)实现的“硅视网膜”(silicon retina),模拟了视网膜上视锥细胞、水平细胞以及双极细胞的生物功能。

由于视网膜上细胞连接方式多种多样,既有细胞与细胞之间纵向连接,如光感受器到双极细胞再到神经节细胞构成独立通路;还有侧向连接,如无长突细胞、水平细胞等;另外神经元之间还存在“间隙连接”(gap junction)。而集成电路中不允许如此稠密的三维连线,这也就造成了集成电路难以模拟实际视网膜神经网络的问题,即“连线问题”(wiring problem)。正因为神经元之间的复杂连接,脉冲信号在神经元之间的传递是异步的,如何在神经形态系统中模拟这一特性呢?1990 年,Mead 团队提出了一种新型的集成电路通信协议——“地址—事件表达”(Address-Event Representation,简称 AER)。其特征在于传感器上的每个像素被赋予(x,y)坐标,像素则模拟了神经元的脉冲发放,其产生的脉冲以事件(event)的形式输出;当有事件产生时,按照坐标读出事件,而不像传统数字相机那样读出整个像素阵列的数据,从而实现了事件的异步读出。

随后的近 30 年间,出现了大量基于 AER 协议的仿生视觉传感器。2003 年,Culurciello 提出模拟章鱼视觉的章鱼视网膜相机。2004 年,Boahen 提出了 Parvo-Magno 视网膜,模拟了外侧膝状体的结构和功能。2007 年,Bermak 等人提出了基于首次脉冲发放时间(time-to-first-spike,简称 TTFS)模型的视觉传感器。2008 年,Lichtsteiner 研制出动态视觉传感器(dynamic vision sensor,简称 DVS),擅长捕捉高速运动,被应用于自动驾驶、类脑计算等领域并引起大量关注,具有里程碑式的意义。但 DVS 的一大缺陷是无法获取包含自然纹理的精细图像,因此研究者们针对 DVS 进行了改进,比较有代表性的是 Posch 提出基于异步时间的 ATIS 图像传感器、Delbruck 提出的 DAVIS 传感器以及陈守顺教授提出的 CeleX 传感器,分别在 DVS 电路的基础上引入了额外电路获取像素光强,能够一定程度上解决 DVS 无法进行纹理重构问题。然而,这些“打补丁”的方式不能解决 DVS 只能捕获运动特征的根本问题,存在着脉冲与纹理图像的不匹配、静态区域更新不及时等缺陷。

图2 仿生视觉传感器的发展

笔者团队从 2015 年开始围绕灵长类初级视觉系统的解析仿真开展研究,实现了灵长类中央凹的精细建模,提出了仿灵长类视网膜中央凹结构和信号处理机制的视觉信息表示和编码模型,既能够捕捉高速运动,同时还能重构视频摄像机才能拍到的精细纹理图像,无论是运动区域还是静态区域都有完整的脉冲信号响应,相比传统视频相机和动态视觉传感器及其衍生设备都具有显著的优势。

新视觉编码模型,重现任意时刻精细图像

灵长类哺乳动物的视网膜中央凹区域为其提供了敏锐的视觉。中央凹区域感光细胞与双极细胞、神经节细胞均为一对一连接;光信号经感光细胞转化为电信号及化学信号后,再经双极细胞传递至神经节细胞,最后以神经元脉冲的形式传递至大脑视觉皮层,形成精细视觉。中央凹结构是少数灵长类动物和鹰等高等动物所特有的,因此也只有这些动物才具有我们人类熟悉的精细视觉。

中央凹之外的视网膜区域称为外周,感光细胞、双极细胞、神经节细胞是多对一连接,信号在传递过程中不断被整合。传统仿视网膜传感器模拟的是外周细胞,主要实现的是对运动敏感的视觉功能,可以像青蛙或蛇那样检测到运动目标,但不能像人类一样精细成像。

为了能够精细成像,我们首先对灵长类视网膜中央凹的细胞连接结构以及信号处理过程进行了精细仿真,并在此基础上设计新型的视觉信息采样模型(fovea-like sampling model,简称 FSM,如图 3 所示),提出了新的视觉传感器结构,已经获得专利授权,并研制了基于该模型的超速全时视觉芯片。

图3 仿视网膜中央凹视觉信息编码模型(FSM)

在 FSM 模型中,每个像素都包含一个光感受器、一个积分器和一个阈值比较器。光感受器模拟了视网膜中的感光(主要为视杆细胞和视锥细胞),负责将光信号转换为电信号。积分器则是对光电转换后的光生电荷按照时间进行累积,从而得到累积强度值,累积强度值将不断与脉冲发放阈值进行比较,一旦达到发放阈值则产生一个脉冲,同时释放一个复位信号,清空积分器中的所有电荷,并进入下一个新的积分周期。

由于不同像素所接受的光强有所差异,因此积分器的积分速率并不相同,也即意味着发放一个脉冲所需的时间也不尽相同。从时空域上看,所有像素产生的脉冲信号之间呈现出异步性。一个像素输出的脉冲信号按照时间先后顺序排列成“脉冲序列”,所有像素产生的脉冲序列按照空间位置关系排列成“脉冲阵列”,脉冲阵列在某个时刻的截面称为脉冲平面或脉冲矩阵(如图 4 所示)。

图4 FSM 产生的脉冲阵列数据

当光照强度不变时,光子到达光感受器的速率是恒定的,因而积分器所累积的电荷达到脉冲发放阈值所需的时间也是不变的,那么脉冲发放频率就是稳定的。当运动出现时,像素所接受的光强发生变化,脉冲发放频率也随之改变。因此,光强与脉冲发放频率正相关:当光强增强时,脉冲发放频率提高;当光强减弱时,脉冲发放频率随之降低。另一方面,光强与两个相邻脉冲的时间间隔(简称脉冲间隔)负相关,即光强越强时脉冲间隔越小,光强越弱时脉冲间隔越长。

基于光强与脉冲发放特性之间的关系,可以构建面向脉冲阵列的图像重构方法,恢复视频摄像机才能获取的精细图像。与传统摄像机不同,这里的图像并不是传感器直接采样得到,而是利用脉冲阵列数据计算而来,这样就可以重构任意时刻的图像,而且动态范围、成像质量都具有很强的灵活性。

由于 FSM 模型是对光强进行积分,一次积分时间内的平均光强可以通过脉冲发放阈值与积分时间的比值求得,而积分时间等价于脉冲间隔,根据脉冲间隔,可以快速地估计出平均光强,最少只需要两个脉冲(即一个脉冲间隔)即可进行计算,因此可以即时捕捉高速运动并迅速响应。对于静态的区域,通过不断地“积分—发放—复位”,脉冲源源不断地产生,能够重构出精细图像,从而超越了传统的仿视网膜动态视觉传感器。因此,FSM 兼顾了高速运动的捕捉和精细图像的重构,能够同时替代传统的视频摄像机和传统的仿视网膜传感器。

FSM 模型是受生物视觉启发提出的,但即便抛开生物视觉不谈,仅从物理意义上,这个模型也是表达时空信息的一个合理模型。我们在授权专利(ZL 201610045011.0“对时空信号进行编码的方法和装置”)中提出的方法和模型更具一般性和体系化,前面描述的只是该专利的一个最简应用示例。

超速全时视觉芯片,重塑视觉产业与机器视觉

在北京市科技计划课题“脉冲阵列式仿视网膜芯片研制及验证”支持下,我们研制了超速全时视觉芯片 SpikeOne,2017 年 10 月芯片流片成功,经过大量软硬件研发和测试,研制出能够高速全时成像的摄像机装置,2018 年 5 月首次对外展示。

图5 超速全时视觉芯片(SpikeOne)与成像系统

SpikeOne 芯片的像素阵列为 400×250(10 万像素),最大脉冲发放频率为 40000Hz,即最小时间分辨率为 25[μs],功耗为 350mW,脉冲发放阈值参考电压为 1—3V 并可进行 16 级调整,动态范围达到 100dB。芯片由像素阵列、行驱动电路、偏置产生电路、时钟控制电路、高精度读出结构、列级数字缓冲器、高速输出结构以及逻辑控制电路构成。

图6 超速全时成像系统主要模块

成像系统包括了仿视网膜中央凹视觉传感器芯片、采集和通信模块以及实时图像重构软件(如图 6 所示)。对实时采集的脉冲阵列数据,一方面可以接入神经网络进行视觉分析任务,如字符识别和对象检测等;另一方面,利用图像重构软件可以实时地显示当前场景的脉冲和纹理图像。图 7 展示了利用神经网络对飞行的蚊子进行小目标的运动检测,左侧为每个时刻的脉冲,右侧为重构的纹理图像,红色框表示检测到的小目标位置。该系统对高速运动敏感,并能精细恢复场景图像,能够用于高速运动物体的检测、跟踪和识别,在自动驾驶、无人机控制、机器人视觉等领域的应用潜力巨大。

图7 高速小目标运动检测

为了支持基于脉冲序列的算法研究,我们还构建了 PKU-Spike-A 数据集(访问网址:https://www.pkuml.org/resources/pku-spike.html),包括了常规运动和高速运动两个类别,其中常规运动包括办公室场景(office)、单摆运动(rolling)和挥手过程(wavehand),高速运动包括 128Hz 音叉振动(fork)、7200rpm 硬盘旋转(disk-pku)和 2000rpm 飞轮转动(rotation),其重构图像如图 8 所示。可以看到,无论是静态场景还是高速运动,重构图像都能清晰地还原场景图像,特别是 fork 中音叉振动时其边缘清晰可见,disk-pku 中硬盘盘面上的“PKU”和字母“A”能准确辨别,rotation 中飞轮旋转过程中数字“5”和“8”也能明显区分。

图8 图像重构效果

采用视频表示视觉信息的处理方法,从源头上就限制了机器视觉的发展。我们借鉴灵长类视网膜中央凹的神经网络结构和信息处理机理,提出新的视觉信息表示和编码模型,研制出超速全时视觉芯片 SpikeOne,并开发了功能类似人眼、性能超越人眼的新型成像系统,能够看清人类视觉看不到的高速运动过程,有望重塑包括表示、编码、检测、跟踪、识别在内的整个视觉信息处理体系,为无人驾驶、机器人、视频监控等领域带来重大变革。

(原文刊载于《前沿科学》2019年第2期)

黄铁军

博士,北京大学信息科学技术学院教授,北京智源人工智能研究院院长,主要研究方向为智能视觉信息处理与类脑智能。国家杰出青年科学基金获得者(2014 年)。新一代人工智能产业技术创新战略联盟秘书长和新一代人工智能治理专业委员会委员,国家人工智能标准化总体组副组长,教育部人工智能科技创新专家组工作组副组长。

董思维

北京大学信息科学技术学院博士研究生,主要研究方向为视觉信息编码和神经形态计算。发表学术论文 12 篇,申请专利13 项,作为主要起草人制订了 AVS2 视频编码国家标准和IEEE1857.4国际标准。

超速电眼:全时成像芯片重塑机器视觉相关推荐

  1. 突破帧率天花板,超速全时视觉感知芯片重塑机器视觉技术体系

    " 允许失败,鼓励探索--北京是一个对颠覆性技术有很大宽容度的城市.作为全国科技创新中心,这里诞生出一系列领先世界的原创性科技成果.以超速全时视觉感知芯片为例,该芯片由智源研究院院长.北京大 ...

  2. eyemore发布全球首款AI视觉专用成像芯片,能否助推AI视觉产业跃迁?丨Xtecher 观察

    继美国的柯达.日本的索尼之后,中国的eyemore希望在AI时代扛起前端成像革命的旗帜.其发布的全球首款AI视觉专用成像芯片--eyemore X42,恰好填补了国内AI视觉的领域的空白,成为助推AI ...

  3. 一英寸芯片大小_科普:为什么标称1英寸的CMOS成像芯片,其对角线长度不是25.4mm?...

    我们都知道,英寸和毫米的换算关系是:1英寸(inch) = 25.4 mm. 但是,对于一款CMOS成像芯片,虽然标称它的对角线尺寸为1英寸,实际测量只有大约16mm,和25.4mm相差甚远.这是为什 ...

  4. 首款国产太赫兹成像芯片发布

    2019独角兽企业重金招聘Python工程师标准>>> 新华社报道,一枚米粒大小的太赫兹芯片,却能在人体安检仪中发挥出巨大功能.记者23日从中国电子科技集团获悉,由中国电科13所研制 ...

  5. CCD成像原理以及机器视觉中的相机选型

    CCD成像原理以及机器视觉中的相机选型 近年来,随着人工智能的高速发展和图像处理技术的日益成熟,机器视觉在自动化领域发挥着越来越大的作用.机器视觉被用于代替人工视觉,使机器人能够完成以往只有人工才能完 ...

  6. FP7195转模拟恒流调光芯片在机器视觉光源的应用优势

    机器视觉是人工智能正在快速发展的一个分支.简单说来,机器视觉就是用机器代替人眼来做测量和判断.照明是影响机器视觉系统输入的重要因素,它直接影响输入数据的质量和应用效果.随着计算能力的增强,更高分辨率的 ...

  7. NP芯片重塑高端路由器“灵魂”

    6月25日,广东地区出现了部分"网络瘫痪"的情况,期间,用户无法正常访问互联网,邮箱.QQ和MSN都无法登录,给用户的工作.生活造成较大影响. 经过广东电信的查询和核实,发现造成& ...

  8. 一文看懂机器视觉芯片

    来源:半导体行业观察 来源:半导体行业观察 [导读]机器视觉之于人工智能等同于视觉之于人类,本文系统介绍决定机器视觉的两大要素--视觉算法和芯片,重点介绍国内外视觉芯片市场及发展前景,包括重量级玩家及 ...

  9. 机器视觉与计算机视觉的区别?

    来源:https://www.zhihu.com/question/23183532 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:飘哥 https://www.zhihu.com/qu ...

最新文章

  1. 终于明白 Java 为什么要加 final 关键字了!
  2. leetcode004 Median_of_Two_Sorted_Arrays.py
  3. java内存块_JVM上的并发和Java内存模型之同步块笔记
  4. 洛谷——P1012 拼数
  5. java8新特性(1)--- lambda表达式
  6. C语言 函数声明和定义 - C语言零基础入门教程
  7. Security中常见的权限控制方式
  8. 编程语言入门及进阶、设计模式、面向对象书籍
  9. 【浅谈】我对中小型企业网络管理的一些看法(二)
  10. quartus 14.1破解失败解决方案
  11. nginx 上传文件漏洞_nginx 0day漏洞 上传图片可入侵百万台服务器
  12. 视觉技术的圣杯:光线追踪如何再现真实世界?
  13. SNF快速开发平台--规则引擎在程序当中如何调用
  14. html压缩工具html-minifier -- nodejs常用模块(4)
  15. C语言:各种数据类型转换函数
  16. 麻省理工学院-面向生命科学的深度学习2021
  17. 微信的dat文件正确打开方式及问题处理
  18. coutendl;什么意思?
  19. 未来城市空中交通——NASA Embraces Urban Air Mobility, Calls for Market Study
  20. FLASH知识及读写擦除规则

热门文章

  1. wordcount代码_Scala小案例之wordcount
  2. fiddler使用_fiddler基础使用
  3. 太阳能板如何串联_还在犹豫用不用太阳能灯?这些分析让你少花钱,更省钱。...
  4. oracle监听显示未成功_理解 oracle 的 lsnrctl status
  5. c语言区间,C 语言实例 – 循环输出区间范围内的奇数/偶数 | 菜鸟教程
  6. java round half down_Java8中的RoundingMode.HALF_DOWN问题
  7. mysql 按两列排序吗_按两列排序MySQL表
  8. iframe 有那些缺点?
  9. ssm插入数据时候栈溢出_大话数据结构笔记(4)
  10. 为什么说大盘很健康?