2019-07-01 16:02:16 qq_37388085 阅读数 585

第一章 概率概述

1.1 随机变量

随机变量x表示一个不确定的数量。该变量可以表示一个实验的结果(例如,抛硬币)或波动特性的真实度量(例如,测量温度)。如果我们观察几个实例,它可能在每一个场合取不同的值。然而,一些值可能比其他值更容易出现。这种信息是由随机变量的概率分布Pr(x)决定的。

随机变量可以是离散的或连续的。离散变量从一组凸显确定的集合中取值。这组值可能是有序的(掷骰子的点数从1到6)或者无序的(观察天气的结果是“晴”、“下雨”,或“下雪”)。它可能是有限的(从标准扑克牌中随机抽出一张牌,有52种可能的结果)或者无限的(从理论上说,下一班火车上的人数是无限的)。离散变量的概率分布可以可视化为一个直方图或Hinton图(见图1-1),每个结果都有一个与之相关的正概率,且所有结果的概率之和总是1。

图1-1 离散概率的两种不同表示。a)表示不均匀六面的骰子每一面落在地面上的柱状图。因为柱状图中柱子的高度代表每面的概率,所以所有的高度和为1。b)表示观察带到英国不同天气类型概率的Hinton图。因为长方形区域的面积表示每种天气出现的概率,所以所有的面积之和为1。

连续随机变量取实数值。这些取值可能是有限的(要完成时长两小时考试所花费时间是介于0~2小时之间的)或无限的(下一班车到达的时间是无上界的实数)。无限连续变量可能取遍整个实数范围,或者可能是仅有上界或者下界的区间(车辆的速度能够取任意值,但速率的下界为0)。连续变量的概率分布可以通过绘制概率密度函数(PDF)来可视化。一个结果的概率密度表示随机变量取该值的相对可能性(见图1-2)。它可以取任何正值。然而,PDF的积分总是1。
在这里插入图片描述
图1-2 连续概率分布(概率密度函数或简称PDF),即完成测试所需的时间,注意,概率密度可超过1,但曲线下的面积必须始终是单位面积。

1.2 随机变量
假设两个随机变量x和y。若观察x和y的多个成对实例,结果中某些组合出现得较为频繁。这样的情况用x和y的联合概率分布,记作Pr(x,y)。在Pr(x,y)中的逗号可以理解为“和”,所以Pr(x,y)是x和y的概率。一个联合概率分布中的相关变量可能全是离散变量,或全是连续变量,亦或是兼而有之(见图1-3)。不管怎样,所有结果的概率之和(离散变量的总和与连续变量的积分)总是1。
在这里插入图片描述
图1-3 变量x和y的联合概率分布。a-c)两个连续变量的概率密度函数分别呈现为曲面图、等值线图和图像。d)表示两个离散变量联合概率分布的二维Hinton图。e)表示连续变量x和离散变量y的联合概率分布。f)表示离散变量x与连续变量y的联合概率分布

一般来说,与二元变量的概率分布相比,我们会对多元变量的联合概率分布更感兴趣,我们将Pr(x,y,z)记为标量变量x、y和z的联合概率分布,也可以把Pr(x)当成所有多维元素
的联合概率。最后,我们用Pr(x,y)表示所有多维变量x,y的联合概率分布。

2017-09-04 10:22:00 weixin_34122548 阅读数 0

1.1 本书结构

本书分为六部分,如图1-2所示。
本书的第一部分涵盖概率方面的背景知识。全书中所有的模型都是用概率的术语表示,概率是计算机视觉应用中一门很有用的语言。具有扎实工程数学背景的读者或许对这部分知识比较熟悉,但仍需要浏览这些章节以确保掌握相关的符号。那些尚不具备该背景的读者应该仔细阅读这些章节。这些知识相对比较简单,但它们是本书其余部分的基础。在正式提到计算机视觉知识前被迫阅读三十多页的数学虽然令人沮丧,但请相信我,这些基础知识将为后续的学习提供坚实的基础。
2017_09_19_101119

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

2018-01-23 22:37:42 YuYunTan 阅读数 7688


计算机视觉:模型、学习和原理



   本博文乃自学为主,转载需要声明,并且我也不知道能坚持编写多久,故而尽力为之,最近进行计算机视觉的学习的研究生阶段,时间上委实不多。
  学习的书采用了《计算机视觉:模型、学习和推理》,这本书的英文名为《Computer vision:models, learning and inference》,是一本不错的教材,但是可惜的是在习题上有点困难,就是没有提供自学者完整的答案,故而很是可惜。另外,所介绍的数学部分,相对有些难度,而且说明不是很详细和清楚,我的目的是通过博客进行学习,学习的过程中,加上一些自己的理解,而且我会适当加和减一些内容,还有就是本书一些配套的习题,想自己试着写写,如果有不对的地方,欢迎提出来让我进行修改。


绪论

什么是计算机视觉?

  计算机视觉是一门用计算机模拟生物视觉的学说,简而言之,让计算机代替人眼实现对目标的识别、分类、跟踪和场景理解。
  为此有人提出一个疑虑,就算机器视觉和计算机视觉,两者是否是同一个概念。现在不纠结这个问题,而是说明在《计算机视觉:模型、学习和推理》中,尤其是绪论第一段说到,The goal of computer vision is to extract useful information from images. This has proved a surprisingly challenging task; it has occupied thousands of intelligent and creative minds over the last four decades, and despite this we are still far from being able to build a general-purpose ”seeing machine”.我觉得中文翻译得不对,computer vision,应该翻译为计算机视觉而不是机器视觉。所以我觉得应该翻译为,计算机视觉旨在从图形中提取有用的消息,已被证实是一个极具挑战性的任务。在过去四十年里,成千上万智慧和创造性的思维致力于这一任务,尽管如此,我们还远远没有能够建立一个通用的“视觉机器”

计算机视觉和机器视觉

  计算机视觉(computer vision)和机器视觉(machine vision)在很多文献没有区分,但是这个两个术语是有区别又有联系。
  计算机视觉是采用图像处理、模式识别、人工智能技术相结合的手段,着重与一幅或多幅图像的计算机分析。图像可以由单个或者多个传感器获取,也可以是单个传感器在不同时刻获取的图像序列。分析是对目标物体的识别,确定目标物体的位置和姿态,对三维景物进行符号描述和解释。在计算机视觉的研究中,经常使用几何模型、复杂的知识表达,采用基于模型的匹配和搜索技术,搜索的策略常使用自底向上、自顶向下、分层和启发式控制策略。
  机器视觉偏重于计算机视觉技术工程化,能够自动获取和分析特定图像,以控制相应的行为。

  两者的联系在于,计算机视觉为机器视觉提供图像和景物分析的理论及算法基础,机器视觉为计算机视觉的实现提供传感器模型、系统构造和实现手段。
  因此可以认为,一个机器视觉系统就是一个能自动获取一幅或多幅目标物体图像,对所获取图像的各种特征量进行处理、分析和测量,并对测量结果做出定性分析和定量解释,从而得到有关目标物体的某种认识并做出相应决策的系统。机器视觉系统的功能包括:物体定位、特征检测、缺陷判断、目标识别、计数和运动跟踪。

下面给出个图,是从维基百科搬来的。
这里写图片描述
  维基认为,计算机视觉的研究对象主要是映射到单幅或多幅图像上的三维场景,例如三维场景的重建。计算机视觉的研究很大程度上针对图像的内容。而机器视觉主要是指工业领域的视觉研究,例如自主机器人的视觉,用于检测和测量的视觉。这表明在这一领域通过软件硬件,图像感知与控制理论往往与图像处理得到紧密结合来实现高效的机器人控制或各种实时操作。
  总结来说,计算机视觉和机器视觉是有区别而且又有联系。两者用于地方不同,有交叉点。所学的书是以计算机视觉为主。


绪论内容继续讲解

  回归主要内容,前面说过,本书绪论说,我们远远没有能够建立一个通用的“视觉机器”,那么这个原因是什么导致的?是可视视觉的复杂性所导致。
  考虑到下面一幅图像(图1),场景中有数百物体。这些物体没有呈现出“特定”的姿态,几乎所有物体都被部分遮挡。对于一个计算机视觉算法,很难确定某个物体的结束和另一个物体的开始。比如,背景中天空和白色建筑物之间的边界上,图像在亮度上几乎没有变化。然而,即使没有物体的边界或材质的变化,前景中SUV后窗上的亮度也有明显的亮度。
  若非这是一件事情:我们有具体的证据去证明计算机视觉是可研究的,因为我们自己的视觉系统能够毫不费力地处理复杂的图像,如图1所示,恐怕我们可能已经对开发有用的计算机视觉算法的可能性感到沮丧。如果要求你统计该图像中的树的总数或绘制街道布局的草图,你很容易做到这点。甚至于你可能通过提取微妙的视觉线索,比如人的种族、车和树的种类以及天气等,找出这张照片是在世界上哪个位置拍的。


一个视觉场景包含许多物体,而几乎所有物体都是部分遮挡的。红圈所示场景中几乎没有亮度的变化指示天空和建筑之间的边界。绿圈所示区域中有很大的亮度变化而这实际上跟亮度没关系,这里没有物体边界或物体材质的变化。

图1:一个视觉场景包含许多物体,而几乎所有物体都是部分遮挡的。红圈所示场景中几乎没有亮度的变化指示天空和建筑之间的边界。绿圈所示区域中有很大的亮度变化而这实际上跟亮度没关系,这里没有物体边界或物体材质的变化。

  可以得出结论,研究计算机视觉并非不可能,只是它具有挑战性。计算机视觉领域取得了长足进步,并在个人消费领域首次大规模部署,比如大多数数码相机已经嵌入人脸检测算法。那么计算机视觉迅速发展的原因,最明显的是计算机的处理能力、内存以及存储能力有巨大的提升。另一个原因是机器学习的广泛应用。机器学习提供许多有用的工具,有助于以新的视角理解已知算法及联系。

计算机视觉简史

  计算机视觉过去30年主要发展如下图所示(图2)
这里写图片描述

图2:从左到右依次是:(1)数字图像处理,(2)积木世界,线条标注,(3)广义圆锥,(4)图案结构,(5)立体视觉对应,(6)本征图像,(7)光流,(8)由运动到结构,(9)图像金字塔,(10)尺度空间处理,(11)由阴影,纹理,变焦到形状,(12)基于物理的建模,(13)正则化,(14)马尔科夫随机场(MRF),(15)卡尔曼滤波,(16)3D距离数据处理,(17)投影不变量,(18)因子分解,(19)基于物理的视觉,(20)图割,(21)粒子滤波,(22)基于能量的分割,(23)人脸识别和检测,(24)子空间方法,(25)基于图像的建模和绘制,(26)纹理合成与修图,(27)计算投影学,(28)基于特征的识别,(29)MRF推断算法,(30)类属识别,(31)学习


  1958年加拿大科学家大卫•休伯尔和瑞典科学家托斯坦•维厄瑟尔对猫视觉皮层的研究,提出在计算机模式识别中,和生物识别类似,边缘是用来描述物体形状的最关键信息。1963年,美国计算机科学家拉里•罗伯茨在MIT博士毕业论文《Machine perception of Three-Dimensional Solids》,对输入图像进行梯度操作,进一步提取边缘,然后从3D模型中提取出简单形状结构,然后利用这些结构像搭积木一样去描述场景中无疑的关系,最后获得从另一角度看图像物体的渲染图。这篇论文中,从二维图像恢复图像中物体的三维模型的尝试,正是计算机视觉和传统图像处理学科思想上最大的不同:计算机视觉的目的是让计算机理解图像的内容。这项研究也就成了计算机视觉相关最早的研究。之后MIT人工智能实验室的明斯基发起了“暑期视觉项目”,目的是集中暑假的闲散劳动力解决计算机视觉问题,力争产出模式识别研发的里程碑式的结果。而广为人知的描述中,可以获知,当时明斯基只是让组里的一个学本科生杰拉德•杰伊•萨斯曼将摄像机连接在计算机上,尝试利用暑假的时间让计算机描述它所看到的东西,这个项目当时没有成功,但是计算机视觉作为一个专门的课题出现在了历史上。
  将计算机视觉与已经存在的数字图像处理领域相区别的是期望从图像恢复世界的三维结构并以此为跳板得到完整场景理解。Winston(1975)和Hanson and Riseman(1978)提供了这个早期时代的两本较好的经典论文集。
  场景理解的早期尝试涉及物体即“积木世界”的边缘提取及随后的从2D线条的拓扑结构推断其3D结构(Roberts 1965)。那是提出了一些线条标注算法(Huffman 1971;Clowes 1971;Waltz 1975;Rosenfeld,Hummel,and Zucker 1976;Kanade 1980)。那时边缘检测也是很活跃的研究领域。此外,人们还对非多边形物体的三维建模进行了研究,流行做法是使用了广义椎,即旋转体和封闭曲线扫描体。20世纪70年代一般是关于图像内容建模,如三维模型、立体视觉等。很有代表性的是弹簧模型和广义圆柱体模型。David Marr(戴维•马尔)(1982)《视觉计算理论》(Vision:A computational investigation into the human representation and processing of visual information)总结那个时代的视觉原理工作。他将视觉信息处理分为三个层次:计算理论、表达和算法和硬件实现。在如今看来,或许有些不合理,但是却将计算机视觉作为了一门正式学科的研究。而且其方法论到今天仍然是表达和解决问题的好向导。值得一提的是,1987年成立的ICCV(国际计算机视觉大会)给计算机视觉领域做出重要贡献的人颁发奖项,奖项名字叫马尔奖。
这里写图片描述

图3:计算机视觉算法早期例子:a)线条标注;b)图案结构;c)关节身体模型;d)本征图像;e)立体视觉对应;f)光流


  视觉计算理论提出后,计算机视觉进入20世纪80年代,一个蓬勃发展的年代,提出了主动视觉理论和定性视觉理论等,这些理论认为人类视觉重建过程不是马尔理论那样直接,而是主动的,有目的性和选择性的。这个时期很多研究关注于定量的图像和场景分析的更复杂的数学方法。比如图像金字塔开始广泛应用于完成诸如图像混合这样的任务和由粗到精的对应搜索。使用尺度空间处理的概念也建立起了金字塔的连续版本,到了20世纪80年代后期,小波在一些应用中开始取代或增强规范的图像金字塔。这个时期还提出了Canny边缘检测算法,图像分割和立体视觉,基于人工神经网络的计算机视觉研究尤其是模式识别也在这时候火了起来。首先说说,立体视觉,这时期使用定量的形状线索使用的立体视觉扩展到由X到形状的各种各样的方法,包括由阴影到形状、光度测定学立体视觉、由纹理到形状以及由聚集到形状。其次说边缘和轮廓检测,这时期Canny边缘检测提出,还包括动态演化轮廓跟踪器的引入,比如蛇行。还有基于三维物理量的模型的引入。这时期的研究人员发现,很多立体视觉、流、由X到形状以及边缘检测算法,如果作为变分优化问题来处理,可以用相同的数学框架来统一或至少来描述,且可以使用正则化方法使其更鲁棒(适定的)。与此同时。German(1984)指出这类问题同样可以通过离散马尔科夫随机场模型(MRF)来很好地表达,这样就能使用更好的(全局)搜索和优化算法,比如“模拟退火”。之后出现了卡尔曼滤波来对不确定性进行建模和更新的MRF算法的在线变形。人们也尝试了将正则化及MRF算法映射到并行硬件。这个时期活跃的研究领域还包括了三维距离数据处理(获取、归并、建模和识别)。
这里写图片描述

图4:20世纪80年代计算机视觉算法例子:a)金字塔混合;b)由阴影到形状;c)边缘检测;d)基于物理量的模型;e)基于正则化的表面重建;f)距离数据获取和归并


  20世纪90年代,在识别中使用投影不变量的研究呈现爆发性增长,演变为解决从运行到结构问题的共同努力。最初很多研究是针对投影重建问题的。它不需要摄像机标定的结果。同时,提出了因子分解方法来高效地解决近似正交投影的问题,而后扩展到了透视投影的情况。最终,该领域开始使用完全的全局优化方法,这在后来被认为与摄像测量学中常用的“光束平差法”相同。使用这些方法建立了完全自动的(稀疏)3D建模系统。这个时期,从80年代开始的,使用颜色和亮度的精细测量,并与精确的辐射传输和形成彩色图像的物理模型相结合,构成一个称作“基于物理的视觉”的子领域。同时,光流方法得到了不断的改进,稠密立体视觉对应算法方面也取得了很多进展,其中最大的突破是使用“图割”(graph cut)方法的全局优化算法。另外,产生完整3D表面的多视角立体视觉算法到现在都依旧活跃。从二值的轮廓产生3D体描述的方法仍然还在研究中。
  因为伴随着计算机视觉在交通和医疗等工业领域的应用越来越多,其他一些基础视觉研究方向,比如跟踪算法、图像分割等这个时期有了一定的发展。比如基于跟踪的算法,诸如使用“活动轮廓”方法的轮廓跟踪(例,蛇行、例子滤波器和水平集方法还有基于亮度的(直接)方法,常用于跟踪人脸和整个物体),此外还有重建光滑的遮挡轮廓的研究。

  另外,图像分割,从计算机视觉早期开始一直是重要的方向和活跃的研究话题,90年代产生了基于最小能量的方法和最小描述长度方法,规范化割方法以及均值移位方法。统计学习的方法也是在这个时期流行起来,最初用于人脸识别的主分量本征脸分析和曲线跟踪的线性动态系统。从进入20世纪90年代,伴随着各种机器学习算法的全面开花。机器学习开始成为计算机视觉,尤其是识别、检测和分类等应用中一个不可分割的重要工具。各种识别和检测算法迎来了大发展。尤其是人脸识别在这个时期迎来研究的小高草。各种用描述图像特征的算子不断被发明出来,耳熟能详的SIFT算法也是在20实际90年代末被提出。

这里写图片描述

图5:20世纪90年代计算机视觉算法的例子:a)基于因子分解的从运动到结构;b)稠密立体视觉匹配;c)多视觉重建;d)人脸跟踪;e)图像分割;f)人脸识别


  进入21世纪以后,计算机视觉俨然成为计算机领域一个大学科,国际计算机视觉与模式识别会议(CVPR)和ICCV已经成为人工智能领域甚至是整个计算机领域内的大型盛会。计算机视觉领域最显著的发展是与计算机图形学之间的交互增多了,尤其是基于图像的建模和绘制这个交叉学科领域。直接操作真实世界的影像来创建动画的想法最初是从图像变成方法开始变得显著起来,后来用于视角插值、全景图拼接和全光场绘制。同时也出现了从图像汇集自动创建具有真实感3D模型的基于图像的建模方法。随着计算机视觉和图形学的相互影响加深,最为明显的是,在基于图像绘制下,产生了图像拼接、光场获取和绘制以及通过曝光包围进行的高动态范围图像捕获,这些都被重新命名为计算摄影学。例如,通过曝光包围创建高动态范围图像得到快速采纳,使得色调映射算法发展成为必要,以便将这样的图像转变为可显示的结果。处理归并多个曝光之外,也出现了闪光图像和其对应的非闪光图像归并的方法以及交互地或自动地从交叠的图像中选择不同区域的方法。

  纹理合成、绗缝(quilting)和修图也被划入计算机摄影学的另外一些研究方向,因为它们把输入图像样例重新结合以产生新的照片。
  21世纪以来,显著趋势还有物体识别中基于特征方法(与学习方法相结合),该领域著名的论文有星群模型(Weakly Supervised Scale-Invariant Learning of Models for Visual Recognition,2007)和图案架构(Pictorial Structures for Object Recognition,2005)。基于特征的方法也主导了其他识别任务,例如场景识别和全景图以及位置识别。虽然兴趣点特征趋于主导当前研究,有些研究小组也在从事基于轮廓的识别研究和基于趋于分割的识别研究。
  纹理合成、绗缝(quilting)和修图也被划入计算机摄影学的另外一些研究方向,因为它们把输入图像样例重新结合以产生新的照片。
  
21世纪以来,还有一个发展趋势是发展更高效求解全局优化问题的算法。这一趋势始于图割方面的工作,但在消息传递的算法也取得了许多进展,例如,带环的置信转播。

  21世纪以来,还有一个趋势是复杂的机器学习方法在计算机视觉问题中的应用和深度学习在计算机视觉的应用,有意思的是,2010开始举办的大规模视觉识别挑战比赛(ImageNet),在2012年举办的那一届出现了一个使用神经网络AlexNet的研究生阿厉克斯•克里泽夫斯基,完胜第二名,此后基于深度学习的检测和识别、基于深度学习的图像分割、基于深度学习的立体视觉如雨后春笋般一夜之间全冒出来。
这里写图片描述

图6:21世纪以来的计算机视觉例子:a)基于图像的绘制;b)基于图像的建模;c)交互色调映射;d)纹理合成;e)基于特征的识别;f)基于区域的识别


所自学书籍的结构

这里写图片描述


总结

  本次博文主要是以《计算机视觉:模型、学习和推理》为主,先介绍了计算机视觉的定义,而后介绍计算机视觉的简史,最后描述该书的架构,对计算机视觉有一个完整的认知和技术的发展。最后值得说明的是,本书在之后的概率论部分,有些委实难懂。所以需要一定的基础之外,还需要强大理解能力。


2017-09-08 14:09:00 weixin_33811539 阅读数 0


2017_09_19_135430

前言

目前,已有很多关于计算机视觉的书籍,那么还有必要再写另外一本吗?下面解释撰写本书的原因。
计算机视觉是一门工程学科,机器在现实世界中捕获的视觉信息可以激发我们的积极性。因此,我们通过使用计算机视觉解决现实问题来对我们的知识进行分类。例如,大多数视觉教科书都包含目标识别和立体视觉内容。我们的学术研讨会也是用同样的模式进行组织的。本书对这一传统方式提出了质疑:这真的是我们组织自己知识的正确方法吗?
对于目标识别问题,目前已提出多种算法解决这一问题(例如子空间模型、boosting模型、语义包模型、星座模型等)然而,这些方法没有什么共同点。任何试图全面描述知识的壮举都会转变为一个非结构化的技术列表。我们怎样让新同学把所有的技术和理论都弄懂呢?我主张使用一种不同的方式来组织知识,但首先让我告诉大家我是如何看待计算机视觉问题的。
对于一幅图像,我们不仅要观察图像中的内容,同时还需要提取其测量值。例如,我们可以直接使用RGB值,或者对图像进行滤波处理,或者执行一些更复杂的预处理。计算机视觉的目标或者需要解决的问题是使用这些测量值来推理全局状态。例如:在立体视觉中,我们尝试推断出场景的深度。在目标识别中,我们尝试推断某一特定类目标存在与否。
为了实现目标,我们建立一个模型。模型描述了测量值与全局状态之间的一系列统计关系。这一系列统计关系中的特殊成员是由一个参数集合确定的。在学习的过程中,选择这些参数,以便它们能够准确反映测量值与全局状态之间的关系。在推理的过程中,选用一组新的测量值,并利用学习后的模型来推理全局状态。学习和推理的方法包含在算法中。我认为计算机视觉应该从以下几方面来理解:目标、测量值、全局状态、模型、参数、学习和推理算法。
我们可以根据这些量选择性地组织知识,但在我看来,模型中最重要的内容是全局状态和测量值之间的统计关系。这主要有三个原因。首先,模型的类型往往超越了应用(同一个模型可用于不同的视觉任务);其次,模型能够自然地把它们自身组织成一些可分开理解的系列(例如,回归、马尔可夫随机场、相机模型);最后,在模型层次上讨论视觉问题使得我们能够得到那些貌似不相关的算法和应用之间的关联。因此,本书的章节安排非常巧妙,每个主要的章节都讨论一系列不同的模型。
最后一点,本书中的大部分思想在第一次接触到时是难以理解的。因此,我的目标是使后续研究计算机视觉的学生更容易理解这些内容,我希望这本书能够达到这一目的,并能够激励读者深入了解计算机视觉。

目录

第1章绪论
1.1本书结构
1.2其他书籍
2.1随机变量
2.2联合概率
2.3边缘化
2.4条件概率
2.5贝叶斯公式
2.6独立性
2.7期望
第3章常用概率分布
3.1伯努利分布
3.2贝塔分布
3.3分类分布
3.4狄利克雷分布
3.5一元正态分布
3.6正态逆伽马分布
3.7多元正态分布
3.8正态逆维希特分布
3.9共轭性
总结

2017-07-03 11:04:00 weixin_34380948 阅读数 117

本节书摘来自华章计算机《计算机视觉:模型、学习和推理》一书中的第1章,第1.1节,作者:(英)普林斯(Prince,J. D.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.1 本书结构

本书分为六部分,如图1-2所示。
本书的第一部分涵盖概率方面的背景知识。全书中所有的模型都是用概率的术语表示,概率是计算机视觉应用中一门很有用的语言。具有扎实工程数学背景的读者或许对这部分知识比较熟悉,但仍需要浏览这些章节以确保掌握相关的符号。那些尚不具备该背景的读者应该仔细阅读这些章节。这些知识相对比较简单,但它们是本书其余部分的基础。在正式提到计算机视觉知识前被迫阅读三十多页的数学虽然令人沮丧,但请相信我,这些基础知识将为后续的学习提供坚实的基础。
image

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