本书涵盖了视觉计算的基本概念。为创建、获取、分析和操作视觉数据(如二维图像,三维模型)提供了一个统一的计算和数学处理方法。书中涉及的基本原理包括:卷积、傅里叶变换、滤波器、几何变换、超极几何、三维重建、色彩和图像合成管道。这本书是为一个16周的学期课程而写的,既可以用于本科生和研究生的教学,也可以作为专业人员的参考。
无
本书是我们十多年来教授视觉计算课程的结晶。作为一门新设计的概述性课程,它旨在为学生提供计算机图形学、计算机视觉和图像处理等不同领域的基础知识。当年,这是一门极具前瞻性的课程。如今,它已成为加利福尼亚大学欧文分校计算机图形学、计算机视觉和图像处理领域所有学生的起步课程,而视觉计算方向未来的新教师则可以借助此课程教授这些领域共通的基础知识。这门课程是研究生教学计划中的
核心入门级课程,它让学生在进入计算机图形学、计算机视觉和图像处理中的具体领域之前有机会更广泛地学习相关知识。从2017年秋季学期开始,这门课程也被采纳为我们专业硕士学位的核心课程之一。有趣的是,自从我们在2006年开始注意到来自计算机图形学、计算机视觉和图像处理中的某一个领域的研究人员在其他领域也有突出表现的时候,研究团体也追随了这一发展趋势,进而形成了一个横跨这些不同领域且在这些领域都同样精通的年轻而又活跃的小研究团体。因此,掌握视觉计算通用领域的广泛知识如今被认为是一个强项,能帮助学生轻松投身到大量使用视觉计算通用知识的计算机科学与其他领域的交叉领域。
写作这本书的灵感来自很多教师和其他教育工作者。他们向我们咨询加利福尼亚大学欧文分校的视觉计算课程,在他们自己的学校开设同样的课程,并且向我们索要包含全部相关知识点的标准教材。在写作本书之前,我们做了以下重要尝试:(1)精心挑选视觉计算介绍性课程所需的广泛而又精简的一组知识点,从而使得学生在决定他们所要从事的具体研究方向之前仅需学习一门课程,而非计算机图形学、计算机视觉和图像处理三门不同课程;(2)精心设计每一个知识点的深度,以确保相关知识点在这门课程中能够毫不费力地讲授;(3)精心组织知识点,以便学生能够看到贯穿这些不同领域的共性。基于这些尝试,我们将本书分成了以下五个部分。
第一部分:预备知识。介绍各种不同的视觉数据(如二维图像、视频和三维几何数据),以及计算机图形学、计算机视觉和图像处理领域所需的核心数学技术(如插值和线性回归)。
第二部分:基于图像的视觉计算。介绍处理二维图像的若干基本技术(如卷积、谱分析和特征检测),这些技术对应人类视觉系统中的低层视网膜图像处理。
第三部分:基于几何的视觉计算。介绍用于综合多个视角的几何信息形成我们周围物体和世界的三维信息的基本技术(如变换、投影和对极几何)。这相当于我们大脑中的高层处理技术,能够综合双眼看到的信息以帮助我们在三维世界中活动。
第四部分:基于辐射度的视觉计算。介绍为处理光线与我们周围物体交互过程中产生的信息所需的基本技术。该知识点同时涉及人类视觉系统中与光照相关的低层和高层处理技术(如阴影、反射率、光强和色彩属性等)。
第五部分:视觉内容合成。介绍创建计算机虚拟世界的基本技术,该世界能够模拟前面介绍的所有处理技术。
该书适合一学期时长16周的课程,既可面向本科生,也可面向研究生。建议的教学进度为第一部分两周,第二和第四部分各三周,第三和第五部分各三周半。每章后的习题可用作每周一次或每两周一次的书面作业。上机实践方面,可以为每一部分安排一项编程作业,其内容可以根据学生的专业技术水平从每部分教授的知识点中选择。本书之所以不依赖于某个具体的编程语言或平台,是为了方便教师根据各自所具备的资源及学生的基础情况灵活选择合适的知识点、平台及编程语言。教学评估方面,最好的做法或许是在第六和第十二周分别安排一次中期测试,再在学期末安排一次综合测试。
在时长10周的课程内教完本书内容通常比较困难。有几种方法可以做到。最简单的方法是增加本课程的学分,在每周安排更多的课时。第二种方法是将全书内容进行分解,压缩每学期要教授的内容。比如,视觉计算课程Ⅰ讲解第1~5章、第9和第10章以及第11章的前两节所涉及的低层视觉计算,而视觉计算课程Ⅱ讲解第6~8章、第11章的最后一节以及第12~15章涉及的高层视觉计算与表示。作为一种备选方案,也可以跳过部分章节,在不破坏概念严谨性的情况下形成本课程的一个缩略版。在加利福尼亚大学欧文分校曾经做过这样的尝试,跳过了第8、10、15章以及第14章中除了纹理映射外的大部分内容。具体要保留、缩减和省略哪些内容完全由教师决定。本书在写作时努力降低了各章之间的依赖性,从而确保教师可以独立选取某些章节进行讲解,而无须担心这些章节依赖于其他章节。
我们希望本书中的内容及其突破传统的组织方式能够激励教师设计自己学校的视觉计算课程并使用本书作为教材,也期待看到学生对于学习视觉计算通用领域知识的兴趣日益增加。我们希望使用本书作为教材的教师能给予我们反馈。请毫无顾虑地告诉我们你在使用本书过程中的任何建议,比如希望增加的内容、细节,或者组织结构。
感谢加利福尼亚大学欧文分校的同事对于设计非传统课程的支持,正是因为他们的支持才有了这本书。感谢加利福尼亚大学欧文分校选修视觉计算课程的学生和助教,是他们帮助我们在每一次授课中不断地发展和完善本书的内容。还要感谢我们的学生Nitin Agrawal和Zahra Montazeri,他们帮助设计与制作了本书中的插图。衷心感谢加利福尼亚大学欧文分校的Shuang Zhao教授、英属哥伦比亚大学的Amy和Bruce Gooch教授、英伟达的David Kirk博士、纽约大学的Chee Yap教授和伊利诺伊大学芝加哥分校的Jan Verschelde教授为我们提供书中有关物理建模、非真实感渲染、几何压缩和GPU架构等的图片。
Aditi Majumder
M. Gopi
计算机\图形图像
本书是视觉计算的入门教材,在加利福尼亚大学欧文分校历经十多年的教学实践,引领了计算机图形学、计算机视觉和图像处理方向的新教学思路。在学生确定具体研究方向之前,只需学习一门课程而非三门课程,为日后深入单一或交叉领域的研究打下广泛的基础。
全书从数学基础,到基于图像、几何和辐射度的视觉计算,再到视觉内容的合成,涵盖人类视觉系统从低层到高层的处理过程。所有知识点都经过精心挑选,并仔细设计每个知识点的深度及组织顺序,既呈现了不同方向共通的基础知识,又不会给新手造成学习负担。此外,本书各章相对独立,且不依赖于具体的编程语言或平台,便于教师灵活选择内容展开教学。
作者简介
阿娣提·玛珠德(Aditi Majumder) 加利福尼亚大学欧文分校计算机科学系教授。她的研究集中在计算机图形学、计算机视觉和图像处理的结合上,包括虚拟现实和增强现实以及人机交互。
M. 戈皮(M. Gopi) 加利福尼亚大学欧文分校计算机科学系教授,信息与计算机科学Bren学院副院长。他的研究兴趣包括计算机图形学中的几何与拓扑,面向交互式渲染的海量几何数据管理,以及生物医学传感器、数据处理和可视化。
译者简介
赵启军 四川大学计算机学院教授,研究方向为计算机视觉、模式识别、图像处理、生物特征识别。
[美] 阿娣提·玛珠德(Aditi Majumder) M. 戈皮(M. Gopi) 著:---作者简介---
阿娣提·玛珠德(Aditi Majumder) 加利福尼亚大学欧文分校计算机科学系教授。她的研究集中在计算机图形学、计算机视觉和图像处理的结合上,包括虚拟现实和增强现实以及人机交互。
M. 戈皮(M. Gopi) 加利福尼亚大学欧文分校计算机科学系教授,信息与计算机科学Bren学院副院长。他的研究兴趣包括计算机图形学中的几何与拓扑,面向交互式渲染的海量几何数据管理,以及生物医学传感器、数据处理和可视化。
---译者简介---
赵启军 四川大学计算机学院副教授,研究方向为计算机视觉、模式识别、图像处理、生物特征识别。
人类获取的信息80%以上来自视觉,这使得对视觉以及利用计算机实现视觉认知的研究成为通向人工智能的关键之一。相关研究进一步促进了计算机图形学、图像处理、计算机视觉等多个学科间越来越广泛的交叉。为了更一般化地描述这种交叉领域,“视觉计算”应运而生。
视觉计算是一个相当大的领域,其包含的很多子领域都与视觉的计算有关。视觉计算处理所有与计算机视觉有关的东西——从硬件到每个像素颜色背后的数学方程。本书作者的研究涉及了计算机图形学、视觉、可视化和人机交互等多个交叉领域。作者根据多年的研究与教学经验,总结出各子领域中较为通用且基础的技术。因而,此书作为一门概括性的教材,可以为诸如计算机图形学、计算机视觉等不同领域的学生提供足够宽广的入门知识。
作为一本视觉计算的入门级教材,本书精心挑选了足够广泛的一组知识点,并精心设计每一个知识点的难度和深度,以确保读者可以不费力地学习所有相关知识点,帮助读者在进入计算机图形学、计算机视觉和图像处理中的具体领域之前学习更多的相关知识。本书并不依赖于某一个具体的编程语言或平台,且作者在写作过程中努力降低各章之间的依赖性,因而教师可以完全依照自己的教学习惯或教学计划灵活使用本教材。
本书包括五部分内容。第一部分是预备知识,主要介绍了一些视觉相关的数据以及核心数学技术。第二部分介绍了处理二维图像的相关技术,依次为卷积、谱分析和特征检测。这些基于图像的视觉计算技术与人类视觉系统中底层视网膜的图像处理过程相似。
我们生活在三维空间中,视觉计算自然不会仅仅停留在二维图像上。因而,第三部分主要介绍三维世界中的几何成像原理,讨论了用于综合多个视角的几何信息形成我们周围物体和世界的三维信息的基本技术。
第四部分主要介绍了处理光线与物体交互过程中产生的信息所需要的基本技术,即基于辐射度的视觉计算。该部分知识点同时涉及人类视觉系统中与光照相关的低层和高层处理技术。
在讲解了之前所有的处理技术后,第五部分依次介绍了多样化域、交互式图形流程、真实感与性能以及图形编程,为读者展示了用计算机模拟世界的基本技术和流程。
在本书翻译过程中,赵启军负责全书文字部分的翻译,涂欢、梁洁负责处理书中所有插图以及校对全书的译稿。黄婕、刘宁帮助誊写了公式,赵启军的研究生还阅读了本书译稿并提出了一些有益的修改建议,在此对他们的辛勤劳动表示感谢。限于译者水平,书中不当之处在所难免,敬请读者批评指正。
出版者的话
译者序
前言
作者简介
第一部分预备知识
第1章数据
11可视化
12离散化
121采样
122量化
13表示
14噪声
15本章小结
参考文献
习题
第2章技术
21插值
211线性插值
212双线性插值
22几何相交
23本章小结
参考文献
习题
第二部分基于图像的视觉计算
第3章卷积
31线性系统
311线性系统的响应
312卷积的性质
32线性滤波器
321全通、低通、带通和高通滤波器
322设计新滤波器
323二维滤波器的可分性
324相关和模式匹配
33实现细节
34本章小结
参考文献
习题
第4章谱分析
41离散傅里叶变换
42极坐标
421性质
422信号分析示例
43频域的周期性
44混叠
45推广到二维插值
451周期性的影响
452陷波器
453混叠效应示例
46对偶性
47本章小结
参考文献
习题
第5章特征检测
51边缘检测
511边缘子检测器
512多分辨率边缘检测
513边缘子聚合
52特征检测
53其他非线性滤波器
54本章小结
参考文献
习题
第三部分基于几何的视觉计算
第6章几何变换
61齐次坐标
62线性变换
63欧氏和仿射变换
631平移
632旋转
633缩放
634剪切
635一些现象
64变换的串联
641相对于中心点的缩放
642相对于任意轴的旋转
65坐标系
66串联的性质
67透视变换
68自由度
69非线性变换
610本章小结
参考文献
习题
第7章针孔相机
71针孔相机模型
711相机标定
712三维深度估计
713单应性
72实际相机的一些考虑
73本章小结
参考文献
习题
第8章对极几何
81背景
82多视几何中的匹配
83基础矩阵
831性质
832基础矩阵的估计
833仿前置双眼的相机设置
84本质矩阵
85整流
86应用对极几何
861根据视差恢复深度
862根据光流恢复深度
87本章小结
参考文献
习题
第四部分基于辐射度的视觉计算
第9章光照
91辐射度学
911双向反射分布函数
912光传播方程
92光度学与色彩
921CIE XYZ色彩空间
922CIE XYZ空间的认知结构
923认知一致色彩空间
93本章小结
参考文献
习题
第10章色彩还原
101加性色彩混合的建模
1011设备的色域
1012色调映射算子
1013强度分辨率
1014显示器示例
102色彩管理
1021色域变换
1022色域匹配
103减性色彩混合的建模
104局限性
1041高动态范围成像
1042多光谱成像
105本章小结
参考文献
习题
第11章光度处理
111直方图处理
112图像融合
1121图像混合
1122图像割
113光度立体视觉
1131阴影处理
1132光照方向计算
1133色彩处理
114本章小结
参考文献
习题
第五部分视觉内容合成
第12章多样化域
121建模
122处理
123渲染
124应用
125本章小结
参考文献
第13章交互式图形流程
131顶点的几何变换
1311模型变换
1312视图变换
1313透视投影变换
1314遮挡处理
1315窗口坐标变换
1316最终变换
132裁剪和属性的顶点插值
133光栅化和属性的像素插值
134本章小结
参考文献
习题
第14章真实感与性能
141光照
142着色
143阴影
144纹理贴图
1441纹理至对象空间映射
1442对象至屏幕空间映射
1443分级细化贴图
145凹凸贴图
146环境贴图
147透明度
148累积缓存
149背面剔除
1410可见性剔除
14101包围体
14102空间细分
14103其他用途
1411本章小结
参考文献
习题
第15章图形编程
151图形处理单元的发展
152图形API和程序库的发展
153现代GPU和CUDA
1531GPU架构
1532CUDA编程模型
1533CUDA存储模型
154本章小结
参考文献