当前位置: 首页 > news >正文

技术美术百人计划 | 《5.1.2 PBR-基于物理的相机》笔记

一、曝光三角形

1、曝光主要由三个参数控制

  • 快门速度(Shutter Speed)
    • 可以获得运动模糊(Motion)
  • 光圈(Aperture)
    • 可以获得景深(Depth of Field)
  • 感光度(ISO)
    • 可以获得噪点(Grain)

2、相机镜头到达传感器

这三个参数协同工作,调节进入传感器(Sensor)的光量(由光圈和快门速度控制)和该表面的感光度(传统的胶片或现代的数字 ISO)。下图表现了光通过相机镜头到达传感器的整个过程。我们可以看到光先通过光圈(Aperture)控制后,再通过快门(Shutter),最后再到达传感器( Sensor )上。

3、摄像机流水线

场景亮度(Scene Luminance)光--镜头的光圈(Lens)-->

传感器亮度(Sensor illuminance)--快门 (Shutter)-->

传感器曝光(Sensor Exposure)--电耦合元件(CCD)-->

模拟电压(Analog Voltages)--模拟数字转换器(ADC)-->

模拟数字转换器(ADC)再输出数字值(Digital Values)--对数字值进行重映射(Remapping)-->

最后输出像素值(Pixel Values)

摄影师艺术家则可以控制相对光圈,快门时间,传感器灵敏度/增益(曝光补偿)三个主要参数来设置曝光。举个例子,用人眼来对比:

  • 光圈(Aperture) 的功能就像眼睛的虹膜一样,可以张开并收缩其开口的直径来限制允许进入眼睛的光量。
  • 快门速度(Shutter Speed) 类似于眨眼,只是在我们清醒时眼睑通常是打开的。想象一下,你的眼皮在闭上之前瞬间张开以捕捉单个图像,那就像是相机的快门。
  • 感光度(ISO) 类似于眼睛后部视杆和视锥细胞的灵敏度。

4、曝光补偿

曝光补偿是一种曝光控制方式,一般常见在±2~3EV。以前胶片时代只能调1个EV,而现在数码能调动1~3个EV。EV值每增加1.0,相当于进光量增加一倍。EV值每减小1.0,相当于进光量减小一倍。如果环境光源偏暗调节上述三个参数达不到效果或者手动挡调参失败,即可增加曝光值(如调整为+1EV、+2EV)以突显画面的清晰度。

曝光补偿就是有意识地变更相机自动演算出的“合适”曝光参数,让照片更明亮或者更昏暗的拍摄手法。拍摄者可以根据自己的想法调节照片的明暗程度,创造出独特的视觉效果等。一般会使用变更光圈值或者快门速度来进行曝光值的调节。曝光补偿则放在最后。

5、直方图

直方图是用以表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素数。可以借助观察该直方图了解需要如何调整亮度分布。

这种直方图中,横坐标的左侧为纯黑、较暗的区域,而右侧为较亮、纯白的区域。因此,一张较暗图片的图像直方图中的数据多集中于左侧和中间部分;而整体明亮、只有少量阴影的图像则相反。

直方图是用来观察照片是否曝光的重要利器,现代数码相机内应该都会内置直方图。直方图主要是为了帮助我们在拍摄的过程中有一个参考,以确保我们所拍摄的照片不会丢失高光或者阴影中的任何细节。

因为我们知道在相机的屏幕中看照片和在电脑上看照片的感觉是完全不同的,而且在相机屏幕中看可能还会受到现场光等一些干扰元素的影响。可能在相机屏幕里看或者在手机屏幕里面看都感觉好的不行,但是一放到电脑上看大图就感觉不怎么样了。

因此相机中内置的直方图为我们提供了一种参考,帮助我们在拍摄照片的时候就能够分析这张照片有没有丢失细节。或者是否过曝。

二、快门速度

1、快门

快门类似于眨眼,只是在我们清醒时眼睑通常是打开的。眼皮在闭上之前瞬间张开捕捉单个图像,那就是相机的快门。

摄影技巧:快门需要半按才能对焦,对焦完成可以全按拍摄。

快门速度

定义:快门速度是衡量相机快门打开的时间——允许光线照射到感光传感器的时间

几乎所有现代单反和数码单反相机都使用焦平面快门,焦平面快门的工作方式更像车库的门。但有第二扇门,称为帘幕。在第一个帘幕打开后,帘幕紧跟在第一个帘幕后面以关闭图像传感器或胶片。这种双帘设计可实现传感器或胶片上的光线平衡,从而使曝光均匀。这种设计允许在当今的单镜头反光(SLR)和数码单反相机(DSLR)相机上实现极快的操作,最高可达 1/8000 秒。然而,焦平面快门由于其复杂性和奇特的结构,相对昂贵。

如今的快门已经数字化了。许多现代数码相机操作电子快门,我们只需在按下的瞬间为数字传感器供电。所以电子快门速度可以非常快。快门打开和关闭到整个传感器的过程一次完成,滚动电子快门在横跨其宽度的时间内激活一行像素。

焦平面快门和滚动电子快门,由于它们的设计和功能,当图像平面上有快速运动时,都会导致图像产生有趣的失真。

所以当我们拍摄高度运动的物体,如汽车,奔跑的人时,快门速度应该调快,才可以弥补这种视觉残影的效果。但是这意味着感光器收到的光线不足,如何解决这种问题也是我们下面需要讲的内容。

当我们在游戏内快速旋转摄像机时暂停,就能获得这种效果。这种效果更多的是为了突出对象的运动感和速度感。 如图 ,是在UnityHDRP管线下基于物理相机产生的运动模糊。

2、光圈

光圈(Aperture) 是一个用来控制光线透过镜头,进入机身内传感器光量的装置,通常是在镜头内。

已经制造好的镜头,我们不可能随意改变镜头的直径,但是我们可以通过在镜头内部加入多边形或者圆形,且面积可变的孔状光栅片来达到控制镜头通光量,这个装置就叫做光圈。

光圈的功能就像眼睛的虹膜一样,可以张开并收缩其开口的直径来限制允许进入眼睛的光量。

表达光圈大小我们是用F数表示,通常称为f-number(N),记作F/。

透镜的焦距(F)与孔径(D)的比,我们记为N= F/D ,孔径(D)越大,进入相机的光线就越多。

光圈不等同于F数,恰恰相反,光圈大小与F数大小成反比,F数又称光圈数。如大光圈的镜头,F数小,光圈数小;小光圈的镜头,F数大。

所以:

光圈的f值越小,进光量越多,我们称之为大光圈。

光圈的f值越大,进光量越少,我们称之为小光圈。

比如F/1.4、F/2.8这组数值都表示大光圈(F数“F/”+光圈数值),其中F/1.2的光圈最大,而F/18、F/22、F/32则表示小光圈,其中F/32最小。

完整的光圈值系列如下: f/1,f/1.4,f/2,f/2.8,f/4,f/5.6,f/8,f/11,f/16,f/22,f/32,f/44,f/64。

光圈可以理解为一个圆形,圆的面积公式是:面积 = π r^2

如图,当半径为1,面积则约等于为3.14;当半径为Sqrt(2),面积则约等于为6.28;当半径为2,面积则约等于12.56。

我们发现,当我的半径扩大一倍,面积则扩大了4倍,呈指数上升。所以如果将相机光圈设置为 F/8,拍摄一张图,然后将光圈调整到 F/5.6,那么通过镜头的光量则增加了一倍。从 F/8 改为F/4 会使光量增加四倍。从 F/11 到 F/16 则减少了一半的光量,遵循反平方定律。

(完整的光圈值系列如下: f/1,f/1.4,f/2,f/2.8,f/4,f/5.6,f/8,f/11,f/16,f/22,f/32,f/44,f/64。依次减少一倍。)

以上这组照片是富士X100拍摄出来的。同快门速度,同ISO,同曝光值的情况下,显示的不同效果。

如果将光圈从 f/16 扩大到 f/11,进光面积增加为原来2倍, 照片将获得 +1 EV (曝光值)结果,f/16 到 f/8 使光圈开口尺寸加倍,进光面积增加为原来四倍,则表示 +2 EV 偏移。回到上面,曝光部分,如果我们光圈小了,则可以通过控制EV来增强。由此,我们还可以看到,图1和图2貔貅边缘有明显的模糊效果,这个效果就称之为景深。而图一图二都是F2.0与F2.8的大光圈。

所以:我们可以得出一个结论,光圈大小会影响景深(焦点)。光圈大,背景虚化强;光圈小,背景虚化小。

景深定义:在图像中看起来清晰对焦的最近和最远对象之间的一个距离量。例如摄影过程中,主物体清晰对焦,但其余部分会模糊。景深起到了感知深度的作用。

光圈越小越好吗?

光圈不仅控制通过镜头的光量,还影响光线穿过镜头时的角度。光线经过孔径光栅时被轻微弯曲,光的这种弯曲称为“衍射”,是光的波动特性。如图,侧面观看雨后的蜘蛛网和光盘,也会出现衍射现象。因为这些物体的微表面表面并不均匀(类似各向异性)。

缩小镜头的孔径光栅时,会使衍射更接近图像的中心。很多摄影师在刚开始了解光圈的时候,因为光圈对景深的影响,认为最大化锐度的关键是小光圈。然而这是不正确的。由于存在衍射,尽管通过缩小光圈来去除景深,但图像中的衍射量也在增加,这就会导致图像失去清晰度。

光圈的中间地带,即景深且衍射可控的区域,被称为镜头的“最佳位置”一般是在 f/4 和 f/11 之间的区域,具体数值取决于镜头的设计。

三、感光度ISO

感光度(ISO) 类似于眼睛后部视杆和视锥细胞的灵敏度。

ISO 与快门速度一样是线性的。ISO 为 200 对光的敏感度是 ISO 等级为 400 的一半。ISO 加倍,感光度加倍。一半的 ISO,一半的感光度。如下图,不同的ISO会使画面亮度不一样。

因此,假设所有其他条件都不变,如果将相机的 ISO 从 400 更改为 200,则得到-1的EV (曝光)偏移,ISO 800 更改为 ISO 1600 ,感光度加倍,则+1 的EV偏移。

1、胶片颗粒Grain

提升数码相机的ISO是通过两种方式实现的:

  • 强行提高每个像素点的亮度和对比度;
  • 使用多个像素点共同完成原来只要一个像素点来完成的任务。

这也导致了一个效果——数字噪点(Grain)。ISO 越高,图像中引入的数字噪点就越多。

相机厂商虽然不断的在新相机中增加大数量的像素,但他们也一直在努力减少在高 ISO 下的噪点数量。少量的胶片颗粒感可以改善照片的感觉和质感,但是这并不是可以为之的。

2、相机的基本拨盘

左图是微单相机,13年产的富士牌X100

  1. 快门速度
  2. 曝光补偿
  3. 快门按钮
  4. 光圈范围
  5. ISO一般是在屏幕系统内设置

四、Unity HDRP中的物理相机

HDRP渲染管线环境,我们在Camera组件下找到Camera Body和 Lens 以及Aperture Shape,勾选上Physical Camera。

同时将Volume组件挂上Exposure和Depth of field并且设置Mode为Camera。即可启用基于物理的相机。

这里的基于物理是根据相机和摄影知识理论构建的,但是目前阶段不算是很完善,比如Grain并不会因为ISO过高而产生效果,需要自己额外再Volume组件设置。也不会因为光圈越小产生衍射。目前支持的是景深与通过不同的值设置获得不同的曝光效果。

不同的参数可以参考:High Definition Render Pipeline overview | High Definition RP | 17.0.3 (unity3d.com)

1、快门速度

2、光圈

3、ISO

4、曝光补偿

5、焦距焦长

自发光和Bloom

造成Bloom的原因:

  • 高亮的值使得数码相机的传感器饱和,并且泄漏到临近的传感器单元。
  • 光线在摄像机镜头内反射。
  • 相机镜头内或者表面有灰尘。

像素的最终亮度取决于相机的设置,EV值决定了是否产生Bloom的效果。当入射的亮度超过了传感器本身最大的亮度值,就会产生Bloom。


在开发设计过程中,有一个难题:特效设计师想要白天和夜晚效果一致的Bloom。

对于自发光表面:可以给设计师提供工具控制Bloom。

  1. 给自发光表面定义“曝光补偿”,用于调整它的强度,确保该强度超过饱和点。例如传入额外的曝光注入到场景内,使得自发光的表面变亮或者变暗。HDRP本身对于自发光强度的控制如下图,最终将计算结果存储在自发光颜色之中。它是通过反向获取当前的曝光强度和当前的一个自发光颜色进行插值,然后达到了一个调整它的曝光强度的效果。

  1. 该项是场景全局值,额外的曝光被注入场景内,使得自发光表面变量或者变暗。

HDRP对于自发光的强度控制

_EmissiveIntensity不是一个独立的属性。 着色器仅使用 _EmissiveIntensity

来序列化 UI 中的属性,并将最终结果存储在 _EmissiveColor 属性中。

Sunny-16法则

阳光16法则(也称阳光16定律),是摄影术中不借助电子测光表来估计照相机的光圈大小和快门长短的方式。

在室外阳光下,如果光圈是f/16,则快门速度应是所用胶片的国际感光度指数的倒数。

例如,在室外阳光下,如用光圈是f/16,而ISO为100,则快门应为1/100s(或者1/125)。

“16”,并不是光圈非f/16不可,如选用f/11,则快门速度当提高一倍成为1/200秒,以此类推。

其次,要根据天气状况作调整,如并非阳光普照,而是多云,ISO为100,如果快门速度仍旧取1/100s,则光圈应从1/16开大一倍到1/11;依此类推。

参考

**https://zhuanlan.zhihu.com/p/348471006**

**https://www.bhphotovideo.com/explora/photography/tips-and-solutions/understanding-exposure-part-2-aperture**

**https://baike.baidu.com/item/衍射/1084873?fr=aladdin**

**https://docs.unity3d.com/2022.1/Documentation/Manual/com.unity.render-pipelines.high-definition.html**

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现
  • 前端基于Rust实现的Wasm进行图片压缩的技术文档
  • 网络分段:您需要了解的一切
  • WEB攻防-JavaWweb项目JWT身份攻击组件安全访问控制
  • Java的cnum类型
  • Zabbix 6.4添加中文语言
  • 第一次见到要主动降薪的。。。
  • 【Vue系列五】—Vue学习历程的知识分享!
  • Qt上下文菜单
  • docker快速部署zabbix
  • 开源UNI-SOP云统一认证平台
  • 信息技术的革新与未来趋势
  • nodejs基于vue电子产品商城销售网站的设计与实现 _bugfu
  • 图文组合商标部分驳回后优化后初审通过!
  • 如何在SpringCloud中使用Consul进行服务发现与配置管理
  • 【Linux系统编程】快速查找errno错误码信息
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • gitlab-ci配置详解(一)
  • Leetcode 27 Remove Element
  • Mysql数据库的条件查询语句
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python 基础起步 (十) 什么叫函数?
  • React16时代,该用什么姿势写 React ?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 入口文件开始,分析Vue源码实现
  • 函数计算新功能-----支持C#函数
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #13 yum、编译安装与sed命令的使用
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #if和#ifdef区别
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #pragma pack(1)
  • $GOPATH/go.mod exists but should not goland
  • (12)Linux 常见的三种进程状态
  • (6)设计一个TimeMap
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (八)c52学习之旅-中断实验
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (面试必看!)锁策略
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (四)js前端开发中设计模式之工厂方法模式
  • (四)鸿鹄云架构一服务注册中心
  • (算法)区间调度问题
  • (五)activiti-modeler 编辑器初步优化
  • (一)插入排序
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)h264中avc和flv数据的解析
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .Net CF下精确的计时器
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET开发人员必知的八个网站
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作