尽管人们对计算机视觉这门学科的起始时间和发展历史有不同的看法,但应该说, 1982年马尔( David Marr )《视觉》(Marr, 1982)一书的问世,标志着计算机视觉成为了一门独立学科。
计算机视觉40多年的发展中,尽管人们提出了大量的理论和方法,但总体上说,计算机视觉经历了4个主要历程。即: 马尔计算视觉、主动和目的视觉、多视几何与分层三维重建和基于学习的视觉。
马尔计算视觉(Computational Vision)
马尔计算视觉理论包含两个主要观点:首先,马尔认为人类视觉的主要功能是复原三维场景的可见几何表面,即三维重建问题;其次,马尔认为这种从二维图像到三维几何结构的复原过程是可以通过计算完成的,并提出了一套完整的计算理论和方法。所以,马尔视觉计算理论在一些文献中也被称为三维重建理论。
马尔认为,从二维图像复原物体的三维结构,涉及三个不同的层次。首先是计算理论层次,也就是说,需要使用何种类型的约束来完成这一过程。马尔认为合理的约束是场景固有的性质在成像过程中对图像形成的约束。其次是表达和算法层次,也就是说如何来具体计算。最后是实现层次。马尔对表达和算法层次进行了详细讨论。
他认为从二维图像恢复三维物体,经历了三个主要步骤,即图像初始略图(sketch)—>物体2.5维描述—>物体3维描述。其中,初始略图是指高斯拉普拉斯滤波图像中的过零点(zero-crossing)、短线段、端点等基元特征。物体2.5维描述是指在观测者坐标系下对物体形状的一些粗略描述,如物体的法向量等。物体3维描述是指在物体自身坐标系下对物体的描述,如球体以球心为坐标原点的表述。
马尔视觉计算理论是上世纪八十年代初提出的,之后三十多年的研究中,人们发现马尔理论的基本假设:"人类视觉的主要功能是复原三维场景的可见几何表面"——基本上是不正确的,"物体识别中的三维表达的假设"——也基本与人类物体识别的神经生理机理不相符。尽管如此,马尔计算视觉理论在计算机视觉领域的影响是深远的,他所提出的层次化三维重建框架,至今是计算机视觉中的主流方法。尽管文献中很多人对马尔理论提出了质疑、批评和改进,但就目前的研究状况看,还没有任何一种理论可以取代马尔理论,或与其相提并论。
昙花一现的主动和目的视觉
很多人介绍计算机视觉时,将这部分内容不作为一个单独部分加以介绍,主要是因为“主动视觉和目的视觉”并没有对计算机视觉后续研究形成持续影响。
20世纪80年代初马尔视觉计算理论提出后,学术界兴起了“计算机视觉”的热潮。人们想到的这种理论的一种直接应用就是给工业机器人赋予视觉能力,典型的系统就是所谓的“基于部件的系统”(parts-based system)。然而,10多年的研究,使人们认识到,尽管马尔计算视觉理论非常优美,但“鲁棒性”(Robustness)不够,很难想人们预想的那样在工业界得到广泛应用。这样,人们开始质疑这种理论的合理性,甚至提出了尖锐的批评。
对马尔计算视觉理论提出批评最多的有二点:一是认为这种三维重建过程是"纯粹自底向上的过程"(pure bottom-up process),缺乏高层反馈(top-down feedback);二是"重建"缺乏"目的性和主动性"。由于不同的用途,要求重建的精度不同,而不考虑具体任务,仅仅"盲目地重建一个适合任何任务的三维模型"似乎不合理。
对马尔视觉计算理论提出批评的代表性人物有:马里兰大学的 J. Y. Aloimonos;宾夕法尼亚大学的R. Bajcsy和密西根州立大学的A. K. Jaini。 Bajcsy 认为,视觉过程必然存在人与环境的交互,提出了主动视觉的概念(active vision). Aloimonos认为视觉要有目的性,且在很多应用,不需要严格三维重建,提出了"目的和定性视觉"(purpose and qualitative vision) 的概念。 Jain 认为应该重点强调应用,提出了"应用视觉"( practicing vision)的概念。上世纪80年代末到90年代初,可以说是计算机视觉领域的"彷徨"阶段。真有点"批评之声不绝,视觉之路茫茫"之势。
值得指出的是,"主动视觉"应该是一个非常好的概念,但困难在于"如何计算"。 主动视觉往往需要"视觉注视"(visual attention),需要研究脑皮层(cerebral cortex)高层区域到低层区域的反馈机制,这些问题,即使脑科学和神经科学已经较20年前取得了巨大进展的今天,仍缺乏"计算层次上的进展"可为计算机视觉研究人员提供实质性的参考和借鉴。
多视几何和分层三维重建(Multiple View Geometry and Stratified 3D Reconstruction)
20世纪90年代初计算机视觉从"萧条"走向重新"繁荣",主要得益于以下二方面的因素:首先,瞄准的应用领域从精度和鲁棒性要求太高的"工业应用"转到要求不太高,特别是仅仅需要"视觉效果"的应用领域,如远程视频会议(teleconference),考古,虚拟现实,视频监控等。另一方面,人们发现,多视几何理论下的分层三维重建能有效提高三维重建的鲁棒性和精度。
2000 年Hartley 和Zisserman 合著的书 (Hartley & Zisserman 2000) 对这方面的内容给出了比较系统的总结,而后这方面的工作主要集中在如何提高"大数据下鲁棒性重建的计算效率"。大数据需要全自动重建,而全自动重建需要反复优化,而反复优化需要花费大量计算资源。所以,如何在保证鲁棒性的前提下快速进行大场景的三维重建是后期研究的重点。
举一个简单例子,假如要三维重建北京中关村地区,为了保证重建的完整性,需要获取大量的地面和无人机图像。假如获取了1万幅地面高分辨率图像(4000×3000),5 千幅高分辨率无人机图像(8000×7000)(这样的图像规模是当前的典型规模),三维重建要匹配这些图像,从中选取合适的图像集,然后对相机位置信息进行标定并重建出场景的三维结构,如此大的数据量,人工干预是不可能的,所以整个三维重建流程必须全自动进行。这样需要重建算法和系统具有非常高的鲁棒性,否则根本无法全自动三维重建。在鲁棒性保证的情况下,三维重建效率也是一个巨大的挑战。所以,目前在这方面的研究重点是如何快速、鲁棒地重建大场景。
基于学习的视觉(Learning based vision)
基于学习的视觉,是指以机器学习为主要技术手段的计算机视觉研究。基于学习的视觉研究,文献中大体上分为二个阶段:本世纪初的以流形学习( manifold Learning)为代表的子空间法( subspace method)和目前以深度神经网络和深度学习(deep neural networks and deep learning)为代表的视觉方法。
1、流形学习(Manifold Learning)
正像前面所指出的,物体表达是物体识别的核心问题。给定图像物体,如人脸图像,不同的表达,物体的分类和识别率不同。另外,直接将图像像素作为表达是一种"过表达",也不是一种好的表达。流形学习理论认为,一种图像物体存在其"内在流形"(intrinsic manifold), 这种内在流形是该物体的一种优质表达。所以,流形学习就是从图像表达学习其内在流形表达的过程,这种内在流形的学习过程一般是一种非线性优化过程。
流形学习始于2000年在Science 上发表的二篇文章( Tenenbaum et al., 2000) (Roweis & Lawrence 2000)。流形学习一个困难的问题是没有严格的理论来确定内在流形的维度。人们发现,很多情况下流形学习的结果还不如传统的PCA (Principal Component Analysis),LDA( linear DiscriminantAnalysis ), MDS( Multidimensional Scaling)等。流形学习的代表方法有:LLE(Locally Linear Embedding )(Roweis & Lawrence 2000),Isomap ( Tenenbaum et al., 2000), Laplacian Eigenmaps (Belkin & Niyogi, 2001)等。
2、深度学习(Deep Learning)
深度学习的成功,主要得益于数据积累和计算能力的提高。深度网络的概念20世纪80年代就已提出来了,只是因为当时发现"深度网络"性能还不如"浅层网络",所以没有得到大的发展。目前似乎有点计算机视觉就是深度学习的应用之势,这可以从计算机视觉的三大国际会议:国际计算机视觉会议(ICCV),欧洲计算机视觉会议(ECCV)和计算机视觉和模式识别会议(CVPR)上近年来发表的论文就可以看出。
目前的基本状况是,人们都在利用深度学习来"取代"计算机视觉中的传统方法。"研究人员"成了"调程序的机器",这实在是一种不正常的"群众式运动"。
关于深度网络和深度学习,详细内容可参阅相关文献,这里仅仅强调以下几点:
(1)深度学习在物体视觉方面较传统方法体现了巨大优势,但在空间视觉,如三维重建,物体定位方面,仍无法与基于几何的方法相媲美。这主要是因为深度学习很难处理图像特征之间的误匹配现象。在基于几何的三维重建中,RANSAC (Random Sample Consensus)等鲁棒外点(误匹配点)剔除模块可以反复调用,而在深度学习中,目前还很难集成诸如RANSAC等外点剔除机制。如果深度网络不能很好地集成外点剔除模块,深度学习在三维重建中将很难与基于几何的方法相媲美,甚至很难在空间视觉中得到有效应用;
(2) 深度学习在静态图像物体识别方面已经成熟,这也是为什么在ImageNet上的物体分类竞赛已不再举行的缘故;
(3) 目前的深度网络,基本上是前馈网络。不同网络主要体现在使用的代价函数不同。下一步预计要探索具有"反馈机制"的层次化网络。反馈机制,需要借鉴脑神经网络机制,特别是连接组学的成果。
(4) 目前对视频的处理,人们提出了RCNN (Recurrent Neural Networks)。循环是一种有效的同层作用机制,但不能代替反馈。大脑皮层远距离的反馈可能是形成大脑皮层不同区域具有不同特定功能的神经基础。所以,研究反馈机制,特别具有"长距离反馈"(跨多层之间)的深度网络, 将是今后研究图像理解的一个重要方向;
(5)尽管深度学习和深度网络在图像物体识别方面取得了"变革性"成果,但为什么"深度学习"会取得如此好的结果目前仍然缺乏坚实的理论基础。目前已有一些这方面的研究,但仍缺乏系统性的理论。事实上,"层次化"是本质,不仅深度网络,其它层次化模型,如Hmax 模型(Riesenhuber & Poggio,1999) HTM (Hierarchical Temporal memory)模型(George & Hawkins, 2009)存在同样的理论困惑。为什么"层次化结构"( hierarchical structure )具有优势仍是一个巨大的迷。
本文部分内容摘自中国科学院自动化研究所胡占义研究员撰写的《计算机视觉简介:历史、现状和发展趋势》,重新编排