【论文阅读笔记】TransparentGS:当高斯溅射学会“看穿”玻璃,如何攻克透明物体重建难题?

文章目录

  • TransparentGS: Fast Inverse Rendering of Transparent Objects with Gaussians
    • Info
    • Abstract
    • Introduction
    • Method
      • 预备知识
        • 3D GS的概念不再赘述
        • 渲染方程
      • 透明高斯
      • Gaussian Light Field Probes
      • 多阶段重建
    • 实验
      • 结果和评估
    • 消融实验
    • 应用
      • 讨论和限制
    • 结论


TransparentGS: Fast Inverse Rendering of Transparent Objects with Gaussians

Info

会议 【TOG 2025】

作者 南京大学、南开大学、浙江大学

Project地址 https://letianhuang.github.io/transparentgs/

Abstract

本文聚焦于使用 3D GS 实现反射和折射场景的新视角合成,提出了一种名为 TransparentGS 的方法。它是一个基于3D-GS、用于快速重建透明物体的逆向渲染管线。主要贡献包含三个方面:

  • 设计了一种高效的透明物体表示方法:我们设计了“透明高斯基元”(transparent Gaussian primitives),它通过一种“延迟折射”(deferred refraction)策略,实现了对高光折射的模拟。
  • 统一环境光与邻近内容的编码:我们利用“高斯光场探针”(Gaussian light field probes, GaussProbe),在一个统一的框架内,同时对环境光和邻近物体内容进行编码。
  • 提出了一种减少视差误差的算法:我们提出了一种名为“基于深度的迭代式探针查询”(depth-based iterative probes query, IterQuery)的算法,以减少我们这种基于探针框架中的视差(parallax)错误。

图 1 TransparentGS是一种基于3D-GS的新型逆向渲染流水线,专门设计用于在各种光照和观察条件下重构透明物体。它能够在1小时内提供高质量的重构结果,实现实时的新视图合成,并方便地对具有挑战性的透明物体场景进行重新渲染。与最先进的方法相比,它在近处内容(间接光)的情况下,实现了高逼真度的折射(蓝框)和反射(绿框),从而为由多个物体组合而成的场景中的复杂次级光线效果铺平了道路。

Introduction

从不同视角的多张二维图像重建三维场景并合成新视角一直是计算机图形学和视觉中的一项长期任务。随着深度学习的出现,神经辐射场(NeRF)及其变体在解决这一任务中引领了趋势,它们通过使用隐式场的体积渲染实现了照片级真实感的视觉质量。最近,随着对实时渲染需求的不断增加,三维高斯溅射(3D-GS)提供了一种更高效的显式表示,能够通过将辐射场建模为三维高斯原语来实现实时渲染。

然而,直到现在,在任意光照条件下重建透明物体并实现实时新视角合成仍然具有挑战性。这一挑战源于透明物体在不同视点下频繁出现的变化,主要由于光线穿过材料时反射和折射的复杂相互作用。因此,NeRF中的具有方向编码的多层感知机(MLP)和3D-GS中的球面谐波函数(SH)在准确建模镜面反射和折射方面都面临困难。

目前,针对透明物体的最有效重构方法是基于隐式神经表示的 [Bemana et al. 2022; Gao et al. 2023; Li et al. 2020; Sun et al. 2024]。然而,这些方法以训练过程中的显著计算开销而闻名,并且如表1所述,它们也不支持实时渲染。基于3D-GS的方法在3D重构和新视角合成方面提供了高效率 [Wu et al. 2024b],但现有方法各自存在局限性。特别是这些方法 [Jiang et al. 2024; Ye et al. 2024] 原本是为反射场景设计的,无法轻易应用于透明物体。当透明物体周围有附近物体时,困难程度进一步加大。由于基于光栅化的公式,3D-GS受到理想针孔相机的限制,缺乏对折射和相互反射等次级光线效应的支持 [Huang et al. 2024; Moenne-Loccoz et al. 2024]。

在本文中,我们提出了TransparentGS,一个新颖的逆向渲染框架,该框架基于3D-GS,能够高效地管理在各种光照和视角条件下的透明物体,同时支持与邻近内容的折射和相互反射。在此框架中,透明物体由透明高斯原语建模,这些原语明确编码了3D高斯中的几何和材料属性。这些新原语便于集成到专门的物理基础延迟渲染流水线中,从而实现网格和高斯的整合,以处理次级光线效果。为了处理场景中的环境光和邻近内容,我们引入了高斯光场探针(GaussProbe),通过在透明物体周围放置稀疏的缓存集来捕捉每个透明物体的局部光场。这些探针可以基于最佳投影策略快速烘焙和更新 [Huang et al. 2024]。为了解决探针固有的视差问题并增强折射/相互反射的细节,我们设计了一种基于深度的迭代探针查询算法(IterQuery),该算法在经过几次迭代后能实现可信的结果。与之前的工作相比,我们的新框架具有几个优势,如表1所列。特别地,我们在一小时内实现了透明物体的快速逆向渲染及次级光线效果,能够实时合成透明场景的新视图以及复杂的次级光线效果,如图1所示。

 表 1 透明物体重构方法在训练时间(A)、渲染时间(B)以及支持环境光(C)、邻近内容(间接光)(D)、高频折射细节(E)、准确的反射-折射解耦(F)、彩色折射(G)和重新渲染(例如,重新照明或材料编辑 [Khan et al. 2006])(H)方面的比较。

与之前的工作相比,我们的新框架有几个优点,如表1所示。特别是,我们在一小时内实现了首个快速反向渲染,能够处理透明物体的次级光线效应,从而实现透明场景和复杂次级光线效应的实时新视角合成,如图1所示。总之,本工作的贡献如下:

  • 我们设计了一种高效的透明物体表示,透明高斯原语,使得通过延迟折射策略实现镜面折射成为可能。
  • 我们利用高斯光场探针(GaussProbe)在统一框架内编码环境光和附近内容。
  • 我们提出了一种基于深度的迭代探针查询算法(IterQuery),以减轻我们基于探针的框架中的视差误差。

Method

在本节中,我们介绍了我们的方法TransparentGS,旨在快速逆渲染透明物体。如图2所示,我们的TransparentGS由两部分组成。第一部分是透明物体的表示,透明高斯原语,包含遵循3D高斯点云(3D-GS)[Kerbl et al. 2023]的形状属性。为了增强折射的表示能力,我们通过额外属性扩展了原语,包括法线和双向散射分布函数(BSDF)[Bartell et al. 1981]的参数。为了利用原语渲染详细的高光折射,我们采用了一种延迟折射方法。第二部分是我们提出的高斯光场探针(GaussProbe),它不仅表示类似于环境贴图的环境光,还表示来自附近内容的间接光。为了消除视差问题,我们开发了一种基于深度的迭代探针查询(IterQuery)算法,专门用于高斯光场探针。

预备知识

我们透明高斯流水线的概述。每个三维场景首先通过SAM2 [Ravi et al. 2024] 结合GroundingDINO [Liu et al. 2024] 被分离为透明物体和不透明环境。对于透明物体,我们提出了透明高斯原语,它明确编码了三维高斯中的几何和材料属性。这些属性被光栅化为后续延迟着色的贴图。对于不透明环境,我们使用原始的3D-GS进行恢复,并将其烘焙到围绕透明物体的高斯探针中。然后,通过我们的迭代查询算法对高斯探针进行查询,以计算反射和折射。

3D GS的概念不再赘述
渲染方程

L = ∫ Ω L i n ( x , ω i n ) f ( x , ω , ω i n ) ∣ ω i n ⋅ n ∣ d ω i n . (3) L = \int_{\Omega} L_{in} (\mathbf{x}, \omega_{in}) f (\mathbf{x}, \omega, \omega_{in}) |\omega_{in} \cdot \mathbf{n}| d\omega_{in}. \tag 3 L=ΩLin(x,ωin)f(x,ω,ωin)ωinndωin.(3)

双向散射分布函数,𝐿 是阴影结果,𝐿in 是入射辐射,n 是表面法线,𝜔 和 𝜔 i n 𝜔_{in} 𝜔in 分别是出射方向和入射方向。𝑓 表示表面点 x 的双向散射分布函数(BSDF),可以进一步细分为双向反射分布函数(BRDF)和双向透射分布函数(BTDF)

透明高斯

在3D-GS中,球面谐波 [Kerbl et al. 2023] 难以准确捕捉镜面反射和折射中外观的高频变化,这导致了过拟合,从而在新视角中造成退化,或者结果高度模糊。为了解决这个问题,我们提出了一种新的表示,透明高斯原语,它涉及基于物理的渲染流水线,而不是直接计算球面谐波。参数化。如图2所示,我们将表面几何体参数化为法线n,将表面材料参数化为粗糙度𝜌和金属度𝑚。对于透明物体,考虑表面的传输和折射是至关重要的。因此,我们利用两个额外的材料参数:透明度𝑡和折射率(IOR) 𝜂。透明度𝑡用于在不透明材料和透明材料之间进行插值。此外,为了保持高运行性能,我们保留了原始3D-GS [Kerbl et al. 2023] 的形状参数用于𝛼混合和光栅化。

不透明度属性在三维生成系统(3D-GS)中发挥着关键作用,即使对于不透明物体,因为三维生成系统依赖于体积𝛼混合。对于透明物体,仅仅使用较低的不透明度来表示透明性将无法准确表现其表面,这反过来又使得计算折射和反射变得困难。因此,我们引入了一个额外的参数𝑡,以便于在计算机图形学中的应用,例如材料编辑。

表面反射和折射。在本文中,我们通过两个分离的BSDF明确表示表面反射和折射:
f = ( 1 − t ) f r + t f t f = (1 - t)f_r + tf_t f=(1t)fr+tft
其中 𝑓 𝑟 𝑓_𝑟 fr 表示双向反射分布函数(BRDF), 𝑓 𝑡 𝑓_𝑡 ft 表示双向透射分布函数(BTDF)。对于不透明材料,当 𝑡 = 0 时,我们遵循 Cook-Torrance 模型 [1981]。而对于金属或透明物体的反射成分,当 𝜌 = 0 𝜌 = 0 𝜌=0 时,我们将其视为完美镜面反射:
f r = F δ ( ω − ω r ) ∣ ω i n ⋅ n ∣ , with ω r = 2 ( ω i n ⋅ n ) n − ω i n f_r = F \frac{\delta(\omega - \omega_r)}{|\omega_{in} \cdot \mathbf{n}|}, \quad \text{with} \quad \omega_r = 2(\omega_{in} \cdot \mathbf{n})\mathbf{n} - \omega_{in} fr=Fωinnδ(ωωr),withωr=2(ωinn)nωin
其中 𝜔 𝑟 𝜔_𝑟 𝜔r 表示分析反射方向,𝛿 表示 Dirac Delta函数,而 Fresnel 项 𝐹 可以使用 Schlick 近似 [Schlick 1994] 进行近似。同样,对于透明物体的透射成分,当 𝜌 = 0 时,我们仅考虑完美的镜面折射

f t = ( 1 − F ) δ ( ω − ω t ) ∣ ω i n ⋅ n ∣ (6) f_t = (1 - F) \frac{\delta(\omega - \omega_t)}{|\omega_{in} \cdot \mathbf{n}|} \tag 6 ft=(1F)ωinnδ(ωωt)(6)

其中 𝜔 𝑡 𝜔_𝑡 𝜔t 指的是折射方向。如图 2 所示,解析的折射方向是根据斯涅尔定律获得的。

延迟折射 使用3D-GS进行反向渲染的一个关键方面是着色方案。通常,着色策略可以分为两种类型:前向着色和延迟着色。“前向”指的是首先进行着色,然后进行𝛼混合,而“延迟”则相反。先前的研究强调了操作顺序对镜面反射的影响。受到一些关于延迟反射的研究启发 [Wu et al. 2024a; Ye et al. 2024],我们探讨了在处理镜面折射时采用延迟着色的可能性。具体而言,我们使用公式(3)和公式(6)推导透射颜色:

L t = ∫ Ω L i n ( x , ω i n ) ( 1 – F ) δ ( ω – ω t ) d ω i n = ( 1 – F ) L i n ( x , ω t ) . (7) L_t = \int_{\Omega} L_{in} (\mathbf{x}, \omega_{in}) (1 – F) \delta (\omega – \omega_t) d\omega_{in} = (1 – F) L_{in} (\mathbf{x}, \omega_t). \tag 7 Lt=ΩLin(x,ωin)(1–F)δ(ωωt)dωin=(1–F)Lin(x,ωt).(7)

由于𝛼混合是一种线性的操作,而方程(7)相对于法线n并不是线性的,因此操作顺序对折射有显著影响。前向折射对高斯的阴影结果进行了平均。与前向折射相比,延迟阴影在捕捉具有镜面折射的透明物体方面更为擅长,因为它对光照进行了单次采样,如图3所示。在我们的延迟折射策略中(见图2),我们采用了一种基于点的𝛼混合方法,类似于方程(2),以聚合所有由基元携带的反射和折射相关属性。例如,带有α加权的法线的计算公式为:

N = ∑ i = 1 N T i α i n i (8) \mathcal{N}=\sum_{i=1}^{N} T_{i}\alpha_{i}\mathbf{n}_{i} \tag 8 N=i=1NTiαini(8)

此外,与基于环境光的反射相比,我们还需要整合光线的入射点以进行折射和反射。然而,仅仅整合原始图形的中心𝝁会忽略它们的各向异性,从而导致误差。我们采用了一种更精确的策略来计算入射点。考虑到原点 o c a m o_{cam} o

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86311.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某视频网站运维工程师面试题

某视频网站运维工程师面试题 1、 简单写下Xeon和Itanium这两个产品的本质区别? 2、 ECC内存每Bank的颗粒数是单数还是双数的? 3、 假如有5块1T的硬盘,要求组合成尽量多的实际使用空间并至少容忍坏2盘而不影响raid组工作。请问有几种模式来组…

Java底层原理:深入理解JVM性能调优与监控

一、JVM性能调优概述 JVM性能调优是Java应用优化的重要环节,通过合理配置JVM参数,可以提高Java应用的性能和稳定性。JVM性能调优的主要目标是减少垃圾回收的频率和时间,提高线程的运行效率,优化内存的使用。 (一&…

Joblib库多进程/线程使用(一):使用generator参数实现边响应边使用

进程与线程的基本概念 特性进程 (Process)线程 (Thread)定义 操作系统分配资源的基本单位(独立的内存空间) 多进程可真正并行(利用多核 CPU) 进程内的执行单元(共享进程资源)独立性完全独立,崩…

css上下滚动文字

效果图 取得是数组里的数据 上下滚动切换 css .notice-new {background: #222222;border-radius: 19rpx;margin-top: 28rpx;font-size: 24rpx;color: white;font-weight: 500;padding: 0 20rpx;height: 55rpx;line-height: 55rpx;overflow: hidden;.notice-scroll-wrapper {pos…

概念篇: 01-带你认识Dockerfile

在本篇文章中,我们将带你认识 Dockerfile —— 构建 Docker 镜像的"蓝图"。我们会介绍它的基本概念和常用指令,帮助你理解如何使用它来打包你的应用。 简单了解 Docker(背景知识) 在我们深入 Dockerfile 之前&#xf…

技术伦理之争:OpenAI陷抄袭风波,法院强制下架宣传视频

在AI巨头OpenAI宣布以65亿美元天价收购苹果前设计总监Jony Ive的硬件公司IO仅一个月后,一场抄袭指控将这家科技明星企业推上风口浪尖。 源自谷歌X实验室的初创企业IYO将OpenAI告上法庭,指控其窃取智能耳塞核心技术,并通过巨额收购试图掩盖抄袭…

前沿解读:缺陷如何操控二维半导体中的电子摩擦耗散超快动力学

摩擦能耗约占全球一次能源损耗的1/3,在微纳器件中尤为突出。二维半导体(如WS₂)因其独特的电子特性成为研究热点,但电子摩擦的动态机制因电子行为的超快特性长期难以捕捉。近期清华团队在Nature Communications发表的研究[1]&…

什么是物联网 (IoT)?

你家是否安装了智能恒温器?或者你属于三分之一的美国健身追踪器用户,通过设备记录运动习惯?如果是,你已在使用物联网技术。这项技术不仅融入日常生活,更深刻改变着组织的运营方式。物联网通过多种技术连接数字与物理世…

[特殊字符] Windows 查看端口占用及服务来源教程(以 9018 端口为例)

下面是一份详细的 Windows 系统中排查 某端口(如 9018)被哪个程序占用 并确定其具体服务来源的完整教程,适合用于日常运维、开发部署排障等场景。 🎯 Windows 查看端口占用及服务来源教程(以 9018 端口为例&#xff09…

异步爬虫 原理与解析

先遍历100遍一个程序 import requests import logging import timelogging.basicConfig(levellogging.INFO, format%(asctime)s - %(levelname)s: %(message)s) TOTAL_NUMBER 100 BASE_URL https://ssr4.scrape.center/start_time time.time() for id in range(1,TOTAL_NUM…

vscode管理go多个版本

#1.下载go安装包 https://developer.aliyun.com/mirror/golang/?spma2c6h.25603864.0.0.55ea7c45IsI4GM # 2.创建 sdk 目录(如果不存在) mkdir -p ~/sdk # 3.解压下载的 go1.16.15 到 ~/sdk/ tar -C ~/sdk -xzf go1.16.15.linux-amd64.tar.gz # 4.重…

香港维尔利健康科技集团推出AI辅助医学影像训练平台,助力医护人才数字化转型

香港维尔利健康科技集团近日正式发布其自主研发的“AI辅助医学影像训练平台(V-MedTrain)”,这一创新平台的上线,标志着医学影像教育迈入智能化辅助教学新时代。依托人工智能与大数据分析技术,香港维尔利健康科技集团在…

互联网+医疗,医疗服务的全方位革新

近年来,互联网医疗行业迅速崛起,为医疗健康服务带来了翻天覆地的变革。新模式、新业态层出不穷,不仅大幅提升了医疗健康服务的可及性,也使得群众就医体验更为舒适、便捷。互联网技术的广泛应用,不仅改变了医疗核心业务…

酒店智能门锁系统常见问题解决方法——东方仙盟

重做系统后 usb发卡器与注册时发卡器不一致 解决发方法: 用总卡重新注册软件,要可以开房间的总卡 房号不存在 2声---正确提示,表示是设置卡 3声---门锁已反锁,解决方法:用能开反锁的卡或解除反锁 6声---房号不对,解决方法&#…

从零开始理解百度语音识别API的Python实现

大家好!今天我要给大家详细讲解一个使用百度语音识别API的Python代码。这个代码可以将音频文件转换成文字,非常适合做语音转文字的应用。我会从最基础的概念开始讲起,确保没有任何编程基础的朋友也能理解。 翻译 一、代码概览 这段代码主要…

中小企业适用的几种会议签到工具

对企业行政来说,会议签到是件小事,但处理不好,会直接拖慢会议流程、影响管理效率、降低参会体验。尤其是面对人数多、时间紧、场地临时变动等情况,靠传统纸笔或简单Excel管理,往往应对乏力。 实际上,签到看…

android 11.0 打开ALOGV ALOGI ALOGD日志输出的方法

1.前言 在11.0的系统rom定制化开发中,在某些时候,需要打印ALOGV,ALOGI等TAG日志,在系统中,默认是关闭这些日志的, 防止日志打印过多,系统过于卡顿,但是有时候会为了调试,需要打开日志开关,所以就需要在系统源码中查看哪里 需要打开日志的开关,来实现日志的打印解决…

语言大模型or时序大模型?原理、应用与未来发展

引言 随着人工智能技术的飞速发展,大规模预训练模型已成为当前研究的热点。其中,语言模型和时序大模型作为两类重要的模型架构,分别在自然语言处理和时间序列分析领域展现出卓越的性能。然而,这两类模型在基本原理和应用场景上存…

【Excel数据分析】花垣县事业单位出成绩了,用Excel自带的M语言做一个数据分析

这里写自定义目录标题 花垣县事业单位出成绩了,用Excel自带的M语言做一个数据分析需求 花垣县事业单位出成绩了,用Excel自带的M语言做一个数据分析 Power Query M 语言,简称 M 语言,全名叫 Power Query Formula Language。 需求…

微处理器原理与应用篇---音频采集与串口传输功能的系统设计

这段内容是基于 STM32F407VGT6 单片机,实现音频采集与串口传输功能的嵌入式系统设计方案,包含硬件架构、软件逻辑和代码实现,核心是通过 ADC 采集音频、串口收发指令与数据 ,以下分模块拆解: 一、系统设计概述 硬件&…