Anderson 视角
解决扩散模型对镜子和反射的理解有限的问题

自从生成式人工智能开始引起公众兴趣以来,计算机视觉研究领域加深了对开发能够理解和复制物理定律的AI模型的兴趣;然而,教导机器学习系统模拟重力和液体动力学等现象的挑战一直是研究工作的重点,至少在过去五年里。
自从潜在扩散模型(LDMs)在2022年主导了生成式人工智能领域,研究人员越来越关注LDM架构对理解和复制物理现象的有限能力。现在,这个问题由于OpenAI的生成视频模型Sora和开源视频模型Hunyuan Video和Wan 2.1的开发而变得更加突出。
反映不佳
大多数旨在提高LDM对物理理解的研究都集中在步态模拟、粒子物理和其他方面的牛顿运动。这些领域引起了人们的关注,因为在基本物理行为方面的不准确性会立即破坏AI生成视频的真实性。
然而,一小部分但不断增长的研究关注的是LDM的一个最大弱点——它相对无法产生准确的反射。

来自2025年1月份的论文“反映现实:使扩散模型产生忠实的镜面反射”的例子,展示了“反射失败”与研究人员自己的方法的对比。来源:https://arxiv.org/pdf/2409.14677
这个问题在CGI时代也曾是一个挑战,在视频游戏领域仍然是一个挑战,那里的光线追踪算法模拟光线与表面的交互。光线追踪计算虚拟光线如何从物体上弹回或通过物体,以创建真实的反射、折射和阴影。
然而,由于每个额外的弹跳都会大大增加计算成本,实时应用必须在延迟和准确性之间进行权衡,通过限制允许的光线弹跳次数。
![在传统的3D场景中(即CGI)中虚拟计算的光束的表示,使用1960年代首次开发的技术和原理,于1982-93年间达到巅峰(从《创战纪》[1982]到《侏罗纪公园》[1993])。来源:https://www.unrealengine.com/en-US/explainers/ray-tracing/what-is-real-time-ray-tracing](https://www.unite.ai/wp-content/uploads/2025/04/ray-tracing.jpg)
在传统的3D场景中(即CGI)中虚拟计算的光束的表示,使用1960年代首次开发的技术和原理,于1982-93年间达到巅峰(从《创战纪》[1982]到《侏罗纪公园》[1993])。来源:https://www.unrealengine.com/en-US/explainers/ray-tracing/what-is-real-time-ray-tracing
例如,描绘一个放在镜子前的铬茶壶可能涉及一个光线追踪过程,其中光线在反射表面之间反复弹跳,创建一个几乎无限的循环,对最终图像几乎没有实际意义。在大多数情况下,反射深度为2到3次弹跳已经超过了观察者可以感知的范围。单次弹跳将导致镜子呈现黑色,因为光线必须完成至少两次旅程才能形成可见的反射。
每个额外的弹跳都会大大增加计算成本,通常会使渲染时间加倍,因此更快地处理反射成为提高光线追踪渲染质量的最重要机会之一。
反射在远不那么明显的场景中也会发生,并且对于照片现实主义至关重要——例如,雨后城市街道或战场的反射表面;商店窗口或玻璃门上的对面街道的反射;或者在描绘的角色眼镜中,可能需要物体和环境出现。

通过传统合成技术实现的模拟双重反射,来自电影《黑客帝国》(1999年)。
图像问题
因此,在扩散模型出现之前流行的框架,如神经辐射场(NeRF),以及一些最近的挑战者,如高斯斑点法(Gaussian Splatting),在以自然方式模拟反射方面也面临着自己的挑战。
REF2-NeRF项目(如下图所示)提出了一个基于NeRF的场景中玻璃盒的建模方法。在这种方法中,折射和反射是使用依赖于和独立于观察者的元素来建模的。这种方法使研究人员能够估计折射发生的表面,特别是玻璃表面,并实现了直接和反射光分量的分离和建模。

来自Ref2Nerf论文的例子。来源:https://arxiv.org/pdf/2311.17116
过去4-5年中,NeRF面临的其他反射解决方案包括NeRFReN、Reflecting Reality和Meta 2024年的平面反射感知神经辐射场项目。
对于GSplat,论文如Mirror-3DGS、Reflective Gaussian Splatting和RefGaussian提出了关于反射问题的解决方案,而2023年的Nero项目提出了将反射质量纳入神经表示的定制方法。
镜像世界
让扩散模型尊重反射逻辑可能比显式结构化、非语义化的方法(如高斯斑点法和NeRF)更困难。在扩散模型中,这样的规则只有在训练数据中包含许多不同场景的多样化示例时,才可能可靠地嵌入,这使其严重依赖于原始数据集的分布和质量。
传统上,添加这种行为是LoRA或对基础模型的微调的职责;但是,这些并不是理想的解决方案,因为LoRA往往会将输出偏向其自身的训练数据,即使没有提示,而微调——除了昂贵——还会将主要模型不可逆转地分叉到主流之外,并产生一系列相关的自定义工具,这些工具将永远不会与模型的其他任何版本(包括原始版本)一起工作。
一般来说,改进扩散模型需要训练数据更加关注反射的物理学。然而,其他许多领域也需要类似的特殊关注。在超大规模数据集中,自定义策划成本高昂且困难,因此以这种方式解决每一个弱点是不切实际的。
尽管如此,扩散模型的反射问题的解决方案仍然会偶尔出现。最近的一个这样的尝试来自印度,是MirrorVerse项目,它提供了一个改进的数据集和训练方法,能够改进该领域的最新研究成果。

右侧,MirrorVerse的结果与两种先前的方法(中间两列)进行比较。来源:https://arxiv.org/pdf/2504.15397
正如我们在上面的例子中看到的(PDF中的特征图像),MirrorVerse在解决同一个问题的最近尝试中有所改进,但远非完美。
在上面的右上图像中,我们看到陶瓷罐略微偏向右侧,而在下面的图像中,理论上不应该有杯子的反射,但不准确的反射被强行塞入了右侧区域,违反了自然反射角度的逻辑。
因此,我们将研究这新的方法,不仅因为它可能代表当前的最新研究成果,也是为了说明这个问题可能对潜在扩散模型(静态和视频)来说是一个不可解决的问题,因为反射性数据示例可能与特定的动作和场景紧密交织在一起。
因此,这个LDM的功能可能会继续低于结构特定的方法,如NeRF、GSplat和传统的CGI。
新的论文题为《MirrorVerse:将扩散模型推向现实地反映世界》,由来自Vision and AI Lab、IISc Bangalore和Samsung R&D Institute Bangalore的三位研究人员撰写。该论文有一个相关的项目页面,以及一个在Hugging Face的数据集,源代码在GitHub上发布。
方法
研究人员从一开始就指出Stable Diffusion和Flux等模型在尊重基于反射的提示方面的困难,生动地说明了这个问题:

来自论文:当前的最先进的文本到图像模型,SD3.5和Flux,在生成场景中的反射时表现出显著的挑战,难以产生一致且几何准确的反射。
研究人员开发了MirrorFusion 2.0,一种基于扩散的生成模型,旨在提高合成图像中镜面反射的照片现实主义和几何准确性。该模型的训练基于研究人员自己新策划的数据集,称为MirrorGen2,旨在解决以前方法中观察到的泛化弱点。
MirrorGen2通过引入随机对象定位、随机旋转和显式对象接地来扩展早期的方法,以确保反射在对象与镜面相对于表面的姿势和放置方面保持可信度。

MirrorVerse中合成数据的生成模式:数据集生成管道使用3D-Positioner应用关键增强,通过随机定位、旋转和接地对象来实现。对象还以语义一致的组合对配对,以模拟复杂的空间关系和遮挡,允许数据集捕获多对象场景中更现实的交互。
为了进一步加强模型处理复杂空间排列的能力,MirrorGen2管道包含成对的对象场景,使系统能够更好地表示反射设置中的遮挡和交互。
论文指出:
‘类别被手动配对以确保语义一致性——例如,将椅子与桌子配对。在渲染过程中,在定位和旋转主要对象后,从配对类别中采样并排列一个额外的对象,以防止重叠,确保场景中有明确的空间区域。’
关于显式对象接地,作者确保生成的对象被“锚定”到合成数据的底部,而不是“悬浮”在不恰当的位置,这可能会在大规模生成合成数据或使用高度自动化方法时发生。
由于数据集创新是论文的核心,我们将比平常更早地转到论文的这一部分。
数据和测试
SynMirrorV2
研究人员的SynMirrorV2数据集旨在提高镜面反射训练数据的多样性和现实性,采用来自Objaverse和Amazon Berkeley Objects(ABO)数据集的3D对象,并通过OBJECT 3DIT和MirrorFusion项目的V1过滤过程进行了精炼,以消除低质量资产。这最终得到了一个精炼的66,062个对象的池。

来自Objaverse数据集的示例,用于创建新的系统的策划数据集。来源:https://arxiv.org/pdf/2212.08051
场景构建涉及将这些对象放置在CC-Textures的纹理地板和PolyHaven CGI存储库的HDRI背景上,使用全墙或高矩形镜子。照明标准化为在物体上方和后方45度角的区域光。对象缩放以适合单位立方体,并使用预计算的镜子和相机视图截锥的交集进行定位,以确保可见性。
应用了随机旋转,并使用了一个接地技术来防止“浮动伪影”。
为了模拟更复杂的场景,该数据集还包含了多个对象,按照ABO类别的语义一致对配对进行排列。次要对象被放置以避免重叠,创建了3,140个多对象场景,旨在捕获各种遮挡和深度关系。

作者数据集的渲染视图示例,包含多个(超过两个)对象,并在下面显示对象分割和深度图可视化。
训练过程
承认合成现实性本身对于鲁棒的现实世界数据泛化来说是不够的,研究人员开发了一个三阶段的课程学习过程来训练MirrorFusion 2.0。
在第1阶段,作者使用Stable Diffusion v1.5的权重初始化了条件和生成分支,并在SynMirrorV2数据集的单对象训练分割上对模型进行了微调。然后将模型训练了40,000次迭代。
在第2阶段,模型在SynMirrorV2的多对象训练分割上进行了额外10,000次迭代的微调,以教导系统处理遮挡和现实场景中的更复杂的空间排列。
最后,在第3阶段,使用MSD数据集的真实数据进行了额外10,000次迭代的微调,使用Matterport3D单ocular深度估计器生成的深度图。

MSD数据集的示例,真实场景被分析为深度和分割图。来源:https://arxiv.org/pdf/1908.09101
在训练过程中,20%的时间内省略了文本提示,以鼓励模型充分利用可用的深度信息(即“掩蔽”方法)。
训练过程在四个NVIDIA A100 GPU上进行,批大小为每个GPU 4,学习率为1e-5,使用AdamW优化器。
该训练计划逐渐增加了呈现给模型的任务的难度,从简单的合成场景开始,逐渐过渡到更具挑战性的组合,旨在开发强大的现实世界转移能力。
测试
作者评估了MirrorFusion 2.0与之前的最先进方法MirrorFusion(作为基线),并在MirrorBenchV2数据集上进行了实验,涵盖了单对象和多对象场景。
还进行了MSD数据集和Google Scanned Objects(GSO)数据集的额外定性测试。
评估使用了2,991个单对象图像(来自已见和未见类别)和300个两对象场景(来自ABO),性能使用峰值信噪比(PSNR)、结构相似性指数(SSIM)和学习的感知图像补丁相似性(LPIPS)评分来评估反射质量。使用CLIP相似性来评估输入提示的文本对齐。
在定量测试中,作者为特定提示生成了四个种子的图像,并选择了具有最佳SSIM评分的图像。两个结果表格如下所示。

左:MirrorBenchV2单对象分割的单对象反射生成质量的定量结果。MirrorFusion 2.0优于基线,最佳结果以粗体显示。右:MirrorBenchV2多对象分割的多对象反射生成质量的定量结果。训练有多对象的MirrorFusion 2.0优于未训练的版本,最佳结果以粗体显示。
作者评论道:
‘结果表明我们的方法优于基线方法,微调多对象可以提高复杂场景的结果。’
大部分结果和作者强调的结果都与定性测试有关。由于这些插图的尺寸,我们只能部分复制论文中的示例。

在MirrorBenchV2上的比较:基线方法未能保持准确的反射和空间一致性,显示了错误的椅子方向和多个对象的扭曲反射,而作者声称MirrorFusion 2.0正确渲染了椅子和沙发,具有准确的位置、方向和结构。
对于这些主观结果,研究人员认为基线模型未能在反射中保持正确的对象方向和空间关系,通常会产生错误的旋转和浮动对象的伪影。MirrorFusion 2.0在SynMirrorV2上训练,作者声称,在单对象和多对象场景中都保持了正确的对象方向和位置,从而产生更真实和连贯的反射。
下面我们可以看到GSO数据集的定性结果:

在GSO数据集上的比较。基线方法歪曲了对象结构并产生了不完整、扭曲的反射,而MirrorFusion 2.0,作者声称,保持了空间完整性并生成了准确的几何、颜色和细节,即使对于分布外的对象。
作者评论道:
‘MirrorFusion 2.0生成了显著更准确和更真实的反射。例如,在图5(a – 上面),MirrorFusion 2.0正确反映了抽屉把手(用绿色突出显示),而基线模型产生了一个不合理的反射(用红色突出显示)。’
‘同样,对于“白-黄色马克杯”(图5(b)),MirrorFusion 2.0提供了一个令人信服的几何形状,具有最小的伪影,而基线模型未能准确捕捉对象的几何形状和外观。’
最后的定性测试是针对上述真实世界的MSD数据集(部分结果如下):

真实世界场景结果,比较MirrorFusion、MirrorFusion 2.0和在MSD数据集上微调的MirrorFusion 2.0。作者声称,MirrorFusion 2.0更准确地捕捉了复杂场景的细节,包括桌子上的杂乱物体和三维环境中的多个镜子。由于原始论文中的结果尺寸,我们只显示部分结果,完整结果和更高分辨率的结果请参阅原始论文。
作者观察到,虽然MirrorFusion 2.0在MirrorBenchV2和GSO数据集上表现良好,但它最初在MSD数据集的复杂真实世界场景中挣扎。将模型在MSD数据集的一个子集上进行微调提高了它处理杂乱环境和多个镜子的能力,导致反射更连贯和更详细。
此外,进行了一项用户研究,报告称84%的用户更喜欢MirrorFusion 2.0的生成结果而不是基线方法。

用户研究结果。
由于用户研究的细节被委托给了论文的附录,我们将读者引向那里以获取研究的具体细节。
结论
尽管论文中展示的结果是对最新研究成果的显著改进,但当前的最新研究成果如此糟糕,以至于即使是最低限度的努力也能脱颖而出。扩散模型的基本架构不利于可靠地学习和展示一致的物理规律,因此这个问题是错误的,并且似乎不容易找到优雅的解决方案。
此外,将数据添加到现有模型中已经是改进LDM性能的标准方法,具有前面提到的所有缺点。可以合理地假设,如果未来的大规模数据集更注重反射相关数据点的分布(和注释),我们可以期待生成的模型将更好地处理这种情况。
然而,这也适用于LDM输出中的其他许多问题——谁能说出哪一个最值得投入新论文作者提出的解决方案所需的努力和资金?
2025年4月28日首次发表。2025年4月29日星期二:在最后几段中进行了语法更正。












