可视化程序调试原则:
利用可视化显示帮助你调试和理解图形程序人除了有 视觉系统,还有 听觉、触觉。与人的其它感知相比 视觉系统接收的是光,光具有特殊性能: 光不会朝各个方向发散,沿某一方向发出的光束只能沿该方向传播。 光的传播不需要介质,光在空气中传播时,几乎不受空气的影响。(折射率是介质密度的函数,变化的折射率可能导致光线扭曲,海市蜃楼、炎热天气时 沙漠上影响的"波动", 还要汽车发动机上面的"波动")
任何视觉处理模型不仅取决于当前刺激,也必须考虑近期刺激。人的模型识别能力也受训练和学习的影响。
例如,最近某物体曾在你面前出现过,则面对一堆杂物时,你能很快地主要到其中与它相似的物体人类视觉系统由 眼睛、视神经 和 大脑的视觉皮层组成。
早期视觉(视觉信号处理的前几步)
早期视觉可检测 明度的尖锐对比、表面朝向 和 颜色的细小变化 以及 空间频率 空间频率是指 每厘米明暗变化的次数。 对 朝向、颜色或频率变化的检测是局部的,即指人类对相邻物体呈现的不同颜色很敏感,但早期视觉系统并不检测我们视域中相距较远的物体之间细小的颜色差异。早期视觉系统还可将局部信息组合成更大区域的信息。例如,将相连边拼接为更大的边界从进化论的观点,可以阐释人类视觉系统的一些特殊之处: 人类对运动很敏感(有助于发现危险),却不擅长记住颜色 视觉系统能在不同光照条件下轻易地判断颜色的相似性(以便在中午和黄昏时识别食物,且在食物一半处于光照下,一半处于阴影中时仍能识别出该食物) 视觉系统在深度判定方面也不错,尤其是邻近物体的深度,这在伸手抓东西时有助于协调手的运动
图形学中,一个经常会提的问题是 “所生成的图像与理想图像在 视觉感知 上 是否会有差异”
这意味着,绘制 与 显示 是否完美,其最终评判标准是感知。(例如 绘制出的图像 可能会引起 视觉系统的 视错觉 现象,从而使 感知 与 绘制的结果并不相同)测量两幅图像的相似性有一种简单方法:计算两幅图像中所有对应像素的像素值的差,求其平方和 再取 平方根。这种方法称为 方差和、 L 2 L^2 L2差 或者 L 2 L^2 L2距离。然而这个计算结果并不能总是符合两幅图像在视觉感知上的差异。关于感知 和 一些产生感知差异(视错觉)的原因
视觉系统的对数灵敏度指出,视觉系统在黑暗区域 比 在光亮区域 对辐射度的误差更敏感。视觉系统的局部适应性意味着亮度的 变化 往往比其 绝对值 更受关注。我们对于物体的感知与光照环境几乎无关(例如,无论物体是在明亮阳光 还是 在黄昏的余光下,都可以被识别)。早期视觉部分 用于检测边,并且将整合整合拼接,以便大脑从整体上进行感知。因此,若各图像之间对应像素的 亮度之比 在局部区域内 近乎常数,且 这些图像中的 “边” 部分分布在相同位置,则可认为这些图像是相似的。 "局部"的含义与观看图像的方式有关:在每个像素对人眼所张的夹角为 1° 时,“局部” 可能指 “几个像素宽度”;如果每个像素对人眼的视角为 0.01°,“局部” 可能指 “几百个像素”。一个简单的例子:一个黑白棋盘 和 一个灰色矩阵,近看时很好区别二者,但远看时二者无太大差别。虽然低层次信息是从所见画面提取,但有时,人通过部分地整合低层次信息而形成高层次理解会影响视觉系统对低层次信息地处理方式。
例如,当一个人背靠着栏杆时,你会不假思索地假设 这个人背后的栏杆是连续的眼睛后侧表面的一大部分为 视网膜
视网膜上有能对光做出反应的细胞,主要分为两组:杆细胞 和 锥细胞 杆细胞负责对微暗光的检测锥细胞负责对明亮光的检测在数量上,杆细胞 远远多于 锥细胞(比例约为 20:1),两者在视网膜上的分布也不均匀,锥细胞主要在 正对瞳孔的中央凹处视网膜上另一特殊区域是 视盘。视神经通过它与眼睛相连。视盘上没有杆细胞 和 锥细胞,尽管如此,当人们向四周看时,并没意识到视野内存在 “盲点”。这是高层次处理屏蔽低层次信息细节的例子。盲点一直存在,如果可以去注意它,会使你时常分心。到达视觉细胞的光每增加一倍,引发的刺激响应也将增加相同的数量。
如果光源B 与 光源A 几何上完全相同,但看上去光源B 的亮度 只有 光源A 亮度的一半,则光源B 发出的能量 大约是 光源A 的 18%。那如果光源C 发出的能量约为 光源B 的18%,则光源C 发出的亮度 约为光源B 的一半。这就是视觉系统的 对数响应。其决定了显示技术的若干方面: 一台显示器必须能呈现宽广范围的亮度,这个亮度 不应该 按照 亮度值均匀划分,而应该使相邻区间的亮度之比为常数。上述概念推动了图像伽马校正的想法。明亮度:用于描述人感知到的光的亮度。
光亮度:光的辐射度值得准确测量
侧向抑制:
当眼睛大致适应了环境光照明后,到达某一视觉细胞的一束额外光不仅增加了该细胞的明亮感知,也稍稍降低了邻近视觉细胞的敏感度,通常称之为 侧向抑制。
侧向抑制导致的结果就是,与明暗区域内部的对比度相比,两区域的边界对比度更强:边界暗的一侧看起来更暗,亮的一侧看起来更亮,致使边界更加明显,这就是马赫带。
以下是对上面进行的总结
视觉系统在检测物体距离时存在两种机制
眼睛的聚焦两眼的视差眼睛能自动适应周围光的亮度,且适应后眼睛只能识别有限动态范围内的入射光。
这意味着我们无需构建具有极高像素对比度的显示器也意味着当我们显示一些很亮的景物时,可略去光附近像素的大部分细节。原因是眼睛对光亮度产生局部性适应后会 “忽视” 物体细微的亮度变化。眼睛中的光感受器集中于视野中心附近
这意味周围景物的显示可不必太精确但人眼对于运动十分敏感,因此也不能过于草率由于眼睛对于边界的敏感性,我们需要提高足够多的亮度等级才能生成明显光滑的图像
视觉系统从接收到光获得对周围世界的感知,这一过程十分鲁棒。即使进入眼睛的图像变化很大,感知结果却几乎不变。
颜色不变性
在中午 和 在晚上,我们看到自己的车子或者房子,看到的颜色是不相同的,但是我们并不会因此感知到说 中午 和 晚上看到的不是同一个东西。形状不变性 和 大小不变性
在距离远处 和 距离近处 看自己的车子或房子,看到的大小是不同的,但我们不会因此感知到这两个不是同一个东西。恒常性使人的视觉系统在处理某些事时并不如意,而其它视觉系统(如 数码相机)却做的很好。因此 研究图形学时 要先明确基于哪种“视觉系统”成像。
恒常性 失败的例子:
某区域为周边区域包围,当周边区域呈现不同亮度时,人眼判定该区域绝对亮度的能力就会大受影响。
中间方块的亮度其实是一样的恒常性给出的启示:
相对亮度(比值) 比 绝对亮度(差值) 更重要。