前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >84. 三维重建19-立体匹配15,端到端立体匹配深度学习网络之代价体的计算和正则化

84. 三维重建19-立体匹配15,端到端立体匹配深度学习网络之代价体的计算和正则化

作者头像
HawkWang
发布2023-09-01 10:09:55
3020
发布2023-09-01 10:09:55
举报
文章被收录于专栏:计算摄影学计算摄影学

在我的上一篇文章83. 三维重建18-立体匹配14,端到端立体匹配深度学习网络之特征计算中,我为你介绍了基于深度学习的立体匹配算法的最新思想:端到端的立体匹配网络。具体来说我提到这类网络有两类形式:

一类是大力出奇迹,通常直接将输入的左视图和右视图在输入时就合并在一起。如果输入图像是3通道彩色图像,那么我们将得到一个6维的张量。然后,这类方法通常会构造一个Encoder-Decoder结构的网络,然后再利用输入的Ground Truth视差图,直接进行硬回归。

第二类方法则把整个立体匹配流程依然像传统算法一样分为多个阶段。所不同的是,每一阶段都用可以微分的函数来实现,这就使得它们可以参与反向传播优化,也就使得整个立体匹配可以用端到端的深度学习网络来实现。我最感兴趣的是这一类方法,那么上一讲中也已经介绍了其中“特征学习”这部分的内容。

今天我要描述的是其中的第二个部分“代价立方体的估计与正则化”,无论是传统立体匹配算法,还是基于深度学习的分离式算法,以及我们现在在描述的端到端的立体匹配算法,代价立方体的估计与正则化都是我认为最重要的步骤之一。所以希望今天这篇文章能为感兴趣的朋友带来深入的启发

在开始之前,还是让我们再看看我们目前的位置:

那么我们就开始吧~

一. 总体思想概览

1.1 回顾经典立体匹配算法流程

让我们再次回顾经典立体匹配算法的流程(70. 三维重建5-立体匹配1,立体匹配算法总体理解)

先来看看上图中的代价计算:在我们进行立体匹配时,我们从左图上选择一个像素点,在右图极线上的一个视差范围D内寻找匹配点

在这个过程中,我们会对每一个潜在的匹配点对之间计算一个匹配代价。这样对同一个左图上的像素点,在视差范围内就会构成D个匹配代价,那么对于WxH个像素点,我们就得到了WxHxD个匹配代价——这就是所谓的代价立方体

对任何一个像素点,理论上我们会取出代价最小的视差值作为最终的匹配视差,这就是所谓的WTA过程(Winner Take All)

不过,由于图像上的噪声和各种干扰(见70. 三维重建5-立体匹配1,立体匹配算法总体理解的第二节),直接进行WTA计算效果并不好。所以一般的做法是先进行代价聚合,或又称为代价立方体的正则化过程,减轻噪声和干扰的影响。我在文章71. 三维重建6-立体匹配2,立体匹配中的代价聚合中描述了很多传统的代价聚合方案。

1.2 计算代价立方体的范式

在进入今天的讲解前,先让我们看看代价立方体构造和聚合的基本范式。首先,判断左右图两个像素是否匹配时,我们并非直接对它们进行像素对之间的比较:

我们采用的做法是构造它们所在的支持窗,然后在支持窗之间进行比较,比如最简单的固定窗口大小的支持窗如下,当然也有更复杂的可变形的支持窗——对应于我们深度学习的术语,就是不同形状、尺寸、权重分布的感受野。

既然支持窗中有不止一个像素,而且像素可能有不止一个颜色通道,那么我们就是在进行多个像素之间的代价计算,这种计算既可以输出一个表示代价的标量值,也可以输出一个代表代价的向量,这也意味着我们的代价立方体可以是WxHxD这样的三维几何体,也可以是四维几何体(维度可以是WxHxDx代价向量维度等多种形态),我将可能的部分计算方法也列在了下面的图中,这个范式无论对于传统算法,还是基于深度学习的算法都是成立的。

所以,对于我们基于深度学习的端到端立体匹配网络来说,我们一共就有三种形态的代价立方体:

  1. 3D
  2. 4D
  3. 3D+4D混合

接下来,我就分别为大家介绍端到端立体匹配网络中这三类代价立方体的构造和聚合。

二. 3D代价立方体

2.1 3D代价立方体的构建

2.1.1 通过手动构造的算子计算匹配代价

对于3D代价立方体,一般可以通过输入的特征图中的对应特征之间的各种手动构造的算子来计算,比如L1、L2,或是相关度等。与我们在81. 三维重建16-立体匹配12,深度学习立体匹配之 MC-CNN和82. 三维重建17-立体匹配13,深度学习立体匹配的基本网络结构和变种中介绍的一个个Patch独立计算相似度不同的是,我们希望一次推理能够计算左右两张图的所有对应像素的匹配代价,从而可以构造代价立方体。

考虑到这些算子都有很多相似性,我特别介绍其中一种典型的算子:相关算子。

较早在网络中引入相关算子是在下面这篇介绍FlowNet的论文[2]中

FlowNet是为了从两幅图中获取光流,而不是视差。光流本身是二维的(对于不熟悉的朋友,你可以理解为在横纵两个方向上都有视差),所以在这篇文章中作者引入了一种二维的相关运算:对于待匹配的点x1和x2,它们间的相关性可以这样计算,其中点所在的Patch的边长为K = 2k + 1

如果特征向量的维度为c,那么计算一次上面的结果需要cK^2次乘法。如果不限制x1和x2的坐标,那么对于宽高为w和h的一对图来说,计算每个元素的相关度需要w2h2 * cK^2次乘法——这显然是一个很大的计算量。所以,一般会限制x2的位置在x1的坐标附近不超过边长为D的范围内。为了进一步减轻计算量,作者在特征图上水平和纵向以一定的stride来采样,这样最终会构成一个四维的代价立方体,作者将第四维和第三维合并。在不考虑stride时,这个代价立方体的维度就是wxhxD^2。

我们可以看看这篇文章中提出的光流网络FlowNetCorr的结构图,Corr这个后缀代表它使用了相关算子。咱们现在讲的是立体匹配而不是光流,所以也许有一些朋友不太熟悉。没有关系,我们只需要看到这幅图中有一个双尾单头的黄色箭头,上面写着corr的,就是指在用这个相关算法来计算代价立方体了。

我之所以提到FlowNet中的2D相关运算,是因为有好些个立体匹配的论文参考了FlowNet,构造了1D的相关运算。比较典型的论文是下面这篇[3]

这个文章使用Blender等渲染引擎工具,构造了3个较大的数据集(FlyingThings3D,Monkaa ,Driving),可供研究光流、视差、场流。

这个数据集不是我们介绍的重点,关键是这篇文章为了展示该数据集的用途,构造了几种网络结构用于根据数据集中的输入图像估计光流、视差、以及场流,而且就是基于我们上面提到的FlowNet的基本结构来构建的。

考虑到视差仅仅是一维的,所以这里作者就构建了所谓的一维相关算子,并在此基础上构建了一个网络结构叫做DispNetCorr,它的基本结构跟FlowNetCorr一模一样,只不过把二维相关换成了一维相关。在特征图上,作者最大考虑了40个像素的视差——这对应这原图中的160个像素的视差。对于立体匹配来说,这已经是一个很大的视差值了。一维相关运算比二维的相关运算快很多,这也就使得作者可以考虑这么大的视场范围,还能够得到比二维相关运算更精细的细节,毕竟可以不再用stride=2去隔点采样。

这篇文章很有名,所以后续有好多文章都参考了它,使用一维相关算子来整合输入的两路甚至多路特征图构建代价立方体,我们随便看几个。

比如2018年ECCV上的这篇文章[4]介绍了一种叫做SegStereo的架构,大家仔细看里面有好些个重要机构:清华大学、香港中文大学、商汤、腾讯,最后一位作者相信很多人都知道:)

我们来看看他们这篇文章提出的网络结构图,可以看到他们就是把输入的左右两幅特征图,经过相关运算,构成所谓的相关图(Correlation Map),实际上就是一个代价立方体。在文章的图注中,作者也明确说道:We calculate the cost volume Fc via the correlation operator

在文章中,作者还提到The cost volume features for stereo matching Fc are computed by correlation layer between Fl and Fr, similar to that of DispNetC, 这里的DispNetC就是上面我们提到的论文[3]

上海交大的学者在2018年提出的EdgeStereo,也用到了相关层:

好了,利用相关运算来构建3D代价立方体就是这样的,我们可以写个伪代码如下:)

从伪代码及上面的讲解,我们看到相关算子最妙的地方是它没有需要通过学习才能得到的权重参数,因此不需要训练。

2.1.2 通过特殊网络来构建代价立方体

正如我在82. 三维重建17-立体匹配13,深度学习立体匹配的基本网络结构和变种中介绍的一样,我们不仅可以使用相关算子等手动构造的方式来计算代价立方体,也可以用一些特殊的决策网络来计算匹配代价,构造代价立方体。早期的MC-CNN-acrt就是一个典型代表,只不过当时只能一个个Patch的计算相似度,效率不高。

之前提到的下面这篇文章[5],则对每一对Patch,用一个网络计算了两路输出的匹配代价:

这两路匹配代价,一路是将两个特征向量连接起来,通过全连接层得到一个标量结果;另一种是直接计算两个特征向量的点积,得到另一个标量结果。这两个结果都可以作为匹配代价,输入到后续的视差估计模型中,这个网络被作者称为Constant Highway Network。虽然我们看它似乎也是在一个个独立的Patch对之间计算匹配代价,但是只要把全连接操作替换为了1x1的卷积操作,就可以输入整个特征图,用于一次性计算代价立方体,比如下面这篇文章[6]就是这样做的。

总之,我们看到对于3D代价立方体,可以通过相关算子层来进行无需学习的构建,也可以用需要学习权重的网络来构建。

那么接下来我们看看3D代价立方体的聚合,即所谓的正则化过程。

2.2 3D代价立方体的聚合(正则化)

2.2.1 利用传统代价聚合算法的可微分版本

正如我之前讲代价聚合时所阐述的,传统方法中,经常会采用马尔科夫随机场(Markov Random Fields - MRF)、条件随机场(Conditional Random Fields - CRF)、半全局匹配(Semi-Global Matching - SGM)这类方法来正则化代价立方体。而在深度学习时代,人们很自然的就将这类方法做了适当的改进,用于代价立方体的聚合。

我们先来看一个CRF进行代价聚合的基本原理示例。

条件随机场(Conditional Random Field,CRF)是一种概率模型,通常用于在给定某些观察数据的情况下,进行标签序列的预测。它是一种无向图模型,也就是说它描述的是多个随机变量之间的依赖关系,但并不指定这种依赖关系的方向。在立体匹配中,CRF通常用于模拟图像像素之间的相关性,并利用这种相关性来提升视差图的质量。

在立体匹配的场景中,CRF通常构建为像素网格,其中每个像素对应一个节点,节点上的标签就是视差值,相邻像素间的边代表了这些像素之间的关系。给定一张图片和对应的视差图,我们可以计算每个像素在每个可能视差下的代价,也就是在这个视差下该像素不符合匹配约束的程度。这个代价就是CRF中每个节点上的"一元"势能。

此外,还有"二元"势能,表示两个相邻像素的标签(也就是视差值)同时取某两个值的代价。通常,我们期望在没有深度跳变的地方,相邻像素的视差值应该很接近,因此二元势能会倾向于惩罚相邻像素视差值差别较大的情况。

然后,给定一张图片,CRF的目标就是找到一个视差图,使得所有节点的一元势能和所有边的二元势能的和最小。这个过程就是所谓的能量最小化,通常可以通过诸如图割、坐标下降、信念传播等优化算法进行求解。

端到端的深度学习立体匹配网络中也可以引入CRF模块进行代价聚合。比如下面这篇文章[7]就构建了一种混合CNN和条件随机场CRF的模块,用于代价立方体的聚合。首先用相关算子构造代价体,然后用可微分的CRF进行聚合。大家看图上相关运算后的代价作为CRF模块的一路输入,我可以认为这是上面提到的一元势能,另外一路上面写着"Contrast Sensitive/Pairwise CNN"的则是用于计算相邻像素间的二元势能的,是CRF的另外一路输入,而图中CRF是一个网络实现的可微分的条件随机场,

再来看看一个MRF进行代价聚合的基本原理示例

马尔科夫随机场(MRF)是一种用于建模随机变量之间相互关系的图模型。在立体匹配问题中,MRF通常用于建模像素或像素区域(例如,超像素或像素块)之间的关系,以便在保留图像细节的同时,提供连续、光滑的视差图。

对于立体匹配问题,我们通常使用一个MRF模型来建立一个优化问题。在这个模型中,每一个像素都有一个对应的随机变量,其取值为可能的视差值。在MRF模型中,我们引入一种称为“能量函数”的概念,该函数是所有变量配置的代价度量。在立体匹配问题中,这个能量函数通常包括两个部分:

  1. 数据代价: 这是一个测量像素与其对应视差下的匹配程度的函数。 对于每个像素和每个可能的视差值,我们可以计算一个数据代价,比如基于像素之间的颜色差异或者更复杂的特征差异。
  2. 平滑度代价: 这个代价项旨在鼓励邻近像素有相似的视差值,从而使生成的视差图在保留图像边缘的同时,更为平滑连续。这是通过对视差图中的每个相邻像素对引入一个平滑度代价来实现的。

所以,MRF模型的主要目标就是找到一个视差图,它能最小化整个能量函数。通常情况下,这是一个NP难问题,我们需要使用近似算法来求解,比如像图割、信念传播等。

对于基于深度学习的立体匹配算法,通常也可以利用MRF模型来进行正则化或代价聚合。深度网络可以学习像素间的相互关系,以自动构建数据成本和平滑度成本,而无需人工设定。这也就意味着深度学习方法可以适应更复杂、更多样化的场景,进一步提高立体匹配的精度。

下面这篇文章[8]把将MRF中的推理公式化为可微函数,从而允许使用反向传播进行端到端训练。

这些在网络中集成正则化算法的可微版本的方式,在我看来都是比较复杂的,掌握它们需要较多的数学知识。但从效果上来看,不见得有后面讲的纯卷积方式好,所以我更喜欢下面我将讲述的方法。

2.2.2 利用2D卷积进行代价聚合

在我的理解中,代价聚合本质上是一个对局部范围内的代价值进行加权平均的过程,这就比较好用卷积操作来实现了,比如下面两种结构就是经典的聚合过程。图中每个小格子代表一个像素,红色是正在处理的像素,蓝色像素的代价值会聚合到红色像素中。左图是仅仅在空间上进行聚合,不考虑视差方向上代价的关联。而右图则是既要在空间上进行加权,也要在视场方向上加权,通常用循环网络来实现。

对应左图的典型代表是前面提到的FlowNetC和DispNetC,你可以看到当我们用相关运算层获取了代价立方体后,接下来就是常规的一系列2D卷积,每次卷积层操作后输出的依然是一个3D的代价立方体。

咱们国防科大在2017年的下面这篇文章[9],大家也很明显能从中看到相关层(紫色)获取代价立方体之后就是2D卷积层(蓝色)

在空域上用2D卷积来进行代价聚合似乎是一个常规操作,而同时还在深度域上进行聚合则能够考虑到更进一步的信息,比较有意思的是下面这篇2019年的文章[10],你可以观察我专门标注出来的地方,作者对通过卷积层聚合的代价立方体进一步用卷积GRU在深度方向进行聚合。

总之,利用2D卷积进行代价聚合,是最容易理解和实现的方式。然而,单次卷积操作时聚合的信息来源是2D的,这就使得网络无法使用一些更高维度的信息。所以下面我们再看看使用3D卷积进行代价聚合的方案。

2.2.3 利用3D卷积进行代价聚合

下面是3D卷积代价聚合的示意图,可以看到聚合是同时在空域和视差域上进行的,跟上面那篇[10]的循环网络不一样。

这里面一个典型代表是Google在2018年发布的StereoNet[11],其中代价聚合采用了3D卷积,具体来说他们采用了几个3D卷积层对代价立方体进行滤波,以在空间和视差域内聚合上下文信息。他们使用的3D卷积滤波器大小为3 × 3 × 3,并在每层之后使用批量标准化(batch-normalization)和Leacky ReLU激活函数。最后,他们又应用了一个不使用批量标准化或激活函数的3 × 3 × 3卷积层,该层输出每个像素及候选视差处的一维输出

对于习惯于阅读代码的朋友来说,下面可能更加清晰:

由于这里输入输出都是3D的代价立方体,所以其中的3D卷积就只是在空间、视差上滑动进行,具体实现如下:

我们小结一下3D卷积和2D卷积两类代价聚合的优缺点:

三. 4D代价立方体

3.1 构造4D代价立方体

下面我们再来看看4D代价立方体。在我们计算匹配代价时,相关运算实际上丢弃了特征的维度,无论多少维的特征经过相关运算后都成为了一个标量,也就是一个数。而4D代价立方体则相反,会保留特征的维度。背后的原理是让顶层网络学习适当的相似性度量来比较特征,而不是使用手工制作的度量方式(例如相关算子),下面我们来看一些例子。

首先是CMU在2019年发表的下面这篇文章[12],这里提到了利用特征金字塔提取图像的不同层次的特征,然后构造所谓的Feature Volume,具体来说就是比较左右图在扫描线上所有可能视差范围上的特征的差,这样构成的Feature Volume就是4D的立方体。

另外一种构造4D代价立方体的方式是直接连接左右两图在潜在视差上的特征图,比如[13]就这样做的:

通过相应地连接从左图像和右图像中提取的学习特征来构建交叉特征体积。蓝色矩形表示来自左图像的特征图,堆叠的橙色矩形集表示从0到预设视差范围D的遍历的右特征图。不同的强度对应于不同的视差水平。请注意,左侧特征图复制D+1次,以匹配遍历的右侧特征图。仔细看下面的伪代码,唯一区别就是把特征的差异变成了连接。

总之,与3D代价相比,4D代价包含更丰富的信息。不过在4D代价立方体中没有包含特征相似度的信息,所以后面就需要更多的参数来学习特征相似度,这也使得网络总体上更加的复杂一些。

3.2 聚合4D代价立方体

这里我们讲几种典型的方式对4D代价立方体进行聚合

3.2.1 常规的利用3D卷积进行聚合

最直接的方式是使用3D卷积对4D代价立方体进行聚合,就像我们之前讲的利用2D卷积对3D代价立方体进行聚合一样,比如2017年的文章[14]一样

下面是这篇文章的伪代码和描述:

3.2.2 利用双流网络提供半全局的信息来进行代价聚合

这里的一个典型代表是北京理工学院在2018年发表的[15],它的图示如下

仔细看图中的聚合模块,我们能观察到这个两流网络包括提议网络和指导网络,前者负责生成初步的代价聚合,后者则提供上下文信息以指导代价聚合的过程。然后,聚合后的立方体被用于计算视差,由于这里有了上下文的信息,所以我们可以认为就有了一定的全局信息。我们还能观察到紫色的3D卷积块是在不同的方向上进行3D卷积

用伪代码描述的话,大概是这个样子

3D卷积的计算量很大,特别是用于处理4D代价立方体时,计算量就更大了。所以包括文章[14]在内的很多文章都在试图降低对计算量的要求,主要的手段包括了 1) 减少3D卷积层的数量,(2)逐步细化代价体和视差图 以及(3)压缩4D代价立方体。下面,我们将讨论这些方法

3.2.3 通过减少3D卷积层来降低计算量

让我们先看看牛津大学和百度在2019年提出的GA-Net[16],它用两个3D卷积层、半全局聚合层(SGA)和局部引导聚合层(LGA)替换了正则化块中的大量3D卷积层。SGA是半全局匹配(SGM)的可微近似。与SGM不同,在SGA中,用户定义的参数是可学习的。此外,它们被添加为匹配成本项的惩罚系数/权重。因此,它们在不同的位置对不同的情况具有适应性和灵活性。另一方面,LGA层附加在末端,旨在学习视差图中精细的结构和边缘信息。SGA和LGA层用于取代昂贵的3D卷积来捕获局部和整个图像的代价关系。它们显著提高了在具有挑战性的区域(如遮挡、大的无纹理/反射区域和微细结构)中视差估计的准确性。

3.2.4 逐步细化代价体和视差图

一些技术避免使用昂贵的3D卷积来直接正则化高分辨率4D代价立方体。相反,他们以渐进的方式运作。例如,文章[17]介绍了PSM-Net,它首先估计低分辨率4D代价立方体,然后使用一种3D编码器-解码器块对其进行正则化。每个块都返回3D代价立方体,然后对其进行上采样,并使用附加的3D卷积层和softmax算子来回归高分辨率视差图。

3.2.5 压缩4D代价立方体

文章[18]通过将特征压缩为紧凑的匹配签名,减少了内存使用,而不必牺牲准确性。因此,内存占用空间显著减少。更重要的是,它允许网络处理任意数量的多视点图像,并在运行时改变输入数量,而无需重新训练网络。

作者称呼这个方法为PDS,还和别的一些同时期发表的文章做了细致的对比,可以看到在参数量和内存占用方面都是很小的,且视差质量上排名也很高。

现在我们小结一下4D代价立方体的聚合方式

四. 混合3D-4D代价立方体

我们之前讲到相关运算不需要训练即可计算匹配代价,自然占用少,计算快。然而它也丢失了一些信息,因为它把多维的特征压缩为了一个标量。另外一方面,4D代价立方体又过于复杂,耗费大量的资源。于是我们自然而然的就会想:是否将这二者的优点结合起来呢?

文章[19]做出了肯定的回答——作者提出了一种混合方法,该方法构建了两个代价体;一个通过特征级联为4D代价立方体,但使用两个卷积压缩为12个通道。第二个是通过沿着特征通道将高维特征图划分为Ng组,在所有视差级别计算每个组内的相关性,并最终将相关性图连接起来形成另一个4D代价立方体来构建的。然后将这两个代价体组合在一起,并传递到由四个3D卷积层组成的3D正则化模块,然后是三个堆叠的3D沙漏网络。与仅通过特征串联构建的4D代价立方体相比,这种方法显著减少了参数,而不会丢失太多信息(如完全相关性)

分组相关量非常像文章[17]描述的PSMNet的做法,只不过删除了不同hourglass块和输出块之间的快捷连接,因此可以在推理过程中删除输出模块0,1,2以节省时间。

五. 总结

今天我们讲了三种代价立方体的计算方式和正则化方式,基本上是第文章[1]中关于代价立方体的构建和聚合过程的粗略讲解,我把信息总结到了下面的图中供你参考,感兴趣的朋友还可以阅读文章[1]获取更多的信息。

总体来说,我认为端到端的立体匹配算法里面,代价聚合是最重要的一个环节,正如在传统立体匹配算法中一样。如果你也正在研究立体匹配算法,那么这个环节需要投入足够多的时间和精力去重视。不过我们并不止步于此,我会很快给大家讲解后面的几个步骤

最后看看我们的路标,别忘了收藏、点赞、关注三连哦:)

六. 参考资料

  1. Hamid Laga, Laurent Valentin Jospin, Farid Boussaid, and Mohammed Bennamoun. (2020). A Survey on Deep Learning Techniques for Stereo-based Depth Estimation. arXiv preprint arXiv:2006.02535. Retrieved from https://arxiv.org/abs/2006.02535
  2. A. Dosovitskiy, P. Fischer, E. Ilg, P. Hausser, C. Hazirbas, V. Golkov, P. Van Der Smagt, D. Cremers, and T. Brox, “FlowNet: Learning optical flow with convolutional networks,” in IEEE ICCV, 2015, pp. 2758–2766.
  3. N. Mayer, E. Ilg, P. Hausser, P. Fischer, D. Cremers, A. Dosovitskiy, and T. Brox, “A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation,” in IEEE CVPR, 2016, pp. 4040–4048
  4. G. Yang, H. Zhao, J. Shi, Z. Deng, and J. Jia, “SegStereo: Exploiting semantic information for disparity estimation,” in ECCV, 2018, pp. 636–651
  5. A. Shaked and L. Wolf, “Improved stereo matching with constant highway networks and reflective confidence learning,” in IEEE CVPR, 2017, pp. 4641–4650.
  6. Z. Jie, P. Wang, Y. Ling, B. Zhao, Y. Wei, J. Feng, and W. Liu, “Left-Right Comparative Recurrent Model for Stereo Matching,”in IEEE CVPR, 2018, pp. 3838–3846
  7. P. Knöbelreiter, C. Reinbacher, A. Shekhovtsov, and T. Pock, “End-to-end training of hybrid CNN-CRF models for stereo,” in IEEE CVPR, 2017, pp. 1456–1465.
  8. D. Paschalidou, O. Ulusoy, C. Schmitt, L. Van Gool, and A. Geiger, “RayNet: Learning Volumetric 3D Reconstruction With Ray Potentials,” in IEEE CVPR, June 2018, pp. 3897–3906
  9. Z. Liang, Y. Feng, Y. G. H. L. W. Chen, and L. Q. L. Z. J. Zhang, “Learning for Disparity Estimation Through Feature Constancy,”in IEEE CVPR, 2018, pp. 2811–2820
  10. Y. Yao, Z. Luo, S. Li, T. Shen, T. Fang, and L. Quan, “Recurrent MVSNet for High-Resolution Multi-View Stereo Depth Inference,” in IEEE CVPR, 2019, pp. 5525–5534.
  11. S. Khamis, S. Fanello, C. Rhemann, A. Kowdle, J. Valentin, and S. Izadi, “StereoNet: Guided hierarchical refinement for real-time edge-aware depth prediction,” ECCV, 2018.
  12. G. Yang, J. Manela, M. Happold, and D. Ramanan, “Hierarchical Deep Stereo Matching on High-Resolution Images,” in IEEE CVPR, 2019, pp. 5515–5524
  13. Y. Zhong, Y. Dai, and H. Li, “Self-supervised learning for stereo matching with self-improving ability,” arXiv:1709.00930, 2017
  14. A. Kendall, H. Martirosyan, S. Dasgupta, P. Henry, R. Kennedy, A. Bachrach, and A. Bry, “End-to-end learning of geometry and context for deep stereo regression,” IEEE ICCV, pp. 66–75, 2017
  15. L. Yu, Y. Wang, Y. Wu, and Y. Jia, “Deep Stereo Matching with Explicit Cost Aaggregation Sub-architecture,” AAAI, 2018
  16. F. Zhang, V. Prisacariu, R. Yang, and P. H. Torr, “GA-Net: Guided Aggregation Net for End-to-End Stereo Matching,” in IEEE CVPR, 2019, pp. 185–19
  17. J. Chang and Y. Chen, “Pyramid Stereo Matching Network,” IEEE CVPR, pp. 5410–5418, 2018
  18. S. Tulyakov, A. Ivanov, and F. Fleuret, “Practical Deep Stereo (PDS): Toward applications-friendly deep stereo matching,”NIPS, pp. 5871–5881, 2018
  19. X. Guo, K. Yang, W. Yang, X. Wang, and H. Li, “Group-wise Correlation Stereo Network,” in IEEE CVPR, 2019, pp. 3273–3282
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算摄影学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档