CVPR 2022 | 逆渲染中的⾼效间接光照建模

简介: CVPR 2022 | 逆渲染中的⾼效间接光照建模


1.gif

近日,阿里巴巴大淘宝技术商品三维建模&AI设计团队与浙江大学CAD&CG实验室周晓巍研究员团队合作论文《Modeling Indirect Illumination for Inverse Rendering》被国际顶级会议CVPR 2022接收。

论文主页:https://zju3dv.github.io/invrender/


介绍


从图像中恢复三维场景的⼏何、材质和光照,也称为逆渲染,⼀直是计算机视觉和图形学领域⻓期研究的问题。近年来,随着VRAR应⽤的⻜速发展,从现实世界中轻松获取3D内容的需求也在与⽇俱增。过去的采集⽅式,⽐如使⽤具有可控灯光和相机的Light Stage系统、在暗室中使⽤带闪光灯的相机拍摄或是将物体置于转台上,对普通⽤户⽽⾔都是困难的,难以实现规模化的采集与建模。


最近的⼀些⼯作探索了在⾃然光照下捕捉多视⻆图像⽤于逆渲染的灵活采集⽅式。这些⽅法通常将⼏何和空间变化的BRDF表示为基于坐标的神经⽹络,并通过⽐较渲染图像与捕捉图像来进⾏优化。然⽽,这样的采集⽅式带来了新的挑战:⾃然光照下拍摄的物体图像通常具有软阴影以及表⾯相互反射的效果,⽽使⽤路径追踪来模拟这些效果的计算是⽐较昂贵的,并且增加了优化的复杂度。之前的⽅法通常忽略⾃遮挡和相互反射以减少计算量,或者仅建模阴影,或者将间接光照限制在⼀次反弹内。如果不对间接光照进⾏适当建模,那么渲染图像和拍摄图像之前会存在⼀定的差距,导致间接光照会被烘焙到反照率(BRDF参数)中以补偿此差距,如图1所示。同时会导致粗糙度估计的误差,因为这些参数共同解释了观察图像。


图片.pngimage.gif

图一


因此,我们提出了在逆渲染过程中对间接光照进⾏建模的有效办法。我们的核⼼思路是间接光照不需要和BRDF参数以及环境光联合优化,⽽是从场景的出射辐射场得到,⽽出射辐射场可以从多视⻆图像中使⽤现成的神经场景表示⽅法重建。这样在优化其他未知数时,可以直接查询间接光照,使得逆渲染问题更容易求解。


我们在合成数据及真实数据上对所提出的⽅法进⾏了评估。结果表明我们的⽅法优于之前的⽅法,能够恢复⽆阴影和⽆表⾯相互反射的反照率,从⽽⽀持逼真的⾃由视点重光照。


具体方法


给定⼀组静态光照下采集的多视⻆图像及相机参数,我们将待优化的⼏何、材质及光照渲染为2D图像,并与采集图像进⾏⽐较来优化参数。我们将⼏何表示为有向距离场(SDF),每个空间位置的⼊射光被分为直接光照乘以可⻅性和间接光照两部分,BRDF模型使⽤包含反照率和粗糙度参数的简单Disney BRDF模型[1]。图2描述了我们提出的⽅法的渲染过程。


image.gif图片.png

图二


 直接光照的可见性


对于直接光照,假设所有的环境光都来⾃⽆穷远,我们将其参数化为M=128的球⾯⾼斯函数SG):

图片.pngimage.gif


环境光照需要通过可⻅性进⾏评估,可⻅性可以从表⾯点向光源追踪⼀条光线获得。我们将可⻅性参数为MLP:将表⾯点坐标和⽅向映射到其可⻅性值。MLP能提供连续的表示,只需要在表⾯点上⽅采样少量光线进⾏训练。我们将可⻅性和环境光SG的乘积近似为另⼀个SG,以⽀持渲染时SG积分。我们通过使输出的SG的振幅产⽣与原始的波瓣相同的积分来实现:

image.gif

图片.png

image.gif图片.png通过在SG波瓣内随机采样32个⽅向,并对查询到的可⻅性来进⾏加权平均获得


 间接光照


根据光线追踪原理,光线与场景的第⼆个交点的的出射光是第⼀个交点对应⽅向的⼊射光,⽽计算第⼆个交点的出射光需要继续积分光线,随着考虑的反弹次数增加,光线追踪和渲染的次数以指数级增加。我们通过重建出射辐射场来推导间接光照,⽽不是进⾏递归光线追踪。出射辐射场,可以看作是⼀个神经渲染器,是表⾯点位置和观察⽅向的连续函数,它可以使⽤已有的⽅法和⼏何⼀起被优化完成。我们进⼀步将其转换成表示为SG的间接光照,以避免使⽤蒙特卡洛⽅法进⾏渲染,并将其缓存在以空间坐标作为输⼊的MLP中。间接光照MLP通过从出射辐射场中采样光线来监督。3展示了这个过程。


image.gif图片.png

图三


 渲染


和之前的⼯作[2]类似,我们将渲染⽅程中的镜⾯反射及余弦项分别近似为SG,从⽽将渲染⽅程近似为SG的内积。为了减少可⻅性近似的误差,我们将漫反射和镜⾯反射部分分开考虑,漫反射的可⻅性对环境光SG进⾏采样

image.gif

图片.png


对于镜⾯反射部分,我们采样镜⾯反射的SG,使得在镜⾯反射波瓣较窄时也能较准确的近似:

图片.pngimage.gif


 BRDF


我们使⽤简化的Disney BRDF模型,以反照率和粗糙度为参数,并假设在菲涅⽿项中具有固定 F0=0.02。将空间变化的BRDF参数化为MLP⾮常直接,但由于训练视⻆的分布不均匀或⾃遮挡影响,⼀些表⾯的缺乏监督,因此难以准确估计粗糙度。这⾥我们通过引⼊先验知识,即物体通常由少量材质组成,来缓解这个问题。我们的解决⽅案是将BRDF参数化为编码器解码器⽹络,并对 latent code使⽤KL损失进⾏稀疏性约束,另外,我们还对解码器增加了平滑损失,使得相近的 latent code能⽣成相近的BRDF。


 训练


⾸先,使⽤[3]优化SDF和出射辐射场。然后,我们在⼏何表⾯点采样光线,然后执⾏光线追踪来同时获得其可⻅性和⼊射光,我们分别使⽤交叉熵和L1损失来优化可⻅性MLP和间接光照 MLP。最后,通过最⼩化渲染和观察图像的重建损失来优化BRDF参数和环境光照。


实验结果


 对比实验


我们使⽤Blender渲染的合成数据来进⾏定量⽐较。如表1所示,与之前的⽅法⽐较,我们的⽅法具有较⼤的优势。图4展示了可视化对⽐结果。


图片.png

表一


图片.png

图四


 消融实验


为了验证在逆渲染中不同部分建模对结果的影响,我们进⾏了三组消融实验,实验结果如表1所示和图5所示。


图片.png

图五


 真实数据结果


我们拍摄了由多种材质组成的物体的多视⻆图像,图6展示了逆渲染和重光照的结果,更多视频结果请查看论⽂主⻚。


图片.png

图六


总结


我们提出了⼀种新的⽅法来有效地建模逆渲染任务中的间接光照。以前的⼤多数⽅法都没有考虑间接光照,因为在基于物理的渲染框架内对其进⾏模拟是较复杂的。⽽我们利⽤出射辐射场⾼效的建模了间接光照。我们证明,结合我们提出的BRDF先验和基于SG的可⻅性,整个流程能够从⾃然光照下拍摄的多视图图像中估计⾼质量的反照率和粗糙度,从⽽⽀持逼真的⾃由视点重光照。


参考文献

[1]Brent Burley and Walt Disney Animation Studios. Physically-based shading at disney. In ACM

SIGGRAPH, volume 2012, pages 1–7. vol. 2012, 2012.

[2] Kai Zhang, Fujun Luan, Qianqian Wang, Kavita Bala, and Noah Snavely. Physg: Inverse rendering with spherical gaussians for physics-based material editing and relighting. In The IEEE/ CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021.

[3] Lior Yariv, Yoni Kasten, Dror Moran, Meirav Galun, Matan Atzmon, Basri Ronen, and Yaron Lipman. Multiview neural surface reconstruction by disentangling geometry and appearance.

Advances in Neural Information Processing Systems, 33, 2020.


项目介绍

Object Drawer(官网:https://objectdrawer.alibaba.com)低成本高质量建模产品。业内首个基于神经渲染的三维建模产品,在NeRF神经渲染技术的基础上,创造性提出了显式+隐式的三维模型新范式,突破了建模鲁棒性、细节分辨率、推理速度、光照迁移等NeRF神经渲染技术局限,实现了低成本高质量的自动化商品三维建模,建模还原度大大超出同类产品水平,欢迎大家体验、交流。


团队介绍

商品三维建模&AI设计团队立足于先进的AI技术和XR新硬件、新引擎,为消费者打造全新的沉浸式购物体验,让用户在购前充分地体验商品和服务带来的享受,同时为商家提供更具竞争力的商品场景化表现力。团队目前已经有3D建模—描物坊(Object Drawer)、3D动态和静态场景生成—3D神笔等产品。在建模及设计产品研发的同时,团队在学术方面积极贡献,在ICCV、NeurIPS、KDD、CVPR等顶级学术会议上发表多篇论文,为研究者开放3D-FRONT数据集,获ChinaGraph首届数据奖。为了打造团队的全栈研发能力,我们不断吸引3D/XR引擎、视觉/图形算法等领域的优秀专业人才加入,一起奔向XR新时代。


相关文章
|
人工智能 PyTorch 算法框架/工具
【AI系统】动手实现自动微分
本章介绍如何实现自动微分,重点讲解前向自动微分的原理及Python实现方法。通过操作符重载,将程序分解为基础表达式组合,利用链式法则计算导数。示例代码展示了如何使用自定义类`ADTangent`实现加、减、乘、log、sin等操作的自动微分,验证了与PyTorch和MindSpore等框架的一致性。
363 2
【AI系统】动手实现自动微分
|
人工智能 PyTorch 算法框架/工具
【AI系统】动手实现 PyTorch 微分
本文介绍了使用操作符重载(OO)编程方式实现的自动微分,特别是采用反向模式(Reverse Mode)的实现方法。文中详细解释了操作符重载的基本概念及其在自动微分中的应用,以及反向模式的工作原理。通过 Python 示例代码,演示了如何手动实现类似 PyTorch 中自动微分的核心机制,包括定义 `Variable` 类、`Tape` 结构以及实现基本的数学运算符重载。最后,通过一个具体的数学函数示例展示了如何利用上述机制计算梯度,帮助读者理解反向模式自动微分的全过程。
292 1
【AI系统】动手实现 PyTorch 微分
|
机器学习/深度学习 编解码
【论文笔记】图像修复MPRNet:Multi-Stage Progressive Image Restoration 含代码解析2
【论文笔记】图像修复MPRNet:Multi-Stage Progressive Image Restoration 含代码解析
679 2
|
数据采集 存储 分布式计算
构建智能数据湖:DataWorks助力企业实现数据驱动转型
【8月更文第25天】本文将详细介绍如何利用阿里巴巴云的DataWorks平台构建一个智能、灵活、可扩展的数据湖存储体系,以帮助企业实现数据驱动的业务转型。我们将通过具体的案例和技术实践来展示DataWorks如何集成各种数据源,并通过数据湖进行高级分析和挖掘,最终基于数据洞察驱动业务增长和创新。
676 53
|
存储 人工智能 搜索推荐
RAG系统的7个检索指标:信息检索任务准确性评估指南
大型语言模型(LLMs)在生成式AI领域备受关注,但其知识局限性和幻觉问题仍具挑战。检索增强生成(RAG)通过引入外部知识和上下文,有效解决了这些问题,并成为2024年最具影响力的AI技术之一。RAG评估需超越简单的实现方式,建立有效的性能度量标准。本文重点讨论了七个核心检索指标,包括准确率、精确率、召回率、F1分数、平均倒数排名(MRR)、平均精确率均值(MAP)和归一化折损累积增益(nDCG),为评估和优化RAG系统提供了重要依据。这些指标不仅在RAG中发挥作用,还广泛应用于搜索引擎、电子商务、推荐系统等领域。
6596 2
RAG系统的7个检索指标:信息检索任务准确性评估指南
基于GA-PSO遗传粒子群混合优化算法的CVRP问题求解matlab仿真
本文介绍了一种基于GA-PSO混合优化算法求解带容量限制的车辆路径问题(CVRP)的方法。在MATLAB2022a环境下运行,通过遗传算法的全局搜索与粒子群算法的局部优化能力互补,高效寻找最优解。程序采用自然数编码策略,通过选择、交叉、变异操作及粒子速度和位置更新,不断迭代直至满足终止条件,旨在最小化总行驶距离的同时满足客户需求和车辆载重限制。
|
机器学习/深度学习 人机交互 API
【机器学习】Whisper:开源语音转文本(speech-to-text)大模型实战
【机器学习】Whisper:开源语音转文本(speech-to-text)大模型实战
4874 0
|
机器学习/深度学习 算法 vr&ar
深度学习之可微渲染
可微渲染(Differentiable Rendering)是深度学习领域的一个重要概念,它将传统的计算机图形学与深度学习结合起来,通过使渲染过程可微分(differentiable),以便于在深度学习模型的训练中使用反向传播算法。可微渲染在计算机视觉、图形学和机器人学等领域有着广泛的应用。
649 3
|
关系型数据库 MySQL 数据库
Host 'XXX' is not allowed to connect to this MySQL server 解决方案
Host 'XXX' is not allowed to connect to this MySQL server 解决方案
495 0
|
Java Linux 开发工具
Windows中使用包管理器(类似于apt/yum的) - Chocolatey
Windows中使用包管理器(类似于apt/yum的) - Chocolatey
1200 0