这里回顾GAMES101 Lecture 19,相机,透镜和广场。

课程主页:

课程作业:

课程视频:

引子

生成图像有两种方式:

  • 合成:呈现自然界中不存在的事物;
  • 捕捉:把现实生活中存在的事物变成照片;
    • 最常见的例子就是相机;

小孔成像和透镜成像

相机部件简介

快门

快门是控制光能否进入到机身的部件:

传感器

传感器捕捉光并记录:

传感器的作用是什么呢?考虑如下例子:如果一个相机没有透镜和针孔,那么是否能拍照呢?这是不可能的,因为如果把传感器(感光元件)放在物体/人面前,那么传感器的每个像素都能收集到来自不同方向的光,而这个像素无法区分来自各个方向的光线——把来自各个方向上的光综合在该像素上,即IRadiance:

针孔相机(小孔成像原理)

针孔相机历史很久远:

实际效果:

针孔相机拍的照片的特点是没有深度,每个位置都很清楚,看不到虚化的地方。

Field of View (FOV, 视场)

视场描述看到的范围:

视场的计算公式如下:

参数含义:

  • $h$:传感器尺寸;
  • $f$:焦距;

从上图中可以看出,对于固定的传感器尺寸,减小焦距会增加视场。

焦距和视场

  • 视场定义涉及到传感器尺寸和焦距;
  • 由于历史原因,通常用35mm格式胶片 (36 x 24mm) 上使用的镜头焦距来指代视场角;
    • 即传感器尺寸为35mm;
  • 35mm 格式的焦距示例:
    • 17mm为广角104°;
    • 50mm是“普通”镜头47°;
    • 200mm为长焦镜头12°;
  • 当我们说手机具有大约28毫米的“等效”焦距时,就使用了上述约定;

不同视场的效果:

传感器大小对于视场的影响

减小传感器,视场也会变小:

如何在小传感器上保持FOV

为了保持FOV,如果传感器变小,那么调低焦距即可:

曝光

  • $H = T\times E$
  • 曝光 = 时间 x E(irradiance)
    • 对着明亮的场景拍照,结果也会亮一些;
    • 对着暗的场景拍照,增加曝光时间,结果也会比较亮;
  • 曝光时间(T)
    • 由快门控制;
  • irradiance(E)
    • 落在传感器单位面积上的光功率;
    • 由镜头光圈和焦距控制;

如何在摄影中控制曝光

  • 光圈大小
    • 光圈是挡光的装置;
    • 光圈是一个仿生学装置:模拟人的瞳孔。在亮处,人的瞳孔会缩小;在暗处,人的瞳孔会放大;
    • 通过打开/关闭光圈来改变光圈值(如果相机有光圈控制);
    • 用F数表示,数越大,光圈越小;
  • 快门速度
    • 改变传感器像素接收光的持续时间;
  • ISO增益 (感光度)
    • 后期处理:缩放最后的结果;
    • 更改传感器值和数字图像值之间的放大率;
    • 同时会增加噪声;

效果:

ISO

  • 曝光的第三个变量;
  • 数字:用噪音换取敏感度;
    • 在模数转换之前乘以信号;
    • 线性效果(ISO 200是ISO 100两倍);

效果:

F数

F数写成FN或者F/N,其中N是F数,可以理解为光圈直径的倒数:

快门速度

快门速度影响曝光时间。

快门速度的其他影响

运动模糊:在快门打开的时间内,物体发生了移动,最后拍照的结果会模糊。

运动模糊并不总是不好的,例如下左图较模糊,可以感受到速度更快:

另一方面,运动模糊可以起到反走样的作用。

滚动快门:在不同时间拍摄的照片的不同部分:

F数和快门速度

如下这些光圈和快门速度对提供等效曝光:

  • 如果曝光太亮/太暗,可能需要调整光圈和/或增加/减少快门;
  • 摄影师必须权衡景深和移动主体的运动模糊;

高速和慢速摄影

高速摄影

高速摄影是指每秒拍更多的照片,即快门时间很少,要使得曝光度正常,就要使用更大的光圈或更高的ISO:

低速(延时)摄影

用更长的时间拍一张帐篷,即快门时间很长,要使得曝光度正常,可以使用更小的光圈:

薄透镜近似

真实的镜头设计非常复杂,使用棱镜组进行成像:

真实的透镜不是理想的,镜头不会将光线会聚到一点:

理想的透镜满足如下性质:

  • 进入镜头的平行光都通过其焦点;
  • 所有通过焦点的光线,经过透镜后都是平行的;
  • 焦距可以任意改变;
    • 实际中可以做到;

示意图:

薄透镜公式:高斯射线图

$z_o$是物距,$z_i$是像距,$f$是焦距,满足如下公式:

利用相似三角形即可证明:

等式:

做等价变换可得:

利用透镜可以解释一些现象,首选解释照相时为什么一些位置很模糊。

Defocus Blur

假设我们希望拍摄的物体在Focal Plane,成像结果在Sensor Plane,其他物体上的某个点在Object位置,根据公式可得成像的位置在Image位置,而成像平面在Sensor Plane,所以延长后可得线段C,即一个点对应一个线段,所以结果会模糊。之前讨论的是二维的结果,在三维就是一个圆,这个圆被称为Circle of Confusion (CoC) ,使用这个名字是因为圆内的点无法区分从哪里来的,计算公式:

其中A是Aperture Size ,即透镜大小。上述公式告诉我们,光圈越大,看到的物体越模糊:

回顾F数

  • 正式定义:镜头的F数定义为焦距除以光圈直径;
  • 真实镜头上的常见光圈值:
    1.4, 2, 2.8, 4.0, 5.6, 8, 11, 16, 22, 32
  • F数2有时写成f/2,反映了光圈直径(A)可以通过焦距(f)除以相对孔径(N)来计算这一事实;

计算示例:

COC和F数的关系

这说明要拍更清楚的照片,需要更小的光圈。

光线追踪理想薄透镜

之前光线追踪都是使用小孔成像,现在可以利用透镜渲染如下结果:

将Defocus Blur和光线追踪结合

棱镜设置:

  • 选择传感器尺寸、镜头焦距和光圈大小;
  • 选择深度$z_o$;
    • 从薄透镜方程计算传感器对应的深度$z_i$;

示意图:

渲染:

  • 对于传感器上的每个像素$x’$(实际上是胶片);
  • 在镜头平面上采样随机点$x’’$;
  • 穿过镜头的光线会击中$x’’’$(因为$x’’’$在焦点上,考虑虚拟光线($x’$和镜头中心的连线));
  • 估计射线$x’’ -> x’’’$上的radiance;

景深

光圈大小会影响模糊的范围,这个范围需要用景深描述:CoC足够小的区域:

计算公式: