CameraCtrl: Enabling Camera Control for Text-to-Video Generation
TL;DR 精炼摘要
本文介绍了CameraCtrl,一种实现视频生成中相机姿态精确控制的方法。通过有效的相机轨迹参数化和即插即用的控制模块,CameraCtrl能够在不影响基础模型其他模块的情况下,增强用户对视频生成的可控性与创意表达。实验结果表明,其有效性显著提升了生成视频的叙事能力。
摘要
Controllability plays a crucial role in video generation, as it allows users to create and edit content more precisely. Existing models, however, lack control of camera pose that serves as a cinematic language to express deeper narrative nuances. To alleviate this issue, we introduce CameraCtrl, enabling accurate camera pose control for video diffusion models. Our approach explores effective camera trajectory parameterization along with a plug-and-play camera pose control module that is trained on top of a video diffusion model, leaving other modules of the base model untouched. Moreover, a comprehensive study on the effect of various training datasets is conducted, suggesting that videos with diverse camera distributions and similar appearance to the base model indeed enhance controllability and generalization. Experimental results demonstrate the effectiveness of CameraCtrl in achieving precise camera control with different video generation models, marking a step forward in the pursuit of dynamic and customized video storytelling from textual and camera pose inputs.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
CameraCtrl: Enabling Camera Control for Text-to-Video Generation (CameraCtrl: 实现文本到视频生成中的相机控制)
1.2. 作者
Hao He, Yinghao Xu, Yuwei Guo, Gordon Wetzstein, Bo Dai, Hongsheng Li, Ceyuan Yang。 作者来自香港中文大学 (The Chinese University of Hong Kong)、上海人工智能实验室 (Shanghai Artificial Intelligence Laboratory) 和斯坦福大学 (Stanford University)。
1.3. 发表期刊/会议
该论文以预印本形式发布在 arXiv (https://arxiv.org/abs/2404.02101)。 发布时间 (UTC): 2024-04-02T16:52:41.000Z。
1.4. 摘要
可控性 (Controllability) 在视频生成中扮演着关键角色,使用户能够更精确地创建和编辑内容。然而,现有模型缺乏对相机姿态 (camera pose) 的控制,而相机姿态是表达更深层次叙事细微差别的电影语言。为了解决这个问题,本文引入了 CameraCtrl,它能为视频扩散模型 (video diffusion models) 实现精确的相机姿态控制。本文的方法探索了有效的相机轨迹参数化 (camera trajectory parameterization) 以及一个即插即用 (plug-and-play) 的相机姿态控制模块,该模块在视频扩散模型之上进行训练,而不触及基础模型的其他模块。此外,本文对各种训练数据集的影响进行了全面研究,结果表明,具有多样相机分布和与基础模型外观相似的视频确实能增强可控性和泛化能力 (generalization)。实验结果证明了 CameraCtrl 在使用不同视频生成模型时实现精确相机控制的有效性,标志着在从文本和相机姿态输入实现动态和定制化视频叙事方面迈出了重要一步。
1.5. 原文链接
原文链接: https://arxiv.org/abs/2404.02101 PDF 链接: https://arxiv.org/pdf/2404.02101v2.pdf
2. 整体概括
2.1. 研究背景与动机
-
论文试图解决的核心问题是什么? 当前视频生成模型在内容和物体运动方面已取得显著进展,但普遍缺乏对相机姿态的精确控制。相机姿态是电影语言的重要组成部分,能够表达更深层次的叙事和情感,但现有模型无法根据用户需求灵活调整或模拟摄像机视角。
-
为什么这个问题在当前领域是重要的?现有研究存在哪些具体的挑战或空白 (Gap)?
- 叙事和创意表达: 相机运动(如推、拉、摇、移)是电影制作中强调情感、突出人物关系和引导观众注意力的关键手段。缺乏相机控制限制了生成视频的叙事能力和创意表达空间。
- 实际应用价值: 在虚拟现实 (VR)、增强现实 (AR) 和游戏开发等领域,精确控制摄像机视角对于创建沉浸式和互动体验至关重要。
- 现有方法的局限性:
AnimateDiff虽然引入了MotionLoRA模块支持一些特定相机运动,但难以泛化到用户自定义的相机轨迹。MotionCtrl尝试通过相机参数的数值来控制视频扩散模型,但它仅依赖数值,缺乏相机姿态的几何线索,导致控制不够精确,且泛化能力受限,需要微调基础模型的部分参数。
-
这篇论文的切入点或创新思路是什么? 本文的切入点是提出一个即插即用 (plug-and-play) 的相机控制模块
CameraCtrl,它通过探索有效的相机轨迹参数化(即采用Plücker Embeddings普吕克嵌入作为相机姿态表示)和将该模块无缝集成到现有视频扩散模型中(不修改基础模型),从而实现对视频生成过程的精确相机姿态控制。此外,论文还深入研究了训练数据的选择,以确保模型在可控性和泛化能力之间达到最佳平衡。
2.2. 核心贡献/主要发现
-
论文最主要的贡献是什么?
- 提出了
CameraCtrl: 一个能够为视频扩散模型提供灵活、精确相机视角控制的方法。 - 设计了即插即用的相机控制模块: 该模块可以适应各种视频生成模型,并产生视觉上吸引人的相机控制效果,且不改变基础模型的权重。
- 进行了全面的数据集分析: 论文对用于训练相机控制模块的数据集进行了深入分析,为未来该方向的研究提供了有价值的指导。
- 提出了
-
论文得出了哪些关键的结论或发现?这些发现解决了什么具体问题?
Plücker Embeddings作为相机姿态表示优于传统的数值参数,因为它为每个像素提供了更丰富的几何解释,有助于模型更精确地理解和控制相机运动。- 将相机特征注入
U-Net(U-Net) 的Temporal Attention(时间注意力) 层是有效的,因为相机运动本质上是时序的。 - 训练数据集的选择至关重要:具有多样化相机分布且与基础模型训练数据外观相似(例如
RealEstate10K)的视频,能够显著提升CameraCtrl的可控性和泛化能力。 CameraCtrl能与不同的文本到视频 (T2V) 和图像到视频 (I2V) 模型以及其他视觉控制器 (如SparseCtrl) 协同工作,展示了其广泛的适用性。
3. 预备知识与相关工作
3.1. 基础概念
- 扩散模型 (Diffusion Models): 一种生成模型,通过逐步向数据中添加噪声来学习数据的分布,然后学习逆向去噪过程来生成新的数据。在视频生成中,扩散模型通常用于从噪声中逐步生成视频帧或其潜在表示。
- 视频扩散模型 (Video Diffusion Models):
在图像扩散模型的基础上扩展,处理时间维度数据,能够生成具有时间连续性的视频。它们通常通过在
U-Net架构中引入Temporal Attention(时间注意力) 层来捕获视频帧之间的时间关系。 - 可控性 (Controllability): 指用户能够通过输入信号(如文本、图像、结构信息或本文中的相机姿态)来精确引导和修改生成内容的能力。在视频生成中,可控性意味着用户可以指定生成视频的特定属性,例如内容、风格、物体运动或摄像机运动。
- 相机姿态 (Camera Pose):
描述相机在三维空间中的位置和方向。它由两组参数构成:
- 内参 (Intrinsic Parameters): 描述相机光学特性和图像传感器几何结构,例如焦距 (focal length)、主点 (principal point) 坐标等,通常用一个 的矩阵 表示。
- 外参 (Extrinsic Parameters): 描述相机相对于世界坐标系的位置和方向,包括旋转矩阵 (rotation matrix) 和平移向量 (translation vector) ,通常用一个 的矩阵 表示。
- 普吕克嵌入 (Plücker Embeddings): 一种用于表示三维空间中直线的数学工具,在计算机视觉中可以用来表示从相机中心出发穿过图像像素的射线。它由一个六维向量组成,包含了射线的方向和其与原点的叉积,因此具有丰富的几何信息。
- U-Net 架构 (U-Net Architecture):
一种深度学习网络架构,因其形状像字母“U”而得名。它通常由一个编码器 (encoder) 路径(用于特征下采样)和一个解码器 (decoder) 路径(用于特征上采样并恢复空间分辨率)组成,编码器和解码器之间通过跳跃连接 (skip connections) 传递特征,以保留细节信息。在扩散模型中,
U-Net通常用于预测噪声。 - 时间注意力 (Temporal Attention) 与空间注意力 (Spatial Attention):
- 时间注意力: 关注视频中不同帧之间的时间关系。在视频生成模型中,它帮助模型保持时间一致性,确保物体和场景在不同帧之间平滑过渡。
- 空间注意力: 关注单个帧内不同空间位置之间的关系,帮助模型捕获图像中的局部和全局特征。
- 即插即用 (Plug-and-Play):
指一个模块或组件可以轻松地集成到现有系统中,而无需对现有系统进行大规模修改或重新训练。在本文中,
CameraCtrl作为一个即插即用模块,可以在不触及视频扩散模型原有权重的情况下,为其添加相机控制能力。 - 结构光束法 (Structure-from-Motion, SfM) /
COLMAP:SfM是一种计算机视觉技术,用于从一系列二维图像中自动重建三维场景结构和相机姿态。COLMAP是一个常用的SfM和多视图立体 (Multi-View Stereo, MVS) 管道,可以从视频帧中估计出相机的内参和外参序列。
3.2. 前人工作
本文作者回顾了视频生成和可控视频生成领域的一些关键研究:
-
视频生成 (Video Generation):
- 从头训练的视频生成器: 如
Video Diffusion Model (VDM)(Ho et al., 2022b),它将 2D 图像扩散架构扩展到视频数据,并从头开始在图像和视频上共同训练模型。Lumiere(Bar-Tal et al., 2024) 通过直接生成全帧率视频来增强时间一致性。 - 基于预训练图像生成器: 许多工作利用像
Stable Diffusion(Rombach et al., 2022) 这样的强大T2I(文本到图像) 模型。它们通过在预训练的 2D 层之间插入时间层并对大型视频数据集进行微调来扩展 2D 架构。例如:Align-Your-Latents(Blattmann et al., 2023b) 通过对齐独立采样的噪声图,将T2I模型高效转换为视频生成器。Stable Video Diffusion (SVD)(Blattmann et al., 2023a) 是Align-Your-Latents的扩展,具有更精细的训练步骤和数据整理。AnimateDiff(Guo et al., 2023b) 利用可插拔的运动模块,在个性化图像主干 (backbones) 上实现高质量动画创建。
- 其他重要工作包括使用可扩展的
transformer(变换器) 主干 (如W.A.L.T.,Sora) 和结合离散token(词元) 与语言模型进行视频生成。
- 从头训练的视频生成器: 如
-
可控视频生成 (Controllable Video Generation):
- 结构控制信号: 为了增强指导,一些工作采用深度图 (depth maps)、骨架序列 (skeleton sequences) 等结构信号来精确控制生成视频中的场景/人物运动。例如:
SparseCtrl(Guo et al., 2023a) 利用稀疏帧控制整体视频生成,支持RGB图像、草图 (sketch maps) 或深度图作为控制信号。ControlNet(Zhang et al., 2023a) 和T2I-Adapter(Mou et al., 2023) 是图像生成领域中引入额外结构控制信号的代表性工作,它们通过独立的编码器处理控制信号并将其注入到U-Net中。
- 相机控制的早期尝试:
AnimateDiff通过LoRA(低秩适应) 微调获得特定相机运动类型的模型权重,但其灵活性有限,仅支持八种基本相机运动。Direct-a-Video(Yang et al., 2024a) 提出使用相机嵌入器控制生成视频的相机姿态,但仅限于平移左等三种基本参数。MotionCtrl(Wang et al., 2023) 接受更多相机参数作为输入,以控制相机视角。然而,它仅依赖相机参数的数值,限制了控制精度,并且需要微调视频扩散模型的部分参数,这会影响其在不同视频领域间的泛化能力。
- 结构控制信号: 为了增强指导,一些工作采用深度图 (depth maps)、骨架序列 (skeleton sequences) 等结构信号来精确控制生成视频中的场景/人物运动。例如:
3.3. 技术演进
视频生成技术从最初的从头训练扩散模型,演进到利用强大的预训练文本到图像模型进行微调,显著提升了生成质量和效率。在此基础上,研究人员开始探索如何增加生成视频的可控性,最初是通过文本和图像输入,随后扩展到更精细的结构信号如深度、骨架或草图。相机控制是可控性研究的一个重要分支,因为它直接影响视频的叙事和沉浸感。早期的相机控制方法如 AnimateDiff 和 MotionCtrl 虽有尝试,但仍存在控制不精确、泛化能力差或依赖数值参数而非几何线索的局限性。CameraCtrl 正是在这一技术演进背景下,旨在通过更合理的相机姿态表示和即插即用模块设计,弥补现有相机控制方法的不足。
3.4. 差异化分析
CameraCtrl 与相关工作的主要区别和创新点体现在以下几个方面:
-
相机姿态表示:
CameraCtrl: 采用Plücker Embeddings(普吕克嵌入) 作为相机姿态的表示。这种表示方式为图像中的每个像素提供了三维几何解释,相比于单纯的数值参数,它能更完整、更具几何意义地描述相机姿态信息。这有助于模型更好地理解相机运动与视觉内容之间的关系。MotionCtrl: 依赖于相机参数的数值。这种方式虽然能提供相机信息,但缺乏几何语境,使得模型难以精确地将这些数值与图像像素的变化关联起来,导致控制精度受限。AnimateDiff: 采用MotionLoRA模块来生成预设的八种基本相机运动,而非用户自定义的精确轨迹,且其实现方式更多是“风格”层面的控制,而非精确的几何控制。
-
模块设计与泛化能力:
CameraCtrl: 设计为即插即用 (plug-and-play) 模块,它在视频扩散模型之上进行训练,而不修改基础模型的其他模块。这种设计使得CameraCtrl能够轻松适应不同的视频生成模型(如AnimateDiff,SVD)和个性化风格,避免了训练过程中出现外观信息泄露的问题,从而增强了其泛化能力。MotionCtrl: 需要微调基础视频扩散模型的部分参数,这可能限制其在不同视频领域间的泛化能力,因为它与特定基础模型的耦合度更高。
-
训练数据策略:
CameraCtrl: 进行了全面的数据集研究,发现选择具有多样化相机分布且与基础模型外观相似的数据集 (RealEstate10K) 对于提升可控性和泛化能力至关重要。这强调了数据分布匹配的重要性。- 其他方法: 较少强调训练数据集对相机控制模块泛化能力的影响。
-
注入机制:
-
CameraCtrl: 将相机特征注入到U-Net的Temporal Attention(时间注意力) 层,这与相机轨迹的时序性和全局性变化特性相吻合,有助于保持时间一致性。综上所述,
CameraCtrl的创新在于结合了更具几何意义的相机姿态表示、灵活的即插即用模块设计,并通过对训练数据的深入研究,实现了对视频扩散模型更精确、更通用且更少侵入性的相机姿态控制。
-
4. 方法论
本文旨在为视频扩散模型引入精确的相机控制能力,并为此解决了三个关键问题:1) 如何有效表示相机条件以反映三维空间中的几何运动?2) 如何将相机条件无缝注入现有视频生成器而不损害帧质量和时间一致性?3) 应该使用哪种类型的训练数据来确保模型正确训练?
4.1. 方法原理
CameraCtrl 的核心思想是设计一个即插即用的相机控制模块,该模块能够从描述相机轨迹的 Plücker Embeddings (普吕克嵌入) 中提取特征,并将这些特征有效地注入到现有视频扩散模型(如 AnimateDiff 或 SVD)的 U-Net 架构中,尤其是其 Temporal Attention (时间注意力) 层,以实现对生成视频相机姿态的精确控制。同时,通过精心选择训练数据集(侧重于具有多样化相机分布且外观与基础模型训练数据相似的数据),确保了模块的泛化能力和控制精度。
4.2. 核心方法详解
4.2.1. 视频生成预备知识 (Preliminaries of Video Generation)
本文首先简要回顾了视频扩散模型和可控视频生成的一般框架。
-
视频扩散模型 (Video Diffusion Models): 现代
T2V(文本到视频) 扩散模型通常利用预训练的T2I(文本到图像) 扩散模型,并在其上训练一些时间块。这些模型通常遵循图像生成中的原始扩散公式。具体来说,给定一个由 帧图像(或其潜在特征)组成的序列 ,模型会逐步向其添加噪声 直到其变为正态分布。在去噪阶段,一个神经网络 被训练来预测在时间步 添加的噪声。训练目标是最小化预测噪声与真实噪声之间的均方误差 (MSE)。 其目标函数定义如下: 其中:- 表示原始的 帧图像序列或其潜在特征。
- 表示添加到图像序列中的真实噪声。
- 表示在时间步 对应的条件信号嵌入(例如文本提示的嵌入)。
- 表示当前的扩散时间步。
- 是神经网络模型,参数为 ,用于预测给定噪声输入 、条件 和时间步 下的噪声。
- 表示 L2 范数的平方,即均方误差。
-
可控视频生成 (Controllable Video Generation): 为了增强可控性,一些方法引入了额外的结构控制信号 (例如深度图、
Canny边缘图)到生成过程中。这些控制信号首先通过一个额外的编码器 进行处理,然后注入到生成器中。 此时,训练目标函数变为: \mathcal { L } ( \theta ) = \mathbb { E } _ { z _ { 0 } ^ { 1 : N } , \epsilon , c _ { t } , s _ { t } , t } [ \| \epsilon - \hat { \epsilon } _ { \theta } ( z _ { t } ^ { 1 : N } , c _ { t } , \Phi _ { s } ( s _ _ { t } ) , t ) \| _ { 2 } ^ { 2 } ] 其中:- 表示在时间步 对应的额外结构控制信号。
- 是一个额外的编码器,用于处理结构控制信号 并生成其特征表示。
- 表示经过编码器处理后的结构控制信号特征。
本文的
CameraCtrl遵循此目标函数,将相机姿态作为 ,并将所提出的相机编码器 作为 来训练。
4.2.2. 相机姿态表示 (Camera Pose Representation)
在深入相机控制模块的架构和训练之前,本文首先研究了何种相机表示能够精确反映三维空间中的相机运动。
-
传统相机表示的局限性: 通常,相机姿态由内参 和外参 组成,其中 是旋转部分, 是平移部分。 直接将这些原始相机参数的数值输入生成器存在几个问题:
- 数值不匹配: 旋转矩阵 受到正交性约束,而平移向量 的大小通常不受约束,这可能导致相机控制模型的学习过程出现不匹配。
- 缺乏像素关联性: 直接使用原始相机参数,模型难以将这些数值与图像像素建立精确关联,从而限制了对视觉细节的精确控制。
-
采用普吕克嵌入 (Plücker Embeddings): 为了解决这些问题,本文选择
Plücker Embeddings(Sitzmann et al., 2021) 作为相机姿态表示。Plücker Embeddings能够为视频帧中的每个像素提供几何解释,从而提供更具信息量的相机姿态描述。 具体来说,对于图像坐标空间中的每个像素(u, v),其Plücker Embedding定义为: 其中:- 是世界坐标系中的相机中心。
- 是从相机中心指向像素
(u, v)在世界坐标系中的方向向量。 - 表示向量叉积。 方向向量 的计算方式为: 其中:
- 是相机的旋转矩阵。
- 是相机的内参矩阵。
- 是像素
(u, v)在齐次坐标下的表示。 - 是相机的平移向量。
方向向量 随后会进行归一化,以确保其具有单位长度。
对于视频序列中的第 帧,其
Plücker Embedding可以表示为 ,其中 和 是帧的高度和宽度。整个视频的相机轨迹则表示为一个Plücker Embedding序列 ,其中 是视频帧的总数。
-
Plücker Embeddings的优势:-
几何解释:
Plücker Embeddings提供了每个像素的几何解释,比纯数值的相机矩阵更具信息量,有助于基础视频生成器更好地理解相机姿态信息。 -
时间一致性: 这种表示方式能更好地利用基础视频生成器的时间一致性能力,生成具有特定相机轨迹的视频片段。
-
数值范围统一:
Plücker Embedding中各项的数值范围更统一,有利于数据驱动模型的学习过程。下图 (原文 Figure 6) 展示了不同相机表示的对比:
该图像是示意图,展示了不同的相机表示方法。左侧子图展示了利用内部矩阵 和外部矩阵 (由旋转矩阵 和位移向量 组成)的相机表示。中间子图则展示了将旋转矩阵 转换为欧拉角 的相机表示。右侧子图给出了普吕克嵌入,将内部和外部矩阵转换为像素级的空间嵌入。
原文 Figure 6: Different camera representation. The left subfigure row shows the camera represented using the intrinsic K _ { i }and the extrinsic matricesE _ { i }(composed of rotation matrixR _ { i }and the translation vectort _ { i }). The middle subfigure give the camera representation of converting the rotation matrixR _ { i }into Euler angles . Plücker embedding are given in the right subfigure, the intrinsic and extrinsic matrices are converted into the Plücker embeddings to form a pixel-wise spatial embedding. While the left and middle camera representations are not a pixel-wise camera representations naturally.
-
4.2.3. 将相机可控性引入视频生成器 (Camera Controllability into Video Generators)
由于相机轨迹被参数化为 Plücker Embedding 序列,它本质上是一个像素级的空间射线图,因此本文遵循 ControlNet (Zhang et al., 2023a) 和 T2I-Adaptor (Mou et al., 2023) 等文献的方法,首先使用一个编码器模型来提取 Plücker Embedding 序列的特征,然后将这些相机特征融合到视频生成器中。
-
相机编码器 (Camera Encoder):
- 输入设计: 本文的相机编码器 只接受
Plücker Embedding作为输入,并输出多尺度特征,如上图 (原文 Figure 2(a)) 所示。这种设计是基于经验分析:如果像ControlNet那样同时输入图像特征和Plücker Embedding,模型容易从训练数据中泄露外观信息,导致对训练数据固有的外观偏差产生依赖,从而限制了相机姿态控制在不同领域间的泛化能力。 - 架构: 基于
T2I-Adaptor的编码器,但为视频设计。它在每个卷积块后引入了一个Temporal Attention(时间注意力) 模块,以捕获视频剪辑中相机姿态之间的时间关系。 - 详细架构: 参见附录 D.1。相机编码器由一个像素下采样层 (
pixel unshuffle layer)、一个卷积层和四个编码器尺度组成。它接收输入 (其中b, n, h, w分别表示批次大小、视频帧数、视频剪辑的高度和宽度),并输出多尺度相机特征。每个编码器尺度由一个下采样ResNet块(除了第一个尺度)和一个ResNet块组成,每个块后接一个Temporal Attention(时间注意力) 块。 Temporal Attention(时间注意力) 块的结构如下: 其中:- 是输入特征。
- 是时间位置嵌入 (temporal positional embedding),用于编码帧的相对或绝对时间位置。
- 是输入特征与位置嵌入的和。
- 是层归一化操作。
- 是多头自注意力机制。
- 是多层感知机。
- 残差连接 ( 或 ) 用于帮助梯度流动。
- 输入设计: 本文的相机编码器 只接受
-
相机融合 (Camera Fusion): 获得多尺度相机特征后,本文旨在将这些特征无缝集成到视频扩散模型的
U-Net架构中。- 注入点选择: 将相机特征注入
U-Net的Temporal Attention(时间注意力) 块。这一决策源于Temporal Attention层捕获时间关系的能力,这与相机轨迹固有的序列性和因果性质相符。而空间注意力层则侧重于单个帧。 - 融合过程: 如下图 (原文 Figure 2(b)) 所示:
-
图像潜在特征 和相机姿态特征 通过像素级加法直接组合。
-
然后,集成后的特征通过一个可学习的线性层。
-
该线性层的输出直接输入到每个
Temporal Attention模块的第一个Temporal Attention层。下图 (原文 Figure 2) 展示了
CameraCtrl的框架:
该图像是示意图,展示了CameraCtrl的框架。图(a)中显示了一个预训练的视频扩散模型及其上训练的相机编码器,该编码器处理Plücker嵌入并生成多尺度相机表示,这些表示被整合到U-Net的时间注意力层中以控制视频生成过程。图(b)详细描述了相机特征和潜在特征的注入过程,通过元素级相加后,融合到一个线性层中,最终输入到每个时间块的首个时间注意力层。
原文 Figure 2: Framework of CameraCtrl. (a) Given a pre-trained video diffusion model (e.g. AnimateDiff (Guo et al., 2023b)) and SVD (Blattmann et al., 2023a), CameraCtr1 trains a camera encoder on it, which takes the Plücker embeding as input and outputs multi-scale camera representations. These features are then integrated into the temporal attention layers of the U-Net at their respective scales to control the video generation process. (b) Details of the camera injection process. The camera features c _ { t }and the latent featuresz _ { t }are first combined through the element-wise addition. A learnable linear layer is adopted to further fuse two representations which are then fed into the first temporal attention layer of each temporal block.
-
- 注入点选择: 将相机特征注入
4.2.4. 数据驱动的相机分布学习 (Learning Camera Distribution in Data-Driven Manner)
训练上述相机编码器和融合线性层通常需要大量带有相机姿态标注的视频。相机轨迹可以通过 Structure-from-Motion (SfM) (结构光束法) 方法(如 COLMAP (Schönberger & Frahm, 2016))从真实视频中获取,也可以从渲染引擎(如 Blender)收集带有真实相机姿态的视频。
-
数据集选择 (Dataset Selection): 本文的目标是选择一个外观与基础视频扩散模型训练数据(如
WebVid10M(Bain et al., 2021))尽可能匹配,并且具有尽可能广泛的相机姿态分布的数据集。- 候选数据集:
Objaverse(Deitke et al., 2023)、MVImageNet(Yu et al., 2023) 和RealEstate10K(Zhou et al., 2018)。 - 分析与选择:
Objaverse:计算机生成图像 (CGI),相机分布多样,但与真实世界数据集存在明显外观差异,可能导致模型过度依赖训练数据的外观偏差,泛化能力受限。MVImageNet:真实世界数据集,具有复杂的个体相机轨迹,但相机参数分布不广,多数轨迹仅限于水平旋转,缺乏多样性。RealEstate10K:真实世界数据集,包含室内外场景和物体,每个相机轨迹都复杂且不同轨迹间存在显著多样性。
- 最终选择:
RealEstate10K。因为它在外观上与基础模型训练数据相似,且在相机轨迹的复杂性和多样性之间取得了最佳平衡。虽然ACID(Liu et al., 2021) 和MannequinChallenge(Li et al., 2019) 也有类似特征,但数据量远小于RealEstate10K,且联合训练未带来提升。
- 候选数据集:
-
测量相机可控性 (Measuring Camera Controllability): 为了监控相机编码器的训练过程,本文设计了两个指标来量化输入相机条件与生成视频相机轨迹之间的误差。
- 提取相机姿态: 使用
COLMAP(Schönberger & Frahm, 2016) 从生成视频中提取相机姿态序列,得到旋转矩阵 和平移向量 。 - 误差指标: 旋转角度和平移尺度是不同的数学量,因此分别测量:
- 旋转误差 (RotErr):
由真实旋转矩阵 和生成旋转矩阵 比较得出。
其中:
- 表示视频剪辑中的总帧数。
- 是生成视频第 帧的相机旋转矩阵。
- 是真实(地面真值)第 帧的相机旋转矩阵。
- 是真实旋转矩阵的转置。
- 表示矩阵的迹(对角线元素之和)。
- 是反余弦函数,输出角度。该公式计算了两个旋转矩阵之间的角度距离。
- 平移误差 (TransErr):
通过计算真实平移向量 和生成平移向量 之间的 L2 距离之和。
其中:
- 表示视频剪辑中的总帧数。
- 是真实(地面真值)第 帧的相机平移向量。
- 是生成视频第 帧的相机平移向量。
- 表示 L2 范数的平方。
- 旋转误差 (RotErr):
由真实旋转矩阵 和生成旋转矩阵 比较得出。
其中:
COLMAP的稳定性与尺度问题: 鉴于COLMAP在短视频中提取相机姿态可能不稳定且存在尺度不变性,本文进行了一些后处理。具体地,首先通过设置第一帧的齐次外参矩阵为 单位矩阵来计算相对姿态。然后,根据真实相机轨迹,对COLMAP结果的尺度进行归一化,通过计算前两帧的平移差距来获得重尺度因子,并用该因子归一化其他生成的相机姿态,以减轻尺度问题。
- 提取相机姿态: 使用
5. 实验设置
5.1. 数据集
-
训练数据集:
-
RealEstate10K(Zhou et al., 2018): 选作核心训练数据集,包含约65K个视频剪辑。该数据集包含多样化的室内和室外场景,且相机轨迹复杂多样,其外观分布与主流视频生成模型的训练数据(如WebVid10M)相似。 -
Objaverse(Deitke et al., 2023): 作为消融实验的对比数据集,具有最广泛的相机姿态分布,但外观与WebVid10M显著不同。 -
MVImageNet(Yu et al., 2023): 作为消融实验的对比数据集,真实世界数据,但相机轨迹主要限于水平旋转,多样性不足。 -
ACID(Liu et al., 2021) 和MannequinChallenge(Li et al., 2019): 与RealEstate10K类似但数据量较小,在消融实验中用于测试联合训练的效果。下图 (原文 Figure 5) 展示了不同数据集的样本:
原文 Figure 5: Samples of different datasets. Rows 1 to row 3 are samples from the Objaverse dataset, which has random camera poses for each rendered image. Rows 4 to row 6 show the samples from the MVImageNet dataset. Samples of the RealEstate10K dataset are presented from rows 7 to row 9.
-
-
评估数据集:
WebVid10M(Bain et al., 2021): 用于评估FVD(Fréchet 视频距离)、CLIPSIM(CLIP相似度)、FC(帧一致性) 和ODD(物体动态程度) 等视频外观质量和动态性指标,从中随机采样 1,000 个视频作为参考。RealEstate10K测试集: 用于评估RotErr(旋转误差) 和TransErr(平移误差),从中随机选择 1,000 个视频及对应相机姿态。
5.2. 评估指标
本文使用了一系列指标来评估生成视频的质量和相机控制的准确性。
-
Fréchet 视频距离 (Fréchet Video Distance, FVD):
- 概念定义:
FVD是评估视频生成模型质量的常用指标,它衡量生成视频与真实视频分布之间的相似度。值越低表示生成视频的分布越接近真实视频,即视觉质量和真实感越好。 - 数学公式:
- 符号解释:
- 和 分别是真实视频特征嵌入的均值向量和协方差矩阵。
- 和 分别是生成视频特征嵌入的均值向量和协方差矩阵。
- 表示 L2 范数的平方。
- 表示矩阵的迹。
- 表示矩阵的平方根。
FVD通常通过预训练的视频分类器(如I3D(Inflated 3D ConvNet))提取视频特征,然后计算这些特征在低维空间中的高斯分布距离。
- 概念定义:
-
CLIP 相似度 (CLIPSIM):
- 概念定义:
CLIPSIM衡量生成视频与其对应的文本提示之间的语义一致性。它利用CLIP(Contrastive Language-Image Pre-training) 模型提取的视频和文本嵌入向量,计算它们之间的余弦相似度。值越高表示视频内容与文本描述越匹配。 - 数学公式:
- 符号解释:
- 是生成视频通过
CLIP编码器得到的嵌入向量。 - 是文本提示通过
CLIP编码器得到的嵌入向量。 - 表示向量点积。
- 表示向量的 L2 范数(模长)。
- 是生成视频通过
- 概念定义:
-
帧一致性 (Frame Consistency, FC):
- 概念定义:
FC衡量生成视频中相邻帧之间的时间连贯性。高FC值表示视频帧之间过渡平滑,没有剧烈跳变或不一致。本文提到使用FC衡量视频外观质量,且值越高越好。 - 数学公式:
FC的具体计算方法在论文正文中未直接给出,但通常它反向衡量相邻帧之间的感知距离(例如LPIPS),或者直接计算某种帧间相似度。如果采用LPIPS(Learned Perceptual Image Patch Similarity) 作为感知距离,那么为了使其“越高越好”,公式可能为 或 。 若以 LPIPS 为基础: - 符号解释:
- 是视频的帧数。
- 表示视频的第 帧。
- 是一种基于深度学习的感知距离度量,值越小表示两张图像越相似。
- 概念定义:
-
物体动态程度 (Object Dynamic Degree, ODD):
- 概念定义:
ODD衡量生成视频中物体运动的程度。它旨在评估模型是否能生成具有合理物体动态的视频,而不是静态背景或缺乏内部运动的视频。本文的ODD受到VBENCH(Huang et al., 2023) 的Dynamic Degree(动态程度) 指标启发,值越高表示物体运动越显著。 - 数学公式:
根据附录 D.4 的描述,
ODD的计算过程如下:- 首先,使用
Grounded-SAM-2(Ren et al., 2024) 分割出视频中的主要物体。 - 然后,使用
RAFT(Teed & Deng, 2020) 估计视频的光流,并只保留属于主要物体的光流。 - 接着,基于这些光流来判断视频是否为“非静态”。
- 最后,
ODD被计算为非静态视频的比例。
- 首先,使用
- 符号解释:
- “非静态视频”是指其中主要物体存在显著运动的视频。
- 概念定义:
-
旋转误差 (RotErr) 和平移误差 (TransErr): 这两个指标用于量化相机控制的准确性,已在方法论部分详细说明。值越低表示相机控制越精确。
-
用户偏好率 (User Preference Rate):
- 概念定义: 通过用户研究 (user study) 评估不同模型生成视频的相机控制质量。用户观看不同模型生成的视频,并选择与条件相机轨迹最一致的视频。此指标直接反映了人类对相机控制效果的主观感受。值越高表示用户越偏爱该模型的控制效果。
- 数学公式: 论文中未给出数学公式,但通常计算为选择某个模型生成视频的用户比例。
- 符号解释: 无特定符号,直接使用百分比表示。
5.3. 对比基线
本文将 CameraCtrl 与以下几种方法进行比较:
-
AnimateDiff(Guo et al., 2023b): 一个知名的T2V模型,通过MotionLoRA模块实现了对八种基本相机运动(如平移、倾斜、缩放)的控制。尽管它能生成高质量的视频,但其相机控制能力较为有限,难以泛化到用户自定义的复杂相机轨迹。本文中,AnimateDiff的MotionLoRA版本作为CameraCtrl在T2V设置下的基线,特别是在相机控制能力方面。 -
MotionCtrl(Wang et al., 2023): 一个旨在提供更灵活相机控制的视频扩散模型。它通过将相机参数的数值作为条件输入。然而,其主要缺点是仅依赖数值而非几何线索,导致控制精度不足,并且需要微调基础视频扩散模型的部分参数,这会影响其在不同视频领域(domain)间的泛化能力。本文将MotionCtrl作为T2V和I2V(图像到视频) 设置下CameraCtrl的主要竞争基线。 -
SVD(Stable Video Diffusion) (Blattmann et al., 2023a): 一个强大的I2V模型,作为CameraCtrl在I2V设置下的基础模型,同时也是评估CameraCtrl在I2V场景下性能的基线。
6. 实验结果与分析
6.1. 核心结果分析
6.1.1. 定量比较
下表 (原文 Table 1) 展示了 CameraCtrl 与其他方法在 T2V 和 I2V 设置下的定量比较结果。
| Method | FVD ↓ | CLIPSIM ↑ | FC↑ | ODD ↑ | TransErr↓ | RotErr↓ | User Preference Rate ↑ (%) |
|---|---|---|---|---|---|---|---|
| AnimateDiff | 1022.4 | 0.298 | 0.930 | 56.4 | Incapable | Incapable | 19.4 |
| MotionCtrlVC | 1123.2 | 0.286 | 0.922 | 42.3 | 1402 | 1.58 | 37.0 |
| CameraCtrlAD | 1088.9 | 0.301 | 0.941 | 49.8 | 12.98 | 1.29 | 43.6 |
| SVD | 371.2 | 0.312 | 0.957 | 47.5 | Incapable | Incapable | Incapable |
| MotionCtrlSVD | 386.2 | 0.303 | 0.953 | 41.8 | 10.21 | 1.41 | 26.9 |
| CameraCtrlSVD | 360.3 | 0.298 | 0.960 | 46.5 | 9.02 | 1.18 | 73.1 |
原文 Table 1: Quantitative comparisons. MotionCtrlVC and MotionCtrlSVD represent MotionCtrl with VideoCrafter (Chen et al., 2023a) and SVD (Blattmann et al., 2023a) as base model, respectively. Correspondingly, CameraCtrlAD and CameraCtrlSVD denote base models of AnimateDiff and SVD with CameraCtrl respectively.
分析:
- 相机控制精度 (
TransErr,RotErr,User Preference Rate):AnimateDiff(使用MotionLoRA) 由于仅支持八种基本相机运动,无法计算TransErr和RotErr,但其用户偏好率最低 (19.4%),表明其相机控制能力有限。CameraCtrl在两种设置下(基于AnimateDiff的CameraCtrl_AD和基于SVD的CameraCtrl_SVD)均显著优于MotionCtrl(MotionCtrl_VC和MotionCtrl_SVD)。CameraCtrl_AD的TransErr为 12.98,RotErr为 1.29,用户偏好率达 43.6%。CameraCtrl_SVD的TransErr为 9.02,RotErr为 1.18,用户偏好率高达 73.1%。这强有力地证明了CameraCtrl在实现精确相机控制方面的优越性。
- 视觉质量和动态性 (
FVD,CLIPSIM,FC,ODD):CameraCtrl在保持或提升视觉质量和物体动态性方面表现良好。与基线模型(AnimateDiff和SVD)相比,CameraCtrl的这些指标通常更好或具有可比性。例如,CameraCtrl_SVD的FVD(360.3) 甚至低于基线SVD(371.2),FC(0.960) 也更高,这表明CameraCtrl不仅能精确控制相机,还能维持甚至提升生成视频的整体质量和时间一致性。CLIPSIM略有下降(0.298 vs 0.312),但仍在可接受范围内。MotionCtrl在FVD和ODD方面通常略低于对应的CameraCtrl版本,表明其在相机控制的同时,对视频生成质量的负面影响更大。
6.1.2. 定性比较
下图 (原文 Figure 3) 展示了 CameraCtrl 与 MotionCtrl 在 T2V 和 I2V 设置下的定性比较。
原文 Figure 3: Qualitative comparisons between CameraCtrl and MotionCtrl. The first two rows are in the T2V setting, representing MotionCtrl with VideoCrafter and CameraCt r1 with AnimateDiffV3 as base model, respectively. The last two rows are MotionCtrl and CameraCt r1 with SVD as base model taking the image as a condition signal. Condition images are the first images of each row.
分析:
- 相机运动与场景运动的分离: 在
T2V设置下(前两行),MotionCtrl无法有效区分相机运动和场景物体运动,导致生成视频中出现场景整体旋转而非相机移动。相比之下,CameraCtrl能够准确识别并遵循相机轨迹条件,保持场景内容的稳定性。 - 对微小相机运动的敏感性:
MotionCtrl对微小的相机运动不敏感。例如,在第三行所示的轨迹中,包含前进和微小左移,MotionCtrl的结果仅显示前进运动,忽略了左移。而CameraCtrl的结果(第四行)能够精确捕捉并表现出前进和左移两种相机运动。 - 整体控制精度:
CameraCtrl产生的视频在相机轨迹上与给定条件高度一致,视觉效果更平滑自然,而MotionCtrl的结果在相机运动的准确性和流畅性上有所欠缺。
6.2. 数据呈现 (表格)
6.2.1. 相机表示、条件注入和数据集效应的消融研究
下表 (原文 Table 2) 展示了 CameraCtrl 在相机表示、条件注入方式和训练数据集选择方面的消融研究结果。
| Representation type FVD↓TransErr↓RotErr↓ | |||
|---|---|---|---|
| Raw Values | 230.1 | 13.88 | 1.51 |
| Euler angles | 221.2 | 13.71 | 1.43 |
| Direction + Origin | 232.3 | 13.21 | 1.57 |
| Plücker embedding | 222.1 | 12.98 | 1.29 |
| (a) How to represent camera parameters. | |||
| Attention | FVD↓TransErr↓RotErr↓ | ||
| Spatial Self | 241.2 | 14.72 | 1.42 |
| Spatial Cross | 237.5 | 14.31 | 1.51 |
| Spatial Self + Cross | 240.1 | 14.52 | 1.60 |
| Temporal | 222.1 | 12.98 | 1.29 |
| (c) Where to inject camera representations. | |||
| Encoder architecture typeFVD↓TransErr ↓RotErr ↓ | ||||
|---|---|---|---|---|
| ControlNet | 295.8 | 13.51 | 1.42 | |
| ControlNet + Temporal | 283.4 | 13.13 | 1.33 | |
| T2I Adaptor | 223.4 | 13.27 | 1.38 | |
| T2I Adaptor + Temporal | 222.1 | 12.98 | 1.29 | |
| (b) Camera encoder architecture. | ||||
| Datasets FVD↓TransErr ↓RotErr↓ | ||||
| Objaverse | 1435.4 | Incapable | Incapable | |
| MVImageNet | 1143.5 | 113.87 | 1.52 | |
| RealEstate10K + ACID | 1102.4 | 13.48 | 1.41 | |
| RealEatate10K | 1088.9 | 12.99 | 1.39 | |
原文 Table 2: Ablation study on camera representation, condition injection and effect of various datasets.
6.2.2. 相机编码器 的输出特征形状
下表 (原文 Table 3) 展示了相机编码器 各层(编码器尺度)的输出特征形状。
| input | b× n×6×h× w |
| Pixel unshuffle | n 20010 3102|03∞8 × |
| 3× 3 conv layer | × 1 × |
| Encoder scale 1 | n1 |
| Encoder scale 2 | b × n× c2 |
| Encoder scale 3 | 3 |
| Encoder scale 4 | × |
原文 Table 3: Output feature shapes of each layer (encoder scale) of camera encoder. And c _ { 1 } , c _ { 2 } , c _ { 3 } , c _ { 4 } are equal to the channels numbers of the corresponding U-Net output feature with the same resolution. For examble, with a stable video 1.5 model, c _ { 1 } , c _ { 2 } , c _ { 3 } , c _ { 4 } equal to 320, 640, 1280, 1280.
6.2.3. 相机特征注入位置的额外消融研究
下表 (原文 Table 4) 展示了将相机特征注入 U-Net 编码器和解码器中的消融研究结果。
| Injection Place | FVD↓ | TransErr↓ | RotErr↓ |
|---|---|---|---|
| U-Net Encoder | 210.9 | 13.91 | 1.51 |
| U-Net Encoder + Decoder | 222.1 | 12.98 | 1.29 |
原文 Table 4: Ablation study of the camera feature injection place.
6.2.4. RealEstate10K 测试集上的 TransErr 和 RotErr 下限
下表 (原文 Table 5) 展示了 RealEstate10K 测试集上 TransErr 和 RotErr 的理论下限。
| TransErr↓ | RotErr↓ | |
|---|---|---|
| Lower Bounds | 6.93 | 1.02 |
原文 Table 5: Lower bound of TransErr and RotErr on RealEstate10K test set.
6.3. 消融实验/参数分析
6.3.1. Plücker Embeddings 精确表示相机
研究内容: 比较不同相机表示方法(原始数值、欧拉角、方向+原点、Plücker Embeddings)对相机控制效果的影响。
结果 (原文 Table 2a):
-
Plücker Embeddings在TransErr(12.98) 和RotErr(1.29) 上均取得最佳表现。 -
原始数值 (
Raw Values) 和欧拉角 (Euler angles) 的TransErr和RotErr均高于Plücker Embeddings。 -
方向+原点 (
Direction + Origin) 表现也较差。分析: 结果表明,
Plücker Embeddings由于其为每个像素提供了几何解释,能够最精确地表示相机运动。原始数值和欧拉角表示可能导致数值不匹配,学习效率低下。方向+原点表示虽然提供相机原点信息,但重复的相机原点参数引入冗余,可能阻碍模型对相机运动的理解。
下图 (原文 Figure 7) 展示了使用不同相机表示的定性比较。
原文 Figure 7: Qualitative comparison of using different camera representations. The first row shows the result using the raw camera matrix values as camera representation. Result of the second row adopts the ray directions and camera origin as camera representation. The last row exhibits the result taking the Plücker embedding as the camera representation. All the results use the same camera trajectory and the text prompt.
定性分析: 当使用原始相机矩阵值时,模型会忽略轨迹中的细微转向。混合表示会在末尾出现突兀的转向。而 Plücker Embeddings 生成的视频更平滑,转向自然无缝,进一步验证了其有效性。
6.3.2. 作为输入的噪声潜在特征限制泛化
研究内容: 比较不同相机编码器架构(ControlNet、ControlNet + Temporal、T2I Adaptor、T2I Adaptor + Temporal)对泛化能力和控制效果的影响。
结果 (原文 Table 2b):
-
基于
ControlNet的模型(无论是否包含Temporal)FVD较高(295.8, 283.4),表明外观质量不佳。 -
基于
T2I Adaptor的模型FVD显著降低(223.4, 222.1),且TransErr和RotErr也更低。 -
在
T2I Adaptor基础上增加Temporal Attention(T2I Adaptor + Temporal) 取得了最佳的TransErr(12.98) 和RotErr(1.29)。分析: 采用
T2I Adaptor风格的编码器(仅以Plücker Embedding为输入)避免了从图像潜在特征中泄露外观信息,从而提高了泛化能力和控制精度。在编码器中引入Temporal Attention模块进一步增强了模型捕获相机姿态时间关系的能力,从而提升了控制效果。
6.3.3. 将相机条件注入 Temporal Attention
研究内容: 探索将提取的相机特征注入 U-Net 中不同类型的注意力层(空间自注意力、空间交叉注意力、两者结合、时间注意力)的效果。
结果 (原文 Table 2c):
-
将相机特征注入
Temporal Attention层取得了最佳的TransErr(12.98) 和RotErr(1.29)。 -
注入空间注意力层(
Spatial Self、Spatial Cross或两者结合)的效果均不如注入Temporal Attention层。分析: 相机运动通常会导致跨帧的全局视角变化,这种动态特性与
Temporal Attention层捕获时间关系的能力高度契合。因此,将相机姿态与U-Net的时间块结合,能够更好地处理和反映相机运动带来的视频内容变化。
额外消融研究 (原文 Table 4):
- 研究内容: 比较仅将相机特征注入
U-Net编码器与同时注入编码器和解码器对控制效果的影响。 - 结果: 注入编码器和解码器 (
U-Net Encoder + Decoder) 的TransErr(12.98) 和RotErr(1.29) 均优于仅注入编码器 (U-Net Encoder) (TransErr 13.91, RotErr 1.51)。 - 分析: 这表明将相机特征在
U-Net的更深层级进行传播,有助于模型更有效地利用相机信息,类似于文本嵌入在U-Net中的处理方式,增强了相机控制的准确性。
6.3.4. 具有相似外观分布和多样化相机的视频有助于可控性
研究内容: 使用不同数据集(Objaverse、MVImageNet、RealEstate10K + ACID、RealEstate10K)训练 CameraCtrl,并评估其控制效果。
结果 (原文 Table 2d):
Objaverse的FVD极高 (1435.4),且无法计算TransErr和RotErr(表示COLMAP难以提取有效相机姿态)。MVImageNet的FVD也较高 (1143.5),TransErr(113.87) 远高于RealEstate10K。RealEstate10K取得了最佳的FVD(1088.9),TransErr(12.99) 和RotErr(1.39)。- 将
RealEstate10K与ACID联合训练并未带来性能提升。
分析:
Objaverse结果不佳的原因在于其外观与基础模型训练数据 (WebVid10M) 存在显著分布差距,导致模型无法有效区分相机姿态和外观信息,进而影响COLMAP的姿态估计。MVImageNet虽然是真实世界数据,但其相机轨迹多样性不足(主要为水平旋转),使得模型无法学习到复杂的相机控制。RealEstate10K在外观相似性和相机轨迹多样性之间取得了最佳平衡,因此表现最优。- 联合
RealEstate10K和ACID未带来提升,这表明当前相机控制精度瓶颈可能在于相机姿态分布的复杂性,需要更大、更复杂的相机分布数据集。
6.4. CameraCtrl 的应用
CameraCtrl 的设计使其具有广泛的应用场景和良好的兼容性。
-
应用于不同的视频生成器: 由于
CameraCtrl的相机控制模型仅使用Plücker Embeddings作为输入,使其独立于训练数据集的外观。本文在T2V和I2V设置下,将CameraCtrl应用于不同的基础模型和个性化模型:-
基础
AnimateDiff模型: 用于生成自然场景视频。 -
个性化
T2V生成器: 如集成RealisticVision(civitai) 生成赛博朋克城市风格视频,集成ToonYou(BradCatt) 生成卡通人物视频。 -
SVD(Stable Video Diffusion): 在I2V设置下实现相机控制。下图 (原文 Figure 4) 展示了
CameraCtrl的应用。
原文 Figure 4: Applications of CameraCtrl. The first row represents a video generated by the base AnimateDiff. The Following two rows showcase the results of two personalized T2V generators, RealisticVision and ToonYou. The fourth row expresses the video generated by CameraCtrl integrated with another video control method, SparseCtrl (Guo et al., 2023a). The video of the last row is produced by a I2V generator, SVD, taking the first image of last row as a condition.
这些结果(见原文 Figure 4,以及附录中的 Figure 11-16)表明,
CameraCtrl在各种视频生成类型中都能有效地控制相机轨迹,展示了其广泛的适用性。 -
-
与其它视频控制方法集成:
CameraCtrl的即插即用特性也允许其与其他视频生成控制技术协同工作。例如,本文将其与SparseCtrl(Guo et al., 2023a) 集成,SparseCtrl通过操纵稀疏帧来控制视频的整体生成(基于RGB图像、草图或深度图)。 下图 (原文 Figure 17) 展示了与SparseCtrl集成的结果。
原文 Figure 17: Integrating CameraCtr1 with other video generation control methods. Row one to row three express the results by integrating the CameraCt r1 with RGB encoder of SparseCtrl (Guo et al., 2023a), and row four to row six, shows videos produced with the sketch encoder of SparseCtrl. The condition RGB images and sketch maps are shown in the bottom right corners of the second images for each row. Note that, the camera trajectory of the last row is zoom-in.集成结果(见原文 Figure 4 最底行和 Figure 17)表明,生成的视频在场景和物体上与参考帧高度一致,同时相机运动也与提供的相机轨迹高度对齐。这进一步证明了
CameraCtrl的泛化能力和对应用场景的增强。 -
灵活性 (原文 Figure 18-19):
- 不同相机运动强度: 通过调整相邻相机姿态平移向量之间的间隔,可以控制相机运动的整体强度,实现更剧烈或更平缓的相机运动(见原文 Figure 18)。
- 通过调整内参控制相机运动:
Plücker Embeddings的计算需要内参。通过修改相机内参(如主点(cx, cy)实现相机平移,或焦距(fx, fy)实现变焦),可以控制相机运动(见原文 Figure 19)。
7. 总结与思考
7.1. 结论总结
本文提出了 CameraCtrl,一种为视频扩散模型提供灵活、精确相机视角控制的方法。其核心创新在于:
- 采用
Plücker Embeddings作为相机姿态表示: 这种表示方式提供了丰富的像素级几何解释,显著优于传统数值参数,使得模型能够更精确地理解和控制相机运动。 - 设计即插即用的相机控制模块: 该模块在视频扩散模型之上训练,且不触及基础模型,确保了其在各种
T2V和I2V模型以及个性化生成器中的良好泛化性和适应性。 - 强调数据集选择的重要性: 通过全面研究,发现具有多样相机分布和与基础模型训练数据外观相似的视频(如
RealEstate10K)对于提升可控性和泛化能力至关重要。 实验结果和消融研究证实了CameraCtrl在相机控制精度、视频生成质量和与其他控制方法的兼容性方面的有效性。
7.2. 局限性与未来工作
-
局限性:
- 大范围旋转的限制: 论文在附录中指出,当相机轨迹包含大范围旋转(例如垂直或水平旋转 100-150 度)时,
CameraCtrl无法完全生成所需的旋转角度(见原文 Figure 20)。生成的视频通常只能达到约 90 度的旋转。 - 训练数据分布的限制: 导致上述大范围旋转失败的主要原因归结于训练数据集 (
RealEstate10K) 中缺乏足够多样和大幅度的旋转轨迹。 - 对
COLMAP评估的依赖:TransErr和RotErr的计算依赖于COLMAP提取生成视频的相机姿态,而COLMAP在短视频中可能不够稳定,且存在尺度不变性问题,尽管论文已采取后处理措施来缓解。 - 道德风险: 论文提及
CameraCtrl提升了视频生成技术,但也带来了隐私和生成误导性内容的道德风险,需要伦理监督和更先进的深伪检测技术。
- 大范围旋转的限制: 论文在附录中指出,当相机轨迹包含大范围旋转(例如垂直或水平旋转 100-150 度)时,
-
未来工作:
- 构建更丰富的数据集: 为进一步提高相机轨迹性能,需要开发或收集具有更大、更复杂相机姿态分布的数据集,同时保持与目标领域视觉外观的相似性。
- 增强对复杂运动的泛化: 探索新的模型架构或训练策略,使模型能够更好地泛化到训练数据中未见过的极端或复杂相机运动。
- 解决
COLMAP局限性: 探索更鲁棒或替代性的评估方法,以减少对COLMAP稳定性和尺度不变性的依赖,从而更准确地衡量相机控制精度。
7.3. 个人启发与批判
-
个人启发:
- 几何表示的重要性: 论文强调了
Plücker Embeddings这种富含几何信息表示的优势。这启发我们在处理空间或物理相关任务时,应优先考虑能够直接编码几何属性的数据表示,而非仅仅依赖原始数值或间接编码,因为这能显著提高模型对复杂概念的理解和控制精度。 - 模块化即插即用设计:
CameraCtrl的plug-and-play设计理念非常值得借鉴。它展示了如何在不修改或重新训练大型基础模型的情况下,通过添加轻量级模块来扩展其功能,这对于降低计算成本、提高研究效率和促进技术生态发展具有重要意义。 - 训练数据策略: 数据集选择的消融实验结果(外观相似性与相机分布多样性的平衡)提供了宝贵的经验。它提醒我们,在训练用于特定控制任务的模块时,不仅要考虑控制信号的丰富性,还要考虑其与基础模型训练数据在外观上的兼容性,以避免“领域鸿沟”带来的泛化问题。
- 时间注意力层的有效性: 将相机特征注入
Temporal Attention层,顺应了相机运动的时序特性,这一设计选择对于确保视频的时间连贯性和运动的流畅性至关重要。
- 几何表示的重要性: 论文强调了
-
批判与潜在问题:
- 大范围旋转的根本原因: 尽管论文将大范围旋转的失败归因于训练数据集的局限性,但这可能也暗示了当前模型架构或
Plücker Embeddings本身在处理极端变换时存在潜在的表达瓶颈。未来研究可以探索如何通过更强大的特征提取网络或改进Plücker Embeddings的编码方式来克服这一问题。 ODD指标的粒度:ODD(物体动态程度) 的定义是基于“非静态视频的比例”,这是一种二元判断。虽然它能衡量物体是否存在运动,但无法量化运动的强度、复杂性或真实感。未来可以引入更精细的指标来评估物体运动的质量。COLMAP评估的可靠性: 论文承认COLMAP在短视频中提取姿态可能不稳定,且存在尺度问题。虽然进行了后处理,但这种依赖外部工具且存在已知局限性的评估方式,可能会引入评估误差,从而影响RotErr和TransErr的绝对可靠性。开发一种内生的、基于生成视频内容本身进行相机姿态估计的更鲁棒评估方法,可能会更有价值。- “外观相似性”的定义和量化: 论文强调训练数据与基础模型训练数据“外观相似”的重要性,但如何量化和确保这种相似性?目前主要通过经验选择。未来可以探索更客观的指标或方法来衡量数据集之间的外观分布距离,以更科学地指导数据集选择。
- 道德风险的应对: 论文在伦理声明中提到了潜在的滥用风险,但仅停留在提出问题。作为一个资深研究助理,应进一步思考技术层面如何减轻这些风险,例如在模型中内置水印、增加可追溯性,或者开发专门用于检测此类生成视频的工具。
- 大范围旋转的根本原因: 尽管论文将大范围旋转的失败归因于训练数据集的局限性,但这可能也暗示了当前模型架构或
相似论文推荐
基于向量语义检索推荐的相关论文。