← 返回 2026-06-15

OmniDirector:无需跨配对数据的通用多镜头相机轨迹克隆 OmniDirector: General Multi-Shot Camera Cloning without Cross-Paired Data

Jiwen Liu, Shujuan Li, Zhixue Fang, Xiaohan Li, Yan Zhou, Zijie Meng, Zhimin Zhang, Yawen Luo, Guoxin Zhang, Yu-Shen Liu, Pengfei Wan 📅 2026-06-11 👍 113 2026-07-13 08:37
MMDiT 多镜头 扩散模型 相机控制 视频生成

用"相机栅格视频"作为视觉化的相机表征,实现无需跨配对数据的多镜头相机运动克隆。

前置知识

扩散变换器 (Diffusion Transformer / DiT)

DiT 是将 Transformer 架构引入扩散模型,用注意力机制替代传统 U-Net 作为去噪骨干网络的一类生成模型。它把图像/视频的潜变量切成 patch 序列,再通过多层自注意力迭代去噪,可天然扩展到大规模训练。

OmniDirector 是在 MMDiT(多模态版本)上做相机控制的条件微调,读者需要理解 Transformer 是如何把视觉 patch 与文本 token 拼接并在联合注意力层中交互的,否则无法把握相机栅格被注入的位置与方式。

MMDiT (Multi-Modal Diffusion Transformer)

MMDiT 是 Stable Diffusion 3 提出的多模态扩散变换器架构,它把文本和视觉 token 放在两条独立的注意力流中,通过联合注意力 (joint attention) 块实现跨模态信息交换。Esser 等 2024 年的工作展示了这种架构在文本-图像对齐上的优越性。

OmniDirector 把参考图像、视频噪声潜变量、相机栅格沿帧维度拼成一个时空张量,再与文本 token 做联合注意力。理解 MMDiT 是如何把多路视觉 token 与文本 token 融合,是看懂 OmniDirector 注入策略的前提。

相机内外参与 Plücker 坐标

相机外参是 3×4 的 [R|t] 矩阵,描述相机在世界坐标系中的位置和朝向;相机内参如焦距、主点描述相机如何把 3D 投影到像素平面。Plücker 坐标是一种用 6 维向量同时表达 3D 直线位置和方向的方法,CameraCtrl 等工作把它当作视觉化的相机 token 注入 DiT。

文章里 OmniDirector 用 DPA-V3 估计外参、用 $f=a\cdot\max(H,W)$ 近似焦距、再把得到的位姿渲染成"空房间网格"。读者必须先理解原始相机参数为什么难以直接注入视频扩散模型,才能体会"相机栅格"这一表征的必要性。

多镜头 (multi-shot) 视频生成

多镜头视频指由多次"切镜头" (shot transition / cut) 组成的视频序列,每个镜头内部有连贯的相机运动,镜头之间会有跳切、淡入淡出、转场等离散事件。多镜头生成要求模型既能生成连续运动,又能精确控制离散切点的位置与语义。

现有相机控制方法几乎都假设单镜头连续运动,碰到切镜头就失效。本文声称 OmniDirector 是首个无需跨配对数据就能处理多镜头的通用框架,这是其核心卖点。

Classifier-Free Guidance (CFG) 与自适应变体

CFG 在推理时同时跑条件预测与无条件预测,再用系数放大条件信号,是扩散模型提升条件遵从度的标准技巧。自适应 CFG 指对不同信号分支在不同噪声强度阶段注入,例如高噪声阶段先建立全局结构,低噪声阶段再补充细节。

OmniDirector 提出 Adaptive CFG:在高噪声阶段注入相机栅格特征、在低噪声阶段注入其他控制信号,并把无条件分支设为"黑屏+静态相机描述"。理解这一点对看懂消融实验中 AdaCFG 的作用至关重要。

研究动机

相机运动是视频生成中决定氛围、情绪与叙事节奏的关键,但现有的相机控制手段存在两难:文本描述(如"向左摇")过于粗糙、无法精确刻画电影级的复杂运动;而显式相机参数(如 6DoF 外参、Plücker 坐标)虽然精准,却对普通用户门槛极高。更棘手的是"相机克隆"(直接复刻参考视频里的相机轨迹)这条最直观的路线被两个瓶颈卡住:基于显式参数的方法(MotionCtrl、CameraCtrl、AC3D 等)只能表达单镜头基础运动,碰到切镜头就崩溃,并且参数表征和图像、视频这种视觉信号之间存在语义鸿沟,模型很难端到端优化;基于隐式学习的方法(CamCloneMaster、MotionClone)则依赖"跨配对数据"——内容不同但相机轨迹完全相同的视频对,这种数据天然稀缺,合成又难以覆盖复杂电影场景,模型泛化能力很差。此外,强行用参考视频整体当条件还会带来"信息泄露"——参考视频里的外观、人物动作会泄漏到生成结果中,破坏新场景的独立性。

本文的目标是本文的目标是构建一个统一的视频生成框架 OmniDirector,让用户只要提供一张源图像和一段参考视频,就能精确克隆其中的相机轨迹(包括多镜头切镜头),并且克隆结果与参考视频在内容、分辨率、空间尺度上完全解耦,从而实现"导演级"的多模态控制。

与已有工作不同的是,本文的独特切入角度是引入"相机栅格 (Camera Grid)"作为通用的视觉化相机表征:把参考视频里估计出的相机位姿渲染成一个在空 3D 房间中运动的彩色网格视频。这条路线从三个维度同时解决了现有方法的痛点:①通用性——任意相机运动(含特殊效果如鱼眼、Hitchcock zoom)都能统一编码为网格视频;②解耦性——空房间里没有任何场景元素,从源头杜绝了外观/动作泄漏;③可扩展性——任何视频都能自动生成对应的相机栅格,使百万级训练对的构建变成流水线。在此基础上,再设计一个层次化 Prompt Expansion (PE) Agent,把用户提示、参考图像、相机轨迹三路信号融合成一段统一的文本条件,解决多模态信号之间的语义冲突。

核心方法

OmniDirector 的整体思路可以拆成三块:先用一个"空房间+网格线"的几何抽象把任意相机运动编码成一段短视频,叫相机栅格;再把这套相机栅格作为控制信号通过 token 拼接注入到 MMDiT 视频扩散模型中;最后在推理时用一个 PE Agent 把用户提示、参考图像和相机运动描述融合成统一文本,引导模型协同生成。具体技术上,模型训练数据来自自建的 180 万互联网视频,每个视频用 TransNet-V2 检测切镜头、DPA-V3 估计相机外参、按 $f=0.8\cdot\max(H,W)$ 近似焦距,再把相机位姿渲染成网格运动视频作为对应标签;架构上则把参考图像、相机栅格、目标视频三者的潜变量沿帧维度拼接成一个 $(2T+1)\times H\times W\times C$ 的时空张量,再走 3D 卷积 Patchify 进入 MMDiT 与文本 token 做联合注意力。

本文的核心创新是把相机运动从"数值参数"重新表示为"视觉视频"——相机栅格 $G$。和 Plücker 坐标、6DoF 外参这些数字表征不同,相机栅格本身就是一段和视频同形态的视觉信号,可以直接用同一个 3D VAE 编码,可以直接做 token 拼接,避开了跨模态对齐的难题。和 CamCloneMaster 这种"端到端隐式学习跨配对视频对"的方案相比,相机栅格允许任意单一视频就能产生 (V, G) 训练对,从根本上解决了数据稀缺。更进一步,30% 的训练样本被设计成"自重建"任务:目标视频被替换成相机栅格本身,迫使模型真正解析栅格的几何与时序结构,而不是把它当辅助提示忽略。

方法步骤详情

方法的具体步骤分四阶段。 第一步是相机栅格的构建。给定参考视频,先用 TransNet-V2 检测切镜头帧 $F=\{f_i\}_{i=1}^{K}$,把视频切成多个子片段,每个片段内用 DPA-V3 估计外参 $[R_i|t_i]$,焦距近似为 $f=0.8\cdot\max(H,W)$。然后在 3D 场景里构造"空房间":用两层 X-Z 平面(地板 yfloor、天花板 yceiling)配上 Y 轴方向竖直线,形成"隧道壁"。设 $\Delta h$ 与平均相机高度成比例,用 KD-tree 找每个网格点 $p$ 到轨迹投影 $c_{\rm proj}$ 的距离 $d_{\rm traj}$,仅在环形区域 $W=\{(x,z)|r0$ 且 $\Delta x<0$ 定义为 Left Arc Shot。语义融合阶段把 $T_c$、参考图像 $I$、用户提示 $T_u$ 一起喂给 Qwen3-VL,输出一段统一的最终文本 $T_f$,实现多模态信号协同。 此外,自适应 CFG 把无条件视觉分支设为黑屏,无条件文本设为"完全静止相机"描述,并采用 coarse-to-fine 调度:高噪声阶段注入相机栅格特征建立全局布局,低噪声阶段注入其他控制信号精修局部内容。

技术新颖性

OmniDirector 的技术新颖性可以从表征层、训练层、推理层三个维度来分析。表征层最核心的贡献是"相机栅格"这一视觉化表征——把抽象的相机参数 $[R_i|t_i]$ 重新编码成一段在空 3D 房间中运动的彩色网格视频。这种思路的精妙之处在于:相机栅格在数学上等价于一种"自监督可视化",因为它本身不携带任何外观/动作信息,只承载几何与时序结构,从而天然解决了跨配对数据稀缺和信息泄漏两大顽疾;与此同时,它和 RGB 视频同形态,可以复用现有 3D VAE、Patchify 等视频管线,避免了 Plücker 坐标那种需要专门设计的相机编码器。训练层的创新点是"自重建目标":让 30% 的样本以相机栅格本身作为重建目标,迫使模型把栅格当成一等公民去解析,而不是当成可忽略的弱监督信号,这种设计在多模态条件扩散训练中并不常见。推理层最值得注意的是 PE Agent 的层次化设计——把相机提示拆成 inter-shot(跨镜头关系)和 intra-shot(片段内运动)两层,分别用不同 MLLM 流水线生成,再用语义融合统一进文本条件,整套机制把"如何把异构控制信号协同成一个文本"这个开放问题工程化成了可复现的 4 步 pipeline。再加上 Adaptive CFG 的 coarse-to-fine 调度、Asymmetric Classifier-Free(无条件视觉分支设为黑屏+静态相机文本)、基于 $\theta=\arctan(r'/\zeta)$ 与 Kannala–Brandt 多项式 $\theta_d=\theta(1+k_1\theta^2+k_2\theta^4+k_3\theta^6+k_4\theta^8)$ 的鱼眼扩展、基于 $\phi\propto\rho$ 的 dolly zoom 扩展,这些细节拼在一起构成了一个相对完整的"通用相机克隆"框架,是当前学界在该方向上少有的系统性工作。

3D Scene Modeling in Camera Grid. Top: Given reference camera poses, we simulate spatial motion within an empty 3D scene. Orthogonal lines represent the ceiling and floor (red and blue), while vertical lines (yellow) denote the walls. Bottom: Rendering this grid scene from varying viewpoints yields the camera grid, providing a visual representation of camera motion that conditions the model to generate videos with similar trajectories.
Figure 2: 3D Scene Modeling in Camera Grid. Top: Given reference camera poses, we simulate spatial motion within an empty 3D scene. Orthogonal lines represent the ceiling and floor (red and blue), while vertical lines (yellow) denote the walls. Bottom: Rendering this grid scene from varying viewpoints yields the camera grid, providing a visual representation of camera motion that conditions the model to generate videos with similar trajectories.
Extension of the camera grid to special camera effects. First row: fisheye distortion, where straight lines are rendered as smooth curves via the Kannala–Brandt model. Second row: dolly zoom (Hitchcock zoom), where the subject remains fixed in size while the background undergoes pronounced perspective stretching.
Figure 3: Extension of the camera grid to special camera effects. First row: fisheye distortion, where straight lines are rendered as smooth curves via the Kannala–Brandt model. Second row: dolly zoom (Hitchcock zoom), where the subject remains fixed in size while the background undergoes pronounced perspective stretching.
Overview of OmniDirector. Top: OmniDirector represents camera motion via a camera grid G, which is obtained by rendering the camera poses of a reference video V as movement within an empty 3D space. Middle: During training, the camera grid is injected into the MMDiT alongside other control signals via token concatenation. Bottom: At inference, a PE Agent harmoniously integrates various signals into the text prompt, achieving unified multi-signal control.
Figure 4: Overview of OmniDirector. Top: OmniDirector represents camera motion via a camera grid G, which is obtained by rendering the camera poses of a reference video V as movement within an empty 3D space. Middle: During training, the camera grid is injected into the MMDiT alongside other control signals via token concatenation. Bottom: At inference, a PE Agent harmoniously integrates various signals into the text prompt, achieving unified multi-signal control.
Emergent zero-shot camera control in OmniDirector. During inference, substituting the camera grid with raw RGB videos or Canny edge sequences effectively drives camera motion, demonstrating robust generalization without any retraining.
Figure 8: Emergent zero-shot camera control in OmniDirector. During inference, substituting the camera grid with raw RGB videos or Canny edge sequences effectively drives camera motion, demonstrating robust generalization without any retraining.

实验结果

OmniDirector 在自建的 1094 样本评测集上全面超越了 Seedance2.0、CamCloneMaster、LTX-LoRA 三个强基线。表 1 显示,本文方法的相机精度指标 RRE(相对旋转误差)为 2.64°,比第二名 CamCloneMaster 的 4.11° 改善了 35.8%;R-Pre(旋转误差 <4° 的样本占比)达到 83.18%,比 CamCloneMaster 的 74.14% 高出近 9 个百分点;翻译方向误差 RTE 为 16.84°,相比 CamCloneMaster 的 27.45° 大幅压缩;T-Pre(翻译误差 <20° 的占比)72.74%,相对 CamCloneMaster 的 52.21% 提升了 39.3%。多镜头切镜头方面,Tem-Pre(时间对齐 <3 帧)从 LTX-LoRA 的 38.94% 飙升至 96.52%,Sem-Pre(语义类型匹配)从 29.55% 飙升至 83.79%,Seedance2.0 和 CamCloneMaster 完全不支持切镜头(标 "-")。信息泄漏方面,本文帧级泄漏率仅 0.51%、镜头级 3.38%,而 LTX-LoRA 帧级泄漏 15.04%、镜头级 56.52%,差距悬殊。表 2 消融实验中,去掉 Semantic Fusion 后 Sem-Pre 从 83.79% 跌到 78.30%、Shot 泄漏从 3.38% 升到 4.10%;去掉 Trans PE 后 Sem-Pre 暴跌至 38.45%,说明跨镜头关系建模对语义连贯至关重要;去掉 AdaCFG 后 RRE 从 2.64° 升到 4.15°、T-Pre 从 72.74% 跌到 62.30%,证实 coarse-to-fine 调度的有效性。表 3 的 GSB 配对比较中,本文对 CamCloneMaster 在 Camera 维度 (G+S)/T 达 88.52%、G/(G+B) 达 86.29%,Quality 维度 95.69% / 90.82%,Narrative 维度 94.26% / 85.71%,加权平均后 91.10% / 87.08% 都明显占优。图 8 展示了一个"涌现"能力:在不重新训练的前提下,把相机栅格替换为原始 RGB 视频或 Canny 边缘视频,依然能驱动相机运动,证实了相机栅格和真实视频在表征空间的深度对齐。

Quantitative Evaluations. − denotes that this feature is not supported.
Table 1: Quantitative Evaluations. − denotes that this feature is not supported.
Ablation studies on our strategies
Table 2: Ablation studies on our strategies
GSB comparisons of ours vs. CamCloneMaster.
Table 3: GSB comparisons of ours vs. CamCloneMaster.
The evaluation set distribution.
Figure 5: The evaluation set distribution.
Qualitative Evaluations. The results demonstrate that OmniDirector accurately clones the camera motion and shot transition semantics of the reference video.
Figure 6: Qualitative Evaluations. The results demonstrate that OmniDirector accurately clones the camera motion and shot transition semantics of the reference video.
Visualization of ablation studies.
Figure 7: Visualization of ablation studies.
查看结构化数据
任务指标本文基线提升
单/多镜头相机克隆(相对旋转误差 RRE) RRE (°) ↓ 2.64 CamCloneMaster: 4.11;LTX-LoRA: 5.67;Seedance2.0: 8.33 相对 CamCloneMaster 改善 35.8%,相对 Seedance2.0 改善 68.3%
旋转精度(误差 <4° 占比) R-Pre (%) ↑ 83.18 CamCloneMaster: 74.14;LTX-LoRA: 66.34;Seedance2.0: 56.49 相对第二名 +9.04 个百分点
相机克隆(相对平移误差 RTE) RTE (°) ↓ 16.84 CamCloneMaster: 27.45;LTX-LoRA: 26.96;Seedance2.0: 49.98 相对 CamCloneMaster 降低 38.6%
平移精度(误差 <20° 占比) T-Pre (%) ↑ 72.74 CamCloneMaster: 52.21;LTX-LoRA: 52.07;Seedance2.0: 29.07 相对第二名 +20.5 个百分点(论文报告相对提升 39.3%)
多镜头切镜头时间对齐 Tem-Pre (%) ↑ 96.52 LTX-LoRA: 38.94;CamCloneMaster: 2.20;Seedance2.0: 4.17 相对 LTX-LoRA 提升约 2.5 倍
多镜头切镜头语义对齐 Sem-Pre (%) ↑ 83.79 LTX-LoRA: 29.55;其他不支持 相对 LTX-LoRA +54.2 个百分点
参考视频帧级信息泄漏率 Frame Leakage (%) ↓ 0.51 CamCloneMaster: 1.60;Seedance2.0: 4.43;LTX-LoRA: 15.04 相对 LTX-LoRA 降低约 29 倍
参考视频镜头级信息泄漏率 Shot Leakage (%) ↓ 3.38 CamCloneMaster: 11.59;Seedance2.0: 20.90;LTX-LoRA: 56.52 相对 LTX-LoRA 降低约 16 倍

局限与改进

作者在 Limitations 部分明确指出当前最关键的弱点是 token 拼接式注入在长视频上时间一致性和长期记忆不足,模型难以扩展到远超当前训练时长(比如几十分钟级别)的视频序列。从我自己的观察补充几点:①评测集虽然覆盖单/多镜头、简单/中等/困难、特殊效果,但只 1094 条样本,且全部来自 web 收集,对极端长尾场景(如快速体育转播、第一人称手术镜头)的鲁棒性还没充分验证;②相机栅格依赖 DPA-V3 这种位姿估计器,对遮挡严重、运动模糊、低纹理场景的位姿估计误差会直接传到栅格上,进而影响生成质量(虽然图 8 显示用原始视频替代栅格可以缓解,但这要求用户额外提供视频);③PE Agent 依赖 GPT/Gemini 等外部 MLLM 做描述与融合,推理成本高,并且 MLLM 对罕见镜头类型(arcing shot 配合 dolly)可能描述不准;④特殊效果如 fisheye 和 Hitchcock zoom 在评测集中仅 8.5%("Special Effects"),样本偏少;⑤论文没有充分讨论视频帧率、采样步数对最终相机精度的影响。

独立分析的弱点

从独立分析视角,主要弱点集中在三个方面。第一,时间一致性与长上下文能力不足:当前 (2T+1) 帧拼接 + 联合注意力的注入方式没有显式的长程记忆机制,当 T 增长时视觉 token 数量线性膨胀,全局注意力复杂度爆炸,模型难以维持跨镜头身份一致性(如同一人物在不同镜头中外观不变)。改进方向是引入 long-context cross-attention 模块或 memory bank,例如把过去 N 帧压缩成一组隐变量作为 key/value 池,限制 attention 范围同时保留长期信息。第二,相机栅格依赖位姿估计管线:DPA-V3 在复杂视频上不可避免地失效,且焦距用了 $0.8\cdot\max(H,W)$ 这种粗暴近似,对真实电影级焦距变化(如 telephoto 切换到 wide)刻画不准。改进方向是端到端学习一个"参考视频→相机栅格"的可微渲染管线,或者干脆放弃显式位姿估计,改用论文图 8 涌现能力所暗示的"直接从参考视频推断运动"路径,训练一个 reference-video-conditioned DiT 替代栅格分支。第三,PE Agent 高度依赖外部 MLLM:camera prompt 生成和 semantic fusion 都要调 Qwen3-VL/Gemini,推理成本和可控性都受影响,且 MLLM 对罕见相机语义的描述噪声会传播到生成结果。改进方向是把 PE Agent 内化为可微的 prompt expansion 模块,与视频生成模型联合训练,避免推理时多模型串接。

未来方向

作者明确提出的方向是引入先进的时间记忆机制(long-context cross-attention、memory bank)来支持更长视频的生成。基于本文的成果还可以延伸出几条值得探索的方向:①把相机栅格推广到更复杂的电影语言——例如 Z 轴 roll 镜头、360° 环绕、Push-pull rack focus,把每种特殊效果都用对应的 3D 几何元素编码到栅格里;②联合优化相机栅格与参考视频的双向条件生成,让栅格估计误差可以被下游生成器反馈修正;③把相机栅格作为一种"视频理解探针"——既然 RGB 视频和 Canny 视频都能驱动生成,可以探索其他视觉模态(depth、normal、segmentation)作为相机条件的等价替代物,进一步扩大可解释性;④把 PE Agent 拆成"用户可控"和"自动推断"两层,给专业导演保留手动覆盖接口;⑤把百万级相机栅格数据公开,反哺学界对相机运动的视觉表征研究。

复现评估

作者明确给出了项目页 https://ymlinfeng.github.io/OmniDirector.github.io/,但论文中并未声明模型权重和训练代码是否开源。从可复现性证据看:①训练数据规模 1.8M 互联网视频、180 万条 (视频, 相机栅格) 对,这对一般研究者几乎不可承担;②训练超参明确(10k 步、batch 64、lr $5\times 10^{-5}$、480p 分辨率),但 MMDiT 骨干的具体规模未披露,依赖快手内部 in-house I2V 扩散骨干,外部研究者无法直接套用;③相机栅格渲染管线虽然只涉及 NumPy + 3D 几何,可复现;④推理时依赖 Qwen3-VL、Gemini 3.1 Pro、DPA-V3、TransNet-V2、LTX-Video 等多个外部模型,单卡复现几乎不现实,至少需要 8 卡 A100 级别算力才能跑训练;⑤评测集 1094 条虽然规模可控,但 MLLM 评分的随机性会引入方差。综合评估,复现难度高,主要难在数据、算力和多模型依赖。