GAMES102 Lecture 20 Color and Perception
这里回顾GAMES101 Lecture 20,光场、颜色与感知。
课程主页:
课程作业:
课程视频:
本讲内容
- 光场/Lumigraph;
- 颜色;
- 什么是颜色;
- 色觉;
- 色彩复现/匹配;
- 色彩空间;
光场/Lumigraph
引子
我们看到的世界是什么,考虑坐在椅子上看窗户外面(下左图),那么实际上看到的是(下右图)的场景:
假设有一块幕布放在人的面前,幕布上显示上右图的场景(这就是虚拟现实的原理),那么人无法感受到区别:
小结:
- 人们看到的是各个方向来的光线;
全光函数(Plenoptic Function )
- 问题:我们所能看到的所有事物的集合是什么?
- 答案:全光函数(Adelson & Bergen);
让我们从一个静止的人开始,尝试参数化他能看到的一切。对于禁止的人,可以用两个参数(方向)描述人看到的信号:
现在引入波长(颜色)的概念,那么函数变为:
接着增加时间,函数变为:
现在假设人的位置会变换,此时函数变为:
即利用7个变量,可以描述任何位置,任何时间看到的内容,即利用上述函数:
- 可以在任何时刻、任何位置、任何波长重建任何可能的视图;
- 该函数包含每一张照片,每一部电影,任何人所见过的一切! 它完全捕捉了我们的视觉现实!
光场的概念可以由此引入。
光线
光线由5个变量描述:
- 3维位置;
- 2维方向;
函数形式为:
图示:
另一个方式为利用两点和方向定义光线:
此时只要4个参数:
- 2D方向;
- 2D位置;
描述物体
对于物体,可以用一个包围盒维住,如果描述了包围盒上任意一点发出的光线,那么就可以知道从任意位置看物体的样子:
即我们需要从任何一个位置,朝任何一个方向的光的强度,即光场:
有了光场之后,可以得到从任意一个物体的不同观测(即上图中观测位置和光场的连线)。
光场
对于物体,只要记录其包围盒表面的光场即可:
因为两点确定一条直线,所以可以用两个点描述光场,在下图中,用两个平行线上的点描述光场:
对于三维场景,将平行线推广为平面即可,可以用参数$s,t,u,v$描述光场:
参数化的理解
$s, t, u,v$对应两个平面:
固定$u, v$,变化$s,t$,相当于小孔成像,可以看到整个物体:
固定$s, t$,变化$u,v$,相当于从不同方向看向同一个物体:
苍蝇眼睛
苍蝇的眼睛可以把各个方向打到同一个点的光进行区分:
这也是光场相机的原理。
光场相机
光场相机的将各个方向的光分开,最重要的功能是:
- 后期重新聚焦(拍摄照片后改变虚拟焦距和光圈大小等);
- 先拍照,再聚焦;
原理
- 光场相机的每个像素(irradiance)现在存储为一个像素块(radiance);
- 即记录各个方向;
- 像素块的平均值即为普通相机的像素;
- 所拍照片的特写视图;
图示:
从透镜向左边看就是一个光场,这也解释了为什么可以后期调焦:
应用
如何从光场照片中得到一张“常规”的照片?
- 一个简单的例子——总是选择每个块底部的像素;
- 也可以取中心和最上面的位置;
- 本质上是“移动相机”;
重新聚焦:
- 相同的想法:视觉上改变焦距,相应地选择重新聚焦的光线方向;
小结
- 总之,所有这些功能都可用,因为光场包含一切;
- 光场相机有什么问题吗?
- 空间分辨率不足(同一胶片用于空间和方向信息);
- 成本高(微透镜的);
颜色的物理基础
光的基本成分
- 牛顿表明太阳光可以用棱镜细分成彩虹;
- 产生的光不能用第二个棱镜进一步细分;
- 把分解的颜色合成可以得到可见光;
可见光的光谱
- 可见光被分解为不同的颜色的光,是因为不同的光有不同的折射率,而折射率和光谱关系紧密;
- 给定一个光,都对应一个光谱;
- 光谱是能量在不同波长上的分布;
- 我们关注的是可见光的光谱;
图示:
谱功率密度(SPD)
- 功率谱密度衡量光在任何一个波长的分布:
- 单位:
- 辐射单位/纳米(例如瓦特/纳米);
- 也可以是无单位的;
- 当绝对单位不重要时,经常使用缩放到最大波长的“相对单位”来比较波长;
- 单位:
例子
线性性
谱功率密度满足线性性:
什么是颜色
- 颜色是人类感知的一种现象; 它不是光的普遍属性;
- 即和人有关;
- 不同波长的光不是“颜色”;
颜色的生物学基础
人能看到颜色,是因为视网膜上有感光细胞。
视网膜感光细胞:视杆细胞和视锥细胞
视杆细胞是极低光(“暗光”条件)下的主要受体:
- 例如朦胧的月光;
- 人大约有1.2亿个视杆细胞;
- 感知强度;
- 可以得到灰度图;
视锥细胞是典型光照水平(“适光”)下的主要感受器:
- 约有6-7百万个视锥细胞;
- 分为三种,每种锥体具有不同的光谱灵敏度;
- 感知颜色;
图示:
三种视锥细胞
三种视锥细胞:S、M、L(分别对应短、中、长波长的峰值响应):
每个人的三种细胞比例不同,所以对颜色的感知也不同。
视锥细胞的光谱响应
三种细胞对于光线是如何感知的呢?波长的SPD和响应的积分即为感知的结果,即人类看到的实际上是三个数:
人类视觉系统
- 人眼无法测量,大脑也无法接收有关光的每个波长的信息;
- 相反,眼睛只能“看到”三个响应值(S、M、L),而且这是大脑唯一可用的信息;
同⾊异谱
- 同⾊异谱是投射到相同(S,M,L) (3-dim) 响应的两个不同光谱:
- 这些对人类来说看起来具有相同的颜色;
- 同色异谱的存在对色彩再现至关重要
- 不必重现真实世界的全部内容
场景; - 示例:同色异谱可以在只有三种颜色像素的显示器上再现现实世界场景的感知颜色;
- 不必重现真实世界的全部内容
示例
色彩再现/匹配
加性系统
给定一组主光源,每个主光源都有自己的光谱分布(例如R、G、B):
调整这些灯的亮度并将它们加在一起:
颜色现在由标量值描述:
即光谱分布为基,R, G, B为系数。
CIE RGB
与之前的加色匹配设置相同,但原色是单色光(单一波长):
颜色空间
标准颜色空间
标准RGB(sRGB):
- 制定特定显示器的RGB标准;
- 其他彩色设备通过校准模拟该显示器;
- 今天被广泛采用;
- 色域有限;
通用颜色空间:CIE XYZ
假想的标准颜色原色集X、Y、Z:
- Y是亮度(与颜色无关);
设计成这样:
- 匹配函数严格为正;
- 跨越所有可观察到的颜色(亮度);
匹配函数如下:
可视化XYZ
令:
固定Y,可视化可得:
这个区域即为色域,即颜色空间表示的全部颜色,最中心的点(白色)是所有颜色混合的结果。
色域
- 色域是由一组颜色原色生成的一组色度;
- 不同的颜色空间代表不同的颜色范围;
- 所以它们有不同的色域,即它们覆盖色度图上的不同区域(色域);
HSV颜色空间
另一种颜色空间:
说明:
- 色调
- 颜色的“种类”,与属性无关;
- 所选的颜料颜色;
- 饱和度
- 纯度;
- 亮度
- 总光量;
- 描述阴影;
CIELAB空间
力求感知均匀性的常用色彩空间:
- L是亮度(亮度);
- a和b是互补色;
- a是红绿色;
- b是蓝黄色;
图示:
互补色的例子见课件。
CMYK:减性色彩空间
- 减色模型:
- 混合得越多,颜色就会越深;
- Cyan, Magenta, Yellow和Key广泛用于印刷;
- 问题:
- 如果混合C、M和Y得到K,为什么需要K?
- 减少成本;
图示: