42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
---
|
||
title: "PRoPE (Projective Rotary Position Encoding)"
|
||
created: 2026-06-13
|
||
updated: 2026-06-13
|
||
type: concept
|
||
tags: [computer-vision, position-encoding, camera-geometry, transformer]
|
||
sources: [raw/papers/cheng-flex4dhuman-2026.md]
|
||
---
|
||
|
||
# PRoPE (Projective Rotary Position Encoding)
|
||
|
||
PRoPE 是 Li et al. (NeurIPS 2025) 提出的位置编码扩展,将 [[rotary-position-embedding|旋转位置编码 (RoPE)]] 泛化到 SE(3) 相机变换空间。
|
||
|
||
## 核心思想
|
||
|
||
标准 RoPE 通过旋转矩阵编码序列中 token 的相对位置。PRoPE 将此扩展为:利用相机位姿的 SE(3) 变换来旋转查询和键向量的特定子切片,使得注意力的内积依赖于**相对相机几何**而非绝对位姿。
|
||
|
||
## 数学原理
|
||
|
||
对 SE(3) 群元素 T = (R, t),其中 R ∈ SO(3) 为旋转,t ∈ R^3 为平移:
|
||
|
||
- 查询向量用 T^⊤ 旋转("我看向世界")
|
||
- 键向量用 T^(-1) 旋转("世界看向我")
|
||
- 内积结果仅依赖于 T_i^(-1) · T_j(相对变换)
|
||
|
||
## 关键特性
|
||
|
||
- **零额外参数**:不引入可学习的相机嵌入或输入通道
|
||
- **帧间一致**:序列中不同帧的相机位姿可以不同,支持动态相机
|
||
- **连续泛化**:训练时未见的相机位姿可直接处理
|
||
- **排列不变性**:与离散视角槽编码配合时,视角顺序不影响结果
|
||
|
||
## 在 Flex4DHuman 中的应用
|
||
|
||
[[flex4dhuman|Flex4DHuman]] 将 PRoPE 作为五轴位置编码中 SE(3) 轴(20 维)的实现,重新利用原本分配给时间 RoPE 的维度容量,零额外参数地将相机位姿注入注意力计算。
|
||
|
||
## 参考
|
||
|
||
- [[se3-relative-camera-encoding|SE(3) 相对相机编码]] — PRoPE 在 SE(3) 编码中的具体应用
|
||
- [[five-axis-positional-encoding|五轴位置编码]]
|
||
- [[rotary-position-embedding|RoPE]]
|