一、相机
1.成像方法
成像方法有两种,合成和捕捉,我们之前所说的光栅化和光线追踪都属于合成的方法,也就是实际上不存在的东西。而另一种成像方法叫做捕捉成像,也就是把真实世界中存在的一些东西变成照片这就是捕捉成像,例如用相机拍照。
2.小孔成像
小孔成像,一种自然现象,用一个带有小孔的板遮挡在墙体与物之间,墙体上就会形成物的倒立实像,我们把这样的一种现象叫小孔成像。而与之对应的相机是针孔相机。
当然,我们最常见的还是上图这种这种带透镜的相机。
3.相机部件
(1)快门
Shutter,也就是快门,控制光能否进入机身的部件,控制光能在1/n秒内进入摄像机。
(2)传感器
光进入相机,相机需要被捕捉到,捕捉的原件叫做传感器。它记录的就是我们之前所说的Irradiance。(本篇我们不区分胶片和传感器的概念,但实际上它们是不同的)
如果没有真空/透镜,那么相机就不能拍摄一张照片,原因也很简单,如上图,如果没有针孔/透镜,那么传感器上的任何一个点都可能接收人来自四面八方的光线,而传感器本身又不区分方向,所以每个点都收集的是综合起来的信息,都是模糊的,那也就不能表示一张图片了。
4.针孔相机
小孔成像的现象在很早就被人们发现了,直到今天,我们仍然可以利用小孔成像原理来拍摄照片,但是小孔成像的照片没有深度,也就是它成像的任何一个位置都是清楚的不是模糊的,所以不能表示深度。
5.Field of View (FOV)—视场
视场表示的是我们能看到多大的范围,所谓广角镜头也就是视场更大的镜头。什么东西影响视场呢,我们先从小孔成像理解,我们把传感器的高度定义为h,传感器到小孔的距离定义为f,FOV=2·arctan(h/2f)。我们就可以根据内部设计h和f的参数来调节FOV。
而人们规定了假设所有相机都是用35mm的胶片大小,也就是上面说的传感器大小h固定了,那么我们只需要通过定义f的不同就可以定义视场的大小,在透镜相机里,f就是焦距。所以,焦距短,视场就大,反之视场就小。这里注意我们说所有相机都是用35mm的胶片大小,并不是真的所有相机它的胶片大小都是35mm,这里指的是一种等效的大小。
而视场越窄,我们能看到的就越远。如上图
同样的传感器也有不同的大小,更大的传感器也就有更大的分辨率,当然也越贵。对于手机,虽然它的传感器大小小于相机,但是人们通过缩小它的焦距,可以达到和相机一样的视场大小。
6.Exposure—曝光
Exposure,曝光,计算公式Exposure=Time x Irradiance。也就是说如果我们对一个明亮的场景拍照会拍到一个明亮的照片,如果我们对着一个黑暗的环境拍照,但是按下的快门时间很长,我们也可以得到一个比较明亮的照片。也就是说一个是进了多少光,一个是进光进了多长时间,我们将它们累积起来就可以得到曝光度。照相和辐射度量学不同,我们在辐射度量学中总是定义单位时间,但是照相并不是单位时间内发生的它记录的是总共的能量。
那么有哪些东西决定曝光呢?首先是光圈的大小,光圈的大小决定了进光的多少,而它实际上是一个仿生学的设计,仿照的是人的瞳孔。第二个就是快门,快门开放的时间,开放时间越长进光自然也就越多。还有一个是ISO感光度,它相当于是一个后期处理,简单的说就是接受到的能量我们将它放大多少倍,也就是乘上一个数。
上图表示不同因素对照片的影响,其中包括F数,它表示光圈的大小,F数越小代表光圈越大。还要快门时间,Shutter Speed,也就是快门开放多长时间。ISO数值越大,乘的数就越大。
(1)ISO
ISO我们之前说了,就是一个简单的后处理,在最后的图片上加一个增益多少倍,而且它是线性的,ISO200一定就是ISO100的两倍。
但是ISO虽然能提升画面的曝光度,但是会导致噪声放大的问题,如上图。从信号的角度理解,我们拍出的照片一定是有噪声的,但是最终我们ISO的操作只是简单的在最后结果上乘了一个数,信号虽然被放大了,但是噪声同样的也被放大了。所以ISO在一定范围内是可以用的,但是过大就会导致噪声问题。
(2)光圈大小—F stop
光圈也是我们说的影响曝光的重要因素之一,描述光圈的大小有一个专门的数,叫F数,或者F stop。它有两种写法,一个是FN,另一个是F/N。N是我们关心的数。现在,我们可以简单的理解为N就是光圈直径的倒数。
(3)快门
快门时间除了会影响曝光度,还会影响一个现象叫做运动模糊。我们知道我们按下快门键,快门从关闭状态到打开状态是有一个过程的,它并不是瞬间打开的,而运动模糊的产生就是在快门从开始打开的时候物体开始运动,到快门完全打开的时候它已经运动了一段时间而产生的。因此,我们的曝光时间越长,运动模糊就会越严重,而如果曝光时间相同,那么运动的越快的物体越容易产生运动模糊。
快门时间还会造成一种Rolling shutter问题,如上图,我们发现飞机的螺旋桨扭曲了。这同样是快门时间导致的,快门打开的过程中,传感器的有些地方先接收到了光,有些低方后接收到了光,于是导致了这种现象。
通过调节影响曝光度的不同因素,我们可以取到很多不同参数而达到相同曝光度的参数。当然它们只是曝光度相同,至于景深,噪声,运动模糊仍具有各自参数的影响。
高速摄影和低速摄影
上图展示的是高速摄影和低速摄影,高速摄影就是用极短的快门时间,但是通过调大光圈和ISO来达到正常曝光度但是拍摄下高速运动的效果。低速摄影,又叫延时摄影,相反的就是用很长的曝光时间和小光圈来拍摄,会产生拉丝的效果,实际上就是运动模糊,能拍摄出显现长时间积累的效果。
二、透镜
实际的透镜和透镜是非常复杂的,包括相机和手机,它们都是用一组各种各样的棱镜来实现的。还有一些透镜如上图,它一半是凸的一半是平的,也就是说它不可能把光聚到一块。我们这里讨论的是一种理想化的薄透镜。
关于薄透镜,我们有几个性质,1.平行光穿过一定会被聚焦到一个点上,我们叫它焦点。2.焦点到透镜中心的距离就叫做焦距,同时光路可逆也就意味着一个聚光从焦点发散打到透镜会被变成许多平行光。3.我们认为这个薄透镜的焦距是可以随时更改,但实际上薄透镜的焦距是已经固定了的,但是我们这里仍然人为它可以更改,因为我们近似的是相机的棱镜组,相机的棱镜组可以改变组合形式来改变焦距。
除了上面的性质,还有一个性质就是,光线从透镜中心穿过不改变方向。同时我们定义物体到透镜的距离,物距z0,成像到透镜的距离zi,焦距f,就可以得出如上的规律等式关系。
推导过程也很简单,如上图所示。
1.Defocus Blur—散焦模糊
Computing Circle of Confusion (CoC) Size—弥散圆
散焦模糊可以解释景深的问题,我们引入一个概念叫COC,一个物像在的位置我们管他叫Focal Plane,通过透镜后会聚焦到一点,但是如果我们的成像平面不在这个点上,比如在后面,那么光线并不会停止前进,而是继续前进而发散,会形成一个圆,这个圆就是弥散圆。弥散圆的大小也很好计算,同样根据相似三角形得出上面的式子。如果我们固定这个值,我们会发现,COC的大小和透镜的直径大小A有关。
这也就告诉我们,大光圈会看到更模糊的图像,而小光圈的照片更清晰,如上图。
现在我们来明确一下光圈的F数的明确定义,它是焦距/光圈的直径,和我们之前说的光圈直径的倒数有关系,但是它和焦距也有关系。
明确了F数的定义,那么我们之前说COC大小和A有关,而N又等于f/A,那我们也可以得出另外一个计算COC大小的式子,也就是把A换成f/N。也就是说COC和F数有一个反比关系。
2.Ray Tracing Ideal Thin Lenses—薄透镜光线追踪
我们之前所说的Path Tracing实际上是默认了小孔成像的模型。而根据我们前面的介绍,我们知道光线是如何与透镜作用的,那我们自然可以模拟透镜去做渲染。首先我们先定义一些关于透镜的参数,比如成像平面的大小,棱镜的焦距,光圈的大小。然后规定透镜放到离场景中的某个平面的距离z0。然后根据透镜公式,我们自然知道像距zi。
我们现在成像平面上个找一点x',然后在透镜上找一点x'',根据公式我们就知道,这条经过透镜的光线会打到哪一个点x''',然后我们连线x''和x''',得到它的Radiance,最后记录在x'上就可以了。
3.Depth of Field—景深
我们之前说COC会导致模糊,也就是大光圈会导致大的COC,也就会更模糊,但是总有一些地方是不模糊的,模糊有一个范围,那么怎么定义这个范围呢?这就需要景深。
景深 ,我们可以这么理解,就是在我们拍摄的物体前后有一段深度,它相应的在成像平面附近也会形成一片区域,这片区域的弥散圆足够小,小到和我们成像的像素差不多,也就是我们看上去是清晰的不模糊的,那么物体前后那段深度就叫做景深。
景深的图示和计算公式