PAPER DEEP DIVE
PRISM-VO:基于光度全光束调整的尺度感知视觉里程计
PRISM-VO 提出一种纯优化的稀疏光度视觉里程计框架,专为对焦型全光相机设计。核心是光度全光束调整,利用全光相机捕捉的多视角光线信息实现尺度感知的位姿估计,无需深度传感器即可恢复绝对尺度。
1. 论文概览:基于光度全光束调整的尺度感知视觉里程计
PRISM-VO 提出一种纯优化的稀疏光度视觉里程计框架,专为对焦型全光(plenoptic)相机设计。核心创新是光度全光束调整(photometric plenoptic bundle adjustment),在滑动窗口内联合优化相机位姿和环境点的逆深度值。通过将单幅全光图像的几何深度与多视图时序约束相结合,PRISM-VO 实现了精确且抗漂移的运动估计。通过显式建模全光投影,PRISM-VO 提供可靠的公制尺度重建,克服了单目 SLAM 的尺度模糊问题。仅需单一全光传感器,无需复杂初始化——深度先验直接从全光成像计算。在室内外场景上超越当前最优全光 VO 方法 SPO,并与优化型和基于学习的方法媲美。
2. 核心问题:单目尺度模糊与全光相机的优势
3D 重建和运动估计对实时定位至关重要——机器人、自动驾驶、无人机、VR/AR 都依赖它。被动相机提供高分辨率、丰富视觉信息且轻量紧凑,但单目相机无法恢复绝对尺度。立体相机、RGB-D 和 ToF 相机虽解决尺度模糊,但分别受限于立体基线、结构光范围和精度-距离权衡。全光相机在主镜头和传感器间放置微透镜阵列(MLA),同时捕获场景的空间和角度信息,产生多视角微图像和超宽景深。这使其非常适合紧凑系统中的真实尺度 SLAM。PRISM-VO 利用微图像间的视差实现绝对尺度估计,同时利用时序视差(大基线)提升跟踪精度和鲁棒性。现有全光 VO 方法 SPO 仅将倒数第二帧投影到最后一帧,缺乏多帧束调整,鲁棒性不足且漂移敏感。
3. 方法:全光直接视觉里程计
3.1 全光相机模型
考虑 Galilean 模式的对焦全光相机,主镜头建模为薄透镜、微透镜为针孔。关键参数:主镜头焦距 $f_L$、主镜头到 MLA 距离 $b_{L0}$、MLA 到传感器距离 $B$。虚深度 $v = B/b$ 将相机坐标系下 3D 点 $\mathbf{x}_C = [x_C, y_C, z_C]^T$ 映射到 3D 虚像空间 $\mathbf{x}_V = [x_V, y_V, z_V]^T$,投影记为 $\Pi_{pl}(\cdot)$。虚深度无需度量标定即可生成深度图。每帧原始图像经处理后得到全聚焦图像、虚深度图和虚深度不确定性图。
3.2 多尺度图像表示与点选择
构建全聚焦图像、虚深度图和虚深度不确定性图的金字塔。逆虚深度因与微图像视差成正比而假设正态分布,通过方差加权平均下采样:
$$\bar{\rho}_{v,i+1} = \frac{\sum_{k \in N_x^{(i)}} \rho_{v,k} \cdot (\sigma_{\rho_{v,k}}^2)^{-1}}{\sum_{k \in N_x^{(i)}} (\sigma_{\rho_{v,k}}^2)^{-1}} \tag{1}$$自适应深度截断基于有效点的平均逆虚深度计算百分位 $p_a$:
$$p_a = p_{\min} + w_{cut} \cdot (p_{\max} - p_{\min}), \quad w_{cut} = \frac{\rho_{v,av} - \rho_{v,f}}{\rho_{v,n} - \rho_{v,f}} \tag{2}$$梯度评分鼓励方向多样性,含深度的点权重更高。无深度数据的点也被选取(低权重)以确保图像上点的良好分布。
3.3 光度全光束调整
状态向量含相机位姿、逆深度、亮度参数,通过最小化联合非线性最小二乘估计。点 $\mathbf{x}_{V,i}$ 经全光投影到目标帧 $j$:
$$\mathbf{x}_{V,j} = \Pi_{\text{pl}}\left(\mathbf{R} \cdot \Pi_{\text{pl}}^{-1}(\mathbf{x}_{V,i}) + \mathbf{t}\right) \tag{3}$$光度残差(含仿射亮度参数 $a_i, a_j, b_i, b_j$):
$$r^{\text{photo}} = \left(I_j[\Pi_{\text{pl}}(\mathbf{x}_{V,i})] - b_j\right) - \frac{e^{a_j}}{e^{a_i}}\left(I_i[\mathbf{x}_{V,i}] - b_i\right) \tag{4}$$深度残差在逆虚深度空间定义:
$$r^{\text{depth}} = \rho_v - \rho_v^{\text{meas}} \tag{5}$$总能量为光度项和深度项的 Huber 范数加权和:
$$E = \sum_k w_k^{\text{photo}} \|r_k^{\text{photo}}\|_\gamma + \eta \sum_l w_l^{\text{depth}} \|r_l^{\text{depth}}\|_\gamma \tag{6}$$其中 $w_l^{\text{depth}} = (\sigma_{\rho_{v,l}}^2)^{-1}$,可靠深度测量影响更大。$\eta$ 自适应平衡光度与深度残差,基于两类残差能量比在线更新。
4. 实验
4.1 与全光 VO 方法对比
在 [40] 数据集 11 个序列上与 SPO 对比。PRISM-VO 在 8/11 序列上绝对尺度误差 $d'_s \le 1.10$,10/11 序列 $d'_s \le 1.30$。旋转误差 $e_r < 4°$ 在 8/10 序列上达成,对齐误差也一致更小。PRISM-VO 在一个 SPO 失败的序列上成功,表明更高的鲁棒性。
| 指标 | 精度 | PRISM-VO | SPO |
|---|---|---|---|
| 绝对尺度误差 $d'_s$ | ≤1.10(高) | 8/11 | 7/11 |
| 绝对尺度误差 $d'_s$ | ≤1.30(粗) | 10/11 | 9/11 |
| 尺度漂移 $e'_s$ | ≤1.05(高) | 7/11 | 7/11 |
| 对齐误差 $e_{align}$ | ≤2%(中) | 6/11 | 6/11 |
| 旋转误差 $e_r$ | ≤4°(粗) | 8/10 | 8/10 |
4.2 与单目方法及消融实验
与 DSO、ORB-SLAM3(无回环)、DPVO 对比。ORB-SLAM3 因视场限制全部失败。PRISM-VO 可靠恢复绝对尺度,尺度漂移低于 DSO,与 DPVO 相当。在 LiFMCR 数据集 7 个序列上,PRISM-VO 在 6/7 序列上取得最低平移 RMSE(毫米级),4/7 序列最低旋转 RMSE。消融实验证明:针孔基线→全光深度初始化(尺度可观测)→完整 PRISM-VO(方差加权深度),逐步改善所有指标。
| 序列 | PRISM-VO RMSEt(mm) | DSO RMSEt | DPVO RMSEt |
|---|---|---|---|
| 01 Plants | 41.66 | 59.32 | 98.79 |
| 04 Electronics | 10.53 | 150.89 | 268.47 |
| 05 | 9.32 | 239.16 | 219.66 |
4.3 自适应跨模态权重与优化细节
PRISM-VO在联合优化中引入自适应跨模态权重$\eta$来平衡光度残差和深度残差。光度残差定义为$r_{\mathrm{photo}}=(I_j[\Pi_{\mathrm{pl}}(x_{V,i})]-b_j)-e^{a_j}e^{a_i}(I_i[x_{V,i}]-b_i)$,其中$a_i,a_j,b_i,b_j$为仿射亮度参数。深度残差在逆虚拟深度空间中定义为$r_{\mathrm{depth}}=\rho_v-\rho_v^{\mathrm{meas}}$,其中$\rho_v$为投影逆虚拟深度,$\rho_v^{\mathrm{meas}}$为深度图测量值。总能量$E=\sum_k w_k^{\mathrm{photo}}\|r_k^{\mathrm{photo}}\|_\gamma + \eta\sum_l w_l^{\mathrm{depth}}\|r_l^{\mathrm{depth}}\|_\gamma$,其中深度残差权重为$w_l^{\mathrm{depth}}=(\sigma^2_{\rho_{v,l}})^{-1}$,使更可靠的深度测量具有更大影响力。权重$\eta$通过匹配两类残差的平均Gauss-Newton曲率自适应调整:$\eta=c\cdot\frac{\sum_i\|J_i^{\mathrm{photo}}\|^2_2}{\sum_j\|J_j^{\mathrm{depth}}\|^2_2}$,并使用对数域指数平滑$\eta_{i+1}=\exp((1-\alpha)\log\eta_i+\alpha\log\eta)$保证时序稳定性。由于逆深度对近处点更敏感(视差更大),近物体主导的场景会增大缩放因子,赋予深度残差更大影响力。非线性问题在滑动窗口内用Levenberg-Marquardt算法联合优化相机位姿和逆深度值。
5. 局限性
- 全光相机专用:方法专为对焦全光相机设计,无法直接应用于常规针孔相机或非全光传感器。
- 近距离场景优势:在全光相机可测量可靠深度的近距离场景表现优异,远距离场景深度不确定性增大可能影响精度。
- 计算效率:纯优化方法在大规模场景中的实时性受束调整窗口大小限制,与基于学习的端到端方法相比部署复杂度较高。
6. 总结
PRISM-VO 提出稀疏光度全光束调整,在滑动窗口内联合优化全光相机位姿和环境点逆深度。三大贡献:(1)稀疏光度全光束调整公式联合优化位姿和点;(2)全光相机模型紧密集成到前端跟踪和后端束调整;(3)方差加权全光深度残差结合时序优化的深度精化。核心洞见是:全光相机通过微透镜阵列同时捕获空间和角度信息——微图像间视差提供绝对尺度,时序多视图约束提供跟踪精度——光度全光束调整将两者在统一优化框架中联合,方差加权让可靠深度测量影响更大,自适应权重 $\eta$ 在线平衡两类残差。这使得单一全光传感器无需复杂初始化即可恢复度量尺度,超越现有全光 VO 方法和主流单目方法。
flowchart TD
A["原始全光图像"] --> B["全光相机处理"]
B --> C["全聚焦图像"]
B --> D["虚深度图"]
B --> E["虚深度不确定性图"]
C --> F["多尺度金字塔"]
D --> F
E --> F
F --> G["前端: 光度跟踪"]
G --> H["直接图像对齐 前后帧"]
H --> I{"是否关键帧?"}
I -->|是| J["点选择: 梯度+深度"]
I -->|否| K["估计当前帧位姿"]
J --> L["后端: 全光束调整"]
K --> L
L --> M["光度残差 r_photo"]
L --> N["深度残差 r_depth = ρv - ρv_meas"]
M --> O["总能量 E = Σw_photo‖r_photo‖ + ηΣw_depth‖r_depth‖"]
N --> O
O --> P["方差加权: w_depth = (σ²)^-1"]
P --> Q["自适应 η 在线平衡"]
Q --> R["联合优化位姿+逆深度"]
R --> S["边缘化旧关键帧"]
S --> T["度量尺度 3D 重建"]