基于双权重聚合的立体匹配算法
何凯, 朱程涛, 姚静娴
天津大学 电子信息工程学院,天津 300072

作者简介:何凯(1972-),男,副教授,博士.研究方向:数字图像及视频修复,电子稳像,图像拼接,纹理识别.E-mail:hekai626@163.com

摘要

针对传统的局部立体匹配算法通常采用基于窗口聚合匹配的方法获得视差图,采用分割与平面拟合的方法进行视差精炼,算法性能过度依赖于窗口尺寸、分割与数据拟合的精度的问题,提出了基于双边滤波的双权重聚合方法,利用快速匹配代价的方法进行聚合,在视差精炼阶段采用双曲线平滑聚合匹配代价的策略;这种不依赖于窗口大小的算法有利于提高匹配精度。仿真实验结果表明,本文算法在低纹理区域和深度不连续区域均得到了较高的立体匹配精度;针对实际场景进行的立体匹配,可以得到较高精度的视差图及三维重建效果。

关键词: 通信技术; 立体匹配; 权重聚合; 快速代价聚合; 视差精炼; 三维重建
中图分类号:TN91 文献标志码:A 文章编号:1671-5497(2015)04-1318-06
Stereo matching algorithm based on double weighting aggregation
HE Kai, ZHU Cheng-tao, YAO Jing-xian
School of Electronic Information Engineering, Tianjin University, Tianjin 300072, China
Abstract

In traditional local matching algorithms, the window-based aggregation methods are usually used to obtain disparity map; also, the segmentation and plane fitting methods are used in disparity refinement. The performance of the algorithms is greatly dependent on the window size, and precision of segmentation and data fitting methods. In this paper, a stereo matching algorithm based bilateral filter is proposed, which is called double weighting aggregation. The fast cost aggregation method and hyperbola are employed to smooth the matching cost. The proposed algorithm is beneficial to improve the stereo matching accuracy since it is independent on the window size. The simulation results show that the proposed algorithm can obtain higher accuracy disparity map in low-texture and depth discontinuity regions. Besides, superior disparity map and 3D reconstruction results are also achieved in real stereo images.

Keyword: communication; stereo matching; weighted aggregation; fast cost aggregation; disparity refinement; 3D reconstruction
0 引 言

立体匹配算法主要是通过建立一个能量代价函数, 通过此能量代价函数最小化来估计像素点视差值[1]。由视差图得到深度信息, 再将深度信息用于三维场景的重建。立体匹配算法的实质就是一个最优化求解问题, 通过建立合理的能量函数, 增加一些约束, 采用最优化理论的方法进行求解, 这也是目前病态问题常用的求解方法。

目前国内外学者已经提出了许多立体匹配方法, 如基于局部约束的立体匹配算法[2, 3, 4, 5]以及全局约束的立体匹配算法[6, 7]。局部立体匹配算法是利用兴趣点周围的局部信息进行计算, 涉及信息量较少, 相应的计算复杂度较低; 其优点是算法速度快、效率高; 缺点是其对噪声较敏感, 对低纹理区域、深度不连续区域效果不理想。

传统的采用固定窗口的局部立体匹配算法存在窗口选择的问题, 通常低纹理区域应该采用大尺寸窗口进行聚合, 而在高纹理区域则通常采用较小尺寸窗口, 缺乏自适应性。为解决这一问题, Yoon等[2]提出了一种自适应权重匹配算法, 取得了较好的匹配精度, 但由于该算法需要计算参考窗口及目标窗口内的每一点像素权重, 导致计算复杂度大大增加。为此, Min等[3]引入联合直方图以减少视差搜索范围, Humenberger等[4]提出了Census快速算法。除此之外, Einecke等[5]引入SNCC, 提高了匹配精度, 但是在深度不连续区域误匹配率较高。为了获得高精度视差, 文献[6-7]采用分割与平面拟合的方法, 但算法的性能受限于分割与平面拟合的精度。

本文将所有邻近像素的匹配代价与权值相结合, 得到参考像素的聚合匹配代价; 并采用文献[8]中提出的SWS方法进行快速匹配代价聚合减少计算复杂度。同时, 在视差精炼阶段, 提出了基于聚合匹配代价平滑的精炼策略。

1 传统局部立体匹配算法

传统算法通常采用AD、AG、NCC[9]等匹配代价:

eAD(x, y, d)=|IL(x, y)-IR(x+d, y)|(1)eAG(x, y, d)=|IL(x, y)-IR(x+d, y)|(2)

式中:xy分别为像素点P所在的列数、行数; d为视差; ILIR分别代表左、右图; Ñ ILÑ IR分别代表左、右两图的梯度图。

代价聚合则通常采用窗口聚合, 即

C(x, y, d)=kwk(i, j)ek(i, j, d)(3)(i, j)N(x, y)

式中:N(x, y)为参考像素(x, y)的邻近区域; ek(i, j, d)代表某种类型的匹配代价; wk(i, j)为相应的权重。

2 本文算法

提出了一种新的权重匹配代价聚合方法, 以及基于该匹配代价的视差精炼方法。

2.1 匹配代价计算方法

eD(x, y, d)=minn=13|ILn(x, y)-IRn(x+d, y)|, TD4eG(x, y, d)=minn=13|xILn(x, y)-xIRn(x+d, y)|+n=13|yILn(x, y)-yIRn(x+d, y)|, TG5

式中:n代表图像RGB三个通道; xILnyILn分别代表左图RGB通道的水平、竖直方向梯度图; xIRnyIRn分别代表右图RGB通道的水平、竖直方向梯度图; TDTG是截断阈值。与传统方法采用灰度信息做匹配代价相比, 本文采用3个通道的亮度信息, 以提高匹配效率。

2.2 匹配代价聚合

为了提高匹配精度, 必须采用一定的权重匹配代价方法进行聚合[10, 11, 12]。本文将参考像素周围所有像素的匹配代价加以适当权值, 以得到参考像素的聚合匹配代价。

Wix=k=i+1xexpn=13ILn(k, y)-ILn(k-1, y)2-2α, i< x1, i=xk=x+1iexpn=13ILn(k, y)-ILn(k-1, y)2-2α, i> x6Tix=k=i+1xexpn=13xILn(k, y)-xILn(k-1, y)2-2β, i< x1, i=xk=x+1iexpn=13xILn(k, y)-xILn(k-1, y)2-2β, i> x7C-(x, y, d)=λC^TAD(x, y, d)+1-λC^TAG(x, y, d)(8)

C^TAD(x, y, d)= i=1sj=1tWixWjyeD(i, j, d) (9)

C^TAG(x, y, d)= i=1sj=1tTixTjyeG(i, j, d) (10)

式中: C-(x, y, d)为点P的总聚合匹配代价; C^TAD(x, y, d)为点P的TAD聚合匹配代价; C^TAG(x, y, d)为点P的TAG聚合匹配代价; λ 为权重; st分别为参考图像的宽度、高度; α β 为权重平滑因子; WixWjy分别代表点P的TAD聚合的横向、纵向权重; TixTjy分别为点P的TAG聚合的横向、纵向权重。

权重的设置根据双边滤波的原则, 即与参考像素亮度越相近的像素, TAD聚合代价权重WixWjy设置得越大; 与参考像素梯度值越相近的像素, TAG聚合代价权重TixTjy设置得越大。此外, 双边滤波中权重还考虑到空间信息, 即离参考像素越近权重越大; 任意一点像素到参考像素的聚合代价权重可以分解为横向和纵向的权重乘积, 即总权重是随着空间距离的增大而减小。

本文将两种不同聚合匹配代价的权值分开来考虑, 即TAD匹配代价的聚合权重依赖于亮度信息的差异, TAG匹配代价的聚合权重依赖于梯度信息的差异, 这样的聚合权重设置更能反映不同权值对不同匹配代价的影响, 且权重的设置使用RGB三个通道的信息, 较使用单一通道信息更为可靠。

类似地, WjyTjy可分别参考WixTix。匹配代价聚合的计算相当于二维卷积, 为了减少计算复杂度, 可根据文献[8]提出的降维算法, 利用SWS(Successive weighted summation)将每个二维卷积运算分解为4个一维卷积, 分别为匹配代价由左至右卷积、由右至左卷积、由上至下卷积、由下至上卷积。

2.3 视差精炼

视差值的计算一般采用WTA(Winner takes all)策略, 即为

Dx, y=argmindS(d)C-(x, y, d)(11)

式中:S(d)是搜索视差集合, 即S(d)={0, 1, …, dmax}。

得到初始视差图后, 利用左右一致性检测方法检测视差异常值点, 不满足式(12)的点即为视差异常值点。

|Drl(x, y)-Dlr(x-Drl(x, y), y)|< 1(12)

式中:Drl(x, y)是以左图为参考图得到的视差图; Dlr(x, y)是以右图为参考图得到的视差图。通常绝大多数异常点均为背景遮挡点, 因此采用简单的遮挡点视差填充方法[3]即可。

每个像素点对应的视差值均为离散的整数, 将这些离散值直接用于三维重建会导致重建场景表面出现断层, 因此, 必须对每个像素点聚合匹配代价函数进行平滑, 以得到连续变化的视差值。

本文提出了一种新的平滑函数, 采用式(13)所示的双曲线函数对视差值进行平滑。

f(d)=k1d+k2d+k313k1, k2, k3Rk1> 0, k2> 0

C-(x, y, d)记为Cd, 将点(d-1, Cd-1)、(d, Cd)、(d+1, Cd+1)带入式(13)中, 可得下式:

d-11d-11d1d1d+11d+11k1k2k3=Cd-1CdCd+114

根据双曲线函数的性质可知:f(d)在 d1* = k2/k1处取得极小值。由上式可解得:

d1* =(d3-d)(Cd+1+Cd-1-2Cd)d(Cd+1+Cd-1-2Cd)+Cd+1-Cd-115

3 实验结果及分析
3.1 测试图实验结果

为了测试本文算法的匹配精度, 选用Middlebury网站提供的测试图进行测试。各参数设置分别为{λ , TD, TG, α , β }={0.4, 25, 50, 35, 25}, 利用不同算法获得视差图如图1所示。

利用不同算法获得视差图的误匹配率如表1所示。其中, SNCC、RTCensus、AdaptWeight代表传统局部立体匹配算法, FeatureGC、AdaptingBP为全局立体匹配算法。误差阈值取为0.5。

图1中可以看出, 本文算法在低纹理区域能够获得更好的效果, 如‘ Venus’ 黑色板区域、‘ Teddy’ 屋顶区域等; 由于在视差精炼阶段采用了视差平滑策略, 由4张测试图的视差图均可看出, 视差过渡平滑, 有效减少了视差图中“ 波纹” 现象, 整体视差图的匹配效果较好。

表1中可以看出, SNCC算法在图‘ Tsukuba’ 视差边缘处(如灯的边界和支架处)误匹配率较高; 虽然在图‘ Cones’ 非遮挡区域误匹配率低于本文算法, 但平均误匹配率明显高于本文算法。RTCensus算法虽然在图‘ Cones’ 非遮挡区域误匹配率比本文算法略低, 但在其视差边缘处误匹配率高于本文算法, RTCensus算法平均误匹配率为14.4%。

表1中可以看出, 与采用固定窗口聚合匹配代价的AdaptWeight算法相比, 本文算法采用的权重聚合匹配代价, 在视差边缘处及非遮挡区域的匹配性能均优于传统算法, 平均误匹配率最低。

图1 视差图效果比较Fig.1 Comparison of disparity maps results

表1 几种算法的误匹配率比较 Table 1 Comparison of error rate of different algorithms %

相比较于计算复杂度较高的全局立体匹配算法, 如:FeatureGC、AdaptingBP, 本文算法也有较大的优势。两种算法分别基于图割理论和置信度传播理论进行分割, 采用平面拟合的方法进行视差精炼。FeatureGC算法对图‘ Tsukuba’ 前景与背景分割的效果好, 匹配性能稍好于本文算法, 但图‘ Cones’ 平均误匹配率高达11.5%, 本文算法只有6.04%。而AdaptingBP算法误匹配率明显过高; 究其原因是由于分割与平面拟合的精度不够, 影响了整体视差精度。

3.2 实际场景的立体匹配与三维重建

实际场景立体匹配效果如图2所示。从图2可以看出, 本文算法在画作边框附近处误匹配点明显少于SNCC, 在树枝及花的位置处, 本文算法的误匹配点也少于SNCC算法; 从三维重建结果可以看出, 利用SNCC算法进行重建, 画作边框有较多的突刺现象, 在画作树枝及花的位置处突刺也比较多, 而本文算法则较好地避免了这一现象, 较为真实的重建了画作的立体信息。

图2 画作的匹配与重建Fig.2 Stereo matching and reconstruction for picture

4 结束语

提出了一种基于双权重聚合的立体匹配算法, 利用双边滤波器的特性设置匹配代价聚合的权重获得每一点的聚合匹配代价, 并将匹配代价聚合过程分离开来, 利用不同聚合权重进行匹配代价聚合。在视差精炼阶段, 采用双曲线函数对聚合匹配代价平滑, 得到稠密视差图。通过对比一些优秀的局部立体匹配算法和全局立体匹配算法, 证明了本文算法优越性。

The authors have declared that no competing interests exist.

参考文献
[1] Sharstein D, Szeliski R. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J]. International Journal on Computer Vision, 2002, 47(1-3): 7-42. [本文引用:1]
[2] Yoon K J, Kweon S. Adaptive support-weight approach for correspondence search[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(4): 650-656. [本文引用:2]
[3] Min D, Lu J, Do M. Joint histogram based cost aggregation for stereo matching[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(10): 2539-2545. [本文引用:3]
[4] Humenberger M, Zinner C, Weber M, et al. A fast stereo matching algorithm suitable for embedded real-time systems[J]. Computer Vision and Image Understand ing, 2010, 114(11): 1180-1202. [本文引用:2]
[5] Einecke N, Eggert J. A two-stage correlation method for stereoscopic depth estimation[C]∥International Conference on Digital Image Computing: Techniques and Applications, Sydney, New South Wales, 2010: 227-234. [本文引用:2]
[6] Saygili Gorkem, van der Maaten Laurens, Hendriks Emile A. Feature-based stereo matching using graph-cuts[C]∥Conference on Asian Society of Cardiovascular Imaging, Hong Kong, 2011: 14-15. [本文引用:1]
[7] Klaus A, Sormann M, Karner K. Segment-based stereo matching using belief propagation and a self-adapting dissimilarity measure[C]∥The 18th International Conference on Pattern Recognition, Hong Kong, 2006: 15-18. [本文引用:1]
[8] Cigla Cevahir, Alatan A Aydin. Information permeability for stereo matching[J]. Signal Processing on Image Communication, 2013, 28(9): 1072-1088. [本文引用:1]
[9] Mattoccia S, Tombari F, Di Stefano L. Fast full-search equivalent template matching by enhanced bounded correlation[J]. IEEE Transactions on Image Processing, 2008, 17(4): 528-538. [本文引用:1]
[10] Hosni A, Rhemann C, Bleyer M, et al. Fast cost-volume filtering for visual correspondence and beyond[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(2): 504-511. [本文引用:1]
[11] 赵岩, 刘静, 陈贺新, . 用于单视加深度视频编码的快速立体匹配算法[J]. 吉林大学学报: 工学版, 2012, 42(4): 1032-1036.
Zhao Yan, Liu Jing, Chen He-xin, et al. Fast stereo matching algorithm used in stereo video coding based on video plus depth[J]. Journal of Jilin University(Engineering and Technology Edition), 2012, 42(4): 1032-1036. [本文引用:1]
[12] 门朝光, 边继龙, 李香. 基于限制搜索空间的快速立体匹配方法[J]. 吉林大学学报: 工学版, 2012, 42(2): 423-428.
Men Chao-guang, Bian Ji-long, Li Xiang. Fast stereo matching algorithm based on limited search space[J]. Journal of Jilin University (Engineering and Technology Edition), 2012, 42(2): 423-428. [本文引用:1]