OmniShowcase:几张参考图生成 360° 绕拍视频,背面不走样

速览

镜头一绕到背面,主体就换了个样子:缺的是这个物体的 3D 形状

OmniShowcase 要解决的是一个很具体的失败:给同一个物体的四张参考视角,再给一句带运镜标签的 prompt,让镜头绕着物体转 360°,而参考图没拍到的背面仍然得是同一个物体、同一套形状。论文在自建的 ShowcaseBench 上报告 DINO 0.799,最佳基线 3DreamBooth 是 0.707。MEt3R 0.190,最佳基线 0.325,越低越好。GT-CD 0.0824,最佳基线 0.1717,也是越低越好。它没有在画质上全面领先,aesthetic 0.574 反而低于 MAGREF-MV 的 0.614。OmniShowcase

失败的原因在于参考图只覆盖物体的一部分表面。镜头转到没拍过的那一侧,模型只能靠训练时学到的生成先验去补。补出来的表面没有三维约束,常见表现是轮廓变形、结构接不上、表面细节糊掉。论文把主要矛盾判为几何,而不是光度。OmniShowcase 2025 年初的 Phantom 是早期 S2V 的代表形态,条件主要是参考图的外观,全链路没有相机位姿、深度或法线;它自己列的未来工作里,就包括引入深度图和分割掩码这类辅助控制信号。Phantom

论文在每组里用同一组参考图、同一句 prompt、同一条轨迹,把五个方法并排放在一起。行首三个标记分别是镜头有没有真的转完、是不是还是同一个物体、三维结构有没有自相矛盾。

图注:同一组参考图与 prompt 下,Phantom-MV、MAGREF-MV、MV-S2V、3DreamBooth 与 OmniShowcase 的定性对比。行首 Traj. / ID / 3D 三栏用 ✓、▲、✗ 标出相机是否真的绕完、身份是否保持、三维结构是否自洽,红框圈出崩坏处。这些标记是论文为可视化做的人工标注,不是量化指标。OmniShowcase

有的方法几乎没有真正绕行,有的绕到中途结构开始自相矛盾。论文由此把矛盾定在几何上,而不是分辨率、光照或参考图数量。失败点落在参考图没拍到的那一侧,那里没有任何三维约束,模型只能编。

多给几张参考图救不了:它们只加了信息量,没说清这些视角在 3D 里怎么接

把参考图从一张加到四张,并不等于把物体的三维结构交给了模型。这是论文对前人路线的核心判断,也是它必须同时改数据和改条件的原因。OmniShowcase

MV-S2V 已经把同一主体的多个视角作为条件,但看它的框架图就能发现,参考图只是被 VAE 编码成几排 latent token,拼进 DiT 的时间轴。它提出的 TS-RoPE 解决的是位置编码层面的判别:哪些 token 属于视频、哪些属于不同主体、哪些属于同一主体的不同视角。整张图里没有相机位姿、点云、法线或网格。MV-S2V

图注:MV-S2V 的框架。左侧参考图经 VAE 编码后只以 Ref. Latent token 的形式进入 DiT 时间轴;右侧三种 RoPE 排布的区别只在于如何标记视频、不同主体与同一主体的不同视角。全图没有相机位姿、点云、法线或网格。MV-S2V

这张图的价值不在 RoPE 的数学,而在于它缺了什么。参考图变多,模型拿到的只是更多外观 token,视角之间在空间里怎么连接,仍然要它自己从数据里猜。另一条路是 3DreamBooth:给每个新主体准备一整套静态多视角图,再为它单独优化一组 LoRA 权重。三维知识被烘进标识符 token 和权重里,作者称之为 consolidated 3D prior,但模型里同样没有网格、点云或法线。优化时用约三十张多视角图、覆盖完整 360°,几何仍然没有可检查的载体。3DreamBooth

数据侧还有第二层缺口。现有训练数据不保证镜头换一个角度时,画面里还是同一个三维主体。对真实采集的视频,这一点靠拍摄对象本身保证。对合成或生成的数据,得看生成过程有没有把几何锁住。所以参考图从一张变成四张,增加的是约束数量,不是结构指定。把四个视角在空间里缝起来的那个东西,此前没有人显式交给模型。OmniShowcase

数据侧先动手:从 3D 资产渲染,换视角时它必然是同一个物体

数据侧的做法可以压成一句话:一个网格加一组已知相机,每一帧都由真实几何渲染出来,所以镜头绕一圈时,它不可能是另一个物体。

论文从 Objaverse、Digital Twin Catalog 和 Google Scanned Objects 里筛出三维资产,用 Blender 渲染目标轨道和四张相隔 90° 的参考视角。目标轨道先渲染 81 帧,再裁到 80 帧以满足视频 VAE 的时序约束。原始渲染是干净背景,所以还有一条合成分支:渲染的 alpha 通道固定主体像素,视频修复模型 VACE 在不改主体像素的前提下补出场景,prompt 由场景库里的位置、相机运动和光照组合而成。OmniShowcase

图注:数据合成管线的两条分支。同一个三维资产,上方渲染目标轨道,再由视频修复补出背景;下方把四张参考视角重建成几何,环绕渲染出法线与彩色几何。右侧汇成包含视频、RGB、法线、四视图和 prompt 的多模态数据集,关键节点带视觉语言模型门控。OmniShowcase

这张图里最容易被跳过的是下方那条几何分支。训练时用的法线条件,不是直接拿源网格渲染的,而是先从四张参考视角重建出几何,再沿固定轨道渲染。论文给的理由是让训练时可见的条件信号与推理时一致。推理时用户只给四张图,不可能给源网格,所以条件必须能从这四张图里重建出来。OmniShowcase

筛完之后是 Showcase-4K:4,000 段视频、2,593 个资产、620 个类别,相机词表覆盖 12 种运动和 88 个轨迹配置。筛选有四道门,先由无模型的启发式规则筛掉一批下载候选,再由视觉语言模型分别检查资产、合成片段和重建出的法线转台。论文说约束最紧的是合成片段那一关,通过率 44%,而且没有为了凑数放松它。数据侧解决的不是画质,而是条件与目标来自同一套几何这件事。OmniShowcase

模型侧把形状做成条件:法线转台不与生成帧对齐,才换得任意轨迹自由

模型侧的关键设计是给视频模型一段表面法线序列,而且这段序列故意不与生成帧逐帧对齐。整篇论文的取舍都围绕这一点。

表面法线图把物体表面每个点的朝向编码成颜色。它只描述几何,不携带物体本来的颜色和纹理。一个球面的法线图会呈现平滑的色相变化。同样的球如果贴了木纹,法线图不会多出木纹的颜色。法线转台的造法是这样。先从四张参考视角重建出这个物体的几何,再以 15° 仰角沿一条固定 yaw 轨道均匀取 25 个位姿。yaw 是绕竖直轴转的方位角。每个位姿渲染一张深度图,再转成法线。它是一圈固定扫描,跟 prompt 里写的运镜没有关系。prompt 可以要 Orbit 360°,也可以要 Helix-Down 360°,法线转台始终是同一个固定环。

这就是为什么不能逐帧对齐。假设目标视频第 10 帧时相机已经一边绕行一边下降,法线转台第 10 帧却还在那条固定轨道上的另一个方位。强行让两者按索引对应,等于告诉模型一个并不存在的相机位置。可以把法线转台想成开机前给道具拍的一套环绕形状标本,标本的帧号只对应转台的角度,不对应正片的时刻。论文的原话是,法线与目标序列之间不施加任何逐帧对应。项目页把这件事说得更直白:法线条件是固定 yaw 扫描,但生成的相机不受它约束,目标跟随 prompt 指定的任意轨迹。OmniShowcase 项目页

讲解:法线转台为何故意不逐帧对齐

图注:OmniShowcase 的整体架构。四张参考图、25 帧法线转台与目标视频分别编码,沿时间轴拼成一条潜变量,再沿通道轴叠成三路并配一条掩码,送入 LoRA 调优的图像到视频 DiT。图例里的雪花表示冻结,火焰表示可训练。OmniShowcase

图里画的是拼接关系,通道数与潜帧数在正文里。四张参考图各自独立编码。25 帧法线经视频 VAE 压成 7 个潜帧,80 帧目标压成 20 个潜帧。三者沿时间轴拼起来,总长 31。二值掩码把前 11 个位置标为已给定,也就是四张参考加 7 个法线潜帧。只有后面 20 个目标潜帧被加噪,rectified-flow 的损失也只在这 20 个位置计算。沿通道轴再叠三路:加噪后的潜变量、掩码本身、以及目标段置零后的干净条件。潜变量通道数为 16、掩码占 4 时,三路是 16 加 4 加 16,共 36 通道。这样条件不会把目标帧泄露出去,参考和法线是干净的,但它们被掩码标为已给定,不进入损失。目标段才被加噪,模型只能从条件和文本里推它。OmniShowcase

讲解:参考、法线、目标怎么拼成一条潜变量

条件链的上游是几何链。四张参考视角先抠出主体,交给 Depth Anything 3 做前馈重建。Depth Anything 3 的输出头不是直接回归点云,而是深度图和射线图两路,点由射线起点加上深度乘以射线方向得到。重建出的逐视角几何再融成 3D 高斯。这种表示用一群带方向的小椭球近似这个物体。然后沿那条固定轨道渲染。Depth Anything 3

通道拼接加掩码在这一族方法里不是新东西,MAGREF 就把多张参考合成到一张画布上,再沿通道拼进去噪网络。差别在于 OmniShowcase 把参考、法线、目标做成三个独立的上下文段,法线段与目标段之间不建立索引对应。MAGREF 同期另一条路线 Holo4D 把重建出的三维轨迹逐帧投影到目标相机,它的源帧和目标帧同索引就对应同一场景时刻。OmniShowcase 的选择相反。这不是省事,是主动取舍:只有放弃逐帧对齐,法线转台才能配合任意轨迹。Holo4D

消融支持这个判断。去掉几何条件,身份、MEt3R、GT-CD 都变差。在 ShowcaseBench 上,把法线换成同样几何但上了颜色的渲染图,身份几乎不涨,文本对齐反而掉得最狠。说明模型要的是形状,不是另一份外观。把 25 帧稀释成 9 帧,视角覆盖不够,代价取决于重建可靠性。OmniShowcase 法线转台能跟任意相机轨迹配合,恰恰因为它不假装自己与某一帧对应。

赢在身份与 3D 一致性,没赢画质,结论止步于刚体与合成背景

OmniShowcase 在两个基准上拿到最好的 DINO、CLIP、MEt3R 和 GT-CD,但没有一个数字能概括“最强”,画质三项里 aesthetic 一项它并不领先。九个指标分属四轴。身份是 DINO 和 CLIP,越高越好。三维一致性是 MEt3R、GT-CD 和 RotCov,越低越好,其中 RotCov 只作视角覆盖的辅助诊断。文本对齐是 ViCLIP,越高越好。视频质量是 VBench 的 imaging、aesthetic、dynamic 三项。

ShowcaseBench 的 50 个主体、四条 360° 轨迹上,九个数字是这样分布的。

指标度量什么OmniShowcase最佳基线
DINO身份,越高越好0.7990.707,3DreamBooth
CLIP身份,越高越好0.9250.907,3DreamBooth
MEt3R三维一致性,越低越好0.1900.325,3DreamBooth
GT-CD三维一致性,越低越好0.08240.1717,3DreamBooth
RotCov视角覆盖,越低越好0.6650.765,3DreamBooth
ViCLIP文本对齐,越高越好0.2590.244,MV-S2V
VBench imaging视频质量,越高越好74.2973.88,MAGREF-MV
VBench aesthetic视频质量,越高越好0.5740.614,MAGREF-MV
VBench dynamic视频质量,越高越好1.0001.000,与基线持平

表里的 Phantom-MV 与 MAGREF-MV 是论文把单参考模型扩展到四参考输入的版本,不是它们原生的多视角能力。OmniShowcase

指标方向不同。身份和三维一致性上,差距是实质性的:DINO 高出 0.092,MEt3R 从 0.325 降到 0.190,GT-CD 从 0.1717 降到 0.0824,降了一半。文本对齐 0.259 略高于 MV-S2V 的 0.244,imaging 74.29 略高于 73.88,dynamic 打平。aesthetic 0.574 低于 MAGREF-MV 的 0.614。换句话说,它赢的是“还是不是同一个物体”,不是“画面更好看”。OmniShowcase

在这张表上,最佳基线在不同指标上换人,3DreamBooth 拿下身份与三维一致性,MV-S2V 拿下文本对齐,MAGREF-MV 拿下 aesthetic,没有哪个基线在所有指标上都强。3DreamBooth 赢下的指标最多,但论文的定性对比里,它在绕到背面时身份与几何都没有收敛。OmniShowcase

GT-CD 这一列值得单独说。生成轨道先交给 π³ 恢复成点云,再和真值点云比对称 Chamfer 距离。Chamfer 距离衡量两片点云彼此有多近,对每个点找另一片里最近的点,取平均距离,再双向平均。ShowcaseBench 的真值点云由源网格深度渲染反投影得到。两边各自居中,按平均半径归一化,再做固定尺度的刚性对齐,只允许旋转和平移,不允许缩放,去掉最外侧 3% 的点,每个点云最多下采样到 20,000 点。归一化和对齐不是装饰,因为 π³ 输出的点图只有相机之间的相对位姿和一个未知的全局尺度,不消解这个尺度,Chamfer 距离没有意义。π³

第二个基准 NAVI 用 35 个真实扫描主体,真值点云直接从实物扫描网格采样。它和 ShowcaseBench 一合成一真实,构成互补。在这个基准上,DINO 0.828、CLIP 0.918、MEt3R 0.249、GT-CD 0.0975,四项也都是最好。NAVI OmniShowcase

MEt3R 走另一条路。它成对比较两张图,用稠密点图把特征反投影到同一相机平面,再在特征空间算不相似度。它不需要相机位姿,所以能直接用在生成视频上,分数越低越好。MEt3R 这也解释了为什么两个基准都能报同一列 MEt3R,而 GT-CD 必须依赖数据集自带的三维真值。

用户研究里,44 名参与者看 24 段训练中没见过的视频,五路结果并排。四条准则分别是身份保持、三维一致性、prompt 对齐、整体质量,OmniShowcase 在每条上都以 70.9% 到 79.4% 居首,没有基线超过 12.7%。这说明前面的指标差距不是只落在小数点上。OmniShowcase

边界也很清楚。作者自陈两条局限。第一条,背景有时看起来是合成的,训练数据的背景由视频修复模型补出来。第二条,跨四张参考不刚性的主体没有被处理。法线转台把四个不同姿态融合成一个静态刚体,这个刚体可能从未在现实中存在过。静态 prompt 下模型会忠实跟随条件,落到一个平均姿态。prompt 要求运动也修不好,因为几何条件里没有编码姿态变化。OmniShowcase

另有一条口径需要读者自己判断,论文没有把它写成结论。ShowcaseBench 与训练语料不共享三维资产,但两者都由三维资产渲染而来,分布同源。OmniShowcase 真实场景的泛化主要由 NAVI 的 35 个真实扫描主体承担,样本量不大。读者判断“能不能用在实拍”时,要把这一点算进去。同期 WorldCast 针对角色级的大角度相机控制,说明人物这类非刚体主体仍是另一条战线。WorldCast

发布状态也需要说清楚。论文声明将公开 Showcase-4K、ShowcaseBench 和数据合成代码,但截至 2026-10-29,官方仓库的发布清单四项都未勾选,项目页的数据集入口还是占位块。复现成本目前无法评估。项目页

这篇论文的贡献不是把视频生成得更漂亮,而是把“同一个物体”这件事拆成数据与条件两头的几何问题,并给出了一个可复用的答案:让形状单独成为一段条件,不要假装它与每一帧对齐。

想深入可以读原文:OmniShowcase: Omnidirectional Subject-Consistent Video Generation from Multi-View Images,arXiv:2610.35684。

参考文献

OmniShowcase:几张参考图生成 360° 绕拍视频,背面不走样