WildRayZer:动态环境中的自监督大规模视角合成 WildRayZer: Self-supervised Large View Synthesis in Dynamic Environments
自监督框架,从动态无姿态稀疏视角输入中去除运动物体并合成静态新视角
前置知识
Novel View Synthesis (NVS, 新视角合成)
给定一组已知视角的图像,合成从任意新相机位姿观察同一场景的图像。传统方法如 NeRF 通过神经辐射场隐式表示 3D 场景,3D Gaussian Splatting 则用显式高斯体表示。近期大模型(如 LVSM、RayZer)采用纯 Transformer 架构,在 token 空间中隐式完成 3D 重建和渲染,无需显式 3D 表示。NVS 的核心挑战在于从有限输入视角中推断完整的 3D 结构,并在新视角下正确处理遮挡关系。
本文的核心任务就是动态场景下的 NVS,理解 NVS 的基本范式(尤其是 RayZer 这类无 3D 监督的 Transformer 渲染器)是理解本文技术路线的前提。
Self-supervised Learning (自监督学习)
不依赖人工标注的监督信号,而是从数据本身构造学习目标。在 3D 视觉中,这意味着不使用真实相机位姿、深度图、点云等 3D 标注,而是通过图像重建损失(如 MSE、感知损失)或其他自生成的伪标签来训练模型。RayZer 就是自监督 NVS 的代表——它从无姿态、无标定的多视角图像中同时学习相机位姿估计和场景重建。
WildRayZer 的核心挑战是在自监督框架下同时处理动态物体,需要从渲染误差中自动发现运动区域,这比有监督设置复杂得多。
Analysis-by-Synthesis (分析-合成策略)
一种经典计算机视觉策略:先用模型合成(渲染)一个预期输出,再将其与实际观测比较,两者的差异就揭示了模型无法解释的部分。在本文中,静态渲染器预测刚性场景在新视角下应该是什么样,渲染结果与实际观测图像之间的残差就指向了动态物体所在区域。这种方法不需要预先知道运动物体在哪里,而是通过合成-比较自动发现。
这是 WildRayZer 生成伪运动掩码的核心机制,理解这个策略才能理解为什么静态渲染器的残差可以作为运动检测的信号。
Plücker Embedding (普吕克嵌入)
一种将 3D 空间中的射线参数化为向量表示的方法。给定相机位姿和像素坐标,每条光线可以用一个 6 维的 Plücker 坐标表示(方向向量 3 维 + 力矩向量 3 维)。在 NVS 中,Plücker 嵌入为每个像素/patch 提供了几何先验信息,告诉渲染器这条射线在世界坐标系中的位置和方向。RayZer 使用像素对齐的 Plücker 射线图作为渲染器的几何输入。
Plücker 嵌入是 RayZer 和 WildRayZer 中相机位姿信息传递到渲染器的核心方式,也是相机估计器输出到渲染器之间的桥梁。
DINOv3 Features (DINOv3 特征)
DINOv3 是一种自监督视觉 Transformer 预训练模型,提取的 patch 特征具有强大的语义一致性——同一物体的不同视角、不同外观下,其 DINOv3 特征的余弦相似度很高。本文利用这一特性来判断渲染结果与真实图像在语义层面的差异:如果某个区域的 DINOv3 特征相似度很低,说明该区域可能是渲染器无法解释的动态物体。
DINOv3 特征是构造伪运动掩码的关键信号之一,它比像素级 MSE 更稳定,能在渲染质量较差时仍提供可靠的运动检测线索。
研究动机
现有的大规模新视角合成方法(包括最新的自监督方法 RayZer)都基于一个根本假设:3D 场景是静态的。这一假设在真实世界中几乎不成立——无论是 YouTube 上的房产漫游视频、家庭监控录像,还是随手拍摄的室内视频,都不可避免地包含移动的人、宠物、车辆等动态物体。当这些动态内容出现在训练或推理输入中时,现有方法会将其误认为场景的固有部分,导致多重问题:动态物体在新视角合成中产生鬼影(ghosting)和虚假几何(hallucinated geometry);相机位姿估计因为动态内容的干扰而不稳定;模型只能依赖 RealEstate10K 等经过严格筛选的静态数据集进行训练,无法利用互联网上海量的含有自然动态内容的视频数据。具体来说,RealEstate10K 有 80K 序列但全是静态场景,而现有动态场景数据集如 D-NeRF、Nerfies、HyperNeRF 等只有不到 20 个序列,严重限制了动态 NVS 方法的规模化训练和评估。
本文的目标是本文的目标是构建一个完全自监督的新视角合成框架,能够在不需要任何动态掩码标注、相机位姿标注或 3D 几何标注的情况下,从包含动态物体的稀疏无姿态多视角图像中,自动分离瞬态物体运动和相机运动,仅重建场景的静态刚性结构,并从新视角渲染出无动态物体干扰的图像。同时,为了支持该任务的大规模训练和评估,本文还目标构建一个包含 15K 序列的动态室内场景数据集和一个配备成对瞬态/干净视角的评测基准。
与已有工作不同的是,本文的独特切入角度在于:它不是像 RobustNeRF、WildGaussians 等优化式方法那样通过鲁棒损失函数或外观建模来“忽略”动态物体,而是采用分析-合成(analysis-by-synthesis)策略主动发现动态区域——让静态渲染器先解释刚性结构,然后从渲染残差中提取运动信号。这种策略将运动检测与场景重建自然地耦合在一起:渲染器越好,运动掩码越准;运动掩码越准,渲染器就能更好地专注于静态区域。更重要的是,已有工作(如 NeRF On-the-Go)在动态场景上的方法都是基于优化的——每个场景需要单独优化数小时,而 WildRayZer 是前馈式的(feed-forward),一次前向传播即可完成位姿估计、运动掩码预测和新视角渲染,速度优势巨大。此外,本文还发现单纯使用外部运动掩码(如 SAV)来掩蔽 token 是不够的——跨视角补全需要学习,而非简单的掩蔽操作。
核心方法
WildRayZer 的核心思路可以用一个类比来理解:想象你是一个盲人画家,朋友从不同角度拍了一间房间的照片给你描述。你先根据描述画出房间的静态结构(墙壁、家具),但发现有些描述中多出了一个“人”——这个“人”在不同照片中位置不同,干扰了你对房间结构的理解。你的解决方案是:先画出你认为的静态房间,然后对比朋友的照片,差异处就是“人”的位置;知道了人在哪里后,你就只听描述静态区域的部分,最终画出一间没有人的干净房间。技术路线如下:首先在纯静态数据集 RealEstate10K 上预训练 RayZer,使其掌握无监督相机估计和静态场景重建能力。然后在动态数据上,使用预训练的 RayZer 作为静态渲染器,通过渲染残差构造伪运动掩码,并从这些伪掩码中蒸馏出一个可学习的运动估计器。最后,运动估计器屏蔽输入图像中的动态 token,让场景编码器只看到静态内容,从而实现对动态场景的自监督新视角合成。整个训练分为三个阶段交替进行,确保训练稳定性。
WildRayZer 最核心的创新是将运动检测问题转化为渲染残差分析问题,并通过交替优化将运动掩码和场景重建耦合在一起。具体来说,它不使用任何显式的运动检测网络或光流估计器,而是让一个冻结的静态渲染器去“解释”输入图像,渲染器无法解释的部分(即渲染残差)就是运动区域的证据。这些残差通过 DINOv3 语义特征和 SSIM 外观特征的自适应融合得到软伪标签,再训练一个轻量运动估计器来学习预测这些掩码。更关键的是 token 屏蔽机制:运动估计器输出的概率图被下采样到 patch 网格,超过阈值的 patch 的 token 被直接置零,只有静态 token 参与场景编码。这意味着动态内容从源头被排除在 3D 场景表示之外,而不是像 RobustNeRF 那样在损失函数中降权。此外,本文还引入了 copy-paste 增强策略:从 COCO 数据集中随机粘贴物体到静态训练图像上,为运动估计器提供精确的合成瞬态监督,增强对未见物体的泛化能力。这种设计使得 WildRayZer 与已有方法有本质区别:RobustNeRF 系列通过鲁棒损失函数在优化阶段“忽略”离群像素,Spotless-Splats 学习一个可微的像素权重,而 WildRayZer 直接从场景表示中移除动态内容,并通过交替优化让掩码和渲染相互促进。
方法步骤详情
WildRayZer 的完整训练流程分为三个阶段。第一阶段:RayZer 预训练。在纯静态的 RealEstate10K 数据集上训练基线 RayZer 模型,使用 2 个输入视角和 6 个目标视角,优化 L2 重建损失(权重 1.0)和 VGG 感知损失(权重 0.2),训练 100K 步,学习率 $4 \times 10^{-4}$,批量大小 64,场景 token 数 768,图像分辨率为 $256 \times 256$,patch 大小 $16 \times 16$。第二阶段:运动掩码学习。冻结渲染器,将动态图像输入预训练的 RayZer,获取渲染结果 $\hat{I}$。对每一对目标图像 $I$ 和渲染 $\hat{I}$,构造伪运动掩码:先计算 SSIM 不相似度图 $D_{SSIM}$ 和 DINOv3 余弦不相似度图 $D_{DINO}$,分别 z-score 标准化后按自适应权重融合为显著性图 $D_{bin}$(渲染质量差时侧重 DINO,质量好时侧重 SSIM)。然后在 batch 内对所有帧的 DINOv3 patch 特征做 K-means 聚类,将平均显著性得分在前 5% 且在至少 4 帧中显著的聚类标记为前景。最后通过形态学平滑、小连通域移除和 GrabCut 边界精修得到二值掩码 $M_{bin}$。运动估计器 $E_{mot}$ 接收三种信号的融合:DINOv3 patch 特征、RayZer 图像 token、Plücker 射线 token,经 LayerNorm 和线性投影后拼接,通过融合 MLP 和 4 层 Transformer 处理,再经 DPT 风格解码器上采样到原始分辨率,输出逐像素 logit $S(I)$。训练目标为 BCE 损失,仅使用渲染 PSNR $> 17$ dB 的样本。第三阶段:掩蔽重建与联合训练。冻结运动估计器,对输入图像预测运动概率图,下采样到 patch 网格,阈值化得到二值 patch 掩码 $\Pi$,将动态位置的 token 置零后再编码场景。同时进行 copy-paste 增强:从 COCO 中随机粘贴 1-2 个物体到 50% 的训练场景中(占图像面积 25-35%),粘贴区域作为精确的运动掩码监督。最终联合微调所有组件,在动态数据和增强数据上端到端训练。
技术新颖性
WildRayZer 的技术新颖性体现在多个层面。首先,它是第一个将自监督大视角合成模型扩展到动态环境的前馈框架——此前的 RayZer、LVSM 等完全不处理动态内容,而 NeRF On-the-Go 等动态场景方法是优化式的,需要每个场景单独优化。其次,伪掩码构造策略是全新的:不是简单使用 MSE 残差(在渲染质量差时噪声极大),而是融合 DINOv3 语义相似度和 SSIM 外观相似度,并根据当前渲染质量自适应调整两者的权重——训练早期渲染粗糙时依赖更稳定的语义信号,后期渲染精细时利用更精确的外观信号。第三,copy-paste 增强在运动掩码学习中的应用是独特的:已有 copy-paste 工作(如实例分割中的 Simple Copy-Paste)用于增强分割模型,但本文将其用于为自监督运动检测提供精确合成监督,且发现 copy-paste 单独使用效果差(mIoU 仅 18.2),但与伪掩码结合后在域外数据上显著提升(DAVIS 上 mIoU 从 3.4 提升到 31.0)。第四,本文揭示了一个重要发现:即使有完美的运动掩码,简单地掩蔽 token 并不够(如 RayZer+SAV 基线仍然有明显的遮挡伪影),跨视角补全必须通过学习来实现——这说明掩蔽只是第一步,渲染器本身也需要学习在部分 token 缺失时如何利用其他视角的信息来补全被遮挡的静态区域。
实验结果
WildRayZer 在多个基准和指标上均显著超越现有方法。在 D-RE10K 的静态区域评估中(仅计算运动物体以外的区域),2 视角输入时 WildRayZer 达到 PSNR 21.78 dB、SSIM 0.734、LPIPS 0.308,而最强基线 RayZer+SAV 只有 19.01/0.628/0.397,优化式方法中最好的 Spotless-Splats 仅 16.45/0.548/0.468。3 视角和 4 视角设置下,WildRayZer 分别达到 21.98/22.38 dB PSNR,比次优方法高出 1.5-2 dB。在 D-RE10K-iPhone 的全图像评估中(包含瞬态区域),WildRayZer 同样领先:2 视角时 PSNR 20.89 dB(WildGaussians 为 18.43,RayZer+SAV 为 19.57),4 视角时 20.98 dB。值得注意的是,在静态/瞬态分区分析中(Table 3),WildRayZer 在静态区域 PSNR 21.00 dB、瞬态区域 20.99 dB,两者非常接近,说明模型在两个区域都保持了良好的渲染质量,而其他方法在瞬态区域的质量往往明显低于静态区域(如 WildGaussians 静态 18.47、瞬态 18.46,差距较小但整体质量低)。运动掩码质量方面(Table 4),WildRayZer 在 2 视角输入时 mIoU 53.9、Recall 85.1,远超自监督方法 Co-segmentation(mIoU 9.6)和有监督方法 Segment Any Motion(mIoU 31.9)。8 视角时 WildRayZer 的 mIoU 提升到 54.2、Recall 87.7,而 SAV 在 8 视角时 mIoU 才 50.9。消融实验表明,copy-paste 增强单独使用对真实视频几乎无效(D-RE10K mIoU 18.2),但与伪掩码结合后在域外数据 DAVIS 上的 mIoU 从 3.4 大幅提升到 31.0,证明了其对泛化能力的关键作用。DINOv3 特征的引入也至关重要:没有 DINOv3 时,mask mIoU 达到 30 需要 20K 步训练;加入 DINOv3 后仅需 1.5K 步,最终性能也从 29.4 提升到 39.4 mIoU。此外,WildRayZer 在 DAVIS 数据集上展示了零样本泛化能力,能成功去除训练中未见过的户外场景中的运动物体。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| D-RE10K 静态区域 NVS (2 views) | PSNR (dB) | 21.78 | RayZer+SAV: 19.01, Spotless-Splats: 16.45, WildGaussians: 16.12 | +2.77 over RayZer+SAV |
| D-RE10K 静态区域 NVS (3 views) | PSNR (dB) | 21.98 | RayZer+SAV: 20.35, RayZer+MegaSAM: 20.13 | +1.63 over RayZer+SAV |
| D-RE10K 静态区域 NVS (4 views) | PSNR (dB) | 22.38 | RayZer+SAV: 20.73, RayZer+MegaSAM: 20.66 | +1.65 over RayZer+SAV |
| D-RE10K-iPhone 全图 NVS (2 views) | PSNR (dB) | 20.89 | RayZer+SAV: 19.57, WildGaussians: 18.43 | +1.32 over RayZer+SAV |
| D-RE10K-iPhone 全图 NVS (3 views) | PSNR (dB) | 20.91 | WildGaussians: 19.82, RayZer+SAV: 19.94 | +0.97 over RayZer+SAV |
| D-RE10K-iPhone 全图 NVS (4 views) | PSNR (dB) | 20.98 | WildGaussians: 20.44, RayZer+SAV: 20.01 | +0.54 over WildGaussians |
| 运动掩码质量 (2 views) | mIoU (%) | 53.9 | SAV: 31.9, Co-seg: 9.6 | +22.0 over SAV |
| 运动掩码质量 (3 views) | mIoU (%) | 52.1 | SAV: 41.2, Co-seg: 13.7 | +10.9 over SAV |
| 运动掩码质量 (8 views) | mIoU (%) | 54.2 | SAV: 50.9, MegaSAM: 35.4 | +3.3 over SAV |
局限与改进
尽管 WildRayZer 取得了显著进步,但仍存在多方面局限。首先,运动掩码的精度仍有提升空间:在 D-RE10K 上的最佳 mIoU 约为 54%,意味着近一半的运动区域被错误标记——要么遗漏了真正的动态区域,要么将静态区域误判为动态。论文附录中展示了几个典型失败案例:当运动物体只有部分在移动(如人体的一部分静止)时,掩码只捕捉移动部分而非完整实例;当运动物体占据输入图像的很大比例时,掩码质量明显下降;小的运动区域(如脚部)容易被遗漏。其次,模型在极端稀疏视角下(2 视角)的性能仍受限,跨视角补全依赖于足够的视角重叠——如果两个输入视角之间几乎没有共同可见的静态区域,补全质量会大幅下降。第三,当前模型在 $256 \times 256$ 分辨率下训练和评估,对于更高分辨率的真实应用场景,性能表现未知。第四,尽管作者声称框架可推广到户外场景(DAVIS 上的定性结果),但训练数据全部来自室内房产视频,对户外场景(如街道、公园)的系统性评估仍然缺失。第五,运动估计器的设计虽然有效,但三种信号的融合(DINOv3、图像 token、射线 token)增加了模型复杂度,且 DINOv3 特征的提取本身需要额外的计算开销。最后,模型的训练需要 4 张 H100 GPU 和 100K 步迭代,对于资源有限的研究者来说复现门槛较高。
独立分析的弱点
第一个弱点是伪掩码的质量瓶颈:当前的伪掩码构造依赖于冻结渲染器的渲染质量,但渲染器是在静态数据上预训练的,对动态场景的渲染本身就不可靠——这形成了一个“鸡和蛋”的问题。虽然交替优化在一定程度上缓解了这个问题,但训练早期的噪声伪标签可能给运动估计器带来不可逆的错误学习。改进方向:可以引入课程学习(curriculum learning),从简单场景(运动物体小且明显)逐步过渡到复杂场景;或者使用多轮迭代,每轮用更新后的渲染器重新生成伪标签,逐步提升掩码质量。第二个弱点是 token 置零策略过于粗暴:将动态 patch 的 token 直接置零相当于丢失了该区域的所有信息,包括可能有价值的静态背景线索(如动态物体后面的墙壁纹理)。改进方向:可以用可学习的“掩码 token”替代硬置零,让模型自己学习如何处理被屏蔽的区域;或者使用软注意力屏蔽(soft attention masking)而非二值掩蔽。第三个弱点是模型对大运动物体的处理能力不足:当运动物体占据图像面积很大时(如一个人几乎填满整个画面),几乎没有静态区域可用于场景重建和渲染,此时方法自然会失效。改进方向:可以引入时序信息,利用同一场景不同时间点的视频帧来累积静态区域的观测。第四个弱点是缺乏与优化式方法的公平比较:优化式方法可以在测试时针对特定场景反复迭代优化,而前馈方法一次前向传播就决定了结果。在实际应用中,如果用户愿意等待更长时间,优化式方法可能通过更多迭代缩小差距。改进方向:可以探索测试时适应(test-time adaptation),用少量梯度更新来微调运动掩码或渲染器。
未来方向
作者提出的方向包括:将 WildRayZer 扩展到更大规模的动态数据集上训练,利用互联网上无尽的含有动态内容的视频;以及进一步减少对 DINOv3 等外部预训练模型的依赖。基于本文成果,还有几个值得探索的方向:第一,将框架扩展到时序新视角合成(temporal NVS),不仅渲染新视角还渲染新时刻,实现真正的 4D 重建;第二,将运动掩码的预测精度提升到实例级别,结合 SAM2 等分割模型实现更精细的物体级动态分离;第三,探索更高分辨率($512 \times 512$ 或 $1024 \times 1024$)下的训练和推理,这对实际应用至关重要;第四,将自监督运动检测的思路应用到 3D Gaussian Splatting 等显式表示中,利用 WildRayZer 生成的伪掩码来指导显式 3D 表示的动态/静态分离;第五,探索动态物体本身的建模——当前方法将所有动态内容视为“噪声”并去除,但很多应用(如视频编辑、增强现实)需要保留和理解动态物体的 3D 结构。
复现评估
复现评估方面,本文的可复现性整体较好。代码方面,作者声明将发布实现代码(“We will release our implementation as a reference”),且 RayZer 的官方代码已开源,WildRayZer 在其基础上扩展。数据方面,D-RE10K 数据集的标注和视频链接将在 CC 许可下发布,但需要注意这是从 YouTube 爬取的视频,可能因版权问题被下架。D-RE10K-iPhone 是作者自行采集的 50 序列基准,预计也会开源。算力方面,训练使用 4 张 H100 GPU,RayZer 预训练 100K 步,运动掩码训练和联合训练各需额外迭代——对于学术实验室来说算力需求较高,但并非不可企及。评估方面,作者承诺发布指标计算代码,因为不同实现可能导致不同的评估结果。复现难度中等:核心架构修改不复杂(在 RayZer 基础上增加运动估计器和 token 屏蔽),但伪掩码构造管线(DINOv3 特征提取、K-means 聚类、GrabCut 精修等)涉及多个步骤和超参数调优,完整的三阶段训练流程也需要仔细管理交替优化的训练稳定性。
论文图表
该图展示了 WildRayZer 的典型失败案例:第 1 行掩码只捕捉人体的运动部分而忽略了静止部分;第 2 行掩码遗漏了小的运动区域(如脚部);第 3-4 行当运动物体占据图像面积过大时,预测掩码小于真实运动区域。
失败案例分析对理解方法的局限性和未来改进方向至关重要。