| |
|
开发:
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 概述
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问题上取得了巨大成功。一些方法(Demon、SfM-Net、DeepVO、SfMLearner等)以监督的方式直接回归深度和相机位姿,或通过在深度和位姿之间引入光度约束作为自我监督的信号。这些方法将相机的运动作为一个回归问题来解决,忽略了相机运动与深度预测之间的关系。 3 方法流程??该框架接收来自不同视点的场景帧,并为所有帧生成精确的深度图和相机位姿。与BA类似,也假设初始结构(即深度图)和运动(即相机位姿)是给定的。该框架并不要求精确的初始化结果,因此可以从一些基于直接回归的方法(比如Demon)中轻松获得初始值。 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相同,而后者则涉及到从目标相机到源相机的坐标变换。 ??通过将特征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)
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损失函数进行定义。 4 实验
5 总结??论文提出了一个基于SfM的深度学习框架,该框架在深度网络中实现了光度一致性、几何一致性和相机运动约束。这是通过两个关键组件实现的,即D-CV和P-CV。这两种cost volume分别通过假设移动重建场景点(结构)或相机(运动)来测量光度和几何测量误差。该深度网络可以看作是一种基于增强学习的BA算法,它充分利用了可学习的先验知识和几何规则。因此,该方法优于传统的BA和先进的基于深度学习的SfM方法。 ??*部分翻译或理解可能会存在偏差,仅供参考,欢迎讨论。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |