GAMES101课程学习笔记—Lec 19: Cameras, Lenses and Light Fields 相机、透镜、光场

1 关于成像

我们之前讲了两种成像方法,一种是光栅化成像,一种是光线追踪成像,但其实这都相当于是用合成的方法来成像。
我们不止可以用合成的方法,我们还可以用捕捉的方法来成像
Synthesis: 用合成的方法来成像
Capture: 捕捉真实世界来成像,最典型的是相机成像
有一些在研究的其他成像方法,比如 Transient Imaging: 研究光在极短时间内的传播
整个Imaging的范畴更多是在 Computational Photography: 计算摄影学 中做研究
在这里插入图片描述

2 相机

通过相机的截面图我们看到内部的构造,有很多透镜
在这里插入图片描述

2.1 小孔成像

  • 最早的时候人们研究相机从小孔成像开始,利用小孔成像的相机叫做针孔相机
    在这里插入图片描述

2.2 快门与传感器

  • 快门控制光进入相机
    在这里插入图片描述

  • 传感器捕捉光并记录下来(记录 Irradiance)
    在这里插入图片描述

  • 如果没有透镜,相机就拍不了了
    因为如果直接把感光元件放在一个人的面前,感光元件上任何一个点都可能收集到不同方向过来的光,而且作为传感器的它不会区分来自各个方向的光线,所以会糊
    在这里插入图片描述

2.3 针孔相机

  • 利用小孔成像原理制作的相机就是针孔相机
    在后面的学习后,我们会了解到,针孔相机拍出的东西是没有深度可言的
    也就是任何地方都是锐利清楚的,都不会是虚化的
    因为透镜的存在所以会产生虚化,这个之后会提到
    并且我们之前做光线追踪的时候用的就是针孔相机的模型,所以我们也得不到景深的模糊效果
    所以如果我们可以模拟光线和透镜的作用,那么我们也可以作出景深的渲染效果
    在这里插入图片描述

2.3 视场 Field of View (FOV)

  • 视场说的是能看到多大的范围
    h: 传感器高度(宽度)
    f: 焦距,传感器与 透镜/小孔 的距离
    在这里插入图片描述

  • 不同的视场有不同的拍照结果
    我们知道视场大小与 传感器大小以及焦距有关系
    有两个因素的话,我们定义视场不太好定义
    所以现实中人们是以35mm的胶片为基准,通过定义焦距来定义视场
    所以市场上买单反镜头的时候有焦距的区别
    在这里插入图片描述

  • 同样大小的传感器,焦距越大,视场越窄
    同样焦距,传感器越大,视场越宽
    同样视场,焦距和传感器等比
    在这里插入图片描述

  • 传感器Sensor和胶片Film不一定一样
    平时两者等价
    在渲染器里面,Sensor收集irradiance,Film决定存成什么样的格式
    在这里插入图片描述
    在这里插入图片描述

2.4 曝光 Exposure

  • 曝光记录的是总共的能量,是T×E
    曝光时间T由快门控制
    Irradiance(E)由光圈与焦距决定
    在这里插入图片描述
  • 控制照片亮与不亮的三要素:光圈、快门、感光度
    光圈是个挡光的东西,有大小,由F数控制,光圈是一种仿生学的设计,仿照人的瞳孔放大缩小
    快门速度是快门开放的时间
    感光度是后期处理,接受到多少光加个倍数,在硬件上调整是调节传感器灵敏度,或者软件上调整数字信号
    在这里插入图片描述
  • 三者的关系如图,造成虚实的相片
    F数越小,光圈越大
    快门时间为秒数’
    ISO我们理解为倍数,从信号上理解,ISO放大的时候,噪声和信号一起放大,所以可能会遇到让图片有噪点的问题
    在这里插入图片描述

2.5 ISO

  • ISO我们理解为增益,当做在最后结果上乘一下
    在这里插入图片描述
  • ISO做简单放大的同时也会放大噪声
    在这里插入图片描述

2.6 光圈

  • 用F数表示光圈,我们暂时简单理解F数为光圈直径的导数
    在这里插入图片描述

2.7 快门

  • 快门一开始关闭,后来升上去,等一会,然后关上
    在这里插入图片描述
    更长的曝光时间/更快的物体运动速度 容易造成运动模糊
    类似于在时间上采样
    在这里插入图片描述
    快门开启需要时间,这个会造成高速运动物体的扭曲
    在这里插入图片描述
  • 进光量~F-Stop² / Shutter Speed
    (F数理解为直径分之一,与面积是平方关系,所以为了曝光量平衡,与快门速度也是平方关系)
    即使比例关系做对了
    但是大光圈会有浅景深的效果,快门时间会导致运动模糊等效果,需要权衡
    在这里插入图片描述
  • 应用:
    高速摄影,每秒极高帧率,快门时间受限需要用更大光圈或者高ISO
    延时摄影,快门时间很长,光圈变小

3 薄透镜近似

  • 目前的相机都用透镜组来控制成像
    在这里插入图片描述
  • 真实的透镜并不那么理想,有些透镜无法将光线聚于一点 出现 Aberrations
    在这里插入图片描述
  • 我们研究近似的是理想化的透镜:
    所有进入透镜的平行光线都通过透镜的焦点
    穿过焦点的所有光线在通过透镜后将是平行的
    焦距可以任意改变(实际上用透镜组改变焦距)
    在这里插入图片描述

3.1 薄透镜方程

  • 关于这个原理,在高中物理都学过,从下面示意图可以了解
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.2 解释 Defocus Blur ——景深的原因

  • 为了解释景深,我们引入Circle of Confusion (CoC)
    左边有一个Focal Plane,其上的东西会成像到Sensor Plane上
    如果Object不在Focal Plane上,如下图可能会聚焦在Image上,然后光线继续传播到Sensor Plane上,这时候在Sensor Plane上形成的圆就是CoC
    在这里插入图片描述
  • CoC告诉我们看到的东西模糊不模糊,取决于光圈的大小,大光圈容易有模糊的效果
    在这里插入图片描述

3.3 F数

  • 因为说CoC大小与光圈成正比,所以我们回头看光圈
    之前我们说F数它是直径分之一,其实不对
    F数的明确定义是焦距除以直径
    在这里插入图片描述
    以下是一些例子
    在这里插入图片描述
    在这里插入图片描述

3.4 在光线追踪中使用薄透镜近似

以前的光追我们的相机用的是一个小点,默认小孔成像
但是我们可以用薄透镜近似做出景深效果
在这里插入图片描述

  • 一种在光追中进行景深效果的做法:
    选择传感器尺寸、镜头焦距和光圈大小
    给出物距 Z 0 Z_0 Z0
    根据焦距计算像距 Z 1 Z_1 Z1
    在这里插入图片描述
    我们做渲染时:
    对于 传感器上的每个像素 x ′ x' x 以及 在透镜平面上随机采样的一点 x ′ ′ x'' x
    把这两点连一条线,连上以后就能知道会打到物体的位置 x ′ ′ ′ x''' x
    我们得到这个光线,知道物体的位置 x ′ ′ ′ x''' x最终会被记录到 x ′ x' x
    所以我们计算 x ′ ′ ′ → x ′ ′ x'''→x'' xx的radiance就可以了在这里插入图片描述

4 景深 Depth of Field

经过以上的学习,我们可以来正式定义景深的概念
我们发现使用大小光圈可以控制模糊的范围,我们来研究一下这个范围
在这里插入图片描述

  • 这段范围是怎么一回事呢?
    我们可以看到有光经过透镜会打到某一个成像平面上
    在这个成像平面的附近一段区域内,我们认为CoC是足够小的
  • 景深就是我们认为场景中有一段深度
    这段深度经过透镜后会落在成像平面附近的这段CoC足够小的区域内,也就是足够清晰的
    (可以简单理解成只要CoC比像素小或者差不多,画面就是清晰的)
    在这里插入图片描述
  • 考虑景深的最远处和最近处,推一下公式,把这些深度和焦距联系起来
    也就是某个位置穿过透镜会到某个地方
    在这里插入图片描述
    在这里插入图片描述

5 光场 Light Field / Lumigraph

Light Field / Lumigraph 两个词指同一东西,属于历史遗留问题,是由两个组独立几乎同时发现的同样东西,叫法不一样
要说光场,我们就从看到的世界是什么说起

  • 我们看到这个三维世界,在我们眼睛里类似就是一幅图
    那如果我们直接看到一幅图,这幅图完全记录了之前看到的光线信息,我们也能得到同样的结果
    这也是类似虚拟现实的原理,用一个平面的成像设备,让人误以为在三维环境中
    在这里插入图片描述

5.1 全光函数 The Plenoptic Function

我们可以描述人看到的东西,用的就是全光函数
在这里插入图片描述

  • 最简单的全光函数,我们假设在一个场景中,位置固定,我们可以四面八方地去看
    用极坐标可以定义我们的方向
    也就是得到了计算我们往某个方向会看到什么值的函数
    在这里插入图片描述
  • 我们加以改进,在函数中引入波长
    我们往某个方向可以看到某个波长的光
    也就是我们引入了不同的颜色
    在这里插入图片描述
  • 我们继续扩展,加入时间 t ,这也就是电影
    在这里插入图片描述
  • 进一步扩展,位置不固定,我们可以在三维空间中任意移动,这也就是全息电影
    在这里插入图片描述
  • 我们不把这个函数当做电影
    我们把它理解为在任何位置,往任何方向看,在任何时间看到的颜色
    这就是我们能看到的东西,我们看到的世界是一个七个维度的函数——全光函数
    在这里插入图片描述

5.2 采样全光函数 Sampling Plenoptic Function

  • 光场其实就是全光函数的小部分,在定义光场前我们先定义光线
    在这里插入图片描述
    要想定义一条光线需要的是二维的位置和二维的方向(在下面会阐述)
    在这里插入图片描述
  • 要记录一个物体向四周展示的样子,只需要记录包围盒上表面各个点往各个方向发射的光线的信息
    这也就是光场记录的东西
    在物体表面任何一个位置往任何一个方向去的光线的强度
    怎么理解二维的位置与二维的方向呢?
    物体的表面是二维的,方向也是二维的,所以用这个四个信息当变量的函数就是光场
    在这里插入图片描述
  • 我们把物体变成光场,记录下光场后也就相当于记录下了物体的观测
    在这里插入图片描述
  • 我们还可以理解成我们取一个平面,平面右边是一个物体,它的光会穿过这个平面来到左边
    我们不需要知道右边有什么,我们只需要知道对于平面上任意一个点的任意一个方向会发出什么
    在这里插入图片描述
  • 我们用两个平面来定义光场,便于降维
    也就是从上面的 位置+方向 变成 位置+位置
    两个平面两点一连就得到一个光线
    在这里插入图片描述
  • 这也就是光场参数化的过程,用uv与st来组合
    在这里插入图片描述
  • 固定(u,v), 所有的(s,t)组成一张image,也就是从(u,v)点看到的外部世界的样子
    固定(s,t), 所有的(u,v)组成一张image,也就是显示从不同方向看同一个点的样子
    在这里插入图片描述
  • 现实中也有人用这种方式记录光场
    并且自然界中苍蝇的复眼就是记录光场——我们在照片中任意一个像素记录的是irradiance,不区分方向,但是对于复眼来说,它们记录的分光之后的分量,也就是记录的是radiance
    在这里插入图片描述

5.3 光场相机

微透镜原理光场照相机,最重要的功能:支持先拍照,后期再重新聚焦在这里插入图片描述

  • 原理就是光场的原理
    把原本的像素换成了微透镜,把光分散到不同方向上去然后再记下来
    在这里插入图片描述
  • 光场照相机的图怎么还原成普通相机呢?
    我们把分散的光,每个透镜都选一条,然后把得到的结果都记录在一个像素的结果上,现在一个透镜就对应一个值了,和之前一样
    选光线的步骤就相当于是重新聚焦,虚拟地移动相机的位置
    我们不涉及重新聚焦具体怎么做,只介绍思想,我们从四维光场中按需查询选取光线
    在这里插入图片描述
  • 光场照相机也有问题
    分辨率不足,因为原来一个位置可能只需要一个像素,但是透镜把光分开以后,可能会需要好几个像素来记录不同方向的光,同样的胶片尺寸下,光场相机的分辨率不足
    高成本、难设计
    再次体现trade-offs
    在这里插入图片描述
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值