论文题目:DELTAS: Depth Estimation by Learning Triangulation And densification of Sparse points (ECCV2020)
数据集和预训练模型下载地址:在公众号「3D视觉工坊」,后台回复「DELTAS」,即可直接下载。
一、摘要
多视图立体匹配(Multi-view Stereo)是一种主动式深度探测与单目深度估计实用化的权衡方法。基于代价体的方法利用3D卷积网络来提高MVS系统的精度。然而这种方法的计算开销很大,很难用于实际应用。与构建代价体的方法不同,本文提出一种高效的深度估计方法。具体地,首先进行特征点提取与描述子计算;然后进行特征点匹配与特征点的三角化;最后通过CNN来对稀疏深度图进行稠密化。上述三个步骤的操作通过一个端到端的网络框架实现,在网络模型训练中除了深度图的监督约束外,还加入了中间2D图像和3D几何的监督。实验结果证明:文章提出的方法在不同场景下能够以更低的计算开销来实现更精确的深度估计。
二、相关工作
2.1 特征点检测与描述
基于稀疏特征点的方法是SLAM或VIO技术的标准,因为他们速度快、精度高。“先检测再描述”是最常见的稀疏特征提取方法,具体地,首先检测特征点,然后对该特征点周围的块进行描述。描述子封装了更高级别的信息,这些信息被低级别的关键点所忽略。在深度学习之前,SIFT和ORB特征点被广泛用于低级别视觉任务的特征匹配描述子。而随着深度学习的出现,在很多的应用中取代了这些手工设计的特征。近年来,出现了SuperPoint、LIFT和GIFT等相关工作。
2.2 三角测量
三角测量是指,通过在两处观察同一点的夹角,确定该点的距离。三角测量最早由高斯提出并应用于测量学中,他在天文学、地理学测量中都有应用。在本文中,主要用三角化来估计像素点的距离。Samsung 人工智能研究院的研究员于2019年提出了用于多视图位姿估计的可学习的三角测量方法[4]。可学习的三角化模块可以集成到端到端学习的网络中。
2.3 Sparse-to-Dense Depth Estimation
由于深度传感器探测范围的限制,Sparse-to-Dense的深度估计方法成为辅助主动深度传感器的一种方式,而且还具有难以检测区域(比如黑暗和反射物体)深度空洞填补的作用。最早的工作是由MIT的研究人员Fangchang Ma等人提出[2]:《Sparse-to-Dense: Depth Prediction from Sparse Depth Samples and a Single Image》该文章引入了一种新的深度预测方法,用于从RGB图像和稀疏深度图中预测稠密深度图,此方法适用于多传感器融合和基于特征点方式的SLAM。
三、方法
如图1所示,以一幅目标图像和两幅辅助图像为例进行方法步骤的说明。本文方法大致可以分为三个步骤。第一步,首先利用类似于SuperPoint的网络进行目标图像的特征点提取与描述子计算,同时也为辅助图像进行描述子计算。第二步,根据相对位姿(对极几何)的关系确定目标图像特征点在辅助图像的空间范围。然后在搜索空间中采样描述子,并与目标图像特征点的描述子进行匹配。然后利用SVD奇异值分解的方法进行特征点的三角化,最后根据输出的3D点创建稀疏深度图。最后一步,稀疏深度图编码器输出的特征图与RGB图像编码器输出的特征图用于生成最后的稠密深度图。
3.1 特征点检测与描述
如图2所示,本文使用类似于SuperPoint的网络结构进行特征点检测与描述子计算。该网络模型有一个图像编码器用于提取图像特征,并且减小图像维度。提取的特征送入后续的两个特征任务的解码器中:用于特征点检测与特征点描述子计算。原始版本的SuperPoint用于高速视频帧的姿态估计,所以图像编码器使用的是浅层的VGG网络。但是SuperPoint浅层的骨干网络并不完全适合于本文的深度估计任务。因此出于权衡效率和性能的考量,作者使用了ResNet-50编码器替换了原来的骨干网络。
3.2 特征点匹配与三角化
3.2.1 特征点匹配
上述步骤进行了目标图像的特征点检测与所有视图的描述子计算。一种直接的特征点匹配策略是:将目标图像特征点的描述子与辅助图像上所有可能的位置进行匹配对应。然而这种策略因为计算量过大而不能采用。考虑到匹配点的对应满足对极几何的关系,所以我们只在辅助图像的极线上进行搜索。如图3所示,在理想情况下匹配点会位于极线上。然而实际情况中由于相机位姿存在偏差等因素,我们在极限搜索时会加上一个小的偏置。考虑到极线延伸范围为-∞到+∞,我们将极线范围限制在可行的深度探测范围内(如右图所示)。对于每一幅辅助图像,目标图像特征点的描述子沿着极线方向与描述子进行卷积,可得互相关图:
3.2.2 特征点三角化
3.3 Sparse-to-Dense Depth Estimation
特征点检测网络提供了特征点的2D坐标,三角化的z坐标提供了深度值。我们可以将稀疏点转化为与彩色图像相同分辨率的稀疏深度图。网络模型的梯度可以从稀疏深度图回传至3D关键点,再回传至输入图像。我们将稀疏深度图通过一个编码器获得深度图特征(该编码器为一个层数较浅的RGB图像编码器)。具体地,编码器使用的是ResNet-50,其中每层的通道宽度为图像编码器的1/4。将稀疏深度图的特征和RGB彩色图的特征联结起来。如图4所示,本模块共有4个尺度的深度图输出。模块中还用到了空间金字塔池化模块,以获得不同感受野下的特征。
四、实验
4.1 特征点与描述子质量
表1展示了检测子与描述子的性能评测。其中MLE和可重复性为检测子的评判指标,MScore为描述子评判指标。旋转5°和平移5°为综合考量指标。
4.2 深度估计性能对比
在不同场景和不同数据集的评测中,采用了相同的超参数:将检测的特征点数固定为512,采样的描述子长度为100,检测子的阈值设为5e-4。同时为确保提取的特征点呈现均匀分布并避免聚类,将NMS的参数设定为9。图2展示了在ScanNet数据集上深度估计的预测精度。
参考文献
1.Sinha A, Murez Z, Bartolozzi J, et al. Deltas: Depth estimation by learning triangulation and densification of sparse points[C]//Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020
2.Ma F, Karaman S. Sparse-to-dense: Depth prediction from sparse depth samples and a single image[C]//2018 IEEE international conference on robotics and automation (ICRA). IEEE, 2018: 4796-4803.
3.DeTone D, Malisiewicz T, Rabinovich A. Superpoint: Self-supervised interest point detection and description[C]//Proceedings of the IEEE conference on computer vision and pattern recognition workshops. 2018: 224-236.
4.Iskakov K, Burkov E, Lempitsky V, et al. Learnable triangulation of human pose[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 7718-7727.
备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区
原创征稿
初衷 3D视觉工坊是基于优质原创文章的自媒体平台,创始人和合伙人致力于发布3D视觉领域最干货的文章,然而少数人的力量毕竟有限,知识盲区和领域漏洞依然存在。为了能够更好地展示领域知识,现向全体粉丝以及阅读者征稿,如果您的文章是3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、硬件选型、求职分享等方向,欢迎砸稿过来~文章内容可以为paper reading、资源总结、项目实战总结等形式,公众号将会对每一个投稿者提供相应的稿费,我们支持知识有价!