第二章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)是抽取完全的初始简图过程中找到的聚集