第二章Marr关于视觉的计算理论 2.1引言 2.1.1视觉是信息处理问题 2.1.2视觉系统的表象 22初始简图 2.2.1未处理的初始简图 221.1亮度变化的检测与最优滤波器 2.2.1.2Mar的亮度变化检测理论的生理实验根据 22.1.3不同通道信息的合并 22.1.4过零点的尺度理论( scaling theorems for zero- crossing) 22.2完全的初始简图( full primal sketch) 2325维简图 23.1图象分割 2322.5维简图 24三维模型 2.5视觉系统的组织 2.6小结 第二章Marr关于视觉的计算理论 2.1引言 早期的计算机视觉研究主要集中于积木世界的理解以及与此有关的低层视觉信息处理。积 木世界理解就是根据线画图来理解由多面体构成的景物。这方面的研究开始于 Robertslrob 65,到七十年代中期已经能处理相当复杂的线画图,并且对光照和阴影条件可以几乎不作限 制wan2um。但要从实际景物或图片获得线画图不可避免地要通过低层视觉信息处理。当 时这方面的研究缺乏科学的理论指导。在很大程度上低层视觉信息处理的方法是一些技巧 而不是科学,并且已经面临严重的困境。当时学术界普通认为低层视觉处理从本质上来看就 难以得到各种有用的描述。因此需要用关于景物的先验知识和启发式知识来指导。但在实际 建立由知识作自顶向下导引的视觉处理和理解程序时并未取得预想的成功,而是遇到难以克 服的矛盾。总之,到七十年代中期计算机视觉研究迫切需要理论指导以推动进一步的发展
16 第二章 Marr 关于视觉的计算理论 2.1 引言 2.1.1 视觉是信息处理问题 2.1.2 视觉系统的表象 2.2 初始简图 2.2.1 未处理的初始简图 2.2.1.1 亮度变化的检测与最优滤波器 2.2.1.2 Marr 的亮度变化检测理论的生理实验根据 2.2.1.3 不同通道信息的合并 2.2.1.4 过零点的尺度理论(scaling theorems for zero-crossing) 2.2.2 完全的初始简图(full primal sketch) 2.3 2.5 维简图 2.3.1 图象分割 2.3.2 2.5 维简图 2.4 三维模型 2.5 视觉系统的组织 2.6 小结 第二章 Marr 关于视觉的计算理论 2.1 引言 早期的计算机视觉研究主要集中于积木世界的理解以及与此有关的低层视觉信息处理。积 木世界理解就是根据线画图来理解由多面体构成的景物。这方面的研究开始于 Roberts[Rob 65],到七十年代中期已经能处理相当复杂的线画图,并且对光照和阴影条件可以几乎不作限 制[Wa 72][Huf 77] 。但要从实际景物或图片获得线画图不可避免地要通过低层视觉信息处理。当 时这方面的研究缺乏科学的理论指导。在很大程度上低层视觉信息处理的方法是一些技巧, 而不是科学,并且已经面临严重的困境。当时学术界普通认为低层视觉处理从本质上来看就 难以得到各种有用的描述。因此需要用关于景物的先验知识和启发式知识来指导。但在实际 建立由知识作自顶向下导引的视觉处理和理解程序时并未取得预想的成功,而是遇到难以克 服的矛盾。总之,到七十年代中期计算机视觉研究迫切需要理论指导以推动进一步的发展
另一方面,自60年代以来对人类视觉的研究也已取得了一系列重要的成果。 Hubel和 Wiesel,W62,681关于大脑视皮层细脑感受野的论述,以及 Campell和 Robes(cam6关于视觉 系统空间频率通道的论述是其中两项最重要的研究成果。如果把视觉看成是一种信息处理过 程,上述结果就形成了两种不同观点:一些人认为视皮层是特征检测器,另一些人则认为视 皮层是某种空间 Fourier分析器。同时,这两种观点又都有不少无法解释的实验结果。因此, 对人类视觉的研究迫切地需要理论的指导。美国麻省理工学院(MT)人工智能实验室的 DMar教授就是在这种情况下,立足于计算机科学,总结了心理物理学、神经生理学、临 床神经病学等在视觉研究上己取得成果的基础上提出了视觉计算理论。他的理论对人工智能 和神经科学都产生了深远的影响 西方的思维科学来源于逻辑和计算理论,根据这个理论, Newell和 Simonlnew8提出了 物理符号系统的概念。他们认为无论计算机与人脑在硬件结构上如何不同,但从计算理论的 层次上来说它们都是具有产生、操作和处理抽象符号能力的物理符号系统。物理符号系统对 思维科学来说就象进化论对任何生物学那样是基础。在这样的计算理论看来,任何一种复杂 的精神智力活动在本质上都是以离散符号处理为核心的计算过程。这种以逻辑和计算理论为 核心的一系列概念加深了我们对智力本质的认识。Mar提出的视觉计算理论与此是一脉相 通的。他的计算理论使人们对视觉机理的研宄提高到一个新水平。 Mar^的视觉计算理论是首次提出的阐述视觉机理的系统理论,并且对人类视觉和计算 机视觉的研究都产生了深远的推动作用。但它还远未解决建立人类视觉计算理论的问题。如 以后的章节中将会讨论的那样在实践中也已遇到了一些严重困难。因此这个理论还需要通过 研究不断改进和完善。 2.1.1视觉是个信息处理任务 Mar认为“看”就是人通过观察认知有什么东西和它们在什么地方。换句话说,视觉 是一种处理过程,经过这个过程从图象中发现外部世界中有什么东西和它们在什么地方。因 此,视觉首先是一个信息处理任务。一个信息处理任务可以,并且应该从三个不同层次来研 究和理解。Mar指出正是由于不能正确地区分这三个层次中涉及的不同的研究问题阻碍了 人工智能和心理学、神经生理学中对视觉的硏究。第一个层次是信息处理的计算理论。在这 个层次研究的是对什么信息进行计算和为什么要进行这些计算:第二个层次是算法。在这个 层次研究的是如何进行所要求的计算,也就是要设计特定的算法:第三个层次是实现算法的 机制或硬件,在这个层次上研究完成某一特定算法的计算机构。例如,根据 Fourier分析理 论,任意连续函数可用它的 Fourier频谱来表示,因此 Fourier变换是属于第一层的理论。而 计算 Fourier变换的算法,如各种快速 Fourier算法是属于第二个层次的。至于实现快速 Fourier 算法的阵列处理机就属于硬件的层次。在设计实现计算理论的算法以前必须先要有计算理 论。因为只有确切地了解所进行计算的含义以后才能认真考虑设计算法。在视觉研究中有必 要强调上述观点,这样有助于明确研究的目的。在人工智能领域中的研究应该主要在第一个 层次,在这一层次上研究的问题应该是类似于这样的问题:“从原理上讲,如何才能根据图
17 另一方面,自 60 年代以来对人类视觉的研究也已取得了一系列重要的成果。Hubel 和 Wiesl[Hub, Wie 62, 68]关于大脑视皮层细脑感受野的论述,以及 Campell 和 Robesn[Cam 68]关于视觉 系统空间频率通道的论述是其中两项最重要的研究成果。如果把视觉看成是一种信息处理过 程,上述结果就形成了两种不同观点:一些人认为视皮层是特征检测器,另一些人则认为视 皮层是某种空间 Fourier 分析器。同时,这两种观点又都有不少无法解释的实验结果。因此, 对人类视觉的研究迫切地需要理论的指导。美国麻省理工学院(MIT)人工智能实验室的 D.Marr 教授就是在这种情况下,立足于计算机科学,总结了心理物理学、神经生理学、临 床神经病学等在视觉研究上已取得成果的基础上提出了视觉计算理论。他的理论对人工智能 和神经科学都产生了深远的影响。 西方的思维科学来源于逻辑和计算理论,根据这个理论,Newell 和 Simon[new 81]提出了 物理符号系统的概念。他们认为无论计算机与人脑在硬件结构上如何不同,但从计算理论的 层次上来说它们都是具有产生、操作和处理抽象符号能力的物理符号系统。物理符号系统对 思维科学来说就象进化论对任何生物学那样是基础。在这样的计算理论看来,任何一种复杂 的精神智力活动在本质上都是以离散符号处理为核心的计算过程。这种以逻辑和计算理论为 核心的一系列概念加深了我们对智力本质的认识。Marr 提出的视觉计算理论与此是一脉相 通的。他的计算理论使人们对视觉机理的研究提高到一个新水平。 Marr 的视觉计算理论是首次提出的阐述视觉机理的系统理论,并且对人类视觉和计算 机视觉的研究都产生了深远的推动作用。但它还远未解决建立人类视觉计算理论的问题。如 以后的章节中将会讨论的那样在实践中也已遇到了一些严重困难。因此这个理论还需要通过 研究不断改进和完善。 2.1.1 视觉是个信息处理任务 Marr 认为“看”就是人通过观察认知有什么东西和它们在什么地方。换句话说,视觉 是一种处理过程,经过这个过程从图象中发现外部世界中有什么东西和它们在什么地方。因 此,视觉首先是一个信息处理任务。一个信息处理任务可以,并且应该从三个不同层次来研 究和理解。Marr 指出正是由于不能正确地区分这三个层次中涉及的不同的研究问题阻碍了 人工智能和心理学、神经生理学中对视觉的研究。第一个层次是信息处理的计算理论。在这 个层次研究的是对什么信息进行计算和为什么要进行这些计算;第二个层次是算法。在这个 层次研究的是如何进行所要求的计算,也就是要设计特定的算法;第三个层次是实现算法的 机制或硬件,在这个层次上研究完成某一特定算法的计算机构。例如,根据 Fourier 分析理 论,任意连续函数可用它的 Fourier 频谱来表示,因此 Fourier 变换是属于第一层的理论。而 计算Fourier 变换的算法,如各种快速Fourier 算法是属于第二个层次的。至于实现快速Fourier 算法的阵列处理机就属于硬件的层次。在设计实现计算理论的算法以前必须先要有计算理 论。因为只有确切地了解所进行计算的含义以后才能认真考虑设计算法。在视觉研究中有必 要强调上述观点,这样有助于明确研究的目的。在人工智能领域中的研究应该主要在第一个 层次,在这一层次上研究的问题应该是类似于这样的问题:“从原理上讲,如何才能根据图
象中的影调信息获得物体的形状?”,“在解决视觉问题中光度学可起什么作用?”,“如 果应用光度学还不足以解决问题,那么对环境的本质需做什么假设,以便用作求解时的约束 条件”等。相比之下,在图象处理中经常被采用的松驰标记法所涉及的问题是根据应用环境 把合理的约束直接写入到算法中去,它只不过是一种编写程序的风格而已,并不涉及视觉理 论本身。因此,对松驰标记法的研究是属于信息处理的第二个层次,它不应是人工智能领域 中研究的重点。 2.1.2视觉系统的表象( representation) 如前所述,Mar认为视觉是一个信息处理任务。Mar同时又指出视觉和处理并不完全 相同。因为如果我们能够认识外部世界有什么东西在什么地方,那么我们的大脑必须以某种 方式表象( representating)这种信息——以尽可能丰富的色彩、形状、美感、运动和细节等 多方面来表象这种信息。所以,视觉研究不仅必须探讨我们是如何从图象中提取外部世界中 对我们有用的各个方面,而且还必须探讨内部的表象。所谓表象是指一种能把某种实体或某 几类信息表达清楚的形式化系统,以及说明该系统如何行使其职能的若干规则。使用某一种 表象描述一个给定的实体所得到的结果称为该实体在这种表象下的一个描述。例如,阿拉伯 数制,二进制数制,它们都是表象“数”的形式化系统。阿拉伯数字表象由数集(0,1,2,…,8,9) 中所抽取的一串符号组成;构造特定整数n的描述规则是:先把n分解为数符与位值的乘积 之和,位值用10的幂表示,再按幂的大小把数符自左向右排成一行。因此叁拾柒等于3 101+7×10变成37,即该数在阿拉伯制下的描述。这个描述明确表达了数按10的整数幂所 作的分解。在二进制数制中,数叁拾柒的描述是100101:它明确表达的则是数按2的幂所 作的展开,但这样的描述不可能一蹴而就,而要通过构造一连串的表象来实现。这些表象开 始于直接从图象中得出的描述,而每一个表象都将有助于尔后进行的处理工作,经过一步 步的处理,逐步恢复物体形状的越来越客观的物理性质。按照Mar的设想,从图象推得形 状信息的过程分成三个表象阶段:初始简图( primal sketch)、2.5维简图(2.5 dimensional sketch)和三维模型(3 D model) 决定图象亮度的主要因素有四个。它们是:(1)几何关系:(2)可见表面的反射情况 (3)景物的照明情况:(4)观察点的方位;在图象中所有这些因素是混杂在一起的。某些灰 度变化是由某一种因素引起的,而另一些变化则是由另一种因素引起的,还有一些变化则是 由几种因素共同作用的结果。在视觉处理的第一阶段(即低层视觉阶段)所作处理的目的就 是要分清楚哪一些变化是由哪一些因素引起的,进而建立一些表象,用这些表象把上述四个 因素区分开来。大体上说,可通过两个步骤来实现这一目的。第一步,由图象中的变化和结 构获得适当的表象。这包括检测亮度的变化,表象并分析局部的几何结构,以及检测光源 强光部( highlight)和透明度等照明效应。总之,这是关于二维图象性质的表象。这一步得 到的表象称为初始简图。第二步,对初始简图进行一系列处理运算,推导出一个能反映可见 表面几何特征的表象。其中包括表面朝向,观察者的距离,以及朝向和距离的不连续性,表 面的反射情况,以及对主要照明情况的某种粗略的描述。第二步得到的表象称为2.5维简图
18 象中的影调信息获得物体的形状?”,“在解决视觉问题中光度学可起什么作用?”,“如 果应用光度学还不足以解决问题,那么对环境的本质需做什么假设,以便用作求解时的约束 条件”等。相比之下,在图象处理中经常被采用的松驰标记法所涉及的问题是根据应用环境 把合理的约束直接写入到算法中去,它只不过是一种编写程序的风格而已,并不涉及视觉理 论本身。因此,对松驰标记法的研究是属于信息处理的第二个层次,它不应是人工智能领域 中研究的重点。 2.1.2 视觉系统的表象(representation) 如前所述,Marr 认为视觉是一个信息处理任务。Marr 同时又指出视觉和处理并不完全 相同。因为如果我们能够认识外部世界有什么东西在什么地方,那么我们的大脑必须以某种 方式表象(representating)这种信息——以尽可能丰富的色彩、形状、美感、运动和细节等 多方面来表象这种信息。所以,视觉研究不仅必须探讨我们是如何从图象中提取外部世界中 对我们有用的各个方面,而且还必须探讨内部的表象。所谓表象是指一种能把某种实体或某 几类信息表达清楚的形式化系统,以及说明该系统如何行使其职能的若干规则。使用某一种 表象描述一个给定的实体所得到的结果称为该实体在这种表象下的一个描述。例如,阿拉伯 数制,二进制数制,它们都是表象“数”的形式化系统。阿拉伯数字表象由数集(0,1,2,…,8,9) 中所抽取的一串符号组成;构造特定整数 n 的描述规则是:先把 n 分解为数符与位值的乘积 之和,位值用 10 的幂表示,再按幂的大小把数符自左向右排成一行。因此叁拾柒等于 3× 101 +7×100 变成 37,即该数在阿拉伯制下的描述。这个描述明确表达了数按 10 的整数幂所 作的分解。在二进制数制中,数叁拾柒的描述是 100101;它明确表达的则是数按 2 的幂所 作的展开,但这样的描述不可能一蹴而就,而要通过构造一连串的表象来实现。这些表象开 始于直接从图象中得出的描述,而每一个表象都将有助于尔后进行的处理工作,经过一步一 步的处理,逐步恢复物体形状的越来越客观的物理性质。按照 Marr 的设想,从图象推得形 状信息的过程分成三个表象阶段:初始简图(primal sketch)、2.5 维简图(2.5 dimensional sketch)和三维模型(3D model)。 决定图象亮度的主要因素有四个。它们是:(1) 几何关系;(2) 可见表面的反射情况; (3) 景物的照明情况;(4) 观察点的方位;在图象中所有这些因素是混杂在一起的。某些灰 度变化是由某一种因素引起的,而另一些变化则是由另一种因素引起的,还有一些变化则是 由几种因素共同作用的结果。在视觉处理的第一阶段(即低层视觉阶段)所作处理的目的就 是要分清楚哪一些变化是由哪一些因素引起的,进而建立一些表象,用这些表象把上述四个 因素区分开来。大体上说,可通过两个步骤来实现这一目的。第一步,由图象中的变化和结 构获得适当的表象。这包括检测亮度的变化,表象并分析局部的几何结构,以及检测光源、 强光部(highlight)和透明度等照明效应。总之,这是关于二维图象性质的表象。这一步得 到的表象称为初始简图。第二步,对初始简图进行一系列处理运算,推导出一个能反映可见 表面几何特征的表象。其中包括表面朝向,观察者的距离,以及朝向和距离的不连续性,表 面的反射情况,以及对主要照明情况的某种粗略的描述。第二步得到的表象称为 2.5 维简图
初始简图和25维简图都是在以观察者为中心的坐标系中构成的,正因为它们的这一结构特 征,所以被称为图。它所表达的空间关系是指在观察者视网膜上的二维关系,不是观察者周 围的外部世界相对于观察者的三维关系。第三个阶段是被观察形状的三维结构组织在以物体 为中心的坐标系中表象,以及在这种坐标系下对物体表面性质的一些描述,这个阶段称为三 维模型表象。这个视觉系统的表象层次总结成图2.1。在第22节到第24节中我们将对这个 表象系统作较详细的叙述。 图象 轮|立运纹遮仁 廓|体动理挡 25维简图 三维模型 图21视觉系统的三个表象层次 2.2初始简图( pr imaI sketch) 人类视觉系统的输入是外部世界投射在视网膜上的图象,这个图象实质上是一个二维的 亮度阵列(在计算机视觉系统中,外部世界在胶片或摄象机的感光面上产生亮度阵列),而 不能直接表示其它信息,因此需要进一步处理。画家作速写时用边、线、点这样的符号就可 以勾画出景物的素描。这样的素描图与实际景物在视网膜上产生的图象亮度阵列是很不相同 的,但人们可以毫无困难地识别它们。这说明视觉对图象所作的第一个运算是把它转换成 些原始符号构成的描述。这些描述所反映的不是亮度的绝对值大小,而是图象中的亮度变化 和局部的几何特征。Marr把这样的描述称为初始简图。初始简图是一种基元表象,它由两 部分组成。第一部分,用边缘段( edge segments)、线(bar)、斑点(blob)和端点( terminations) 这些基元构成对图象中亮度变化的描述,这被称为未处理的初始简图。第二部分利用虚拟线 来完全而明确地表示几何关系,并且通过各种方式对原始的基元进行选择、聚合和概括等过 程来构成更大、更为抽象的标记( tokens)。最后得到的描述层次可以复盖某一尺度范围, 这被称为完全的初始简图。图22中所示为亮度图象、未处理的初始简图和在产生完全的初 始简图时所进行的聚集过程
19 初始简图和 2.5 维简图都是在以观察者为中心的坐标系中构成的,正因为它们的这一结构特 征,所以被称为图。它所表达的空间关系是指在观察者视网膜上的二维关系,不是观察者周 围的外部世界相对于观察者的三维关系。第三个阶段是被观察形状的三维结构组织在以物体 为中心的坐标系中表象,以及在这种坐标系下对物体表面性质的一些描述,这个阶段称为三 维模型表象。这个视觉系统的表象层次总结成图 2.1。在第 2.2 节到第 2.4 节中我们将对这个 表象系统作较详细的叙述。 轮 立 运 纹 遮 廓 体 动 理 挡 图 2.1 视觉系统的三个表象层次 2.2 初始简图(primal sketch) 人类视觉系统的输入是外部世界投射在视网膜上的图象,这个图象实质上是一个二维的 亮度阵列(在计算机视觉系统中,外部世界在胶片或摄象机的感光面上产生亮度阵列),而 不能直接表示其它信息,因此需要进一步处理。画家作速写时用边、线、点这样的符号就可 以勾画出景物的素描。这样的素描图与实际景物在视网膜上产生的图象亮度阵列是很不相同 的,但人们可以毫无困难地识别它们。这说明视觉对图象所作的第一个运算是把它转换成一 些原始符号构成的描述。这些描述所反映的不是亮度的绝对值大小,而是图象中的亮度变化 和局部的几何特征。Marr 把这样的描述称为初始简图。初始简图是一种基元表象,它由两 部分组成。第一部分,用边缘段(edge segments)、线(bar)、斑点(blob)和端点(terminations) 这些基元构成对图象中亮度变化的描述,这被称为未处理的初始简图。第二部分利用虚拟线 来完全而明确地表示几何关系,并且通过各种方式对原始的基元进行选择、聚合和概括等过 程来构成更大、更为抽象的标记(tokens)。最后得到的描述层次可以复盖某一尺度范围, 这被称为完全的初始简图。图 2.2 中所示为亮度图象、未处理的初始简图和在产生完全的初 始简图时所进行的聚集过程。 图象 初始简图 聚集 2.5 维简图 三维模型
Computer Vision 321 图22初始简图(A.App.p.212.fig8-3) (a)亮度图象:(b)图象的亮度:(c)未处理的初始简图的分割,这时未进行许多聚集处理 (d)e)(f)是抽取完全的初始简图过程中找到的聚集
20 图 2.2 初始简图(AI. App. p.212. fig 8-3) (a)亮度图象;(b)图象的亮度;(c)未处理的初始简图的分割,这时未进行许多聚集处理; (d)(e)(f)是抽取完全的初始简图过程中找到的聚集
2.2.1未处理的初始简图( raw pr imaI sketch) 计算未处理的初始简图涉及的问题是检测亮度的变化、确定亮度变化的空间位置,以及 如何用符号来表示这些亮度变化。 2.2.2亮度变化的检测与最优滤波器 亮度变化的检测 亮度的变化可由亮度的梯度和亮度梯度的变化来描述。为简单起见,以一维的情况为例 说明。如用一阶差分来近似,那么可通过把该点左、右两边的亮度值相减求得。这相当于把 此点一边各点的亮度乘以+1,把此点另一边的亮度乘以-1,然后把两边的乘积相加,所得结 果即为该点的亮度梯度。在数字图象处理的文献中把这样的运算称为与一阶差分空间算子做 卷积。这样的运算是一种局部运算。现在的问题是仅对左、右相邻点,还是在更大的范围内 求亮度变化。如图2.3(a)所示是缓慢变化,那么为了检测亮度梯度就需要在更大的范围内使 左、右两边的亮度求差,即采用较大的空间算子。与此相反,如果亮度分布是图23(b)中所 示的急剧变化,那么用大的空间算子就会丢失这些急剧的亮度变化,为此要采用较小的空间 算子。总之,如果图象中的亮度在某个范围内变化,那么就要采用相应大小的不同的空间算 子 较大的算子检 较小的算子检 测平缓的亮度 测急剧的亮度 变化 变化 图23采用不同大小的算子检测不同尺度的亮度梯度 亮度梯度的变化也是对亮度变化的有用描述。一阶微分可检测亮度梯度,二阶微分可检 测亮度梯度的变化。如果亮度分布是图24(a)中所示的台阶状,那么在亮度的一阶微分图 形上出现一个峰点(b),而在二阶微分的图形上相应地出现一个过零点(c)。通过确定亮度二 阶微分上的过零点就可以确定亮度台阶的位置 (b)I
21 2.2.1 未处理的初始简图(raw primal sketch) 计算未处理的初始简图涉及的问题是检测亮度的变化、确定亮度变化的空间位置,以及 如何用符号来表示这些亮度变化。 2.2.2 亮度变化的检测与最优滤波器 1. 亮度变化的检测 亮度的变化可由亮度的梯度和亮度梯度的变化来描述。为简单起见,以一维的情况为例 说明。如用一阶差分来近似,那么可通过把该点左、右两边的亮度值相减求得。这相当于把 此点一边各点的亮度乘以+1,把此点另一边的亮度乘以-1,然后把两边的乘积相加,所得结 果即为该点的亮度梯度。在数字图象处理的文献中把这样的运算称为与一阶差分空间算子做 卷积。这样的运算是一种局部运算。现在的问题是仅对左、右相邻点,还是在更大的范围内 求亮度变化。如图 2.3(a)所示是缓慢变化,那么为了检测亮度梯度就需要在更大的范围内使 左、右两边的亮度求差,即采用较大的空间算子。与此相反,如果亮度分布是图 2.3(b)中所 示的急剧变化,那么用大的空间算子就会丢失这些急剧的亮度变化,为此要采用较小的空间 算子。总之,如果图象中的亮度在某个范围内变化,那么就要采用相应大小的不同的空间算 子。 图 2.3 采用不同大小的算子检测不同尺度的亮度梯度 亮度梯度的变化也是对亮度变化的有用描述。一阶微分可检测亮度梯度,二阶微分可检 测亮度梯度的变化。如果亮度分布是图 2.4(a) 中所示的台阶状,那么在亮度的一阶微分图 形上出现一个峰点(b),而在二阶微分的图形上相应地出现一个过零点( c)。通过确定亮度二 阶微分上的过零点就可以确定亮度台阶的位置。 (a) I (b) I 较小的算子检 测急剧的亮度 变化 较大的算子检 测平缓的亮度 变化 (a) (b) +1 +1 -1 -1
(c)I 图24台阶状亮度分布(a)的一阶和二阶微分,(b)是有噪声情况下的实际边缘,(c)和(d) 则是有噪声情况下的一阶和二阶微分。 在实际景物的图象中,在两个平面之间的边缘处,亮度急剧地由一个值变为另一个值, 亮度的分布呈台阶状。实际上,由于不可避免地存在噪声,台阶状的变化经常被模糊成图 24(b)中所示的情况。为了确定这样的有噪声的亮度变化的位置需要经过以下四步处理 第一步从图象建立平均亮度阵列。用局部的亮度平均来减少噪声的影响。I是ⅰ点的图 象亮度,A;是ⅰ点周围的亮度的局部平均值: A=+1+ 第二步,从平均亮度阵列建立平均一阶差分阵列。为此,要把右邻差分A+1-A和左邻 差分A1-A11相平均。这相当于把A+1和A:1相平均。F1是平均亮度的平均一次差分: (d) 图2.5(a)理想边缘的亮度分布;(b)对(a)进行平均运算的结果:(c)对(b进行平均差分 的结果;(d)对(c)进行平均差分的结果 第三步,从平均一次差分阵列建立平均二次差分。这相当于求一次差分的平均。S;是平 均亮度的平均二次差分: s=(1-)+(-F)=n-F 第四步,在所求得的阵列上记下峰点、陡峭的斜率和过零点以寻找边缘
22 (c) I (d) I 图 2.4 台阶状亮度分布(a)的一阶和二阶微分,(b)是有噪声情况下的实际边缘,(c)和(d) 则是有噪声情况下的一阶和二阶微分。 在实际景物的图象中,在两个平面之间的边缘处,亮度急剧地由一个值变为另一个值, 亮度的分布呈台阶状。实际上,由于不可避免地存在噪声,台阶状的变化经常被模糊成图 2.4(b)中所示的情况。为了确定这样的有噪声的亮度变化的位置需要经过以下四步处理: 第一步从图象建立平均亮度阵列。用局部的亮度平均来减少噪声的影响。Ii 是 i 点的图 象亮度,Ai 是 i 点周围的亮度的局部平均值: 3 −1 + + +1 = i i i i I I I A 第二步,从平均亮度阵列建立平均一阶差分阵列。为此,要把右邻差分 Ai+1 -Ai 和左邻 差分 Ai-Ai-1 相平均。这相当于把 Ai+1 和 Ai-1 相平均。Fi 是平均亮度的平均一次差分: ( ) ( ) F A A A A A A i i i i i i i = − + − = +1 −1 +1 − −1 2 2 图 2.5 (a) 理想边缘的亮度分布;(b) 对(a)进行平均运算的结果;(c) 对(b)进行平均差分 的结果;(d) 对(c)进行平均差分的结果。 第三步,从平均一次差分阵列建立平均二次差分。这相当于求一次差分的平均。Si 是平 均亮度的平均二次差分: ( ) ( ) S F F F F F F i i i i i i i = − + − = +1 −1 +1 − −1 2 2 第四步,在所求得的阵列上记下峰点、陡峭的斜率和过零点以寻找边缘
平均过程把理想的台阶和被噪声所模糊的台阶都转换成平滑的台阶(图2.5(b),一次 差分过程又把平滑了的台阶转换成凸缘(图25(c)。而二次差分又把凸缘变成了S形曲线 (图2.5(d))。这个S形曲线在正的和负的尖峰之间陡峭地穿过零线。 进行平均以及随后差分运算的作用可以组合到一次总的平均过程中去。输入点l对输出 点O1的影响与两点之间相隔距离关系如下述公式所示: ∑P=×l 其中,P被称为点扩散函数,因为这个函数表示单个孤立的、亮度不为零的点如何在输 出图象中扩散它的影响。当利用这个公式根据输入来确定输出时,我们说输入被点扩散函数 所滤波或和点扩散函数进行卷积。例如,图26(a)所示的点扩散函数相当于一维的三点平均。 图26(b)所示的点扩散函数相当于先平均,然后平均相邻差分。图26(c所示的点扩散函数 相当于先平均,然后进行二次平均相邻差分。 图26平均点扩散函数的一阶和二阶差分(a)一个平均函数:(b)是(a)中所示点扩散函数 的平均相邻差分:(c)对平均的一阶差分进行平均的相邻差分。 以上用一维的例子说明检测图象中的亮度变化可通过对图象用某种点扩散函数(滤波 器)作滤波或卷积,然后在滤波图象中寻找峰点或过零点等特征来实现。点扩散函数的扩散 范围,或滤波器的大小应取决于图象中的亮度变化情况 2.最优滤波器 在自然景物的图象中亮度变化的尺度( Scale)很宽,从很缓慢的变化到很急剧的变化 都可能存在。没有一个单独的滤波器可在所有的尺度下都是最优的。所以需要寻找一种分别 处理在不同尺度上发生的变化的方法。根据 Campbell和 Robson lcam68的研究表明人类视觉 信息的处理是并行地在若干独立的空间频率通道中进行的。按这种概念首先要以各种分辨率 对图象作局部平均,然后检测发生在不同分辨率上的亮度变化。因此,在设计这种最优滤波 器时要综合考虑两个实际因素。首先,由于图象滤波的目的是减小亮度变化的尺度范围,所
23 平均过程把理想的台阶和被噪声所模糊的台阶都转换成平滑的台阶(图 2.5(b)),一次 差分过程又把平滑了的台阶转换成凸缘(图 2.5(c))。而二次差分又把凸缘变成了 S 形曲线 (图 2.5(d))。这个 S 形曲线在正的和负的尖峰之间陡峭地穿过零线。 进行平均以及随后差分运算的作用可以组合到一次总的平均过程中去。输入点 Ij 对输出 点 Oi 的影响与两点之间相隔距离关系如下述公式所示: o P I i j i j j = − 其中,P 被称为点扩散函数,因为这个函数表示单个孤立的、亮度不为零的点如何在输 出图象中扩散它的影响。当利用这个公式根据输入来确定输出时,我们说输入被点扩散函数 所滤波或和点扩散函数进行卷积。例如,图 2.6(a)所示的点扩散函数相当于一维的三点平均。 图 2.6(b)所示的点扩散函数相当于先平均,然后平均相邻差分。图 2.6(c)所示的点扩散函数 相当于先平均,然后进行二次平均相邻差分。 图 2.6 平均点扩散函数的一阶和二阶差分(a)一个平均函数;(b)是(a)中所示点扩散函数 的平均相邻差分;(c)对平均的一阶差分进行平均的相邻差分。 以上用一维的例子说明检测图象中的亮度变化可通过对图象用某种点扩散函数(滤波 器)作滤波或卷积,然后在滤波图象中寻找峰点或过零点等特征来实现。点扩散函数的扩散 范围,或滤波器的大小应取决于图象中的亮度变化情况。 2. 最优滤波器 在自然景物的图象中亮度变化的尺度(Scale)很宽,从很缓慢的变化到很急剧的变化 都可能存在。没有一个单独的滤波器可在所有的尺度下都是最优的。所以需要寻找一种分别 处理在不同尺度上发生的变化的方法。根据 Campbell 和 Robson[cam 68]的研究表明人类视觉 信息的处理是并行地在若干独立的空间频率通道中进行的。按这种概念首先要以各种分辨率 对图象作局部平均,然后检测发生在不同分辨率上的亮度变化。因此,在设计这种最优滤波 器时要综合考虑两个实际因素。首先,由于图象滤波的目的是减小亮度变化的尺度范围,所 (a) (b) (c)
以滤波器的频谱应该是平滑的,并在频率域中是带通的。这个条件可表示为滤波器应有小的 频率方差AO。第二个因素可称为空间定位约束( Constraint of spatial localization)。如前所 述,景物中可引起图象中亮度变化的因素为:(1)照明变化;(2)可见表面的方向和相对观 察者的距离变化:;(3)表面反射率变化。重要的是这些因素可被认为是以它们各自的尺度在 空间中定位的。所以,对滤波图象中的每点的作用应该是邻近点的平滑平均的结果,而不是 任何一种杂乱散布的点的平均。因此,这种滤波器在空间域中也应是平滑和准确定位的,也 就是滤波器应有小的空间方差△x 不幸的是这两个定位性要求(一个在空间域,一个在频率域)是相互冲突的。事实上这 两者之间要满足不确定性原理(见[Bra65160-175)。不确定性原理要求Ax△O≥是丌。 此外,只有 Gaussian函数才能满足这种最优关系: G(x)=1/d(2x)exp -x /2a2) 其中σ是 Gaussian函数的方差 在二维的情况下 G(r) Gaussian滤波器能在这两个矛盾的要求中作最优的综合平衡。因此,计算初始简图中的第 步是使图象(I(x,y)与一组不同尺度的 Gaussian滤波器(即不同标准方差a2的滤波器) 作卷积。可用符号把这种计算表示为G+I(x,y) 在出现亮度变化的地方一阶导数就会有峰点。相应地,亮度的二阶导数上就会有过零点 ( zero crossing)。因此,可通过寻找下述函数中的过零点来检测亮度的变化: f(x,y=D-G(r)*I(x, y)] 其中I(x,y)是图象,*是卷积算子。根据卷积的微分规则: f(x,y=D-G"I(x, y) 算子DG与图象Ix,y)卷积的结果和G(r)与I(xy)卷积后进行二阶微分的结果完全相同。DG 形状看起来很象墨西哥草帽(图2.7),因此有时被称为草帽形算子 上述论述说明从原理上说,某一尺度下的亮度变化可通过把图象与DG算子作卷积, 并寻找方向导数,所以还要确定是在什么方向上取导数。为简化计算,如果可能的话希望使 用各向同性的算子。唯一与方向无关的二阶微分算子是 Laplacian算子V2。 Marrk80证明 在某些很弱的假设下,使用V2算子是合适的。因此,上述二阶方向导数D(G1)中的过零点 可简便地在某一尺度下通过搜索v2G*(x,y)的过零点来求得 其中 V2=2+y=√x2+y2,w=a4/4 这是一个旋转对称的函数,具有一个自由参数σ,它决定函数的空间尺寸大小。此函数横
24 以滤波器的频谱应该是平滑的,并在频率域中是带通的。这个条件可表示为滤波器应有小的 频率方差 。第二个因素可称为空间定位约束(Constraint of spatial localization)。如前所 述,景物中可引起图象中亮度变化的因素为:(1) 照明变化;(2) 可见表面的方向和相对观 察者的距离变化;(3) 表面反射率变化。重要的是这些因素可被认为是以它们各自的尺度在 空间中定位的。所以,对滤波图象中的每点的作用应该是邻近点的平滑平均的结果,而不是 任何一种杂乱散布的点的平均。因此,这种滤波器在空间域中也应是平滑和准确定位的,也 就是滤波器应有小的空间方差 x 。 不幸的是这两个定位性要求(一个在空间域,一个在频率域)是相互冲突的。事实上这 两者之间要满足不确定性原理(见[Bra 65], 160−175)。不确定性原理要求 x 1 4 。 此外,只有 Gaussian 函数才能满足这种最优关系: ( ) ( ) G x ( ) x = 1 2 − 2 1 2 2 / exp 2 其中 是 Gaussian 函数的方差 在二维的情况下 G(r) = x y − = + 1 2 2 2 2 2 2 2 exp , Gaussian 滤波器能在这两个矛盾的要求中作最优的综合平衡。因此,计算初始简图中的第一 步是使图象(I(x, y))与一组不同尺度的 Gaussian 滤波器(即不同标准方差 2 的滤波器) 作卷积。可用符号把这种计算表示为 G*I(x, y)。 在出现亮度变化的地方一阶导数就会有峰点。相应地,亮度的二阶导数上就会有过零点 (zero crossing)。因此,可通过寻找下述函数中的过零点来检测亮度的变化: f(x,y)=D2 [G(r)*I(x, y)] 其中 I(x, y)是图象,*是卷积算子。根据卷积的微分规则: f(x,y)=D2G*I(x, y) 算子D2G与图象I(x, y)卷积的结果和G(r)与I(x, y)卷积后进行二阶微分的结果完全相同。D2G 形状看起来很象墨西哥草帽(图 2.7),因此有时被称为草帽形算子。 上述论述说明从原理上说,某一尺度下的亮度变化可通过把图象与 D2G 算子作卷积, 并寻找方向导数,所以还要确定是在什么方向上取导数。为简化计算,如果可能的话希望使 用各向同性的算子。唯一与方向无关的二阶微分算子是 Laplacian 算子 2 。Marr[Mar 80]证明 在某些很弱的假设下,使用 2 算子是合适的。因此,上述二阶方向导数 D2 (G*I)中的过零点 可简便地在某一尺度下通过搜索 ( ) 2G I x, y 的过零点来求得。 ( ) = − − ( ) 2 1 − 4 2 2 1 2 2 2 G 2 exp 其中 , , / 4 2 2 2 4 2 2 2 2 = + = x + y w = x y 这是一个旋转对称的函数,具有一个自由参数 ,它决定函数的空间尺寸大小。此函数横
截面如图27所示。由图中可见,它的中央负向区域的宽度a2D等于 2√2G 这个滤波器的大小由σ的数值或等价地由ω,n的数值来确定。为了不使函数被过分地截短 它应在足够大的窗口内作计算,窗口宽度通常取为o≥3602 图27ⅴ2G(y)算子的横截面 图28中所示为vG算子与其它两种不是最优的算子的对比。因为我们是根据在频率 域和空间域中同时要求定位的原则来选择 Gaussian滤波器的,而在所示的例子中这两条要 求都被严重地违背了。一个理想的一倍频程带通滤波器可满足在频率域中的定位要求,但
25 截面如图 2.7 所示。由图中可见,它的中央负向区域的宽度 2 D 等于 2D = 2 2 这个滤波器的大小由 的数值或等价地由 2 D 的数值来确定。为了不使函数被过分地截短, 它应在足够大的窗口内作计算,窗口宽度通常取为 d 3 62D . 图 2.7 ( ) 2G 算子的横截面 图 2.8 中所示为 2G 算子与其它两种不是最优的算子的对比。因为我们是根据在频率 域和空间域中同时要求定位的原则来选择 Gaussian 滤波器的,而在所示的例子中这两条要 求都被严重地违背了。一个理想的一倍频程带通滤波器可满足在频率域中的定位要求,但