Unified Camera Positional Encoding for Controlled Video Generation¶
会议: CVPR 2026
arXiv: 2512.07237
代码: https://github.com/chengzhag/UCPE
领域: 视频生成
关键词: 相机位置编码, 视频生成, 镜头畸变, 扩散Transformer, 相机可控生成
一句话总结¶
提出统一相机位置编码 UCPE,将完整的相机几何信息(6-DoF 位姿、内参、镜头畸变)通过相对光线编码和绝对朝向编码注入 Transformer 注意力机制,仅增加不到 1% 可训练参数即实现跨异构相机模型的精细视频生成控制。
研究背景与动机¶
Transformer 已成为 3D 感知、视频生成和世界模型的通用骨干,理解相机几何对于将视觉观测锚定到三维空间至关重要。然而,现有相机编码方法存在严重局限:
现有方法分为两类:(1) 绝对编码(如 Plücker 编码)将每条光线用方向+力矩 6D 向量表示,但依赖预定义世界坐标系,跨场景泛化性差;(2) 相对编码(如 CaPE、GTA、PRoPE)通过在注意力中编码相对相机变换来实现坐标系无关性,但假设针孔投影,无法处理鱼眼、全景等非线性镜头畸变。
实际应用中(自动驾驶、机器人感知),广角镜头、鱼眼镜头和全景相机普遍使用,强畸变使得基于针孔假设的方法失效。此外,现有文本到视频方法仅定义相对于首帧的相机位姿,留下全局旋转(特别是 pitch 和 roll)的歧义——无法指定或复现初始视角的绝对朝向。
核心洞察:将编码从"相机级别"细化到"光线级别"——每个图像 token 对应一条独立的观测光线,在光线空间而非相机空间做相对变换,天然兼容任意投影模型。
方法详解¶
整体框架¶
UCPE 由两个互补组件构成:(1) 相对光线编码(Relative Ray Encoding)——为每个 token 构建局部光线坐标系,在注意力中做光线间的相对几何变换;(2) 绝对朝向编码(Absolute Orientation Encoding)——通过纬度-上方向图(Lat-Up Map)锚定重力方向,提供 pitch/roll 的绝对控制。通过轻量空间注意力适配器注入预训练的扩散 Transformer(Wan 模型),保留预训练先验。
关键设计¶
-
相对光线编码(Relative Ray Encoding):
- 功能:在光线空间实现几何一致的跨异构相机位置编码
- 核心思路:将相机统一抽象为光线映射函数 \(\Phi_\psi: (u,v) \mapsto (o, d)\),对每个 token \(t\) 构建局部光线坐标系——以光线方向 \(d_t\) 为 z 轴,利用相机下方向确定 x、y 轴,形成正交基 \(R_t^{wr}\),组合平移得到光线到世界的变换 \(T_t^{wr}\)。其逆 \(T_t^{rw}\) 作为几何算子通过 Kronecker 积扩展到特征维度,在注意力中做 query-key 的相对变换:\(Q_t^\top D_t D_{t'}^{-1} K_{t'}\) 捕获光线对之间的几何关系
- 设计动机:现有相对编码在相机级别操作,同一视图内所有 token 共享同一变换矩阵,无法表达非线性畸变导致的空间变化投影。光线级编码让每个 token 有独立的几何算子,自然适配鱼眼、全景等任意投影模型
-
绝对朝向编码(Lat-Up Map):
- 功能:解决首帧 pitch/roll 歧义,提供绝对相机朝向控制
- 核心思路:纬度图(Latitude Map)编码每条光线相对水平面的仰角 \(\text{Lat}_t = \arctan2(-d_{t,y}, \sqrt{d_{t,x}^2 + d_{t,z}^2})\);上方向图(Up Map)通过将光线绕局部轴旋转微小角度 \(\delta\),投影回图像平面得到归一化位移方向。两者拼接为 3D 向量,经线性投影加到 token 特征上作为偏置
- 设计动机:相对编码天然缺乏绝对参考,真实视频通常有重力对齐的"上"方向。Lat-Up Map 提供天空/地面分离等外观线索,同时对广角镜头有一定畸变感知能力
-
空间注意力适配器:
- 功能:将 UCPE 高效注入预训练扩散 Transformer
- 核心思路:在每个 DiT 块中,保留原始自注意力不变,并行添加一个 UCPE 条件注意力分支。该分支使用 \(1/C\) 维度的降维投影(减少参数和计算),输出经零初始化线性层映射回原始维度后与原注意力输出相加。这样初始化时模型行为与预训练完全一致
- 设计动机:直接替换位置编码会破坏预训练先验。LoRA 风格的并行适配器以极低开销(<1% 参数)引入相机感知能力,同时保持视觉保真度
损失函数 / 训练策略¶
使用标准扩散损失训练适配器参数。为支持多样化相机训练和评估,构建了覆盖多种内参、畸变配置和运动轨迹的大规模视频数据集。编码中将相对光线编码与 RoPE 混合使用(各占特征维度一半),兼顾光线空间和图像空间推理。
实验关键数据¶
主实验¶
合成数据集(多镜头类型)
| 方法 | 位姿精度 (RotErr↓) | 位姿精度 (TransErr↓) | FID↓ | 畸变一致性 |
|---|---|---|---|---|
| Wan CameraCtrl | 较高 | 较高 | 中等 | 无畸变控制 |
| ReCamMaster | 中等 | 中等 | 中等 | 畸变复现失败 |
| UCPE | 最低 | 最低 | 最低 | 准确复现 |
RealEstate10K 数据集(针孔相机)
| 方法 | RotErr↓ | TransErr↓ | FVD↓ | 说明 |
|---|---|---|---|---|
| CameraCtrl | 较高 | 较高 | 较高 | 严重伪影 |
| AC3D | 中等 | 中等 | 中等 | 保持训练集美学但构图失衡 |
| Wan CameraCtrl | 中等 | 中等 | 中等 | 运动一致性差 |
| UCPE | 最低 | 最低 | 最低 | 更锐利、更好的运动跟随 |
消融实验¶
| 配置 | RotErr | TransErr | 说明 |
|---|---|---|---|
| Plücker (绝对) | 高 | 高 | 坐标系依赖性强 |
| CaPE (相对相机级) | 中 | 中 | 针孔假设限制 |
| PRoPE (投影级) | 中低 | 中低 | 仍限于针孔 |
| UCPE 相对光线 | 最低 | 最低 | 光线级泛化最好 |
| UCPE + Lat-Up Map | 最低 | 最低 | 额外提供 pitch/roll 控制 |
关键发现¶
- 从相机级到光线级的编码升级在针孔场景下也有提升,说明光线级细粒度几何信息有普遍价值
- Lat-Up Map 不仅解决朝向歧义,还对广角镜头有辅助畸变感知效果
- 适配器仅需 <1% 额外参数,证明几何先验可以极其高效地注入预训练模型
- 在鱼眼/UCM 等非针孔相机上,UCPE 是唯一能正确复现目标畸变的方法
亮点与洞察¶
- "光线级位置编码"是优雅的统一抽象:任何相机模型(针孔、鱼眼、全景)都可以抽象为像素到光线的映射,在光线空间做相对变换天然兼容所有投影类型,避免了针对不同相机模型的特殊处理
- 零初始化适配器的设计巧思:通过零初始化输出投影确保训练起点等价于原始模型,避免了微调大模型时常见的"灾难性遗忘"
- 方法的通用性超越视频生成:UCPE 可直接用于多视图重建、新视角合成等其他需要相机几何推理的 Transformer 任务
局限与展望¶
- 当前仅在视频生成任务上验证,多视图重建和新视角合成的实验待补充
- 非中心相机(如折反射系统)的光线原点不同,虽然理论上可处理但未实验验证
- 大规模训练数据集的多样性仍依赖合成数据,真实世界异构相机数据稀缺
- Lat-Up Map 假设存在重力方向,对太空等无重力场景不适用
相关工作与启发¶
- vs Plücker 编码: 绝对编码,依赖世界坐标系,位姿泛化差;UCPE 的相对光线编码消除了这一依赖
- vs PRoPE: 在投影空间做相对编码,但内参矩阵 K 仅适用于针孔模型;UCPE 用光线映射替代投影矩阵
- vs ReCamMaster/CameraCtrl: 基于 Plücker 或参数注入的方法,无法处理非线性畸变
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 光线级位置编码是对相机编码的根本性提升,统一了异构相机几何
- 实验充分度: ⭐⭐⭐⭐ 多数据集多基线对比充分,但仅限视频生成任务
- 写作质量: ⭐⭐⭐⭐⭐ 数学推导严谨清晰,方法对比图直观
- 价值: ⭐⭐⭐⭐⭐ 统一的相机表示对 3D 视觉社区有广泛影响力