图形学笔记(十七)相机,棱镜 ——FOV、焦距、曝光、F-Stop、ISO、薄透镜公式、Circle of Confusion Size、景深、理想薄透镜光线追踪
文章目录
- 1 Light Field / Lumigraph 光场
- 2 颜色
1 Light Field / Lumigraph 光场
1.1 The Plenoptic Function 全光函数
全光函数是我们能看到的所有物体的集合。
- P ( θ , ϕ ) P(\theta,\phi) P(θ,ϕ) Grayscale snapshot
- P ( θ , ϕ , λ ) P(\theta,\phi,\lambda) P(θ,ϕ,λ) Color snapshot(加入了光的波长表示色彩信息)
-
P ( θ , ϕ , λ , t ) P(\theta,\phi,\lambda,t) P(θ,ϕ,λ,t) movie(加入了时间t)
-
P ( θ , ϕ , λ , t , V x , V y , V z ) P(\theta,\phi,\lambda,t,V_x,V_y,V_z) P(θ,ϕ,λ,t,Vx,Vy,Vz) Holographic movie(可以改变自己的位置从另外的-角度看世界。)
对于 P ( θ , ϕ , λ , t , V x , V y , V z ) P(\theta,\phi,\lambda,t,V_x,V_y,V_z) P(θ,ϕ,λ,t,Vx,Vy,Vz) 不把这个函数当成全息电影,而是把它表示成一个函数,这个函数可以表示在任何地方,任何方向,任何时间看到的东西的颜色,这个函数就是全光函数(整个世界是个七个维度的函数)。
Plenoptic Function的例子(俯视图)。
光场就是全光函数的一部分。
1.2 Ray 光线
光线具有起点和方向,定义为 P ( θ , ϕ , V x , V y , V z ) P(\theta,\phi,V_x,V_y,V_z) P(θ,ϕ,Vx,Vy,Vz)。
它是一个5D表示的,包含3D的position和2D的direction。
另一种定义方式:两个点定义一条光线。
它是4D表示的,包含2D的direction和2D的position。
1.3 光场
1.3.1 光场的定义
想要描述一个物体的视觉信息,只要找出它的包围盒,并记录包围盒表面任意一点向任意方向的发光情况即可。光场就是在任何一个位置往任何一个方向去的光照强度。
1.3.2 光场的优势
有了光场后,从任意位置都可以看向这个物体,有了视点和看向的方向,查询4D的函数就可以查询到记录的值。
有了包围盒之后,就可以忽略光场内部的细节,只要记录包围盒表面的任何位置任何方向的光照信息即可。
1.3.3 光场的两种表示方式
可以用S和
θ
\theta
θ得到任意一条光线。
也可以定义两个相互平行的平面,只要连接两个点就可以确定唯一的一条光线。
如下图是参数化表示方法,找到所有uv和st的对应关系,便可以定义任意一条光线。
下面假设整个世界在st的右边。
固定uv平面的任意的点向st平面去看,得到的就相当于在这个点放一个摄像机得到的图像。
固定st平面的任意的点向uv平面去看,得到的就是同一个物体在不同方向上所得到结果。
1.3.4 Light Field Camera 光场摄像机
Lytro Light Field Camera
原理:微透镜——把像素替换成透镜,让透镜把来自于不同方向的光分开然后记录下来。
功能:支持后期的重新聚焦。
光场照相机原理理解 把来自不同方向的光记录下来。
- 每个像素(irradiance)现在存储的是一片pixels(radiance)。
- A close-up view of a picture taken。
还原普通照片的方法:对于每个透镜都选择每一“块”的最底部的像素。
有了光场之后,可以虚拟移动相机的位置(重新聚焦也是一样的道理)。
总结 光场相机能实现虚拟移动相机位置,改变聚焦等功能。
光场相机特点 光场摄像机记录了所有的光场信息。
光场相机的问题
- 光场相机的空间上的分辨率不足。
- 高成本(胶片分辨率十分高,微透镜很精密)。
2 颜色
颜色是人的感知,他不是光的自然属性。不同波长的光不是“颜色”。
颜色是感知出来的,它是相对的。
2.1 颜色的物理学基础
2.1.1 可见光的光谱 The Visible Spectrum of Light
可见光波长分布在400-700nm之间。
2.1.2 谱功率密度 Spectral Power Distribution(SPD)
SPD是光线不同波长的光强分布是多少,如下图所示蓝天能量集中在波长低的部分,日光波长越高能量越大。
普功率密度是度量光的重要属性。
- 出于每个波长光的能量的分布
- 单位:radiometric units / nanometer(watts / nm),也可以无单位。
- 通常使用“相对单位”扩充到最大波长,以便进行跨波长比较(当不关注绝对单位时)。
Spectral Power Distribution 具有线性性质,即可以叠加。
2.2 颜色的生物学基础
人的眼睛是摄像机,瞳孔是光圈,晶状体是透镜(通过肌肉伸缩来控制焦距),视网膜是传感器。
2.2.1 感光细胞:Rods and Cones
视网膜具有感光细胞(Retinel Photoreceptor Cells):棒状和锥形细胞(Rods and Cones )
Rods(棒状细胞):感知光的强度,可以得到灰度图。~120 million
Cones(锥形细胞):感知光的颜色。~6-7 million
由于三种类型的细胞对于波长的反应不同,Cones可以进一步划分为三类:S-Cone,M-Cone,L-Cone。
不同人的感光细胞分布不同,如下所示。
2.2.2 Tristimulus Theory of Color
以下是人类锥形细胞的相应曲线,SML是人类最终看到的结果(只是一个数,不是光谱而是积分的结果)。
每一个光的波长信息不能被人眼测量和大脑接收。
眼睛值看到了三个response values(S,M,L),并着是大脑唯一可获取的信息。
2.2.3 Metamerism 同色异谱
Metamerism是不同的光谱spectra( ∞ − d i m \infty-dim ∞−dim)会映射到相同(S,M,L)的响应。
- 这些似乎会对一个人产生相同的颜色(光谱不一定相同,但颜色可以相同)。
Metamerism 对颜色reproduction很重要。
- 不需要重构出真实世界的整个光谱。
- 例如metamer可以在显示器仅使用每个像素的三个颜色便可重现真实场景感知到的光。
如下图不同的光谱经过了积分得到了相同的结果,所以混合出来的光谱可以和原光谱完全不同。
2.3 Color Reproduction / Matching 颜色匹配
Additive Color 加色系统
给定一组主要的光,每个光都有自己的光谱分布(例如使用RGB显示像素)。
s
R
(
λ
)
,
s
G
(
λ
)
,
s
B
(
λ
)
s_R(\lambda),s_G(\lambda),s_B(\lambda)
sR(λ),sG(λ),sB(λ)
调整这些光的亮度并把它们加在一起。
R
s
R
(
λ
)
,
G
s
G
(
λ
)
,
B
s
B
(
λ
)
Rs_R(\lambda),Gs_G(\lambda),Bs_B(\lambda)
RsR(λ),GsG(λ),BsB(λ)
颜色最后被标量(R,G,B)描述。
eg1:给定一个颜色,然后用三种颜色混合匹配得到相同的颜色。
eg2:左边的颜色无法通过右边的颜色混合获得。
做法:把左边需要混合的颜色加一个颜色,相当于右边减颜色,就可以得到相同的颜色(线性性质)。
CIE RGB Color Matching
CIE RGB Color Matching Function
下图图显示每个CIE RGB主要(primary)光匹配x轴上给定波长的单色光需要混合的量。(注意有负的结果)。
对于任何一个光谱s,感知到的光被下面的公式匹配(缩放CIE RGB原色)。
2.4 Color Spaces 颜色空间
2.4.1 Standard Color Spaces
RGB颜色空间一般称为Standardized RGB(sRGB)
- 先让特定的机器做好之后,让其他机器模仿这种RGB标准。
- 现在被广泛采用。
- 色域gamut是有限的。
2.4.2 Gamut 色域
Gamut 是被一个原色集生成的所有色度(chromaticities)。
不同的颜色空间表示不同范围的颜色,具有不同的色域(gamut),即它们覆盖charomaticities的不同区域。
下图是不同Gamut对应的颜色空间。
2.4.3 常见颜色空间
1> 科学上普遍的颜色空间:CIE XYZ
CIE是人造的颜色匹配系统。
首先设定标准颜色原色组X,Y,Z。
- 不存在具有这些匹配函数的原色。
- Y是luminace亮度(亮度与颜色无关)
这个系统设计成匹配函数严格为正,覆盖所有可见光的范围。
对X,Y,Z做归一化,得到x,y,z。
因为x+y+z=1所以只需要它们中的两个就可以表示颜色。最后固定Y,可视化x、y,得到图像(Y只是亮度)。
上图也成为色域,白色是最不纯的颜色。
2> HSV Color Space(Hue-Saturation-Value)
HSV常见于颜色拾取器中(PS中常见)。
选择不同的色调Hue和饱和度Saturation和亮度Brightness(有事也作Value)
- Hue 不同类型的颜色。
- Saturation 更接近白色还是纯色(单一颜色)。
- Brightness 从黑色到某种颜色。
3> CIELAB Space(AKA Lab*)
CIELAB Space是与感知有关的色彩空间。
- L* 是lightness(brightness)
- a和b是互补颜色对(a是red-green,b是blue-yellow)。
以上一个轴上的颜色是在人类感知上是互补色(比如直觉上红色和绿色无法混合)。
4> CMYK:A Subtractive(减色) Color Space
Subtractive color model:混合的越多就越暗。
青色Cyan、洋红Magenta、黄色Yellow和黑色,并(Key Widely)广泛用于打印。
有黑色是因为黑色便宜,有了黑色就不需要直接用其他三种颜色混合。