编辑推荐
作为人,我们可以轻松感知周围的三维世界。相比之下,不管计算机视觉在近年来已经取得多么令人瞩目的成果,但要让计算机能像两岁小孩那样解释和理解图像,却仍然是一个遥不可及的梦想。为什么计算机视觉会成为如此富有挑战性的难题?它当前发展到了哪个阶段?
围绕着这些问题,《计算机视觉——算法与应用》探索了用于分析和解释图像的各种常用方法,描述了42个成功的视觉应用实例,既有医学成像之类的专业应用,又有图像编辑和拼接之类有趣的大众应用。这种精心的编排和设计有利于学生将这些看似高深的技术应用于自己的照片和视频,从而在趣味横生的动手实践中获得成就感。
《计算机视觉:算法与应用(附配套用书)》主题和特色:
l编排结构有利于活跃课堂气氛,适合面向项目的课程,针对各种特定课程提供了《计算机视觉:算法与应用(附配套用书)》使用提示
l各章末尾的习题着重强调对算法的测试,重点包含大量针对小型期中课题的建议
l附录中提供额外的补充材料和更详细的数学知识介绍,包括线性代数、数值方法和贝叶斯估计理论
l完整的参考文献和各章的补充阅读,全面覆盖各个子领域新的研究进展和成果
内容简介
《计算机视觉:算法与应用》探索了用于分析和解释图像的各种常用技术,描述了具有一定挑战性的视觉应用方面的成功实例,兼顾专业的医学成像和图像编辑与拼接之类有趣的大众应用,以便学生能够将其应用于自己的照片和视频,从中获得成就感和乐趣。《计算机视觉:算法与应用》从科学的角度介绍基本的视觉问题,将成像过程的物理模型公式化,然后在此基础上生成对场景的逼真描述。作者还运用统计模型来分析和运用严格的工程方法来解决这些问题。
《计算机视觉:算法与应用》作为本科生和研究生“计算机视觉”课程的理想教材,适合计算机和电子工程专业学生使用,重点介绍现实中行之有效的基本技术,通过大量应用和练习来鼓励学生大胆创新。此外,《计算机视觉:算法与应用(附配套用书)》的精心设计和编排,使其可以作为计算机视觉领域中一本独特的基础技术参考和*研究成果文献。
作者简介
作者简介:
RichardSzeliski博士,计算机视觉领域的大师级人物。Szeliski博士在计算机视觉研究方面有25年以上的丰富经验,先后任职干DEC和微软研究院。1996年,他在微软研究院任职期间,提出一种基于运动的全景图像拼接模型,采用L-M算法,通过求图像间的几何变换关系来进行图像匹配。此方法是图像拼接领域的经典算法,RichardSzeliski也因此成为图像拼接领域的奠基人。
译者简介:
艾海舟博士,清华大学计算机系教授,IEEE高级会员和IEEECS会员。先后于1985年、1988年和1991年获得清华大学工学学士、硕士和博士学位,博士论文荣获“1992年度清华大学优秀博士论文”奖。1994—1996年,在比利时布鲁塞尔自由大学做博士后研究。目前,在清华大学教授“数字图像处理”和“计算机视觉”课程,研究方向为计算机视觉与模式识别。发表学术论文80余篇。
目录
第1章概述
1.1什么是计算机视觉?
1.2简史
1.3《计算机视觉:算法与应用(附配套用书)》概述
1.4课程大纲样例
1.5标记法说明
1.6扩展阅读
第2章图像形成
2.1几何基元和变换
2.1.1几何基元
2.1.22D变换
2.1.33D变换
2.1.43D旋转
2.1.53D到2D投影
2.1.6镜头畸变
2.2光度测定学的图像形成
2.2.1照明
2.2.2反射和阴影
2.2.3光学
2.3数字摄像机
2.3.1采样与混叠
2.3.2色彩
2.3.3压缩
2.4补充阅读
2.5习题
第3章图像处理
3.1点算子
3.1.1像素变换
3.1.2彩色变换
3.1.3合成与抠图
3.1.4直方图均衡化
3.1.5应用:色调调整
3.2线性滤波
3.2.1可分离的滤波
3.2.2线性滤波示例
3.2.3带通和导向滤波器
3.3更多的邻域算子
3.3.1非线性滤波
3.3.2形态学
3.3.3距离变换
3.3.4连通量
3.4傅里叶变换
3.4.1傅里叶变换对
3.4.2二维傅里叶变换
3.4.3维纳滤波
3.4.4应用:锐化,模糊和去噪
3.5金字塔与小波
3.5.1插值
3.5.2降采样
3.5.3多分辨率表达
3.5.4小波
3.5.5应用:图像融合
3.6几何变换
3.6.1参数化变换
3.6.2基于网格的卷绕
3.6.3应用:基于特征的变形
3.7全局优化
3.7.1正则化
3.7.2马尔科夫随机场
3.7.3应用:图像的恢复
3.8补充阅读
3.9习题
第4章特征检测与匹配
4.1点和块
4.1.1特征检测器
4.1.2特征描述子
4.1.3特征匹配
4.1.4特征跟踪
4.1.5应用:表演驱动的动画
4.2边缘
4.2.1边缘检测
4.2.2边缘连接
4.2.3应用:边缘编辑和增强
4.3线条
4.3.1逐次近似
4.3.2Hough变换
4.3.3消失点
4.3.4应用:矩形检测
4.4扩展阅读
4.5习题
第5章分割
5.1活动轮廓
5.1.1蛇行
5.1.2动态蛇行和CONDENSATION
5.1.3剪刀
5.1.4水平集
5.1.5应用:轮廓跟踪和转描机
5.2分裂与归并
5.2.1分水岭
5.2.2区域分裂(区分式聚类)
5.2.3区域归并(凝聚式聚类)
5.2.4基于图的分割
5.2.5概率聚集
5.3均值移位和模态发现
5.3.1k-均值和高斯混合
5.3.2均值移位
5.4规范图割
5.5图割和基于能量的方法
5.6补充阅读
5.7习题
第6章基于特征的配准
6.1基于2D和3D特征的配准
6.1.1使用最小二乘的2D配准
6.1.2应用:全景图
6.1.3迭代算法
6.1.4鲁棒最小二乘和RANSAC
6.1.53D配准
6.2姿态估计
6.2.1线性算法
6.2.2迭代算法
6.2.3应用:增强现实
6.3几何内参数标定
6.3.1标定模式
6.3.2消失点
6.3.3应用:单视图测量学
6.3.4旋转运动
6.3.5径向畸变
6.4补充阅读
6.5习题
第7章由运动到结构
7.1三角测量
7.2二视图由运动到结构
7.2.1投影(未标定的)重建
7.2.2自标定
7.2.3应用:视图变形
7.3因子分解
7.3.1透视与投影因子分解
7.3.2应用:稀疏3D模型提取
……
第8章稠密运动估计
第9章图像拼接
第10章计算摄影学
第11章立体视觉对应
第12章3D重建
第13章基于图像的绘制
第14章识别
第15章结语
附录A线性代数与数值方法
附录B贝叶斯建模与推断
附录C补充材料
词汇表
前言/序言
《计算机视觉:算法与应用(附配套用书)》萌芽于2001年,当时,华盛顿大学的SteveSeitz邀我和他一起讲一门课,课程名称是“面向计算机图形学的计算机视觉”。那个时候,计算机图形学领域正在越来越多地使用计算机视觉技术,用它来创建基于图像的真实物体的模型,用于产生视觉效果,用于通过计算摄影学技术来合并真实影像。我们决定聚焦于计算机视觉在若干有趣问题中的应用,例如使用个人照片的图像拼接和基于照片的3D建模等,这一想法引起了学生们的共鸣。
从那时起,华盛顿大学和斯坦福大学就一直使用类似的课程大纲和项目导向的课程结构来进行常规计算机视觉课程的教学(在斯坦福大学,在2003年这门课程由我和DavidFleet共同讲授)。类似的课程大纲也被其他很多大学所采用,并被纳入计算摄影学相关的更专业的课程。(有关如何在课程中使用《计算机视觉:算法与应用(附配套用书)》的建议,请参见1.4节的表1.1。)
《计算机视觉:算法与应用(附配套用书)》还反映了我在企业研究实验室(DEC剑桥研究实验室和微软研究院)这二十年的计算机视觉研究经历。在从事研究的过程中,我主要关注在真实世界中具有实际应用的问题和在实践中行之有效的方法(算法)。因此,《计算机视觉:算法与应用(附配套用书)》更强调在真实世界条件下有效的基本方法,而较少关注内在完美但难以实际应用的神秘的数学内容。
《计算机视觉:算法与应用(附配套用书)》适用于计算机科学和电子工程专业高年级本科的计算机视觉课程。学生最好已经修过图像处理或计算机图形学课程,这样一来,便可以少花一些时间来学习一般性的数学背景知识,多花一些时间来学习计算机视觉技术。《计算机视觉:算法与应用(附配套用书)》也适用于研究生的计算机视觉课程(通过专研更富有挑战性的应用和算法领域),作为基本技术和近期研究文献的参考用书。为此,我尽量尝试引用每个子领域中最新的研究进展,即便其技术细节过于复杂而无法在《计算机视觉:算法与应用(附配套用书)》中涉及。
在课程教学过程中,我们发现,要使学生从容应对真实图像及其带来的挑战,让他们尝试实现一些小的课程设计(通常一个建立在另一个基础之上),是很有帮助的。随后,要求学生分成组选择各自的主题,完成最终的课程设计。(有时,这些课程设计甚至能转换为会议论文!)《计算机视觉:算法与应用(附配套用书)》各章最后的习题包含有关小型中期课程设计题目的很多建议,也包含一些更开放的问题,这些问题的解决仍然是活跃的研究课题。只要有可能,我都会鼓励学生用他们自己的个人照片来测试他们的算法,因为这可以更好地激发他们的兴趣,往往会产生富有创造性的衍生问题,使他们更熟悉真实影像的多样性和复杂性。
在阐述和解决计算机视觉问题的过程中,我常常发现从三个高层途径获取灵感是有帮助的。
·科学层面:建立图像形成过程的详细模型,为了恢复感兴趣量而构建其逆过程的数学方法(必要时,做简化假设使其在数学上更容易处理)。
·统计层面:使用概率模型来量化产生输入图像的未知量先验似然率和噪声测量过程,然后推断所期望量的最可能的估计并分析其结果的不确定程度。使用的推断算法往往与用于逆转(科学的)图像形成过程的优化方法密切相关。
.工程层面:开发出易于描述和实现且己知在实践中行之有效的方法。测试这些方法,以便于了解其不足和失效模态,及其期望的计算代价(运行时的性能)。
以上这三个途径相互依存,并且贯穿《计算机视觉:算法与应用(附配套用书)》始终。
我个人的研究和发展哲学(《计算机视觉:算法与应用(附配套用书)》中的习题亦然)非常强调算法测试。在计算机视觉领域,提出一个算法在少数几幅图像上使某件事似乎可以做而不是把某件事做对,这太容易了。要想使算法有效,最理想的途径是使用一种“三部曲”策略。
首先,在干净的合成数据上测试算法,因为已知其精确结果。其次,在该数据上增加噪声,评测性能是怎样作为噪声水平的函数退化的。最后,在真实世界数据上测试算法,优先取自广泛输入源的数据,比如万维网上的照片。只有这样,我们才能确信该算法能够处理真实世界的复杂性,即不符合某种简化模型或假设的图像。
为了在这一过程中帮助学生,《计算机视觉:算法与应用(附配套用书)》附带大量补充阅读材料,这些都可以在《计算机视觉:算法与应用(附配套用书)》网站找到,网址为http://szeliski.org/Book。具体资源类别(参见附录C的描述)如下:
·指向万维网上可以找到的问题的常用数据集的链接;
·指向软件库的链接,可帮助学生从基本任务入手,比如读/写图像或创建和操作图像:
·与《计算机视觉:算法与应用(附配套用书)》素材对应的幻灯片;
·《计算机视觉:算法与应用(附配套用书)》所引用的论文文献列表。
在本领域发表新论文的教师和研究人员可能对后两项资源更感兴趣,但即便是普通学生,迟早也会发现它们是很有用的。有些软件库包含广泛的计算机视觉算法的实现,能帮助你应对更难的项目(征得导师同意的情况下)。
致谢
我要感谢对《计算机视觉:算法与应用(附配套用书)》写作有帮助的所有人,他们的研究热情、咨询和鼓励帮助我写就《计算机视觉:算法与应用(附配套用书)》。
McGill大学的SteveZucker是第一个引导我涉足计算机视觉领域的人,他教导我们所有的学生要敢于质疑和辩论研究结果和研究方法,鼓励我攻读这个领域的研究生。
我的博士论文导师,卡内基·梅隆大学的TakeoKanade(金出武雄)和GeoffHinton,教给我良好的研究、写作和报告的基本方法。他们激发了我对视觉处理、3D建模和统计方法的兴趣,与此同时,LarryMatthies让我见识了卡尔曼滤波和立体匹配。