跳转至

MoCam: Unified Novel View Synthesis via Structured Denoising Dynamics

会议: ECCV 2026
论文: ECCV 2026 · 项目页
领域: 3D 视觉
关键词: 新视角合成, 视频重打相机, 结构化去噪, 几何-外观解耦, 扩散条件控制

一句话总结

MoCam 把「按目标轨迹渲染出来的点云脚手架」和「源视角视频」这两种条件按去噪时间轴接力使用——前期只用脚手架锚定几何与运动,越过一个切换点后换成源视频来纠错与细化外观——用一个视频扩散模型同时统一了单图 3D 重建与视频 4D 重打相机(re-camera)。

研究背景与动机

扩散模型进入新视角合成(novel view synthesis, NVS)之后,主流做法分成两派。一派把相机位姿直接编码进模型的条件通路(ReCamMaster、VD3D、CameraCtrl 这一类),端到端生成、不需要显式几何,但对复杂或大幅度轨迹往往跟不上,画面会悄悄「漂」出目标视角;另一派走「先渲染再修补」(render-then-inpaint)的路子——从单目输入重建一个 3D 脚手架(点云或深度图),沿目标轨迹渲染出一段粗糙视频,再交给视频修复模型补全,Gen3C 的时空 3D cache、TrajectoryCrafter 的 Ref-DiT、ViewCrafter 的多视图扩散都属于这一类。第二派的目标视角几何明显更准,但它把整条管线压在了一个先天不足的东西上:单目重建出来的点云在大视角变化下必然稀疏、有洞、深度不准,而修复阶段只是把这些缺陷当成既定事实去「美化」,没有任何能力把它们改回来。

真正的困难在于,这两类信号是互补的,却又不能同时用。渲染出来的脚手架空间上与目标轨迹严格对齐,但布满了去遮挡产生的空洞和深度误差造成的形变;源图像/源视频纹理干净、外观保真,但它的相机和你要的相机根本不是一个。更麻烦的是,两者相加并不是简单的能力叠加:如果在去噪早期就把强外观线索接进来,它会盖过脚手架的空间约束,把生成结果往源视角的方向拽(几何漂移);反过来,如果让有缺陷的几何一直留在条件里到最后一刻,那些结构错误就会被高保真合成阶段永久「烘焙」进输出,再干净的纹理也只是把一个错形状画得更漂亮。论文把这个观察推到了条件机制的一般层面——ControlNet、IP-Adapter 这类工作全程使用同一个静态控制信号,而 TSM、DMP 已经说明「让控制信号随时间去变」本身就能显著改善生成质量,只是没人针对重打相机这个场景想清楚:该变什么、什么时候变。

本文的切入角度是把冲突从「融合」问题改写成「调度」问题:扩散去噪的不同阶段对条件的需求本来就不同——早期潜变量几乎全是噪声,任务是把全局结构和运动定下来,此时对条件的空间精度要求很低、容错度很高;后期低频谱结构已经成形并落在正确的位置上,任务转向高频细节,此时需要的是干净的纹理来源。于是 MoCam 让两种条件在时间轴上错开、各管一段:先用脚手架把「物体在哪、相机往哪走」钉死,再把脚手架撤掉换源视频上场,让后期的高保真合成反过来修掉前期继承下来的几何误差。核心 idea:把条件改写成随时间切换的 \(c(t)\)——早期用渲染脚手架锚定几何与运动,越过 \(T_{\text{switch}}\) 后切到源视频做主动纠错与外观细化,用一个视频扩散模型统一 3D 静态重建与 4D 动态重打相机。

方法详解

整体框架

MoCam 的输入是一段单目源视频 \(x^{src}\)(在单图 3D 重建设定下,把这一帧复制成 \(N\) 帧当作一段「静止视频」)和用户指定的目标相机轨迹 \(\psi^{tgt}\),输出是沿这条轨迹拍出来的目标视角视频 \(x^{tgt}\)。整条管线只有三步:先由深度与相机估计得到一段动态点云,沿目标轨迹渲染出一段空间对齐但破破烂烂的脚手架视频;再把脚手架视频和源视频各自编码成潜变量,与初始噪声一起送进一个预训练视频扩散模型;最后在去噪过程中按时间切换条件——早期只喂脚手架把结构定住,后期换成源视频把细节和几何错误一起修掉,解码得到最终视频。整个流程没有任何 per-scene 优化,也不需要额外的 3D 表示,几何一致性由「条件在什么时候生效」来保证,而不是由表示本身保证。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
    A["源视频 / 单图复制为 N 帧<br/>+ 目标相机轨迹"] --> B["动态点云脚手架<br/>深度 → 点云 → 沿轨迹渲染"]
    B --> C["帧维拼接的双条件注入<br/>脚手架与源视频拼到帧维"]
    subgraph S["结构化去噪动力学"]
        direction TB
        D["早期:脚手架锚定几何与运动"] --> E["后期:源视频纠错并细化外观"]
    end
    C --> D
    E --> F["解码输出目标视角视频"]

关键设计

1. 动态点云脚手架:给相机控制一张空间对齐但允许残缺的粗稿

相机控制这件事,MoCam 走的是最「土」但最稳的路:不用 Plücker 射线、也没有任何位姿 token 或位姿编码进入模型,相机姿态只出现在渲染算子里面。具体地,先对源视频估出逐帧深度 \(d^{src}\) 与相机内参 \(K\),用逆透视投影把像素反投影成一段随时间变化的动态点云 \(p=\{P_i\}_{i=1}^{N}\);再给定目标轨迹 \(\psi^{tgt}\),用透视投影把这段点云渲染到目标视角,得到脚手架视频 \(x^{tgt}_{ren}\)

\[p=\Phi^{-1}\left(x^{src},d^{src},K\right),\qquad x^{tgt}_{ren}=\Phi\left(p,\psi^{tgt},K\right)\]

这条式子承载的是整篇论文里「相机条件到底从哪来」的答案:目标轨迹被一次性消耗在渲染里,模型面对的只是「一张已经站在目标视角上的图像」,只不过这张图像因为单目重建的先天缺陷而布满了去遮挡空洞和深度误差造成的形变,视角离源相机越远越严重。把位姿问题降解成图像条件问题,好处是模型不需要理解相机、只需要学会对齐一张大致对位的图,这让它在任意轨迹(轨道、平移、缩放)上都通用,也不需要为位姿设计专门的位置编码;代价是把几何精度整个押在了深度估计上,这一点后面还会回到。

2. 帧维拼接的双条件注入:把两种条件都变成「额外的帧」

两种条件的接入方式是同一套、也是刻意的简单:脚手架视频与源视频分别过 VAE 编码器得到 \(c^{ren}=E(x^{tgt}_{ren})\)\(c^{src}=E(x^{src})\),各自沿帧维度与初始噪声 \(z_0\) 拼接后作为视频模型的输入(沿用 ReCamMaster 的帧维条件方式,为的是保住时间同步)。选帧维而不是别的维度是有代价也有回报的:条件本身就是一段视频,沿帧维拼接意味着条件帧和待生成的帧共享同一条时间轴,模型在做时空注意力时能直接建立「第 \(i\) 帧应该长成条件第 \(i\) 帧那样」的对应关系,而不需要额外的对齐机制去猜编码和帧的映射。这也顺带解释了为什么源视频这种「视角完全对不上」的条件仍然有用——它提供的不是空间对齐,而是干净的纹理和一致的外观,模型学的是把它的风格搬过来,而不是把它的构图搬过来。

这里的设计空间其实被论文用一张对比图排除了:最直觉的做法是把 \(c^{ren}\)\(c^{src}\)\(z_0\) 一次性全拼起来,让模型自己去学怎么组合。但两者携带的相机运动不同,在「该跟谁动」这件事上给出的是互相矛盾的信息,静态同时拼接会让模型收到冲突梯度,既削弱脚手架的空间约束(结构变软),又引入外观污染。这个冲突不是工程细节,而是整篇论文的问题起点。

3. 结构化去噪动力学:几何在前、外观在后的接力

真正的创新是让条件随时间换手。模型预测的不再是 \(f_\theta(z_t,t,c)\) 里的固定 \(c\),而是一个随时间变化的上下文 \(c(t)\),切换点是一个预先设定的阈值 \(T_{\text{switch}}\)

\[c(t)=\begin{cases} c^{ren}, & t>T_{\text{switch}}\\ c^{src}, & t\le T_{\text{switch}}\end{cases}\]

论文用到的关键性质是「时间步 \(t\) 不只是噪声量级,更是从全局结构到局部细节的推进过程」,于是把两种信号各自放到它最有效的那一段上。前一段(\(t>T_{\text{switch}}\))潜变量仍以噪声为主,模型的任务是确立视频的全局结构与运动,此时脚手架的误差容限是最高的:就算点云有洞、边缘拉丝,它也足以规定物体在哪、相机怎么走,所以这一阶段刻意容忍几何的不完整,只用 \(c^{ren}\) 把生成结果压到目标轨迹上。后一段(\(t\le T_{\text{switch}}\))低频谱结构已经形成并且落在正确位置上,任务转向高频细节,此时换成 \(c^{src}\):因为粗结构已经锚定,模型可以拿这份干净的参考去「修补」和「纠正」从第一阶段继承下来的结构,而不是被脚手架的错误持续污染。这一步是整篇论文最关键的一次语义跳跃——源视频在这里不再只是纹理搬运工,而是具备纠错能力的几何修正信号,这正是静态管线做不到的。

值得注意的是切换点的位置:\(T_{\text{switch}}=0.85\) 意味着几何锚定只占去噪轨迹最开始的一小段(按论文的 \(t\) 定义,\(t\) 越大越接近纯噪声,即去噪的头约 15% 步数用脚手架),剩下绝大多数步数都交给外观条件去细化。这与「几何只是用来定一个初值、真正决定画质的是后期外观合成」的直觉是吻合的。⚠️ 论文正文对 \(t\) 方向的表述与它自己给出的 flow matching 定义(\(z_1\) 为干净潜变量)存在字面冲突:按后者 \(t\) 接近 1 应该是最干净的,与「早期潜变量全是噪声」对不上。这里按论文自己的语义(\(t\) 大 = 噪声多 = 去噪早期)叙述,若需复现请以原文与官方代码的时间轴约定为准。

一个完整示例

拿一段 49 帧的单目视频,用户希望相机绕到左后方约 60° 的位置。第一步,ViPE 估出逐帧深度与相机位姿,反投影得到 49 帧动态点云;按目标轨迹把它渲到新视角,得到一段脚手架视频——主体轮廓大致对位,但人物边缘出现拉丝、原本被主体挡住的背景区域是成片的黑洞,远处的区域还出现了明显的拉伸形变。第二步,脚手架和源视频分别编码成潜变量,沿帧维与初始噪声拼在一起,送进 Wan2.2。第三步,以 50 步采样为例(论文没有报告采样步数,此处仅为示意),前 8 步左右(\(t>T_{\text{switch}}\))只有脚手架条件生效:人物在画面中的体积、相机扫过的方向、背景的远近关系在这一段就被钉住了,脚手架的那些洞此时无关紧要。越过 \(T_{\text{switch}}\) 后条件切到源视频,接下来 40 多步里,先前被洞穿的背景用源视频里的干净纹理补了回来,拉丝的边缘被重新画直,前面因为深度误差而轻微错位的结构也被纠正过来——最终输出的 49 帧既跟着目标轨迹走,又看不出脚手架曾经存在过。

损失函数 / 训练策略

MoCam 沿用所基于的潜空间视频扩散模型的训练目标,唯一改动就是条件项从固定 \(c\) 变成 \(c(t)\);以论文给出的 flow matching 形式为例:

\[\mathcal{L}=\mathbb{E}_{z_0,z_1,t,c(t)}\left\|f_\theta\!\left(z_t,t,c(t)\right)-v_t\right\|_2^2,\qquad v_t=z_1-z_0\]

⚠️ 论文正文中的两条目标函数公式在原文排版中有损坏,上式为按其文字描述(\(z_1\) 为真实视频潜编码,\(z_0\) 为高斯噪声,\(v_t=z_1-z_0\))重写的 flow matching 版本,以原文为准。实现细节:骨干是预训练的 Wan2.2 视频扩散模型(消融里也换用 Wan2.1 验证骨干无关性);训练数据是 MultiCamVideo 的 20,000 对样本,每对包含参考视频、对应的脚手架视频和真值目标视频;训练 20,000 步,8 张 GPU,学习率 \(1\times10^{-5}\),batch size 8;\(T_{\text{switch}}\) 经验性地取 0.85;深度与相机由 ViPE 估计。整条管线端到端训练,推理时不做任何逐场景优化。

实验关键数据

主实验

评测分为三个设定:4D 重打相机用 OpenVid-1M 里收集的 100 段单目视频,每段生成 9 条不同轨迹(轨道、平移、缩放);单视图 3D 重建从每段视频随机抽一帧复制为 N 帧;另外在 iPhone 多视图数据集上按 TrajectoryCrafter 的设定补一组像素级指标。评价指标包括 VBench 的背景一致性(BC)、主体一致性(SC)、成像质量(IQ),跨视角的 FVD-V 与 CLIP-V,以及跟随 CameraCtrl 的位姿精度(旋转误差 RotErr、平移误差 TransErr)。表中 ReCam = ReCamMaster,TrajCrafter = TrajectoryCrafter,均为本文的直接对手。

方法(4D re-camera,OpenVid) BC ↑ SC ↑ IQ ↑ FVD-V ↓ CLIP-V ↑ RotErr ↓ TransErr ↓
Gen3C 0.9270 0.9067 0.6908 291.13 0.79 1.36 5.13
TrajectoryCrafter 0.9235 0.9062 0.6697 317.08 0.80 1.38 5.12
ReCamMaster 0.8977 0.8801 0.5837 361.98 0.76 2.15 5.82
MoCam 0.9332 0.9247 0.6932 260.05 0.85 1.36 5.12

单视图 3D 重建的结论方向一致且差距更大:MoCam 的 BC/SC/IQ 为 0.9334/0.9250/0.6961,FVD-V 255.16,CLIP-V 0.87,RotErr 1.35;对照之下 Gen3C 为 289.37/0.80/1.36,TrajectoryCrafter 为 313.65/0.79,ReCamMaster 为 355.26/0.77/2.13,3D 优化式的 ViewCrafter 为 308.24/0.79/1.39(同表另列时 MoCam 行数字与 4D 表完全一致,因为论文 Tab.1 与 Tab.4 复用了同一个评测设置)。在 iPhone 数据集上换成像素级指标后:

方法(iPhone) PSNR ↑ SSIM ↑ LPIPS ↓ FVD ↓
Gen3C 12.36 0.4028 0.5112 260.15
TrajectoryCrafter 13.74 0.4555 0.4819 273.36
ReCamMaster 11.44 0.3768 0.5622 301.41
MoCam 14.60 0.4581 0.4213 180.35

消融实验

论文在 4D re-camera 设定上拆掉了机制的两个组成部分,得到三个变体:Scaffold-Only(全程只用脚手架条件)、Scaffold-Early(只在 \(t>T_{\text{switch}}\) 的早期用脚手架,后期不给任何显式条件)、Static-Both(全程同时给脚手架和源视频两个条件,即论文要反对的静态融合),另外把骨干换成 Wan2.1 验证收益是否来自机制而非模型。

配置(OpenVid, 4D re-camera) IQ ↑ FVD-V ↓ CLIP-V ↑ RotErr ↓ TransErr ↓ 说明
Scaffold-Only 0.4807 359.38 0.76 1.37 5.10 成像质量崩塌,几何误差被全程烘焙进输出
Scaffold-Early 0.6172 273.19 0.83 1.37 5.13 躲开了最坏伪影,但后期无参考,补洞区域发糊
Static-Both 0.6740 242.81 0.87 2.71 11.01 感知分数高,但几何彻底失稳(位姿误差翻倍)
MoCam (Wan2.1 骨干) 0.6931 253.13 0.84 1.37 5.11 换骨干几乎不掉点,收益来自机制
MoCam(完整) 0.6932 260.05 0.85 1.36 5.12 完整模型

关键发现

  • 去掉「后期外观」这一步比去掉「前期几何」损失更大。 Scaffold-Only 是最极端的静态条件失败案例,IQ 只有 0.4807、SC 掉到 0.8448,说明持续暴露在脚手架误差下不会随着生成变干净,反而会稳定地把错误画成最终结果。Scaffold-Early 把脚手架撤掉之后指标大幅回升(IQ 0.6172),证明「别让坏几何待到最后」确实是必要的;但它仍显著低于完整模型,因为后期完全没有干净参考可用,去遮挡区域的细节只能靠模型自己编,结果是发糊、千篇一律。这两组对照合起来说明:只移除坏信号不够,必须同时提供一条好的替代信号——这正是 MoCam 与「早停脚手架」这类朴素做法的分野。
  • Static-Both 是一组最值得细看的数字,也是一个指标陷阱。 它的 FVD-V(242.81)和 CLIP-V(0.87)都比完整模型更好,光看感知指标会得出「静态融合也不错」的结论;但它的旋转误差 2.71、平移误差 11.01,分别是 MoCam(1.36 / 5.12)的两倍与两倍以上。信号冲突的后果不是画面变丑,而是画面自身看起来很自洽、却整体没有跟着目标轨迹走——帧间一致性类指标度量不到这件事。因此本文的 FVD-V 不是全场最低(260.05 高于 Static-Both 的 242.81)这一点应当如实标注,相机可控任务的评测必须把感知指标与位姿指标并读。
  • 收益来自机制而不是骨干。 把 Wan2.1 和 Wan2.2 作骨干的结果几乎重合(IQ 0.6931 vs 0.6932,FVD-V 253.13 vs 260.05),排除了「换了个更强的视频模型」这一解释。
  • 随运动幅度增大的鲁棒性对比是本文最有说服力的实验。 从 30° 轨道逐步加大到 90°,脚手架类方法的点云洞越来越密、隐式方法的漂移越来越严重,所有基线都在退化,而 MoCam 保持稳定——早期锚定解决了隐式方法的漂移,后期外观纠正解决了脚手架方法的稀疏,两种失效模式被同一套机制各打了一个。
  • 深度扰动下不掉链子(定性)。 论文展示了对深度输入做扰动后,脚手架里被深度误差弄弯的灯光等结构仍能在最终输出里被纠正回来,说明后期外观阶段确实在做主动补偿,而不是依赖几何本身足够准。
  • iPhone 上的领先幅度分布很说明问题。 LPIPS(0.4213 vs 0.4819)与 FVD(180.35 vs 260.15)的领先幅度明显大于 PSNR 的领先幅度(14.60 vs 13.74),即优势主要体现在「看起来对」而非「像素对齐」;同时所有方法的 PSNR 都只有 12–15 dB,说明这一任务在像素级上整体还很困难,PSNR 的绝对值不宜作为方法好坏的唯一依据。

亮点与洞察

  • 把条件冲突从「怎么融合」改写成「谁在什么时候上场」,用一个 if-else 换来大幅提升。 这是全文最「啊哈」的地方:两种条件互相干扰时,最省事的直觉是设计更聪明的融合模块(注意力、门控、加权),而 MoCam 只做了一件事——错开时间。这个思路的可迁移性很强:任何「两个互补但互相打架的条件」场景(文本 vs 参考图、语义图 vs 涂鸦、深度 vs 法线)都可以考虑按去噪阶段调度,而不必做融合算子。
  • 用「渲染成帧」替代「位姿编码」来做相机控制。 位姿完全不进模型,模型面对的只是一张已经站在目标视角上的破损图像,相机控制因此退化成图像条件问题。好处是免去了位姿编码设计与轨迹泛化的麻烦、任意轨迹统一处理;代价是把几何精度整体押在深度估计上,这也是它相对隐式位姿方法的主要风险敞口。
  • 后期外观条件被赋予了「纠错」而不是「贴图」的语义。 由于低频谱结构已经被早期阶段锚定,源视频的干净纹理可以被用来 inpaint 与修正继承下来的结构。这个「因为结构已经对了,所以外观信号可以动结构而不跑偏」的论证,把「为什么必须分阶段」从一个经验 trick 上升为一个可解释的机制。
  • 一套机制统一静态与动态 NVS。 单图场景只要把一帧复制成 N 帧的静止视频,动态点云构造、条件注入、切换策略全都不用改,3D 重建和 4D 重打相机共享同一条管线。
  • 消融设计上的示范价值。 Scaffold-Early 这个变体非常关键:它证明了「移除坏信号」与「替换为好信号」是两件不同的事,很多论文的消融只会做前者,结论就会高估自己机制的贡献。

局限与展望

  • 深度与位姿估计是天花板。 脚手架由 ViPE 的单目深度与相机估计构造,深度大面积错层时早期锚定阶段就会把结构锚在错误的位置上,后期再想纠正也无力回天。论文只有一组定性的深度扰动展示(Fig.10),没有量化扰动强度与最终指标的关系,也没有给出失败案例的比例。
  • \(T_{\text{switch}}=0.85\) 是一个手工设定的全局常数。 论文没有做切换点敏感性扫描,也没有说明不同轨迹长度、不同运动难度下这个值是否仍然合适。按本文自己的论证逻辑,更合理的做法是让切换时机随生成过程自适应——例如依据预测潜变量的不确定度或脚手架与当前估计的一致性来决定何时换手,这看起来是一个很自然的后续工作。
  • 「统一 3D/4D」的统一是接口层面的,不是能力层面的。 单图场景把一帧复制为 N 帧之后,输入侧其实已经没有时间信息可供利用,视频模型的时间先验只能在生成侧发挥作用,这可能正是单视图场景相对 4D 场景提升幅度更有限的原因。
  • 训练数据规模与来源都很窄。 20,000 对样本全部来自 MultiCamVideo,只训练 20,000 步;OpenVid 仅用于评测,跨域(如室内到室外、真实到合成)的泛化没有被验证。
  • 极端轨迹下仍会退化。 论文自己的 Fig.7 显示 90° 轨道时 MoCam 也承受压力,只是比基线好;说明这套机制缓解而非消除了大视角变化下的几何退化。
  • 推理成本与失败模式。 每段视频都要跑一次深度/位姿估计、点云构造与渲染,相比纯隐式位姿方法多了可观的预处理开销,且深度估计一旦失败会直接反映在脚手架上。作者在结论里提到的 future work 是联合精化脚手架与视频(joint scaffold-video refinement),相当于让生成结果反过来修正点云、做迭代精化——如果把这一步做成闭环,前两项局限(几何上限与固定切换点)都有可能一并缓解。

相关工作与启发

  • vs Gen3C / TrajectoryCrafter(render-then-inpaint): 它们同样用点云脚手架,但脚手架作为条件或参考块贯穿整个生成过程,单目重建的错误因此被永久继承,修复阶段只管「画得好看」而不管「形状对不对」。MoCam 的区别不是换了脚手架,而是改变了脚手架的存活时间:只在早期生效,后期撤掉并换成源视频。同样的脚手架质量下,条件生效的时段决定了错误是被继承还是被纠正。
  • vs ReCamMaster(隐式位姿条件): 端到端、无需显式几何,但缺少空间约束,在大轨迹下会整体漂移,且没有机制把生成结果拉回目标视角。MoCam 用早期的脚手架给它补上了这枚锚——反过来说,ReCamMaster 的帧维条件注入方式被 MoCam 直接复用了,两者在「怎么注入」上一致,分野只在「什么时候注入什么」。
  • vs ControlNet / IP-Adapter / T2I-Adapter(静态条件): 这些工作全程使用同一个控制信号,控制强度是超参而不是时间函数。把条件变成时间的函数本身并不新(TSM、DMP 已经证明动态条件能提升质量),MoCam 的贡献是把「动态」具体化为「互补信号之间的交接」,并针对重打相机场景定义清楚了交接的内容(脚手架 ↔ 源视频)与时机(几何锚定之后)。
  • vs ViewCrafter 等视频扩散单视图 NVS: 同样基于视频扩散做单视图新视角合成,但 ViewCrafter 没有对脚手架误差做任何时间轴上的处理,论文给出的定性对比里轮胎、文字这类结构在 ViewCrafter 下明显形变,而 MoCam 保持了形状——差别正来自结构化去噪动力学。
  • vs NeRF / 3DGS 一类优化式方法: 它们靠逐场景优化得到显式表示,几何一致性由表示本身保证,但需要密集多视图输入与昂贵的优化;MoCam 完全不做 per-scene 优化,几何一致性改为由条件的时序调度来保证,单目输入即可,代价是几何精度取决于深度估计且无法像显式表示那样被检查与编辑。两者的结合点(用生成结果去精化点云)正是作者提出的未来方向。

评分

  • 新颖性: ⭐⭐⭐⭐ 组件都是现成的(帧维条件来自 ReCamMaster,点云脚手架是 render-then-inpaint 一脉),但把「条件冲突」重新表述为「条件调度」并给出一个极简而有效的切换机制,是一个干净且可迁移的 insight。
  • 实验充分度: ⭐⭐⭐ 覆盖三个评测设定、消融干净且有骨干替换验证,但 \(T_{\text{switch}}\) 无敏感性分析、深度扰动只有定性、训练数据单一来源、90° 极端轨迹下仍有退化。
  • 写作质量: ⭐⭐⭐ 主线论证清楚,但 \(t\) 方向的定义与 flow matching 定义在正文中存在冲突,两条目标函数公式排版损坏,部分表格(Tab.1 与 Tab.4)内容重复。
  • 价值: ⭐⭐⭐⭐ 机制几乎无额外成本、实现简单、可迁移到任何双条件生成任务,对「生成式新视角合成里几何与外观如何共存」这一核心问题给出了一个有说服力的答案。