计算机图形学导论: 复习
Quiz
Computer Graphics
($\uparrow$ 注意 Fragment
的定义.)
($\uparrow$ 实际上还是和答案有区别的: 阳间的计算机图形学框架会提供预先实现的着色器, 甚至会在用户未指定着色器时使用默认着色器渲染.)
($\uparrow$ 这个要是考了的话我把出题人吃下去…)
($\uparrow$ 因为为了统一表示平移变换 Translation
, 旋转变换 Rotation
和拉伸变换 Scaling
, 我们使用维度为 $4$ 而不为 $3$ 的齐次坐标)
($\uparrow$ 同时回顾以任意三维向量作为旋转轴时应该怎么做: 旋转轴转换到坐标轴上 - 执行旋转 - 转换回来)
($\uparrow$ 向量归一化的基本定义.)
($\uparrow$ 注意向量点乘和叉乘的基本性质, 同时回顾使用右手定则确定向量叉乘结果方向的方法)
($\uparrow$ 栅格化, 也称曲面细分, 注意 OpenGL
只能处理凸多边形. 其实解答这类题目最困难的地方在于单词背不下来….)
($\uparrow$ 视角控制的是我们观察模型的方式.)
($\uparrow$ 这也是为什么 “用固定视点模拟虚拟相机” 可行的原因.)
($\uparrow$ 实在记不住的话就回顾三维图形管线流程图: 模型变换总在视角变换之前应用.)
($\uparrow$ 平行投影和透视投影是最基本的两种投影方式.)
($\uparrow$ 此处注意 Tetrahedron
就是 “台体/四面体”, 它是透视投影的视景体.)
Image Processing
($\uparrow$ 计算方法不多赘述, 此处需要注意, 对于 RGB
图像它包含三个颜色通道, 因此需要将计算出的, 存储单个颜色通道 intensity
的文件大小相应地 乘以$3$.)
($\uparrow$ 第一点最全面, 也最准确. 第二点可以描述是仿射变换和镜头畸变, 第三点是图像处理的基本假设, 第四点则属于 Region Processing
.)
($\uparrow$ 注意 Thresholding
的实质是将灰度图像转换为只包含 $0$ 和 $255$ 两种 intensity
的二值图, 其中黑色的部分是我们需要分离的 object
, 背景被统一设为白色)
($\uparrow$ 基于三原色理论, 我们可以使用三种基础颜色的混合得到大量的不同颜色, 同时三原色也和人眼视觉细胞对红, 绿, 蓝敏感的生理规律匹配.)
($\uparrow$ 回忆: 色彩空间的基本分类为 CIE
, YCrCb
和 Perceptual Space
. 第一个是 $1931$ 年的古墓级标准, 第二个用于数字视频领域, 最后一个具备的特点是贴合视觉规律, 即: 我们关注色彩的变化而不是绝对准确的色彩表示. CIE
色域图中边缘部分的不同色彩在人看来实际上非常相似, 这并不是我们所需要的)
($\uparrow$ 对基本 Pointwise Processing
的变换原理和对应的变换矩阵表示需要非常熟悉! 显然 Scaling
本质是对比度调节, 但是对比度调节中同时伴随了亮度变化.)
($\uparrow$ 回顾课上介绍的非线性变换曲线. 显然曲线的形状会决定 $x$ 轴对应 intensity value
被映射到的值. 基于曲线凹凸形状不同, 每个 intensity
可能被映射到不同的值, 具体会体现出多少效果, 体现出哪些效果完全依照曲线形状而定)
($\uparrow$ 回顾 Slides
上那张曼哈顿街区的图: 灰度插值不仅会导致 Image Histogram
中每一条柱之间存在间隙, 在视觉上还会有 “色彩断层” 的效果.)
($\uparrow$ 注意仿射变换是几何变换的 子集, 任何几何变换一定会影响像素在图像坐标系中的坐标. 此处考虑一般性, 不许举诸原地旋转 $360\degree$, 缩放 $1$ 倍这种例子抬杠)
($\uparrow$ 此处注意回忆角分辨率的计算方式和性质. 可知在固定像素数量不变的情况下, fov
越大角分辨率越大, 每个像素对应的视角度数越大, 能表示的最小物体的大小越大, 越不清晰.)
($\uparrow$ 注意卷积运算在图形处理中的实际作用: 检查image和template之间的相似性. 剩下的三个选项分别是template matching 卷积核, Box Filter/Gaussian Filter, Edge Detectors的功能, 它们本质上执行的都是卷积运算.)
($\uparrow$ 在正常情况下, 绝大多数噪音都是远小于实际信号的, 因此可以通过averaging让这些噪音自行互相抵消.)
($\uparrow$ 回顾课上内容: 常规的 box filter 对边缘的模糊效应最严重, Gaussian Filter 可以避免在边缘上出现 ringing effect, 但仍然会模糊边缘. median filter 则基本不会模糊边缘, 也就是 “retain significant image structures”.)
($\uparrow$ 这里实际上就是在描述 Gaussian Smoothing 不会导致边缘出现 ringing effect 的特性.)
($\uparrow$ 回忆对 Prewitt, Sobel 卷积核的, 拆成一个averaging kernel 和一个edge detection kernel 的拆解过程. 同时明确卷积计算的时间复杂度, 从此可以看出通过将 square template 拆分成两个卷积核分别计算可以节约大量的计算资源和时间.)
($\uparrow$ 避免 overflow 是老生常谈的事情)
($\uparrow$ 注意对 “边” 的定义. $12$ 题的做法实际上就是最简单的 Simple edge detection 进行的操作)
($\uparrow$ 回顾课上介绍的例子, template 源于图片本身)
($\uparrow$ 注意对 blob 的定义: 一系列连续的, 共享某些性质的像素的集合. 它被用于物体识别和表示, 我们可通过表示 blob 的外围构造 (path, chain code), 计算周长, 计算大致面积 (shoelace algorithm), 表示颜色等方式描述它的特征.)
($\uparrow$ 实际上这也是我们在课上唯一关心的, 检测 blob 的方式.)
($\uparrow$ 注意 Path
是 首尾相连 的. 一般可以用 chain code 表示.)
($\uparrow$ 回忆 CCA
分为两次扫描, 得到的结果是: 同一个 blob 中所有的像素均被赋予相同的 label.)
($\uparrow$ 注意 Central Moment
可视为 Moment
关于 blob 重心的偏置)
($\uparrow$ 注意此处 center of gravity
的计算方式: $\frac{M_{10}}{M_{00}}, \frac{M_{01}}{M_{00}}$.)
($\uparrow$ 回忆我们使用 differential chain code
表示 blob 边缘的生成, perimeter
的计算涉及 chain code
中奇数和偶数的数量, 由于外部环境的影响得到的图像中 blob 的亮度可能随着光照不同发生变化, 属于干扰 blob tracking 的不利因素, 应当利用 HSI, HSB
等色彩和亮度分离的色彩标准, 排除 Intensity 的影响只考虑 Chromaticity.)
($\uparrow$ Hough Transformation 将图像平面中的点映射为一条直线, 也就是表示 “所有过这点可能的直线”; 将图像平面中的直线映射为一个点.)
($\uparrow$ 务必对 Hough Plane
中, 直线的直角坐标表示和极坐标表示足够熟悉. 直线用这样的直角坐标表示是因为我们找到点之后已经固定了 $x$ 和 $y$, 此时变量就是 $m$ 和 $c$.)
($\uparrow$ Structured elements 就是一系列像素组成的物体, 大小和形状不定.)
($\uparrow$ 如果被 erode 的 structuring element 太小的话它自身就可能会连同 noise 一起被腐蚀掉.)