Advertisement

2020年ECCV论文DeepSFM: Structure From Motion Via Deep Bundle Adjustment阅读笔记

阅读量:

本文介绍了在ECCV期刊上发表于2020年的一篇名为《DeepSFM: Structure From Motion Via Deep Bundle Adjustment》的论文。

在这里插入图片描述

1 概述

在这里插入图片描述

SfM(Structure from motion)是一个深度学习尚未完全解决的重要计算机视觉问题。现有的方法通常依赖于ground truth或其他精确的相机位姿信息作为输入数据源,在实际应用中面临诸多挑战与限制。为了提升三维重建性能的方法中引入了显式的3D cost volume约束技术[1] 。这种基于可微分 photo-consistency的方式显著提升了深度学习在三维重建中的效果表现;然而这种方法需要预先知道相机运动信息才能实施;这要求获取高分辨率图像序列或者依赖额外校准设备(如图1 (b)所示)。一些研究则直接采用运动回归的方法(如图1 (a)),但这种做法容易导致模型泛化能力不足的问题;因此现有的深度学习方法难以有效应对相机位姿未知的情况下的三维重建与位姿估计双重优化问题。
受BA(bundle adjustment)与cost volume技术启发;作者提出了一种新的SfM深度学习框架;该框架通过构建度量 photo-consistency 和几何一致性 cost volume 两种指标来进行迭代优化;仅需对相机位姿进行粗略估计即可实现有效重建;该网络由depth-based cost volume(D-CV)与pose-based cost volume(P-CV)两部分组成[D-CV] 。D-CV利用当前相机位姿对每个像素进行深度优化;而P-CV则基于当前深度估计进行相机姿态优化(如图1 (c)所示)。传统的3D cost volume方法通过对离散相机前向投影平面计算光线差异来增强图像一致性;而作者在此基础上引入D-CV增加了几何差异项到cost中;从而进一步提升了模型对相机与其深度估计之间几何一致性的约束能力;
作者指出可以通过传统3D cost volume技术获得初始深度估计值;同时借助计算机并行计算的优势来提高cost volume构建与求解效率;
对于相机姿态估计问题;作者提出的P-CV通过假设相机在其当前位置周围的离散位置上移动的方式来计算光度差异与几何差异;
值得注意的是这种方法并非直接采用回归方式;
作者建议可以通过直接回归的方法粗略估计初始相机位姿参数;
该框架通过整合photo-consistency、geometric-consistency以及camera motions等多种约束条件;
成功弥补了传统方法与基于深度学习的现有SfM技术之间的不足;

2 相关工作

2.1 Single-view Depth Estimation

尽管这是一个ill-posed问题,但由于深度学习技术的发展,我们能够从一张彩色图像中估计其深度.早期研究将这一问题表述为逐像素回归问题.随后的研究则通过引入多尺度网络架构、跳跃连接、解码器以及后处理,并结合新型损失函数来提升性能.然而基于单一视图的方法虽能产生看似合理的估计结果,但这些模型通常严重依赖于训练数据中的先验知识,且泛化能力较差.不过在一些多视图系统中,这类方法仍然是不可或缺的重要组成部分.

2.2 Traditional Structure-from-Motion

在技术体系上已相当成熟的视觉同时定位与建图(Visual Simultaneous Mapping, V-SLAM)方法。然而,在应对复杂场景时存在一定局限性

2.3 Deep Learning for Structure-from-Motion

近年来,在立体匹配与结构从动(SfM)问题领域取得显著进展的深度神经网络技术中包含了采用监督学习策略的几种关键方法。这些方法主要分为两类:一类是直接预测深度信息以及相机运动参数的方法(如DemonSfM-NetDeepVOSfMLearner等),它们通过引入光度约束作为自我监督信号的方式,在深度与位姿之间建立关联;另一类则是通过多视图光度或特征度量约束来强化密集深度图与相机位姿之间的关联的方法(如BA-Net)。这类方法将相机运动视为一个回归任务来处理,并未完全考虑相机运动与深度预测之间的内在联系。

3 方法流程

此框架接收来自多角度场景的画面,并对每幅画面生成精确的深度图与相机姿态。类似于Bundle Adjustment方法,在初始条件下假设存在已知的初始结构(如深度图)以及运动参数(如相机姿态)。此框架无需严格的初始化结果即可运行;其初始值可以从一些基于直接回归的方法中获取(例如Demon)。

在这里插入图片描述

该研究采用两幅图像作为输入来阐述其提出的模型框架,并指出该模型在多幅图像扩展上具有显著潜力。如图2所示,在模型构建过程中首先通过共享编码器从输入图像中提取特征图谱。随后,在预设深度范围内的逆深度空间中进行均匀采样以探索深度解空间,并在此基础上对相机姿态进行局部采样。接着构建相应的cost volume来评估每个深度与位姿假设的一致性置信度。这一过程主要通过比较目标视图特征与源图像经变形后特征的一致性来实现对深度和姿态参数的估计。除了考虑光度一致性和几何一致性外(注:此处补充说明),还特别强调了基于不同假设空间设计的cost volume在精确抽样过程中的重要性。通过反向传播机制计算梯度并保持cost volume结构无参数特性不变的基础上将变形后的特征输入三维卷积神经网络以更新深度与姿态参数值进而生成新的cost volume框架以便迭代优化预测结果

3.1 2D Feature Extraction

给定输入图像序列后,在每一帧中获取二维CNN特征表示。具体而言,在第一阶段中使用卷积核尺寸为3×3的7层CNN网络来提取低级视觉信息。随后引入空间金字塔池化机制(SPP),该机制通过包含不同尺度(4×4、8×8、16×16、32×32)的平均池化模块分层地捕获多尺度特征信息。在对各尺度特征进行适当采样以达到一致的空间分辨率后,在二维CNN中整合这些多尺度特征并输出具有32通道的空间特征表示。这些图像序列级别的深度特性和位姿信息则被整合到构建Cost Volume的过程中

3.2 Depth based Cost Volume (D-CV)

传统平面扫描成本体积主要用于将源图像逆向投射到三维空间中的连续虚拟平面,并计算得到每个像素在变形后的图像特征与其目标图像特征之间的 photo-consistency 误差。不同于现有的 multi-view 和 SfM 方法所使用的 cost volumes, 我们构建了一个新型 D-CV, 进一步借鉴了深度图中的局部几何一致性约束信息.论文提出的方法整合了三个关键组成部分: 目标图像特征, 变形后的源图像特征以及均匀化的深度一致性地图.

Inverse Depth Space Hypothesis Sampling

在构建深度覆盖网络(D-CV)的过程中,在每一步骤中都需要完成以下操作:首先通过相机内参矩阵K和初始相机位姿将源视觉数据(CH×W×H)映射至每个假设深度图平面;随后通过应用可微分双线性插值技术实现warped视觉特性的具体化;对于未被当前视图所覆盖区域的所有像素,则将其设置为空;最后融合目标特性和经过变换后的源特性信息以形成最终结果A resultant 4D feature volume of size 2CH × L × W × H.

Depth consistency 除了光度一致性之外,为了利用几何一致性并提高深度预测的质量,在每个虚拟平面上添加了两个通道:从源视图warped来的初始深度图和从源视图通过透视投影得来的虚拟深度平面。在这里,前者与图像特征的warp相同,而后者则涉及到从目标相机到源相机的坐标变换。
具体地,第一个通道计算如下。首先对源图像的初始深度图进行下采样,然后将其warp到假设的深度平面,类似于图像特征的warp。深度的warp和特征的warp之间的一个区别是,深度的warp采用最近邻采样,而不是双线性插值。
从源视图来看,第二个通道包含目标视图中虚拟平面的深度值。为了将虚拟平面变换到源视图坐标系下,需要在每个虚拟平面上应用T函数。然后,将warped的初始深度图和坐标系变换后的深度平面叠加,得到2×L×W×H的深度volume。

通过将特征volume与深度volume进行融合操作(fuse),即可生成一个具有尺寸(2CH+2)×L×W×H的四维成本张量(4D cost tensor)。对于给定的一个4D cost volume,在网络中应用若干个三维卷积核(each of size 3×3×3),这些卷积层能够提取出一个维度为L×W×H的成本体积(cost volume)。当存在多个来源图像时,在接收多个输入源视图的基础上进行计算处理,则可获得最终的成本体积(final cost volume)。

3.3 Pose based Cost Volume (P-CV)
在这里插入图片描述

除了用于构建D-CV的方法外, 该论文还提出了另一种改进方案P-CV, 其目标是通过光度一致性与几何一致性优化初始相机位姿(见Fig.3)。与D-CV不同, P-CV并非基于预先假设深度平面来进行cost volume构建, 而是基于一组预设相机位姿进行构建。与前一种方法类似, P-CV也由三个组件构成:目标图像特征、被扭曲后的源图像特征以及齐次深度一致性映射。给定初始相机位姿参数后, 对周围一批离散候选相机位姿进行均匀采样(如Fig.3所示)。具体而言, 会对旋转和平移操作分别施加偏移:对于旋转, 在欧拉角空间内预先设定范围内的均匀采样δR, 并将其与初始R相乘;对于平移操作, 则是在预设范围内均匀采样δt并将其加至初始t上。这样一来, 就能够生成一批位于输入位姿附近的虚拟相机位姿集合, 用于后续cost volume的构造过程。

3.4 Cost Aggregation and Regression

该模块基于成本聚合技术进行设计。通过引入一个专门设计的上下文网络,在目标图像与经过三维卷积处理后的粗粒度cost volume的所有切片之间建立联系,并生成精化级别的cost slice。在后续阶段中,我们将两个级别的cost slice进行融合得到最终的目标深度预测结果。在估计相机姿态时,则是直接对位姿相关的cost volume应用软最大值函数以获得旋转和平移参数的估计值。

3.5 Training

DeepSFM采用了基于有监督学习的方法对特征提取器、三维卷积层以及回归层进行了参数学习。位姿损失采用了L1距离来进行计算,并且深度损失则基于Huber损失函数来确定。

4 实验

实验过程中,研究者对该算法的准确度、泛化能力以及对于初始值的敏感性进行了评估。所使用的数据集包含:

  • DeMon Datasets 覆盖了SUN3D、RGB-D SLAM、Scenes11以及MVS等数据集。
  • 这些数据集均提供了丰富的RGB图像序列,并配备了精确的相机内外参数以及深度图的真实值。
  • ETH3D Dataset 包含了一系列室内及室外场景图像,并附带有高精度三维点云作为参考。
  • Tanks and Temples 是一个大规模三维重建的数据集合。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 总结

论文构建了一个基于SfM的深度学习架构,在深度网络中实现了光度一致性、几何一致性和相机运动约束的统一表达。该架构由两个关键模块组成:D-CV和P-CV。其中,D-CV通过假设移动重建场景点(结构)或相机(运动)来测量光度与几何误差,P-CV则采用类似的思路进行误差计算。整个深度网络可视为一种基于增强学习的BA算法框架,它巧妙地结合了可学习先验知识与几何规则,从而实现了对传统BA算法的优化与提升。相比于传统的BA算法和现有的深度学习驱动的SfM方法,该方法展现出显著的技术优势

6 补充材料

6.1 Implementation Details

整个网络训练过程持续进行了4个完整的 epoch 周期,在最初的两个 epoch 阶段利用 DPSNet 模型中预训练得到的最佳参数来进行特征提取模块的学习初始化工作,并且始终将输入序列设定为长度 2(包含一个目标图像与一个源图像)。随后,在后续两个 epoch 阶段则采用网络预测出的目标深度信息来替代这一过程。为了保证数据质量,在每个 epoch 开始时都会对 cost volume 数据进行归一化处理:其中 D-CV 的归一化范围由真实深度信息中的最小值决定;而对于 P-CV 来说,则采用了旋转采样步长 以及平移采样步长 的设计方案(其中 表示初始偏移量)。

  • Loss weights。各损失项提供的梯度具有相近的量级,在训练过程中避免单个损失主导现象的发生。这是因为深度精度与相机姿态对于一致结果的重要性均不可忽视。此外,在实践中相机的姿态对深度估计的影响程度较高,在本研究中为了促进姿态估计性能,则设置了较大的λr参数值(λr=0.8)。具体实现时将Ldepth平衡损失目标设定为λd=0.7,并将其他参数设定为λt=0.1和λd=0.1。
  • Feature extraction module。参考图9可知模块采用了与DPSNet类似的架构设计,并以输入图像尺寸为4W×4H×3的形式参与运算过程;经过模型处理后生成特征图的空间维度大小为W×H×32,并将其用于构建D-CV和P-CV两个分支网络结构。
在这里插入图片描述

该系统架构采用了体积组件(volume components)作为核心设计单元,在实验中通过多轮实验验证了其有效性(validity)。具体而言,在该架构中体积组件主要由两个关键模块构成:动态卷积组件(dynamic convolution module, DCM)与静态卷积组件(static convolution module, SCM)。其中DCM模块主要负责动态空间信息提取与融合操作;SCM则专注于静态空间信息提取与融合操作。

在这里插入图片描述
  • 与DPSNet高度相似的是,在D-CV后的3D卷积层架构中。为了兼容新增的深度一致性组件,在此处采用了较之原来的64个输入通道。如图11所示地展示了后续结构的变化,请注意随后出现的P-CV后的3D卷积层架构中包含了三个额外的三维平均池化模块,并在图像宽度和高度维度上施加了一个全局平均池化操作以生成相应的P×1×1 tensor。
在这里插入图片描述
6.2 Other experimental results
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

*部分翻译或理解可能会存在偏差,仅供参考,欢迎讨论。

全部评论 (0)

还没有任何评论哟~