1.1 本书结构
本书分为六部分,如图1-2所示。
本书的第一部分涵盖概率方面的背景知识。全书中所有的模型都是用概率的术语表示,概率是计算机视觉应用中一门很有用的语言。具有扎实工程数学背景的读者或许对这部分知识比较熟悉,但仍需要浏览这些章节以确保掌握相关的符号。那些尚不具备该背景的读者应该仔细阅读这些章节。这些知识相对比较简单,但它们是本书其余部分的基础。在正式提到计算机视觉知识前被迫阅读三十多页的数学虽然令人沮丧,但请相信我,这些基础知识将为后续的学习提供坚实的基础。
图1-2 章节依赖关系。本书分为六部分。第一部分是概率综述,是所有后续章节的基础。第二部分涉及机器学习和推理,主要描述生成模型和判别模型。第三部分讨论图模型,主要是大的模型中变量之间概率依赖关系的可视化表示方式。第四部分介绍预处理方法。第五部分涉及几何与变换。第六部分提出几个重要的视觉模型
本书第二部分介绍计算机视觉中的机器学习。这些章节讲述机器视觉的核心原理,帮助读者巩固从图像中提取有用信息的方法。建立统计模型,建立图像数据和期望获取信息之间的关系。掌握这些后,读者应该了解如何建立一个模型来解决视觉领域的几乎所有问题,即使这种模式可能还不是很实用。
本书第三部分介绍计算机视觉的图模型。图模型为简化图像数据和期望评估的属性间关系提供一个框架。当这些量都是高维时,它们之间的统计关系变得相当复杂。即使如此,我们仍可以定义相关的模型,但我们可能缺乏使其有用的训练数据或计算能力。图模型提供了一个有原则的方式来推测数据和世界属性之间的统计关系。
本书第四部分讨论图像预处理。对于理解本书中的大部分模型这不是必需的,但并不是说这部分就不重要。预处理策略的选择至少跟模型的选择一样至关重要,这决定了一个计算机视觉系统最终的性能。虽然图像处理不是本书的主题,但是这部分提供了最为重要和实用的技术总结。
本书第五部分致力于几何计算机视觉;它介绍针孔摄像机——一个用来描述三维空间中给定点在相机像素阵列中成像的数学模型。跟这个模型相关的是寻找特定场景的相机位置和重建物体三维模型的一整套技术。
最后,本书第六部分基于前面的原理,给出几组视觉模型。这些模型致力于计算机视觉最为核心的若干问题,包括人脸识别、跟踪和目标识别。
本书最后是附录。其简述书中使用的符号约定,并概括线性代数和优化技术。虽然这些知识在其他文献也能找到,但是这些内容会使得本书更加完备,并且保证在正文以统一的术语来讨论。
每章末尾有一个简短的备注。这提供了相关研究文献的详细信息。该部分倾向于提供最近、最有用的文献,可能并不能准确反映各个领域的所有相关内容。每章末尾也有配套的一些习题。在某些情况下,本书将正文中一些重要但是繁琐的衍生问题留作习题,以便继续本书主要问题的论述。习题答案将会发布在网站上(http://www.computervisionmodels.com) 关于本书教辅资源,用书教师可向剑桥大学出版社北京代表处申请,电子邮件:solutions@cambridge.org。——编辑注。每章末尾也会列出一系列应用(除了只包含理论知识的)。第1~5章、第10章之外,总之,这是关于过去十年里机器视觉重要论文的一个缩影。
最后,本文涉及的七十多种算法的伪代码,打包在一个单独的文件里面,可以从相关网站(http://www.computervisionmodels.com)下载。本书通篇使用符号表示有与这部分文字相关的伪代码。伪代码也使用相同的符号,使它很容易实现许多模型。伪代码不放在书中主要是因为它会降低本书的可读性。然而,我鼓励本书所有的读者尽可能多实现这本书里涉及的模型。计算机视觉是一门实践性的工程学科,通过尝试编写真实的代码,你将受益良多。