视觉研究中,“视觉”在大脑进行图像分析之前只是“录像机”的作用的传统概念被完全打破了。实际上图像在进入大脑前已进行了100亿次/秒的运算及分析识别。在这个过程中,各种“功能块”的综合效应,包括过去经验知识的参与,均有重要作用。这方面的研究已与数学结合起来,成了计算机(人工智能)的一个领域,意义重大,前景可观。本文对这方面的研究、进展、展望作了评述。另本刊前此也有过几篇有关的文章,可参阅。
——编者
听说某位研究人工智能的老前辈,有一次给一名研究生一个小小的暑假科研项目:解决视觉问题。
那是廿年前的事了。
这学生在那个暑假里过得怎样?不仅所谓小问题至今未获解案,而且,计算机视觉至今仍是人工智能领域内最大的挑战之一。诚然,人造视觉系统确已制成,如工业机器人,但只是一些功能十分有限的“模板匹配器”而已。美国“先进防卫研究计划局”(DARPA)新近提出的“战略计算”动仪估计,要使一辆有一定自主能力的侦察车,在一片未知地域内很好地“看”,需要全力以赴地再研究十年才行。
回想60年代,人工智能研究者都认为视觉是相当容易解决的问题,这多半是因为我们看东西时完全不必费脑子。而博弈如下国际象棋,要绞尽脑汁,而现在已经有一些程序,象棋下得相当不错。
视觉的目的似乎是明摆着的。正如已故的马尔(D. Marr)所说:“视觉是一个从外部世界的图像中产生一种对观察者有用的描述过程,这种描述不会被无关信息所搞乱。”
把视觉过程看得过分简单是一种不切实际的臆想。用摄像机把一个图像记录下来是一回事,而要理解这幅图像代表什么意思,是完全另外一回事。70年代初人工智能专家着手认真编写视觉的程序,这才开始认识到视觉实际上是一件多么艰巨的事!
首先,现实世界的一幅图像含有巨大的“信息”量,其中许多信息之间彼此无关,而信息全体又受到噪声和失真的损害。实际上,这就意味着一个视觉系统必须具备巨大的记忆能力和加工能力。如果,着手对一张高分辨率图像(1000×1000 pixels——所谓一个pixel就是单个数字化的像素)进行处理,也需要进行一亿次运算。人的视网膜大约有一亿个圆柱细胞和圆锥细胞,再加上另外四层其他神经元,若全都以每秒一百周速度运算,则把图像传送到视神经以前已至少进行100亿次/秒运算。然后,一旦图像信息进入大脑,大脑皮层有十几个各别的区域对它进行加工,根据猴脑的研究知道,视觉和与视觉有关的部分,约占整个大脑皮层的60%。
如果用眼看东西似乎是不费劲的话,必然的结论是:因为我们在这过程中不必去想它;整个巨大的计算工作无需有意识地进行。下象棋似乎是?尽心计,只是因为我们在下棋时必须开动脑筋。
第二,即便有了这样巨大的信息,还是嫌不够用,这是铁的事实。视像仅仅是三维世界的二维投影。从二维像到三维物体的逆变换,却有许多不确定的地方。如果仅仅考虑视网膜上的二维像,例如一只家猫的像,可能被认作为顺着视线方向无限延伸的柱体的一个片断。因为我们平时熟知家猫,所以决不会把它看作这种可怕的样子。显然,一个称职的视觉系统,需要熟悉猫、狗以及许许多多各种各样别的事物,才能消除这种模糊不清的情况。
第三,一个对象有时可能只有很少一点儿像它的同类物。试想,一只真猫,一只瓷器猫,一只用细管子拧成的猫,我们根据什么把它们都看作是猫呢?此外,当光照条件,观察角度改变时,一个物体可能连它自己也不像了,例如,从侧面观察一只猫与从正面观察就大不相同。这一事实使市场上出售的“模板匹配式”视觉系统用来识别任何一种物体,变得毫无指望了,它只能适用于严格控制的工厂环境中。
最后,世界上可能有的对象却是千千万万。原则上来说,人类的视觉系统全能处理它们,任何一种人造的强有力的视觉系统也应当能做到这一点。
摆明了这些情况后,视觉问题的解决似乎是无指望的了。但,事实上,计算机视觉界却很乐观,因为今后若干年内计算能力可望有巨大增加,这种增长主要是因为开发一类新的处理器件,它们以平行方式进行计算,而不是序列式的。
值得加以重视的是,从二维视像到三维形状知觉的视觉问题中,计算机视觉界称之为“低级处理”或“早期”处理部分,问题正在系统地加以解决。
最有影响的工作是由麻省理工学院的马尔做出的。他因患白血病于1980年早逝,终年才35岁。并非所有的人都赞赏马尔的工作:他的文章虽然论点明确,但隐藏着争论之处。他把人工智能中的可算性与视觉的实验心理学结合起来、无疑是这一领域内的里程碑。马尔关于早期视觉的一些术语和命名法,已被广泛采用,即使不同意马尔理论的人也常常感到不得不采用这些术语以便进行讨论比较。
马尔在他的《视觉》一书中,给出了他的论点:视觉系统在识别对象前,必须首先对物体表面的位置和空间朝向进行辨别。他把他的方法与70年代流行的“分解”算法之间划出一条明显的界线。当时认为可以编制出程序把视像分解成等影或等亮度的小斑块,然后从这些小斑块分析得出原物体。马尔认为这种“分解”理论决不会很好地工作,因为视像中一些最引人注目的边线常常来自一些无关因素如光的反射或阴影,而许多重要的边线几乎看不见。他认为,在识别表面时,一个好的程序应当首先避免这一错觉。
根据大量心理学证据,马尔认为在人的视觉功能中,表面的识别很早就开始了的,有的甚至在视信息离开网膜到达大脑前就进行了的。网膜和视皮层的神经元,具体实行一些半独立的“算法”——“功能块”——它专门探测这样一些线索:诸如纹理、颜色、运动、阴影或体视中的视差。在这一处理中,对客观世界作某种一般假定后,这些功能块试图消除二维图像的不确定性。例如,“运动”功能块就需要假定表面是刚性的,视像的这样一堆细节整齐地移过我们的视野,我们按其表面性质而感知它们。“体视”功能块就要假定表面是连续的,而且是不透明的,如此等等。
由于视觉系统中装进了这样一些功能块,这些假定对我们的感知觉,不能不打上各自的烙印。即使是错的,也只好这样。这就是为什么我们人类有错觉的原因。马尔认为这种偶然的差错起因于二维视像。所以,约束条件是重要的,应当成为计算机视觉研究的基本课题。
最后,马尔说,早期视觉的关键问题是把这些功能块的输出综合为这些表面具备的本来面目,以及它们与观察者的关系。当人们观看一张照片时,我们的体视感觉告诉我们,这是一张平面图,但是我们不管这些,留意到形象和阴影,就能知道“这是一张人脸”。在这过程中就能体会到这种综合作用是多么重要。
这种综合开始于中级水平的处理,马尔称之为2? D草图,这是直觉的高级部分,在这部分中单纯来自视像的信息已很少了。在随后的处理中,视觉系统开始加入更高级的世界知识,以形成物体的完整的三维表象。例如,这样或那样的表面的集合产生一只猫而不是一棵圣诞树的形象。
马尔把“知识”在处理过程的相当后期才引入的做法,与计算机视觉的流行趋势形成鲜明对比,后者把客观世界的知识在相当早期就引入。而且,常常这样考虑问题——“我看到一只猫,因为我期望看到猫”。一些研究者,如霍恩(Horn)已经提出异议说,这一途径违背心理学证据和日常经验。在从图像中还没有提取更多信息前,为什么事先要有所承诺呢?所以马尔称之为“最少承诺原则”,这是他的理论的基础之_。
所谓马尔的程序分成三个各别的处理阶段:二维、2?维和三维。他的病情使他无法进行二、三阶段的工作。但是,关于视觉的早期处理,马尔和他的同事已经把他们的想法变成一系列可行的算法。
他们的方法的第一步是把输入视像中的粗资料(每个像素上的亮度值)变成用边线和强度变化得更紧凑的符号化表象。马尔把这一表象称为“原始草图”。
除了别的一些事以外,为了获得“原始草图”意味着要把视像中的噪声滤去,同时,增加光强的变化。自然有许多方法可做到这一点,但MIT的研究组选择一种特殊的滤波函数,这就是周知的高斯分布的拉氏算子,它的图形很像一顶墨西哥式的草帽。这样做有充足的生物学上的理由:这个函数与视网膜神经节细胞的感受野有良好的对应。在感受野中心处给予光亮刺激引起这一细胞兴奋,而在外周处刺激则抑制它。总之,这样处理后的图形是一滤波后的像,除了边线以外看上去没有别的东西,变成了一张浮雕似的图。
—旦找到图形的边线以后,就可以作为许多固定算法(功能块)的输入,例如作为体视和确定运动结构的输入。在体视的情况下,就可以利用边线把左视像中的点与右视像中的相应点进行首次粗略的匹配。
已运转中的“功能块”一览表,除了体视(表面的唯一性和连续性)和运动结构(刚性)以外,还包括轮廓的补缺(根据边线的平滑和连续),表面的插入(按圆点花纹之类的均匀分布和均一尺寸来确定表面)。
再有,近来有兴趣的进展是,普吉奥(Poggio)及其合作者开始探索使用数学物理中的所谓“正则化”(regularization)技术。这一方法可能把所有(或几乎所有)早期视觉问题归纳入统一的理论体系中去。
这一想法的出发点是把视觉系统假定为变量计算中约束条件的形式化问题,这就为解决这一问题提供更有效的算法。普吉奥说:“近年来,在运用数学和物理技术方面有许多工作在进行。计算机视觉当它越来越成为一门科学时,也变得更技术化了。计算机视觉将告诉我们如何'看\如何造出一架能看的机器;这就是为什么如此激动人心的原因。”
遗憾的是,作为整体来说,解决问题尚有很大距离,即使是马尔也不得不承认这一点。例如,即便在2 D草图阶段,眼睛如何从透明的玻璃窗或涟漪的水池反射光中提取“表面”信息,也是不甚了了的。当人们看到一些没有表面的事物时,例如一团浓雾或一缕青烟,该是如何对待呢?
在视觉加工的高级阶段上(2? D和3 D草图),事情越来越难办。在这种水平上考虑问题需要加入现实世界的知识。这种高水平的活动,比起早期视觉来,很难进行实验,所以,如何取得进展也就缺少良好的引导。
作为例子,考虑哪儿都会遇到的表象的问题:一个程序在认出‘三维’物体前,显然在记忆中必须事先存上某些东西(恐怕是纯理性的原型),并与之比较。
试想一下“我们感知到一只猫”这件事中包含些什么。不论在我们头脑中的内部表象是什么,肯定它带有某种特殊性,足以使它可与狗、羊之类相区别。但,表象又具有一般性,它应当包括一只站着的猫,一只跑着的猫,一只睡猫,一只毕加索画的猫
只用铁丝拧成的猫以及其他一切可允许的变差。这一表象显然不依赖于猫的皮毛,也不依赖于它的瞳孔的纵裂,否则的话,我们怎么也会把一只瓷器猫也看成是一只猫呢?再有,我们看到一只活猫时,我们绝不会把它的灰条纹外衣看成是与它无关的某件东西。在感知到达有意识的大脑之前,一般性和特殊性需要长时间的综合过程。
问题在于:即便知道这些,也没有告诉我们如何使计算机能做到这样一种高超的技能,特别是在计算机中只有有限的记忆容量。科学家正在探索各种途径,值得注意的是斯坦福大学的宾福德(T. Binford)提出的“广义锥”系统(物体可近似地看作为适当大小、形状和朝向的圆锥体和圆柱体;杆线图正好是这种广义锥的轴线)。但事实是,还没有人找出一种更好的替代办法。
哥伦比亚大学肯德(J. Render)说:“很清楚人脑对每一事物有多重表象,这对它的生存有好处。但我相信这一切并不_归化为(等价于)符号化的LISP语言。可能是某类模拟式表象,在这一系统中,一个三维对象对应于大脑中神经元之间的一种复杂的相互联结。”
诸如此类问题,显然只是计算机研究中的一小部分问题。正如肯德所说:“即使我们造出机器比现在的快一百万倍,我们还是不知道如何写出这一算法。”关于高水平的视觉的真正进展大约需待十年以后。
[Science,1984年6月15日]