连 Veo 3.1 都画不对的镜子反射,MirrorWorld 拆成「映什么」与「怎么摆」

MirrorWorld: Taming Video Diffusion Models for Mirror Reflection Generation

Youjun Zhao, Alex Warren, Gary K. L. Tam, Rynson W. H. Lau

cs.CV, cs.LG

2026-08-08

在 Wan2.1-VACE-14B 上加两个对齐损失,一个管镜子里映什么、一个管怎么摆,反射重建四项指标超过 VACE 等视频修复基线。

这篇在解决什么

视频扩散模型(VDM)已经能合成高保真视频,但镜子是盲区。论文开篇放对比:连 Veo 3.1 这种顶级模型,画出的镜中反射也常常对不上场景,映出的物体不对、空间位置离谱。原因是 VDM 的训练目标里并没有「镜中和镜外必须一致」这一条,它把镜子区域当普通像素去补,补出什么都有可能。

镜像反射其实是两个问题叠在一起:镜子里该映什么(语义),映出来的东西该在什么位置、朝哪边(几何)。现有方法要么只管图像级反射、要么是通用视频修复,都没有专门建模这种「场景到镜子」的关系。MirrorWorld 把这两件事分开打。

方法

框架是个带掩码的条件视频生成模型:输入是挖掉镜子区域的视频、镜子位置的二值掩码、文本提示,输出是把镜子区域补全的视频。底座是 Wan2.1-VACE-14B,用 LoRA(rank 32)微调,关键是在训练损失上加两个对齐项。

第一个是语义关系蒸馏(SRD),管「映什么」。它从一个冻结的视觉基础模型(VideoMAEv2-Base)里取参考语义特征,再用扩散模型自己的隐表示算一份特征;对每一帧时间切片,分别算「镜外 token 和镜内 token 之间的余弦相似度矩阵」,然后让扩散模型算出的关系矩阵去逼近参考模型的关系矩阵。冻结的参考模型不接收梯度,知识只往扩散侧迁移。这就逼着模型在镜中放语义上和场景相关的内容,而不是随便补。

第二个是几何变换对齐(GTA),管「怎么摆」。它用另一个 MLP 头取几何特征,把镜子区域的特征先用「镜外可见区域的均值」填上(防止变换估计器直接偷看答案),再用一个共享回归器从前后 K=5 帧的时序上下文里预测一个仿射变换矩阵,对这个变换做可微双线性 warp,最后要求 warp 后的可见特征和镜子区域的特征余弦接近。用一段时间窗而不是逐帧估计,是因为单帧的几何信号不稳。两个损失权重是 λSRD=0.05、λGTA=0.01。

结果

论文把四个已有的镜子数据集(VMD-D、ZOOM、MMD、DVMD-D)重新切成统一格式:1,242 段视频、45,373 帧,按源视频划分训练与测试。对照包括两类,图像级反射生成(MirrorFusion、MirrorVerse)和视频修复(VideoPainter、VACE)。

方法PSNR↑SSIM↑LPIPS↓FVD↓
MirrorFusion9.510.2930.699513.1
MirrorVerse9.670.3120.680416.1
VideoPainter11.280.3990.606229.6
VACE13.540.4890.493191.6
MirrorWorld14.010.5040.488184.9

时序一致性上,流扭曲误差(Ewarp)从 VACE 的 0.026 降到 0.025,VideoPainter 是 0.076。消融实验里,单独 SRD(PSNR 13.55)或单独 GTA(13.54)都不如两者合用(14.01),印证了「映什么」和「怎么摆」是互补的两件事。

要诚实地说,PSNR 14、SSIM 0.5 在绝对意义上是很低的重建质量,说明这是个远没被解决的难题;论文的卖点不是「做得很好」,而是在一个统一基准上、比此前的专用和通用方法都靠前。

为什么重要

对做视频生成的人来说,镜子、玻璃、水面这一类「需要物理一致性的反射表面」是当前模型公认的短板,但缺乏公开基准和方法。MirrorWorld 同时给了三样东西:一个可复现的统一基准、一个可拆解的方法(语义加几何,两个损失项都能单独开关)、以及一个直观的分解思路(「映什么 vs 怎么摆」)。这个分解思路不限于镜子,任何「生成内容要和场景别处保持关系」的任务都可能套用。

方法建立在现成的 Wan2.1-VACE-14B 加 LoRA 上,4 张 A100 就能复现,工程门槛低。

局限与存疑

作者点明的核心局限:整套方法依赖「被反射的东西至少有一部分在画面里可见」。如果镜子映的是镜头视野外的人或物,SRD 和 GTA 都无从约束,模型只能靠先验去合成一个看起来合理、却并非真实的内容,论文的失败案例就是镜子映出一个画面外的路人。

此外还有两点存疑。一是基准的「真值」直接用原始视频,等于假设镜子里反射的就是原始内容,但真实镜像有左右翻转和视角变换,这个任务定义本身可能过于理想化。二是 PSNR、SSIM 这类像素级指标用在反射这种本就该有几何变换的内容上,到底多大程度反映「反射对不对」,论文没给主观评估的对照。

术语

原文与代码

相关论文

全部论文解读