CylinderDepth:面向多视图一致自监督环视深度估计的圆柱空间注意力 CylinderDepth: Cylindrical Spatial Attention for Multi-View Consistent Self-Supervised Surround Depth Estimation
把多相机像素投到共享圆柱面,用非学习的几何距离注意力做强多视图一致的环视深度估计。
前置知识
自监督单目/多目深度估计
不依赖LiDAR等真值深度,而是用光度一致性(photometric)做监督:先预测深度+姿态 $\{{\hat D},\{{T}}\}$,把相邻视图反 warp 回目标视角,要求重建图像 $\hat I$ 与目标图像 $I$ 像素级一致。代表方法如 Monodepth2、FSM 等。
CylinderDepth 全部训练目标都基于 photometric loss $L_\text{photo}=\alpha\,(1-\text{SSIM})/2+(1-\alpha)\,|\hat I-I|_1$;不理解这种"图像重建误差即深度监督"的范式就读不懂 Eq.9~10。
环视相机(surround-view)与基线约束
自动驾驶车装6台广角相机水平覆盖360°,基线与外参标定已知,相邻相机重叠区域窄小。由于基线已知,深度可在重叠区被"立体"约束,大多数像素仍靠单目先验。
本文整套圆柱投影与多视图一致性机制建立在"相机标定已知、重叠窄"这一环视场景的具体约束上;不理解这一点就读不懂为什么作者选圆柱而非球面。
圆柱投影(cylindrical projection)与图像拼接
把每个像素投到半径rc=1、轴平行z的圆柱面上,用方位角θ与高度h表征。传统全景拼接用单应矩阵贴图,只对纯旋转相机成立;非平凡基线下同一物体会投影到不同位置,产生鬼影。
CylinderDepth先用深度把像素back-project回3D再圆柱投影,让同一3D点无论从哪相机出发都落在圆柱同一点。这是文章解决多视图一致性的核心几何工具。
视觉Transformer与Vision-Mamba中的空间注意力
空间注意力以Q/K/V的softmax形式聚合同一(或跨)特征图特征,通常由学习得到(DPT等)。优势是大感受野,但权重随机不显式编码几何。
CylinderDepth保留注意力的"全图大感受野"形式,但用非学习的2D截断高斯核按像素在圆柱上的测地距离dgeo定权重。看懂Eq.7与Fig.5的关键是先理解"权重≠学习参数"。
光度一致性损失与最小重投影
光度损失通常写为 $L_\text{photo}=\alpha\,(1-\text{SSIM})/2+(1-\alpha)\,|\hat I-I|_1$,用最小重投影应对遮挡。spatial/temporal/spatio-temporal 三种 loss 分别用同帧异相机、邻帧同机、邻帧异机作源。
本文总损失 $L$ 前三项是这三种 photometric loss 的变体(权重 $\lambda_\text{sp}=0.03$、$\lambda_\text{spt}=0.1$、$\lambda_\text{sm}=0.1$)。
多视图几何一致的度量与外参
把每个像素通过已知的内参 $K$、外参 $^{ref}T_{I_t,i}$、预测深度 $\hat D$ back-project 到统一参考坐标系,再对同名对应点的欧氏距离求 RMSE。这套度量需要一个共同的参考外参与相机相对位姿。
作者提出的 Depth Cons 指标以及 Fig.7 都基于这套几何;它首次把"多视图一致"从定性观察推进到定量对比。
研究动机
自监督环视深度估计旨在用多台时间同步标定的车载相机输出稠密 metric 深度,但现有方法普遍存在多视图不一致——同一 3D 点在不同相机里被预测到不同 3D 位置,叠加到同一坐标系会出现重影、错位与边缘不齐。根因有二:其一,深度本质仍是单目推理,在图像边缘的有效感受野不足;其二,相机之间空间重叠很小,真正的跨视图信息交换非常稀疏,相同 3D 点在两图中各自预测,缺少显式约束。典型数据:DDAD 重叠区 CVCDepth Depth Cons $6.35$ m、SurroundDepth 达 $7.86$ m;nuScenes 上不一致误差 $3.57$-$6.33$ m 之间。FSM 等只能通过"隐式 loss"间接鼓励一致(约束相机运动一致、加 dense depth consistency loss、纯学习式跨图像注意力),但在推理时不利用已知相机几何,因此无法从机制上保证一致。
本文的目标是本文的目标是在已知内外参与 metric 相对位姿的环视相机系统上,提出一种自监督深度估计方法,从机制上保证(而不是从 loss 上间接鼓励)多个相机输出的深度彼此一致,具体可拆为三个子目标:(a) 给出一种显式几何引导的空间注意力机制,让每个像素能聚合真正空间邻域内的特征,同时把跨视图的特征交换限定在"邻居"范围内;(b) 设计一种把所有相机像素映射到共同圆柱坐标系的统一表示,从而让"同一3D点在多相机下落到同一圆柱点"成为几何事实;(c) 提出一种可量化的多视图深度一致性度量(Depth Consistency,单位 m),把"一致不一致"从定性观察推进到定量对比,并据此系统评估本文方法与3D/2D 类 SOTA 的差异。
与已有工作不同的是,现有工作把几何完全外包给训练阶段的 loss,而非编进推理时的 attention。VFDepth 在 3D 体素空间里做融合可提升 DDAD Depth Cons 至 $4.82$ m,但 3D 操作显存开销巨大(训练 $11.0$ GB、推理 $3.3$ GB);SurroundDepth 与 CVCDepth 只用纯学习式多头注意力或 dense loss 隐式强一致,完全忽视相机之间的真实几何,因此 nuScenes 上出现 AbsRel $0.388$ 退化与 $6.33$ m 的一致性误差。CylinderDepth 的切入点是把几何做成 attention 的先验——以像素在圆柱上的测地距离 $d_\text{geo}$ 为核,用非学习的截断高斯 $\exp(-\tfrac12 d^2)\,\mathbb{1}_{\{d^2\le\tau^2\}}$ 替代 softmax,既是大感受野又严格遵守几何邻域;同时把注意力只加在最粗尺度,兼顾全局一致与细节保留。
核心方法
CylinderDepth 的核心直觉是:多相机像素虽然在各自图像坐标系下彼此独立,但它们对应的3D点可以统一投影到一根半径为rc=1的圆柱上,从而把多视图一致性转化为"在圆柱坐标上邻接=在3D空间邻接"的几何事实。技术上,模型沿用 encoder–decoder 结构,先用共享 ResNet-18 编码器对 N 张时间同步的图像分别提取多尺度特征,在最低空间分辨率 S 上预测一组"初步深度" D̂,再用 D̂+相机参数把所有像素 back-project 到3D并中心投影到单位圆柱,得到圆柱坐标 o∈R^{H_S×W_S×2},从而让多张图像的低分辨率特征落在同一圆柱坐标网。注意力机制以截断2D高斯核作为非学习权重,度量像素对在圆柱上的测地距离 dgeo 并按 dist²≤τ² 截断,然后做特征聚合,得到调制后的 F′_S,_I_t;再与高分辨率特征一起送入解码器得到最终 metric 深度。训练目标采用三种photometric loss(空间、时间、时空)与三个辅助 loss 的加权和,通过重投影回相邻相机/相邻帧实现自监督。
本文最核心的创新是"把跨视图注意力从学习式变成几何先验式":权重不需要 learnable $W_q/W_k$,而是基于圆柱上像素对测地距离 $d_\text{geo}$ 的截断 2D 高斯 $a_{uv}^p=\exp(-\tfrac12 d_\text{geo}^\top \Sigma^{-1} d_\text{geo})\,\mathbb{1}_{\{d_\text{geo}^2\le\tau^2\}}$,其中 $\Sigma=\text{diag}(0.02,0.02)$、$\tau=1.2$。本质区别有三:第一,SurroundDepth 等纯学习 softmax 注意力矩阵大小是本文 8 倍且不保证"远距离像素不会被错误关注";本文通过截断 $\tau$ 把无关像素直接置零。第二,CVCDepth 通过 $L_\text{DCCL}/L_\text{MV RCL}$ 间接鼓励一致只影响训练;而圆柱投影是 3D→2D 的硬映射,同一 3D 点在多相机下落到同一圆柱点——推理时也成立。第三,本文只在最低尺度施加注意力,其余尺度用 skip connection,既得到大感受野全局一致,又避免细尺度注意力的过平滑与显存爆炸,这是与 SurroundDepth"所有尺度都做 attention"的关键区别。
方法步骤详情
完整方法可以拆成六个步骤。第一步:输入与编码。$\mathbf{I}_t\in\mathbb{R}^{N\times H\times W\times 3}$ 共 $N$ 张同步图像,经过 ImageNet 预训练的 ResNet-18 编码器得到多尺度特征 $\mathbf{F}^{s}_{I_t}\in\mathbb{R}^{N\times H_s\times W_s\times F_s}$,$s\in\{1,\dots,S\}$,最粗尺度 $S$ 的特征图高度宽度为 $H_S$、$W_S$。然后把 $F^{S}_{I_t}$ 单独送入一次初步解码,得到每张图像的初步深度 $\hat D$。第二步:3D back-projection 与圆柱投影。给定第 $i$ 张图像的内参 $K_{I_t,i}$、外参 $^{ref}T_{I_t,i}$、初始深度 $\hat D$,按 $P^{S}_{I_t,i}=\Pi(F^{S}_{I_t,i},K_{I_t,i},^{ref}T_{I_t,i},\hat D)$ 把像素反投影到 3D 位置图 $P^{S}_{I_t,i}\in\mathbb{R}^{H_S\times W_S\times 3}$;再以中心 $c$ 为投影中心、$r_c=1$ 为半径做中心投影 $p'=c+\tfrac{r_c}{r}p_o$,得到圆柱坐标 $(\theta_{p'},h_{p'})$ 即 $O^{S}_{I_t,i}\in\mathbb{R}^{H_S\times W_S\times 2}$。第三步:非学习空间注意力。像素 $u,v$ 在圆柱上的注意力权重按 $a_{uv}^p=\exp(-\tfrac12 d_{uv}^\top\Sigma^{-1}d_{uv})\,\mathbb{1}_{\{d_{uv}^2\le\tau^2\}}$,其中 $d_{uv}$ 是测地距离;然后按 $f'_u=\sum_v a_{uv}^p W_V f_v$ 聚合得到调制特征 $\mathbf{F}'^{S}_{I_t}$。第四步:解码输出深度。把 $\mathbf{F}'^{S}_{I_t}$ 与高分辨率特征 $\mathbf{F}^{s}_{I_t}(s\ne S)$ 用 skip connection 送入解码器,得到最终逐像素 metric 深度 $\hat{\mathbf{D}}_t\in\mathbb{R}^{N\times H\times W}$。第五步:训练损失。训练目标 $L=L_\text{photo,temp}+\lambda_\text{sp}\,L_\text{photo,sp}+\lambda_\text{spt}\,L_\text{photo,spt}+\lambda_\text{sm}\,L_\text{sm}+\lambda_\text{DCCL}\,L_\text{DCCL}+\lambda_\text{MV RCL}\,L_\text{MV RCL}$ 中三个 photometric loss 分别用相邻帧、相邻相机、邻帧+邻相机作为源,辅以 edge-aware smoothing、dense depth consistency loss、multi-view reconstruction consistency loss;权重取 $\lambda_\text{sp}=0.03$、$\lambda_\text{spt}=0.1$、$\lambda_\text{sm}=0.1$、$\lambda_\text{DCCL}=10^{-3}$、$\lambda_\text{MV RCL}=0.2$。Spatial loss 用 inverse warping 把目标像素 $\hat p_{I_t,j}=K_{I_t,j}\cdot\,^{I_t,j}T_{I_t,i}\,\hat D_{I_t,i}\,K^{-1}_{I_t,i}\,p_{I_t,i}$ 投到相邻相机坐标系后采样得到重建图像。第六步:实现细节。$8\times$ RTX 3060,每 GPU batch size $=1$($6$ 张环绕图),Adam $\beta_1=0.9$、$\beta_2=0.999$,初始学习率 $10^{-4}$,StepLR 在 $4/20$ epoch 后乘以 $0.1$;$\Sigma=\text{diag}(0.02,0.02)$,$\tau=1.2$。
技术新颖性
技术新颖性可分四点。第一,几何先验式注意力用截断高斯核+测地距离替代 softmax,使 attention 在 inference 时仍受几何约束,是 SfM/MVS 几何与 Transformer 注意力的一次成功"嫁接";它和 [31] Ruhkamp 等基于预测深度算欧氏距离的 spatial attention 不同——本文用 back-projected 3D→圆柱→测地距离,层级化几何距离避免了笛卡尔空间"近像素→远圆柱点"的噪声。第二,圆柱代替球面有明确几何理由:多相机环视下相机水平绕轴分布,圆柱面贴合此结构,球面两极会产生剧烈畸变。第三,只在最低尺度施加注意力的设计平衡了粗尺度感受野与细尺度高频细节(对比实验显示所有尺度都加 attention 反而把 AbsRel 从 $0.207$ 推到 $0.212$)。第四,提出的 Depth Consistency 指标首次把"多视图一致"从定性观察推进到量化对比,填补了领域长期空白。
实验结果
核心发现可分为三层。第一层是主结果 Tab.1:在 DDAD 上 CylinderDepth 取得 AbsRel $0.207$、SqRel $3.503$ m、RMSE $12.76$ m、$\delta<1.25\;70.9\%$,在 4 项指标上全面领先 SurroundDepth($0.208/3.371/12.97/69.3$)、CVCDepth($0.210/3.458/12.87/70.4$)、VFDepth($0.218/3.660/13.32/67.4$)和 FSM$^*$($0.228/4.409/13.43/68.7$);在 nuScenes 上提升更显著——AbsRel 从 $0.264$ 降到 $0.244$,同时 $\delta<1.25$ 飙升至 $80.5\%$(CVCDepth $76.3$、SurroundDepth $66.1$)。作者分析这是 nuScenes 多相机非同时曝光(最多 $40$ ms 差距)使共享刚体运动假设恶化,但本方法仍能通过几何一致性弥补部分。第二层是重叠区域 Tab.2:nuScenes 重叠区 AbsRel/Depth Cons 双指标 CylinderDepth 取得 $0.218/2.69$ m 最佳,DDAD 上虽然 VFDepth 在 Depth Cons 上仍以 $4.82$ m 略胜本方法的 $5.68$ m,但 CylinderDepth 同时取得 AbsRel $0.207$ 最佳,说明它在保持 metric 精度的同时把一致性控制在 2D 管线的前列。第三层是消融 Tab.4:identity 训练(每 token 只 attend 自身)把 Depth Cons 从 $5.68$ 退到 $6.72$,AbsRel 从 $0.207$ 退到 $0.208$;identity 推理更退到 $7.04/0.211$,证明 spatial attention 必须在推理时也生效;在所有尺度都加 attention 后 AbsRel 升到 $0.212$、Depth Cons 反而降到 $5.59$,呈现过平滑;把 ResNet-18 换成 MambaVision-T 后,基线(无 attention)的 Depth Cons 是 $6.05$,加入本 attention 后降到 $5.87$,差距与 ResNet-18 上几乎一致,证明一致性问题的主要瓶颈不在 backbone 而在跨视图信息交换机制。内存 Tab.3 显示 CylinderDepth 训练 $8.0$ GB / 推理 $0.7$ GB,显著优于 VFDepth($11.0/3.3$)和 SurroundDepth($12.6/1.4$),优势正是"圆柱 2D"对"3D 体素"的降维。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| DDAD 全图深度估计 | AbsRel(越低越好) / SqRel m / RMSE m / δ<1.25 % | AbsRel 0.207 / SqRel 3.503 / RMSE 12.76 / δ<1.25 70.9 | SurroundDepth 0.208/3.371/12.97/69.3、CVCDepth 0.210/3.458/12.87/70.4、VFDepth 0.218/3.660/13.32/67.4、FSM* 0.228/4.409/13.43/68.7 | 全面超过所有基线;AbsRel 较 VFDepth 降 0.011,较 FSM* 降 0.021 |
| nuScenes 全图深度估计 | AbsRel / SqRel m / RMSE m / δ<1.25 % | AbsRel 0.244 / SqRel 6.025 / RMSE 6.82 / δ<1.25 80.5 | CVCDepth 0.264/5.525/7.17/76.3、VFDepth 0.289/5.718/7.55/70.9、SurroundDepth 0.280/4.401/7.46/66.1、FSM* 0.319/7.534/7.86/71.6 | AbsRel 比最佳 CVCDepth 降 0.020;δ<1.25 较 CVCDepth 提 4.2、较 SurroundDepth 提 14.4;SqRel 稍逊但仍在合理范围 |
| DDAD 重叠区域深度+一致性 | AbsRel(unit-free) / Depth Cons(m, 越低越好) | AbsRel 0.207 / Depth Cons 5.68 | VFDepth(3D) 0.222/4.82、CVCDepth 0.212/6.35、SurroundDepth 0.217/7.86 | AbsRel 较最佳 CVCDepth 降 0.005;Depth Cons 略高于 VFDepth,但 AbsRel 与显存均更优,综合 trade-off 更好 |
| nuScenes 重叠区域深度+一致性 | AbsRel / Depth Cons(m) | AbsRel 0.218 / Depth Cons 2.69 | VFDepth 0.277/3.57、CVCDepth 0.388/3.02、SurroundDepth 0.295/6.33 | AbsRel 比最佳 VFDepth 降 0.059、Depth Cons 比最佳 CVCDepth 降 0.33 m;在 nuScenes 上同时拿到精度与一致性最佳 |
| 训练/推理峰值显存(GB) | 训练 GB / 推理 GB(越低越好) | 8.0 / 0.7 | VFDepth 11.0/3.3、SurroundDepth 12.6/1.4、CVCDepth 5.4/0.6、FSM* 5.6/0.5 | 比 VFDepth 训练显存少 27%、推理显存少 79%;略高于 CVCDepth(因增加 attention 模块)但深度精度与一致性显著更好 |
| Ablation:identity 训练(无跨视图 attention) | DDAD AbsRel / Depth Cons m | Full model 0.207 / 5.68 | Identity-train 0.208 / 6.72;Identity-inference 0.211 / 7.04 | Depth Cons 相对降低 15.5%(训练去除)与 19.3%(推理去除),证明几何先验 attention 在训练与推理两端都不可或缺 |
| Ablation:attention 应用尺度 | DDAD AbsRel / Depth Cons m | Attention 仅在最粗尺度 0.207 / 5.68 | Attention 在所有尺度 0.212 / 5.59 | AbsRel 降 0.005;Depth Cons 略高 0.09 m 但综合精度更佳,验证"只在最低尺度做 attention"是精度与一致性的最佳平衡 |
| Ablation:encoder 替换为 MambaVision-T | DDAD AbsRel / Depth Cons m | MambaVision + attention 0.200 / 5.87 | MambaVision 无 attention 0.204 / 6.05;ResNet-18 + attention 0.207 / 5.68 | 换 backbone 后加入 attention 的提升幅度与 ResNet-18 一致(0.18 m),证明跨视图信息交换机制是1致性的主要瓶颈而非encoder架构 |
局限与改进
作者明确承认两点限制:第一,空间注意力仅施加于最粗尺度(H_S×W_S 很低),这使得全局一致性优秀,但细粒度的像素级一致性仍可能受 coarse-to-fine skip 的限制——即一旦粗尺度没对齐,细尺度也会保留偏差,论文称这是"suboptimal pixel-level consistency"。第二,论文目前使用离散时间步(t-1,t+1)的姿态约束,而 nuScenes 数据集相机最多 40 ms 非同时曝光,在动态场景与刚体运动假设冲突时会带来误差;作者把"把 rig 轨迹建模为连续函数而不是离散时间步"作为未来方向。从读者角度,还可补充两点:(i) 注意力权重的高斯超参 Σ=diag(0.02,0.02) 与 τ=1.2 是按特征图分辨率手工选取的,缺乏对更大差异输入(不同baseline、不同FoV相机配置)的鲁棒性验证;(ii) Depth Consistency 指标的提出虽量化了"一致"但只考察对应像素对的欧氏距离,在动态目标(车/人)上同一3D点其实不存在跨相机对应,因此该指标在不同动态密度场景下的可比性值得进一步讨论。
独立分析的弱点
从独立分析视角,本文至少存在四个可改进之处。第一,几何先验超参 $\Sigma=\text{diag}(0.02,0.02)$ 与 $\tau=1.2$ 是按 DDAD $384\!\times\!640$ 与特征图最低尺度手工选择的,迁移到极端不同分辨率或不同 FoV 相机(如鱼眼)时需重新 tune;可尝试自适应截断(以相邻相机间像素对齐残差为输入)或对 $\Sigma$ 做方差归一化。第二,只对最粗尺度做 attention 牺牲了细尺度几何强约束,若能在中间尺度插入轻量化圆柱交叉注意力,或许能同时拿到粗尺度全局一致与细尺度边界精度——作者也承认是 future work。第三,基于测地距离的注意力对初始 $\hat D$ 依赖较强,第一次 forward pass 用随机初始解码预测 $\hat D$、误差较大时 back-projection 也会偏差,把跨视图像素错误对齐;可用光度一致性的 robust depth(如最小重投影中位数)替代初始 $\hat D$。第四,Depth Consistency 指标假设同一 3D 点至少被两相机看到,动态目标上不存在跨相机对应,需补充诊断。
未来方向
论文自陈未来方向有二:一是把注意力推进到细尺度,目标是把像素级一致性也提升到 submeter,文中提示"通过适配距离计算"实现但未给出具体方案;二是用连续时间的相机轨迹替代离散 $t-1/t+1$ 的姿态预测,以适配 nuScenes 多相机非同步曝光带来的刚体运动破缺。基于本文成果可延伸的方向还包括:(a) 把圆柱表征延伸到 $360\degree$ 全景输入的统一框架,与 VR/AR omnidirectional depth 工作结合;(b) 用 CylinderDepth 提供的几何上一致的深度 $\hat D$ 作为下游感知(BEV 占用、3D 检测)的中间表征,以替代当前 BEVDepth、LSS 等单视图深度生成器;(c) Depth Consistency 指标反过来可作为无 LiDAR 的一致性自检工具,在测试阶段仅凭重叠区域多相机图像给出"系统是否失准"告警;(d) 把非学习的几何高斯注意力推广到点云补全、跨模态融合等场景,在那里"几何距离-注意力权重"的耦合也常比纯学习更高效。
复现评估
论文在可复现性上整体表现良好。代码仓库已公开(https://abualhanud.github.io/CylinderDepthPage/),论文正文与 supp. material 提供了关键超参 $\Sigma=\text{diag}(0.02,0.02)$、$\tau=1.2$、5 个 loss 权重 $\lambda_\text{sp},\lambda_\text{spt},\lambda_\text{sm},\lambda_\text{DCCL},\lambda_\text{MV RCL}$、Adam $\beta_1=0.9/\beta_2=0.999$、初始学习率 $10^{-4}$、StepLR 在 $4/20$ epoch 后 $\times 0.1$、输入分辨率(DDAD $384\times 640$、nuScenes $352\times 640$)、评估上限(DDAD $200$ m、nuScenes $80$ m)、backbone(ResNet-18 ImageNet pretrained,decoder 来自 Monodepth2 [10] 随机初始化)。训练资源是 $8$ 块 NVIDIA RTX 3060,批大小 $1$/GPU,即每步 batch $=6\times 8=48$ 张环绕图;硬件门槛对一般实验室可承受。DDAD 与 nuScenes 都需单独下载申请。复现难度中等:几何投影与截断高斯的实现是机械工作,但需小心坐标系(camera vs reference)与 back-projection 顺序;Depth Consistency 指标需要严格按 supp. 公式把每对像素通过 $K$、$T$、$\hat D$ 转换到 common reference 后求 RMSE,论文未提供伪代码,实现时容易出错。
论文图表
左图为 CylinderDepth 的 3D 重建效果,右图为 CVCDepth 的对比结果;星星与圆圈标记同一 3D 物体点从两张相邻图像反投影回来的位置。
这是论文最具冲击力的"before/after"图:让读者一眼看到"同一3D点在不同相机里被错开"和"被强行拉到一致"的对比,是 motivation 与 results 章节衔接处的最直观证据。