多视图立体匹配论文分享:P-MVSNet

作者:Shelo

来源:微信公众号|3D视觉工坊(系投稿)

3D视觉精品文章汇总:https://github.com/qxiaofan/awesome-3D-Vision-Papers/

 

论文题目:P-MVSNet: Learning Patch-wise Matching Confidence Aggregation for Multi-View Stereo

论文地址:在公众号「3D视觉工坊」,后台回复「P-MVSNet」,即可直接下载。

多视图立体匹配论文分享:P-MVSNet

 

1.文章概述

本篇文章是ICCV 的一篇文章,讨论的是从多张RGB图和摄像机参数中,预测深度图并生成点云的问题。该篇文章依然是在继MVSNet之后,对代价体部分进行了改进,从而在一定程度上提高了点云结果的完整性和准确性。

本文的主要创新点在于提出了基于区域匹配置信的代价体,通过学习的方式将每个假想面上的特征匹配置信聚合变为一个向量而非常量。从而提高立体匹配的准确度。

2.研究方法

该种方法主要分为以下三个模块:特征提取,学习居于匹配置信,预测深度图。下文将分别介绍。

多视图立体匹配论文分享:P-MVSNet

 

图1. P-MVSNet结构

1)特征提取

不同于以往的特征提取,本文将特征提取分为两个层级:L1和L2。L1层级只作用于参考图像,通过一个3D的编码解码器,抽象出的L1特征,用于最终指导形成高分辨率的深度图。L2层级则作用于除参考图像外的所有其他图像,通过3D编码器提取特征。L2层级特征将用于建立匹配置信体。

2)学习局域匹配置信

学习匹配置信分为两个步骤,首先使用上一步中得到的L2层级特征以及对应的摄像机参数,建立像素的匹配置信体。然后通过学习的方式建立区域匹配置信,以此增强匹配的鲁棒性和准确性。

像素的匹配置信通过标准的平面扫描立体方法建立,定义为M=M(d,p,c),代表了第C个特征通道在特征图F0以及临近的特征图中像素P的匹配置信。计算公式如公式1所示:

多视图立体匹配论文分享:P-MVSNet

 

公式1 像素匹配置信计算

计算了像素的匹配置信后,我们通过学习的方式来计算区域匹配置信。该学习过程可以用两个公式来表示,该过程中,将像素p在深度区间d所对应的区域置信体定义为M*=M*(d,p,c)。计算过程如公式2所示:

多视图立体匹配论文分享:P-MVSNet

 

公式2 区域匹配置信计算

其中Ω1(﹒)定义为在假想平面以p为中心的3*3区域,Ω2(﹒)则定义为相邻的三个假象平面的集合。ρ1、ρ2、ρ3则是一些可学函数,具体参数设置可参考原文。最后,文章使用Tanh来正则化置信体。

3)深度图预测

在深度图预测部分,作者使用了3D U-Net来从上一步的结果中得到潜在的概率体,定义为V2,具体参数如图2所示。

多视图立体匹配论文分享:P-MVSNet

 

图2 3D U-Net结构

得到潜在概率体V2后,文章采用了类似于MVSNet中计算深度图的方式,通过softMax操作来从潜在概率体V2中计算最终预测深度图的概率体P2。最终每个像素的深度是通过将每个深度d通过P2加权平均取得。计算公式如公式3所示:

多视图立体匹配论文分享:P-MVSNet

 

公式3 深度图计算公式

以上计算的深度记为Dl2深度,对应之前的L2特征层级,但因为在实际中,L2层级往往是低分辨率的,所以本文同时计算了Dl1深度,对应前文的L1特征层级,在得到L1层级的特征图后,将其与上采样的V2级联,之后按照类似于Dl2的计算方法,同样计算出Vl1、Pl1和DL1。

4)Loss方程

Loss方程使用的是真实值和预测值之间的绝对误差,同时考虑了Dl1和Dl2两个方面,公式如下:

多视图立体匹配论文分享:P-MVSNet

 

公式4 Loss方程

3.实验结果

本文依旧是在DTU和Tanks&Temples上进行训练和测试,本文给出了在DTU数据集上的测试定量结果。

多视图立体匹配论文分享:P-MVSNet

 

图3 实验定量结果

多视图立体匹配论文分享:P-MVSNet

 

图4 重建结果1

多视图立体匹配论文分享:P-MVSNet

 

图5 重建结果2

可以看出,在完整性上,本文有了一定的提升,但是在平均准确率上,与MVSNet相差不是很多。

备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区

本文仅做学术分享,如有侵权,请联系删文。

论文题目:P-MVSNet: Learning Patch-wise Matching Confidence Aggregation for Multi-View Stereo

论文地址:在公众号「3D视觉工坊」,后台回复「P-MVSNet」,即可直接下载。

多视图立体匹配论文分享:P-MVSNet

 

1.文章概述

本篇文章是ICCV 的一篇文章,讨论的是从多张RGB图和摄像机参数中,预测深度图并生成点云的问题。该篇文章依然是在继MVSNet之后,对代价体部分进行了改进,从而在一定程度上提高了点云结果的完整性和准确性。

本文的主要创新点在于提出了基于区域匹配置信的代价体,通过学习的方式将每个假想面上的特征匹配置信聚合变为一个向量而非常量。从而提高立体匹配的准确度。

2.研究方法

该种方法主要分为以下三个模块:特征提取,学习居于匹配置信,预测深度图。下文将分别介绍。

多视图立体匹配论文分享:P-MVSNet

 

图1. P-MVSNet结构

1)特征提取

不同于以往的特征提取,本文将特征提取分为两个层级:L1和L2。L1层级只作用于参考图像,通过一个3D的编码解码器,抽象出的L1特征,用于最终指导形成高分辨率的深度图。L2层级则作用于除参考图像外的所有其他图像,通过3D编码器提取特征。L2层级特征将用于建立匹配置信体。

2)学习局域匹配置信

学习匹配置信分为两个步骤,首先使用上一步中得到的L2层级特征以及对应的摄像机参数,建立像素的匹配置信体。然后通过学习的方式建立区域匹配置信,以此增强匹配的鲁棒性和准确性。

像素的匹配置信通过标准的平面扫描立体方法建立,定义为M=M(d,p,c),代表了第C个特征通道在特征图F0以及临近的特征图中像素P的匹配置信。计算公式如公式1所示:

多视图立体匹配论文分享:P-MVSNet

 

公式1 像素匹配置信计算

计算了像素的匹配置信后,我们通过学习的方式来计算区域匹配置信。该学习过程可以用两个公式来表示,该过程中,将像素p在深度区间d所对应的区域置信体定义为M*=M*(d,p,c)。计算过程如公式2所示:

多视图立体匹配论文分享:P-MVSNet

 

公式2 区域匹配置信计算

其中Ω1(﹒)定义为在假想平面以p为中心的3*3区域,Ω2(﹒)则定义为相邻的三个假象平面的集合。ρ1、ρ2、ρ3则是一些可学函数,具体参数设置可参考原文。最后,文章使用Tanh来正则化置信体。

3)深度图预测

在深度图预测部分,作者使用了3D U-Net来从上一步的结果中得到潜在的概率体,定义为V2,具体参数如图2所示。

多视图立体匹配论文分享:P-MVSNet

 

图2 3D U-Net结构

得到潜在概率体V2后,文章采用了类似于MVSNet中计算深度图的方式,通过softMax操作来从潜在概率体V2中计算最终预测深度图的概率体P2。最终每个像素的深度是通过将每个深度d通过P2加权平均取得。计算公式如公式3所示:

多视图立体匹配论文分享:P-MVSNet

 

公式3 深度图计算公式

以上计算的深度记为Dl2深度,对应之前的L2特征层级,但因为在实际中,L2层级往往是低分辨率的,所以本文同时计算了Dl1深度,对应前文的L1特征层级,在得到L1层级的特征图后,将其与上采样的V2级联,之后按照类似于Dl2的计算方法,同样计算出Vl1、Pl1和DL1。

4)Loss方程

Loss方程使用的是真实值和预测值之间的绝对误差,同时考虑了Dl1和Dl2两个方面,公式如下:

多视图立体匹配论文分享:P-MVSNet

 

公式4 Loss方程

3.实验结果

本文依旧是在DTU和Tanks&Temples上进行训练和测试,本文给出了在DTU数据集上的测试定量结果。

多视图立体匹配论文分享:P-MVSNet

 

图3 实验定量结果

多视图立体匹配论文分享:P-MVSNet

 

图4 重建结果1

多视图立体匹配论文分享:P-MVSNet

 

图5 重建结果2

可以看出,在完整性上,本文有了一定的提升,但是在平均准确率上,与MVSNet相差不是很多。

备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区

本文仅做学术分享,如有侵权,请联系删文。

posted @ 2021-01-07 20:14  3D视觉工坊  阅读(448)  评论(0编辑  收藏  举报