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

基于改进代价计算和视差候选策略的立体匹配 下载: 978次

Stereo Matching Based on Improved Cost Calculation and a Disparity Candidate Strategy
作者单位
上海海洋大学信息学院, 上海 201306
摘要
立体匹配算法在图像弱纹理区和重复纹理区存在匹配困难、误差大的问题,为此提出一种基于改进代价计算和视差候选策略的立体匹配算法。首先结合改进的Census变换和自适应加权融合的双向梯度信息来计算初始匹配代价,提高代价计算的可靠性。其中:为传统Census变换增加内圈编码,提高邻域信息利用率,同时降低噪声的影响;利用自适应权重函数融合横向和纵向梯度代价,降低物体边缘区域的误匹配率。其次,采用自适应十字交叉窗口进行代价聚合,并通过建立候选视差集和引入邻域视差信息的方法来获取初始视差。最后通过两轮插值策略优化视差。实验结果表明,所提算法能够提高弱纹理区和重复纹理区的匹配效果,在Middlebury中4幅标准立体图像对的平均误匹配率为5.33%。
Abstract
Matching difficulty and the occurrence of large errors in the weak and repeated texture areas of an image are the problems associated with the stereo matching algorithm. To solve these problems, this paper proposes a stereo matching algorithm based on improved cost calculation and a disparity candidate strategy. First, the improved Census transform and adaptive weighted bidirectional gradient information are combined to estimate the initial matching cost, improving the reliability of cost calculation. Here, inner circle coding is added to the traditional Census transform for improving the utilization of neighborhood information while reducing the impact of noise. The adaptive weight function is used to combine the horizontal and vertical gradient costs for reducing the mismatching rate of the object edge areas. Second, after cost aggregation with an adaptive cross-window, the initial disparity can be obtained by establishing candidate disparity sets and introducing neighborhood disparity information. Finally, the disparity is optimized via two-round interpolation. Experimental results demonstrate that the proposed algorithm can improve the stereo matching of the weak and repeated texture areas and that the average mismatching rate on four standard stereo image pairs in Middlebury is 5.33%.

1 引言

立体匹配是计算机视觉领域的研究热点,在许多应用中发挥着重要的作用,包括3D场景重建、3D跟踪和自动驾驶[1], 它通过建立立体图像对中点的对应关系来生成视差图。根据Scharstein等[2]的研究,立体匹配算法可分为全局匹配算法和局部匹配算法。全局算法将视差计算转化为能量最小化问题,可以运用图割 [3]、置信度传播[4]等算法来求解,匹配精度高,但计算耗时长;局部算法利用支持窗口来降低匹配的歧义性,实现简单,运行速度快,一般包含匹配代价计算、代价聚合、视差计算/优化、视差后处理4个步骤。

匹配代价是像素点间相似程度的度量,常见测度有:灰度绝对差(AD)、采样不敏感的BT[5]、梯度(Gradient)[6]、Census变换[7]、归一化互相关(NCC)[8]、互信息(MI)[9]等。其中:AD适合处理复杂纹理,在弱纹理区域效果较差;梯度对光照改变不敏感;Census变换在弱纹理区有较好的表现,但是过于依赖中心点的特性,易受噪音干扰。近些年很多代价计算的创新点立足于已有单函数的结合,如AD-Census[10]、AD-Gradient[11]、Census-MI-Gradient[12]、AD-Census-Gradient[13],它们在一定程度上融合了单个函数的优点,能应对更多困难环境,但结合方法对精度有很大影响。王云峰等[14]对AD-Census做了改进,根据图片区域特性自适应地改变AD和Census对总代价的贡献度。闫利等[15]利用增强后的图像获取梯度信息,并将Census变换放在梯度图上执行,提高了物体边缘区和重复纹理区的匹配精度。这些例子表明结合策略是一个提升代价计算表现的可行方向。

视差计算常用于获取初始视差图。赢者通吃(WTA)策略因其简单快速,得到广泛应用,但由于它直接选择最小代价对应的视差作为初始视差,抗噪声能力差,尤其是位于弱纹理区和重复纹理区的点易产生很多相互接近的小代价值而混淆正确视差。扫描线优化算法常用于视差优化[16-17],它利用一种半全局的思想实现平滑视差的效果,但其缺点是沿扫描线方向出现了条纹,破坏了视差边界。郭鑫等[12]根据最小和次小匹配代价间的距离来判断视差选择的可靠性,并从邻域选择可靠视差值来代替不可靠视差,但代替时没有考虑被代替点的视差信息。

基于上述讨论,为提升局部匹配算法在弱纹理区和重复纹理区的表现,提出一种基于改进代价计算和视差候选策略的立体匹配算法,主要贡献如下:为传统Census变换增加与中心点相邻8个点间大小关系的编码,减弱了对中心值的依赖,增强了匹配稳定性;提出一种自适应权重的水平梯度和垂直梯度代价的结合函数,对比固定权重法,在物体边界处的匹配错误率降低;结合改进Census变换和改进梯度获取初始视差图,提升了在弱纹理区的表现;提出一种结合邻域视差信息的视差计算策略,降低了弱纹理和重复纹理区的错误匹配率。

2 算法描述

本文算法包含4个步骤:匹配代价计算,代价聚合,视差计算和视差后处理。在代价计算阶段,先分别计算改进的Census变换代价和改进的梯度代价,再组合两者获得初始匹配代价。代价聚合采用了基于十字交叉的自适应窗口。视差计算采用了提出的视差候选策略。视差后处理依次进行左右一致性检测、区域投票插值、合理插值和中值滤波,获得最终的视差图。整个流程如图1所示。

图 1. 算法流程

Fig. 1. Algorithm flow

下载图片 查看所有图片

2.1 匹配代价计算

立体视觉匹配通过计算左右图中对应像素点间的差异或者相似性获取初始匹配代价,全部像素点在所有视差下的代价值组成大小为w×h×d的匹配代价卷,w, h, d分别表示图像的宽、高和最大视差。传统Census变换通过比较中心点和邻域点强度值的大小来构建中心点的描述编码,并以编码间的汉明距离作为匹配代价,即

ξ(p,q)=1,Ip<Iq0,elseB(p)=qNpξ(p,q)CCensus(p,d)=HammingBL(p),BR(pd),(1)

式中:p为左图中一点,坐标为(x,y),qp邻域中的一点,IpIqpq两点的强度值大小;pd表示p在右图中视差为d的对应点,坐标为(x-d,y);Npp的邻域;􀱋表示按位连接;B(p)表示p 的Census编码;CCensus(p,d)表示ppd点编码间的汉明距离。Census编码能反映图像的局部结构,对弱纹理区的点可以较好地表征,但其过于依赖中心点,存在隐患,当中心点强度被干扰时,编码会发生大范围变化;另一方面,这种编码方式仅能反映局部结构的一个方面,即中心和周围的关系。本研究提出一种改进的Census编码方式(表示为L-Census),编码由两部分组成,第一部分用传统编码方式生成,即通过比较中心点和邻域点强度值的大小获取,第二部分通过对紧挨中心点的8个邻域点按顺时针依次比较当前点和后一点的强度值大小获取。设左上角点为起始点,编码过程可用图2表示。

图 2. L-Census编码过程

Fig. 2. Coding process of L-Census

下载图片 查看所有图片

正常情况下,Census编码的结果为01111000。假设中心点被噪声干扰,值由88变为100,那么Census编码的结果就变成了00000000,有1/2的码值发生了变化;用L-Census进行编码,结果为00000000 00011101,码值仅改变了1/4,误差小于原Census的结果。因此相比传统方法,L-Census不仅有效地利用了局部信息,增加了对不依赖中心点值的局部结构的描述,还能降低中心点值被干扰时造成的误差。参照文献[ 10]和[18],L-Census变换窗口大小为9×7(宽×高)。

梯度是相邻像素点强度变化的表征,包含了图像的纹理信息,表达式为

xI(p)=G(x+1,y)-G(x-1,y)/2yI(p)=G(x,y+1)-G(x,y-1)/2,(2)

式中: xI(p)和 yI(p)分别表示像素点p的横向梯度和纵向梯度,G表示像素灰度值。许多研究者[19-21]都在代价计算中考虑了梯度测度,但只利用了横向梯度信息。从理论上分析,可知结合横向和纵向梯度信息的匹配代价会比仅考虑一个方向时的表现更好,文献[ 15]和文献[ 22]中采用对横向和纵向的梯度代价等比例相加的方式进行结合,结合表达式为

CGrad(p,d)=xIL(p)-xIR(pd)+     yIL(p)-yIR(pd),(3)

式中下角标L表示左图,R表示右图。但这种做法没有考虑梯度方向的可靠性,会在物体边界区造成误匹配,如图3所示。图3(a)为由Middlebury立体匹配测试平台提供的数据集[23-24]中的Teddy左图的局部图,点p为一边界点, 其在右图中的正确匹配点为图3(b)中的点q,可以看到两者的纵向梯度相同而横向梯度相差较大,若采用式组合梯度代价,会使得视差结果发生偏移,得到误匹配点e,即使经过代价聚合,此误匹配仍难以消除。

图 3. 物体边界区的失效示意图(p的正确匹配点是q,通过(3)式计算得到的误匹配点为e)。(a)Teddy左局部图; (b)Teddy右局部图

Fig. 3. Failure diagram in the boundary area of the object, in which the correct matching point of p is q, but the corresponding mismatching point is e obtained by Eq. (3). (a) Part of left image of Teddy; (b) part of right image of Teddy

下载图片 查看所有图片

针对上述问题,提出一种对横向和纵向梯度代价自适应加权结合的方法。受王云峰等[14]的启发,自适应权重的计算采用了代价聚合过程中产生的十字臂(具体描述见2.2节)。设像素点p的左、右、上、下臂的长度分别为Lleft(p),Lright(p),Lup(p),Ldown(p),则权重因子α定义为

α(p)=minLleft(p),Lright(p)·[minLleft(p),Lright(p)+minLtop(p),Ldown(p)]-1,(4)

相应地,梯度代价结合公式为

CGrad(p,d)=α(p)xIL(p)-xIR(pd)+1-α(p)yIL(p)-yIR(pd)(5)

该策略是基于颜色在视差边界区存在突变的假设建立的(研究发现真实图片中颜色突变不是在两个像素间发生的,而是通过几个像素逐渐过渡来完成的),假设的有效性可通过图4说明。图4中的曲线表示视差边界,曲线左侧为前景区,右侧为背景区, 左图一个靠近左侧前景区的像素点p强度值为50。根据(2)式,其横向梯度和纵向梯度分别为-4和-1,其匹配点q的相应值为-0.5和-1,根据(3)式,匹配代价为3.5;若采用(4)式和(5)式,利用臂长先得到横向和纵向梯度的权重分别为0.2和0.8,再计算加权匹配代价为0.7,远小于3.5(理想的匹配代价应为0)。该策略利用十字臂长对视差边界进行检测时,边界区的点沿边界方向的臂长往往较短,同时该点在该方向上的梯度代价是不可靠的,所以,为臂长短的方向上的梯度代价赋予小的权重能够降低不可靠方向梯度代价的影响。图5显示了自适应权重梯度结合策略(表示为ABiGrad)的效果,测试局部图像依次选自Middlebury立体数据集中的Teddy、Reindeer和Midd1,对比图5(c)和图5(d),非加权方法在边界区出现了较多误匹配,而自适应权重法能明显减少边界区误匹配的数量,由此证明所提自适应加权策略在梯度代价结合中是有效的。

图 4. 双向梯度代价自适应加权结合策略有效性图示

Fig. 4. Illustration of the effectiveness of the adaptive weighted combining strategy of bidirectional gradient cost

下载图片 查看所有图片

图 5. 通过不同的横向和纵向梯度代价组合方法获得的视差图。(a)原图;(b)真实视差图;(c)采用(3)式得到的视差图;(d)ABiGrad得到的视差图

Fig. 5. Disparity maps obtained by different horizontal and vertical gradient costs combining methods. (a) Original image; (b) real disparity map; (c) disparity map obtained using Eq. (3); (d) disparity map obtained using ABiGrad

下载图片 查看所有图片

为了充分利用Census变换对局部结构的描述能力和梯度对纹理信息的感知能力,进一步将改进的Census代价和改进的梯度代价进行结合,得到初始匹配代价,表达式为

C(p,d)=2-exp-CCensus(p,d)λCensus-exp-CGrad(p,d)λGrad,(6)

式中λ为控制参数,用于调节两个代价对总代价的影响。计算全部像素点在所有视差下的初始匹配代价,获得初始匹配代价卷。

2.2 代价聚合

受噪音、区域相似等因素的影响,单点的匹配代价区分度低,需要聚合目标点所在窗口内所有点的代价来提高区分度,而窗口的形状和大小将直接决定聚合效果。

采用Mei等[10]改进的基于十字交叉的自适应窗口进行代价聚合。首先计算像素点的十字臂的长度[图6(a)],计算可以看作从中心点p出发的臂的生长条件,用t表示臂最前端的点,t*表示臂次前端的点,L表示臂长。当不满足设定的限制条件时,臂停止生长,限制条件为

LL2maxcR,G,BIc(p)-Ic(t)τ1maxcR,G,BIc(p)-Ic(t)τ2,ifL1<LL2maxcR,G,BIc(t)-Ic(t*)τ3,(7)

式中L2为最大臂长,τ1τ2是中心点和臂上点颜色差的限制阈值,τ2小于τ1,目的是对离中心点更远的点施加更严格的颜色限制,这能在增大臂长范围的同时降低引入不同视差点的可能。第4个条件用于限制臂上相邻两点的颜色差,以进一步避免臂跨过视差边界。规定最短臂长为1。

图 6. 基于十字交叉的自适应窗口的构建。 (a)十字臂; (b)自适应支持区域

Fig. 6. Construction of adaptive cross window. (a) Cross arm; (b) adaptive support area

下载图片 查看所有图片

然后,以十字臂为骨架构建支持窗口。简单地,对垂直臂上的每个点按上述方式沿水平方向扩展,过程如图6(b)所示,用HV分别表示水平臂和竖直臂上的点的集合,则点p的支持窗口可表示为

U(p)=qV(p)H(q)(8)

需要说明的是,以水平臂为骨架沿垂直方向进行扩展同样能够获得支持窗口,但两种方式得到的窗口不一定相同。为扩大支持区域,本研究交替使用两种窗口进行两次代价聚合的迭代。并且,为保证支持窗口在左右图都满足颜色距离限制条件(7)式,取左右图对应点的支持窗口的交集作为最终的支持窗口,表达式为

U(p,d)={(x,y)|(x,y)UL(p),(x-d,y)UR(pd)}(9)

确定支持窗口后,用窗口内代价值的均值更新代价,代价表达式为

C'(p,d)=qU(p,d)C(q,d)m,(10)

式中m表示窗口中点的总数。至此,获得聚合后的匹配代价卷。

2.3 视差计算

视差计算用来生成初始视差图,常用的WTA策略是将最小代价对应的视差作为结果,表达式为

dp(0)=argmind0,dmaxC'(p,d),(11)

式中dmax表示设定的最大视差。该策略简单高效,但是易受噪声的影响;WTA不能处理最小代价值和正确视差不对应的情况,而弱纹理区和重复纹理区的点由于缺少唯一性特征,更易出现这种情况。针对上述问题,利用邻域信息与候选视差来降低视差选择的歧义性。

首先通过统计分析验证“候选视差”这一思路的可行性。在双目匹配图像中截取由WTA计算出的视差错误较多的区域(如图7矩形框中的部分),对其中每个点的视差按匹配代价由小到大排序,最后统计这些候选视差与真实视差的匹配率。结果如表1所示,其中d(i)表示第i个候选视差,d(i)对应的代价值不大于d(i+1)的代价值。可以看出,匹配代价最小的视差(d(1))正确率为53.3%,即WTA的结果中,2~4号候选视差的正确率总和为21.8%,其余匹配代价对应视差正确率之和为24.9%。根据统计值,如果能够利用候选视差来修正,理论上可以将视差的正确率提升到75.1%。但需要解决的问题是:如何在最小代价视差和其他候选视差中做出最优选择。

图 7. 验证“候选视差”思路的区域

Fig. 7. Area to verify the "candidate disparities" idea

下载图片 查看所有图片

表 1. 各候选视差的正确率

Table 1. Correct rate of each candidate disparity unit: %

Candidate disparityd(1)d(2)d(3)d(4)OthersSum
Proportion53.312.16.03.724.9100.0

查看所有表

针对上述问题,引入邻域信息来降低视差选择的歧义性。基本思想是:考虑到视差从左往右、从上往下应该是连续变化的,对于当前像素有多个候选视差难以确定的情况,可以借助邻域点已确定的视差或候选视差来辅助判别当前像素的最优视差。算法流程如图8所示。

图 8. 视差计算流程图

Fig. 8. Flow chart of disparity calculation

下载图片 查看所有图片

首先,构建候选匹配代价卷Vc。从匹配代价卷Va中为每个像素点选出代价最小的前M'个元素(含视差和代价值)存入候选匹配代价卷Vc,限制M'最大为M,即

M'M,(12)

并且每个选出的元素代价必须在最小代价的一定范围内,即

c(i)(p)τcc(1)(p),(13)

其中c(1)(p)表示最小代价,1≤iM',τc表示控制代价范围,这样每个像素点至少存在一个候选元素(最小代价元素)。

然后,利用候选匹配代价卷Vc,获取初始视差图d(0)。以获取像素点p的初始视差d(0)(p)为例来说明。1)判断p的候选元素集合Vc(p)中元素的数量n(p)是1还是大于1。如果是1,则该元素的视差d(1)(p)即为p的初始视差,结束执行;如果是大于1,接着执行步骤2)。2)先清除Vc(p)中的离群值,即将视差孤立(与任何其他候选元素的视差距离都超过设定阈值τd)的元素除去,得到新的p的候选元素集合V'c(p),再判断V'c(p)是否为空集,需要指出的是,此时V'c(p)中的元素只能为0个(即候选元素视差在视差空间中呈单个分散排布)或者至少为2个(因为判断视差距离时是两两相互判断),如果V'c(p)为空集,则按规则1执行,如果V'c(p)不为空集,则按规则2执行,之后结束执行。视差计算伪代码见图9

图 9. 视差计算伪代码

Fig. 9. Pseudo code for disparity calculation

下载图片 查看所有图片

规则1:计算像素点p的所有候选元素(未清除离群值时的元素集合,即Vc(p))的视差与其4个邻接点A4(p)已经确定的视差距离,从中选择最小距离对应的候选元素的视差为p的初始视差。补充说明如下。因为计算视差时是按从左到右、从上到下的顺序进行的,故4个已确定的视差邻接点分别为p的左邻接点、上邻接点、左上邻接点和右上邻近点,若p不存在其中任何一个邻接点,即当p为图片左上角的第一个像素时,直接选择最小代价视差为初始视差。

规则2:统计V'c(p)中每个元素的视差d(i)(p)在p点和p点8个邻接点A8(p)的所有候选视差中出现的总次数N(i)以及代价和F(i),选择出现总次数最大的视差为p的初始视差。补充说明如下。若最大总次数对应的视差不唯一,则进一步比较代价和,即从出现次数最多的视差中选择代价和最小的视差为初始视差。

2.4 视差后处理

初始视差图还存在很多错误点,大多数位于遮挡区,参考Mei等[10]的后处理方法,采取两轮插值对错误点进行修正。首先,利用左右一致性检测找出错误点并分类。设 dL(0)dR(0)分别为左右初始视差图,针对左图中的一点p,若 dL(0)(p)≠ dR(0)( pdL(0)(p)),p被判为错误点,否则,p被判为合理点。进一步对错误点进行划分,若p的极线上存在和p匹配的点,则将p判为误匹配点,否则判为遮挡点。然后,对错误点所在十字支持窗口内的合理点视差进行直方图投票,投票总数记作 NVote(sum),得票数最高的视差记作dH,其票数记作NVote(dH),若满足以下两个条件, NVote(sum)>τVNNVote(dH)/NVote(sum)>τVR ,则错误点的值被更新为dH。区域投票迭代两次。接着,对剩余的错误点沿16方向合理插值,即从错误点周围16个方向寻找每个方向上的第一个合理点,对于遮挡点,用合理点中的最小视差更新其值,对于误匹配点,从中选择和其在原图颜色最接近的点的视差来更新。最后,对视差图执行3×3的中值滤波来平滑噪声。

3 实验结果与分析

使用Middlebury立体匹配评测平台提供的数据集对算法进行实验分析,为了能够在设备上运行,所有图片均使用其最小分辨率。错误阈值设为一个像素,用dtrue(p)表示真实视差,dcal(p)表示计算得到的视差,若 dtrue(p)-dcal(p)>1,则dcal(p)被判为错误值。在规定区域内,错误值的总数除以总的有效点数(排除不存在真实视差值的点),得到误匹配率RBM,并将其作为评价算法精度性能的指标。为观察算法的实际表现,除特别说明外,实验均不进行视差后处理。除总体性能分析外,所有实验均采用本文代价聚合方法,且误匹配率的计算均针对图片的所有区域进行。表2是实验参数设置,其中,L1,L2,τ1,τ2,τ3,τVN,τVR均采用原参考文献中的值,λCensus,λGrad,M,τc,τd为所提方法的关键参数,需通过实验分析其变化规律来确定最优取值。

3.1 参数分析

设置两组实验,第一组用于分析代价计算的控制参数λCensusλGrad,使用WTA获取视差图,第二组用于分析视差计算策略中候选视差限制阈值M和控制代价范围τc,以及离群点偏移量阈值τd。为了能清晰观察参数设置在不同图上的总体规律,选择8组图进行实验并计算误匹配率的均值,8组图分别是Teddy,Cones,Books,Reindeer,Rocks1,Wood2,Baby2,Bowling1,结果如图10所示。图10(a)是λCensus取10时,λGrad从0.1到4.2的变化结果,从中可以发现,λGrad在1以内增加时误匹配率降低得较快,大于1后误匹配率缓慢增长,所以λGrad取1是合理的;λGrad为1时λCensus的变化规律如图10(b)所示,可以发现,λCensus取13时能够获得较低的误匹配率。在第二组实验中,先设置τc为1.1,τd为10,再确定M的取值,如图10(c)所示,可以发现,M取2时,误匹配率最低,M增大为3时误匹配率出现大幅增加,之后随M的增加缓慢减小。这里存在一个折中问题,M越大,候选视差的最大数目增加,其包含正确视差的可能性越大,但同时引入无关视差的干扰也越多,需要指出的是,正确视差更可能存在于序号靠前的候选视差中。所以,M取2为这一折中问题的统计最优解,由此表明多数正确视差存在于代价最小的前两个候选视差中。继续增大M,虽然误匹配率降低,但是时间负担也不断变大,所以不考虑M大于10之后的情况。图10(d)是在M设为2,τd为10时τc的变化结果,可以看到,当τc大于1.09时,误匹配率不再降低,此时M成为限制候选视差数目的因素,所以τc取1.09。图10(e)是在M取2,τc取1.09时τd的变化结果,τd取10时,误匹配率最低。

图 10. 参数变化对误匹配率的影响。(a)误匹配率随λGrad变化;(b)误匹配随λCensus变化;(c)误匹配率随M变化;(d)误匹配率随τc变化;(e)误匹配率随τd变化

Fig. 10. Effect of parameters changing on error rate. (a) Variation of error rate with λGrad; (b) variation of error rate with λCensus; (c) variation of error rate with M; (d) variation of error rate with τc; (e) variation of error rate with τd

下载图片 查看所有图片

表 2. 实验参数设置

Table 2. Experimental parameter setting

ParameterL1L2τ1τ2τ3λCensusλGradτVNτVRMτcτd
Value173420620131200.421.0910

查看所有表

3.2 代价计算方法验证

为验证本文所提代价计算方法(表示为LCen-ABiGrad)的有效性,选择AD-Census[10]和AD-Gradient[11](分别表示为AD-Cen和AD-Grad)进行对照实验,数据选用Middlebury中的16对立体图像,统计其所有区域的误匹配率。结果如表3所示,可以看到,LCen-ABiGrad的误匹配率在Aloe中略微高于AD-Cen(二者在Baby1上的误匹配率相同),在其他图像中均明显低于AD-Cen和AD-Grad,而且平均误匹配率比表现较好的AD-Cen低2.9个百分点。Aloe和Baby1均存在很大比重的丰富纹理区,AD在丰富纹理区的表现优于Census和梯度测度,但从结果上看,所提算法虽然没有结合AD,但是仍比AD-Grad精度高,而且也只有Aloe的精度比AD-Cen低0.6个百分点。

表 3. 不同代价计算方法的误匹配率

Table 3. Mismatching rate of different cost calculation methods unit: %

AlgorithmTsukubaTeddyArtMoebiusBooksWood1Cloth2Laundry
AD-Cen4.4815.2031.8020.8024.4026.2018.2032.80
AD-Grad4.3517.7032.0022.0025.0026.6018.8030.30
LCen-AbiGrad4.0615.1030.5018.2021.5024.8018.0027.90
AlgorithmBowling1Baby1AloeLampshade1Midd1Rocks1Wood2ReindeerAve(all)
AD-Cen31.9015.0016.5023.4042.6013.9015.6030.1022.70
AD-Grad35.8016.6018.9023.6043.3013.3015.2030.2023.40
LCen-ABiGrad26.0015.0017.1020.0024.3013.0014.5026.7019.80

查看所有表

图11展示的是三种算法在Lamp shade1,Reindeer,Bowling1和Midd1上生成的视差图,从前3行图中矩形框所圈出的部分可以发现,LCen-ABiGrad在弱纹理区的表现优于AD-Cen和AD-Grad,第4行Midd1中墙面为无纹理区,LCen-ABiGrad在该区域仍能生成误差较少的视差图,而AD-Cen和AD-Grad则产生了大块的误匹配区。 接着对LCen-ABiGrad算法有效的原因进行了分析。Census变换和梯度都是对局部结构的描述,前者描述的范围大,后者描述的范围小。在弱纹理区,像素点的颜色差别很小(无纹理区的点也存在颜色差别,但差别更小), 只利用单点的绝对强度差(AD)进行代价计算会产生非常大的歧义,这是因为在视差范围内存在较多的相似点,当聚合区域内多数点的视差都具有歧义性时,聚合后的代价值将非常不可靠。Census能够利用像素点间较小的颜色差编码出目标点的局部结构,而该局部结构的歧义性远小于单点的强度,所以Census代价对弱纹理有天然优势。LCen-ABiGrad对Census编码进行了扩充,其局部结构描述能力进一步增强,更有利于对弱纹理区的点的描述。梯度中的局部结构信息包含在目标点的左右邻接点间和上下邻接点间的强度变化中,这种更小范围的局部结构对弱纹理区点的刻画依旧有效,同时对两个方向的梯度代价采用自适应加权结合,避免了代价聚合在视差边界处引入的错误代价。综上所述,LCen-ABiGrad通过结合改进的Cesnus变换(L-Census)和改进的梯度代价(ABiGrad)获得了对弱纹理区高鲁棒性的匹配代价。

图 11. 不同代价计算方法获得的视差图。 (a)参考图; (b)真实视差图; (c)AD-Cen; (d)AD-Grad; (e)LCen-ABiGrad

Fig. 11. Disparity maps obtained by different cost calculation methods. (a) Reference image; (b) real disparity map; (c) AD-Cen; (d) AD-Grad; (e) LCen-ABiGrad

下载图片 查看所有图片

3.3 视差计算策略验证

为了验证视差候选策略(表示为DC)的有效性,选择WTA算法和文献[ 10]中的扫描线优化算法(SO)进行对比实验,其中,SO为改善条纹问题,从4个方向上进行动态规划求解,并将解的均值作为最终结果。实验均采用本文提出的代价计算方法,数据使用Middlebury立体数据集中的13对立体图片。结果如表4所示,可以看到,SO取得的平均误匹配率最低,DC仅落后其0.1个百分点,需要指出的是SO利用了半全局信息,而DC只利用了8个邻接点的信息,计算复杂度更低。DC的平均误匹配率比WTA低0.42个百分点。

表 4. 不同视差计算策略的误匹配率

Table 4. Mismatching rate of different disparity calculation strategies unit: %

AlgorithmTeddyDollsReindeerBaby2Bowling2Cloth2Aloe
WTA15.1018.0026.7017.2024.0018.0017.10
SO14.4017.5024.8020.0024.0017.8015.00
DC14.8017.9026.2016.7023.7017.5016.90
AlgorithmFlowerpotsMidd1Midd2PlasticRocks2Rocks1Ave(all)
WTA23.7024.3023.9034.9013.2013.0020.70
SO25.6021.5019.1036.7012.9013.0020.18
DC23.2023.1023.0034.9012.9012.8020.28

查看所有表

为进一步明确DC的作用,将DC和WTA生成的视差图进行对比标记,如图12所示, 从上往下依次是Teddy,Aloe,Midd1,Reindeer,Rocks1。从图12(d)中可以看出直线框标识的重复纹理区内DC相比WTA有更高的正确判断率。在墙面的无纹理区(双直线框),DC也能较大范围地修正WTA的错误。另外,在弱纹理区(虚线框),DC相比WTA表现得更好。同时发现,该算法也存在误判,即为正确视差为最小代价视差的点选择了非最小代价视差。部分误判发生在物体边界处弱纹理(或无纹理)背景区的一侧,其原因是弱纹理区点的匹配代价可能在较大的视差范围内非常接近,结合邻域视差信息的做法引入了前景区的视差值,使得视差结果变大。在物体内部也有误判发生,但误判数目小于改正数目,且能通过视差后处理步骤来纠正。

图 12. DC相对WTA在重复纹理区(直线框)、弱纹理区(虚线框)和无纹理区(双直线框)的优势。(a)参考图;(b)WTA获取的视差图;(c)DC获取的视差图;(d)标记视差图

Fig. 12. Advantages of DC over WTA in the repeated texture area (straight frame), weak texture area (dotted frame) and untextured area (double straight frame). (a) Reference image; (b) disparity map obtained by WTA; (c) disparity map obtained by DC; (d) marked disparity map

下载图片 查看所有图片

3.4 立体匹配算法总体性能分析

图13是本文算法(含后处理)在Middlebury第二版标准立体图像对上的结果,从上往下依次是Tsukuba, Venus,Teddy, Cones, 图13(c)为生成的视差图,图13(d)为生成视差图的误匹配图,其中白色区域表示视差匹配正确的点,黑色区域和灰色区域分别表示非遮挡区和遮挡区的误匹配点。

图 13. 本文算法在标准立体图像对上的结果。(a)参考图;(b)真实视差图;(c)本文算法生成的视差图;(d)误匹配图

Fig. 13. Results of our algorithm on standard stereo image pairs. (a) Reference image; (b) real disparity map; (c) disparity map generated by our algorithm; (d) mismatching map

下载图片 查看所有图片

为客观评价本文算法的总体表现,和其他4种立体匹配算法进行对比,结果如表5所示,N-occ、All和Disc分别表示非遮挡区、所有区域和视差不连续区,SO+borders[25],AdaptAggrDP[17],GradAdaptWgt[26]三种算法的精度结果取自Middlebury测试平台公开数据[2],Assw-Grad[27]精度结果取自原文。SO+borders和AdaptAggrDP都利用扫描线优化算法来优化视差, 并均采用自适应权重的思路来保证聚合的可靠性;GradAdaptWgt使用一种结合梯度幅值和相位的代价函数搭配基于双边滤波的自适应权重代价聚合获得高匹配精度;Assw-Grad提出一种改进的十字窗口法,利用自适应阈值控制臂长的生成,在弱纹理区和视差不连续区取得很好的匹配效果。从表5能够看出,本文算法在Teddy图上的误匹配率明显低于其他方法,并且在4幅图上的平均误匹配率最低,实验结果表明本文算法精度优于部分优秀局部匹配算法。

表 5. 不同算法在标准立体图片对上的误匹配率

Table 5. Mismatch rate of different algorithms on standard stereo picture pairs unit: %

AlgorithmTsukubaVenusTeddyConesAverageerror
N-occAllDiscN-occAllDiscN-occAllDiscN-occAllDisc
Ours2.122.508.230.250.622.244.9711.0012.502.788.688.045.33
SO+borders1.291.716.830.250.532.267.0212.2016.303.909.8510.206.03
Assw-Grad1.572.007.320.891.003.187.2012.4016.103.689.188.626.10
GradAdaptWgt2.262.638.990.991.394.928.0013.1018.602.617.677.436.55
AdaptAggrDP1.573.508.271.532.6912.406.7914.3016.205.5313.2014.808.40

查看所有表

为评价本文算法的时间性能,对表5中的Assw-Grad和GradAdaptWgt算法进行了复现,设备配置为Inter(R) Core(TM) i5-7300, 2.70 GHz, 8 G内存,结果如表6所示。本文算法的耗时不足GradAdaptWgt耗时的十分之一,并且在每个立体对上都低于Assw-Grad的耗时。考虑到代码的复杂性,本研究没有对SO+borders和AdaptAggrDP进行复现,但是通过分析算法的结构,亦能比较他们和本文算法的快慢。SO+borders采用了基于颜色分割和基于颜色相似性自适应权重的聚合策略(没有采用加速算法或者策略),该策略非常低效,时间成本将远高于本文算法。AdaptAggrDP利用GPU加速达到了实时水平,但是其精度相比本文算法存在较大劣势。

表 6. 不同算法在标准立体图片对上的运行时间

Table 6. Running time of different algorithms on standard stereo image pairs unit: s

AlgorithmTsukubaVenusTeddyCones
Ours0.91.43.53.3
Assw-Grad1.72.84.23.9
GradAdaptWgt24395959

查看所有表

4 结论

提出一种基于改进代价计算和视差候选策略的立体匹配算法:通过扩展传统Census变换的编码长度,增加了算法对局部结构的描述能力,降低了算法对中心点的依赖;利用自适应权重,结合横向梯度和纵向梯度信息,在视差不连续区的表现优于非加权方法;将改进的Census变换和改进梯度结合来获取初始匹配代价,提高了对弱纹理的感知能力;针对视差计算,构建目标点的候选视差集,并通过引入邻域视差信息来辅助视差的选择,相比于WTA,降低了弱纹理区和重复纹理区的错误匹配率。在标准立体图像对上的结果显示,本文算法的精度高于部分优秀局部匹配算法。但是,所提视差计算策略会引入少量的错误点,导致算法不稳定,后期应尝试进一步优化该策略。

参考文献

[1] Wu W H, Zhu H, Yu S Y, et al. Stereo matching with fusing adaptive support weights[J]. IEEE Access, 2019, 7: 61960-61974.

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

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

[4] Besse F, Rother C, Fitzgibbon A, et al. PMBP:PatchMatch belief propagation for correspondence field estimation[J]. International Journal of Computer Vision, 2014, 110(1): 2-13.

[5] Birchfield S, Tomasi C. Depth discontinuities by pixel-to-pixel stereo[J]. International Journal of Computer Vision, 1999, 35(3): 269-293.

[6] ScharsteinD. Matching images by comparing their gradient fields[C]∥Proceedings of 12th International Conference on Pattern Recognition, October 9-13, 1994, Jerusalem, Israel.New York: IEEE Press, 1994: 572- 575.

[7] ZabihR, WoodfillJ. Non-parametric local transforms for computing visual correspondence[C]∥ Eklundh J O. Computer Vision: ECCV'94. Berlin, Heidelberg: Springer, 1994, 801: 151- 158.

[8] 陈先锋, 郭正华, 伍俊龙, 等. 基于区域先验信息的去遮挡立体匹配算法[J]. 激光与光电子学进展, 2019, 56(19): 191001.

    Chen X F, Guo Z H, Wu J L, et al. De-occlusion stereo matching algorithm based on regional prior information[J]. Laser & Optoelectronics Progress, 2019, 56(19): 191001.

[9] Hirschmuller H. Stereo processing by semiglobal matching and mutual information[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(2): 328-341.

[10] MeiX, SunX, Zhou MC, et al.On building an accurate stereo matching system on graphics hardware[C]∥2011 IEEE International Conference on Computer Vision Workshops (ICCV Workshops), November 6-13, 2011, Barcelona, Spain.New York: IEEE Press, 2011: 467- 474.

[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]. 计算机工程与科学, 2019, 41(6): 1044-1049.

    Guo X, Wang Y J, Fu D H, et al. A weight guided filtering matching algorithm combining three measures[J]. Computer Engineering & Science, 2019, 41(6): 1044-1049.

[13] 孔令寅, 朱江平, 应三丛. 基于引导图像和自适应支持域的立体匹配[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.

[14] 王云峰, 吴炜, 余小亮, 等. 基于自适应权重AD-Census变换的双目立体匹配[J]. 工程科学与技术, 2018, 50(4): 153-160.

    Wang Y F, Wu W, Yu X L, et al. A stereo matching system with the adaptive weight AD-census[J]. Advanced Engineering Sciences, 2018, 50(4): 153-160.

[15] 闫利, 王芮, 刘华, 等. 基于改进代价计算和自适应引导滤波的立体匹配[J]. 光学学报, 2018, 38(11): 1115007.

    Yan L, Wang R, Liu H, et al. Stereo matching method based on improved cost computation and adaptive guided filter[J]. Acta Optica Sinica, 2018, 38(11): 1115007.

[16] Salehian B, Raie A, Fotouhi A, et al. Efficient interscanline consistency enforcing method for dynamic programming-based dense stereo matching algorithms[J]. Journal of Electronic Imaging, 2013, 22(4): 043028.

[17] Wang L, Yang R G, Gong M L, et al. Real-time stereo using approximated joint bilateral filtering and dynamic programming[J]. Journal of Real-Time Image Processing, 2014, 9(3): 447-461.

[18] 彭新俊, 韩军, 汤踊, 等. 基于改进Census变换和异常值剔除的抗噪立体匹配算法[J]. 光学学报, 2017, 37(11): 1115004.

    Peng X J, Han J, Tang Y, et al. Anti-noise stereo matching algorithm based on improved census transform and outlier elimination[J]. Acta Optica Sinica, 2017, 37(11): 1115004.

[19] 彭建建, 白瑞林. 基于水平树结构的可变权重代价聚合立体匹配算法[J]. 光学学报, 2018, 38(1): 0115002.

    Peng J J, Bai R L. Variable weight cost aggregation algorithm for stereo matching based on horizontal tree structure[J]. Acta Optica Sinica, 2018, 38(1): 0115002.

[20] 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 Press, 2014: 1590- 1597.

[21] 马晴晴, 王彩芳. 基于颜色和边缘信息的非局部立体匹配算法[J]. 激光与光电子学进展, 2020, 57(10): 101020.

    Ma Q Q, Wang C F. Non-local stereo matching algorithm based on color and edge information[J]. Laser & Optoelectronics Progress, 2020, 57(10): 101020.

[22] Zhu S P, Yan L N. Local stereo matching algorithm with efficient matching cost and adaptive guided image filter[J]. The Visual Computer, 2017, 33(9): 1087-1102.

[23] ScharsteinD, SzeliskiR. High-accuracy stereo depth maps using structured light[C]∥2003 IEEE Conference on Computer Vision and Pattern Recognition, June 18-20, 2003, Madison, WI, USA.New York: IEEE Press, 2003: 7762284.

[24] ScharsteinD, PalC. Learning conditional random fields for stereo[C]∥IEEE Conference on Computer Vision and Pattern Recognition, June 17-22, 2007, Minneapolis, MN, USA.New York: IEEE Press, 2007: 9738080.

[25] MattocciaS, TombariF, Stefano LD. Stereo vision enabling precise border localization within a scanline optimization framework[C]∥ Proceedings of Asian Conference on Computer Vision, Berlin/Heidelberg: Springer-Verlag, 2007: 517- 527.

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

[27] 祝世平, 李政. 基于改进梯度和自适应窗口的立体匹配算法[J]. 光学学报, 2015, 35(1): 0110003.

    Zhu S P, Li Z. A stereo matching algorithm using improved gradient and adaptive window[J]. Acta Optica Sinica, 2015, 35(1): 0110003.

宋巍, 魏新宇, 张明华, 贺琪. 基于改进代价计算和视差候选策略的立体匹配[J]. 激光与光电子学进展, 2021, 58(2): 0215001. Wei Song, Xinyu Wei, Minghua Zhang, Qi He. Stereo Matching Based on Improved Cost Calculation and a Disparity Candidate Strategy[J]. Laser & Optoelectronics Progress, 2021, 58(2): 0215001.

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

相关论文

加载中...

关于本站 Cookie 的使用提示

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