【泡泡图灵智库】P2Net: 补丁匹配和平面正则化的无监督室内深度估计
泡泡图灵智库,带你精读机器人顶级会议文章
标题:P2Net: Patch-match and Plane-regularization for Unsupervised Indoor Depth Estimation
作者: Zehao Yu, Lei Jin, and Shenghua Gao
机构:ShanghaiTech Univsertiy,DGene Inc,Shanghai Engineering Research Center of Intelligent Vision and Imaging
来源:ECCV 2020
编译 : 陈圣伦
审核:李鑫
这是泡泡图灵智库推送的第581篇文章,欢迎个人转发朋友圈
摘要
大家好,今天为大家带来的文章是P2Net: Patch-match and Plane-regularization for Unsupervised Indoor Depth Estimation。
室内环境下的无监督深度估计问题非常具有挑战性,因为在这些场景中有大量的非纹理区域。户外环境中常用的无监督深度估计框架可能不适用这些区域。即使掩盖这些区域,性能仍然不令人满意。这篇论文认为不佳的性能是由不具判别性的基于点的匹配造成的。因而提出了P2Net,该方法提取局部梯度较大的点,以每个点为中心的补丁作为其表示。然后在补丁上定义多视图一致性损失。这显著提高了网络训练的鲁棒性。此外,因为室内场景中无纹理的区域(如墙壁、地板、屋顶等)通常对应于平面区域,本文利用超像素作为平面先验。强制每个超像素内的一个平面对预测的深度进行很好的拟合。在NYUv2和ScanNet上的大量实验表明,P2Net优于现有的方法。
代码:https://github.com/svip-lab/Indoor-SfMLearner
贡献
1.提取具有较大局部梯度的判别性关键点,并使用以每个点为中心的补丁作为其表示。
2.补丁匹配:提出一种基于补丁的扭曲方法,假设局部补丁内的像素具有相同的深度,从而实现更鲁棒的匹配。
3.平面正则化:使用超像素来表示均匀纹理或无纹理的平面区域,并对每个超像素内深度的一致性进行正则化。
算法流程
1.概述
P2Net包含两个可学习的模块:DeepthCNN和PoseCNN。DeepthCNN以目标图像It为输入,输出其对应的深度Dt。PoseCNN以源图像Is和目标图像It作为输入,并预测相对位姿Tt→s。利用预测的深度图Dt和相机运动Tt→s合成图像It',并使It'与It之间的光度一致性误差最小。
图1. 完整网络结构。
2.关键点提取
采用Direct Sparse Odometry(DSO)的选点策略。从具有大强度梯度的像素中采样。提取的DSO关键点示例如图2。
图2. 两种扭曲操作。a)简单的扭曲。b)基于补丁的扭曲。
3.基于补丁的多视图光度一致误差
从目标图像It中提取DSO关键点pti,基于点的扭曲过程首先将关键点反向投影到源图像Is。本文方法假设每个像素的窗口Ωtpi具有相同的深度。对于每个提取的关键点,将其与其局部支持区域Ωtpi以完全相同的深度扭曲,该过程可以描述为:
其中K为相机内参,D(pi)为点pi的深度。Ωtpi和Ωt→spi分别表示点pi在目标图象和源图象中的支持域。
定义关键点p = (x,y)的支持域Ωp是一个大小为N(设置为3)的局部窗口,
定义多视图光度一致误差是L1损失和结构相似度损失SSIM在支持区域上的组合,
It [p]表示It图像中p处通过双线性插值的像素值,α=0.85。
4.平面一致损失
输入图像I,首先从图像中提取超像素,只保留大于1000像素的区域。SPPm表示从图像中提取的超像素,D(pn)对应其深度,将所有的点pn反向投影到三维空间,
p3Dn表示pn在空间中的。可以定义平面Am,
用最小二乘法拟合平面参数Am,
其中Ym = 1=[1,1,…,1]T,Pn =[p3D1,p3D2 … p3Dn]T,E是单位矩阵,ε是数值稳定性标量。拟合超像素内每个像素的平面深度为D'(pn),然后添加另一个约束来强制每个超像素内的低平面拟合误差。
其中M为超像素个数,每个超像素的像素个数为N。
5.损失函数
在完整的深度图上使用边缘感知的平滑损失,
完整的损失函数如下,分别设置λ1=0.001,λ2=0.05。
主要结果
表1. NYUv2数据集深度评估。PP为评估中左右翻转增强的最终结果。
表2. NYUv2数据集法线评估。
表3. 消融实验。
图3. NYUv2数据集深度图。
如果你对本文感兴趣,想要下载完整文章进行阅读。