激光与光电子学进展, 2021, 58 (2): 0215008, 网络出版: 2021-01-11   

基于改进Census变换与梯度融合的立体匹配算法 下载: 988次

Stereo Matching Algorithm Based on Improved Census Transform and Gradient Fusion
作者单位
重庆邮电大学先进制造工程学院, 重庆 400065
摘要
双目立体匹配根据视差原理将平面视觉转化到三维立体视觉,是三维重建的核心步骤之一。针对局部立体匹配算法在深度不连续、弱纹理区域匹配精度低且易受光照、噪声等因素干扰的问题,提出了一种改进的立体匹配算法。首先,在代价计算阶段将改进的Census代价与梯度代价进行融合,并采用引导滤波算法对图像进行多尺度代价聚合;然后,采用赢家通吃算法计算初始视差;最后,采用左右一致性检测、中值滤波进行视差后处理,得到最终的视差图。实验结果表明,本算法在Middlebury2.0测试平台上的平均误匹配率为5.11%,且具有很好的稳健性和实用性。
Abstract
Binocular stereo matching transforms plane vision into three-dimensional stereo vision based on the parallax principle, which is one of the core steps of three-dimensional reconstruction. Aiming at the problems of local stereo matching algorithm in the depth discontinuity, low matching accuracy in weak texture areas, and easy to be interfered by factors such as light and noise, an improved stereo matching algorithm is proposed in this paper. First, in the cost calculation stage, the improved Census cost and the gradient cost are fused, and the guided filtering algorithm is used to perform multi-scale cost aggregation on the image; then, the winner-take-all algorithm is used to calculate the initial disparity; finally, the left-right consistency detection, middle value filtering performs disparity post-processing to obtain the final disparity image. Experimental results show that the average mistake match rate of the algorithm on the Middlebury2.0 test platform is 5.11%, and it has good robustness and practicability.

1 引言

立体匹配是指从两个或多个视点进行像素匹配,并根据视差原理计算视差的过程,广泛应用于产品质量检测、目标识别与跟踪、视频监控等领域。在立体视觉的研究中,立体匹配算法有局部和全局两种类型。Scharstein等[1-2]将立体匹配的过程分为代价计算、代价聚合、视差计算、视差后处理等阶段。常用的匹配代价计算方法包括绝对差值和(SAD)、归一化互相关(NCC)以及基于非参数变换的方法,如Rank变换、Census变换。全局立体匹配算法可被等效为求解能量最小化的算法,如图割法(GC)[3]、动态规划(DP)[4]、置信传播(BP)[5]、遗传算法(GA)[6];局部立体匹配算法采用固定窗口实现代价计算,采用最小生成树(MST)[7]等算法实现代价聚合,算法比较成熟,且具有计算量小、实时性好、容易实现等优点。

Hirschmuller等[8]的研究表明,基于非参数变换的Census变换对光照、噪声等影响因素的抗干扰能力较强;Pollard等[9]在匹配代价模型中融入了图像的梯度代价,可以减弱光照等因素对算法的影响。通过代价计算得到的匹配代价存在很大的噪声,为了减少图像误匹配,常采用盒子滤波器、高斯滤波器进行代价聚合。Yoon等[10]在代价聚合阶段引入双边滤波(BF)算法,能很好地保护图像的边缘特性。Hosni等[11-12]将性能优于BF算法且计算量更小的引导滤波器(GF)用于图像的代价聚合,能更大程度地保留轮廓边缘信息。

本文提出的算法在代价计算阶段,融合了改进的Census代价与梯度代价,以获得初始匹配代价;在代价聚合阶段,为了更好地保留图像的边缘轮廓信息,减弱噪声、光照等因素对匹配代价计算造成的影响,提高视差图的质量,充分利用了图像的粗信息和细信息[13];对待匹配图像进行下采样后得到多尺度图像,然后采用引导滤波算法完成所有尺度图像的代价聚合;在视差计算阶段,采用赢家通吃(WTA)算法计算初始视差;在视差后处理过程中,采用左右一致性检测、中值滤波修正视差图中的遮挡点,去除视差图中由误匹配造成的孤立噪点。

2 算法描述

本算法先将经过双目校正的左右图像对作为输入,然后对图像进行代价计算、代价聚合、视差计算和视差后处理等[2]过程,输出结果为视差图像,具体流程如图1所示。首先在匹配代价阶段融合了改进的Census代价和梯度代价;然后构建输入图像对的多尺度空间,并采用引导滤波对多尺度空间进行代价聚合;最后采用WTA算法进行视差计算,获得初始视差图;并对初始视差图进行后处理,得到最终的视差图像。

图 1. 本算法的流程图

Fig. 1. Flow chart of our algorithm

下载图片 查看所有图片

2.1 匹配代价计算

代价计算可以量化左右图像对应像素的相似程度,通常受噪声、光照变化等因素的影响。传统Census变换[14-16]依次选取图像中的像素点p,然后以p点为中心建立固定变换窗口,对比窗口内p点和邻域像素点q的灰度值。如果邻域像素的灰度值大于等于中心像素,则对应中心像素位置为1,反之用0表示,可表示为

CI(p),I(q)=1,I(p)I(q)0,I(p)>I(q),(1)

式中,I(p)、I(q)分别为像素点pq的灰度值,CI(p)I(q)为Census的变换结果。Census变换可看作是对固定窗口的映射,通过对窗口进行Census变换可得到与映射关系对应的二进制比特串,即Census变换码,可表示为

Scen(x,y)=i=-w/2w/2j=-h/2h/2C[I(x,y),I(x+i,y+j)],(2)

式中,(x,y)为Census变换窗口中心像素的坐标,Scen(x,y)为变换窗口的Census变换码,􀱋为位连接运算,wh分别为窗口的宽度和高度,I(x,y)为(x,y)的灰度值。

根据(2)式得到输入图像对应的Census变换码,求得左右图像的汉明距离[16],可将Census代价定义为

Ccensus(x,y,d)=XHamming[Scenl(x,y),Scenr(x-d,y)],(3)

式中, Scenl(x,y)为左图像素点(x,y)的Census变换码,d为视差值, Scenr(x-d,y)为右图像中点(x-d,y)的Census变换码,Ccensus(x,y,d)为两个变换码的汉明距离。

传统Census变换受限于窗口的中心像素,特别是在复杂环境条件下,受光照等不良因素的影响,中心像素的灰度值会发生突变,引起Census变换码发生变化,极大增加了视差图中对应像素点发生错误匹配的概率。同时,传统Census变换并未利用变换窗口内所有像素点之间的相关信息,当光照条件不理想时,也容易导致误匹配。

为了克服上述问题,将Census变换窗口分成4个重复区域为中心像素块的子区域。选取灰度分布均匀度最小和最大的两个子区域中除窗口中心像素外的像素均值作为中心像素灰度值,图像灰度均匀度可表示为

U=I(x,y)-I̅(u,v),(4)

式中,I(x,y)为(x,y)的像素灰度值, I̅(u,v)为子区域的像素均值。

根据子区域的灰度均匀度值,得到原变换窗口中心像素的像素值为

Rp=IUmin(x,y)+IUmax(u,v)n,(5)

式中, IUmin(x,y)、 IUmax(x,y)分别为灰度分布均匀度最小和最大的两个子区域中的除窗口中心像素外的像素灰度值,n为灰度分布均匀度最小和最大的两个子区域中除窗口中心像素外的像素个数。

分别以变换窗口的中心像素值、所有像素均值和本算法得到的像素灰度值作为中心像素值,得到的Census变换结果如图2所示。可以发现,改进的Census变换不仅明显降低了对中心像素的依赖,还提高了算法的稳健性。

图 2. 不同算法得到的Census变换窗口。(a)不同的窗口;(b)中心像素值;(c)窗口像素的平均值;(d)本算法

Fig. 2. Census transform windows obtained by different algorithms. (a) Different windows; (b) center pixel value; (c) average value of window pixels; (d) our algorithm

下载图片 查看所有图片

由于梯度信息是图像本身的属性,因此可利用图像的梯度信息衡量两幅不同图像的相似性。为了进一步提高匹配算法对干扰的鲁棒性,在本算法的代价计算中融入了图像梯度属性,可表示为

Cgrad(p,d)=xIl(p)-xIr(p,d)+yIl(p)-yIr(p,d),(6)

式中,Cgrad(p,d)为视差值为d时像素点p基于梯度的匹配代价,Il(p)为左图像中像素点p的灰度值, xy分别为xy方向的单通道梯度算子,Ir(p,d)为右图像中与p点对应且视差为d像素点的灰度值。

融合梯度代价与改进的Census代价,并对代价进行归一化处理,得到本算法的匹配代价计算模型为

C(p,d)=2-exp-Cgrad(p,d)-exp-Ccensus(x,y,d)(7)

2.2 代价聚合

代价聚合是在代价计算获得的初始代价空间基础上,对以单个像素为中心的固定窗口内所有像素的初始代价进行加权求和。为了能最大程度上利用图像的细信息和粗信息,并降低弱纹理区域的误匹配率,Zhang等[16]在图像的多尺度空间下采用引导滤波进行代价聚合。为了更好地保留输入图像的边缘轮廓特性,基于引导滤波实现代价聚合。先进行高斯下采样,构建输入图像的高斯金字塔,获得多尺度图像;然后,在每个尺度空间上单独计算匹配聚合代价值,并添加正则项以加强各尺度间的一致性匹配代价运算,最后计算最优解。

引导滤波模型可表示为

C'(p,d)=aG(p)+b,pωk,(8)

式中,k为窗口ωk内的邻域像素,ab为线性函数的系数,G(p)为输入的引导图,C'(p,d)为输出的代价图。用文献[ 17]中的代价聚合方式,对所有尺度的图像采用引导滤波算法进行代价聚合。引导滤波器的核函数可表示为

Wij=1ω2k:(i,j)ωk1+(Ii-μk)(Ij-μk)σk2+ε,(9)

式中,i,j为输入图像I的像素索引, ω为滤波窗口内的像素个数,ε为尺度参数,μkσk2分别为I在滤波窗口内的均值和方差。(9)式中的尺度参数会直接影响匹配结果,因此,需要加强图像弱纹理区域的约束。在代价聚合阶段,对不同尺度空间分别进行代价聚合后,通过添加L2正则项加强各尺度空间之间的联系,最大程度上保持同一像素点在不同尺度间的代价一致性,可表示为

Bs(z)=λzs-zs-122,(10)

式中,λ为正则化因子,zs-zs-1为相邻尺度空间上对应像素代价值的差,s为尺度空间的序数。λ越大,表明算法对同一像素点在不同尺度空间的一致性约束越强,进一步增大算法对低纹理区域的视差估计、提高算法的性能。

2.3 视差计算

完成图像多尺度空间的代价聚合后,用WTA算法计算初始视差值,可表示为

dp=argmindRdC(p,d),(11)

式中,Rd= dmin,,dmax为视差值的取值空间,C(p,d)为像素点p在视差为d时的匹配代价。WTA算法取最小匹配代价值对应的视差作为最终视差,可在不增加计算量的同时快速获得计算结果。

2.4 视差后处理

由于初始视差图中与输入图像的遮挡区域和深度非连续区域对应的区域可能存在错误匹配点,因此,采用左右一致性检测、中值滤波等后处理算法获得更精确的视差图。左右一致性的原理:对于两幅输入图像的视差图,在右输入图像视差图中应该存在一个与左图像视差图对应且满足约束条件的像素点,可表示为

d1-d2Td,(12)

式中,d1为左图中一个像素点p的最优视差值,d2为右图中与p对应像素点p-d1的最优视差值,Td为视差阈值。

将不满足约束条件的像素点p视为异常点,对于异常点p的修正:分别在p点的左方向和右方向选取第一个非异常点,记作pl1pr1,取pl1pr1中的最小视差值作为异常点p的修正视差值,可表示为

d(p)=mind(pl1),d(pr1)(13)

视差图中可能存在随机噪声及非连续的错误匹配点,因此,还需采用中值滤波对视差图进行平滑处理,最终获得高质量的视差图。

3 实验结果与分析

为了验证本算法的稳健性和实用性,选取Middlebury2.0平台上的标准图像对,用C++编程语言和第三方开源视觉库Opencv编程实现相关算法。采用非遮挡区域误匹配率(No-occluded)和所有区域的误匹配率(All)评价算法的匹配精度[12]。误匹配率M可表示为

M=1Ndc(x,y)-dr(x,y)>Td,(14)

表 1. 本算法的参数

Table 1. Parameter of our algorithm

ParameterωkTdsλ
Value9159

查看所有表

式中,dc(x,y)为本算法得到的视差值,dr(x,y)为图像真实的视差值,N为图像非遮挡区域或所有区域的像素点总数。

将视差阈值设为1 pixel,即未经过后处理的视差图中一个像素点与真实视差图中对应像素点之间的差值超过1 pixel时,认为该点为错误匹配点。实验中的参数设置如表1所示。

3.1 匹配代价计算验证

为充分验证本算法中代价计算的有效性,分别将本算法与传统Census代价(CT)、改进的Census代价(Impro-CT)和梯度代价(GRD)算法[13]进行消融实验。选择Middlebury2.0中的六组标准立体图像对(Baby1,Wood1,Aloe,Monopoly,Plastic,Lampshade2)作为实验数据,获得的所有视差图都没有进行后处理,且都在相同尺度空间下进行基于引导滤波的代价聚合,不同算法的误匹配率如表2表3所示。可以发现,在未经视差后处理的情况下,本算法的评价指标No-occluded和All分别为4.17%、6.04%,平均误匹配率为5.11%,优于其他三种传统算法,且本算法在匹配过程中发生误匹配的概率较小。

表 2. 不同代价算法的误匹配率(非遮挡区域)

Table 2. Mismatch rates of different cost algorithms (non-occluded area) unit: %

AlgorithmBaby1Wood1AloeMonopolyPlasticLampshade2Average
CT1.928.391.904.893.275.994.39
Impro-CT1.877.392.814.774.045.235.23
GRD3.597.662.177.326.099.715.37
Ours1.858.031.754.723.675.014.17

查看所有表

表 3. 不同代价算法的误匹配率(遮挡区域)

Table 3. Mismatch rates of different cost algorithms (occlusion area) unit: %

AlgorithmBaby1Wood1AloeMonopolyPlasticLampshade2Average
CT2.3812.192.199.0410.277.327.23
Impro-CT2.5410.602.098.519.537.306.76
GRD4.4711.582.7811.688.9213.778.87
Ours2.3012.101.978.296.095.496.04

查看所有表

分别采用CT、Impro-CT、GRD与本算法对六组标准立体图像对进行实验,得到的视差图如图3所示。可以发现,与其他三种算法相比,本算法获得的视差图质量更高。

图 3. 不同算法得到的视差图。(a)左图像;(b)右图像;(c)真实视差图;(d)CT;(e)Impro-CT;(f)GRD;(g)本算法

Fig. 3. Disparity images obtained by different algorithms. (a) Left image; (b) right image; (c) true disparity image; (d) CT; (e) impro-CT; (f) GRD; (g) our algorithm

下载图片 查看所有图片

3.2 算法性能测试

为验证本算法的稳健性,选取Middlebury2.0中的一组标准立体图像对(Aloe)分别用不同代价算法在不同光照和不同曝光条件下进行对比实验,结果如图4图5所示。可以发现,本算法在多尺度空间下采用引导滤波进行代价聚合,充分利用了图像的粗信息和细信息,获得的视差图精度较高;同时,相比传统算法,本算法能减弱光照、曝光等对立体匹配的干扰,稳健性较好。

图 4. 本算法得到的Aloe视差图。(a)左图像;(b)右图像;(c)真实视差图;(d)多尺度空间下的视差图;(e)最终视差图

Fig. 4. Aloe disparity images obtained by our algorithm. (a) Left image; (b) right image; (c) real disparity image; (d) disparity image in multi-scale space; (e) final disparity image

下载图片 查看所有图片

图 5. 不同算法在不同条件下得到的视差图。(a)左图像;(b)右图像;(c)真实视差图;(d)CT;(e)Impro-CT;(f)GRD;(g)本算法

Fig. 5. Disparity images obtained by different algorithms under different conditions. (a) Left image; (b) right image; (c) ground truth; (d) CT; (e) Impro-CT; (f) GRD; (g) our algorithm

下载图片 查看所有图片

为了验证本算法的实用性,选取三组实际的场景图像进行双目校正后作为输入,图像对中包含大量的弱纹理和深度不连续区域,且存在光照不均匀的问题,如图6所示。可以发现,本算法得到的视差图能很好地保留图像的轮廓信息,且有效区域的视差图更平滑,效果较好。

图 6. 实际场景的视差图。(a)左图像;(b)右图像;(c) 本算法生成的视差图

Fig. 6. Disparity images of the actual scene. (a) Left image; (b) right image; (c) disparity images generated by our algorithm

下载图片 查看所有图片

4 结论

提出了一种改进的立体匹配算法,在代价计算阶段,用支持窗口内灰度分布均匀度最小和最大的两个子区域中除窗口中心像素外的像素均值作为Census变换的参考值;引入图像的梯度信息,将梯度代价与Census代价进行融合,得到初始的匹配代价,降低了失真对代价计算的干扰,提高了算法的匹配精度;在图像的多尺度空间下分别进行基于引导滤波的代价聚合,充分利用了图像的粗信息和细信息,有效降低了图像的误匹配率。实验结果表明,本算法在Middlebury2.0评估测试平台上的平均误匹配率为5.11%,且具有很好的稳健性和实用性。

参考文献

[1] Scharstein D, Szeliski R. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J]. International Journal of Computer Vision, 2002, 47(1/2/3): 7-42.

[2] 程子怡, 卢荣胜, 毛翠丽. 光亮表面双目立体视觉三维形貌测量方法[J]. 激光与光电子学进展, 2020, 57(7): 071202.

    Cheng Z Y, Lu R S, Mao C L. Measurement method of three-dimensional shape of bright surface with binocular stereo vision[J]. Laser & Optoelectronics Progress, 2020, 57(7): 071202.

[3] KolmogorovV, ZabihR. Computing visual correspondence with occlusions using graph cuts[C]∥Proceedings Eighth IEEE International Conference on Computer Vision, July 7-14, 2001, Vancouver, BC, Canada. New York: IEEE, 2001: 508- 515.

[4] VekslerO. Stereo correspondence by dynamic programming on a tree[C]∥2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, June 20-25, 2005, San Diego, CA, USA. New York: IEEE, 2005: 384- 390.

[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] Holland J H. Genetic algorithms[J]. American Scientist, 1992, 267(1): 66-72.

[7] Yang QX. A non-local cost aggregation method for stereo matching[C]∥2012 IEEE Conference on Computer Vision and Pattern Recognition, June 16-21, 2012, Providence, RI, USA. New York: IEEE, 2012: 1402- 1409.

[8] Hirschmuller H, Scharstein D. Evaluation of stereo matching costs on images with radiometric differences[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 31(9): 1582-1599.

[9] Pollard S B, Mayhew J E, Frisby J P. PMF: a stereo correspondence algorithm using a disparity gradient limit[J]. Perception, 1985, 14(4): 449-470.

[10] Yoon K J, Kweon I S. Adaptive support-weight approach for correspondence search[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(4): 650-656.

[11] 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.

[12] 孔令寅, 朱江平, 应三丛. 基于引导图像和自适应支持域的立体匹配[J]. 光学学报, 2020, 40(9): 0915001.

    Kong L Y, Zhu J P, Ying S C. Stereo matching based on guidance image and adaptive support region[J]. Acta Optica Sinica, 2020, 40(9): 0915001.

[13] 马瑞浩, 朱枫, 吴清潇, 等. 基于图像分割的稠密立体匹配算法[J]. 光学学报, 2019, 39(3): 0315001.

    Ma R H, Zhu F, Wu Q X, et al. Dense stereo matching algorithm based on image segmentation[J]. Acta Optica Sinica, 2019, 39(3): 0315001.

[14] SteinF. Efficient computation of optical flow using the census transform[M] ∥Rasmussen C E, Bülthoff H H, Schölkopf B, et al. Pattern Recognition. DAGM 2004. Lecture Notes in Computer Science. Cham: Springer, 2004, 3175: 79- 86.

[15] 周旺尉, 金文光. 一种新颖的自适应权重Census变换立体匹配算法[J]. 计算机工程与应用, 2016, 52(16): 192-197, 215.

    Zhou W W, Jin W G. Novel stereo matching algorithm for adaptive weight Census transform[J]. Computer Engineering and Applications, 2016, 52(16): 192-197, 215.

[16] ZhangK, Fang YQ, Min DB, et al. Cross-scale cost aggregation for stereo matching[EB/OL]. [2020-06-18].https: ∥arxiv.org/abs/1403. 0316.

[17] Min DB, Lu JB, Do MN. A revisit to cost aggregation in stereo matching: how far can we reduce its computational redundancy?[C]∥2011 International Conference on Computer Vision, November 6-13, 2011, Barcelona, Spain. New York: IEEE, 2011: 1567- 1574.

萧红, 田川, 张毅, 魏博, 康家旗. 基于改进Census变换与梯度融合的立体匹配算法[J]. 激光与光电子学进展, 2021, 58(2): 0215008. Hong Xiao, Chuan Tian, Yi Zhang, Bo Wei, Jiaqi Kang. Stereo Matching Algorithm Based on Improved Census Transform and Gradient Fusion[J]. Laser & Optoelectronics Progress, 2021, 58(2): 0215008.

本文已被 8 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!