您的位置:首页 > 其它

End-to-End Learning of Geometry and Context for Deep Stereo Regression

2017-05-23 17:23 791 查看

代码Keras: https://github.com/LinHungShi/GCNetwork

摘:

使用深度特征表示组成成本向量,充分利用3D卷积提取上下文的纹理信息。深度值以差分softargmin操作相规范化,没有额外的预处理或者正则化得到一种端到端的方法

1.介:

立体匹配算法应该看重全局,而非局部。比如车窗,如果以整辆车的视角去看,那么就不怎么会出现问题,而如果以局部车窗去看这个物体,就容易出问题。本篇展示了如何利用端到端的立体匹配模型,从而理解更加广泛的文本信息。这个模型可以学习语义信息和上下文信息。还有差分softmax可以从视差成本向量中聚合至亚像素视差值。

2.相关工作:

立体匹配几步走:匹配成本计算,成本支撑聚合,视差计算和最优化,视差refinement。

匹配成本就是对应图像位置上像素不相似的衡量值。

1-D correlation近似于立体成本向量(dispnet表示不服),这个成本向量啊,连接了单张图片的卷积特征和由一系列的卷积跟着。本文算法不降低特征维度。用3D卷积来传播信息。

本次工作无后处理,无规范化,纯天然。本文工作以3D卷积传递着数据中的信息,不学习可能的分布,成本函数或者分类结果。直接从立体图像对中regress到深度的亚像素估计。

3.学习端到端偏差回归

直接端到端从图像对到深度图。直接从原始数据中学习到最佳的成本。该方法旨在降低工程设计复杂性。形成我们的模型通过产生一个代表着传统立体匹配中每个主要元素的差分层,这将使得我们能够学习到整个的端到端模型。

3.1 一元特征

使用特征来进行立体匹配成本的计算而非原始像素。这个方法可以对光学外表更加鲁邦且可包含局部信息。

本文的深度表示模型由2D卷积构成。每个卷积层后面是归一化层和矫正非线性。卷积核大小为5,步长为2,下采样,为了简化计算。再附加八个残差块,每个残差快具有两个3×3的卷积核。如下图所示,将左右立体匹配图穿过这些层之后组成了一元特征。左右双塔共享参数则可以更加有效的学习相关特征。

3.2 成本量

使用深度一元特征来进行立体匹配成本的计算,这里介绍了成本量的部分。虽然原始的方法只是简单的组合左右特征,生成成本量是希望该模型能够保留住立体匹配的框架。每个立体匹配图片,成本量维度为高×宽×(最大偏移+1)×特征尺度。得到一个4维向量。

很关键,经过这些操作保存了特征维度,不像先前的工作使用一个点乘然后大面积消除特征维度。这让我们可以学习到特征上所包含的内容。我们发现以连接特征所构成的成本量提升了提取特征和使用距离尺的性能。我们的目标是保留特征一元,网络有机会学习绝对表示(因为这不是距离尺)并且将其穿过成本量。这给了网络学习语义的能力。相反,使用距离尺限制了网络,该网络只能够学习特征之间的关系而不能够将绝对特征表示穿过成本量。

3.3 学习内容

给定偏差成本向量,我们现在能够学习一个规范化函数,有能力将这个成本量中的内容进行考虑同时改善偏差估计。一元特征之间的匹配成本不可能非常的完美,甚至当使用一个深度特征表示的时候。比如说,在单一像素的区域(比如天空),这个成本曲线应该是在任何固定局部内容上任何特征上都是非常扁平的。因此,我们希望学习规范项同时提升这个成本量的性能。

打算使用三维卷积操作来滤波和改善这个表示。3D卷积是有能力学习长宽深维度的特征表示的。因为我们队每个一元特征都计算了成本曲线,我们能够从这个表示中直接学习到卷积滤波器。4.1节中,我们展示了3D滤波器在学习内容和提升立体效果上的重要性。



3D卷积的难点是额外的维度造成计算复杂。深度预测中设计的深度编解码任务应付编码过程中的计算负担,通过下采样特征映射时和编码过程和解码过程中的上采样。将该想法扩展为三维。以步长为2来下采样输入,因此以八倍速率降低了3D成本向量的尺寸。我们以4个下采样层来组成我们的3D规范化网络。

一元特征已经以2下采样了,特征总共以32的因子进行下采样。这就让我们以一个很宽泛的视野去明确的控制内容。我们采用两个3×3×3卷积串联进行每个编码过程。在原始输入分辨率上进行深度预测,我们采用3D转移卷积去对解码器中的向量进行上采样。整个的结构如上图所示。

当简化计算时,下采样在扩大每个特征的接受域时是非常重要的,然而,当分辨率的损失,同样也会降低空间准确性和精确的纹理细节。出于这样的原因,我们在上采样之前添加每个更高的分辨率的特征映射。这些残差层有得到更高频率信息的优势,当上采样特征层以一个更宽的视野提供了一个值得注意的特征映射。

最终,我们采用一个单3D卷积,以步长为2和单特征输出。这一层是非常必要的在原始输入维度上进行密度预测,因为特征以因素2进行下采样,最终的结果以尺寸HWD的大小进行规范化。

3.4 差分argmin

通常来说,立体算法从matching cost unaries产生了最终的cost volume。从成本量中可以以argmin操作估算出成本量的深度偏移量。然而,这个操作有两个问题:

其一,这是离散的,不能产生亚像素深度偏差估计

其二,这不是差分的因此不能够通过bp网络来训练(应该是存在梯度,可以后向传播,后向传播不就是传梯度么)。

为了克服这样的限制,定义了soft argmin。这是完全差分的,且有产生平滑深度估计的能力。首先,从cost volumn中提取出每个视差d的预测的成本。接着采用softmax操作来对视差维度上可能的向量规范化。以规范化之后的可能性作为权重对每个视差进行加权相加。定义如下:

softargmin:=d×(-Cd)

这个操作完全是差分的,让我们训练同时回归偏差估计。这里,我们展示如何将它应用到立体回归问题上。

然而,与argmiin操作相比,它的输出被所有值影响。这使得它易受多模型分布情况的影响。而不是估算所有模型的权重均值。为了克服这样的限制,我们将指望网络的规范性来产生偏差的可能性分布,主要是单峰的。网络也能够预规范匹配成本来控制规范化后softmax可能性的峰值。我们明确的省略最终卷积层的bn来让网络从数据中学习它。



argmin操作的图标描述。以每个偏差线为横轴,纵轴是argmin的输出估计,还有偏差softmmax估计还有偏差指数的点乘。a表示当曲线是单模式时,可以精确的捕捉到真实的argmin。b表示当数据是双模式时,即有峰有平区域时,是一个失败的例子。c表示如果网络学习对cost曲线进行预处理,那么失败将会消失,因为softmax可能性将会更加的极端化,产生出一个单模式的结果。(单模式和双模式不是很理解)

3.5 LOSS

端到端的从随机初始化训练整个的模型。我们以监督的方式来训练我们的模型。标签可能非常稀疏。因此,以每个标签像素上平均我们的损失。使用真值偏差和模型预测偏差的绝对错误作为最终的loss。定义如下:这是一个回归的问题。



4.3 model saliency

本文模型能够使用更加宽泛的纹理信息来更好的表示图像局部几何信息。下图,saliency map表示的是针对每个输入像素的输出敏感度。51中的方法暗示了预测视差图是occlude the input images的一种函数。通过点的视差来抵消每个图片中的occlusion。

种种迹象表明,给定点的视差预测取决于上下文区域的视野宽度。比如,车辆前面的视差取决于车辆的输入像素和它下方的路面。这表明本文模型有能力理解更宽的文本信息,而不是像之前深度学习方法只预测9×9局部块信息。



这个图表明对于所选的输出像素(白叉)有效的接受区域,这表明本文算法有能力以一个更加宽泛的视野范围和更加重要有效的图像上下文信息去回归拟合立体匹配视差,这远比局部几何和外形信息要好。比如,我们观察到本文模型就会考虑车辆的周边信息及路面信息,一起来估计视差。

总结:因为需要端到端网络,因此成本量阶段不光获取两特征之间的关系,还需要将特征传下去,因此维度比较大。四维,为了降低计算负担,采用的是编解码操作。上采样的时候也要用到编码时候的特征层,就跟flownet的时候一样。由于成本量是四维的,所以卷积的时候用的是三维卷积,我去,三维卷积。

与flownet相比,同样是端到端结构,可人家是三维的。因为flownet通过concantinate这个二图的相关信息和特征信息,而没有额外为了特征信息而多出来一维。最后的翻卷积,也就是解码时候也是不一样的。flownet每层都进行了深度图的预测。而该文就没有,只是利用编码时候产生的特征层还有解码时候的前一层。效果谁优谁劣,不得而知。这个模型应该是比flownet复杂点的。

与dispnet相比,文中解释,dispnet首先是在光流上面预训练而成的端到端回归网络,本文算法比dispnet好在notable margin for all test pixels。dispnet用一个1-Dcorrelation层近似得到立体匹配的cost volume。相反,本文算法使用3D卷积和soft argmin层得到一个更加完备的cost volume从而可以充分利用图像几何信息。这是比dispnet要优秀的。

这个网络的视野范围确实宽泛。也许是会比dispnet要好,可惜就是没有代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐