这项由北京大学人工智能研究院(国家通用人工智能重点实验室,智能科学与技术学院)完成的研究,于2026年5月18日以预印本形式发布,论文编号为arXiv:2605.18263,有兴趣深入了解的读者可通过该编号查询完整论文。
站在停车场里,你盯着一辆银色轿车的车窗——车窗上倒映着蓝天白云和旁边的大楼,同时你又能透过玻璃看到车内的方向盘、座椅和仪表盘。你的眼睛轻轻松松就把这两件事同时做到了:既看清楚了玻璃表面的倒影,又看穿了玻璃看到了里面的东西。但对于现有的AI视觉系统来说,这件"轻而易举"的事情,长期以来都是一道难以逾越的坎。
现有的AI图像渲染技术在面对这种"半透明、有反光"的表面时,往往只能二选一:要么把玻璃当成镜子,拼命渲染倒影,结果把车内的东西全遮住了;要么把玻璃当成透明薄片,努力展示车内场景,结果倒影变得模糊一片。北京大学的研究团队将这个问题正式立项研究,开发出了一套名为RT-Splatting的新框架,让AI第一次能够同时、清晰地处理好这两件事。
一、玻璃问题:为什么AI总是"顾此失彼"
要理解这个问题的难处,得先了解现代AI是怎么"看图"的。目前最流行的一种方案叫做"3D高斯泼溅"(3D Gaussian Splatting,简称3DGS)。这个名字听起来很奇怪,但其实思路很直白:把一个三维场景想象成由成千上万个半透明的小泡泡组成,每个泡泡都有自己的颜色、透明度和位置。当AI要从某个角度"看"这个场景时,它就把这些泡泡投影到一张二维图像上,一层层叠加,最终合成你看到的画面。这套系统非常高效,能实现实时渲染,是目前业界的主流技术之一。
但问题就卡在了那个"透明度"参数上。在现有的系统里,每个小泡泡只有一个透明度数值,这个数值同时承担着两件性质完全不同的事:第一,决定这个泡泡作为一个"物理表面"有多实、有多强的存在感;第二,决定光线穿过这个泡泡时会被吸收多少。
对于一块普通的砖墙来说,这两件事是绑在一起的:墙很实,所以光透不过去,两个参数高度一致,没有矛盾。但玻璃呢?玻璃作为一个物理表面是非常"实"的——它能清晰地反射光线,产生锐利的倒影。然而同时,它对光的阻拦能力又很低——光可以顺利穿透它,你能看到玻璃后面的东西。这就像一个人既要站得笔直、身形清晰(高"存在感"),又要做到让你透过他看到身后的风景(高"透明度"),用同一个数值无法同时满足这两个矛盾的要求。
正因如此,现有AI系统在处理车窗、橱窗、塑料薄膜这类场景时总是陷入两难:调高透明度,玻璃变成了透明薄纸,倒影渲染得模糊不清;压低透明度,玻璃变成了实心黑板,车内的一切被彻底遮住。更糟的是,系统为了弥补倒影渲染的不足,往往会在玻璃背后"幻觉"出一些悬浮的虚假几何体(行话叫"floaters",就是漂浮物),这些幽灵般的东西不仅使倒影失真,还进一步遮挡了本应透明可见的背景。
二、拆分透明度:一个参数变两个参数的关键发明
北京大学团队解决问题的核心思路,就是把那一个纠缠不清的"透明度"参数,拆成两个各司其职的参数。
第一个参数叫做"几何占据率"(geometric occupancy),可以理解为这块玻璃作为一个物理表面的"存在感"或者"实体程度"。它的数值高,意味着这个表面真实存在,光线会与它发生相互作用,AI可以从它身上提取到清晰的法线方向(即表面朝哪个方向)、粗糙程度等信息,用来计算倒影该长什么样。
第二个参数叫做"光学不透明度"(optical opacity),可以理解为这块玻璃对光线的"阻拦能力"。它的数值低,意味着光可以轻松穿过,玻璃后面的东西对于观察者来说清晰可见。
把这两个参数相乘,才得到最终用于渲染时控制遮挡效果的"有效不透明度"。这就相当于规定:光线被这个表面挡住,必须同时满足两个条件——这个表面首先要在几何上"存在",其次还得对光有足够的阻拦能力。对于玻璃来说,几何占据率高(玻璃是真实存在的),光学不透明度低(光可以穿过),两者相乘得到的有效不透明度就很低,于是玻璃后面的东西自然而然地保持可见。
这个设计听起来简单,却在整个渲染流程中引发了连锁反应。因为用几何占据率来标识"这里有个表面",AI就可以用一套专门处理反光的技术(叫做延迟着色,deferred shading)来精确计算倒影;同时用光学不透明度来控制背景光线的积累,两套流程并行不悖,共用同一批"泡泡",却各自发挥不同的作用。
在这套框架里,每个泡泡对"第一个被光线碰到的表面"的贡献概率,可以用一个数学公式严格计算出来。排在最前面的泡泡贡献最大,后面的泡泡则按照前面泡泡的遮挡程度依次递减。这样,AI就能够把场景中每个位置的表面法线、粗糙度等属性,精确地汇聚到一张"属性地图"(G-buffer)上,再用专门的反光计算程序得到清晰的倒影颜色。
整个系统建立在2D高斯泼溅(2DGS)框架之上,这是3D高斯泼溅的一个改进版本,把每个泡泡从三维球体变成了贴合表面的二维圆盘,更适合表示实体表面,法线方向也更加明确可靠。
三、混合渲染管线:倒影和透射各走各路、最后合并
有了这套拆分之后的表示,渲染流程就变成了两条并行的轨道,最后交汇在一起。
第一条轨道专门处理反光。它利用几何占据率从场景中提取第一个被光线碰到的表面信息,包括法线方向、表面粗糙程度,以及一个专门学习到的"材质特征"向量。把这些信息送入一个专门的高光着色网络(其架构借鉴自另一项名为Ref-GS的工作),结合观察方向,就能计算出每个像素上的高光颜色,捕捉来自周围环境的倒影效果。
第二条轨道专门处理背景透射。它就像标准的体积渲染一样,把光线穿过场景时遇到的所有不透明物体的颜色一路叠加积累,但关键是,它在经过玻璃等半透明表面时,使用的是"有效不透明度"(几何占据率乘以光学不透明度),而非单独的几何占据率。这样,背景场景的颜色就不会被玻璃表面的几何存在所阻挡,可以顺利地穿透过来。
此外,研究团队还注意到,现实中有些材料——比如有色玻璃或者彩色塑料薄膜——本身会有一定程度的散射,也就是说光线在进入材料内部后会被染上颜色、改变方向,而不是完全笔直地穿透。为了处理这个细节,每个泡泡还额外携带了两个属性:一个"内部散射颜色",代表材料内部散射回来的光的颜色;一个"透射比",控制这个散射颜色与背景透射颜色之间的混合比例。两者加权混合,得到一个"次表面传输颜色",代表所有从材料内部或穿透材料而来的光的综合效果。
最后,这个"次表面传输颜色"还会被一个可学习的"衰减因子"所调制。这个设计源自一个很直白的视觉观察:当玻璃上的倒影很强很复杂时,透过玻璃看到的背景内容会被大幅压制,在强光斑覆盖的区域甚至完全看不见背景;而当倒影很弱时,背景内容就能完整地透出来。这个衰减因子直接调节背景内容被压制的程度,让最终画面的视觉效果更自然真实。最终颜色就是高光颜色加上被衰减因子调节后的次表面传输颜色。
四、梯度门控:堵住"乱发脾气的倒影"污染背景的漏洞
即便有了这套两条轨道并行的设计,训练过程中仍然面临一个棘手的问题。高光倒影本身就很难被AI完美地拟合,因为它随着观察角度的微小变化而剧烈变化,具有极高的频率特性。当AI在训练中无法完美还原某个角度的倒影时,就会产生误差,并向上游传递"修正信号"(梯度)。问题在于,这个修正信号有时会"走错路",流进了负责处理背景透射的那条轨道。
结果就是,背景透射轨道收到了一个"错误的指令",误以为自己在当前位置渲染得不够好,于是开始在玻璃背后凭空制造出一些幽灵般的几何结构来"弥补",这正是那些令人头疼的"漂浮物"的来源。这些漂浮物让背景变得混乱,原本应该清晰可见的车内场景或室内景观变得一团糟。
研究团队提出了一个名为"高光感知梯度门控"的机制来解决这个问题。核心思路是:在那些倒影复杂、高光强烈的像素区域,主动压低流向背景透射轨道的修正信号;而在倒影简单或几乎没有倒影的区域,则保持修正信号不变,让背景透射轨道可以正常接受监督和优化。
具体实现上,系统会在每个像素周围取一个3×3的小邻域,计算该区域内高光颜色的局部方差。方差越大,说明这个区域的高光花纹越复杂、变化越剧烈,很可能就是AI难以拟合、容易产生错误梯度的地方。于是系统就在反向传播时,用一个随方差增大而快速衰减的权重,压低流向背景透射轨道的梯度。这个权重的计算公式是e的负k倍方差次幂,其中k是一个可调节的超参数,控制门控的敏感程度,研究团队通过实验发现k=4时效果最优。
这个机制的妙处在于它不是简单地"一刀切"地封锁所有梯度,而是根据每个像素的实际情况动态调节。在简单倒影或无倒影的区域,背景场景仍然可以收到充分的训练信号,几何结构和颜色得以正确优化。只有在那些AI自己都搞不清楚的复杂高光区域,才会主动保护背景透射轨道免受误导。
五、透明度遮罩:告诉AI哪里是玻璃
拆分了几何占据率和光学不透明度之后,有一个新的麻烦随之而来:场景中任何地方都可以出现几何占据率高但光学不透明度接近零的泡泡,而且由于这些泡泡几乎不影响最终的渲染颜色(它们的有效不透明度趋近于零),训练时很难对它们施加有效的约束。这些"幽灵泡泡"会在场景中到处漂浮,特别是在那些没有明显高光的漫反射区域,没有足够的信号来告诉它们"你不应该出现在这里",从而污染场景的表示,扰乱优化过程。
解决方案是引入一个透明度遮罩的监督信号。研究团队借用了Meta开发的SAM2模型(一种强大的图像分割工具)来自动识别场景中哪些区域是半透明材质。利用这个遮罩,系统在训练时会额外检查:每个像素上第一个被光线碰到的表面,其光学不透明度是否与该像素是否属于透明区域的判断相符。透明区域对应的表面光学不透明度应该低,非透明区域的表面光学不透明度应该高。用交叉熵损失函数对这个匹配程度进行监督,就能有效约束那些漫游的幽灵泡泡,让它们要么老老实实地降低光学不透明度(承认自己是透明材质),要么消失掉。
值得强调的是,这个遮罩仅仅作为一种正则化约束,而不是把场景切割成两个独立部分分别处理的依据。系统始终是对整个场景进行联合优化,包括玻璃内外的所有内容。这种联合优化策略对于处理那些背景只能透过透明表面才能被摄像机看到的场景至关重要——比如拍摄卡车时,卡车内部的驾驶舱只能透过前挡风玻璃才能被摄像机记录到。如果把玻璃和背景拆开分别训练,背景就永远看不到驾驶舱内部,无法重建那部分的几何结构和颜色。
六、训练细节:管理泡泡的生命周期
在训练过程的管理上,研究团队也针对新的双参数设计做了相应的调整。标准的2DGS框架会定期对泡泡的不透明度进行"重置",类似于给它们清零重来,以防止无效泡泡堆积。但在新框架里,有两个参数需要管理,不加区分地同时重置可能会破坏那些正在表示透明表面的泡泡的状态。
研究团队的做法是将重置周期从每3000次迭代缩短到每1500次,但在几何占据率和光学不透明度之间交替进行,即每隔1500次迭代,轮流对其中一个参数进行重置。此外,决定哪些泡泡因为"没用"而应该被裁剪删除时,依据的是几何占据率而不是光学不透明度,这样才不会把那些几何存在感强但光学不透明度低的玻璃泡泡当成"无用泡泡"错误地删掉。
总损失函数由四部分组成:标准的图像颜色重建损失(L1损失、结构相似性损失和感知损失的加权组合,感知损失的权重为0.01)、法线一致性损失(权重0.05,鼓励相邻区域的法线方向和深度梯度保持一致,使几何结构更光滑)、透明度遮罩监督损失(权重0.01)。所有实验在单块NVIDIA RTX 4090显卡上完成。
七、实验效果:数字说话,倒影和透射同时大幅提升
研究团队在八个真实场景上验证了RT-Splatting的效果,涵盖不同类型的半透明材质和不同的场景复杂度。其中六个场景来自已有的公开数据集:Ref-Real数据集中的Sedan和Toycar,NeRF-Casting数据集中的Compact和Hatchback,EnvGS数据集中的Audi,以及Tanks and Temples数据集中的Truck。另外两个场景Van和Swab是研究团队自己用智能手机拍摄的,每个场景拍摄了220到240张照片。
评测指标包括三种:PSNR(峰值信噪比,数值越高说明渲染图与真实照片越相似)、SSIM(结构相似性,评估整体结构的还原程度,越接近1越好)、LPIPS(感知图像相似度,从人眼感知角度评估质量,数值越低越好)。这三个指标分别在整张图像和单独的透明区域上计算,特别是后者更能直接反映对玻璃等半透明材质的处理能力。
与六种基线方法相比——包括基础的3DGS和2DGS,以及专门针对反光场景设计的GaussianShader、3DGS-DR、Ref-GS和EnvGS——RT-Splatting在所有指标上均取得了最优结果。在公开数据集上,RT-Splatting的整体图像PSNR为27.490,比排名第二的EnvGS(27.141)高出约0.35;透明区域的PSNR则达到39.765,远高于排名第二的3DGS-DR(37.890),提升幅度约为1.87。在自拍场景上,差距更为明显:整体PSNR从EnvGS的26.847大幅跃升至28.780,透明区域PSNR从31.726跃升至35.490,LPIPS则从0.057降低至0.042。
渲染速度方面,RT-Splatting达到约33帧每秒,满足实时渲染的基本要求,训练时间约为0.9小时,与其他基线方法相当甚至更短(例如EnvGS需要2.9小时)。从视觉效果上看,基线方法在处理车窗区域时普遍存在两类典型失败:要么倒影渲染得模糊不清、细节丢失;要么玻璃被渲染成不透明的深色表面,完全遮住了车内场景。RT-Splatting则能同时做到倒影清晰锐利、车内或背景场景清晰可见,在Hatchback(两厢车)、Compact(紧凑型车)、Truck(复古卡车)、Swab(塑料薄膜)、Van(厢式货车)等不同场景上均表现一致。
八、消融实验:每个设计环节的贡献
为了验证每个设计环节对最终效果的独立贡献,研究团队系统地移除各个组件,对比结果下滑了多少。
移除几何占据率和光学不透明度的拆分(退化为单一不透明度参数)之后,透明区域PSNR从37.983下降至36.919,降幅超过1,视觉上明显体现为倒影变模糊或者背景被遮挡。这证明了这个拆分是整个方案中最核心的贡献之一。
移除联合优化策略(改为分阶段分别训练倒影和背景)之后,透明区域PSNR下降至36.288,降幅最大,且从可视化图像中可以直接看到,Truck场景的驾驶舱内部完全消失,无法被重建,印证了在背景只能通过透明表面可见时联合优化的不可或缺性。
移除内部散射和吸收建模(去掉散射颜色和透射比这两个属性)之后,PSNR降至37.597,视觉上体现为透射图像颜色明显偏暗,因为材料本身的颜色信息被错误地烘焙进了背景场景的颜色表示中。
移除可学习的衰减因子之后,PSNR降至37.541,说明对"强高光压制背景可见度"这一视觉现象的显式建模确实有效。
移除高光感知梯度门控之后,PSNR降至37.754,透明区域出现明显的漂浮物伪影,与保留门控的结果相比背景清晰度显著下降。
移除透明度遮罩正则化之后,PSNR降至37.167,优化稳定性和表面质量有所下滑,说明这个约束对于规范幽灵泡泡的行为是必要的。
九、场景编辑:拆开就能改
RT-Splatting在工程应用上还带来了一个额外的好处:由于整个场景被清晰地分解成了高光层、背景透射层、内部散射层、衰减因子等独立的部分,对场景进行后期编辑变得非常直接。
以车窗为例,可以单独调高表面粗糙度,使原本光滑清晰的倒影变成模糊磨砂质感;可以将光学不透明度调高,使玻璃变成完全不透明的实体表面,彻底遮住车内;可以只去掉高光颜色部分,得到一个"去除倒影"后只有透射背景的干净视图;甚至可以调整散射颜色,给玻璃加上颜色,变成仿佛贴了彩色膜的效果。对于塑料薄膜这类场景,类似的操作同样适用:调低透射比可以降低透明度,去掉高光可以得到材质的本色。所有这些编辑操作都不需要重新训练模型,只需要在渲染时修改对应的参数值即可,具有实际的商业和创作价值。
研究团队也坦诚地指出了当前工作的局限性。RT-Splatting的设计前提是"薄半透明表面",即光线穿过表面后基本沿直线传播,不发生明显的折射偏折。对于厚实的玻璃砖、水体、实心玻璃球这类会产生明显折射效果的物体,以及需要追踪光线多次反弹的复杂间接照明场景,这套框架还无法直接处理。团队表示,将反射折射和多次光线弹射纳入框架是未来工作的方向。
说到底,北京大学这项工作解决的是一个AI视觉领域长期存在的根本性矛盾——一个表面既要"有"(让AI能看到它、从它身上提取反光信息),又要"没有"(让AI能透过它看到背后)。过去的方案因为把这两件事绑在同一个参数上,始终无法兼顾。RT-Splatting通过把这两件事分开来表示和处理,配合一套让倒影错误不会污染背景渲染的保护机制,终于让AI能够做到人眼轻松做到的事:同时看清楚玻璃上的倒影,和玻璃里面的场景。
这对普通人的影响或许比看起来更实际。无论是自动驾驶汽车需要准确理解车窗反光和透视场景、影视制作中需要对含有玻璃的场景进行精确三维重建、还是AR/VR应用中需要逼真还原含有玻璃材质的虚拟场景,这套技术都提供了一种更准确、更高效的基础工具。有兴趣深入了解技术细节的读者,可以通过arXiv编号2605.18263查阅完整论文,项目主页也提供了更多可视化结果和补充视频。
Q&A
Q1:RT-Splatting和普通3D高斯泼溅技术的核心区别是什么?
A:普通3D高斯泼溅用一个透明度参数同时控制表面的几何存在感和光线穿透能力,遇到玻璃这类材质时无法兼顾。RT-Splatting把这个参数拆成"几何占据率"和"光学不透明度"两个独立参数,前者决定AI能不能从这个表面提取反光信息,后者决定光线能不能穿透,从而让高光和透射可以同时被正确渲染。
Q2:RT-Splatting训练时产生漂浮物伪影的根本原因是什么,高光感知梯度门控是怎么解决的?
A:AI在拟合复杂高光倒影时往往有残差误差,这些误差产生的修正信号会"走错路"流入负责处理背景透射的部分,导致背景渲染模块在玻璃后面凭空制造虚假几何结构来弥补误差,这就是漂浮物的来源。梯度门控通过计算每个像素周围高光颜色的局部变化剧烈程度,在高光复杂区域主动压低流向背景渲染模块的修正信号强度,保护背景渲染不受干扰。
Q3:RT-Splatting能处理哪些类型的场景,有什么限制?
A:RT-Splatting适合处理薄半透明表面,比如车窗、橱窗玻璃、塑料薄膜等光线近似直线穿透的材质,且在背景完全只能透过透明表面才能被看到的场景中也能正确重建。不适合处理会产生明显折射偏折的厚实玻璃体、水体,或者需要追踪光线多次反弹的复杂间接照明场景。
好文章,需要你的鼓励
AWS AI Labs研究团队发布EvalAgent,这是一套通过"评估技能"自动生成AI智能体评测方案的系统,将首次运行成功率从17.5%提升至65%,并在人类专家评测中获得79.5%的偏好选择。
亚历山大大学提出M2Retinexformer,通过融合深度、亮度和语义三种辅助模态,让AI在增强暗光图像时兼顾几何结构与视觉自然度。
浙大、西湖大学等联合提出FAAST,无需反向传播,一次正向扫描将训练样本压缩为快速权重矩阵,推理时间和内存占用分别节省90%和95%以上。
慕尼黑工业大学发布RealICU基准,用专家后见之明评测大语言模型在ICU实时决策中的真实能力,发现现有顶级AI存在有害推荐率过高和锚定偏差两大安全隐患。