中国人工智能学会通讯——沿着Marr的道路前进——视觉计算的前世今生

  1. 云栖社区>
  2. CCAI>
  3. 博客>
  4. 正文

中国人工智能学会通讯——沿着Marr的道路前进——视觉计算的前世今生

行者武松 2017-09-01 12:00:00 浏览1962
展开阅读全文

image

眼睛是动物和人类感受世界的关键器官之一。通常认为,人类获取的外界信息中视觉要占到70%~80%的部分;同时与视觉相关的部分占据人类大脑皮层功能分区里最大的一块面积。能充分理解眼睛和与之相关的视觉处理机制,是发展人工智能的关键步骤之一。因此长期以来,不同领域的研究人员都开展了面向人眼和视觉机理的研究工作。

视觉机制非常复杂。作为接受光学感受输入的人眼本身也是一个极其精密的器官。人眼通过由虹膜、瞳孔、晶状体等组成的光学成像机构将外界图像映射到视网膜上。视网膜再把感受到的光学信号转化为电刺激,通过视神经发送给大脑皮层。大脑皮层对应于视觉处理等可分为不同的层次,见图1。按照当前通行的说法视觉皮层可分为从V1~V6的6层。

image

如果要模仿人眼建立人工视觉,也需要包含类似的组成部分。这包括支持成像的光学镜头,关键的感光器件——光学传感器ccd/cmos,以及对传感器产生的光电信号进行处理的一系列软硬件。因为主要讨论视觉算法,本文忽略光学成像和传感器部分,只讨论计算机制,也就是计算机视觉。

回顾历史,计算机视觉的创立应归功于MIT的天才人物马尔(David Marr)。直到今天,计算机视觉国际大会(ICCV)给评选的最佳论文颁发的马尔奖,这是计算机视觉研究可获得的最高荣誉。马尔提出的视觉计算理论和框架,至今还对计算机视觉的研究工作有很强的指导意义。

马尔在去世前的最后一年,把自己的研究工作总结为一本名为《视觉计算》的书。严格地说, 这本书在他去世时还没有写完,部分内容是由其合作者和学生补充整理完成的, 首次出版于1982年。马尔在书中提出了视觉计算框架,并在序言中指出,视觉计算的关键是如何表示(representation)。他认为,人类视觉主要完成的工作就是从外部世界投射得到内部表示。对应于人类视觉,提出视觉计算框架应分为初级视觉、中级视觉和高级视觉三个层次,组成一个自底向上的流水线。初级视觉主要是从图像中提取一些基本的表示,也就是所谓特征;中级视觉是如何把这些基本的元素组合成不同部分,这涉及到分割;而高级视觉是从分割结果中得到物体的三维表示。

在马尔提出视觉计算框架的20世纪70年代末到80年代初期,不管是传感器,还是计算处理能力都十分有限。因此当时的视觉研究工作主要是面向初级视觉,而且主要是面向静止图像。初级视觉研究如何有效地提取特征,比如如何实现边缘检测。Canny算子就是这个时期的突出工作。

另一方面,受到实际应用需求的刺激,模式识别单独成为人工智能领域内的一个重点研究方向。模式识别包含对目标抽取特征,并且进行分类和识别的通用方法。同样的方法可以应用在语音、图像和文本识别等不同的领域。模式识别的每一次算法突破,比如早期的线性分类器、隐马尔科夫模型,后来的神经网络、支撑向量机,到更晚的Ada Boost,以及最新的深度神经网络,都会推动不同应用领域的技术发展。

与模式识别的算法相结合,利用提取出来的图像初级特征对图像进行分类,就可以解决很多应用问题,特别是医学领域。因此,随后图像处理,包括医学图像的处理,因为广泛的需求,独立成为一个和计算机视觉交叉关联的研究领域。

马尔的视觉计算框架目标是,恢复现实世界中的三维物体结构。为此研究工作者开展了多种研究,比如模仿人眼,利用双目/多目相机就可以通过视差恢复三维。而实际上也可以从单个相机的运动中恢复三维(Structure from Motion)。其实如果场景是静止的,SFM和双目/多目相机是等价的,都是相机出现在了不同位置。为了解决三维恢复的问题就需要建立描述相机的模型,这需要对实际工作的相机进行标定,纠正相机与小孔成像理想模型之间的偏差;同时建立相机的模型,还包括建立数学模型描述相机投影机制,以及多个相机的对应关系。这促进了90年代三维视觉和投影几何等理论研究工作。以法国Inria为首的研究人员,构建了三维/立体计算机视觉这个分支。

从图像中提取出来的特征初级视觉,到恢复现实世界的三维场景高级视觉,中级的连接就是马尔计算框架的中级视觉,这就需要做好分割,特别是还要处理多个相机或者图像序列的对应关系。通常中级视觉被认为是计算机视觉中最难的一环,因为问题本身是个高度病态问题,也不存在唯一解。在缺乏统一理论指导的情况下,研究人员提出了一系列数据驱动的方法,包括各种不同的聚类方法、基于鲁棒统计的方法等。

马尔的计算视觉框架清晰明了,因为恰当地利用分层结构将复杂的视觉任务拆分成一系列子任务,长期主导着计算机视觉领域的发展。几乎就在马尔视觉框架理论提出的同时,就有人认识到人的视觉形成机制,并不只是一个简单被动接收的表示过程。人与环境是多种互动的,比如探索和注意力转移,其中包含除了自底向上的被动计算, 还有意识的参与, 以及自顶向下的指导和主动行为。对应于此,计算机视觉发展出了主动视觉的分支。主动视觉的研究和机器人技术紧密关联。在当前机器人越来越广泛应用的前提下,这一分支的研究也会有很大的提速。

在2010年《视觉计算》这本书再版,马尔当年的合作者,目前仍是MIT教授的Tomaso Poggio 颇有先见之明地在新版中的视觉计算框架下,补充了一个学习层;并且认为,学习是视觉计算高层表示中非常重要的成分。这样对整体框架的修正就能更好地呼应机器学习的研究进展,也恰好匹配了当前机器学习研究的热潮。

理论通常是基于问题,先于工程实践提出,并在实践中得到不断完善和发展。视觉计算需要大量的计算资源,考虑到可实现性,计算机视觉的理论发展一直受到计算能力限制的影响。幸运的是,因为计算能力的发展有摩尔定律,大约18个月计算能力翻倍。比照马尔提出理论框架的1980年,今天的计算机处理能力已经增加了数百万倍,有更多的计算资源可以用来支持在当年看起来似乎不可能的研究。

以马尔计算框架的第一层——初级特征提取为例,提取特征的目的之一是在图像中找到区隔点,而特征应当包含不变性。在研究早期,主要是通过专家分析图像中的边缘、角点等特征,并提出对应的算法。随着计算能力的发展,特征提取法从简单的线性算子发展为基于鲁棒统计特性提出的算法,比如著名的SIFT特征。这比之前的简单特征稳定,但是以增加数倍的计算量作为代价。而在深度神经网络算法出现之后,只要能提供大量数据,无需专家的这一部分人工参与,机器能够通过训练自动找到比人工总结更好的特征表示,这是以成百上千倍的计算量增加为代价的。

更具体来说,深度神经网络算法从计算机制上,与早在80年代就提出的基于反向传播(BP)训练的多层神经网络并无很大区别。80年代的神经网络被用于识别数字和文本字符。受计算资源所限,一个网络通常只包含几千个节点和2~3层,这时训练时就已经很慢。在面向更为复杂的任务时,因为计算不支持,无法增加更多节点和层次,结果也不好。热潮退去后,主流的研究工作者不再关注,只有少数人还在坚持。直到2010年在语音、2012年在图像上的两次突破,又重新引起学术圈直到现在广泛重视。这与当前计算能力的发展有很大关系。今天的网络可以包含数千万节点,深度可达数千层。图2示出了2012年获得imagenet识别冠军的Alexnet深度网络结构。

image

在深度神经网络应用成功和研究火爆的表象之下,也有不少学者担忧,他们认为当前与80年代类似,仍然缺乏解释网络和能够指导神经网络训练的理论框架。通常深度神经网络在应用中只是被当作一个黑箱,需要指定输入和输出进行训练,得到结果,而不能控制和理解网络的学习过程。也许在当前可做的问题被解决之后,面向更复杂的一般任务,深度神经网络方法又会碰到新的瓶颈。

比如,马尔的计算框架目标是实现从输入图像中恢复出物体的三维表示。在实践中,无法用一个神经网络黑盒,通过训练就能从图像中直接恢复出三维物体。这可以被简单解释成这样的任务过于复杂,数据量不够,计算资源不够;但同时也说明,当前算法的效率和能力仍然很有限,因为人类的大脑可以轻松做到。

深度学习被广为诟病的问题,除了需要大量的计算,并且学习一个新对象需要提供大量的数据之外,还有目前只支持离线训练,无法进行在线学习。与人的学习机制不同,深度学习网络到目前为止还不能很好地渐次学习新的分类。综合起来,人类儿童借助一两张书本上的图片就可以认识一类新事物的能力,深度神经网络还遥不可及。因此,如何更好地模仿人类的视觉机制,仍然是包括深度神经网络在内的计算机视觉研究有待突破的方向。

本文之前提及人脑中负责视觉计算的皮层可以分为6层V1~V6。其中,只有第一层V1是被研究透彻的。通过研究细胞对光照的反应,可以理解到这一层细胞是对特定方向的明暗变化,也就是边缘敏感。其中,简单细胞只对特定区域的边缘敏感;复杂一点细胞可能对全范围的特定方向边缘敏感,也可能对特定长度范围的边缘敏感。在边缘的基础上,对形状的感知在V2~V3层,V4层已经被证明与颜色感知强相关,v5与运动感知强相关。但这只是当前研究发现的已知功能,这些层还有大量的神经元功能未知。图3为人脸识别网络分层提取到的特征表示。

image

大脑的视觉皮层可以被理解为感知过程,主要是从现实世界中抽取特征,转化为内部的表示。马尔的理论框架的核心就是建立这一映射。马尔提出的内部表示是要得到3维的物体模型,这是一个高难度的任务,至今也未解决,有待进一步研究。而深度神经网络的当前进展可以被理解为部分解决了初级和中级问题。对于更高层的抽象,依靠当前的黑盒网络训练方法可能还无法触及。未来的突破需要打开黑盒,提出更有效的网络学习机制。

最后,神经科学中对大脑的视觉认知过程的进一步研究表明,视觉活动并不仅限于视觉计算皮层,还会和大脑皮层的其他部分(比如记忆和语言)相关的机制共同作用。计算机视觉只是人工智能领域的一个分支,计算机视觉的核心是从图像中获取表示,这个表示应当和其他智能过程(比如记忆、自然语言)结合起来,这也将是计算机视觉未来的重要探索方向。

image

网友评论

登录后评论
0/500
评论
行者武松
+ 关注
所属团队号: CCAI