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

  • 1 关于成像
  • 2 相机
    • 2.1 小孔成像
    • 2.2 快门与传感器
    • 2.3 针孔相机
    • 2.3 视场 Field of View (FOV)
    • 2.4 曝光 Exposure
    • 2.5 ISO
    • 2.6 光圈
    • 2.7 快门
  • 3 薄透镜近似
    • 3.1 薄透镜方程
    • 3.2 解释 Defocus Blur ——景深的原因
    • 3.3 F数
    • 3.4 在光线追踪中使用薄透镜近似
  • 4 景深 Depth of Field
  • 5 光场 Light Field / Lumigraph
    • 5.1 全光函数 The Plenoptic Function
    • 5.2 采样全光函数 Sampling Plenoptic Function
    • 5.3 光场相机

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 在光线追踪中使用薄透镜近似

以前的光追我们的相机用的是一个小点,默认小孔成像
但是我们可以用薄透镜近似做出景深效果

  • 一种在光追中进行景深效果的做法:
    选择传感器尺寸、镜头焦距和光圈大小
    给出物距Z0Z_0Z0​
    根据焦距计算像距Z1Z_1Z1​

    我们做渲染时:
    对于 传感器上的每个像素x′x'x′ 以及 在透镜平面上随机采样的一点x′′x''x′′
    把这两点连一条线,连上以后就能知道会打到物体的位置x′′′x'''x′′′
    我们得到这个光线,知道物体的位置x′′′x'''x′′′最终会被记录到x′x'x′上
    所以我们计算x′′′→x′′x'''→x''x′′′→x′′的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

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

  1. Games101笔记——Lecture 19:Cameras, Lenses and Light Fields

    Lecture 19:Cameras, Lenses and Light Fields 独立的内容:相机.棱镜和光场 图形学中两种成像的方法:光栅化和光线追踪 但他们在自然界中并不存在 简单的成像方法 ...

  2. GAMES101课程学习笔记—Lec 14(2)~16:Ray Tracing(2) BRDF、渲染方程、全局光照、路径追踪

    GAMES101课程学习笔记-Lec 14(2)~16:Ray Tracing(2) BRDF.渲染方程.全局光照.路径追踪 0 引入--辐射度量学概述 1 相关概念 1.1 Radiant Ener ...

  3. GAMES101课程学习笔记—Lec 02:Linear Algebra 线性代数回顾

    GAMES101课程学习笔记-Lec 02:Linear Algebra 线性代数回顾 0 图形学的依赖学科 1 向量 1.1 点乘 1.2 叉乘 2 矩阵 本节课知识比较基础,大学课程里应该都学过, ...

  4. Lec19 Cameras, Lenses and Light Fields 相机,棱镜和光场

    Lec19 Cameras, Lenses and Light Fields 相机,棱镜和光场 成像方法 合成方法(Synthesis) 光栅化 光线追踪 捕捉方法 (Capture) 比如相机 相机 ...

  5. Games101 计算机图形学课程笔记:Lecture 19 Cameras, Lenses and Light Fields

    目录 相机 快门与传感器 针孔相机 视场 Field of View(FOV) 曝光 Exposure ISO 光圈 快门 薄透镜近似 Thin Lens Approximation 薄透镜方程 De ...

  6. Games101计算机图形学笔记L19 Cameras,Lenses and Light Fields

    L19 Cameras,Lenses and Light Fields 合成与成像不同,一个不是实际存在一个实际存在 传感器记录的是irradiance 针孔相机 做不出景深的效果 曝光 ISO是后期 ...

  7. Lecture19_相机、透镜与光场(Cameras, Lenses and Light Fields)_GAMES101 课堂笔记

    目录 第一部分:相机成像基本知识 一.Pinhole Image Formation(针孔的图像形成) 二.Field of View (视场,FOV) 第二部分:Exposure(曝光) 一.ISO ...

  8. cs224w(图机器学习)2021冬季课程学习笔记8 Colab 2

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 VX号"PolarisRisingWar"可直接搜索添加作者好友讨论. 更新日志: 20 ...

  9. cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Heterogeneous Graphs and Relational GCN (RGCN) ...

最新文章

  1. 高精度矢量汉字的一种填充方法_使用PS中的钢笔工具制作一只蝴蝶矢量插画
  2. 知识图谱在互联网金融中的应用
  3. android9怎样适配nfc,android – 如何使用NFC动作
  4. [翻译中] 使用Wayland替代X, 大幅提高图形速度
  5. C语言实现文件类型统计函数
  6. 使用PO+跨平台改造Macaca示例(APP端)
  7. 液晶8K电视也能打造家庭影院?一起“宅”过电影情人节吧
  8. SQL学习笔记(03)_BETWEEN 操作符
  9. SAP的增强(enhancement)
  10. Golang基础(1)
  11. 34.UCASE() LCASE() 函数
  12. word自动生成目录 页码不能右对齐问题
  13. 超级好的6款办公软件,你用过几款呢?
  14. python pyecharts 下载生成的render图片 下载背景为黑色
  15. [Java]源码角度深入理解哈希表,手撕常见面试题
  16. 常见的数组及对象常用方法
  17. 2Broke Girls·破产姐妹的简要介绍
  18. oc指针和c语言区别,C 指针和OC 对象之间的转换方法
  19. HBuilderX配置Git插件
  20. cesium加载cgcs2000\wgs84坐标系解决方式

热门文章

  1. 计算机如何连接隐藏的无线网络,电脑怎么加入隐藏用户名的WiFi?(如何连接隐藏wifi)...
  2. 过目不忘 JS 正则表达式
  3. 育碧2k微软服务器,2K工作室更名-2K Games,育碧,全境封锁2 ——快科技(驱动之家旗下媒体)--科技改变未来...
  4. 未来的计算机作文600字想象,科技想象作文600字
  5. C++之获取本机Ip地址 CString 可直接使用
  6. 亚马逊站内deal申请条件你都知道?
  7. MPLS *** 故障排查详解—Yeslab 彭Sir笔记
  8. 服务器游戏延迟,Albion游戏延迟高解决办法
  9. mysql select 导出数据 加分隔符
  10. unity探索者之Shader Graph所有节点详解-Master篇