sad代价计算_基于改进代价计算和自适应引导滤波的立体匹配

  • Post author:
  • Post category:其他


闫利, 王芮

, 刘华, 陈长军. . 基于改进代价计算和自适应引导滤波的立体匹配. 光学学报, 2018, 38(11): 1115007-。

Yan Li, Wang Rui

, Liu Hua, Chen Changjun. . Stereo Matching Method Based on Improved Cost Computation and Adaptive Guided Filter. Acta Agronomica Sinica, 2018, 38(11): 1115007-.

基于改进代价计算和自适应引导滤波的立体匹配

闫利, 王芮*, 刘华, 陈长军

武汉大学测绘学院, 湖北 武汉 430079

摘要

针对现有局部立体匹配算法在弱纹理区域匹配精度低的问题,提出一种基于改进代价计算和自适应引导滤波代价聚合的局部立体匹配算法。该算法首先将增强后的梯度信息与基于增强梯度的Census变换相结合,构建代价计算函数;然后对图像的每一个像素构建自适应形状十字交叉窗口,并基于自适应窗口进行引导滤波代价聚合;最后通过视差计算和多步视差精化得到最终的视差图。实验结果表明,改进后的算法在Middlebury测试平台上对标准立体图像对的平均误匹配率为4.80%,与基于传统引导滤波器的立体匹配算法相比,本文算法在弱纹理区域取得更好的匹配结果。

关键词

机器视觉; 立体匹配; 代价计算; 自适应引导滤波; Census变换

Stereo Matching Method Based on Improved Cost Computation and Adaptive Guided Filter

Yan Li, Wang Rui*, Liu Hua, Chen Changjun

School of Geodesy and Geomatics, Wuhan University, Wuhan, Hubei 430079, China

Abstract

To solve the problem of low matching accuracy in textureless regions, a local stereo matching method is proposed based on improved cost computation and adaptive shape guided filter. First, an efficient cost function combining enhanced image gradient and enhanced gradient-based Census transform is introduced for cost computation. Then, an adaptive shape cross-based window is constructed for each pixel, and guided filter aggregation is implemented based on this adaptive window. The final disparity map is obtained after disparity computation and multi-step disparity refinement. The experimental results demonstrate that the average matching error rate of the proposed algorithm is 4.80% for stardard image paris on Middlebury benchmark. Compared with traditional guided filter-based method, the proposed method has better matching results in textureless regions.

Key words

machine vision; stereo matching; cost computation; adaptive guided filter; Census transform

论文信息

doi:10.3788/AOS201838.1115007

OCIS codes:

150.1135; 330.1400; 100.6890

收稿日期:2018-05-23

接受日期:2018-07-12

基金项目:国家重点研发计划2017YFC0803802

1 引言

立体匹配是通过寻找同一场景在不同视角下的两幅或多幅图像的像素匹配点, 逐像素获取视差, 从而恢复场景深度信息的过程, 是摄影测量和计算机视觉领域的重要研究课题, 在三维重建[、数字表面模型生成[、虚拟现实和无人驾驶[等领域有着广泛的应用。Scharstein等[对典型的立体匹配算法进行了研究和总结, 形成了立体匹配算法的理论框架, 将现有的立体匹配算法分为全局算法和局部算法两类。全局立体匹配算法通过全局能量函数最小化来求取视差, 精度较高但是计算复杂, 常见的全局算法有置信度传播匹配算法[、图割法[和动态规划匹配算法[等。局部立体匹配算法利用窗口内的邻域信息来进行匹配, 精度较全局算法差, 但是计算复杂度低, 易于实现。局部立体匹配算法通常可以分为4步:1)匹配代价计算; 2)代价聚合; 3)视差计算/优化; 4)视差精化。

常见的匹配代价计算方法有基于像素的匹配代价、基于窗口的匹配代价、基于非参数变换的匹配代价, 以及互信息[。基于像素的匹配代价包括灰度差绝对值(AD)、灰度差平方(SD)、采样不敏感的BT(Birchfiedld-Tomasi)[等; 基于窗口的匹配代价包括灰度差绝对值和(SAD)、灰度差平方和和归一化互相关等; 基于非参数变换[的匹配代价包括Census和Rank。其中, 基于图像颜色的算法(AD、SD等)对噪声和光照变化非常敏感, Census变换对光照变化具有较好的稳健性, 但是在重复纹理区域效果较差; 因此, 将多种代价函数相结合构造新的匹配代价的方法被更广泛使用。Hosni等[将SAD和梯度信息相结合作为新的匹配代价函数; Mei等[结合AD和Census变换进行代价计算, 在弱纹理区域和重复纹理结构区域都取得了很好的结果; Zhu等[将AD、梯度信息和Census变换结合, 提高了算法的匹配精度。

代价聚合是局部立体匹配算法中最重要的一步, 通过对支持窗口内的初始匹配代价进行求和或取平均来提高匹配可靠性。目前常见的局部聚合方法主要分为自适应支持窗口法(VSW)[提出了一种基于十字交叉的自适应窗口, 利用相邻像素的颜色信息和空间距离关系在水平和垂直方向扩展邻域像素, 形成一个十字交叉区域。Mei等[在此基础上改进了像素扩展的判断准则, 提出双距离阈值和双色彩阈值准则, 提高了弱纹理区域的匹配精度。祝世平等[提出一种基于线性可变阈值的臂长判断准则。基于ASW的方法则是通过对固定窗口内的相邻像素分配不同的权重来进行代价聚合。Yoon等[首次提出了基于双边滤波器的立体匹配算法, 并取得优异的性能, 但其计算复杂度较高。Hosni等[提出一种利用引导滤波器(GF)[的代价聚合算法, 与双边滤波器相比, 引导滤波器可以更好地保持边缘, 并且其计算复杂度与窗口大小无关, 因此在实时系统中得到了广泛使用。Yang等[基于此思想将VSW和ASW结合, 提出了一种基于自适应矩形窗口进行滤波的立体匹配算法。

为提高弱纹理区域的匹配精度, 本文提出一种基于改进代价计算和自适应引导滤波的立体匹配算法。首先, 将增强后的梯度信息和基于增强梯度的Census变换相结合进行匹配代价计算; 然后, 在代价聚合阶段, 对图像的每一个像素构建自适应十字交叉窗口, 并基于自适应窗口进行引导滤波代价聚合; 最后, 采用Winner-Take-All(WTA)策略进行视差计算, 对错误匹配点进行视差精化, 得到最终的视差图。

2 算法描述

本文算法以经过立体校正后的立体影像对为输入, 对立体影像对进行匹配代价计算、代价聚合、视差计算和多步视差精化后, 输出视差图, 算法的总体流程如图1所示。匹配代价计算采用增强梯度信息和基于增强梯度的Census变换相结合的代价计算方法, 对校正后的立体像对逐像素逐视差地计算匹配代价; 代价聚合首先对输入图像的每一个像素构建自适应形状的十字交叉窗口, 然后基于该任意形状窗口进行引导滤波; 视差计算采用WTA策略对每个像素选择其最小匹配代价对应的视差值, 获得初始视差图; 视差精化先对初始视差图进行左右一致性检测, 获得视差异常点(遮挡点、误匹配点), 然后进行异常点插值、加权中值滤波和子像素精化等后处理, 获得最终精化后的视差图。

图1

Fig. 1

图1 算法流程图Fig. 1 Diagram of proposed method

2.1 匹配代价计算

匹配代价是左右两幅图像逐像素逐视差的相似性度量, 可以用一个大小为H×W×D的三维矩阵来表示, 其中H、W和D分别表示图像的高、宽和视差搜索范围。基于AD的匹配代价方法能快速计算左右图像待匹配点的灰度差, 但是对噪声和光照变化非常敏感, 且在弱纹理区域效果较差; 基于梯度变化的代价函数[可以突出视差不连续的区域; 基于Census变换的方法对噪声和光照具有较好的稳健性[。为了在弱纹理区域获得更高的精度, 并且考虑到实际环境中噪声和辐射测度变化是不可避免的, 本文结合增强梯度信息和改进的Census变换来构建匹配代价函数。

为了获得更强的边缘信息, 在代价计算之前进行图像增强处理, 分别对左右图像进行限制对比度自适应直方图均衡(CLAHE)[处理。对于每一个像素点p在视差d下的基于梯度信息的代价包括了水平方向和竖直方向的梯度:

CGRADCLAHE(p,d)=∇xIL(p)-∇xIR(p-d)+∇yIL(p)-∇yIR(p-d),(1)

式中 ∇xI(p)和 ∇yI(p)分别表示像素p点沿x和y方向的梯度信息, IL和IR是左右图像。

传统Census变换选取中心像素的灰度值作为参考, 将其与窗口中相邻各像素的灰度值进行比较, 并用0和1表示大小关系, 经过变换形成二进制码流。这种方法对中心像素的依赖性强, 对图像噪声的抗干扰能力弱, 而且对重复纹理结构匹配效果差。为了增强算法的稳健性, 提高在重复纹理的匹配精度, 本文使用基于增强梯度信息的Census变换来计算匹配代价。相比于传统Census变换, 改进后的Census变换是对像素的梯度幅度进行比较, 能有效改善重复纹理区域的匹配精度, 改进后的Census变换可表示为

CCTg(p)=⊗q∈Npξ[IGRADCLAHE(p),IGRADCLAHE(q)],(2)ξ(p,q)=1,q

式中:⊗表示按位连接; Np表示像素p的邻域; IGRADCLAHE(p)和 IGRADCLAHE(q)表示p和q的增强梯度信息。对于Census变换后得到的左图像素点的CCTgL(p)和右图对应视差为d的像素点的CCTgR(p), 利用汉明距离计算两个像素点的相似性测度:

CCTg(p,d)=Hamming[CCTgL(p),CCTgR(p-d)]。(4)

将增强后的梯度代价和改进的Census变换进行加权融合, 得到最终的匹配代价, 具体表达公式为

C(p,d)=2-exp[-CGRADCLAHE(p,d)/λGRAD]-exp[-CCTg(p,d)/λCTg],(5)

式中λGRAD和λCTg是正则化参数。

为了验证增强梯度代价函数和基于增强梯度的Census变换的有效性, 对Middlebury数据集Tsukuba图像进行对比实验, 实验采用相同的代价聚合方法, 且没有进行视差精化, 获得的视差图(图2)。从图2可以看出, 增强后的梯度代价函数的边缘(红色框)保持效果明显优于原始梯度代价函数; 基于增强梯度的Census变换的代价函数在重复纹理结构区域(蓝色框)的匹配精度高于传统Census变换。

图2

Fig. 2

图2 基于不同代价计算方法的Tsukuba图像的初始视差图。(a)原始梯度代价函数; (b)增强后的梯度代价函数; (c)原始Census变换; (d)基于增强梯度的Census变换Fig. 2 Initial disparity maps based on different cost methods for Tsukuba. (a) Absolute difference in images gradients; (b) absolute difference in enhanced images gradients; (c) traditional Census transform; (d) Census transformation based on enhanced images gradients

2.2 代价聚合

2.2.1 自适应形状十字交叉窗口构建

局部立体匹配代价聚合假设支持窗口内的像素视差平滑[。对于弱纹理区域, 需要选择一个较大的窗口来包含足够多的纹理信息; 对于视差不连续的区域, 需要较小的支持窗口来保持边缘细节信息。传统引导滤波器的窗口大小是固定的, 为了提高弱纹理区域的匹配精度, 本文采用一种基于自适应形状窗口的引导滤波器, 并提出一种双约束的线性变化阈值的判定准则来构建自适应形状窗口, 臂长的判断准则如下:

τlarge(lpq)=-τ1/L1×lpq+τ1,iflpq≤dLimτsmall(lpq)=-τ2/L2×lpq+τ2,otherwise,(6)

式中:τ1和L1为深度不连续区域设定的颜色和距离阈值; τ2和L2为弱纹理区域设定的颜色和距离阈值; lpq是像素p的当前臂长, q为待匹配像素的邻域像素; τ(lpq)是当前像素与邻域的颜色阈值; dLim为深度不连续区域设定的最大距离。根据上述判定准则, 对当前待匹配像素p在水平方向和垂直方向分别进行扩展, 动态计算当前颜色阈值, 当不满足上述任意条件时停止扩展, 形成一个十字交叉区域, 分别用H(p)和V(p)表示为

V(p)={(x,y)|x∈[xp-lv-,xp+lv+],y=yp},(7)H(p)={(x,y)|y∈[yp-lh-,yp+lh+],x=xp},(8)

式中 lv-, lv+, lh-, lh+分别为水平和垂直方向的4个臂长。对于垂直方向V(p)上的每一个像素q在水平方向上重复上述的像素扩展过程得到H(q), 如图3(a)所示, 从而构造自适应形状区域, 用S(p)表示为

S(p)=∪q∈V(p)H(q)。9

基于颜色和距离约束的判定准则容易受到噪声影响, 因此在构建自适应支持窗口前需要对图像进行高斯滤波。基于不同判定准则的自适应窗口的构建结果如图3所示, 图中蓝色区域为不同像素的自适应窗口。从图中可以看出, 图3(d)在大范围的弱纹理区域能获得更多的有效像素, 图3(c)在弱纹理区域的效果优于图3(b)。

图3

Fig. 3

图3 自适应窗口构建示意图。(a)基于交叉的区域结构; (b)文献[Fig. 3 Schematic of adaptive window construction. (a) Cross-based support region construction; (b) adaptive window in Ref. [17]; (c) adaptive window in Ref. [14]; (d) adaptive window in proposed method

2.2.2 自适应引导滤波

传统引导滤波的局部窗口是固定大小的正方形窗口, 主要思想是假设滤波器输出结果与输入的指导图像在局部范围内是符合线性模型的[。所采用的滤波方法基于自适应形状的窗口, 若输入图像为I, 待滤波图像为P, 滤波后结果为Q, 则根据引导滤波器的线性模型计算可得到改进后引导滤波的线性系数ak和bk:

ak=1Nk∑i∈NkIiPi-μkP-k/(σk2+ε),(10)bk=P-k-akμk,(11)

式中:i和k为图像索引; Nk为像素k的自适应支持窗口; Nk表示窗口内像素的总个数; μk和 σk2分别是Ii的均值和方差; ε为正则化参数。滤波后的结果用线性模型表示为

Qi=a-iIi+b-i=1Ni∑k∈NiakIi+1Ni∑k∈Nibk,(12)

式中 Ni和 Nk分别表示自适应区域Ni和Nk内像素的总个数。为了提升代价聚合的计算效率, 采用正交积分图像技术[, 将二维不规则窗口分解为两个正交一维窗口, 并通过预先计算水平积分图像和垂直积分图像来加速聚合效率。改进后的引导滤波器核函数可以表示为

Wij(I)=1Ni∑k∈Ni{1Nk∑j∈Nk1(Ii-μk)(Ij-μk)σk2+ε]}。(13)

2.3 代价计算

代价聚合后得到最终的匹配代价为C'(p, d)。利用WTA策略对每个像素选择最小匹配代价对应的视差值作为其初始视差:<



版权声明:本文为weixin_39933713原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。