颜色与感知
目录
1 光场(Light Field / Lumigraph)
1.1 全光函数
1.1.1 改进:引入波长
1.1.2 改进:添加时间t
1.1.3 改进:人可以移动,添加空间坐标
1.1.4 改进:不把函数当电影来看。
1.2 从全光函数到光场
1.2.1 光线
1.2.2 光场:从任何位置看向物体
(1)如何理解二维的位置和二维的方向?
(2)模型简化:包围盒
(3)进一步简化:平面
1.2.3 光场(简化后的参数化表示)
(1)两个平面的不同理解方式
1.3 光场照相机(Light Field Camera)
1.3.1 光场照相机原理
1.3.2 光场照相机的问题
(1)分辨率不足
(2)工业化困难
2 颜色
2.1 颜色到底是什么
2.1.1 光谱
(1)谱功率密度SPD
SPD的线形性质:光线叠加,对应SPD的值也相加
2.1.2 人类感知颜色的生理基础
2.1.3 颜色的三刺激理论(Tristimulus Theory of Color)
(1)同色异谱(Metamerism)
2.1.4 颜色调和(Color Reproduction / Matching)
(1)加色系统
(2)颜色空间
RGB
CIE XYZ
(3)色域
(4)其他的颜色空间
HSV:(色相、饱和度、明度)也有人叫做HSL。为艺术家设计的。
LAB:与感知有关。任何一个轴的两端是互补色。
(5)减色系统
1 光场(Light Field / Lumigraph)
英文的光场有两个单词,这是历史遗留问题,因为当时有两个人都发现了这个现象并命名。
我们看到的世界是什么?
想象给我们的面前加上一块幕布,在这个幕布上放上之前的2D成像,那么人不会察觉到与真实世界的区别。虚拟现实用的就是类似的技术。
人们看到的就是各个方向的光,并不关心光从什么地方进来,从多远进来。
1.1 全光函数
描述人到底可以看到什么东西:全光函数
固定人的位置,定义一个函数:向任意一个方向看可以看到什么值?
其中的这个方向可以用极坐标表示,结果的值是一个数,一个数的话,只能表示出灰度世界。
1.1.1 改进:引入波长
把朝向某个方向的每一个波长的光都记录下来,就可以看到彩色的世界。
1.1.2 改进:添加时间t
可以向不同的方向看
每一个方向看到的都是彩色的
每个时间显示的东西都不一样
这就是电影!
1.1.3 改进:人可以移动,添加空间坐标
这就是全息电影!
1.1.4 改进:不把函数当电影来看。
我们认为这个函数是:在任何位置、往任何方向、在任何时间、看到的不同的颜色。这就是我们能看到的所有事情。
整个视觉的世界是一个七个维度的函数--全光函数。
1.2 从全光函数到光场
我们可以从全光函数中提取一些信息,用来表示更复杂的光。
1.2.1 光线
用起点和方向就可以定义一条光线。
取任意两点也可以定义一条光线
1.2.2 光场:从任何位置看向物体
物体放在包围盒里面。
要想描述这个物体从各个方向能看到的所有情况:描述这个物体在任何一个位置往任何一个方向的光线。
光场就是这些光线信息。
光场:从任何一个位置看向任何一个方向的光的强度。光场是全光函数的一小部分(只是2维的位置和2维的方向)。
(1)如何理解二维的位置和二维的方向?
2维的位置:物体表面可以映射到平面,用uv坐标就可表示
2维的方向:空间中的方向可以用极坐标系θφ就能表示
紫色的线,表示从任意一个位置往光场看,就查询之前记录过的光场的值。
(2)模型简化:包围盒
实际上,我们不需要知道光场来自什么东西,我们可以把物体看作一个黑盒。
前提是:观测点在包围盒外面。
(3)进一步简化:平面
1.2.3 光场(简化后的参数化表示)
可以用两个平面来参数化这个光场。
分别在两个平面上取一个点,两点相连,就可以得到对应的光线。
考虑所有的点的可能性,就可以描述所有的光线。
(1)两个平面的不同理解方式
从st平面上取一个点,观察与所有uv平面上的点连接的情况。
对这两个平面有不同的理解方式:
从uv平面取一点,看st平面:看到一个完整物体的图
从st平面取一点,看uv平面:从不同的点看同一个物体(把irradiance分解为多个radiance)
斯坦福做了工作来模拟从st看向uv
照片上的每一个像素记录的是irradiance,也就是不区分各个方向的光,将这些光都收集并且平均。
有没有办法把这个光分开?
把像素变成透镜,把来自不同方向的光分别记录在不同的位置(光场照相机的基本原理)。
1.3 光场照相机(Light Field Camera)
Lytro光场照相机
就是用透镜替换了像素,可以把接收到的光线分开然后再存储。
功能:支持后期重新聚焦.
1.3.1 光场照相机原理
原本的像素变成微透镜,分别存储不同方向的光。
原本记录一个像素,现在记录一块像素。
任何一块光场摄像机像素的平均值就是原本的普通摄像机的像素。
如何从光场照相机中得到一个普通的照片?
每个透镜都选一条光线,然后将这条光线的值作为像素值。选光线的方向不同,相当于在移动摄像机位置。
取不同的光线相当于在移动摄像机的位置
总之,光场照相机记录了视野内的所有东西。
1.3.2 光场照相机的问题
(1)分辨率不足
光场照相机通常分辨率不足,原本一个像素记录一个信息,现在可能100个像素才等同于记录原本一个像素的信息。对胶片的分辨率非常高,成本就很高。
(2)工业化困难
微透镜是个超级精密的仪器,技术和工业上难以实现。
2 颜色
2.1 颜色到底是什么
早期牛顿做过一个实验:
棱镜将光线分解成了不同的颜色,将分解过的颜色混合到一起又形成了白色。
2.1.1 光谱
不同的波长有不同的折射率
可见光光谱:波长400nm到700nm。
紫外线和红外线人眼不可见。
(1)谱功率密度SPD
谱功率密度SPD:描述不同波长的光线强度是多少
蓝天不同地方的SPD不同
再比如:日光灯和LED灯的SPD不一样
SPD的线形性质:光线叠加,对应SPD的值也相加
回到最初的问题:颜色是什么?
光有不同的波长,人对于不同波长的光有不同的感受结果。
所以说,颜色是人的感知,并不是物理上的东西,颜色和人有关。
2.1.2 人类感知颜色的生理基础
视网膜是光线最终到达的地方,视网膜上有感光细胞,感光细胞分为两类:
棒状细胞(感知光线的强度,得到灰度图)。
锥形细胞(很少,可以用来感知颜色),锥形细胞又被分为三类S、M、L。
这三种细胞对光的波长的感知各不相同。
S细胞容易感知小波长、高频
M细胞容易感知中波长
L细胞容易感知大波长
不同的人的眼睛,这三种锥形细胞的分布情况有严重的个体差异。
2.1.3 颜色的三刺激理论(Tristimulus Theory of Color)
光线强度 * 感知强度,然后积分,可以得到人们感应颜色的结果。
给定任何一种类型的光线,被人们的三种细胞感知到。
人们看到的是三个结果数,而不是光线本身的SPD。
(1)同色异谱(Metamerism)
有没有两种光线,它们具有的光谱不相同,但是被人们看到的结果相同。
不同的信号经过积分后得到的结果相同。
这个过程叫做颜色调和。
重要应用:计算机通过元件调和出来的光谱和原物体的光谱不同,但感知到的颜色一样。
2.1.4 颜色调和(Color Reproduction / Matching)
(1)加色系统
加色系统允许线性组合来匹配出任何一个颜色,系数可能是负的。
人们CIE (一个组织)开发了RGB系统
RGB要做颜色匹配。
对于任何一个波长的光,我们需要用这么多的蓝色、这么多的绿色、这么多的红色相加,来匹配出这个波长的光。
也就是这个组织解决了:如何用红绿蓝单色光混合出特定波长的光
如果要匹配任何实际的SPD分布(包含不同波长的光强),那就要考虑每一个波长的光要用多少的红、绿、蓝色。那就是做三个积分,得到三个数。
(2)颜色空间
RGB
RGB是广泛使用的标准系统
RGB形成的色域是有限的。
CIE XYZ
另一个系统叫CIE XYZ系统
它同样定义了颜色匹配函数,它是人造的颜色匹配曲线。
它把绿色的分布设计的比较均匀,Y值基本可以反应颜色的亮度。
XYZ和RGB 的区别仅仅就是匹配函数。
(3)色域
色域:一个所有可能表示的颜色
如何对XYZ可视化:将XYX先归一化得到xyz,固定Y的值,只显示x、y两个维度。
这个扇面形的东西就叫色域:所有颜色空间能显示出的颜色。
白色是最不纯的颜色、最纯的颜色在色域的边缘。
sRGB的色域比sXYZ小。
(4)其他的颜色空间
HSV:(色相、饱和度、明度)也有人叫做HSL。为艺术家设计的。
LAB:与感知有关。任何一个轴的两端是互补色。
人脑自动补全互补色
颜色很多都是相对的
A点和B点颜色实际上一样,但是人眼认为不一样。
(5)减色系统
彩色打印机用的就是这个