董惠心+任鹏+余兴瑞+王廷伟
摘 要: 提出一种基于“客观度量”和“深度学习”共同驱动的立体匹配方法,互补“度量”和“学习”特征,提升立体匹配视差图的精度。将基于灰度差绝对和(SAD)与灰度梯度差绝对和(GRAD)两类算子的客观计算特征和基于数据驱动的深度学习特征进行加权融合,构建匹配代价模型;采用引导滤波器对匹配代价进行聚合;通过胜者全赢算法得到初始视差图;最后,运用左右一致性校验和加权中值滤波器优化视差图,去除误匹配点,得到最优视差图。在Middlebury立体匹配评估平台上的测试实验表明,所提算法能有效降低视差图平均绝对误差和均方根误差。
关键词: 立体匹配; 深度学习; 特征融合; 引导滤波器; 胜者全赢算法; 视差图
中图分类号: TN911.73?34 文献标识码: A 文章编号: 1004?373X(2018)01?0062?05
Abstract: A novel stereo matching approach based on objective measurement and deep learning is proposed to complement the features of measurement and learning, and improve the accuracy of stereo matching parallax map. The weight fusion is performed for the objective computing feature based on the sum of absolute intensity differences (SAD) and sum of grayscale gradient absolute differences (GRAD), and the deep learning feature based on data driver to construct the matching cost model. The guiding filter is used to aggregate the matching costs. The initial parallax map is obtained by means of the winner?take?all (WTA) algorithm. The left?right consistency check and weighted median filter are adopted to optimize the parallax map, remove the mismatching points, and get the optimal parallax map. The stereo matching approach was tested on Middlebury stereo matching evaluation platform. The experimental results demonstrate that the proposed approach can reduce the average absolute error and root?mean?square error of the parallax map greatly.
Keywords: stereo matching; deep learning; feature fusion; guiding filter; WTA algorithm; parallax map
0 引 言
立体匹配旨在通过二维图像信息重构出三维场景,是计算机视觉研究领域的关键课题之一。立体匹配已被广泛应用在机器人视觉、无人车自主导航、航空航天探测、三维表面建模、三维目标识别等领域[1?2]。立体匹配算法[2]通常按4个步骤进行:匹配代价计算、匹配代价聚合、初始视差计算、视差图后续优化处理。文献[3]将立体匹配算法划分为局部匹配算法和全局匹配算法。常用的全局匹配算法有图割法[4]、置信传播法[5]、动态规划法[6]等。全局匹配算法匹配精度高,但计算复杂,实时性差。局部匹配算法也称基于窗口的立体匹配算法,其侧重点在于匹配代价计算和匹配代价聚合。局部匹配算法计算复杂度低,运行速度快,但匹配精度不及全局匹配算法。因此,提升局部匹配算法的精度是目前立体匹配研究中的重要课题。
局部匹配算法中的差异度量函数(或相似性度量函数)决定着匹配代价计算的准确性,因此匹配精度在很大程度上依赖于差异度量函数(或相似性度量函数)的特性。常用的差异度量函数有灰度差平方和(the Sum of Squared Intensity Differences,SSD)[7]、灰度差绝对和(Sum of Absolute Intensity Differences,SAD)[8?9]等。SAD计算简单高效,易于硬件实现,但该算法是基于像素灰度值的差异度量,因而对摄像机自身偏差或光强度变化引起的图像对失真较为敏感。文献[10]提出的基于梯度的差异度量受图像对失真影响较小,鲁棒性好,但此度量函数仅考虑了梯度的幅值信息,幅值信息容易受输入图像对增益失真的影响,进而造成匹配误差。文献[11]将卷积神经网络应用于立体匹配算法中,用于匹配代价计算。卷积神经网络(Convolutional Neural Network,CNN)是一种端到端的网络结构,能够充分利用输入图像的二维结构及其统计特性来提取图像特征,但是仅由卷积神经网络输出作为相似性度量函数来计算匹配代价,不能准确得出稠密视差图,该方法在处理低纹理和遮挡区域存在一定误差。
为克服上述差异度量函数(或相似性度量函数)中出现的问题,并且进一步提高匹配代价计算准确性,本文提出一种基于“客观度量”和“深度学习”共同驱动的立体匹配方法。首先,将SAD和灰度梯度差绝对和(Gradient Absolute Difference,GRAD)两类客观计算特征和基于数据驱动深度学习的相似度特征进行加权融合,构建匹配代价模型;然后,采用引导滤波器[12]对匹配代价进行聚合;最后,用胜者全赢(Winner?Take?All, WTA)算法求出初始视差,通过左右一致性校验和加权中值滤波方法处理得到最优视差图。endprint
1 基于“客观度量”和“深度学习”共同驱动的立
体匹配方法
1.1 基于客观度量的匹配代价
SAD是局部匹配方法中常用的一种差异度量函数,因其运算简单高效而被广泛运用于匹配代价的计算中。SAD匹配代价的公式如下:
[CSADp,d=i,j∈NpI1i,j-I2i+d,j] (1)
式中:[I1]和[I2]分别表示左右图像灰度信息;[Np]表示以像素点[p]为中心的窗口。
在图像对匹配过程中,存在一些深度不同,但灰度相近的区域。SAD无法区分上述区域,会造成视差误匹配。基于梯度的差异度量能在一定程度上克服这类问题,GRAD匹配代价公式如下:
[CGRADp,d=i,j∈Nxp?xI1i,j-?xI2i+d,j+i,j∈Nyp?yI1i,j-?yI2i+d,j] (2)
式中[?x]和[?y]分别为水平和垂直方向梯度算子。
基于客观度量的匹配代价计算往往运用特定的算子(例如差算子、梯度算子等)进行左右视图的特征提取,用于求取规则客观的局部特征。然而,特定算子遵循确定的计算模式获得的局部特征,忽略了视图景象的全局布局。同时,特定算子对所有数据进行无差别操作,对数据多样性特点适应性不足,在场景与环境条件变化时鲁棒性差。
1.2 基于深度学习的匹配代价
CNN在多层神经网络的基础上发展而来,包含卷积层、全连接层、池化层,此结构使得卷积神经网络能够充分利用输入数据的二维结构。本文匹配代价的计算参考Siamese网络结构,通过训练出的卷积神经网络判断已知真实视差值的图像对之间的匹配程度[11],并以此得到相似性度量函数来计算匹配代价,过程如图1所示。
卷积神经网络通过局部感受野来提取图像初级特征信息,对局部特征信息综合进而得到全局特征信息。图1中的Siamese网络结构输入分别为参考图像和匹配图像上选取的[n×n]大小的图像块,经过若干以修正线性单元(Rectified Linear Units,ReLU)为激活函数的卷积层提取出复杂性特征,并对得到的结果进行综合,再经过若干以修正线性单元(ReLU)为激活函数的全连接层,最后经过由全连接层和Sigmoid激活函数构成的输出层得到输出结果。
基于图1中网络的输出来计算图像对之间的匹配代价,公式如下:
[CCNNp,d=-s(
式中[s(
基于深度卷积神经网络的匹配代价计算方法能够充分利用输入图像的全部信息,不需要考虑传统局部匹配算法中支持窗口选取等问题,对于数据的适应性强。但是,深度模型完全依赖数据驱动,忽视了独立于数据的客观度量,容易由数据异常值造成计算偏差。
1.3 基于“度量”和“學习”特征融合的匹配代价
针对“客观度量”和“深度学习”在匹配代价计算中的各自特点和不足,将两类方法互补,得到特征加权融合的匹配代价,计算公式如下:
[Cp,d=α1?minCSADp,d,τ1+ α2?minCGRADp,d,τ2+ α3? CCNNp,d ] (4)
式中:[α1,][α2,][α3]是能够平衡式中三项关系的平衡参数,[α1+α2+α3=1;][τ1]和[τ2]为对应颜色和梯度的截断值;[CSAD]和[CGRAD]是客观度量特征,用以弥补[CCNN]中数据异常值造成的代价偏差;[CCNN]是深度学习特征,用于增强[CSAD]和[CGRAD]客观度量对于多样数据和环境条件的适应性。两类特征互为补充,得到鲁棒性强的特征融合匹配代价。
1.4 基于引导滤波的匹配代价聚合
为了能够使得到的初始视差图包含更多的边缘信息,从而得到稠密视差图,本文使用引导滤波方法对匹配代价进行聚合[13],定义如下:
[Cp,d=q∈NpWp,q?Cq,d] (5)
式中[Wp,q]为滤波器权重,定义引导滤波器权重为:
[Wp,qI=1ω2k: p,q∈ωk1+Ip-μkIq-μkσ2k+ε] (6)
式中:[μk]和[σ2k]是[I]以[k]为中心,[2r+1×2r+1]维窗口[ωk]中的平均值和协方差矩阵;[ω]是窗口[ωk]中像素的数量;[ε]为平滑参数。
引导滤波器具有保持图像边缘,平滑噪声的特点,能够有效克服图像边缘梯度反转现象,在引导滤波器作用下,可以使得输出图像包含丰富的边缘信息,提高初始视差计算的准确性。
1.5 初始视差计算及后续处理
匹配代价聚合后,利用胜者全赢(WTA)算法在视差范围内选取匹配代价聚合后最优的点,得出初始视差图,公式如下:
[d*=argmind∈DCp,d] (7)
式中:[D]表示视差搜索范围[dmin,…,dmax]。
通过左右一致性校验和加权中值滤波方法对初始视差图进行优化。左右一致性校验是以左右两幅输入图像为基准,分别得到左右两幅视差图,对于左图中的任意一点[p,]求得的视差值为[d1,][p]点在右图中的对应点为[p+d1],求得视差为[d2]。由于[d1]和[d2]为一组对应视差值,因而应该有[d1=d2,]然而在图像像素点匹配过程中,某些弱纹理区域图像信噪比低,得到的视差图出现误匹配点,因此使用下式得到去除误匹配点的视差图[14]:
[Dp=d1+d22,0, d1-d2≤1其他] (8)
误匹配点去除后,得到存在孤立点的不完整视差图,通过加权中值滤波方法可以填充视差图上不完整的像素点,有效改善弱纹理区域和遮挡区域的误匹配。加权中值滤波器权重为:
[Wbfp,q=1Kpexp-p-q2σ2sexp-Ip-Iq2σ2c] (9)
式中:[Kp]为归一化系数;[σs]和[σc]是能够控制空间域和值域的权重因子,防止衰减程度过大或过小。
综上所述,本文所提算法流程图如图2所示。
2 实验结果和分析
本文使用Middlebury版本3[15]提供的图像,对本文算法性能进行测试。以训练数据集图像的非遮挡区域平均绝对误差(avgErr)和均方根误差(rms)作为度量标准进行比较。分别以Costfilter[13]、MC?CNN?art[11]、 CNNcost、本文算法作为对比。其中,CNNcost算法利用文献[11]中卷积神经网络输出的相似性度量函数为匹配代价计算模型,其他步骤与本文算法一致。实验结果如下:
图3表示Costfilter、MC?CNN?art、CNNcost以及本文算法分别在不同度量标准(非遮挡区域的平均绝对误差(avgErr)和均方根误差(rms))下的平均权重(Avg)对比图。在同一度量标准下平均权重(Avg)越小,说明算法性能越好。从图3中可以看出本文算法的平均权重(Avg)在两种不同度量标准下均比Costfilter算法小,说明本文算法处理非遮挡区域的平均绝对误差(avgErr)和均方根误差(rms)优于Costfilter算法。
图4,图5分别表示Costfilter、MC?CNN?art、CNNcost以及本文算法在非遮挡区域平均绝对误差(avgErr)和均方根误差(rms)对比图,图中以训练集15幅图结果为例。对于同一幅图像,不同算法处理得到的平均绝对误差(avgErr)和均方根误差(rms)越小,说明算法匹配精度越高。
图6,图7分别表示Costfilter算法与本文算法在非遮挡区域平均绝对误差(avgErr)和均方根误差(rms)对比图。从图中标识出的红框区域可以看出,本文算法在處理边缘和噪声方面优于Costfilter算法。
3 结 语
本文提出的基于“客观度量”和“深度学习”共同驱动的立体匹配方法,通过融合“度量特征”和“学习特征”,构建鲁棒性高的新的匹配代价模型。利用Middlebury立体匹配评估平台对本文算法进行测试,实验结果表明本文算法在平均绝对误差和均方根误差方面均小于Costfilter等前沿的立体匹配算法,进而验证了通过特征融合计算匹配代价的有效性。
参考文献
[1] ZITNICK C L, KANG S B. Stereo for image?based rendering using image over?segmentation [J]. International journal of computer vision, 2007, 75(1): 49?65.
[2] 孙文健,肖渤涛,骆春波,等.一种基于PandaBoard的运动物体检测系统设计[J].现代电子技术,2015,38(2):104?107.
SUN Wenjian, XIAO Botao, LUO Chunbo. Design of a moving object detection system based on PandaBoard [J]. Modern electronics technique, 2015, 38(2): 104?107.
[3] SCHARSTEIN D, SZELISKI R. A taxonomy and evaluation of dense two?frame stereo correspondence algorithms [J]. International journal of computer vision, 2002, 47(1/3): 7?42.
[4] BOYKOV Y, VEKSLER O, ZABIH R. Fast approximate energy minimization via graph cuts [J]. IEEE transactions on pattern analysis and machine intelligence, 2001, 23(11): 1222?1239.
[5] FELZENSZWALB P F, HUTTENLOCHER D P. Efficient belief propagation for early vision [J]. International journal of computer vision, 2006, 70(1): 41?54.
[6] FORSTMANN S, KANOU Y, OHYA J, et al. Real?time stereo by using dynamic programming [C]// Proceedings of 2004 Conference on Computer Vision and Pattern Recognition Workshop. Washington DC: IEEE, 2004: 29.
[7] KLAUS A, SORMANN M, KARNER K. Segment?based stereo matching using belief propagation and a self?adapting dissimilarity measure [C]// Proceedings of the 18th International Conference on Pattern Recognition. Hongkong, China: IEEE, 2006: 15?18.endprint
[8] KANADE T, KANO H, KIMURA S, et al. Development of a video?rate stereo machine [C]// Proceedings of 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems. Pittsburgh: IEEE, 1995: 3095?4100.
[9] 何人杰.双目立体视觉区域局部匹配算法的改进及其实现[J].现代电子技术,2009,32(12):68?70.
HE Renjie. Improvement of regional related match algorithm for binocular stereo vision and its implementation [J]. Modern electronics technique, 2009, 32(12): 68?70.
[10] SCHARSTEIN D. Matching images by comparing their gradient fields [C]// Proceedings of 1994 the 12th IAPR International Conference on Pattern Recognition. Jerusalem: IEEE, 1994: 572?575.
[11] ZBONTAR J, LECUN Y. Stereo matching by training a convolutional neural network to compare image patches [J]. Journal of machine learning research, 2016, 17: 1?32.
[12] HE K, SUN J, TANG X. Guided image filtering [J]. IEEE transactions on pattern analysis and machine intelligence, 2013, 35(6): 1397?1409.
[13] HOSNI A, RHEMANN C, BLEYER M, et al. Fast cost?volume filtering for visual correspondence and beyond [J]. IEEE tran?sactions on pattern analysis and machine intelligence, 2013, 35(2): 504?511.
[14] 张浩峰,赵春霞.一种利用动态规划和左右一致性的立体匹配算法[J].中国图象图形学报,2008(4):756?760.
ZHANG Haofeng, ZHAO Chunxia. A stereo matching algorithm using dynamic programming and left?right consistency [J]. Journal of image and graphics, 2008(4): 756?760.
[15] SCHARSTEIN D, SZELISKI R. The Middlebury stereo vision page [EB/OL]. [2014?10?23]. http://vision.middlebury.edu/stereo/eval3/,2014.endprint