论文阅读_GPMVSNet
GP-MVSNet
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | Multi-View Stereo by Temporal Nonparametric Fusion |
| 作者 | Yuxin Hou Juho Kannala Arno Solin |
| 作者单位 | Multi-View Stereo by Temporal Nonparametric Fusion |
| 时间 | 2019 |
| 发表会议/期刊 | ICCV |
方法概览
| 特点 | 文章性质 |
|---|---|
| 输入 | 单目相机拍摄的视频序列,已知每一帧的相机位姿 |
| 输出 | 每一帧单独预测深度图 |
| 所属领域 | 对单目相机拍摄的视频序列,已知每一帧的相机位姿(位置 + 角度,可由手机 ARKit/ARCore、视觉惯性里程计等实时获取),为序列中每一帧单独预测深度图;关键是利用 “历史帧的信息” 辅助当前帧预测,让深度图更稳定、边缘更清晰,且能在手机等设备实时运行。 |
1. 摘要精简
本文提出一种从多视图图像 - 姿态对估计深度的新方法,核心是结合编码器 - 解码器视差估计网络与非参数高斯过程(GP)先验。该方法将图像 - 姿态对输入编码器 - 解码器,通过 GP 先验对瓶颈层(latent 空间)进行软约束,提出姿态核结构使相似相机姿态的 latent 空间表示更接近,实现对历史视图信息的自适应融合。模型支持批量估计(利用所有帧信息)和轻量级在线估计(仅依赖历史帧),可在智能设备实时运行;通过端到端联合训练编码器 - 解码器与 GP 超参,在基准数据集上提升深度图稳定性与边缘精度,性能优于现有 MVS 方法。
2. 引言动机
多视图立体匹配(MVS)需从已知相机姿态的多图像重建 3D 结构,本文聚焦单目相机视频帧的深度估计(姿态可由 ARCore/ARKit 等实时获取)。现有方法存在明显缺陷,构成研究动机:
- 传统双视图立体设备局限:移动设备双相机基线小,远距离深度测量精度低;而单目相机移动可形成更大基线,且能从连续视角观察同一区域,但现有方法无法高效融合这些多视图信息。
- 学习型 MVS 方法不足:MVSNet、DeepMVS 等模型沉重,单帧深度估计需数秒(依赖桌面 GPU);虽 MVDepthNet 较轻便,但依赖硬视图选择规则(如基线 > 0.1m、角度 > 15°),无法利用历史中相似视角的信息,且存储所有历史帧不现实。
- 信息融合效率低:现有方法要么忽略历史视图,要么通过硬规则筛选视图,缺乏对 “相似姿态视图应共享信息” 的柔性建模。
因此,本文出发点是:设计一种能柔性融合历史视图信息、轻量高效、适配移动设备的 MVS 方法,在不增加单帧计算负担的前提下,提升深度估计的稳定性与精度。
3. 创新点
- 首次将高斯过程先验用于多视角信息融合,提出latent 空间概率融合机制:通过 GP 先验将历史视图的深度信息传递到当前帧的 latent 空间,无需显式存储历史深度图,实现跨时间的多视图信息复用。
- 提出姿态核方法,基于相机姿态距离定义潜在空间相似性,基于相机姿态距离定义 GP 核函数,编码 “相似姿态对应相似 latent 表示” 的先验知识,姿态距离同时考虑平移与旋转差异,更符合视觉场景的几何特性。
- 实现CNN编码器-解码器与GP超参数的端到端联合训练,将编码器 - 解码器网络与 GP 超参(核幅度、长度尺度、噪声方差)联合优化,避免分阶段训练的误差累积。
- 开发轻量级在线估计方案,支持智能设备实时运行,将 GP 推理转化为状态空间模型(Markov 链),每帧计算复杂度恒定,可在 iOS/Android 智能设备上实时运行,突破传统 GP 推理的立方复杂度瓶颈。
4. 网络架构
网络整体分为 “垂直数据处理” 与 “水平信息融合” 两部分,遵循 “代价体构建→特征编码每一帧单独预测深度图→latent 空间 GP 融合→深度解码” 的流程:
网络采用编码器-解码器架构:
-
代价体构建::接收参考图像 - 姿态对与源图像 - 姿态对,姿态(平移向量t、旋转矩阵R)。通过平面扫描生成代价体,输入编码器前拼接参考图像 RGB 通道。
-
编码器:将步骤 1 得到的 “代价体 + 参考帧 RGB” 输入5 层卷积编码器,5 层卷积网络提取 latent 特征,(第一层,第二层,其余),输出维度为512×8×10的原始 latent 表示y。瓶颈latent层:潜在表示,尺寸
-
GP 融合用历史帧的 latent 特征优化当前帧:对原始 latenty施加 GP 先验,通过姿态核计算相似性,输出优化后的 latent 表示Z(批量模式利用所有帧,在线模式仅利用历史帧)。将转换为。换句话说用位姿判断 “当前帧与历史帧的相似性”,若两个帧的位姿相似(比如相机位置接近、拍摄角度差不多),它们观察到的场景结构也相似,因此它们的 latent 特征也应该相似 —— 用 “姿态核” 量化这种相似性,再通过高斯过程(GP)融合历史帧的 latent 特征,把历史帧的有用信息融入当前帧的 latent 特征,解决 “单帧匹配不稳定” 的问题,且不额外存储历史帧图像 / 深度图:
-
解码器:含 4 个与编码器的跳连,在 4 个尺度预测视差图(深度的倒数),最终输出与输入图像同尺寸的深度图。
5. 特征提取
特征提取由编码器完成,基于 MVDepthNet 架构改进,所有图像共享权重,流程如下:
- 输入:代价体(尺寸D×H×W,D=64为深度平面数,H=256,W=320)与参考图像 RGB 通道拼接后的特征(维度(D+3)×H×W)。
- 编码器结构:共 5 层卷积,每层后接批量归一化(BN)与ReLU 激活函数:
- 第 1 层:7×7 卷积核,提取全局初始特征;
- 第 2 层:5×5 卷积核,平衡感受野与细节;
- 第 3-5 层:3×3 卷积核,逐步细化特征,最终输出原始 latent 表示y(维度512×8×10)。
- 核心作用:将高维代价体转化为紧凑的 latent 特征,保留深度匹配信息,为后续 GP 融合提供基础。
6. 代价体构建
在逆深度空间(0.5m~50m)均匀采样D=64个深度平面,基于平面扫描方法构建代价体积,第i个平面的深度为。
代价计算,以 “扭曲图像与参考图像的 RGB 通道绝对差之和” 作为匹配代价
多邻帧时分别计算代价体积后取平均。
多源图像融合:若存在多个源图像,分别计算每个源图像的代价体,取平均值作为最终代价体(维度64×256×320)。
7. 编码器到latent空间压缩代价体信息
未采用传统 3D CNN 显式正则化,而是通过编码器卷积层 + BN实现代价体正则化:
将步骤1得到的“代价体+参考帧RGB”输入5后卷积编码器,提取原来的“latent特征”(尺寸512 × 8 × 10,可理解为用512个特征通道,压缩后的图像尺寸8 × 10),记为(y)(第(x)帧的原始latent特征)。
- 编码器结构:第1层7×7卷积(指全局信息)、第2层5×5卷积(平整全局与局部)、第3-5层3×3卷积(偏低特征),每层应由曲面归一化(BN)和RCLU激活,避免过拟合。
8. GP融合——用历史帧的latent特征优化当前帧
这是最关键的一步,用伪数字解“当前帧与历史的相似性”,把历史帧的有用信息融入当前帧的latent特征,解决“单帧匹配不稳定性”的问题,且不断分析的历史帧图像/深度图:
-
核心逻辑:若两个帧的伪数据(比如相位位置延迟、拍摄角度差不多),它们观察到的场景特性相似,因此它们的latent特征也应该相同——用“姿态线”量化这种相似性,再通过高斯过程(GP)融合历史帧的latent特征。
-
计算姿态相似性:对当前帧的任意历史帧,用“姿态距离”(D[P_i, P_j]) 衡量伪数据(距离越小越相似):
其中(|t_i - t_j|)是两帧相位位置的跃迁距离,(tr(I - R_i^T R_j))是两帧旋转差异的变化((tr)是矩阵迹,即对角线元素之和)。
-
GP 级函数提取相似性:用“Match格式”将姿态距离转化为“latent特征相似性权重”(\kappa(P_i, P_j))(权重越大,历史帧的latent特征对当前帧的帮助越大):
其中(r^2)(特征相似性程度)<(相似性衰减长度)>是训练好的参数,exp确定度越大,权重衰减越快。
-
在线模式下的融合(手机实时运行):为避免存储所有历史帧,只保留“上一帧”的优化后latent特征,用Markov链(只依赖前一次或更新当前帧的latent特征:
- 先根据当前帧与上一帧的姿态距离,计算“状态转移矩阵”(\Phi_i)(量化上一帧特征对当前帧的影响);
- 再结合当前帧的原始latent特征,输出优化后的latent特征(Z_i)(融合了上一帧的有用信息)。
- 批量模式(非实时):删除各所有历史帧的latev*特征,精度更高但速度慢。
9. 深度图生成
把 优化后的 latent 特征Zi输入解码器,解码器含 4 个 “跳连”(连接编码器的中间特征,避免细节丢失),在 4 个尺度上预测 “视差图”(视差 = 1 / 深度,因为视差与像素位移更相关,预测更稳定),最终输出与参考帧同尺寸(320×256)的视差图disparityi,预测层用 sigmoid 激活并缩放 2 倍,确保视差范围合理(对应深度 0.5m~50m)。
-
深度图从解码器输出的视差图转换而来(视差 = 1 / 深度),具体流程:
- 解码器输入:GP 优化后的 latent 表示Z(维度与编码器输出一致,512×8×10)。
- 解码器结构:含 4 个跳连(Skip Connection),分别连接编码器第 1-4 层输出,弥补下采样导致的细节丢失;共 4 个尺度的视差预测分支。
- 视差约束:每个尺度的预测层采用sigmoid 激活函数,并缩放 2 倍(output=2×sigmoid(x)),将视差范围约束在合理区间(对应深度 0.5m~50m)。
- 深度转换:视差disparity是深度d的倒数,即:d=1/disparity
最终选择最高尺度的深度图作为输出(与输入图像尺寸256×320一致)。
10. 损失函数
采用多尺度 L1 损失,仅计算有有效 Ground Truth(GT)的像素,流程如下:
- 训练数据:N 帧连续视频序列,除第一帧用 “下一帧” 作为源图像,其余帧均用 “前一帧” 作为源图像,每帧生成 4 个尺度的深度预测。
Loss = \frac{1}{N}\sum_{i=1}^{N}\sum_{s=1}^{4} \|d_{i,s}-\hat{d}_{i,s}\|_1 $$ 其中$N$为序列中帧数,$s$表示4个预测尺度。 ## 10. 测试数据集 ### 10.1 训练数据集 采用与 DeMoN 一致的数据集,共 92,558 个训练样本(每个样本含 3 视图序列、GT 深度与相机姿态),包括: - 真实数据集:SUN3D、RGBD、MVS(含 CITYWALL、ACHTECK-TURM); - 合成数据集:SCENES11。 ### 10.2 测试数据集 共 951 个视图,覆盖 3 类场景,均无训练数据重叠(验证泛化能力): - **7SCENES**:4 个室内序列(office-01、office-04、redkitchen-01、redkitchen-02),场景固定且视角多变,适合验证多视图融合效果; - **SUN3D**:4 个室内序列(mit_46_6lounge 等),含复杂家具布局,测试低纹理区域鲁棒性; - **ETH3D**:2 个室内外序列(kicker、office),光照真实,测试实际场景适应性。 对比方法:传统 MVS(COLMAP)、学习型 MVS(MVSNet、DeepMVS、MVDepthNet)。 ## 11. 消融实验测试的组件 消融实验基于 7SCENES(redkitchen-02)和 SUN3D,聚焦 3 个核心设计,验证 GP 的有效性: ### 11.1 邻居帧数量(2、3、5 帧) - 实验设置:对比 MVDepthNet、MVSNet 与本文方法在不同邻居帧数量下的性能; - 结论:即使本文方法仅用 2 帧,性能也优于 MVDepthNet/MVSNet 用 5 帧(如 L1-rel:本文 2 帧 0.1615 vs MVDepthNet5 帧 0.1734),证明 GP 融合历史信息的效率远超 “增加邻居帧数量”。 ### 11.2 邻居选择阈值(平移阈值tmin) - 实验设置:测试平移阈值tmin=0.1m(原设置)与tmin=0.05m(相机移动更小)的误差变化; - 结论:无 GP 时误差增幅更大(如 L1-rel:无 GP 从 0.1474→0.1535,本文从 0.1238→0.1262),证明 GP 在相机移动小时更能弥补 “基线不足” 的问题,提升匹配鲁棒性。 ### 11.3 核函数选择 - 实验设置:对比 4 种核函数 / 无 GP 的性能(Matérn 核、指数核、时间差 TD 核、无 GP); - 结论:Matérn 核最优(如 L1-rel=0.1298),因能编码 “姿态相似→latent 平滑” 的先验;指数核(无平滑性)、TD 核(仅用时间差忽略姿态)、无 GP 的性能依次下降,证明姿态核与平滑性建模的必要性,具体数据如下: | 核函数类型 | L1-rel | L1-inv | sc-inv | L1(m) | | -------------- | ------ | ------ | ------ | ------- | | Matérn(本文) | 0.1298 | 0.0683 | 0.1384 | 0.2769 | | 指数核 | 0.1376 | 0.0703 | 0.1417 | 0.2846 | | 时间差 TD 核 | 0.1450 | 0.0745 | 0.1457 | 0.3041 | | 无 GP | 0.1538 | 0.0824 | 0.1507 | 0.3265 | ## 其他创新点 - **实时移动端部署**:在iPad Pro上实现实时运行,使用ARKit获取相机姿态 - **状态空间GP推理**:推导出恒定计算复杂度的在线推理方案: $$ \bm{\Phi}_{i}=\exp\!\left[\begin{pmatrix}0&1\\ -3/\ell^{2}&-2\sqrt{3}/\ell\end{pmatrix}\Delta P_{i}\right]
- 互补性:与深度图融合后处理技术兼容,可进一步提升重建质量




