专题介绍

在实时渲染和离线渲染领域,对场景模型表面以及空间介质的精细化建模是增加场景真实感的重要手段。计算机图形学领域的许多科研工作者设计出一系列复杂精巧的技术理论,模拟出光线从宏观世界到微观粒子的变化规律。本期专题精选了近年来关于微表面模型、次表面散射模型等相关前沿工作,为读者解读其中的关键技术。

一、简介

1.1 背景

现存的BRDF数据集大多不携带偏振信息。

现有的一些p-BRDF采集方法大多是在有限自由度下进行,比如同一个平面内这种,这种方法采到的数据太过于稀疏,无法用于渲染。

1.2 他们的工作

如图所示,他们主要针对p-BRDF的采集提了一种新的方法。

他们的主要工作在如下三点:

提出了一种用于各向同性p-BRDF的基于图像的采集方案,以及一个数据驱动的插值方法,这个插值方法可以将该数据应用到光线追踪中。

在可见光谱范围内以五个不同的波长采集了25个球形物体的数据形成了数据集。

对数据集进行分析并展示了在一些可能用到这个数据集的应用场景。

二、相关工作

2.1 p-BRDF模型

这个模型是在Priest and Gerner 等人在2000年提出的,这个模型是在原有的微表面模型的基础上实现的。主要的改动是在菲涅尔项上,原有的菲涅尔反射考虑的是非偏振光,这里把这一项按照实际光的偏振情况进行计算。

Hyde IV等人将这个工作进一步推进,他们将几何项也纳入考虑范畴,同时也添加了对Lambertian 漫反射的支持。

Ingmar 等人则是针对完全偏振光,给出了一个返回琼斯矩阵的偏振brdf,这个四参数的偏振brdf主要是用来对真实世界采集到的数据进行更加高效的拟合,它是通过将两个广义高斯/菲涅尔模型和一个广义Lambert模型进行混合得到的。

SEUNG-HWAN BAEK等人对diffuse部分做了进一步的工作,他们对漫反射的光传输过程进行了重新建模,在他们的模型中,漫反射过程如下:光进入介质内部后进行散射,然后物体吸收变成非偏振光,但是散射后从表面出射时,又由于穿透了物质边界,偏振部分偏振光。该过程的穆勒矩阵描述如下;

即光是通过一个菲涅尔入射F,然后经过吸收去极化D,然后菲涅尔出射F,C是每次的坐标变换。

2.2 p-BRDF的采集

椭偏法是一种较为常见的光学测量技术,它能够用用来体现入射光与材料的相互作用如何去改变入射光的偏振信息。这个方法的核心是确定椭圆偏振光的参数(偏心率、方位角等),这个方法在光学领域有了几十年的研究应用了。用于测量Mueller矩阵的最常见方法是Azzam的双旋转延迟方法,这个方法的思想是通过包含旋转延迟器的光路来观察样本,然后通过改变角度来改变光的偏振态。接着进行足够多的的测量次数后,就可以通过这些测量信息来重构穆勒矩阵。

光在系统中传播依次经过的对象是:发射源、偏振片、波片、样本反射、拨片、偏振片、接收器。在光源强度定好以后,接受器接受的光强势偏振片角度的函数。波片、偏振片等器件的的穆勒矩阵已知,因此假设样本S的穆勒矩阵为M,则可以计算出一个理论上接收器接受的能量值。在获得一系列样本后,可以把这个问题处理为一个优化问题,即优化M,使得理论计算结果与实际测量结果差距最小。

Riviere以及Wellems等人用上述方法,设计了一套系统。这套系统能够对平面材质的p-BRDF进行测量,但是这套系统仅仅能够处理法线、入射光与观察方向在同一平面内的数据。

2.3 偏振渲染

Wilkie和Weidlich等人在2012年做了一些关于偏振信息可视化的工作,Mojzik等人则解决了将偏振引入现在的一些常见光传输方法上的问题,比如BDPT这种。mitsuba2已经支持带偏振的渲染,它支持一些常见的偏振器件。

三、关于偏振

3.1 光的偏振

光是一种电磁波,它在进行自由传播时,电场方向和磁场相互垂直,且均垂直于传播方向。假设一个频率为f的平面电磁波沿着Z轴正向传播,则其电场强度E(z,t)磁场B(z,t)垂直于xy-平面,数学描述如下:

此外,其携带的能量也可以通过电场强度E来获得:

在正弦波的一个周期内,电场矢量的末端会绘制出一个椭圆来,这个椭圆的的形状和方向定义了电磁波的偏振态。当x-y分量的相位差为0时,两个简谐波的叠加结果的轨迹是一条直线,这种状态被称为线偏振,如图左侧所示;当x分量与y分量恰好振幅相同,而且其相位差相差pi/2时,其叠加结果的轨迹会是一个圆,这种状态被称为圆偏振如图所示;其余叠加结果的轨迹是一个椭圆,如图所示。此外,因为x分量与y分量相差的符号不同,会导致叠加电矢量的轨迹的旋转方向不同,因此椭圆偏振以及圆偏振又分为左偏振(逆时针旋转)和右偏振(顺时针旋转)。

自然界的大部分物体发出的光,因为它们大多会发射偏振方向随机随机的不相干光,在宏观层面进行观察时,其偏振方向可能出现在任意方向,因此被称为非偏振光,这种光在任何方向偏振模的大小都是相同的。假如其在某个方向的偏振大小与另一个方向的偏振大小是不同的,则被称为部分偏振光,它可以被表示为一个完全偏振光与一个完全非偏振光的叠加。

3.2 一些相关的数学表示

3.2.1.椭圆偏振

假设电磁波x分量分别为Ex,Ey,则有:

3.2.2.琼斯矢量与琼斯矩阵

琼斯矢量可以用来描述完全偏振光。琼斯矢量J定义如下:

琼斯矩阵是用于计算琼斯矢量变化的算符,它是一个2*2的矩阵,假设一个偏振光经过一个琼斯矩阵为M的器件,则其出射光与入射光有如下关系:

3.2.3.斯托克斯矢量与穆勒矩阵

琼斯矢量J定义如下琼斯矢量不能描述非偏振光和部分偏振光,斯托克斯矢量则可以描述偏振光、部分偏振光和非偏振光。它是一个四维矢量,把它的分量记为S0, S1, S2,S3。则其定义为:

其中I0、I1、I2、I3分别是光的总能量、水平偏振的能量、+45偏振能量、右旋圆偏振能量。

穆勒矩阵则是计算斯托克斯矢量变化的算符,假设一个偏振光经过一个穆勒矩阵为M的器件,则其出射光与入射光有如下关系:

四、系统配置

4.1 目标

在设计系统时,主要有如下几个目标:

捕获完整的4×4 Mueller矩阵,包括对线性和圆极化的影响。

实现渲染所需的方向性覆盖。

捕获可见光谱中的光谱变化

可以在每种材料的合理时间内(以几天为单位,而不是几个月/年)来完成上述任务。

4.2 配置

配置如下:

进行抽象后的概念图如下:

即相比meal的采集,他们多了一些可调整的偏振器件来测量偏振信息。在入射端,光会经过起偏器和延迟片,因此样本表面的入入射光为:

因此,出射光到接受器之间的变化矩阵为:

其中起偏器和延迟片的穆勒矩阵为已知矩阵。因此,假设样本该位置的穆勒矩阵,理论上最终的接受到的光强为:

因此可以把这个问题处理为一个优化问题,即已知测量结果与理论计算结果,去求解未知数M的过程。在实际进行测试中,为了保持较好的线性关联,令θ′ = 5θ。因此,在多个角度下进行测量,使用l2的loss,优化问题为:

一些采集结果如下:

五、数据存储

每个样本的数据最终存储为一个6维的张量表格,前三个维度和meal类似,三个角度相关,一个半角,两个差角,后三个是波长以及穆勒矩阵的行列。存储为9191361*5个穆勒矩阵,912m存储空间。至于做mapping的时候,因为单个item可能映射到一个较大的区域,因此他们采样采十次取平均值作为结果。至于孔的填充,他们使用了沿着角度的平滑插值。

六、偏振渲染

波长lambda像素贡献计算如下:

进行光谱渲染时,进行线性插值以得到最终的结果。至于重要性采样,他们首先利用采到的数据进行ggx+Lambertian的拟合得到的代理的brdf,然后使用代理brdf进行重要性采样以加速收敛。

如下是他们的渲染结果样例和采集数据的对比:

七、结果

7.1 和平面内方法对比

他们建立了一个基于激光的椭偏仪系统,该系统可以准确地测量平板样品的面内pBRDF。这个系统只能捕获红线表示的部分角度组合:

7.2 极化渲染

进行光谱渲染时,进行线性插值以得到最终的结果。至于重要性采样,他们首先利用采到的数据进行ggx+Lambertian的拟合得到的代理的brdf,然后使用代理brdf进行重要性采样以加速收敛。

7.3 结果分析

7.3.1 表面属性和偏振

法线

下图显示了在非偏振点光照射下捕获的金属铬球和电介质白台球的AoLP,DoP和CoP。白色台球的AoLP和DoP由于漫反射而显示出明显的法线依赖性,法线依赖性在同时存在漫反射和镜面反射的区域中发生变化。金属表面的DoP几乎恒定,而CoP呈现轻微的法线依赖性。

粗糙度

下图显示了由含氟聚合物制成的Spectralon球和由二氧化锆(ZrO2)制成的陶瓷球的AoLP和DoP。陶瓷材料的AoLP和DoP值都接近镜面反射,而Spectralon球的镜面反射很少,极化反射很少。对于具有低表面粗糙度的陶瓷球,AoLP和DoP的法向依赖性变得更加明显。

金属和介电材料

他们分析了两种表现出总体相似的金色外观的材料:镀金的钢球以及一个电介质假金球。如下图所示,与真实的金表面相比,后一种材料的手性具有相反的特性。

颜色和波长

如下图所示,对于光谱一致的白色台球,AoLP和DoP也相似;对于具有高漫反射率的波长,AoLP和DoP较低;黑色台球的AoLP和DoP较高,其中镜面偏振占主导地位。

7.4 和解析p-BRDF的对比

八、局限性

采集装置的配置要求较高(掠角处理、校准难度)

优化出的结果数据可能并不是合法的(不符合穆勒矩阵的要求)

插值方法可能不够合适

极化渲染的采样策略不好

References:[1] Seung-Hwan Baek, Tizian Zeltner, Hyun Jin Ku, Inseung Hwang, Xin Tong, Wenzel Jakob, and Min H. Kim. 2020. Image-based acquisition and modeling of polarimetric reflectance. ACM Trans. Graph. 39, 4, Article 139 (August 2020), 14 pages. https://doi.org/10.1145/3386569.3392387

*本文由 袁德华 同学辛苦整理,如有错漏之处,敬请指正。

表面散射 | Vol.5 基于图像的偏振反射率的采集与建模相关推荐

  1. 【技术美术图形部分】PBR直接光部分:Disney原则的BRDF和次表面散射模型

    写在前面 补充去年遗漏下的知识.很多叙述都是参考了众多大佬的文章!因为是作为个人学习总结的博客,所以直接卑微的借鉴过来了,后面会给出所有参考的文章. 另外,放上一个忘了在哪一篇知乎评论里的截图: 说的 ...

  2. Learn OpenGL 笔记7.4 PBR-Specular IBL(Image based lighting-特殊的基于图像的照明)

    在上一章中,我们通过预先计算辐照度贴图作为照明的间接漫反射部分,将 PBR 与基于图像的照明相结合. 在本章中,我们将关注反射方程的specular part镜面反射部分: 您会注意到 Cook-To ...

  3. CSharpGL(54)用基于图像的光照(IBL)来计算PBR的Specular部分

    CSharpGL(54)用基于图像的光照(IBL)来计算PBR的Specular部分 接下来本系列将通过翻译(https://learnopengl.com)这个网站上关于PBR的内容来学习PBR(P ...

  4. matlab激光散斑散射半径测量,基于激光散斑角度相关法表面粗糙度测量

    引言表面粗糙度是衡量精密零件加工质量的一个重要指标.随着机械加工等工程领域的发展,对表面粗糙度测量的要求也越来越高.在表面粗糙度的测量中,光学方法具有非接触.不损伤表面.精度高和响应快等优点,其测量原 ...

  5. 基于图像的三维模型重建——稠密点云重建

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:梦寐mayshine 链接:https://zhuanlan.zhihu.com/p/13159 ...

  6. 基于图像的三维模型重建——基础介绍

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者梦寐mayshine授权转载,不得擅自二次转载.原文链接:https://zhuanla ...

  7. GPU Gems1 - 19 基于图像的光照(Image-Based Lighting)

    这篇文章打破了当时立方体贴图环境(Cube-Map Environment)用法的桎梏,深入研究了更多可能的逼真光照效果.文章主要研究了基于图像的光照(Image-Based Lighting,IBL ...

  8. 【开源】对基于图像背景的字体生成、人体姿势预测、关键点检测、超分辨率等探讨...

    本文推荐本周值得关注的已开源论文,包含文本识别.关键点检测.人体姿势预测.Transformer.图像超分辨率等 10 篇.       01       Font Style that Fits a ...

  9. 研究生科研必备!!!2015-2020年各类国际会议基于图像的三维重建论文综述(1)——总览

    此文为2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述的第一部分,总览部分 本文涵盖总结了2015到2020年几百篇国际会议与期刊上的3d-reconstruction文章. 本系 ...

最新文章

  1. 将二进制流转换为图片
  2. 52 个深度学习目标检测模型汇总,论文、源码一应俱全
  3. unable to execute clang-tidy
  4. cmd chcp命令切换字符格式UTF8
  5. 环绕通知(Around Advice)
  6. 什么是好的API设计? 1
  7. 基于 Kubernetes 实践弹性的 CI/CD 系统
  8. [Unity脚本运行时更新]C#7新特性
  9. RouterOS 5.22固定公网IP共享上网设置
  10. 微软自带的防反编译工具dotfuscator.exe的使用
  11. java开发和安卓开发_Android开发和Java开发有什么区别
  12. itunes安装后不能用,双击后等很长时间,提示:ITUNES 驱动程序缺少用于导入和刻录的CD与DVD注册的设置...
  13. BZZ节点如何成为有效节点,BZZ节点优势
  14. 从零一起学Spring Boot之LayIM项目长成记(二) LayIM初体验
  15. Android Studio 修改 Java 语言版本到 1.8
  16. 在abap中的SQL嵌套
  17. 车险杀手锏——高速大数据在车险定价中的应用
  18. FFMPeg代码分析:AVCodecContext结构体
  19. java生成二维码扫描跳转到指定的路径URL
  20. C语言关键字restrict(linux 中为 “__restrict”)

热门文章

  1. 安全操作系统的一些设计原则
  2. Linux之截图快捷键
  3. Python+Vue计算机毕业设计北理珠青协志愿素拓系统eaa9n(源码+程序+LW+部署)
  4. js字符串去除空格和中文
  5. 三台机器安装zookeeper集群
  6. Java poi导出word文件
  7. 智慧医疗中人工智能的7大应用|数据标注
  8. Android MVP架构模式
  9. 高校大数据专业科研建设方案
  10. 群联PS2251-67成功量产教程