一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于双目图像的立体匹配方法与流程

2021-12-07 23:57:00 来源:中国专利 TAG:


1.本发明涉及机器视觉技术领域,尤其是涉及一种用于双目图像的立体匹配方法。


背景技术:

2.机器视觉实质是通过模拟人的双眼来感知世界,双目立体视觉在机器视觉技术领域中扮演着尤为重要的角色,其在三维重建、自动驾驶、人脸识别和工业自动化方面得到广泛应用。
3.其中,立体匹配是双目立体视觉研究中最核心最关键的部分,通过立体匹配算法,可以获取两幅图像的稠密视差图,再根据摄影坐标变换原理及三角计算原理得到场景中对应点的深度信息,最后通过三维重建还原立体场景。由于视差图的精度和准确性直接决定最后三维重建的精度和准确性,探索精确的立体匹配方法尤为关键。
4.科研人员经过十多年的不懈探索和研究,提出了多种先进的立体匹配算法,使得立体匹配的精度不断提高,但是在图像弱纹理区域的误匹配和边缘区域的模糊等问题仍然或多或少地存在。其中ad变换[参见:birchfield s,tomasi c.a pixel dissimilarity measure that is insensitive to image sampling[j]//ieee transactions on patern analysis and machine intelligence(一种对图像采样不敏感的像素非相似性度量,ieee模式分析和机器智能汇刊),1998,20(4):401

406.]可以较好地反映像素点的灰度变化,在纹理丰富的图像边缘区域具有良好的匹配效果,但ad变换对由光照变化产生的噪点十分敏感,鲁棒性较差。census变换[参见:d,sutherland a.disparity estimation by simultaneous edge drawing[c]//asian conference on computer vision(同步边缘绘制的视差估计,亚洲计算机视觉会议),2016:124

135.]能够抑制噪点的产生,在灰度变化小的平滑区域匹配效果好,但在具有类似结构的重复区域内匹配效果不理想。
[0005]
ad

census变换[参见:mei x,sun x,zhou m,et al.on building an accurate stereo matching system on graphics hardware[c]//ieee international conference on computer vision workshops(在图形硬件上构建准确的立体匹配系统,ieee计算机视觉国际会议研讨会).ieee,2012,21(5):467

474]将ad变换和census变换得到的代价合成一个综合代价,弥补了单个变换的不足。但是该方法仍然有可改进之处,ad变换基于rgb颜色空间,rgb颜色模型对颜色的描述具有局限性,因为在图像中的同一个场景中,rgb的分量的变化很相同,所以rgb颜色空间不能够有效的提取出场景的信息,所以基于rgb颜色空间的ad变换代价有进一步提升的空间。census变换对窗口的中心像素高度敏感,特别是在复杂环境条件下,只要中心像素受到光照等不良因素的影响,造成其像素值畸变,都会导致census变换码发生很大的改变,从而极大地增加了视差图中对应像素点发生错误匹配的概率。在左右图进行匹配代价计算时,为了让代价值能够准确的反映像素之间的相关性,建立相邻像素之间的联系,必须对初始代价进行代价聚合。即每个像素在某个视差下的新代价值都会根据其相邻像素在同一视差值下的代价值进行重新计算,得到聚合后的新的代价。在代价聚合阶段,ad

census以相邻像素点的灰度差及空间距离限制生成十字臂,在以十字
臂支撑的异形窗口内进行代价聚合。该方法可以最大限度地让视差连续的像素的代价进行聚合,处于视差不连续区域的像素的代价不参与聚合,保证了代价聚合的效果,但需先生成十字臂及十字臂支撑的窗口,较为费时,且聚合时各像素的代价按同等权重进行聚合,不能全面地反映像素之间的同类性关系。


技术实现要素:

[0006]
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于双目图像的立体匹配方法,该方法能够获取高精度的视差图。
[0007]
本发明的目的可以通过以下技术方案来实现:
[0008]
一种用于双目图像的立体匹配方法,包括以下步骤:
[0009]
s1:通过双目立体视觉传感器获取待匹配的左、右两幅图像,并分别在左、右两幅图像中选取待匹配像素点进行在视差为d时的gad变换、基于census变换和改进census变换的加权融合变换(以下简称:double census变换)和所述gad变换与double census变换的加权融合变换(以下简称gad

double census变换),获取所述待匹配像素点在视差为d时的初始匹配代价;
[0010]
s2:根据极线约束原则和视差范围,分别获取左、右图像的所有像素点在视差范围内所有视差下的初始匹配代价,形成左、右图像的初始代价空间;
[0011]
s3:采用权值跃变双边滤波器对左、右图像的初始代价空间的初始匹配代价进行聚合,获取聚合后的代价空间;
[0012]
s4:在聚合后的代价空间中,计算左、右两幅图像的每个像素点在最小代价下时所对应的视差值,即初始视差值,并根据初始视差值获取左、右两幅图像的初始视差图;
[0013]
s5:对所述初始视差图进行优化,获取高精度的视差图。
[0014]
优选地,所述s1包括以下步骤:
[0015]
s1.1:根据左、右两幅图像的颜色信息计算待匹配像素点在视差为d时的gad变换代价;
[0016]
s1.2:分别对左、右两幅图像进行灰度化处理,获取各像素的灰度值,以待匹配的像素点为中心选取窗口,并根据灰度值计算所述待匹配像素点在视差为d时的census变换匹配代价和改进census变换匹配代价,加权融合生成double census变换匹配代价;
[0017]
s1.3:将所述待匹配像素点的gad变换代价和double census变换匹配代价进行融合,获取所述待匹配像素点在视差为d时的gad

double census变换匹配代价,并作为初始匹配代价。
[0018]
优选地,所述左、右两幅图像的颜色信息为hsv颜色空间的三通道信息。
[0019]
优选地,所述改进census变换选取的窗口为:对左、右两幅图像分别进行3
×
3窗口的均值滤波,获取滤波后的左、右两幅图像;在滤波后的左图像中以待匹配点p(i,j)为中心选定一个n
×
n方形窗口,n为奇数;用窗口内除中心像素点p之外其余各像素点的灰度值的平均值替代窗口中心像素p的灰度值,获取新的窗口。
[0020]
优选地,以畸变因数r为自变量,采用径向基函数计算出的权重值对所述census变换匹配代价与改进census变换匹配代价进行加权融合,生成doublecensus变换代价。
[0021]
优选地,所述畸变因数r的表达式为:
[0022]
g(n
×
n)=a(n
×
n)

b(n
×
n)
[0023][0024]
式中:a(n
×
n)为左图像中以p(i,j)像素点为中心的窗口内各像素灰度值矩阵,b(n
×
n)为右图像中以q(i

d,j)像素点为中心的窗口内各像素灰度值矩阵,g(n
×
n)为a(n
×
n)与b(n
×
n)差的矩阵,g(k,l)为矩阵g中的元素,为矩阵g的中心元素,r(i,j,d)为左图中p(i,j)像素点在视差为d时畸变因数。
[0025]
优选地,所述double census变换代价的计算公式如下所示:
[0026][0027]
w2(i,j,d)=1

w1(i,j,d)
[0028]
c
dcensus
(i,j,d)=w1(i,j,d)
×
c
census
(i,j,d) w2(i,j,d)
×
c
icensus
(i,j,d)
[0029]
式中:w1(i,j,d)为左图中p(i,j)像素点在视差为d时的census变换代价的权重值,w2(i,j,d)为左图中p(i,j)像素点在视差为d时的改进census变换代价的权重值,r(i,j,d)为左图中p(i,j)像素点在视差为d时的畸变因数,δ为径向基函数的调节参数,c
census
(i,j,d)为左图中p(i,j)像素点在视差为d时的census变换代价,c
icensus
为左图中p(i,j)像素点在视差为d时的改进census变换代价,c
dcensus
(i,j,d)为左图中p(i,j)像素点在视差为d时的double census变换代价。
[0030]
优选地,所述s3采用权值跃变双边滤波器对所述左、右图像的初始代价空间的代价进行聚合的公式为:
[0031][0032][0033]
式中:(i,j)为代价聚合窗口的中心像素点p点的坐标,(k,l)为代价聚合窗口内其余像素点坐标,同时i,j,k,l代表对应点代价在代价空间的第一、二维坐标,i(i,j)和i(k,l)代表图像点(i,j)和点(k,l)的灰度值,ω
s
为两像素点之间的空间邻近度的权值,ω
r
为两像素点之间的灰度值相似度的权值,σ
s
为空间邻近度权值的调整参数,σ
r
为像素值相似度权值的调整参数,t为两点间灰度值差的阈值,ω(i,j,k,l)为点(k,l)的代价在以(i,j)为中心的窗口内代价聚合计算时的权值,d为视差,c
h
(i,j,d)为(i,j)点在d视差平面内聚合后的代价,s(i,j)为以(i,j)为中心的代价聚合窗口范围,c(k,l,d)为点(k,l)在d视差平面内的聚合前的初始代价。
[0034]
优选地,采用赢家通吃算法计算左、右两幅图像的像素点的初始视差值。
[0035]
优选地,所述s5包括以下步骤:
[0036]
s5.1:利用左右一致性检测判断初始视差图的误匹配点,并对误匹配点进行修正填充,获取修正填充后的视差值和视差图;
[0037]
s5.2:对修正填充后的视差图进行加权中值滤波,获得高精度的视差图。
[0038]
与现有技术相比,本发明具有以下优点:
[0039]
1)ad代价的计算结果更加准确可靠。本发明在hsv颜色空间下计算ad代价(即gad变换代价),相较于传统的依据图像的rgb颜色信息进行的ad代价计算,本发明在hsv颜色空间中能够高效的获取图片反应的最真实的信息,因而基于hsv颜色空间下ad的计算结果(即gad变换代价)更加可靠准确。
[0040]
2)double census代价比census代价的抗噪音性能更强。double census变换匹配代价是census变换代价和改进census变换代价加权融合得到的,融合权重值是用以畸变因数r为自变量的径向基函数计算出来的。而其中的改进census代价可以避免中心像素值畸变对生成的census比特串的影响。本发明采用先整幅图均值滤波然后再用窗口内除中心像素点p之外其余各像素点的灰度值的平均值替代窗口中心像素p的灰度值的方法,避免中心像素值畸变对生成的census比特串的影响。其中的畸变因数r可以反映像素值是否发生畸变及畸变的程度,并根据畸变因数计算double census代价中census变换代价和改进census变换代价的权重值。因此,double census代价可以抑制中心像素点的灰度值畸变对匹配代价的影响,克服了在左右图像亮度不一致和中心像素的灰度值畸变的恶劣情况下计算的匹配代价不可靠不精确的问题。
[0041]
3)代价聚合更加合理和准确。本发明采用权值跃变双边滤波对代价空间的代价进行聚合,可以彻底阻断深度不连续区域的像素的代价参与聚合,同时深度连续区域的像素的代价可以按空间临近度和颜色相似度产生的权重进行聚合,从而视差图的精度,特别是在视差不连续的图像边缘部分的精度得到很大提高,且不需生成十字臂及十字臂支撑的窗口,加快聚合速度。
附图说明
[0042]
图1为本实施例一种用于双目图像的立体匹配方法的流程示意图;
[0043]
图2为rgb颜色分量和hsv颜色分量的对比图;
[0044]
图3为本实施例中基于census变换比特串生成的示意图;
[0045]
图4为本实施例中基于census变换代价的计算结果的示意图;
[0046]
图5为本实施例中基于改进census变换比特串生成的示意图;
[0047]
图6为本实施例中采用的径向基函数在不同的调节参数δ时的图像;
[0048]
图7为本实施例中左图中待匹配点与右图中不同视差下同名点的示意图。
具体实施方式
[0049]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述实施例。
[0050]
参考图1所示,本实施例提供一种用于双目图像的立体匹配方法,包括以下步骤:
[0051]
s1:通过双目立体视觉传感器获取待匹配的左、右两幅图像,并分别在左、右两幅图像中选取待匹配像素点进行在视差为d时的gad变换、基于census变换和改进census变换的加权融合变换(以下简称:double census变换)和所述gad变换与double census变换的加权融合变换(以下简称gad

double census变换),获取所述待匹配像素点在视差为d时的初始匹配代价;
[0052]
s1.1:通过双目立体视觉传感器获取待匹配的左、右两幅图像,分别将左、右两幅图像的rgb颜色空间转换为hsv颜色空间,并根据hsv颜色空间的三通道信息进行ad变换(以下简称:gad变换),计算待匹配像素点在视差为d时的gad变换代价,计算公式如下所示:
[0053][0054]
式中:(i,j)为左图中待匹配点p(i,j)的坐标,d为视差,(i

d,j)为p(i,j)在视差为d时右图中的同名点(又称匹配点)q(i

d,j)的坐标,i为像素值,m为通道值,为左图中像素点p(i,j)在m通道下的像素值,为右图中的同名点q(i

d,j)在m通道下的像素值,c
gad
(i,j,d)为左图中p(i,j)像素点在视差为d时的gad变换代价。
[0055]
由于在图像中的同一场景中,rgb的颜色分量的变化大体相同,因此,rgb颜色空间对颜色的描述具有局限性,不能够有效的提取场景信息。图2为rgb颜色分量和hsv颜色分量的对比图,由图2可知,r通道、g通道和b通道颜色的变化程度一致性很高,因此在代价计算时依据rgb颜色信息相当于图片信息的重复计算。而hsv颜色模型从图片的色调、饱和度和亮度的三个角度来获取图像的信息,提高图像的分辨水平,因此在hsv颜色空间中能够高效的获取出图片反应的最真实的信息。因此,依据图片的hsv颜色信息计算出的gad代价更加准确可靠。
[0056]
s1.2:分别对左、右两幅图像进行灰度化处理,获取各像素的灰度值,以待匹配的像素点为中心选取窗口,并根据灰度值计算所述待匹配像素点在视差为d时的double census变换匹配代价;
[0057]
s1.2.1:根据左、右两幅图像的灰度值求解census变换的匹配代价;
[0058]
以左图像待匹配点p(i,j)为中心选定一个n
×
n(n为奇数)方形窗口,选取方形窗口的中心像素p(i,j)作为参考像素,将方形窗口中每个像素的灰度值i(k,l)顺次与参考像素的灰度值i(i,j)进行比较,灰度值小于或等于参考值的像素标记为1,大于参考值的像素标记为0,最后再将它们按位按顺序连接,得到变换后的由0和1组成的二进制数字串即census变换的比特串。转换公式为:
[0059][0060][0061]
其中,ξ为比较函数,(i,j)为窗口中心像素点p(i,j)的坐标,(k,l)为窗口内与p(i,j)相邻的像素点e(k,l)的坐标,i(i,j),i(k,l)分别为像素点p、e的灰度值,g
t
(i,j)为p(i,j)像素点的census变换比特串,为位连接运算符号,n
p
为以p(i,j)为中心的窗口变换
域。
[0062]
采用上述方法生成p(i,j)点在右图像中视差为d时的对应点q(i

d,j)的census变换比特串,并分别对左、右两幅图像中对应点p和q点的census变换比特串进行异或运算,如下式所示,求得两比特串之间的汉明距离c
census
,即是左图中p(i,j)像素点在视差d时的census变换所计算的匹配代价。
[0063]
c
census
(i,j,d)=hamming(c
tl
(i,j),c
tr
(i

d,j))
[0064]
式中:c
census
(i,j,d)为左图中p(i,j)像素点在视差d时的census变换代价,c
tl
(i,j)、c
tr
(i

d,j)分别为左图像中p(i,j)点和右图中对应的q(i

d,j)点的census变换比特串。
[0065]
s1.2.2:根据所述左、右两幅图像的灰度值求解改进census变换的匹配代价;
[0066]
对左、右两幅图像分别进行3
×
3窗口的均值滤波,获取滤波后的左、右两幅图像。在滤波后的左图像中以待匹配点p(i,j)为中心选定一个n
×
n(n为奇数)方形窗口,窗口的大小和上述census变换所取窗口相同,用窗口内除中心像素点p之外其余各像素点的灰度值的平均值替代窗口中心像素p的灰度值。在这个新的窗口中,按照上述census变换中比特串的生成方法,生成左图中像素点p(i,j)的二进制字符串,称之为像素点p(i,j)的改进census比特串。同样方法生成p(i,j)点在滤波后的右图像中视差为d时的对应点q(i

d,j)的改进census变换比特串,两变换比特串进行异或运算求得两比特串之间的汉明距离,即为改进census变换代价c
icensus
,公式为:
[0067]
c
icensus
(i,j,d)=hamming(c
itl
(i,j),c
itr
(i

d,j))
[0068]
式中:c
icensus
(i,j,d)为左图中p(i,j)像素点在视差d时的改进census变换代价,c
itl
(i,j)、c
itr
(i

d,j)分别为左图像中p(i,j)点和右图中对应点q(i

d,j)点的改进census变换比特串。
[0069]
s1.2.3:根据灰度值计算每个像素点的畸变因数r,利用径向基函数计算出的权重值对所述census变换代价与基于改进census变换代价进行加权融合,获取double census变换匹配代价。
[0070]
由于census变换对窗口的中心像素十分敏感,尤其是在复杂环境条件下,中心像素受到光照等不良因素的影响,造成其像素值畸变,有可能导致census变换得到的二进制字符串发生很大的改变,从而极大地增加了视差图中对应像素点发生错误匹配的概率,改进的census变换能克服这一问题,从而提高算法的匹配精度;故将census变换代价与改进census变换代价进行加权融合,获取double census变换匹配代价。
[0071]
在左图中同样选定大小为n
×
n的方形窗口,依据极线约束原则和视差范围,在右图中依次选取同样大小的窗口,形成窗口对。左、右图的窗口内各像素的灰度值形成两个矩阵,左图矩阵减去右图矩阵得到灰度差矩阵,再以灰度差矩阵的中心点元素减去其余元素的平均值得到差值r,公式如下:
[0072]
g(n
×
n)=a(n
×
n)

b(n
×
n)
[0073][0074]
式中:a(n
×
n)为左图像中以像素点p(i,j)为中心的窗口内各像素灰度值矩阵,b(n
×
n)为右图像中以对应像素点q(i

d,j)为中心的窗口内各像素灰度值矩阵,g(n
×
n)为a
(n
×
n)与b(n
×
n)差的矩阵,g(k,l)为矩阵g中的元素,为矩阵g的中心元素,r(i,j,d)为左图中p(i,j)像素点在视差为d时畸变因数。
[0075]
以畸变因数r为自变量,采用径向基函数计算的函数值w1作为census变换代价的权重值,w2=1

w1作为改进census变换代价的权重值,对census变换的求解代价与改进census变换的求解代价进行加权融合,公式为:
[0076][0077]
w2(i,j,d)=1

w1(i,j,d)
[0078]
c
dcensus
(i,j,d)=w1(i,j,d)
×
c
census
(i,j,d) w2(i,j,d)
×
c
icensus
(i,j,d)
[0079]
式中:w1(i,j,d)为左图中p(i,j)像素点在视差为d时的census变换代价的权重值,w2(i,j,d)为左图中p(i,j)像素点在视差为d时的改进census变换代价的权重值,r(i,j,d)为左图中p(i,j)像素点在视差为d时的畸变因数,δ为径向基函数的调节参数,c
census
(i,j,d)为左图中p(i,j)像素点在视差为d时的census变换代价,c
icensus
(i,j,d)为左图中p(i,j)像素点在视差为d时的改进census变换代价,c
dcensus
(i,j,d)为左图中p(i,j)像素点在视差为d时的double census变换代价。
[0080]
基于census变换匹配代价的计算如图3和图4所示,由图3和图4可知,census变换对窗口的中心像素高度敏感,特别是在复杂环境条件下,只要中心像素受到光照等不良因素的影响,造成其像素值畸变,都会导致census变换比特串和census变换匹配代价发生很大的改变。而参考图5可知,改进的census变换通过二次平均运算,用窗口内像素值的均值替代窗口中心像素值,可以抑制中心像素值畸变的影响。参考图6,从改进census变换匹配代价和传统census变换匹配代价融合权值的计算过程可以看出,当左右图中的正确匹配点受噪声影响发生畸变时,计算出来的畸变因子r的绝对值很大,对应的径向基函数值接近于0。这时,double census变换匹配代价取决于改进census变换匹配代价,而改进census变换匹配代价计算可以抑制中心像素值畸变对代价计算的影响,从而隔断中心像素点的灰度值畸变对匹配代价的影响。相反,当左右图中的正确匹配点没有灰度值畸变时,计算出来的畸变因子r的绝对值小,对应的径向基函数值接近于1,这时double census变换匹配代价取决于census变换的代价,发挥出census变换的优点。因此,不论是在左右图像亮度不一致还是在中心像素的灰度值畸变的恶劣情况下,double census变换都能计算出可靠精确的匹配代价。
[0081]
s1.3:将所述待匹配像素点p(i,j)在视差为d时的gad变换代价和double census变换匹配代价进行融合,获取所述待匹配像素点在视差为d时的gad

double census变换匹配代价,并作为初始匹配代价,计算公式具体为:
[0082]
c(i,j,d)=ρ(c
dcensus
(i,j,d),λ
dcensus
) ρ(c
gad
(i,j,d),λ
gad
)
[0083]
式中:c(i,j,d)为左图中p(i,j)像素点在视差d时的gad

double census变换代价,c
dcensus
(i,j,d)为左图中p(i,j)像素点在视差d时的double census变换代价,c
gad
(i,j,d)为左图中p(i,j)像素点在视差d时的gad变换代价,λ
gad
和λ
dcensus
分别为gad变换代价和double census变换代价的权重值。
[0084]
由于gad变换代价和double census变换代价的量纲不一致,不可以直接加权求
和。因此,先用函数ρ(c,λ)将gad变换代价和double census变换代价做归一化处理,使每种变换代价转换为范围在[0,1]的数值,公式如下:
[0085]
ρ(c,λ)=1

exp(

c/λ)
[0086]
式中:c为待转换的代价,λ为代价c的权重值,ρ(c,λ)为归一化后的代价。
[0087]
s2:参考图7所示,根据极线约束原则和视差范围分别获取左、右图像的所有像素点在视差范围内所有视差下的初始匹配代价,形成左、右图像的初始代价空间;
[0088]
对于左图中所有的任一待匹配点,根据极线约束原则和视差范围,遍历右图像中视差范围内的所有点,获取各待匹配点所有视差下的匹配代价,从而获取左图像的初始代价空间(注意:对于左图中靠左侧部分,在右图中按视差范围寻找匹配点时,有超出右图左边界的情况,即i

d<0,此时的代价c(i,j,d)直接赋值为255)。
[0089]
对于右图中所有的任一待匹配点,根据极线约束原则和视差范围,遍历左图像中视差范围内的所有点,获取各待匹配点所有视差下的匹配代价,从而获取右图像的初始代价空间(按视差范围搜寻出界时,处理方法和上述相同)。
[0090]
所述左、右两幅图像的初始代价空间为长宽和左、右图像的长宽相同,高度为最大视差,内容为像素点在该视差下的初始代价的三维空间。
[0091]
为使代价值能够准确的反映像素之间的相关性,建立相邻像素之间的联系,故对上述代价空间进行代价聚合,即每个像素在某个视差下的新代价值都会根据其相邻像素在同一视差值下的代价值重新计算,获取代价聚合后的代价空间。
[0092]
s3:采用权值跃变双边滤波器对所述左、右图像的初始代价空间的初始匹配代价进行聚合,获取聚合后的代价空间;
[0093]
权值跃变双边滤波对双边滤波中像素值相似度的权值ω
r
的定义进行更改,对窗口内邻近像素值的差值设定阈值t,当像素值的差值小于此阈值t时,ω
r
按现有的双边滤波的定义,使得属于同一区域上的像素点的代价参与滤波运算,使得深度连续的同一区域像素点的代价得到平滑效果,当像素值的差值大于此阈值t时,ω
r
跃变为0,使得不属于同一区域上的像素点的代价不再参与代价的加权求平均运算,滤波(聚合)后的代价平面图像的区域间的边缘得以完整保留,权值跃变双边滤波公式为:
[0094][0095][0096]
式中:(i,j)为代价聚合窗口的中心像素点p点的坐标,(k,l)为代价聚合窗口内其余像素点坐标,同时i,j,k,l代表对应点代价在代价空间的第一、二维坐标,i(i,j)和i(k,l)代表图像点(i,j)和点(k,l)的灰度值,ω
s
为两像素点之间的空间邻近度的权值,ω
r
为两像素点之间的灰度值相似度的权值,σ
s
为空间邻近度权值的调整参数,σ
r
为像素值相似度权值的调整参数,t为两点间灰度值差的阈值,ω(i,j,k,l)为点(k,l)的代价在以(i,j)为中
心的窗口内代价聚合计算时的权值,d为视差,c(i,j,d)为(i,j)点d视差平面内聚合后的代价,s(i,j)为以(i,j)为中心的代价聚合窗口范围,c(k,l,d)为点(k,l)在d视差平面内的聚合前的初始代价。
[0097]
代价聚合的目的是让代价值能够准确的反映像素之间的相关性,建立相邻像素之间的联系。即对深度连续的区域进行平滑同时保留深度不连续区域的边缘信息。现有的双边滤波通过颜色相似度权重ω
r
使处于深度不连续区域的像素的代价在聚合时降低加权的比重,但彼此之间的影响仍然存在,深度不连续区域的像素的代价参与聚合违背了代价聚合的原理,降低最终视差图的精度。本发明对ω
r
的定义设定阈值t,对于处于深度不连续区域的像素,其颜色的差值必定大于阈值t,这时定义ω
r
=0,彻底阻断深度不连续区域的像素的代价参与聚合。而对于深度连续区域的像素的代价仍然可以按空间临近度和颜色相似度产生的权重进行聚合,更加符合代价聚合的理论和初衷,实际的聚合效果也验证了该方法的合理性和先进性。计算的视差图,特别是在视差不连续的图像边缘部分的精度得到很大提高。
[0098]
s4:在聚合后的代价空间中,采用赢家通吃(wta)算法计算左、右两幅图像的每个像素点在最小代价时所对应的视差值,即初始视差值,并根据初始视差值获取左、右两幅图像的初始视差图;
[0099][0100]
式中:d
p
为p(i,j)像素点在聚合后的代价中最小匹配代价所对应的视差值即初始视差值,d
max
为视差搜索区间的最大视差值,argmin代表获取最小c
h
的第三维坐标的运算,c
h
(i,j,d)为p(i,j)像素点在视差为d时的聚合后的匹配代价值。
[0101]
计算图像中所有像素点的初始视差值,这些初始视差值所组成的矩阵即为初始视差图。
[0102]
s5:对所述初始视差图进行优化,获取高精度的视差图。
[0103]
s5.1:利用左右一致性检测判断初始视差图的误匹配点,并对误匹配点进行修正填充,获取修正填充后的视差值和视差图。
[0104]
左右一致性检测是基于视差的唯一性约束,即每个像素最多只存在一个正确视差。对于左图像中某一个像素点p(i,j),其视差值为d
p
,该像素点p(i,j)在右图中的理论对应点为p(i

d
p
,j),其视差记作d
r
,若|d
p

d
r
|>threshold(threshold为阈值,一般为1个像素),则判定p(i,j)为误匹配点,需要对点p的视差值重新赋值。具体赋值方法:对于一个误匹配点p,分别水平往左和往右找到第一个正确匹配点,记作p
l
、p
r
。点p的视差值赋成p
l
和p
r
视差值中较小的那一个值,公式为:
[0105][0106]
式中:d
pcorrect
为p点修正填充后的视差值。
[0107]
s5.2:对修正填充后的视差图进行加权中值滤波,获得高精度的视差图。
[0108]
根据本实施例提出的一种用于双目图像的立体匹配方法,在学术界公认的第3代middlebury双目立体匹配评估平台上对middlebury网站所提供的15组图像进行相关实验
来验证算法的可行性及性能测试。
[0109]
一种用于双目图像的立体匹配方法通过matlab r2018a软件平台来具体实现,硬件平台采用windows10操作系统(intel core i7

10751h cpu,2.60ghz,16gb内存)。实验涉及的参数包括:n=9,δ=1,λ
dcensus
=30,λ
gad
=10,ω
s
=7,ω
r
=0.2,t=15。
[0110]
实验1初始匹配代价算法的验证
[0111]
本实施例对本发明提出的初始匹配代价算法gad

double census算法和传统的初始匹配代价算法ad

census算法,分别计算初始匹配代价,并采用相同的方法获取视差图,获取的视差图与第3代middlebury双目立体匹配评估平台上提供的标准视差图比较,按平台提供的评估项目,分为非遮挡像素点的视觉平均误差和全部像素点的视觉平均误差两组评估数据,分别如表1和表2所示。由表1和表2可知,本实施例提出的初始匹配代价计算方法(gad

double census)优于传统算法(gad

census)。
[0112]
表1不同初始代价计算方法非遮挡像素点的视差平均误差比较(%)
[0113][0114]
表2不同初始代价计算方法全部像素点的视差平均误差比较(%)
[0115][0116]
实验2权值跃变双边滤波用于代价聚合的算法的验证
[0117]
本实施例在代价聚合步骤分别采用双边滤波和权值跃变的双边滤波进行对比实验,其余步骤算法一致。在第3代middlebury双目立体匹配评估平台上的评估结果如表3和表4所示,由表3和表4可以看出本实施例提出的将权值跃变双边滤波用于代价聚合可以得到精度更高的视差图。
[0118]
表3不同代价聚合方法非遮挡像素点的视差平均误差比较(%)
[0119][0120]
表4不同代价聚合方法全部像素点的视差平均误差比较(%)
[0121][0122]
实验3本发明算法的整体流程的验证
[0123]
本实施例验证本发明提出的一种用于双目图像的立体匹配算法与传统ad

census算法、ls

else算法、sgbm1算法、icsg算法和r200high算法做对比实验,在第3代middlebury双目立体匹配评估平台上的评估结果见表5和表6,由表5和表6可知,本实施例提出的一种用于双目图像的立体匹配方法在所有图像集上的平均匹配效果优于传统算法和相关的立体匹配算法,对匹配的效果有一定的提升,具有良好的表现。
[0124]
表5不同方法非遮挡像素点的视差平均误差比较(%)
[0125][0126]
表6不同方法全部像素点的视差平均误差比较(%)
[0127][0128][0129]
上述的对实施例的描述是为便于该技术领域的普通技术人员能理解和使用发明。熟悉本领域技术的人员显然可以容易地对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献