激光与光电子学进展, 2019, 56 (8): 081004, 网络出版: 2019-07-26   

基于二次引导滤波的局部立体匹配算法 下载: 959次

Local Stereo Matching Algorithm Based on Secondary Guided Filtering
作者单位
1 上海工程技术大学电子电气工程学院, 上海 201600
2 上海晨光文具股份有限公司, 上海 201406
摘要
针对当前局部立体匹配视差精度低的问题,提出了一种二次引导滤波模型,并应用于局部立体匹配算法。在新设计的二次引导滤波模型中,将第一次引导滤波的输出图像作为第二次引导滤波的引导图像,克服了传统引导滤波的缺陷,抑制了噪声。在代价聚合阶段引入二次引导滤波,使用跨尺度框架聚合各尺度的匹配代价,进一步提高算法匹配精度。实验结果表明,基于二次引导滤波的局部立体匹配算法在Middlebury测试平台上对标准立体图像对的检测具有更高的精度,且代价聚合步骤的时间复杂度与滤波窗口大小无关,在匹配精度和速度上都取得了良好的效果。二次引导滤波的思想有望在立体匹配等领域取得更广泛的应用。
Abstract
To solve the problems of low disparity accuracy in local stereo matching, a secondary guided filtering model is proposed and applied to the local stereo matching algorithm. The newly designed secondary guided filtering model overcomes the deficiency of traditional guided filtering and further suppresses the noises because the result of the first guided image filtering is used as the guiding image of the second guided filtering. In the cost aggregation phase, the introduction of the secondary guided filtering further improves the matching accuracy because the cross-scale framework is used to aggregate the matching cost volume at each scale. The experimental results demonstrate that the local stereo matching algorithm based on the secondary guided filtering possesses a high accuracy in the detection of standard stereo image pairs on the Middlebury benchmark. Moreover, the temporal complexity of the cost aggregation phases is independent of the filtering kernel size, and the proposed algorithm achieves good performances in speed and accuracy. The idea of the secondary guided filtering has potential applications in stereo matching and others.

1 引言

立体视觉匹配是一种从平面图像中获取深度信息的技术,在三维场景重建、智能机器人导航、工业视觉检测、虚拟现实等领域具有较为广泛的应用[1]。立体匹配的本质是从两幅或多幅图像的不同视点中找到对应的匹配点,通过计算视差来获取深度信息。Scharstein等[2]通过对两幅图像生成稠密视差的立体匹配算法进行分类和评估,将立体匹配总结为代价计算、代价聚合、视差计算和视差精细等4个相对独立的步骤。与立体匹配算法相关的研究可分为全局立体匹配算法和局部立体匹配算法。全局算法是基于全局约束的优化算法,利用对应整个图像的数据信息进行计算,达到全局最优解,但该方法计算较为复杂,实时性较差[3-4]。局部算法是基于区域约束的匹配算法,利用像素点的局部信息来计算视差,从而获得局部最优解,具有快速、易于实现等优点[5-10]

与局部立体匹配算法相关的研究主要集中在代价聚合阶段[11],该阶段对最终视差图的质量影响也最大,因此,多数研究者通过对代价聚合阶段的改进和创新来提高视差精度。如Yoon等[12]提出的自适应支持权重算法成为局部立体匹配算法中的经典算法之一,该算法的本质是在代价聚合阶段引入了双边滤波器[13],根据待匹配像素点间的颜色和距离来计算各像素点的权值[14]。再如Hosni 等[15]将引导滤波[16]引入到代价聚合阶段,提出一种基于引导滤波器的立体匹配算法。相比双边滤波,引导滤波具有导向性,能更好地保护图像边缘细节,并且算法复杂度与支持窗口大小无关,在提升算法效率的同时提高了匹配精度。近年来,基于跨尺度的代价聚合算法[17-19]进一步推动了立体匹配的发展。当前在代价聚合阶段的研究主要集中在一次或单次引导滤波方面,其相关的视差精度还有进一步提高的空间。

本文基于引导滤波提出了一种二次引导滤波模型,并应用于局部立体匹配算法。介绍了引导滤波器理论,在此基础上引入二次引导滤波模型;对二次引导滤波在立体匹配算法各步骤中的应用进行了详述,尤其在代价聚合阶段引入跨尺度聚合框架,并在跨尺度聚合框架中使用二次引导滤波模型来聚合各尺度的匹配代价;给出实验结果与分析,表明二次引导滤波的引入可以使标准立体图像对具有更高精度的视差图和更低的错误匹配率。

2 引导滤波

2.1 引导滤波

引导滤波是一种基于局部线性模型的边缘保持算法,由He等[16]于2013年提出。假设引导图像为I,输入图像为p,输出图像为q,则引导滤波器输出图像q可视为引导图像I在窗口ωk下的线性变化,即

qi=akIi+bk,iωk,(1)

式中:ωk为以像素k为中心、半径为r的方形窗口;akbk为当窗口中心位于k时该线性函数的不变系数;i为以点k为中心窗口的邻域点;∀i为任意的i都属于ωk

为了得到与输入图像p最接近的输出图像q,使用最小二乘法来拟合(1)式中的线性关系,其代价函数为

E(ak,bk)=iωk(akIi+bk-pi)2+εak2],(2)

式中:ε为一个用来防止ak过大的正则化参数,其值在调用时人为指定;pi为输入图像pi的像素值。利用最小二乘法求解上述最优问题,得到最优的akbk

ak=1ωIipi-μkp-kσk2+ε,(3)bk=p-k-akμk,(4)

式中:ukσk2分别为引导图像I在局部窗口ωk中的均值和方差; ω为窗口ωk中的像素个数; p-k为待滤波图像p在窗口ωk中的均值。最后取均值可以得到(1)式的结果为

qi=1ωk:iωk(akIi+bk)=a̅iIi+b̅i,(5)

其中,

a̅i=1ωkωiak,b̅i=1ωkωibk,(6)

式中: a̅ib̅i分别为akbk在窗口ω中的均值。

2.2 二次引导滤波

输入图像p通常会存在一定的噪声,而引导滤波并不能有效评估图像的噪声信息,尤其是高频信息,即使经过滤波后的图像q噪声有所减弱,但仍有不同频段的噪声残余[20]。为了克服一次引导滤波的缺陷,考虑一种二次引导滤波模型来进一步抑制噪声。

图1为采用二次引导滤波的模型,包含两次引导滤波过程。首先,引导滤波器G1对待滤波输入图像p进行滤波,得到引导滤波边缘保持后的输出图像q;再将输出图像q作为第二次引导滤波器G2的引导图像,经过二次引导滤波后的输出图像为q'。值得注意的是,模型中的两次引导滤波器窗口参数设置不同,第一次引导滤波器G1的窗口较大,可初步估计原图的结构信息,第二次引导滤波器G2的窗口较小,保留了图像细节。

图1所示,在一次引导滤波的基础上,将第一次引导滤波的输出q作为第二次引导滤波的引导图像,输入图像仍为原输入图像p,输出图像为q'。则引导滤波器输出q'可视为引导图像q在窗口ωk'下的线性变化,即

q'l=a'kql+b'k,lωk',(7)

图 1. 二次引导滤波模型

Fig. 1. Secondary guided filtering model

下载图片 查看所有图片

式中:ωk'为以像素k'为中心,半径为r'的方形窗口,这里r'的设置较小;a'kb'k为当窗口中心位于k'时该线性函数的不变系数,l为以点k'为中心窗口的邻域点。

对(7)式用最小二乘法得到二次引导滤波的输出为

q'l=1ω'k':lωk'(a'kql+b'k)=a̅'lqj+b̅'l,(8)

式中: ω'为窗口ωk'中的像素个数; a̅'lb̅'l分别为a'kb'k在窗口ωk'中的均值。

3 立体匹配算法

算法流程如图2所示,输入待匹配图像同样经过匹配代价计算、匹配代价聚合、视差计算和视差精化等4个步骤。匹配代价阶段计算采用经典的强度加梯度方法,计算出每一个视差下的匹配代价;代价聚合阶段引入跨尺度聚合框架,在跨尺度聚合框架中使用二次引导滤波模型来聚合各尺度的匹配代价;视差计算阶段采用Winner-Takes-All(WTA)策略计算视差得到初始视差图;视差精化阶段采用加权中值滤波进行后处理得到最终视差图。

3.1 匹配代价计算

匹配代价是以左右两个视角拍摄同一场景不同图像的待匹配像素点间相似度的度量,是整个立体匹配的基础。所提算法采用当前常用的匹配代价计算方法——颜色强度加梯度的匹配代价。该方法运用图像RGB三通道的颜色差的绝对值,结合一个阈值求三通道均值,并与图像梯度信息加权,得到完整的图像信息。其匹配代价为

C(i,l)=(1-α)min(I(i)-I'(il),τc)+α·min(xI(i)-xI'(il),τg),(9)

式中:I,I'分别为左右两幅图像;I(i)为图像I中像素点i在RGB三通道下的颜色向量;I'(il)为图像I'在视差l下的对应向量; x为x方向的梯度;τc为亮度截断值;τg为梯度截断值;α为强度和梯度的加权因子;C(i,l)为在RGB三通道下的匹配代价卷。

图 2. 算法流程图

Fig. 2. Flow chart of proposed algorithm

下载图片 查看所有图片

3.2 代价聚合

代价聚合是局部立体匹配算法中最重要的环节,通过对局部区域中的匹配代价进行累加聚合来提高匹配精确性[21-22]。大部分局部立体匹配算法的代价聚合可以看成是对代价体进行滤波的过程。传统的匹配代价聚合大都是在图像的最大分辨率下进行处理的,没有模拟人眼视觉从远到近的过程,并且在代价聚合阶段均采用一次滤波,匹配效果有进一步改进的空间。

运用高斯金字塔采样来模拟人眼视觉系统在不同尺度接收到的视觉信息的过程,并引入二次引导滤波模型。1)通过高斯采样得到不同尺度的匹配代价,2)对各个尺度下的匹配代价进行二次引导滤波,3)融合各尺度的匹配代价获得最终匹配代价。使用二次引导滤波模型来克服传统引导滤波的缺陷,在第一次引导滤波时,滤波窗口较大,消除噪声的干扰,获得可靠的匹配结果;进行第二次引导滤波时,滤波窗口较小,保留边缘细节的同时,获得更有效的代价聚合信息,进一步提高匹配精度,减小误匹配率。

为了验证二次引导滤波模型在立体匹配中的效果,在跨尺度代价聚合框架中分别使用一次引导滤波和二次引导滤波进行对比。测试素材为Teddy在不同视角的两幅图片。图3(a)和(b)分别是算法框架中使用一次引导滤波和二次引导滤波模型获取的最终视差图。可以看出,二次引导滤波模型获取的滤波效果较好,生成的视差图匹配精度更高。为了进一步清晰展示二次引导滤波效果,用灰白色框框出了对比效果较明显的区域。很明显,二次引导滤波生成的视差图在平滑区域进行了充分平滑,相比于一次引导滤波生成的视差图,在细节保留程度、视差层次感均有提升。这说明提出的二次引导滤波模型可进一步提高算法匹配精度。

图 3. Teddy在不同滤波器下的视差图。(a)一次引导滤波;(b)二次引导滤波

Fig. 3. Disparity maps of different filters on Teddy image. (a) Primary guided filtering; (b) secondary guided filtering

下载图片 查看所有图片

3.3 视差计算和视差精化

代价聚合后得到的最终匹配代价为 C˙(i,l),采用WTA来计算,选取最小匹配代价对应的视差作为初始视差。此时有

DL=argminC˙dR(i,l),(10)

式中:DL为彩色图像对应的左视差图;argmin为 C˙(i,l)取最小值时的变量值;R为所有可能的视差值的集合。

通过WTA后得到的初始视差图中还存在一些错误匹配点,需要进行后处理。所提算法主要是在代价聚合阶段进行了改进,因此在视差精化步骤中只进行了简单处理。使用加权中值滤波对初始视差图进行去噪,得到最终视差图。

4 实验结果与分析

所采用的实验环境为:Window 7 X64系统,Intel Core i5主频2.5 GHz,4 GB内存。用VS 2013编译下的C++编程环境与OpenCV2.46图像处理库混合编程实现算法。为了验证所提算法的实际效果,使用学术界公认的Middlebury[23]平台提供的立体匹配数据集来验证,该平台提供图像的标准视差图,将实验结果视差图与真实视差图对比可以得到量化的匹配误差,从而客观地评价算法的精度。共使用4组标准彩色图像数据集:Tsukuba(384 pixel×288 pixel)、Venus(434 pixel×383 pixel)、Teddy(450 pixel×375 pixel)、Cones(450 pixel×375 pixel)分别与真实视差(ground truth)进行对比。

4.1 Middlebury平台精度评估

图4(a)~(e)显示了所提算法在Middlebury平台下4组标准图像数据集的测试结果。其中图4(a)为4组标准数据集原始图像;图4(b)为标准数据集原始图像的真实视差图;图4(c)为跨尺度一次引导滤波(S-GF算法)生成的视差图;图4(d)为所提算法生成的最终视差图;图4(e)为所提算法包含误匹配点的视差图,其中红色表示非遮挡区域的误匹配点(彩图请参见电子版)。可以看出,算法误匹配点主要出现在物体边缘和图片边缘处。对比图4(c)和图4(d),所提算法生成的视差图与跨尺度引导滤波[17]相比,在整体和边缘上均有较大的改进。

图 4. Middlebury标准图像对在不同方法下的视差结果。(a)原始图像;(b)真实视差图;(c)跨尺度GF算法视差图;(d)所提算法视差图;(e)所提算法误匹配点

Fig. 4. Disparity results of Middlebury stereo pairs by different algorithms. (a) Original color images; (b) real disparity maps; (c) disparity maps obtained by multiscale guided filtering; (d) disparity maps obtained by proposed algorithm; (e) error matching point by proposed algorithm

下载图片 查看所有图片

为了定量分析,表1给出了所提算法与当前优秀的局部立体匹配算法在Middlebury平台下的定量结果检测对比。为了保持定量分析一致性,这里设置错误阈值(error)为1,即算法生成视差图与真实视差图对应点相差一个像素以上,判定该点为误匹配点。该结果以在非遮挡区域(nonocc)、所有区域(all)、视差不连续区域(disc)下的匹配错误百分比来衡量。最后统计4组图片在nonocc、all、disc下的误匹配率的平均值,得出4组图片的平均误差率(PBP)。为了更好地评测算法,选取4种算法进行比较,其中包括基于最小生成树的立体匹配算法(NL)[5]、基于分割树的立体匹配算法(ST)[6]、基于双边滤波的立体匹配算法(BF)[12]和基于引导滤波器的立体匹配算法(GF)[15],S-NL、S-ST、S-BF、S-GF为上述算法加入跨尺度(S)后的算法[17],与所提算法(表1中黑体标注)具有较高的可比性。

表 1. Middlebury网站标准图像测试对的评估结果对比

Table 1. Comparison of experimental results of Middlebury stereo pairs%

AlgorithmTsukubaVenusTeddyConesAvgPBP
nonoccalldiscnonoccalldiscnonoccalldiscnonoccalldisc
S-NL1.762.877.461.243.236.185.7314.8817.244.4216.0514.057.93
S-ST2.043.258.241.413.486.766.2215.4817.884.7616.5814.278.37
S-BF2.333.218.341.293.196.858.1717.2919.465.4115.9314.678.85
S-GF2.33.48.561.093.166.536.9916.6118.863.2314.213.358.19
Proposed1.822.997.350.341.533.456.9314.7416.083.212.2911.456.84

查看所有表

表1可以看出,图像Venus中nonocc、all、disc的匹配错误率分别为0.34%、1.53%、3.45%,均优于其他算法;同样,Tsukuba的匹配错误率相较于其他算法也有不小的改进;所提算法总体平均误差率为6.84%,相比于基于跨尺度框架的一次引导滤波立体匹配算法,总体平均误差降低了1.35%。

4.2 运行时间评估

表2为所提算法与当前算法的实际平均运行时间对比。可以看出,所提算法(表2 中黑体标注)相比跨尺度双边滤波算法在运行时间上也有了很大的改进,平均运行时间降低为跨尺度双边滤波算法的1/25,匹配精度提高了23%;相比于跨尺度一次引导滤波在平均运行时间上增加了25%,匹配精度提高了16%;与跨尺度分割树算法相比,在运行时间上增加了45%,在匹配精度上提高了18%。由此可见,所提算法虽然增加了稍许运行时间,但在匹配精度上具有较大的改进。

表 2. 算法平均运行时间对比

Table 2. Comparison of average runtime of different algorithmss

AlgorithmTsukubaVenusTeddyCones
S-ST4.557.8636.2036.32
S-BF203.76380.711287.731391.03
S-GF3.987.6942.3642.48
Proposed5.6411.0353.4953.54

查看所有表

5 结论

基于传统的引导滤波理论提出了一种二次引导滤波模型,并分析其在抑制噪声方面的优势。在代价聚合阶段引入跨尺度聚合框架,并在跨尺度聚合框架中使用二次引导滤波模型来聚合各尺度的匹配代价,相比于传统引导滤波,二次引导滤波模型具有更好的边缘平滑度和滤波效果。评估结果显示,总体平均误差率仅为6.84%,相比于其他算法得到了进一步提高。所提出的模型为下一步工程实践的进一步应用打下了基础。

参考文献

[1] Wang Q, Fang J W, Yuan Y. Adaptive road detection via context-aware label transfer[J]. Neurocomputing, 2015, 158: 174-183.

[2] ScharsteinD, SzeliskiR, ZabihR. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[C]∥Proceedings IEEE Workshop on Stereo and Multi-Baseline Vision (SMBV 2001), December 9-10, 2001, Kauai, HI, USA. New York: IEEE, 2001: 131- 140.

[3] 许金鑫, 李庆武, 刘艳, 等. 基于色彩权值和树形动态规划的立体匹配算[J]. 光学学报, 2017, 37(12): 1215007.

    Xu J X, Li Q W, Liu Y, et al. Stereo matching algorithm based on color weights and tree dynamic programming[J]. Acta Optica Sinica, 2017, 37(12): 1215007.

[4] Peng Y, Li G, Wang R G, et al. Stereo matching with space-constrained cost aggregation and segmentation-based disparity refinement[J]. Proceedings of SPIE, 2015, 9393: 939309.

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

[6] MeiX, SunX, Dong WM, et al. Segment-tree based cost aggregation for stereo matching[C]∥2013 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2013, Portland, OR, USA. New York: IEEE, 2013: 313- 320.

[7] 刘雪松, 沈建新, 张燕平. 基于人眼视觉特性的自适应支持权重立体匹配算法[J]. 激光与光电子学进展, 2018, 55(3): 031013.

    Liu X S, Shen J X, Zhang Y P. Adaptive support weight stereo matching algorithm based on human visual characteristics[J]. Laser & Optoelectronics Progress, 2018, 55(3): 031013.

[8] 龚文彪, 顾国华, 钱惟贤, 等. 基于颜色内相关和自适应支撑权重的立体匹配算法[J]. 中国激光, 2014, 41(8): 0812001.

    Gong W B, Gu G H, Qian W X, et al. Stereo matching algorithm based on the inter color correlation and adaptive support weight[J]. Chinese Journal of Lasers, 2014, 41(8): 0812001.

[9] 郝红侠, 刘芳, 焦李成, 等. 采用结构自适应窗的非局部均值图像去噪算法[J]. 西安交通大学学报, 2013, 47(12): 71-76.

    Hao H X, Liu F, Jiao L C, et al. A non-local means algorithm for image denoising using structure adaptive window[J]. Journal of Xi'an Jiaotong University, 2013, 47(12): 71-76.

[10] 朱书进, 李跃华. 基于自适应流形高维滤波的太赫兹图像滤波算法[J]. 太赫兹科学与电子信息学报, 2016, 14(4): 497-501, 507.

    Zhu S J, Li Y H. A terahertz image denoising algorithm based on adaptive manifolds and high-dimensional filtering[J]. Journal of Terahertz Science and Electronic Information Technology, 2016, 14(4): 497-501, 507.

[11] Choi O, Chang H S. Yet another cost aggregation over models[J]. IEEE Transactions on Image Processing, 2016, 25(11): 5397-5410.

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

[13] TomasiC, ManduchiR. Bilateral filtering for gray and color images[C]∥Sixth International Conference on Computer Vision, January 7, 1998, Bombay, India. New York: IEEE, 1998: 839- 846.

[14] Zhu S, Cao D H, Wu Y B, et al. Edge-aware dynamic programming-based cost aggregation for robust stereo matching[J]. Journal of Electronic Imaging, 2015, 24(4): 043016.

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

[16] He K M, Sun J, Tang X O. Guided image filtering[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(6): 1397-1409.

[17] ZhangK, Fang YQ, Min DB, et al. Cross-scale cost aggregation for stereo matching[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 1590- 1597.

[18] 姚莉, 刘助奎, 王秉凤. 基于金字塔变换跨尺度代价聚合的立体匹配[J]. 系统仿真学报, 2016, 28(9): 2227-2234.

    Yao L, Liu Z K, Wang B F. Stereo matching based on pyramid transform cross-scale cost aggregation[J]. Journal of System Simulation, 2016, 28(9): 2227-2234.

[19] Marr D, Poggio T. A computational theory of human stereo vision[J]. Proceedings of the Royal Society B: Biological Sciences, 1979, 204(1156): 301-328.

[20] 尹诗白, 王一斌, 李大鹏, 等. 两次引导滤波的显微视觉散焦图像快速盲复原[J]. 光学学报, 2017, 37(4): 0410002.

    Yin S B, Wang Y B, Li D P, et al. Fast blind restoration for microscopic visual defocused images based on two guided filterings[J]. Acta Optica Sinica, 2017, 37(4): 0410002.

[21] 陈松, 陈晓冬, 苏修, 等. 基于加权引导滤波的局部立体匹配算法[J]. 纳米技术与精密工程, 2017, 15(5): 394-399.

    Chen S, Chen X D, Su X, et al. Local stereo matching algorithm based on weighted guided filter[J]. Nanotechnology and Precision Engineering, 2017, 15(5): 394-399.

[22] 王志, 朱世强, 卜琰, 等. 改进导向滤波器立体匹配算法[J]. 浙江大学学报(工学版), 2016, 50(12): 2262-2269.

    Wang Z, Zhu S Q, Bu Y, et al. Stereo matching algorithm using improved guided filtering[J]. Journal of Zhejiang University (Engineering Science), 2016, 50(12): 2262-2269.

[23] Scharsteinand D, Szeliski R, Hirschmüller H. The middlebury stereo vision page[EB/OL]. ( 2001- 12- 19)[2018-08-24]. . http://vision.middlebury.edu/stereo/

王凯, 李志伟, 朱成德, 王鹿, 黄润才, 郭亨长. 基于二次引导滤波的局部立体匹配算法[J]. 激光与光电子学进展, 2019, 56(8): 081004. Kai Wang, Zhiwei Li, Chengde Zhu, Lu Wang, Runcai Huang, Hengchang Guo. Local Stereo Matching Algorithm Based on Secondary Guided Filtering[J]. Laser & Optoelectronics Progress, 2019, 56(8): 081004.

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

相关论文

加载中...

关于本站 Cookie 的使用提示

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