| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 2019年ICLR论文BA-NET: DENSE BUNDLE ADJUSTMENT NETWORKS论文阅读笔记 -> 正文阅读 |
|
[人工智能]2019年ICLR论文BA-NET: DENSE BUNDLE ADJUSTMENT NETWORKS论文阅读笔记 |
??这篇博客分享的是2019年发表于ICLR的《BA-NET: DENSE BUNDLE ADJUSTMENT NETWORKS》。该论文提出了一种可以端到端训练的深度学习SfM框架,其最大贡献是将BA部分的LM优化算法变成可微的,从而使得端到端的训练成为可能。 1 INTRODUCTION??论文介绍了一种通过特征度量BA(bundle adjustment)来解决运动恢复结构(SfM)问题的网络体系结构,它以特征度量误差的形式明确地强制多视图几何约束。整个流程是可微的,因此网络可以学习到使BA问题更易于处理的合适特征。此外,这项工作引入了一种新的深度参数化来恢复密集的逐像素深度。该网络首先根据输入图像生成若干个基础深度图,并通过特征度量BA将最终深度优化为这些基础深度图的线性组合。基础深度图生成器也可以进行端到端的训练。整个系统将领域知识(即硬编码的多视图几何约束)和深度学习(即特征学习和基础深度图学习)巧妙地结合起来,以解决具有挑战性的稠密SfM问题。在大规模实际数据上的实验证明了该方法的有效性。 2 RELATED WORK??Monocular Depth Estimation Networks 从单目图像估计深度是一个ill-posed的问题,同一张图像可以对应有无限多种可能的场景。在基于深度学习的方法提出之前,一些工作基于MRF、语义分割或手动设计的特征从单个图像预测深度。相比之下,作者利用单目图像深度估计网络进行深度参数化,只生成一组基础深度图,通过优化最终结果将得到进一步改善。 ??Structure-from-Motion Networks 最近,一些研究利用CNN来解决SfM问题。与以前的所有工作不同,作者提出了BA层来同时从CNN特征预测场景深度和相机运动,这明确地强制了多视图几何约束。硬编码的多视图几何约束使得该方法能够重建两个以上的图像,而大多数深度学习方法只能处理两个图像。此外,作者建议应该最小化特征度量误差,而不是光度误差,以增强鲁棒性。 3 BUNDLE ADJUSTMENT REVISITED??BA可以分为几何BA和光度BA两大类。其中,几何BA通过最小化重投影误差,联合优化相机位姿和3D场景点坐标。它将场景点重新投影到图像平面,计算该投影点与其原始像素坐标之间的欧式距离,然后使用非线性最小二乘的方法去最小化这一距离。这种带有重投影误差的几何BA是过去二十年中SfM的黄金标准,但是它存在两个主要缺点:
??这两个缺点的存在推动了直接方法的最新发展,该方法提出了光度BA算法。光度BA算法不考虑特征匹配,而是直接最小化对齐像素的光度误差(像素强度差)。直接方法的优点是可以利用具有足够梯度大小的所有像素,而不止是局限于特征角点。它们表现出了优异的性能,尤其是在缺乏纹理的场景下。但是,这些方法也有一些缺点:
4 THE BA-NET ARCHITECTURE??为了应对上述挑战,论文提出了一种特征度量BA算法,该算法估计与光度BA相同的场景深度和相机运动参数X,但最小化对齐像素的特征度量差异: 4.1 OVERVIEW
4.2 FEATURE PYRAMID??特征金字塔为BA层学习合适的特征。与用于目标检测的特征金字塔网络(FPN)类似,作者利用深度卷积网络固有的多尺度层次结构来构建特征金字塔。采用具有横向连接的自顶向下体系结构,将更丰富的上下文信息从较粗的尺度传播到较细的尺度。因此,该特征度量BA将具有更大的收敛半径。 4.3 BUNDLE ADJUSTMENT LAYER??在为所有图像构建特征金字塔之后,通过最小化特征度量误差来优化相机位姿和密集深度图。遵循传统的BA原理,作者使用Levenberg-Marquardt(LM)算法来优化误差方程。然而,由于两个困难,原始LM算法是不可微的:
??当解X相对于F不可微时,通过反向传播进行特征学习也变得不可能。对于第一个困难,可以通过固定迭代次数来解决,这称为“不完全优化”。除了让优化变得可微,这种“不完全优化”技术还可以减少内存消耗,因为迭代次数通常固定在一个较小的值上。
??通过这种方式,可以把λ作为一个中间变量,并且可以将每个LM步骤记为关于特征金字塔F和来自先前迭代的解空间X的函数g。即?X=g(X; F)。因此,第k次迭代后的解为: 4.4 BASIS DEPTH MAPS GENERATION??通过逐像素深度值参数化密集深度图是不切实际的。首先,它引入了太多的优化参数。例如,320×240像素的图像产生76.8k参数。其次,在训练开始时,由于深度或运动预测不佳,许多像素将在其他视图中不可见。因此,只有很少的信息可以反向传播以改进网络,这使得训练变得困难。 4.5 TRAINING??BA网络以有监督的方式学习特征金字塔、阻尼因子预测器和基础深度图生成器。将以下常用损失应用于训练过程中,尽管可以设计出更复杂的损失函数。 5 EVALUATION5.1 DATASET??ScanNet ScanNet是一个大型室内数据集,在706个不同场景中有1513个序列。其提供的相机位姿和深度图并不完美,因为它们是通过BundleFusion估计的。在ScanNet的所有数据中,尺度都是已知的,因为数据是用深度相机记录的,该相机返回绝对深度值。 ??KITTI KITTI是一个广泛使用的基准数据集,由车载摄像头和激光雷达传感器收集的街道数据。它包含61个场景,属于“城市”、“住宅”或“道路”类别。Eigen等人(2014年)选择28个场景进行测试,并从剩余场景中选择28个场景进行训练。作者使用了相同的数据分割方式,以便于与其他学者曾提出的方法进行公平的比较。由于原始KITTI数据集无法提供位姿真值,作者通过LibVISO2来计算相机位姿,并在丢弃错误较大的位姿后将其作为位姿真值。 5.2 COMPARISONS WITH OTHER METHODS
6 CONCLUSIONS AND FUTURE WORKS??论文介绍了BA网络,这是一种根据特征度量误差明确实施多视图几何约束的网络。它通过特征度量BA来联合优化场景深度和相机运动。整个过程是可微分的,因此可以进行端到端的训练,这样就可以从数据中学习特征,以便于从运动中构造结构。密集深度被参数化为网络生成的几个基础深度图的线性组合。该BA网络将领域知识(硬编码的多视图几何约束)与深度学习(学习到的特征表示和基础深度图生成器)很好地结合起来。它优于传统的BA和最近提出的基于深度学习的方法。 7 APPENDIX7.1 IMPLEMENTATION DETAILS
??Evaluation Time 为了评估作者提出的方法的运行时间,使用Tensorflow profiler工具检索所有网络节点的时间(以毫秒为单位),然后总结网络中每个组件对应的结果。如表3所示,所提出的方法需要95.21ms来重建两张320×240的图像,比DeMoN的速度稍快,DeMoN处理两个256×192图像需要110毫秒。 7.2 ABLATION STUDIES??Learned Features vs Pre-trained Features 论文提出的可学习的特征金字塔提高了目标函数的凸性,这有助于优化。作者将学习到的特征与在ImageNet上为分类任务预先训练的特征进行比较。如表4所示,预训练的特征(即w/o特征学习)产生了较大的误差,这证明了第4.2节中的讨论。 ??Differentiable Levenberg-Marquardt vs Gauss-Newton 为了使整个网络是端到端可训练的,作者通过从网络中学习阻尼因子使LM算法可微。首先将论文的方法与无阻尼因子λ(即λ=0)的普通高斯-牛顿法进行比较。由于特征度量BA的目标函数是非凸的,因此Hessian矩阵J(X)TJ(X)可能不是正定的,这使得通过Cholesky分解进行的矩阵求逆失败。 7.3 EVALUATION ON DEMON DATASET??表5总结了本文所提出的网络在DeMoN数据集上的结果。为了进行比较,作者还引用了DeMoN和LS-Net的最新研究成果。此外,还进一步引用了DeMoN中报告的一些传统方法的结果,分别表示为Oracle、SIFT、FF和Matlab。在这里,Oracle使用相机真值通过SGM来解决多视图立体几何问题,而SIFT、FF和Matlab进一步分别使用稀疏特征、光流和KLT跟踪进行特征匹配,通过八点算法解决相机位姿问题。 7.4 MULTI-VIEW STRUCTURE-FROM-MOTION??论文的方法可以很容易地扩展到重建多幅图像。作者在ScanNet数据集的多视图配置中进行了评估。为了对多视图图像进行采样以进行训练,作者随机选择了具有公共图像的两视图图像对来构造N视图序列。由于GPU内存有限(12G),作者将N限制为5。 7.5 QUANTITATIVE COMPARISONS WITH CODESLAM??作者将论文的方法与CodeSLAM进行比较,后者采用了类似的深度参数化思想。但不同之处在于,CodeSLAM单独学习带条件的深度自动编码器,并在独立的光度BA组件中使用深度编码,而论文的方法通过特征度量BA端到端学习特征金字塔和基础深度图生成器。由于CodeSLAM没有公开代码,作者直接引用了他们论文中的结果。为了获得论文的方法在EuroC MH02序列上的轨迹,作者每四帧选择一帧,并连接每个包含五帧的重建组。然后,作者使用与CodeSLAM相同的评估指标,该指标测量对应于不同旅行距离的平移误差。 7.6 VISUALIZATION OF BASIS DEPTH MAPS??在图8中,作者将四幅典型的基础深度图可视化为四幅图像中每幅图像的热图。一个有趣的观察结果是,一个基础深度图对近距离物体有较高的响应,而另一个基础深度图对远距离背景有较高的响应。其他一些基础深度图具有平滑变化的响应,并对应于场景的布局。这一观察结果表明,学习的基础深度图已经捕捉到了场景的潜在结构。 7.7 QUALITATIVE COMPARISONS WITH OTHER METHODS??最后,作者与之前学者提出的一些方法进行了一些定性比较。图9展示了论文的方法和DeMoN在ScanNet数据上恢复的深度图。可以从红色圆圈突出显示的区域中看到,论文的方法恢复了更多的形状细节,这与表1中的定量结果是一致的。图11分别展示了Wang等人和Godard等人通过本文的方法恢复的深度图。同样,可以在结果中观察到更多的形状细节,如表2中的定量结果所示。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 12:31:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |