Games101-相机与透镜

news/2024/11/13 5:32:07/

在这里插入图片描述
成像:光栅化成像(上图)和光线追踪成像(下图)
都是用合成的方法来成像。还可以用捕捉的方法来成像
在这里插入图片描述
利用小孔成像原理制作的相机就是针孔相机
在这里插入图片描述
如果一个相机没有针孔/透镜,是无法拍照的。
因为任何一个点都有可能收集到来自不同方向上的光。这个点本身作为传感器是不区分来自各个方向上的radiance。则各个方向上能量都被收集到一起,该点收集到的是irradiance,而不是radiance。最终所有东西都是糊的。
传感器现在记录不了radiance,只能记录irradiance

Pinhole Image Formation

在这里插入图片描述
针孔相机拍出的东西是没有深度可言的。也就是任何地方都是锐利清楚的,都不会是虚化的。
做光线追踪时用的就是针孔摄像机的模型。所以也得不到景深的模糊效果。如果可以模拟光线和透镜的作用,那么也可以作出景深的渲染效果

Field of View (FOV)/视场

在这里插入图片描述
视场:能看到多大的范围
定义:我们认为传感器会感受到所有的光线
传感器高度定义为h
传感器和小孔间的距离(焦距)为f
在这里插入图片描述
通常认为是以35mm的胶片为基准,即传感器高度固定。通过控制焦距的大小,来控制视场大小

手机上所谓的28mm焦距只是等效35mm的传感器。实际上手机的传感器更小,因此焦距也更小
在这里插入图片描述
不同fov效果
在这里插入图片描述
减少传感器大小,fov减小。
平常认为传感器和胶片是一回事。但对于渲染来说,传感器负责记录每个像素收到的irradiance多大,
最后的film决定存成什么样的格式。两个概念可以不一样,只是目前混淆着使用
在这里插入图片描述
对于手机来说,焦距较小,使用较小的传感器达到相同的fov

Exposure/曝光

在这里插入图片描述
Exposure是irradiance乘time
记录的不是单位时间的而是总共的能量。
时间体现在相机里就是快门可以控制多长时间光可以进来
irradiance决定的其中一点是光圈的大小,光圈会影响到镜头接收到多少光
在这里插入图片描述
相机影响最后照片的因素:光圈大小(f-stop),快门开放时间,感光度(ISO是一个后期处理,当感光元件已经感知到某一层级的光,例如0.1,如果觉得暗,则把0.1乘以一定值。可以发生在硬件上,如传感都本身调节灵敏度,也可以在照片的数字信号上去调节)
在这里插入图片描述
不同因素的参数对应的效果
任何一个信号会有一个噪声,放大信号的同时,同样会放大噪声
在这里插入图片描述
iso是线性的
在这里插入图片描述
iso能够提示曝光度,但会造成噪声放大
在这里插入图片描述
f数非正式理解为光圈直径的逆,即1/直径
在这里插入图片描述
快门曝光时间可以起到调节曝光度的作用。
高速运动的物体容易出现运动模糊,即快门打开的这段时间内,物体发生了移动。传感器起到的是平均的作用,因此模糊
在这里插入图片描述
更短的快门时间,运动模糊会减低,但曝光度也减低
而且运动模糊不一定是坏事,如果没有运动模糊会觉得速度很慢。运动模糊在时间上采样是一种反走样的效果
在这里插入图片描述
机械快门打开存在一定时间,如果物体运动速度快于快门打开时间,会出现Rolling shutter的问题,对高斯运动的物体,如螺旋架造成扭曲。
因为图像上不同的位置有可能记录的是不同的时间进来的光
在这里插入图片描述
f-stop是1/直径,考虑多少曝光是面积

Fast and Slow Photography

快门的应用
在这里插入图片描述
在这里插入图片描述
高速摄影:每秒拍更多的帧数,然后按正常的帧数来放。意味着每张照片的快门时间非常少,及更大的光圈
在这里插入图片描述
在这里插入图片描述
延时摄影:超低速。非常长的曝光时间,及非常小的光圈。这些拉丝的效果其实就是运动模糊

Thin Lens Approximation

在这里插入图片描述
真正的镜头非常的复杂,不会用单个透镜做成像,而是用透镜组
在这里插入图片描述
aberrations:一面凸一面直的透镜不可能把光聚集到一点。(平行光进入到透镜本来是会被聚集到一点)
在这里插入图片描述
我们研究的是理想化的透镜,不考虑厚度。对于平行于透镜的光会被聚集到一个点,即焦点。焦点到透镜中间的距离为焦距
光路有可逆性,所以如果光路穿过焦点,射到透镜会被折射成一束平行光
认为薄的透镜可以任意改变焦距
在这里插入图片描述
任何一个光只要过透镜中心就不会改变方向
物距: z o z_o zo
相距: z i z_i zi
对于固定焦距的透镜来说,如果要改变物距,则相距也要改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图中的是两组相似三角形
在这里插入图片描述
薄透镜公式:反映了焦距,物距,相距的关系

Defocus Blur

在这里插入图片描述
远处一个平面focal plane,平面上的光经过透镜后会被聚焦到成像平面上,如果物体不在focal plane,会模糊。如上图,object聚焦在成像平面前方image,在继续传播。一个点被感光平面接收到之后,不再是一个点,而是一个圆。这个圆就是Circle of Confusion
看某个距离物体的模糊程度,和光圈的大小成正比
在这里插入图片描述
大光圈更模糊
在这里插入图片描述
直径分之1的定义其实是不对的,应该是焦距N除以光圈的直径D
在这里插入图片描述
把f数光圈实际大小和焦距联系在一块
在这里插入图片描述
A就是光圈的直径,C和N有反比关系
为了更清楚的照片,需要小光圈

Ray Tracing Ideal Thin Lenses

在这里插入图片描述
模拟薄透镜做光线追踪
在这里插入图片描述
确定成像平面sensor有一定大小,定义透镜属性焦距和光圈大小,定义透镜离场景中某个平面有多远 z o z_o zo,认为这个平面是要进行着重拍摄的。以此可以推出相距是 Z i Z_i Zi
在这里插入图片描述
第一步,在成像平面上选一点 x ‘ x^` x
第二步,在透镜上随机选一点 x ‘ ‘ x^{``} x‘‘
第三步,连线两点,可以求得打到的位置 x ‘ ‘ ‘ x^{```} x‘‘‘
第四步,计算 x ‘ ‘ x^{``} x‘‘ x ‘ ‘ ‘ x^{```} x‘‘‘的radiance
即简单利用透镜公式算一下折射的光线方向

Depth of Field

在这里插入图片描述
大光圈与小光圈会影响模糊的范围
在这里插入图片描述
景深就是指在实际场景中有一段深度,这段深度经过透镜后会在成像平面的附近形成一段区域,这段区域内,认为COC足够小。
算景深就是算在COC很小的范围内,对应看到的清晰场景距离
只要当COC的大小比像素小或差不多,都认为得到的结果是锐利的
在这里插入图片描述
景深的范围 D F D_F DF D N D_N DN
光圈越小,景深范围越大,更接近小孔,更锐利


http://www.ppmy.cn/news/1442382.html

相关文章

Prompt-to-Prompt Image Editing with Cross Attention Control

Prompt-to-Prompt Image Editing with Cross Attention Control TL; DR:prompt2prompt 提出通过替换 UNet 中的交叉注意力图,在图像编辑过程中根据新的 prompt 语义生图的同时,保持图像整体布局结构不变。从而实现了基于纯文本(不…

ES6相关语法规范

ES6(ECMAScript 6)是JavaScript的第六个版本,也被称为ES2015。它引入了许多新的语法和功能,使得JavaScript更加强大和易用。下面是ES6的一些重要特性和示例: 1. 块级作用域(Block Scope)&#…

装饰器模式【结构型模式C++】

1.概述 装饰器模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 2.结构 抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体构件(Concre…

前端JS算法-冒泡排序

原理&#xff1a;相邻的数据进行两两比较&#xff0c;小数放在前面&#xff0c;大数放在后面&#xff0c;这样一趟下来&#xff0c;最小的数就被排在了第一位&#xff0c;第二趟也是如此&#xff0c;如此类推&#xff0c;直到所有的数据排序完成。 描述&#xff1a; <1&g…

Ruby语言介绍要点难点代码案例参考实际应用举例

Ruby 是一种动态、面向对象的编程语言&#xff0c;最初由日本程序员松本行弘&#xff08;Yukihiro Matsumoto&#xff09;于1995年创建。它以简洁、优雅的语法著称&#xff0c;致力于提高开发者的生产力和乐趣。以下是关于 Ruby 的要点、难点、代码案例参考以及实际应用举例&am…

LLaMA Factory单机微调的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

React Native 复杂列表开发与性能优化全攻略(现在看为时不晚!)

​ ​微信公众号&#xff1a;小武码码码 大家好,上一篇分享了 Flutter复杂列表开发与性能优化全攻略。那接下来这一篇,我想和大家分享一下在 React Native 中开发复杂列表的经验和心得。作为移动开发中最常见的 UI 组件之一,列表几乎出现在每一个应用中。然而,当列表变得复杂起…

无人零售与传统便利店的竞争优势

无人零售与传统便利店的竞争优势 成本控制 • 无人零售 显著降低了人力成本&#xff0c;无需支付店员薪资和相关福利&#xff0c;且通过智能化管理减少能源消耗与维护费用&#xff0c;尤其在高租金和高人流区域效益突出。 • 传统便利店 则承担较高的人员开支&#xff0c;…