IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2020年ECCV论文DeepSFM: Structure From Motion Via Deep Bundle Adjustment阅读笔记 -> 正文阅读

[人工智能]2020年ECCV论文DeepSFM: Structure From Motion Via Deep Bundle Adjustment阅读笔记

??这篇博客分享的是2020年发表于ECCV上的一篇论文《DeepSFM: Structure From Motion Via Deep Bundle Adjustment》。

在这里插入图片描述
??

1 概述

在这里插入图片描述
??SfM(Structure from motion)是深度学习尚未能很好地解决的一个基本计算机视觉问题。现有的方法通常都是从ground truth或其他方法中获得精确的相机位姿,这在实际使用时是不现实的。另一个实际的有前景的趋势是将结构约束(如3D cost volume)应用到网络中。3D cost volume是一种可以显式利用photo-consistency的可微分方式,这显著提高了基于深度学习的三维重建的性能。然而,使用3D cost volume通常必须知道相机的运动,这需要使用传统方法跑密集拍摄的高分辨率图像来获取,或者依赖额外的校准设备(Fig. 1 (b))。一些方法直接对motion进行回归(Fig. 1 (a)),这会存在泛化问题。因此,现有的深度学习方法很少有可以在缺乏精确相机位姿的情况下同时改善深度和位姿的。
??受BA(bundle adjustment)和cost volume的启发,作者提出了一个SfM的深度学习框架,该框架通过构建用于度量photo-consistency(Photo-consistency is a scalar function that measures the visual compatibility of a 3D reconstruction with a set of calibrated images)和几何一致性的cost volume,迭代地更新深度和相机位姿。该方法只需要粗略的相机位姿估计就足够了。该网络包括一个depth based cost volume(D-CV)和pose based cost volume(P-CV)。D-CV使用当前相机位姿来优化每个像素的深度值,而P-CV使用当前深度估计优化相机位姿(如Fig.1 (c )所示)。传统的3D cost volume通过将像素投影到离散相机的前向平行平面,并计算光度(即图像特征)差异作为cost来增强照片的一致性。此外,作者通过D-CV将几何(即深度)差异添加到cost中,进一步加强了相机与其当前深度估计之间的几何一致性。作者提到,可以使用传统的3D cost volume获得初始的深度估计。同时,可以利用计算机的并行来更好地构建和求解cost volume。对于相机位姿的估计,作者提出的P-CV可以通过假设当前相机在其位置周围的离散位置之间进行移动,来计算光度和几何差异。该方法不是直接的回归。作者提到,初始相机位姿可以通过直接回归的方法来粗略估计获得。该框架通过在深度网络中加入photo-consistency、geometric-consistency和camera motions的明确约束,填补了传统和基于深度学习的SfM之间的差距。
??与论文的方法最相似的工作是2019年ICLR大会上提出的BA-Net,该网络旨在将多视图几何约束纳入到深度学习框架中。BA-Net通过将LM优化集成到网络中来实现这一目标。然而,由于内存和计算效率的限制,使用该网络无法进行太多次数的LM迭代。而由于缺乏足够的迭代,它可能难以获得最优解。相比之下,DeepSFM对迭代次数没有限制 。此外,LM算法在SfM中是用于优化点和相机位姿的,因此将LM算法直接集成到深度学习网络中仍然需要良好的对应性(correspondences)。为了避免传统SfM中的对应问题,BA-Net模型在前端直接使用回归器来预测深度,这严重依赖于训练数据中的先验知识。相比之下,DeepSFM模型是一个完全物理驱动的架构,减少了深度和位姿估计的过度拟合问题。
??

2 相关工作

2.1 Single-view Depth Estimation

??虽然这是一个ill-posed问题,但深度学习技术的出现使得我们可以从单张彩色图像中估计深度。早期工作直接将其表述为逐像素的回归问题,后续工作通过引入多尺度网络架构(multi-scale network architectures)、跳连接(skip-connections)、解码器(decoder)和后处理(post process)以及新的损失函数来提高性能。尽管基于单视图的方法可以获得看似合理的结果,但模型通常严重依赖于训练数据中的先验知识,且泛化能力较差。然而,这些方法在一些多视图系统中仍然是一个重要的组成部分。

2.2 Traditional Structure-from-Motion

??传统的SfM已经具有一个成熟的技术体系。然而,其对低纹理区域、遮挡、运动物体和光照变化敏感,这限制了其性能和稳定性。

2.3 Deep Learning for Structure-from-Motion

??最近,深度神经网络在立体匹配和SfM问题上取得了巨大成功。一些方法(DemonSfM-NetDeepVOSfMLearner等)以监督的方式直接回归深度和相机位姿,或通过在深度和位姿之间引入光度约束作为自我监督的信号。这些方法将相机的运动作为一个回归问题来解决,忽略了相机运动与深度预测之间的关系。
??另一些方法则利用多视图光度或特征度量约束来加强网络中密集深度图和相机位姿之间的关系。比如,BA-Net通过训练网络生成一组基本深度图,并通过最小化特征度量误差来优化BA层中的深度和相机位姿。
??

3 方法流程

??该框架接收来自不同视点的场景帧,并为所有帧生成精确的深度图和相机位姿。与BA类似,也假设初始结构(即深度图)和运动(即相机位姿)是给定的。该框架并不要求精确的初始化结果,因此可以从一些基于直接回归的方法(比如Demon)中轻松获得初始值。
在这里插入图片描述
??作者以两幅图像作为输入来描述所提出的模型,该模型可以直接扩展到多幅图像。如Fig. 2所示,首先通过一个共享的编码器从输入图像中提取特征图。然后,在预定义range内的逆深度空间中均匀地采样深度的解空间,并对初始值附近的相机位姿进行采样。然后,建立相应的cost volume,以推理每个深度和位姿假设的置信度。这是通过验证目标视图的特征与从源图像warped的特征之间的一致性来实现的。除了考虑用于度量彩色图像相似性的光度一致性之外,还考虑了warped深度图之间的几何一致性。在这里,深度和位姿需要不同的cost volume设计,以充分抽样假设空间。梯度可以通过cost volume反向传播,cost volume结构不包含任何可训练的参数。然后将cost volume输入3D CNN,以回归新的深度和位姿。这些更新后的值可用于创建新的cost volume,因此,该模型可迭代地改进预测。

3.1 2D Feature Extraction

??给定输入图像序列,为每一帧提取二维CNN特征。首先,采用卷积核尺寸为3×3的7层CNN提取低级的上下文信息。然后,采用空间金字塔池化(spatial pyramid pooling, SPP)模块,该模块可以通过4个平均池化模块(核的大小不同,分别为4×4、8×8、16×16、32×32)提取分层多尺度特征。最后,在将这些多尺度特征上采样到相同分辨率后,将concatenated的特征输入到二维CNN中,得到32通道的图像特征。这些图像序列特征用于构建基于深度和基于位姿的cost volume。

3.2 Depth based Cost Volume (D-CV)

??传统的plane sweep cost volume旨在将源图像反向投影到三维空间中的连续虚拟平面上,并测量每个像素在warped的图像特征和目标图像特征之间的photo-consistency误差。与主流的multi-view和SfM方法中所使用的cost volume不同,我们构造了一个D-CV,以进一步利用从深度图引入的局部几何一致性约束。受传统plane sweep cost volume的启发,论文所提出的D-CV由三部分concatenate而成:the target image features、the warped source image features和the homogeneous depth consistency maps。

??Hypothesis Sampling 为了将特征和深度图从源视点反向投影到目标视点中的三维空间,作者在反向深度空间中均匀采样一组垂直于目标视点前向(z轴)的虚拟平面。这些平面作为输出深度图的假设,cost volume可以建立在它们之上。

??Feature warping 为了构建D-CV,首先使用相机内参矩阵K和初始相机位姿将源图像特征warp到每个假设的深度图平面。采用可微分双线性插值来生成warped的特征图。源视图没有覆盖到的范围的像素被指定为零。然后,将目标特征和warped的目标特征concatenate在一起,得到一个2CH×L×W×H的4D特征volume。

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

??通过将特征volume和深度volume concatenate在一起,就获得了一个大小为(2CH+2)×L×W×H的4D cost tensor。给定4D cost volume,该网络使用几个核大小为3×3×3的三维卷积层学习大小为L×W×H的cost volume。当有多个源图像时,可以通过对多个输入源视图进行平均得到最终的cost volume。

3.3 Pose based Cost Volume (P-CV)

在这里插入图片描述
??除了D-CV的构造外,论文还提出了P-CV,旨在通过光度和几何一致性优化初始相机位姿(见Fig.3)。这里的P-CV不是基于假设的深度图平面构建的cost volume,而是基于一组假设的相机位姿构建的。与D-CV类似,P-CV也由三个组件concatenate而成:the target image features、the warped source image features和the homogeneous depth consistency maps。给定初始相机位姿参数,对周围的一批离散候选相机位姿进行均匀采样。如Fig.3所示,分别shift旋转和平移,同时保持另一个不变。对于旋转,在欧拉角空间中预定义范围内均匀采样获得δR,并将δR乘以初始的R。对于平移,均匀采样δt,并将δt加到初始t上。最后,得到了一组在输入位姿附近的虚拟相机位姿,用于cost volume的构造。
??通过将图像特征和homogeneous深度图concatenate起来,还可以构造posed-based的cost volume。与D-CV类似,在双线性采样后得到warped的源特征图,并将其与目标视图的特征图进行concatenate。作者还将初始目标视图深度和源视图深度转换到同一个齐次坐标系下,从而增强了相机位姿和multi view深度图之间的几何一致性。
??将上述特征图和深度图concatenate在一起后,再次构建一个4D cost volume,大小为(2CH+2)×P×W×H,其中W和H是特征图的宽度和高度,CH是通道数。在经过核尺寸为3×3×3的八个三维卷积层、步长为2×2×1的三个三维平均池化层和最后接的一个全局平均池化层之后,可以从上述4-D tensor中得到大小为1×P×1×1的输出。

3.4 Cost Aggregation and Regression

??深度预测部分遵循cost aggregation technique。采用一个context网络,将目标图像特征和经过三维卷积的coarse cost volume的每个slice作为输入,生成refined cost slice。最终aggregated的基于深度的volume是通过将coarse cost slice和refined cost slice相加得到的。获得目标图像深度预测的最后一步是使用soft argmax进行深度回归。对于相机位姿预测部分,作者也对位姿cost volume使用soft argmax函数,然后获得估计的旋转和平移向量。

3.5 Training

??DeepSFM以有监督的方式对feature extractor、3D convolution和regression layers进行学习。我们将R?i和t?i表示为相机位姿的预测旋转角度和平移向量。位姿损失使用L1距离进行定义,深度损失则基于Huber损失函数进行定义。
??初始深度图和相机位姿是从Demon获得的。为了保持正确的尺度,作者将平移向量和深度图乘以相机平移真值的范数。整个训练和测试过程分为四次迭代。在每次迭代过程中,将先前迭代的预测深度图和相机位姿作为新的初始值。
??

4 实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
??

5 总结

??论文提出了一个基于SfM的深度学习框架,该框架在深度网络中实现了光度一致性、几何一致性和相机运动约束。这是通过两个关键组件实现的,即D-CV和P-CV。这两种cost volume分别通过假设移动重建场景点(结构)或相机(运动)来测量光度和几何测量误差。该深度网络可以看作是一种基于增强学习的BA算法,它充分利用了可学习的先验知识和几何规则。因此,该方法优于传统的BA和先进的基于深度学习的SfM方法。

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:16:52  更:2021-09-13 09:19:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 15:27:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码