基于颜色和边缘信息的非局部立体匹配算法 下载: 901次
1 引言
立体匹配是计算机视觉中的一个重要问题,通过研究左右图像中对应点之间的关系求得视差图。在众多立体匹配算法中,全局立体匹配算法和局部立体匹配算法得到研究学者们的广泛关注。全局立体匹配算法的核心在于构建能量函数,通过最小化能量函数,并多次迭代得到视差图。该类算法精度较高,可同时兼顾低纹理区域和小间断区域,但运行时间较长,实时性较差。代表算法有动态规划法[1]、图割法[2]和置信度传播算法[3]等。局部立体匹配算法的关键在于找到一个固定或可移动的窗口,在窗口中进行代价计算、代价聚合和视差计算。该类算法的时间复杂度较低,实时性较好,但在低纹理区域、遮挡区域和视差不连续区域的匹配效果不够理想。
在局部立体匹配算法中,一方面窗口应足够大,以确保该窗口包含足够多的灰度变化;另一方面窗口应适当小,避免因考虑过多无关像素,增加算法的时间复杂度。众多学者对窗口大小的问题进行研究,较为成熟的算法有十字区域立体匹配算法[4]及其改进算法[5-6]和自适应支持权重立体匹配算法[7]及其改进算法[8-9]。无论这些局部算法对窗口大小的包容性有多强,始终会陷入窗口局部最优的困境。针对这一问题,Yang[10]提出非局部立体匹配算法(NLCA),不再构建窗口,利用树结构寻找像素之间的关系,求得视差图。该算法精度较高,但在纹理丰富区域仍会出现误匹配。Mei等[11]基于图像分割原理对图像进行分割,利用贪心算法合并分块的图像,进而求得视差图,但该算法容易陷入局部空洞的困境。Chen等[12]重新定义最小生成树算法中的权重函数,该算法兼顾了时间复杂度和匹配精度。传统的全局立体匹配算法和局部立体匹配算法是在图像最精细尺度上进行代价聚合,Zhang等[13]利用多尺度交互思想,提出由粗到精的跨尺度模型求得视差图。
本文在Yang[10]和Zhang等[13]算法的基础上,对传统非局部立体匹配算法做了改进,提出基于颜色和边缘信息的非局部立体匹配算法,在匹配代价和代价聚合阶段权重函数的计算中,综合考虑像素颜色和边缘信息。
2 改进的非局部立体匹配算法
传统非局部立体匹配算法的流程可以分为五步:代价计算、代价聚合、视差计算、视差精化以及后处理。所提算法流程如
2.1 权重函数
RGB颜色空间是根据人眼识别的颜色定义的一种颜色空间,是图像处理中最基本、最常用的颜色空间。在RGB颜色空间中,相邻顶点p和q之间的颜色权重f(p,q)可表示为
式中:Ii(p)为待匹配像素点p在i颜色通道中的色彩亮度;Ii(q)为待匹配像素点q在i颜色通道中的色彩亮度;fi(p,q)为相邻顶点p和q在i颜色通道中的权重值;fr、fg、fb分别为相邻顶点p和q在r、g、b三个颜色通道中的权重值。
边缘检测通过标识出亮度变化明显的像素点,反映图像的边缘结构信息。所提算法选取对方向性不敏感的拉普拉斯算子求解像素点p和q的边缘权重。通过边缘检测得到二值图像J,令J(p)、J(q)分别为边缘二值图像中像素点p和q的灰度图,当像素点p、q同时为边缘点或非边缘点时,|J(p)-J(q)|=0,反之|J(p)-J(q)|=1,则像素点p、q的边缘权重g(p,q)为
相邻顶点p和q之间边缘的相似性S(p,q)可表示为
式中:F(p,q)为相邻顶点p和q之间的组合权重;α用于调节颜色信息和边缘信息在权重函数中的比例;σ为权重调节系数。
2.2 代价计算
匹配代价反映左右图像对应点之间的相似性。传统非局部立体匹配算法利用像素灰度求得匹配代价,但灰度信息并不能反映像素的结构信息。此外,传统的立体匹配算法是在最精细尺度下进行立体匹配,这会忽略图像在不同尺度下的信息。基于上述两点考虑,利用跨尺度模型,综合考虑灰度和梯度信息,求得匹配代价。
假设左右图像的视差为d,即左图像中像素点p与对应点pd的横向距离差为d。综合考虑图像的灰度和梯度信息[14],则左图像中待匹配像素点p的初始匹配代价C(p,d)可表示为
式中:β为调节灰度绝对值差和横向梯度绝对值差的比例因子;τ1、τ2分别为像素灰度绝对值差和横向梯度绝对值差的截断值;CC(p,d)和CG(p,d)分别为灰度绝对值差和横向梯度绝对值差。令Il、Ir分别为左、右图像的灰度图,CC(p,d)和CG(p,d)可表示为
式中:
传统跨尺度模型可表示为
式中:C(n)(p(n),d(n))为第n尺度下的初始匹配代价C(p,d)[公式(6)],n={0,1,2,...,N},C(0)为最优尺度下的代价;
2.3 代价聚合
代价聚合过程综合考虑了周围像素的结构信息。原算法将整幅图像看作一个无向图G=(V,E),利用Kruskal算法计算最小生成树,通过树结构进行代价聚合,进而求得视差图。其中顶点集V为图像的像素点集,集合E为连接两顶点之间的集合。原算法在计算相邻顶点p和q之间的边缘权重时,只考虑了像素的颜色信息,这在相似背景下容易造成误匹配,因此利用重新构造的“颜色+边缘”权重函数[公式(4)]。
在原最小生成树算法中,代价聚合分为两步:先从最小生成树的叶节点到根节点进行初次代价聚合[
式中:P(pc)为节点pc的父代;C(A↑)(p,d)为树结构中节点p在视差d下的代价聚合;S(p,pc)为树结构中节点pc与节点p之间的权重;若p为叶节点,则C(A↑)(p,d)=C(p,d),即p在视差d下的代价聚合等价于p在视差d下的初始匹配代价。
其次是二次代价聚合,即从根节点到叶节点进行代价聚合[
式中:P(p)为节点p的父代;S[P(p),p]为P(p)和p的相似性;C(A)[P(p),d]为代价聚合值;S2[p,P(p)]为P(p)和p的相似性的平方。若p为根节点,则C(A)(p,d)=C(A↑)(p,d),即p在视差d下的代价聚合等价于p的子树的累加值。
图 2. 最小生成树结构中的代价聚合。(a)从叶节点到根节点;(b)从根节点到叶节点
Fig. 2. Schematic of cost aggregation in minimum spanning tree structure. (a) From leaf nodes to root nodes; (b) from root nodes to leaf nodes
从
2.4 视差计算与后处理
视差计算阶段,使用WTA[15]策略选择最优视差,即
式中:D为所有可能视差的集合。
使用WTA策略得到的视差,仍存在一些遮挡点和误匹配点。利用一系列视差优化方法[16]矫正得到的视差,通过左右一致性检测以确定视差变化幅度较小的区域,利用峰比率法检测视差图中的不稳定点,不稳定点的峰比率低于特定阈值点,峰比率为
式中:
利用近邻点法为误匹配点匹配到正确的对应点。近邻点法以选定的误匹配点为中心,分别向横、纵两个方向搜寻正确的对应点,即
式中:dlr=min(dl,dr),dud=min(du,dd),dlr为中心点在左、右两个方向上离中心点最近的正确匹配点视差的最小值,dud为中心点在上、下两个方向上离中心点最近的正确匹配点视差的最小值。最后,利用中值滤波对上述得到的不稳定点和误匹配点进行修正和优化。
3 实验结果分析
3.1 参数选择
实验使用处理器为Intel酷睿i5 5200U、主频为2.2 GHz、内存为4 GB的笔记本电脑,在VS2012软件上进行实验,所提算法的参数设置如
3.2 实验结果
实验使用的四张经典图像中,Tsukuba图像主要测试算法前向平行平面的匹配效果;Venus图像主要测试不同层次倾斜平面的匹配效果;Teddy图像主要验证算法在复杂场景下的鲁棒性;Cones图像主要测试该算法的整体性能。实验得到的视差图如
图 3. 所提算法与其他算法的实验结果。(a)原始图像;(b)真实视差图;(c)原算法的视差图;(d)所提算法的视差图;(e)所提算法误匹配情况
Fig. 3. Experimental results of proposed algorithm and other algorithms. (a) Original images; (b) true disparity images; (c) disparity images of traditional algorithm; (d) disparity images of proposed algorithm; (e) mismatch of proposed algorithm
当阈值为1时,所提算法与原算法的实验结果对比如
表 2. 阈值为1时的误匹配像素对比
Table 2. Comparison of mismatched pixels with threshold is 1unit: %
|
当阈值为0.5时,其他参数设置与
表 3. 阈值为0.5时的误匹配像素对比
Table 3. Comparison of mismatched pixels with threshold is 0.5unit: %
|
3.3 参数的稳健性验证
对所提算法的参数作稳健性测试,结果如
Teddy的纹理结构较为复杂,且具有较大视差选取空间,因而在改变权重比例参数和跨尺度参数时,图像的匹配误差略有波动。而在相同的权重比例参数下,由于视差变换范围较小,图像Venus和Tsukuba对跨尺度参数的变化不敏感,稳定性较好,平均误匹配率较低。当跨尺度参数和权重比例参数变化时,四幅图像的平均误匹配率变化不大,表明所提算法的稳健性较好。
图 4. 不同参数的稳健性测试结果。(a) λ;(b) α
Fig. 4. Robustness test results for different parameters. (a) λ; (b) α
由上述分析易知,四幅经典图像的误匹配率由低到高的顺序依次是Venus、Tsukuba、Cones、Teddy,这与原算法的情况一致;但所提算法中,四幅图像的误匹配率均低于原算法。
表 4. 误差减少比较
Table 4. Error reduction comparisonunit: %
|
4 结论
提出一种基于颜色和边缘信息的非局部立体匹配算法,在原算法的匹配代价中引入跨尺度模型,使得立体匹配的过程更加符合人眼的视觉原理。使用最小生成树进行代价聚合时,考虑到除了色彩,边缘信息也可反映像素之间的关系,并重新构造了权重函数,减少了原算法在相似背景下的误匹配率。实验结果表明,所提算法的匹配效果优于传统NLCA算法和经典局部立体匹配算法,图像的平均误匹配率由原算法的6.02%降低到5.10%,提高了原算法在纹理丰富区域的匹配精度。
[1] VekslerO. Stereo correspondence by dynamic programming on a tree[C]∥2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), June 20-25, 2005, San Diego, CA, USA. New York: IEEE, 2005: 384- 390.
[2] KolmogorovV, ZabihR. Computing visual correspondence with occlusions using graph cuts[C]∥Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001, July 7-14, 2001, Vancouver, BC, Canada. New York: IEEE, 2001: 508- 515.
[3] Besse F, Rother C, Fitzgibbon A, et al. Patch match belief propagation for correspondence field estimation[J]. International Journal of Computer Vision, 2014, 110(1): 2-13.
[4] MeiX, SunX, ZhouM, et al. On building an accurate stereo matching system on graphics hardware[C]∥2011 IEEE International Conference on Computer Vision Workshops, November 6-13, 2011, Barcelona, Spain. New York: IEEE, 2011: 467- 474.
[5] 苏修, 陈晓冬, 徐怀远, 等. 基于HSV颜色空间的自适应窗口局部匹配算法[J]. 激光与光电子学进展, 2018, 55(3): 031103.
[6] 祝世平, 李政. 基于改进梯度和自适应窗口的立体匹配算法[J]. 光学学报, 2015, 35(1): 0110003.
[7] 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.
[8] 龚文彪, 顾国华, 钱惟贤, 等. 基于颜色内相关和自适应支撑权重的立体匹配算法[J]. 中国激光, 2014, 41(8): 0812001.
[9] De-Maeztu L, Villanueva A, Cabeza R. Stereo matching using gradient similarity and locally adaptive support-weight[J]. Pattern Recognition Letters, 2011, 32(13): 1643-1651.
[10] Yang QX. A non-local cost aggregation method for stereo matching[C]∥2013 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2013, Portland, OR, USA. New York: IEEE, 2012: 1402- 1409.
[11] MeiX, SunX, DongW, 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- 322.
[12] ChenD, ArdabilianM, Wang XF, et al. An improved non-local cost aggregation method for stereo matching based on color and boundary cue[C]∥2013 IEEE International Conference on Multimedia and Expo, July 15-19, 2013, San Jose, CA, USA. New York: IEEE, 2013: 1- 6.
[13] ZhangK, FangY, MinD, et al. Cross-scale cost aggregation for stereo matching[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, July 15-19, 2013, San Jose, CA, USA. New York: IEEE, 2014: 1590- 1597.
[14] Robinson D, Milanfar P. Bias minimizing filter design for gradient-based image registration[J]. Signal Processing: Image Communication, 2005, 20(6): 554-568.
[15] 张大禹, 黄灿. 基于WTA立体匹配算法的人体检测方法研究[J]. 电子测试, 2013( 5): 66- 68.
Zhang DY, HuangC. The algorithm of WTA stereo matching based on the human detection method[J]. Electronic Test, 2013( 5): 66- 68.
[16] Menz M D, Freeman R D. Stereoscopic depth processing in the visual cortex: a coarse-to-fine mechanism[J]. Nature Neuroscience, 2003, 6(1): 59-65.
[17] HuW, ZhangK, SunL, et al. Virtual support window for adaptive-weight stereo matching[C]∥2011 Visual Communications and Image Processing, November 6-9, 2011, Tainan, Taiwan, China. New York: IEEE, 2011: 1249- 1256.
[18] Zhang K, Lu J, Lafruit G. Cross-based local stereo matching using orthogonal integral images[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2009, 19(7): 1073-1079.
Article Outline
马晴晴, 王彩芳. 基于颜色和边缘信息的非局部立体匹配算法[J]. 激光与光电子学进展, 2020, 57(10): 101020. Qingqing Ma, Caifang Wang. Non-Local Stereo Matching Algorithm Based on Color and Edge Information[J]. Laser & Optoelectronics Progress, 2020, 57(10): 101020.