相机、视场和景深

2022/5/31 23:21:15

本文主要是介绍相机、视场和景深,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Cameras, Lenses and Light Fields(lecture 19)

内容:
  • Cameras
  • 针孔相机的成像
  • 视场 Field of View(FOV)
  • 曝光(度) Exopsure
  • Thin Lens Approximation
  • Ray Tracing IDEAL Thin Lenses
  • Depth of Field

图形学的两种成像方法:光栅化,光线追踪。当然这两种方法都是合成的方法,自然界并不存在。我们也可以通过捕捉方法进行成像,所谓的捕捉方法,即将自然界中真实的东西变成照片,最简单的捕捉成像方法就是相机。

avatar

Cameras

早期的相机研究是从小孔成像开始的,利用小孔成像原理与传感器(sensor)结合,最终就能得到一张相片。利用小孔成像原理的相机即pinhole camera
avatar
快门Shutter,能控制光在多长时间内(通常是多少多少分之一秒内)进入相机的部件。

avatar
传感器Sensor,光进入相机后捕捉光线并记录光线,且记录的是irradiance(没有方向性的),同时目前也在研究一些能记录方向性的光的传感器。

avatar

针孔相机的成像

早在公元前,就发现了小孔成像的原理,利用小孔成像原理的针孔相机拍出来的相片是没有深度可言的,各个地方都是清楚的,看不到虚化的地方。光线追踪用的就是Pinhole Camera的模型。

avatar

视场 Field of View(FOV)

所谓的视场,通俗上理解就是能看到多大的范围(类似广角等概念)

avatar
进一步,考虑相机的内部结果,利用小孔成像的原理,发现焦距与传感器大小会影响视场,当然,对于小孔成像并没有焦距的概念,仅仅是定义,利用内部设计去寻找影响FOV的因素(利用三角形的相似关系)。

avatar

avatar

通常在定义视场的时候,通常是以35mm的胶片为基准,通过定义焦距来定义FOV, 对于手机,胶片会有所改变。手机的参数是等效到35mm的胶片而言的。

avatar

控制变量,当焦距不变时,传感器的大小也会影响视场。

一般来说,都是控制传感器大小不变,用焦距去衡量视场。

通常情况下,不区分传感器与胶片。

但是在渲染中,传感器负责记录收到的irradiance,胶片负责存什么样的格式。

曝光(度) Exopsure

定义成H,H=T×E,进来多少光在时间上的累计,也就是能量的累计。

决定曝光的两个因素,T,E,T在相机中通过快门控制。E可以由光圈(aperture)、传感器控制。

avatar

曝光体现是能量的积累,直观的反映就是亮度,那么影响最后照片的亮度因素:

avatar

  • 光圈的大小(仿照人的瞳孔),F数来表示
  • 快门
  • 感光度(ISO gain)
    • 可以理解为线性的后期处理对应的能量,对应到信号中,ISO只是简单的放大信号,同时也会放大噪声。当用ISO使图片变亮时,对应的噪声也会变大。

avatar

光圈:

  • 描述单位,F数,非正式理解,光圈直径的逆,F数越小,光圈越大

avatar

快门:

  • 实际上,对于机械快门,它不可能在一个瞬间打开,会存在一个过程,这个过程的存在就会导致一些问题--运动模糊
  • 快门本身除了调节曝光度的效果,还有运动模糊现象。
    • 在快门打开的这段时间内,物体以及发生了一些移动,移动的中间效果也被记录了下来,经过传感器取平均后,便出现了运动模糊。
  • 在等长的快门打开时间内,物体运动速度越快,越容易出现运动模糊。
  • 运动模糊不一定是个坏事,有运动模糊能够使人感到更加的动感。
  • 运动模式也有一定的反走样效果
  • 如果是电子控制类的快门,确实可以做到瞬间打开,但是对于机械快门,一定有一段时间。
  • 当物体的运动速度极快的时候,就会形成扭曲。

avatar

通常情况下,控制快门打开时间缩短,一定程度上可以减少运动模糊现象。

但是另一方面,快门打开时间的缩短也会导致整体的亮度降低,这时候一般通过调节光圈来提升总体的亮度,通常情况下不考虑IOS,因为它会同步的放大噪声。

avatar

大光圈会影响景深的问题,而快门又会影响到运动模糊。二者彼此制约。

应用:

  • 高速摄影,每一秒要拍更多的照片,每一张照片对应的照片的快门时间会变小,又要考虑到曝光度,就要用更大的光圈,一般不考虑IOS,因为它会影响到噪声。

avatar

  • 延时摄影:特别长的曝光时间对应小的光圈,记录的就是运动模糊。(在摄影界中俗称"拉丝")

avatar

Thin Lens Approximation

讨论相机的这么多结构的中心目的就是建立一个模型,从而渲染一些对应的图片。

对于很多相机,它们的镜头都十分复杂,包含着透镜组。

avatar

我们希望去近似建立一种理想化的薄透镜,即使实际上可能并不是这种透镜。(图形学本身就极难做到与真实完全一致,很多时候都是通过一些手段去"欺骗"眼睛)

avatar

通常考虑的透镜模型:

平行光聚集光到某个交点,过交点最后变成平行光。此外,我们认为透镜的焦距是可以变化的(实际上相机中的透镜组作用也在于此)。

默认的透镜一些物理性质,以及物距,像距,焦距之间的关系(利用光路之间的相似三角形之间关系)。
对于固定焦距的透镜,物距改变,像距也一定改变。

avatar

为了解释模糊,引Circle of Confusion(CoC)

实际上,在物体成像的点和最终的胶片(传感器)之间有一段距离,考虑光线仍会继续传播,导致最终在传感器上并不是一个“锐利的点”,从而产生了模糊。

avatar

利用相似三角形的关系,在考虑传感器和实际成像的地方距离不变的情况下,COC的大小与透镜的大小是成正比的。

  • 通常情况下,透镜与光圈是不一样的,但是我们在此近似将透镜理解为光圈,实际上,二者的工作机理决定了确实能够这样近似。

光圈数值越大,意味着什么?

avatar

实际上,F数的定义是焦距除以光圈的直径,但是总之是定义光圈大小的。

avatar

进一步修改COC的公式发现,发现COC也与F数即N有关。

avatar

F数越小,光圈越大,导致的CoC越大,最终使得图片看起来更加模糊。

Ray Tracing IDEAL Thin Lenses

利用薄透镜进行渲染:
之前的渲染都是基于小孔成像的模型,在假设透镜的模型后,便可以渲染出模糊的效果(利用棱镜公式计算折射光线方向,记录对应的能量)

avagtar

avatar

Depth of Field

avatar
大光圈对应大的CoC,所以会更加模糊,但是总归在一些地方如焦平面(focal plane)是不模糊的,进一步,大光圈或者小光圈会影响到模糊的范围。

CoC越小,模糊的程度就越低。

avatar

因此我们认为,实际的场景中是有一段深度的,这段深度经过透镜之后会在成像平面的附近形成一段区域,在这段区域内,我们认为CoC是足够小的,也就是清晰的,也就是焦点在某个范围内中会呈现一个比较清晰的图形的距离,我们认为是这就是景深

avatar

reference:

[1] GAMES101-现代计算机图形学入门-闫令琪



这篇关于相机、视场和景深的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程