图像处理、分析与机器视觉
上QQ阅读APP看书,第一时间看更新

第1部分
机器视觉系统构建

第1章 绪论

1.1 机器视觉的定义与发展

人类之所以成为这个星球的主宰,除了具有独立思考和判断能力之外,一个重要的原因是善于创造和使用工具。从人类诞生至今,为了克服自身能力或力量的局限,人们已经发明创造了各种各样的机器来辅助或代替自己完成任务。在发明创造工具的过程中,人们总是用机器模拟自身的视觉、触觉、听觉和嗅觉等器官来感知外部世界,并指导机器的动作。由于人类从外界环境获取的信息中约80%来自视觉感知,因而人们在此类创造过程中,对视觉功能的研究尤为热衷。机器视觉(machine vision)就是专门研究如何用机器来模拟生物视觉功能的学科。

由于机器视觉涉及的领域非常广泛且非常复杂,因此目前还没有明确的定义。美国制造工程师协会(Society of Manufacturing Engineers,SME)机器视觉分会和美国机器人工业协会(Robotic Industries Association,RIA)的自动化视觉分会对机器视觉下的定义为:“机器视觉是研究如何通过光学装置和非接触式传感器自动地接收、处理真实场景的图像,以获得所需信息或用于控制机器人运动的学科”。机器视觉系统通常通过各种软硬件技术和方法,对反映现实场景的二维图像信息进行分析、处理后,自动得出各种指令数据,以控制机器的动作[1]。例如,可以让机器视觉系统采集、分析生产线上的药品包装图像,进而让执行机构将不合格的产品(见图1-1)挑拣出来,从而达到质量控制的目的。

图1-1 生产线上包装合格和不合格的药品

机器视觉、图像处理(image processing)以及计算机视觉(computer vision)是既相互交叉又有区别的几个概念。图像处理是指用计算机对图像进行复原、校正、增强、统计分析、分类和识别等加工,以达到所需结果的技术和过程,它通常是机器视觉中必不可少的阶段(日常生活中图像处理常常指对图像的艺术化,与工业领域的图像处理的概念稍有差别)。计算机视觉的研究很大程度上是针对图像内容的视觉理论研究。它的研究对象主要是映射到单幅或多幅图像上的三维场景,例如三维场景的重建等。机器视觉则主要是指工业领域视觉的应用研究,例如自主机器人的视觉,用于检测和测量的视觉系统等。它通过在工业领域将图像感知、图像处理、控制理论与软件、硬件紧密结合,并研究解决图像处理和计算机视觉理论在实际应用过程中的问题,以实现高效的运动控制或各种实时操作。

机器视觉的研究最早是在20世纪50年代从统计模式识别开始的[2],当时的研究主要集中在二维图像分析和识别上,目的是为了实现非接触式自动检测和机器人导引[2,3]。20世纪60年代,Roberts(1965)基于积木玩具开创了以理解三维场景为目的的三维机器视觉研究。基于三维机器视觉理论,人们可以通过计算机程序从数字图像中提取出诸如立方体、楔形体、棱柱体等多面体的三维结构,并对物体形状和空间关系进行描述。由于相信Roberts的研究可以推广到理解更复杂的三维场景,人们还对积木世界进行了更深入的研究,并建立了各种数据结构和推理规则。

20世纪70年代中期,计算机硬件的性能和软件技术突飞猛进,在计算机上快速处理大量的数字图像数据成为可能,机器视觉也因此得到了正式的关注和发展,开始出现了一些机器视觉应用系统。1977年,参与麻省理工学院(MIT)人工智能(artificial intelligence)实验室机器视觉理论、算法、系统设计研究的David Marr教授提出了不同于Roberts积木世界分析方法的计算视觉(computational vision)理论。

David Marr认为,视觉是一个信息处理系统,对此系统研究应分为3个层次:计算理论层(computational level)、算法与表示层(algorithmic/representational level)和物理实现层(implementation level),如图1-2所示。

图1-2 Marr机器视觉系统研究的3个层次

计算理论层主要回答视觉系统的计算目的和策略是什么,或视觉系统的输入和输出是什么,如何由系统的输入求出系统的输出。算法与表示层是要进一步回答如何表示输入和输出信息,如何实现计算理论所对应的功能的算法,以及如何由一种表示变换成另一种表示。在解决了理论问题和表示问题后,最后一个层次是解决用硬件实现上述表示和算法的问题。从信息处理的角度来看,计算理论层是3个层次的核心,这是因为构成知觉的计算本质取决于解决计算问题本身,而不取决于用来解决计算问题的特殊硬件[4]

Marr认为视觉信息处理可以分为以下3个阶段:

(1)早期阶段,用于场景的初步勾画(primal sketch of the scene)。主要从原始图像中抽取诸如角点、边缘、纹理、线条和边界等基本特征,这些特征的集合称为基元图(primitive sketch)。

(2)中期阶段,进行场景的2.5维勾画(2.5D sketch of the scene)。主要在以观测者为中心的坐标系中,从原始图像和基元图中恢复场景可见部分的深度信息。由于这些信息并不是真正的物体三维表示,因此,称为二维半图(2.5 dimensional sketch)。

(3)后期阶段,进行场景的三维模型表示(3D model visualization)。使用原始图像、基元图、二维半图作为输入来恢复、表示和识别三维物体。

Marr的理论在20世纪80年代成为机器视觉研究领域中的一个十分重要的理论框架,但该理论并不是十分完善的。首先,Marr理论认为视觉任务是由2D图像恢复3D场景,而真实世界往往极为复杂,要想获得3D模型的客观描述极为困难,而且视觉任务也并不总以恢复3D场景为目标。其次,Marr框架对信息处理是一种单向串行的自底向上的3级加工过程,高层信息不对低层反馈,这种结构使它缺乏灵活性和自适应性。最后,Marr框架将视觉处理的早期阶段看成是被动接收信号的过程,这与生物视觉系统有选择地感知感兴趣信息的事实不相符。

随着研究的不断深入,Marr理论的缺陷也逐渐暴露,人们开始更近似地模拟生物视觉系统以研究主动视觉(active vision)。主动视觉强调两点,一是视觉系统应有目的、有选择地主动搜索感兴趣信息,二是视觉系统应基于一定的任务(task directed)或目的(purposive directed)。主动视觉认为,在视觉信息获取过程中,应更主动地调整摄像机的参数,如方向、焦距、孔径等,以使摄像机迅速对准感兴趣的物体。它强调关注机制(attention),强调对分布于不同空间范围和时间段上的信号采用不同的分辨率来有选择性地感知。这种主动感知既可在硬件层上通过摄像机物理参数的调整实现,也可以在基于被动摄像机的前提下,在算法和表示层上通过对已获得的数据有选择性地处理实现。此外,主动视觉认为不基于任何目的的视觉过程是毫无意义的,必须将视觉系统与目的(如导航、识别、操作等)相联系,从而形成感知和动作环(perception and action cycle)。

在研究过程中,人们对主动视觉和通用视觉理论也各执己见[5]。主张主动视觉的研究者普遍认为,以3D景物重建为特征的通用视觉是一种理想化的不现实的模型。他们的考虑主要有两点:一是现实世界非常复杂,而目前的计算机远不具备生物视觉处理的高速并行的能力,要建立通用的人工视觉系统极为困难;另外,视觉系统应与具体的任务相关,视觉处理的研究应基于具体目的,而且很多情况下根本不需要构造3D模型就可完成某种视觉任务。而通用视觉理论主义者认为,通用视觉模型为机器视觉的研究奠定了坚实的基础,对它的研究可以促进对生物视觉机理的理解,不应放弃。仅基于目的视觉,机器视觉将无法看到一些意想不到的(unexpected)、不受欢迎的(unwelcome)或不大可能的(improbable)的东西;对于Marr框架所遇到的问题,主动视觉只是通过视觉处理与目的相联系将约束具体化,并没有提供解决问题的真正途径。

20世纪末,随着计算机技术和图像处理技术的发展,机器视觉的研究和应用也得到了蓬勃发展。一方面经过研究不断涌现出新概念、新方法、新理论,比如基于感知特征群的物体识别理论框架、视觉集成理论框架等。另一方面,已经出现了大量基于PC的机器视觉软件开发平台,如Congex公司的VisionPro、德国MVTec软件公司的HALCON、美国Data Translation公司的DT Vision Foundry以及美国NI公司可以与图形化编程工具LabVIEW无缝集成的NI Vision等,这些工具使得各种深奥的机器视觉理论被具体化并切实应用到生产中。

21世纪初到目前为止,机器视觉仍然是一个非常活跃并正在飞速发展的研究领域。在国内,机器视觉也开始得到广泛关注和发展。一方面,一些国际上顶级的机器视觉公司开始接触中国市场并寻求本地合作伙伴,如Cognex、Data Translation、NI、DVT、Omron、Sushita、CCS、Matrix、Coreco等;另一方面,一些国内企业也专注于机器视觉系统的研究和开发,如大恒图像、和利时电机等。不仅如此,在各个行业,越来越多的客户开始寻求视觉检测方案,并在他们的业务中引入机器视觉,使得机器视觉市场一片欣欣向荣。

总的来说,无论国外还是国内,目前机器视觉的研究和市场都正处在一个迅速发展的阶段,这种发展,不仅会使它在质量检测、光学测量、目标分类、物料处理及机器人视觉等领域得到广泛应用,还将极大地推动智能系统的发展,拓宽计算机与各种智能机器的研究范围和应用领域。