- 计算机视觉教程(第2版)
- 章毓晋编著
- 4645字
- 2021-01-15 19:27:24
1.1 计算机视觉
下面对计算机视觉的起源、目的、范围、内涵、特点、应用等进行概括介绍。
1.1.1 视觉概述
计算机视觉源自人类视觉,即一般所说的视觉。视觉在人类对客观世界的观察和认知中起重要的作用。人类从外界获得的信息约有75%来自视觉系统,这既说明视觉信息量巨大,也表明人类对视觉信息有较高的利用率。人类视觉过程可看作是一个复杂的从感觉(感受到的是对3-D世界之2-D投影得到的图像)到知觉(由2-D图像认知3-D世界的内容和含义)的过程。
视觉是人们非常熟悉的一种功能,它不仅帮助人们获得信息,而且还帮助人们加工信息。视觉进一步可分为视感觉和视知觉。这里,感觉是较低层次的,它主要接收外部刺激;而知觉则处于较高层次,它要将外部刺激转化为有意义的内容。一般感觉对外部刺激是基本不加区别地完全接收,而知觉则要确定由外界刺激的哪些部分组合成所关心的“目标”。
视感觉主要是从分子的层次和观点来理解人们对光(即可见辐射)反应的基本性质(如亮度、颜色),它主要涉及物理、化学等学科。视感觉中主要研究的内容有:① 光的物理特性,如光量子、光波、光谱等;② 光刺激视觉感受器官的程度,如光度学、眼睛构造、视觉适应、视觉的强度和灵敏度、视觉的时空特性等;③ 光作用于视网膜后经视觉系统加工而产生的感觉,如明亮程度、色调等。
视知觉主要论述人们从客观世界接收到视觉刺激后如何反应以及反应所采用的方式。它研究如何通过视觉形成人们关于外在世界空间的表象,所以兼有心理因素。视知觉作为对于当前客观事物反映的一种形式,只依靠光投射到视网膜上形成的视网膜像和人们已知的眼或神经系统的机制是难以把全部(知觉)过程解释清楚的。视知觉是在神经中枢进行的一组活动,它把视野中一些分散的刺激加以组织,构成具有一定形状的整体以认识世界。早在2000年前,亚里士多德就定义视知觉的任务是确定“什么东西在什么地方”(What is where)[Finkel 1994]。
视觉的最终目的从狭义上说是要能对客观场景做出对观察者有意义的解释和描述,从广义上讲,还包括基于这些解释和描述并根据周围环境和观察者的意愿来制定出行为规划,并作用于周围的世界,这实际上也就是计算机视觉的目标。
1.1.2 计算机视觉的目标
计算机视觉是要用计算机来实现人类的视觉功能,即对客观世界中三维场景的感知、加工和解释。视觉研究的原始目的是把握和理解有关场景的图像,辨识和定位其中的目标,确定它们的结构、空间排列和分布以及目标间的相互关系等。计算机视觉的研究目标是根据感知到的图像对客观世界中实际的目标和场景做出有意义的判断[Shapiro 2001]。
计算机视觉的研究方法目前主要有两种:一种是仿生学的方法,即参照人类视觉系统的结构原理,建立相应的处理模块完成类似的功能和工作;另一种是工程的方法,即从分析人类视觉过程的功能着手,并不刻意模拟人类视觉系统的内部结构,而仅考虑系统的输入和输出,并采用任何现有的、可行的手段来实现系统的功能。本书主要从工程技术的角度出发讨论第二种方法。
计算机视觉的主要研究目标可归纳成两个,它们互相联系和补充。第一个研究目标是建立计算机视觉系统来完成各种视觉任务。换句话说,要使计算机能借助各种视觉传感器(如 CCD、CMOS摄像器件等)获取场景的图像,从中感知和恢复3-D环境中物体的几何性质、姿态结构、运动情况、相互位置等,并对客观场景进行识别、描述、解释,进而做出判定和决断。这里主要研究的是完成这些工作的技术机理。目前这方面的工作集中在构建各种专用的系统,完成在各种实际场合中出现的专门视觉任务;而从长远来说则要建成更为通用的系统(更接近人类视觉系统),完成一般性的视觉任务。第二个研究目标是把该研究作为探索人脑视觉工作机理的手段,掌握和理解人脑视觉工作的机理(如计算神经科学)。这里主要研究的是生物学机理。长期以来,人们对人脑视觉系统已从生理、心理、神经、认知等方面进行了大量的研究,但还远没有揭开视觉过程的全部奥秘,特别是对视觉机理的研究和了解还远落后于对视觉信息处理的研究和掌握。需要指出的是,对人脑视觉的充分理解也将促进计算机视觉的深入研究[Finkel 1994]。本书主要考虑第一个研究目标。
由上可见,计算机视觉要利用计算机实现人的视觉功能,同时其研究又从人类视觉那里得到了许多启发。计算机视觉方面的许多重要研究都是通过理解人类视觉系统而实现的,典型的例子如用金字塔作为一种有效的数据结构,利用局部朝向的概念,以及滤波技术来检测运动等。另外,借助对人类视觉系统功能的理解研究也可帮助人们开发新的图像理解(IU)和计算机视觉算法。
1.1.3 相关学科
作为一门学科,计算机视觉与许多学科都有着千丝万缕的联系,特别是与一些相关和相近的学科交融交叉。下面结合图1.1.1简单介绍几个最接近的学科。
图1.1.1 相关学科和领域的联系和区别
1.图像工程
图像工程是一门内容非常丰富的学科,包括既有联系又有区别的三个层次:图像处理、图像分析及图像理解,另外还包括对它们的工程应用。
图像处理着重强调在图像之间进行的转换(图像入图像出)。虽然人们常用图像处理泛指各种图像技术,但比较狭义的图像处理主要关注的是输出图像的视觉观察效果,这包括对图像进行各种加工调整以改善图像的视觉效果并有利于后续高层加工的进行;或对图像进行压缩编码,在保证所需视觉感受的基础上减少所需存储空间或传输时间,满足给定传输通路的要求;或给图像增加一些附加信息但又不影响原始图像的外貌等。
图像分析主要是对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息从而建立对图像中目标的描述(图像入数据出)。如果说图像处理是一个从图像到图像的过程,则图像分析是一个从图像到数据的过程。这里数据可以是对目标特征测量的结果,或是基于测量的符号表示。它们描述了图像中目标的特点和性质。
图像理解的重点是在图像分析的基础上进一步研究图像中各目标的性质和它们之间的相互联系,并得出对整幅图像内容含义的理解以及对原来成像客观场景的解释,从而可以让人们做出判断,并指导和规划行动。如果说图像分析主要是以观察者为中心研究客观世界(主要研究可观察到的事物),那么图像理解在一定程度上则是以客观世界为中心,并借助知识、经验等来把握和解释整个客观世界(包括没有直接观察到的事物)。(基于图像处理和分析的)图像理解与计算机视觉有相同的目标,都是借助工程技术的手段,通过客观场景所获得的图像来实现对场景的认识和解释。它们可以看作是专业和背景不同的人习惯使用的不同术语。
2.机器视觉或机器人视觉
机器视觉或机器人视觉与计算机视觉有着千丝万缕的联系,很多情况下都作为同义词使用。具体地说,一般认为计算机视觉更侧重于场景分析和图像解释的理论和方法,而机器视觉则更关注通过视觉传感器获取环境的图像,构建具有视觉感知功能的系统以及实现检测和辨识物体的算法。另一方面,机器人视觉更强调机器人的机器视觉,要让机器人具有视觉感知功能。
3.模式识别
模式是指有相似性但又不完全相同的客观事物或现象所构成的类别。模式包含的范围很广,图像就是模式的一种。(图像)模式识别与图像分析则比较相似,它们有相同的输入,而不同的输出结果可以比较方便地进行转换。识别是指从客观事实中自动建立符号描述或进行逻辑推理的数学和技术,因而人们定义模式识别为对客观世界中的物体和过程进行分类、描述的学科。目前,对图像模式的识别主要集中在对图像中感兴趣内容(目标)进行分类、分析和描述,在此基础上还可以进一步实现计算机视觉的目标。同时,计算机视觉的研究中也使用了很多模式识别的概念和方法,但视觉信息有其特殊性和复杂性,传统的模式识别(竞争学习模型)并不能把计算机视觉全部包括进去。
4.人工智能和机器学习
人类智能主要指人类理解世界、判断事物、学习环境、规划行为、推理思维、解决问题等的能力。人工智能则指由人类用计算机模拟、执行或再生某些与人类智能有关的功能的能力和技术。视觉功能是人类智能的一种体现,所以计算机视觉与人工智能密切相关。计算机视觉的研究中使用了许多人工智能技术,反过来,计算机视觉也可看作是人工智能的一个重要应用领域,需要借助人工智能的理论研究成果和系统实现经验。机器学习是人工智能的核心,它研究如何使计算机模拟或实现人类的学习行为,从而获取新的知识或技能,这是计算机视觉完成复杂视觉任务的基础。
5.计算机图形学
图形学原本指用图形、图表、绘图等形式表达数据信息的科学,而计算机图形学研究的就是如何利用计算机技术来产生这些形式,它与计算机视觉也有密切的关系。一般人们将计算机图形学称为计算机视觉的反/逆(inverse)问题,因为视觉从2-D图像提取3-D信息,而图形学里使用3-D模型来生成2-D场景图像(更一般的是从非图像形式的数据描述来生成逼真的图像)。需要注意的是,与计算机视觉中存在许多不确定性相比,计算机图形学处理的多是确定性问题,是通过数学途径可以解决的问题。在许多实际应用中,人们更多关心的是图形生成的速度和精度,即在实时性和逼真度之间取得某种妥协。
除以上相近学科外,从更广泛的领域看,计算机视觉要借助各种工程方法解决一些生物的问题,完成生物固有的功能,所以它与生物学、生理学、心理学、神经学等学科也有着互相学习、互为依赖的关系。近年计算机视觉研究者与视觉心理、生理研究者紧密合作,已获得了一系列研究成果。计算机视觉属于工程应用科学,与工业自动化、人机交互、办公自动化、视觉导航和机器人、安全监控、生物医学、遥感测绘、智能交通和军事公安等学科也密不可分。一方面,计算机视觉的研究充分结合利用了这些学科的成果;另一方面,计算机视觉的应用也极大地推动了这些学科的深入研究和发展。
1.1.4 应用领域
近年来计算机视觉已在许多领域得到广泛应用,下面是一些典型的例子。
1.工业视觉:如工业检测、工业探伤、自动生产流水线、办公自动化、邮政自动化、邮件分捡、金相分析、无损探测、印刷板质量检验、精细印刷品缺陷检测以及在各种危险场合工作的机器人等。将视觉技术用于工业生产自动化,可以加快生产速度,保证质量的一致性,还可以避免由于人的疲劳、注意力不集中等产生的误判。
2.人机交互:让计算机借助人的手势动作(手语)、嘴唇动作(唇读)、躯干运动(步态)、人脸表情测定等了解人的愿望要求而执行指令,这既符合人类的交互习惯,也可增加交互的方便性和临场感等。
3.安全监控:如人脸识别,罪犯脸型的合成、识别和查询,指纹、印章的鉴定和识别,支票、签名辨伪等,可有效地监测和防止许多类型的犯罪。
4.军事公安:如军事侦察、合成孔径雷达图像分析、战场环境/场景建模表示等。
5.遥感测绘:如矿藏勘探、资源探测、气象预报、自然灾害监测监控等。
6.视觉导航:如太空探测、航天飞行、巡航导弹制导、无人驾驶飞机飞行、自动行驶车辆的安全操纵、移动机器人、精确制导、公路交通管理以及智能交通的各个方面等,既可避免人的参与及由此带来的危险,也可提高精度和速度。
7.生物医学:红白血球计数,染色体分析,各类X光、CT、MRI、PET图像的自动分析,显微医学操作,远程医疗,计算机辅助外科手术等。
8.虚拟现实:如飞机驾驶员训练、医学手术模拟、战场环境建模表示等,可帮助人们超越人的生理极限,产生身临其境的感觉,提高工作效率。
9.图像自动解释:包括对放射图像、显微图像、遥感多波段图像、合成孔径雷达图像、航天航测图像等的自动判读理解。由于近年来科学技术的发展,图像的种类和数量得以飞速增长,图像的自动理解已成为解决信息膨胀问题的重要手段。
10.对人类视觉系统和机理,以及人脑心理和生理的研究等。这对人们理解人类视觉系统,并推动相关的发展起到了积极作用。