reconstructing translucent objects using differentiable rendering
本篇学习报告基于siggraph 2022的论文《reconstructing translucent objects usingdifferentiable rendering》[1],本篇论文由康奈尔大学的xi deng和adobe research的fujun luan等人共同完成。在半透明物体中使用逆渲染时,将重建模型的形状还原是一个基本的原则,将模型的半透明度还原出来同样也十分重要。此篇论文使用一种双向散射-表面反射分布函数(bidirectional scattering-surface reflectance distribution function, bssrdf)来表示半透明,并扩展了路径空间中可微分渲染的框架,引入一种双缓冲方法来评估l2图像损失,这种方法在合成数据和真实数据上都展现出了卓越的重建质量(如图1所示)。
图1. 合成对象和真实数据在全局光照下的重建效果
1. 研究背景
在科学可视化领域,对特殊材质的对象进行精确重建和高效渲染是一个重要的任务,尤其是对于主体由高度散射的半透明材料构成的对象,对于它们的重建便充满挑战性和重要性。在现实中这类材料并不少见,例如水果、肉体、玉石和肥皂等材料。当光穿透这些物体时会发生次表面散射(subsurface scattering),穿透物体的光在材料内部以不规则的角度进行多次反射,最终以不同于在表面反射光的角度进行返回。次表面反射是图形渲染中综合性最高,渲染时间最长的类型。在普通照明情况下,从稀疏的视图中恢复未知形状的半透明物体的几何形状和外观是比较困难的,现有的研究中任然没有关于这一问题的k8凯发旗舰的解决方案。
2. 研究方法
作者提出一种使用可微分的次表面散射渲染器应用逆渲染的方法。以往可微分渲染器中模拟次表面散射的方法是volumetric path tracing和volumetric photo mapping,以前者为例,对于估计中的可接受的噪声量,每一次迭代中对于单个像素需要数千个样本进行渲染和优化。在作者提出的模型中,通过具有封闭形式的基于物理的扩散模型来近似体积散射的大规模模拟,能明显减少对于迭代中的像素对样本的需求量。通过将具有空间变化的bssrdf材料的网格几何拟合到照片中,从而找到表面几何形状和材料属性的端到端优化,最终恢复在类似于拍照场景中光线条件下与真实对象匹配的几何模型。
3. 前期准备
(1)相机
此研究中的成像环境下,相机位置和光源位置均已知,此后使用标准相机校准或多视图立体工具,例如colmap[2],来在计算机中重建相机和光源位置。
(2)光源
以往围绕bssrdf研究的成像环境,采用了非常复杂的照明模式和相机网格,考虑到在部分半透明物质(比如水果)的重建过程自身品质会随着时间推移而大大降低,作者作出改进旨在简化此过程。在照明模式方面作者使用了点光源和直接照明,光源位置上,作者将光源与相机独立放置,使得光源位置可以随意改变,通过阴影和明暗边界更好提供半透明信息[3]。
(3)外观模型
为了解决体积路径追踪(volumetric-path tracing)渲染次表面内存消耗过大的问题,作者提出使用bssrdf代替可微分体积路径追踪,同时将次表面光传输问题使用一个表面积分公式概括:
lo 为xo 处次表面光传输和表面反射的贡献总和,其中ps 为bssrdf模型,pr 为brdf模型。
(4)损失函数
通过构造渲染图像i(π)和参考图像iref 差异的损失函数g,并计算损失最小化,最终将重建问题转换成为寻找参数π的过程,参数π包含网格的顶点位置、表面粗糙度、次表面反射率、消光系数。
4. 算法细节
(1)微分化路径积分
求解损失函数g需要关于参数π的梯度,通过像素值相对于参数π的导数来计算,因此需要将路径积分微分化。考虑到路径对几何参数的贡献可能不是连续的,因此路径积分相对于场景参数π的梯度不一定是路径贡献梯度的积分。作者使用具有非变形域f 及其边界∂f 的标准传输定理来微分路径积分:
(2)蒙特卡洛积分估计
路径积分和可微路径积分都可以通过蒙特卡洛算法进行估计:
与先前的使用不透明表面材质的工作不同,在此研究中,由阴影边缘引起的不连续性直接投射回到相机中,这种不连续性被表面上的bssrdf模糊了,其运动间接影响了阴影边缘附件表面点的出射。如图2所示,固定点光源xo 和一个三角形遮罩在半透明正方形的上方,光源照射投出阴影,正方形向右移动,图像中的模糊阴影不受正方形移动的影响。来自相机y0 的射线打在y1 处,该平面靠近阴影边缘且远离正方形边界。此路径导数为0,但与图像中轮廓边缘相关的猪可见性边界和与网格表面上投射的阴影边缘相关的次可见性边界均不为0。相反,当内部贡献为负,边缘贡献为正。
图2 内部和边界对导数贡献
(3)可微分渲染器
使用开源的psdr-cuda微分渲染器实现了bssrdf模型,为了在曲面上对bssrdf进行重要性采样,采用重要性采样策略[4],为了估计二次不连续边界的梯度贡献,在阴影边缘上取采样点,将所有点与点光源连接,并将光线追溯到表面来完成,所得到的的交点正好在阴影边缘。
5. 实验结果
(1)bsdf对比bssrdf
将半透明材料几何重建质量与不同的材料假设进行比较,结果如图3所示,
图3 不同性质材料重建效果对比图
使用相同的学习率和相同的迭代次数进行重建,当目标对象的半透明性质越强烈,使用不透明的bsdf模型会得到更差的重建质量,作者提出的方法在两种性质物体中都鲁棒地重建形状和半透明材料。
(2)体积路径追踪对比bssrdf
使用可微体积路径追踪算法和作者提出的方法在兔子模型上进行重建,重建质量比较如图4所示,
图4 兔子模型的重建质量对比图
使用相同的学习率初始化并进行优化,直到损失收敛或者发散。由差异图(c)可以看出,在兔子耳朵附件存在一些重建质量的区别,原因在于作者的方法中忽视了全局照明的因素,但是(d)和(e)分别可视化了两种方法在32ssp和128ssp下的参数误差,作者的方法优化稳定地收敛到了目标值,而体积路径追踪算法由于梯度估计的噪声和损失函数的偏差而发散。
(3)重建现实世界的半透明物体
拍摄一块肥皂的51张不同视图照片,分辨率均为512 x 512,在点光源照明模式下进行半透明重建,效果如图5所示。
图5 肥皂物体的重建效果图
此项工作表明了基于扩散的bssrdf模型比可微分体积路径追踪在恢复异质次表面散射材料和现实世界半透明体的重建方面更加有效,尤其是其对于捕获系统和照明条件的要求更低,有助于推动半透明物体重建的研究落地。但是研究的局限性在于无法从现实数据中重建一些高频镜面细节,同时由于bssrdf是单层模型,在视图照片稀少的情况下难以取得满意的重建效果。未来的工作方向可以围绕优化发现或者位移图,亦或者是扩展模型框架进行。
原论文地址:
参考文献
[1]. deng x, luan f, walter b, et al. reconstructing translucent objects using differentiable rendering[c]//acm siggraph 2022 conference proceedings. 2022: 1-10.
[2]. schonberger j l, frahm j m. structure-from-motion revisited[c]//proceedings of the ieee conference on computer vision and pattern recognition. 2016: 4104-4113.
[3]. luan f, zhao s, bala k, et al. unified shape and svbrdf recovery using differentiable monte carlo rendering[c]//computer graphics forum. 2021, 40(4): 101-113.
[4]. king a, kulla c, conty a, et al. bssrdf importance sampling[m]//acm siggraph 2013 talks. 2013: 1-1.
撰稿人:李维杰
审稿人:罗胜舟