本章节内容:相机、棱镜、光场
计算机图形学的两种成像方法:
1.合成方法:光栅化、光线追踪(展示出现实没有的东西)
2.捕捉方法:相机(捕捉现实已有的东西)
目录
[1 相机](#1 相机)
[1.1 针孔相机(Pinhole Image Formation)](#1.1 针孔相机(Pinhole Image Formation))
[1.2 视场(FOV)](#1.2 视场(FOV))
(3)焦距不变的情况下,传感器越大,视场FOV越大;传感器越小,视场FOV越小。
[1.3 曝光(Exposure)](#1.3 曝光(Exposure))
[1.2.1 有哪些因素在影响曝光(图片的亮度):光圈、快门、ISO](#1.2.1 有哪些因素在影响曝光(图片的亮度):光圈、快门、ISO)
[1.2.2 光圈、快门、ISO的协调关系](#1.2.2 光圈、快门、ISO的协调关系)
[1.2.3 光圈:F数](#1.2.3 光圈:F数)
[1.2.4 快门](#1.2.4 快门)
[2. 镜头(Thin Lens Approximation)](#2. 镜头(Thin Lens Approximation))
[2.1 理想薄透镜](#2.1 理想薄透镜)
[2.1.1 薄透镜公式](#2.1.1 薄透镜公式)
[2.1.2 推导](#2.1.2 推导)
[2.2 焦散(Defocus Blur)](#2.2 焦散(Defocus Blur))
[2.2.1 弥散圆的大小(Circle of Confusion (CoC) Size)](#2.2.1 弥散圆的大小(Circle of Confusion (CoC) Size))
[2.2.2 光圈的明确定义](#2.2.2 光圈的明确定义)
[2.3 理想薄透镜渲染(Ray Tracing Ideal Thin Lenses)](#2.3 理想薄透镜渲染(Ray Tracing Ideal Thin Lenses))
[2.3.1 薄透镜渲染步骤](#2.3.1 薄透镜渲染步骤)
[2.4 景深(Depth of Field)](#2.4 景深(Depth of Field))
[2.4.1 计算过程](#2.4.1 计算过程)
[2.4.2 演示网站](#2.4.2 演示网站)
1 相机
相机里面发生了什么?
最简单的针孔相机 :小孔成像
快门:控制光在多少分之一秒内进入相机
传感器:捕捉光,记录irradiance(来自各个方向的所有光)
为什么相机没有针孔或者棱镜不能成像?
如果这么操作,相当于直接把传感器放到人的面前,传感器上的任何一个点都会收集来自各个方向的信息,这个点不能区分来自各个方向的能量,此时它收集的是irradiance,不是radiance,结果就是所有东西都是糊的。(但也有人在研究用传感器直接区分不同方向的信息)
1.1 针孔相机(Pinhole Image Formation)
针孔相机成像
公元前,人们就已经发现了小孔成像的原理。
如果我们能用纸做一个小孔,那么我们可以拍出效果不错的场景。
针孔相机拍出来的东西没有深度可言,也就是说它拍摄到的所有东西都是清晰的。光线追踪也是采用的这种针孔摄像机模型。
(虚化现象是由于棱镜的存在,如果可以编程模拟出光线与棱镜的作用,那么就可以得到带有景深的渲染效果)。
1.2 视场(FOV)
焦距对视场的影响
有一个简单的相似三角形关系
虽然对于小孔不存在焦距的概念,但是我们定义"小孔和传感器之间的距离"为焦距f
那么此时就可以计算tan角度,并用它的大小来定义FOV
目前看起来,FOV和传感器的大小、焦距都有关系。
(1)FOV一般定义
所以人们规定:在定义FOV的时候,传感器大小默认固定为35mm,然后用对应的焦距来定义。
(2)视场FOV越窄,我们看到的东西会越远。
(3)焦距不变的情况下,传感器越大,视场FOV越大;传感器越小,视场FOV越小。
之前我们混淆使用了传感器和胶片的感念,实际上,传感器(sensor)和胶片(film)是不同的东西,对于渲染来说,传感器记录irradiance多大,而最后的film决定了最后存储为什么样的图片格式。
(4)手机如何做到拥有很大的FOV?焦距变小(右图所示)
1.3 曝光(Exposure)
曝光 = 曝光时间 * irradiance
辐射度量学考虑单位时间,而照相考虑的是整体时间
曝光时间:由快门控制
单位面积上的能量irradiance与什么有关:1.落到传感器上的光能 2.光圈大小
1.2.1 有哪些因素在影响曝光(图片的亮度):光圈、快门、ISO
光圈大小( 瞳孔**)**:由f-stop来控制光圈大小。光圈是仿照人的瞳孔设计的,暗处瞳孔放大,明亮处瞳孔缩小。
快门速度( 眼皮**)**:快门越快,快门开放时间越短,进入的光越少。
IOS增益( 视觉细胞**)** :IOS可以理解为一种后期处理,给sensor最后的结果乘上某个数。这个乘法可以发生在硬件上(传感器调节灵敏度),也可以后期加(已经生成了照片然后再处理)。
1.2.2 光圈、快门、ISO的协调关系
不同的光圈大小:F数越大,光圈越小
不同的快门速度:通常用分数表示,1/1000就是快门开放1ms
不同的ISO:增益倍数
改变光圈大小,光圈大时,照片变虚。
ISO越大,照片越noisy,大家普遍不愿意调大这个数:对整个信号直接乘以一个很大的数,会放大信号,但同时,也会放大噪声。
控制其他变量,通过调节ISO来使曝光一致,得到的结果如下 :
1.2.3 光圈:F数
F数:两种写法FN或者F/N,N就是f数
F数的非正式 理解:就是光圈的直径分之一。
1.2.4 快门
机械快门:打开是有一个过程的。
(1)快门速度的影响:运动模糊
1.运动模糊
在快门打开的一段时间内,高速运动的物体发生了一段位移,这个过程被传感器都记录下来并平均,产生了运动模糊现象。用更长的快门时间会容易发生运动模糊。
2.运动模糊不一定是坏事
比如,为了体现赛车等一些物体的速度,运动模糊可以展现出这种动态。
3.拍视频
在不同时间对物体位置进行采样,采样是会有走样现象的,有运动模糊在一定程度上起到了反走样的效果。
4.Rolling shutter:超高速物体的扭曲:图片的不同位置记录的是不同时间进来的光。
(2)快门与光圈
下面的F数和快门速度的组合,基本可以实现同样的曝光。
如何理解?
直径从4到8,面积从1/16变到1/64,相当于缩小为原来的1/4。那么为了维持曝光不变,快门速度就要变成原来的4倍,也就是从1/60变到了1/15。
大光圈会造成浅景深
快门速度影响运动模糊
一般来说,需要在景深和运动模糊之间取平衡。
(3)快门时间的应用
1.高速摄影:快门时间更短,光圈更大, ISO更大。
2.延时摄影:快门时间很长、光圈更小,ISO更小。(俗称拉丝)
2. 镜头(Thin Lens Approximation)
目前的手机一般用透镜组
实际的透镜可能很复杂,光可能聚不到一点。
2.1 理想薄透镜
我们研究比较简单理想的情况。
1.平行于棱镜的光,经过透镜后可以集中到一个点
2.光路有可逆性,如果一个光线穿过焦点,那么会被透镜折射成一束平行光
3.薄透镜可以任意改变焦距(现代相机用透镜组的好处:最终的结果就好像是可以改变透镜的焦距)
2.1.1 薄透镜公式
过棱镜中心的光不改变方向
Z0:物距
Zi:相距
物理规律:见公式,这个公式反应了焦距、物距、相距,三者之间的关系。
即:如果要改变物距,相距一定会跟着改。
2.1.2 推导
蓝色的一对相似三角形
粉色的一对相似三角形
这个公式反应了焦距、物距、相距,三者之间的关系。
演示软件:
2.2 焦散(Defocus Blur)
2.2.1 弥散圆的大小(Circle of Confusion (CoC) Size)
还是用相似三角形解
把A移动到等式右边,可以发现弥散圆的大小和棱镜的大小(F数)成正比
2.2.2 光圈的明确定义
F数:焦距f/光圈直径A
F数计算举例见图
2.3 理想薄透镜渲染(Ray Tracing Ideal Thin Lenses)
一般我们都是从相机往任何一个像素中心去连,这样默认是一个小孔成像的模型,所有入镜的物体成像都是清晰的。
我们也完全可以模拟薄棱镜,并且渲染出这样的图片
2.3.1 薄透镜渲染步骤
1.确定传感器大小
2.确定透镜本身属性:焦距、光圈大小
3.确定透镜与场景目标的距离z0.
4.根据透镜公式,可以算出相距zi(传感器sensor和棱镜的距离)
5.在成像平面上选择一个点x'。
6.在透镜上选择一个点x''。
7.连接这两个点,组成的光线会穿过透镜打到物体平面上,并且打到的点x'''是确定的,可以计算的。
8.计算x''到x'''的radiance即可。
2.4 景深(Depth of Field)
景深:实际场景中的一段深度,它经过透镜后在成像平面附近的小区域内(CoC足够小)。
2.4.1 计算过程
2.4.2 演示网站
光圈越小,景深越大,看到的东西更多清晰(越接近小孔成像)