Games101_相机、透镜与光场 Cameras, Lenses and Light Fields_19
本文最后更新于13 天前,其中的信息可能已经过时,如有错误请留言

1 成像=合成+捕捉 Imaging = Synthesis + Capture

  • 我们之前所说的光栅化成像和光线追踪成像都相当于是在用合成的方法成像
    • 由计算机根据算法、数学模型、物理参数,自己计算出每一个像素的颜色和亮度,最终 “拼” 出一张图
  • 我们不光可以用合成的方法,也可以用捕捉的方法成像,一种朴素的理解是:capture就是捕捉真实的世界然后变成照片,用相机拍照就是一种很简单的利用capture的方法成像的行为

我的理解是只要是计算机渲染的都是合成的,只是为了实现合成不出的效果,比如景深,我们需要知道现实中的成像原理,进而模拟出原本我们做不到的效果

2 相机 Camera

2.1 相机构造 What’s Happening Inside the Camera?

  • 小孔、透镜将像呈在传感器上 Pinholes & Lenses Form Image on Sensor 
  • 最早人们就是由小孔成像来研究相机的
  • 快门控制光进入传感器精确的曝光时间 Shutter Exposes Sensor For Precise Duration 
  • 快门可以控制光进入相机传感器的时间
  • 传感器上每个点都会记录来自各个方向的光的信息,所以传感器记录的是irradiance(目前也有研究记录radiance的传感器,但目前认为只能记录irradiance)
  • 如果没有透镜和小孔,直接用传感器记录光线,不能得到正确结果,因为传感器并不区分来自哪个方向的光线,导致传感器上一个点记录了所有方向的光线,非常杂乱,得到的只会是一团浆糊

2.2 针孔相机 Pinhole Camera

  • 针孔相机成像是没有景深的,我们做光线追踪的时候用的也是针孔相机,所以也是无法产生景深模糊的,如果我们能模拟光线与透镜的作用,那么我们也可以得到有景深的画面(只是我们将成像平面移动到了孔的前面)

2.3 视场 Field of View (FOV)

对于固定的传感器尺寸,减小焦距会增加视野 For a fixed sensor size, decreasing the focal length increases the field of view $$FOV = 2\arctan\left(\frac{h}{2f}\right)$$

视场与传感器大小和焦距都有关系,所以人们通常规定以 35mm 格式胶片 (36 x 24mm) 上使用的镜头焦距来表示视场角 For historical reasons, it is common to refer to angular field of view by focal length of a lens used on a 35mm-format film (36 x 24mm)

相同传感器不同焦距成像 & 相同焦距不同传感器大小

如果要在小传感器上保持FOV,则需要按传感器宽度/高度的比例减小镜头焦距

2.4 曝光 Exposure

  • H = T x E
  • Exposure = time x irradiance
  • 曝光时间快门控制,irradiance光圈直径与焦距决定
  • 控制曝光的三要素:光圈数(包含A和f,后面会提)、快门、感光度 Aperture size, Shutter speed, ISO gain

Aperture size(光圈大小):通过开关光圈改变f-stop(光圈级数)。大光圈会模糊,小光圈更清晰

以下表格对应的光圈和快门速度可以得到几乎等效的曝光(比如光圈f4.0到f8.0光圈直径减小到1/2,面积变为原来的1/4,所以快门速度相应的要补偿4倍) Example: these pairs of aperture and shutter speed give equivalent exposure

2.5 感光度 ISO (Gain)

  • 感光度理解为在模数转换前对信号进行的后处理,相当于在对结果相乘 Multiply signal before analog-to-digital conversion 
  • 胶片:感光度会带来颗粒 Film: trade sensitivity for grain
  • 数码:感光度会带来噪点 Digital: trade sensitivity for noise
  • 感光度是线性的(ISO 200需要ISO 100一半的光) Linear effect (ISO 200 needs half the light as ISO 100)

2.6 光圈 F-Number (F-Stop): Exposure Levels

  • 光圈数f-number、 f-stop写作F/N( f/1.8、f/4、f/11)、N,本质上是一个比例编号,是在讨论
    焦距和开口大小的比值,不是在数“几个光圈”。 Written as FN or F/N. N is the f-number
  • 光圈数 = 焦距f / 光圈直径D,N越大对应对应光圈越小
    • aperture diameter 光圈直径
    • focal length 焦距

2.7 物理快门 Physical Shutter

  • 如果快门速度过慢,手持不稳或物体运动速度很快时容易产生运动模糊 Motion blur: handshake, subject movement
  • 运动模糊是因为快门打开的时间内物体发生了运动,传感器会把这个过程的光线都记录下来,并且传感器又有平均的效果,于是产生了运动模糊,也可以从反走样的角度理解,只不过拍照是在时间上采样 Tip: think about anti-aliasing

高速摄影与长曝光摄影 High-Speed Photography & Long-Exposure Photography

  • 高速摄影:特别小的曝光时间,短时间内拍摄许多帧照片,然后按正常速度播放。采用大光圈(光圈直径)提高亮度
  • 延时摄影: 特别长的曝光时间、小光圈

5 薄透镜近似(Thin Lens Approximation)

现在进入正题:

现在的相机基本都有很复杂的透镜组 Real Lens Designs Are Highly Complex

现实中的的一些透镜并不是我们假设的理想透镜,它无法将光线会聚到一点 Real plano-convex lens (spherical surface shape). Lens does not converge rays to a point anywhere

理想的薄透镜应该有以下性质 (用透镜组来实现)

  • 任意平行光穿过透镜会聚焦在焦点处
  • 任意光通过焦点射向透镜,会变为互相平行的光
  • 假设薄透镜的焦距可以任意改变

3.1 薄透镜方程 The Thin Lens Equation

  • 物距与像距倒数的和等于焦距的倒数
  • 相机是一组透镜,所以焦距可以调整,很明显也可以调整透镜与感光器的距离调整像距。
推导过程(相似三角形)

3.2 景深模糊 Defocus Blur

弥散圆CoC(Circle of confusion) 指的是物点成像时,由于像差,其成像光束不能会聚于一点,在像平面上形成一个扩散的圆形投影,与光圈大小成正比

光圈数大小是焦距除以光圈直径,光圈数大小直接与光圈直径成反比(相似三角形)
所以我们可以得到弥散圆与光圈大小间成反比 Size of CoC is Inversely Proportional to F-Stop

3.3 在光线追踪中使用薄透镜近似 Ray Tracing Ideal Thin Lenses

一般光线追踪使用的是针孔摄像机模型,但是如果想做出真实相机中的模糊效果,需要模拟薄透镜相机

一种在光追中进行景深效果的方法:

  • 选择传感器尺寸、镜头焦距和光圈直径 Choose sensor size, lens focal length and aperture size
  • 根据公式 \(\frac{1}{f} = \frac{1}{\mathcal{Z}_o} + \frac{1}{\mathcal{Z}_i}\),算出物体到透镜的距离 \(\mathcal{Z}_o\)
  • 渲染
    • 遍历每个感光器上的点 \(x’\) (视锥体近平面的每个像素),与随机在透镜平面选的的 \(x”’\)相交,连接两个点,可以得到光线是怎么样的
    • 光追每次仅一条 trace,因此在透镜平面随机采样一个点 \(x”\),以 \(x”\) 作为光线的起点。每个成像平面的像素的 SPP 一般都不为 1,比如采样 50 条,每次随机采样,那么基本上会覆盖到整个棱镜的各个部分。
    • 以 \(\frac{x”’ – x”}{\left|x”’ – x”\right|}\) 得到光线方向 \(\vec{d}\)
    • 计算最近交点,最终得到 radiance,记录到 \(x’\)

4. 景深(Depth of Field)

景深(Depth of Field, DoF):就是照片里,从 “最近清晰点” 到 “最远清晰点” 的一段距离范围。在这个范围内的物体都清晰,范围外的就会变模糊。

光圈的大小会影响模糊的范围,只有在Focal Plane上的物体可以清晰成像。

  • 焦平面Focal plane,也就是成像平面,在相机里是传感器,在渲染中是我们的屏幕,位置是固定不变的
  • 对焦平面(focus plane),是你现在对准的那个物体所在的平面→ 物距变,它就变
  • 镜头其实是在前后移动,调整像距,让清晰的像刚好落在焦平面上

场景中的深度范围,其中有一段CoC认为足够小,也就是足够清晰的(可以简单理解成只要CoC比像素小或者差不多,画面就是清晰的

考虑景深的最远处和最近处,推一下公式,就可以把景深与其他参数联系起来

5 光场 Light Field / Lumigraph

我们看到这个三维世界,在我们眼睛里类似就是一幅二维的图 ,那如果我们直接看到一幅图,这幅图完全记录了之前看到的光线信息,我们也能得到同样的结果(类似虚拟现实设备的应用)

5.1 全光函数 The Plenoptic Function

  • 全光函数可以描述我们可以看到的所有事物的集合 The Plenoptic Function
  • 从最简单的全光函数开始,我们假设在一个场景中,位置固定,可以四面八方地去看,则用极坐标可以定义我们的方向,全光函数描述了向某个方向看会看到什么样的值

引入波长,我们可以看到一个彩色的世界

引入时间,可以得到类似电影的概念

进一步扩展,位置不固定,我们可以在三维空间中任意移动,可以得到类似于全息电影的概念

我们还可以把它理解为在任何位置,往任何方向看,在任何时间看到的颜色,这就是我们能看到的所有东西,这个七个维度的函数就是全光函数

5.2 采样全光函数 Sampling Plenoptic Functio

首先来定义光线

  • 一般空间中的光线5D的:3D位置(x, y, z)+2D方向(θ, φ)定义
  • 其实光线可以由两个点确定一条直线来确定方向,光场中的光线为4D :2D位置+2D方向(θ, φ)

要记录一个物体向四周展示的样子,只需要记录包围盒上表面各个点往各个方向发射的光线的信息(radiance),也就是记录了其光场信息:在物体表面任何一个位置去向任何一个方向的光线强度

至此,我们其实并不关心物体是什么,当做黑盒,我只需要知道,从现在位置看过去,能看到什么。

记录下物体的光场后,就可以根据摄像机的位置查询其相应的光线强度。
可以通过定义一个平面上点和角度,也可以定义两个平面(分别是uv面和st面)上的点,通过两个坐标信息来表示,这是一个经典的参数化表示的方法

这样参数化有两种理解方式 

  • 一种是固定(u,v)  , 看所有的(s,t)  组成一张图,也就是表示了从不同点看到的外部世界的样子
  • 另一种是固定(s,t)  , 所有的(u,v)  组成一张图,也就是表示了从不同方向看同一个点的样子(把一个像素的irradiance展开为radiance)

现实中也可以用相机阵列(camera array)来采集光场。做法是在一个平面上摆放很多台相机或很多个镜头,让它们同时从不同位置观察同一个场景。这样,每一台相机都拍到一张略有视差的图像;把所有相机拍到的图像合在一起,就相当于记录了光场中的一部分信息。这里可以把相机阵列中每个镜头的位置理解为光场参数里的 (s,t),表示“从哪里看”;而每台相机图像中的像素坐标可以理解为 (u,v),表示“在这个视点下看到的哪条光线”

5.3 光场相机 Light Field Camera

光场相机最重要的功能是支持先拍照,后期再重新聚焦

光场相机的原理就是光场的原理,相当于把原本的像素换成了微透镜,把光分散到不同方向上去然后再记录下来,原来每个像素相当于只记录单位面积所接受的整体辐射量,不管光的方向是从哪个方向来的,现在一个像素内记录了各个方向的Reliance

任何一个圆内部,如果将各个光线的效果平均起来,就是普通照相机的效果

  • 如何将光场相机拍摄出的结果还原成类似于普通相机拍摄得到的结果 How to get a “regular” photo from the light field photo? 
    • 一个简单的例子——每个微透镜选一条光,然后把得到的结果都记录在一个像素的结果上,现在一个透镜就对应一个值了 A simple case — always choose the pixel at the bottom of each block
  • 更进一步——我们可以在每个像素内 选相同方向的光,然后得到不同的结果,相当于虚拟地移动摄像机得到的结果 Then the central ones & the top ones, Essentially “moving the camera around”
  • 后期改变焦距用到的也是类似的思想,需算出前后移动传感器,然后应该查询哪条光线,也可能对不同透镜查询不同位置的光线
  • 总之,正是因为光场相机记录了完整的光场信息,所以它有以上特性 In all, all these functionalities are available because the light field contains everything

光场相机的问题 Any problems to light field cameras? 

  • 同样尺寸的胶片,原来一个位置可能只需要一个像素,但是透镜把光分开以后,可能会需要好几个像素来记录不同方向的光,变成里原来空间上的分辨率乘以方向上的分辨率,对胶片的分辨率要求非常高 Insufficient spatial resolution (same film used for both spatial and directional information)
  • 光场相机微透镜很精密,实现起来成本高 High cost (intricate designation of microlenses)
学习笔记如有侵权,请提醒我,我会马上删除
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇