赞
踩
没怎么找到这篇论文的完整版,于是自己完整翻译了这篇论文。
中间主要借助百度翻译,并且参考了一些他人已经翻译过的片段。
相关学术名词我尽可能标准翻译了,如还有不当之处,望指出。
我们提取出了一种从矫正后的图像对提取深度信息的方法。我们训练一个卷积神经网络来预测两个图像块的匹配程度并计算立体匹配代价。匹配代价细化为基于交叉的代价聚合算法(cross-based cost aggregation)和半全局匹配算法(semiglobal matching),然后进行左右一致性检查(consistency check),消除遮挡区域的误差。我们的立体匹配算法在KITTI立体匹配数据集上实现2.61%的错误率,并且是该数据集上截止于2014年8月为止表现最好的算法。
考虑下列问题:给定两个从不同水平位置拍摄的图像,目的是计算左图中每个像素点的视差 d d d。视差是指一个物体在左右图像中水平位置上的差距——左图中 ( x , y ) (x, y) (x,y)处的物体出现在右图中 ( x − d , y ) (x-d, y) (x−d,y)处。知道物体的视差 d d d后,我们能通过以下关系计算它的深度 z z z(即物体到相机的距离):
z = f B d , (1) z=\frac{fB}{d}, \tag{1} z=dfB,(1)
其中 f f f是相机的焦距, B B B是两个相机光心的距离。所描述的问题是三维重建的子问题,目标是从一个或多个图像中提取三维形状。根据Scharstein和Szeliski[14]的分类,典型的立体算法由四个步骤组成: ( 1 ) (1) (1)匹配代价计算; ( 2 ) (2) (2)代价聚合; ( 3 ) (3) (3)视差计算; ( 4 ) (4) (4)视差优化。根据Hirschmuller和Scharstein[5],我们将步骤 ( 1 ) (1) (1)和 ( 2 ) (2) (2)称为计算匹配代价,步骤 ( 3 ) (3) (3)和 ( 4 ) (4) (4)称为立体方法。我们提出了在多对小图像块上训练一个卷积神经网络[9],其中真实视差是已知的(例如通过激光雷达获得)。网络的输出用于初始化图像块对之间的匹配代价。匹配代价是通过采用基于交叉的代价聚合在具有相似灰度的邻近像素点之间融合而成。平滑约束(smoothness constraints)通过半全局匹配算法加强,左右一致性检查用于检测和消除遮挡区域的误差。我们进行了亚像素增强,并应用中值滤波和双边滤波获得最终的视差图。图1描述了方法的输入和输出。
本文的两个贡献是:
在大型数据集[2, 13]被引入之前,相对较少的立体匹配算法用基准真值(ground-truth)信息来学习模型的参数。在本节中,我们将回顾其中的一些算法。对立体匹配算法的概述参见[14]。Kong和Tao[6]的算法使用距离平方和来计算初始匹配代价。他们训练了一个预测三类概率分布的模型:初始视差正确,由于前景放大导致的初始视差错误,由于其他原因导致的视差错误。利用预测概率调整初始匹配代价。Kong和Tao[7]后来通过结合由计算不同窗口大小和中心的归一化相关匹配算法(normalized cross-correlation)获得的预测值,扩展了他们的工作。Peris等人[12]用AD-Census算法[11]初始化匹配代价,并使用多类线性鉴别分析(multiclass linear discriminant analysis)来学习从计算的匹配代价到最终视差的映射。
基准真值数据也被用来学习图形模型的参数。Zhang和Seitz[22]使用交替优化算法(alternative optimization algorithm)来估计Markov随机场(Markov random field)超参数的最优值。Scharstein和Pal[13]构建了一个由30对立体对组成的新数据集,并用它来学习条件随机场的参数。Li和Huttenlocher[10]提出了一种具有非参数代价函数的条件随机场模型(conditional random field model),并利用结构化支持向量机学习模型参数。
最近的工作[3, 15]侧重于估计计算出的匹配代价的置信度。Haeusler等人[3]使用随机决策树分类器组合多个置信度量。同样,Spyropoulos等人[15]训练了一个随机决策树分类器(a random forest classifier)来预测匹配代价的置信度,并将预测作为Markov随机场中的软约束,以减少立体方法的误差。
一个典型的立体匹配算法是计算出考虑范围中的所有视差d在每个位置p的匹配成本C(p, d)。一个简单的例子是SAD(Sum of Absolute Differences,绝对差和):
C A D ( p , d ) = ∑ q ∈ N p ∣ I L ( q ) − I R ( qd ) ∣ , (2) C_{AD}(\textbf{p},d) = \sum_{\textbf{q}\in{\mathcal{N}_{\textbf{p}}}}|I^{L}(\textbf{q})-I^{R}(\textbf{qd})|, \tag{2} CAD(p,d)=q∈Np∑∣IL(q)−IR(qd)∣,(2)
其中, I L ( q ) I^{L}(\textbf{q}) IL(q)和 I R ( qd ) I^{R}(\textbf{qd}) IR(qd)是左右图像位置点 p \textbf{p} p处的图像强度, N p \mathcal{N}_{\textbf{p}} Np是以 p \textbf{p} p为中心的固定矩形窗口的一组位置集。我们使用粗体小写 ( p , q , r ) (\textbf{p},\textbf{q},\textbf{r}) (p,q,r)表示实数对。附加一个小写的 d \textbf{d} d的含义是:如果 p = ( x , y ) \textbf{p}=(x,y) p=(x,y),那么 pd = ( x − d , y ) \textbf{pd}=(x-d,y) pd=(x−d,y)。
方程 ( 2 ) (2) (2)可以解释为计算左图中以 p \textbf{p} p为中心的图像块与右图中以 pd \textbf{pd} pd为中心的图像块的相关匹配代价。由于可以从公开数据集(如Kitti[2]和Middlebury[14])中获取匹配结果好的样本和匹配结果差的样本,因此我们可以尝试通过有监督的学习方法来解决匹配问题。在卷积神经网络成功应用于视觉问题[8]的启发下,我们使用它们来评估两个图像块的匹配程度。
训练集包含两个图像块,分别来自左图和右图:
< P 9 × 9 L ( p ) , P 9 × 9 R ( q ) > , (3) <\mathcal{P}_{9×9}^{L}(\textbf{p}),\mathcal{P}_{9×9}^{R}(\textbf{q})>,\tag{3} <P9×9L(p),P9×9R(q)>,(3)
其中, P 9 × 9 L ( p ) \mathcal{P}_{9×9}^{L}(\textbf{p}) P9×9L(p)表示左图上以位置 p = ( x , y ) \textbf{p}=(x,y) p=(x,y)为中心的9×9图像块。当视差d已知的条件下,我们提取一个正样本和一个负样本。负样本的获得可通过设置右图像块的中心 q \textbf{q} q为
q = ( x − d + o n e g , y ) , (4) \textbf{q}=(x-d+o_{neg},y), \tag{4} q=(x−d+oneg,y),(4)
o n e g o_{neg} oneg是破坏匹配的偏移量,随机选自集合 { − N h i , . . . , − N l o . N l o , . . . , N h i } \{-N_{hi},...,-N_{lo}.N_{lo},...,N_{hi}\} {
−Nhi,...,−Nlo.Nlo,...,Nhi}。同样的,正样本的获得可通过设置
q = ( x − d + o p o s , y ) , (5) \textbf{q}=(x-d+o_{pos},y), \tag{5} q=(x−d+opos,y),(5)
o p o s o_{pos} opos随机选自集合 { − P h i , . . . , P h i } \{-P_{hi},...,P_{hi}\} {
−Phi,...,Phi}。将 O p o s O_{pos} Opos包括在内,而不是设置为 0 0 0的原因与稍后使用的立体方法有关。特别的,我们发现当网络将低匹配代价分配给好的匹配样本时,和相邻匹配样本一样,其基于十字交叉的代价聚合算法会表现得更好。
N h i , N l o , P h i N_{hi},N_{lo},P_{hi} Nhi,Nlo,Phi和图像块的大小 n n n是该方法的超参数。
我们使用图2所示的结构。这个网络由八层组成,从 L 1 L1 L1到 L 8 L8 L8。第一层是卷积层,而其他所有层都是全连接层。网络的输入是两个 9 × 9 9×9 9×9的灰度图像块。第一层卷积层由32个 5 × 5 × 1 5×5×1 5×5×1大小的卷积核组成。 L 2 L2 L2层和 L
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。