掌桥专利:专业的专利平台
掌桥专利
首页

基于半全局立体匹配的视差图确定方法、装置、介质及设备

文献发布时间:2024-04-18 19:58:26


基于半全局立体匹配的视差图确定方法、装置、介质及设备

技术领域

本公开涉及图像处理技术领域,尤其涉及一种基于半全局立体匹配的视差图确定方法、装置、介质及设备。

背景技术

三维图像重建在工业检查、物流包裹检测等技术领域应用广泛。其中,立体匹配是三维图像重建中的重要组成部分,立体匹配是通过模拟人眼的功能完成三维图像重建,立体匹配的匹配精度直接决定了三维图像重建的效果。立体匹配主要有以下几种:全局立体匹配、局部立体匹配和半全局立体匹配。

半全局立体匹配综合了全局立体匹配的精度和局部立体匹配的快速性,并运用一维多路径的方式转化解决了二维动态规划问题,降低了算法的复杂度,提高了运行速度和鲁棒性,且针对无纹理和边缘区域匹配的准确性较高。在半全局立体匹配的代价计算部分常用的算法有Census变换,由于传统的census变换过于依赖中心像素的灰度值,若中心像素受到噪声干扰,发生突变,则会对匹配代价的计算产生非常严重的影响,影响视差图的匹配精度。

发明内容

为克服相关技术中存在的问题,本公开提供一种基于半全局立体匹配的视差图确定方法、装置、介质及设备。

本公开的实施方式中,第一方面提供一种基于半全局立体匹配的视差图确定方法,包括:

获取相邻的待匹配图像,以及确定视差搜索范围和领域窗口;

将所述相邻的待匹配图像转换为对应的RGB图像,并将对应的所述RGB图像进行灰度转换,得到对应的所述灰度图像,并计算所述灰度图像中各像素的灰度值的一阶梯度值,得到对应的梯度图像;

根据所述领域窗口,分别确定所述灰度图像中的中心像素的灰度二进制数匹配代价,以及所述梯度图像中像素的的中心像素的梯度二进制数匹配代价;

计算两个所述中心像素的灰度二进制数匹配代价和梯度二进制数匹配代价的汉明距离,得到十进制数匹配代价立方体;

对所述RGB图像中像素进行超像素图像分割,确定每一所述像素所属的目标区域;

在所述目标区域内,针对每个所述像素,在所述视差搜索范围内不同视差下,向两边以聚合路径的法线方向均匀展开,聚合路径为对称轴,从N个不同的方向聚合所述像素的汉明距离匹配代价,得到所述视差搜索范围内不同视差下对应方向上的初始匹配代价;

将各所述视差搜索范围内各方向的初始匹配代价结合平滑项进行累加,计算得到视差搜索范围内不同视差下该像素的聚合代价,并根据所述聚合代价对所述十进制数匹配代价立方体进行更新;

针对更新后的十进制数匹配代价立方体中的每一个像素,比较视差搜索范围内不同视差下的所有代价值,选取最小代价值作为该像素的视差值,遍历所述更新后的十进制数匹配代价立方体,根据各所述像素的视差值,得到所述相邻的待匹配图像的视差图。

在一种优选的实施方式中,所述根据所述领域窗口,分别确定所述灰度图像中的中心像素的灰度二进制数匹配代价,以及所述梯度图像中像素的的中心像素的梯度二进制数匹配代价的步骤,包括:

分别根据各所述灰度图像中各像素的灰度值和各所述梯度图像中像素的灰度值的一阶梯度值,得到对应的二维灰度矩阵和二维梯度矩阵;

根据所述领域窗口,分别创建针对所述二维灰度矩阵和所述二维梯度矩阵的子领域窗口;

计算所述子领域窗口内覆盖的所述二维梯度矩阵中各像素的平均梯度值和所述二维灰度矩阵中各像素的平均灰度值;

根据所述平均灰度值以及所述子领域窗口内覆盖的所述二维灰度矩阵中各目标像素的灰度值,确定所述目标像素的灰度二进制数,所述平均灰度值与所述目标像素的所述灰度值的大小关系不同,所述目标像素的灰度二进制数不同,以及根据所述平均梯度值以及所述子领域窗口内覆盖的所述二维梯度矩阵中各所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数,所述平均梯度值与所述目标像素的所述灰度值的大小关系不同,所述目标像素的梯度二进制数不同;

根据同一位置上,分别遍历根据相邻待匹配图像子领域窗口内覆盖的所述二维灰度矩阵中每个目标像素的灰度值和子领域窗口内的灰度均值的大小关系,确定该目标像素的灰度二进制数匹配代价,以及根据同一位置上,分别遍历根据相邻待匹配图像子领域窗口内覆盖的所述二维梯度矩阵中每个目标像素的梯度值和子领域窗口内的梯度均值的大小关系,确定该目标像素的梯度二进制数匹配代价。

在一种优选的实施方式中,所述计算两个所述中心像素的灰度二进制数匹配代价和梯度二进制数匹配代价的汉明距离,得到十进制数匹配代价立方体的步骤,包括:

确定两个所述二维梯度矩阵中,相同位置上对应的所述梯度二进制数匹配代价不同的目标像素的数量,得到所述梯度图像中所述中心像素的梯度十进制数匹配代价,以及确定两个所述二维灰度矩阵中,相同位置上对应的所述灰度二进制数匹配代价不同的目标像素的数量,得到所述灰度图像中所述中心像素的灰度十进制数匹配代价;

根据所述梯度图像中所述中心像素的梯度十进制数匹配代价以及所述灰度图像中所述中心像素的灰度十进制数匹配代价,确定所述十进制数匹配代价立方体。

在一种优选的实施方式中,所述确定两个所述二维灰度矩阵中,相同位置上对应的所述灰度二进制数匹配代价不同的目标像素的数量,得到所述灰度图像中所述中心像素的灰度十进制数匹配代价的步骤,包括:

若两个所述二维梯度矩阵同一位置上,相邻的待匹配图像对应的二进制数不相同,则该目标像素的十进制灰度匹配代价在预设初始匹配代价上执行加1,其中,所述预设初始匹配代价为0;

若同一位置上,相邻的待匹配图像对应的二进制数相同,则该目标像素的灰度十进制数匹配代价不变,并进行下一位置上所述灰度二进制数的比较,直到比较完所有的所述灰度二进制数;

所述确定两个所述二维梯度矩阵中,相同位置上对应的所述梯度二进制数匹配代价不同的目标像素的数量,得到所述梯度图像中所述中心像素的梯度十进制数匹配代价的步骤,包括:

若两个所述二维梯度矩阵中同一位置上,相邻的待匹配图像对应的二进制数不相同,则该目标像素的梯度十进制数匹配代价在所述预设初始匹配代价上执行加1;

若两个所述二维梯度矩阵同一位置上,相邻的待匹配图像对应的梯度二进制数相同,则该目标像素的梯度十进制数匹配不变,并进行下一位置上所述梯度二进制数的比较,直到比较完所有的所述梯度二进制数。

在一种优选的实施方式中,所述根据所述平均梯度值以及所述子领域窗口内覆盖的所述二维梯度矩阵中各目标像素的一阶梯度值,确定所述目标像素的梯度二进制数的步骤,包括:

若所述平均梯度值大于所述子领域窗口内覆盖的所述二维梯度矩阵中所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数为0;

若所述平均梯度值小于或者等于所述子领域窗口内覆盖的所述二维梯度矩阵中所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数为1;

所述根据所述平均灰度值以及所述子领域窗口内覆盖的所述二维灰度矩阵中各目标像素的灰度值,确定所述目标像素的灰度二进制数的步骤,包括:

若所述平均灰度值大于所述子领域窗口内覆盖的所述二维灰度矩阵中所述目标像素的灰度值,确定所述目标像素的灰度二进制数为0;

若所述平均灰度值小于或者等于所述子领域窗口内覆盖的所述二维灰度矩阵中所述目标像素的灰度值,确定所述目标像素的灰度二进制数为1。

在一种优选的实施方式中,所述二维梯度矩阵中的目标像素为所述子领域窗口内覆盖的所述二维梯度矩阵中除中心像素外的像素;

所述二维灰度矩阵中的目标像素为所述子领域窗口内覆盖的所述二维灰度矩阵中除所述中心像素外的像素。

在一种优选的实施方式中,所述在所述目标区域内,针对每个所述像素,在所述视差搜索范围内不同视差下,向两边以聚合路径的法线方向均匀展开,聚合路径为对称轴,从N个不同的方向聚合所述像素的十进制数匹配代价,得到所述视差搜索范围内不同视差下对应方向上的初始匹配代价的步骤,包括:

其中,像素p是左图中在任一方向的聚合路径和与该聚合路径垂直的路径的交点像素,q为像素p所属的所述目标区域的像素集合,m表示像素集合q中像素的总数量,

和/>

在一种优选的实施方式中,所述根据各所述像素的视差值,得到所述相邻的待匹配图像的视差图的步骤,包括:

根据各所述像素的视差值,构建所述相邻的待匹配图像的所述视差值图;

根据所述相邻的待匹配图像的所述视差值图中,相同位置上对应所述像素的视差值之间的视差值差值的绝对值与预设阈值之间的大小关系,确定所述像素是否为无效视差像素;

在所述像素为非无效视差像素的情况下,保留该非无效视差像素的视差值;

在所述像素为所述无效视差像素的情况下,将所述无效视差像素的视差值替换为目标非无效视差像素的视差值,其中,所述目标非无效视差像素为与所述无效视差像素相邻的非无效视差像素中视差值最小的像素;

根据各所述非无效视差像素的视差值以及各所述无效视差像素替换后的视差值,得到新的视差值图;

根据中值滤波,对所述新的视差值图进行滤波,得到所述相邻的待匹配图像的所述视差图。

本公开的实施方式中,第二方面提供一种基于半全局立体匹配的视差图确定装置,包括:

获取模块,用于获取相邻的待匹配图像,以及确定视差搜索范围和领域窗口;

转换模块,用于将所述相邻的待匹配图像转换为对应的RGB图像,并将对应的所述RGB图像进行灰度转换,得到对应的所述灰度图像,并计算所述灰度图像中各像素的灰度值的一阶梯度值,得到对应的梯度图像;

确定模块,用于根据所述领域窗口,分别确定所述灰度图像中的中心像素的灰度二进制数匹配代价,以及所述梯度图像中像素的的中心像素的梯度二进制数匹配代价;

计算模块,用于计算两个所述中心像素的灰度二进制数匹配代价和梯度二进制数匹配代价的汉明距离,得到十进制数匹配代价立方体;

分割模块,用于对所述RGB图像中像素进行超像素图像分割,确定每一所述像素所属的目标区域;

聚合模块,用于在所述目标区域内,针对每个所述像素,在所述视差搜索范围内不同视差下,从N个不同的方向聚合所述像素的十进制数匹配代价,得到所述视差搜索范围内不同视差下对应方向上的初始匹配代价;

累加模块,用于将各所述视差搜索范围内各方向的初始匹配代价结合平滑项进行累加,计算得到视差搜索范围内不同视差下该像素的聚合代价,并根据所述聚合代价对所述十进制数匹配代价立方体进行更新;

选取模块,用于针对更新后的十进制数匹配代价立方体中的每一个像素,比较视差搜索范围内不同视差下的所有代价值,选取最小代价值作为该像素的视差值,遍历所述更新后的十进制数匹配代价立方体,根据各所述像素的视差值,得到所述相邻的待匹配图像的视差图。

本公开的实施方式中,第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。

本公开的实施方式中,第四方面提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:

根据领域窗口、灰度图像中各像素的灰度值以及灰度图像对应的梯度图像中各像素的灰度值的一阶梯度值,确定灰度图像中中心像素的二进制数匹配代价,以减少噪声引起的匹配精度的下降;计算两个中心像素的二进制数匹配代价的汉明距离,得到匹配代价立方体;对RGB图像中像素进行超像素图像分割,确定每一像素所属的目标区域;在目标区域内,针对每个像素,在视差搜索范围内不同视差下,从N个不同的方向聚合像素的十进制数匹配代价,得到视差搜索范围内不同视差下对应方向上的初始匹配代价;将各视差搜索范围内各方向的初始匹配代价结合平滑项进行累加,计算得到视差搜索范围内不同视差下该像素的聚合代价,并根据聚合代价对匹配代价立方体进行更新;针对更新后的匹配代价立方体中的每一个像素,比较视差搜索范围内不同视差下的所有代价值,选取最小代价值作为该像素的视差值,遍历更新后的匹配代价立方体,根据各像素的视差值,得到相邻的待匹配图像的视差图。提高了匹配精度。在原有半全局路径聚合的基础上,融合了超像素分割,将像素进行分类,在每条聚合路径上充分利用了路径上像素和其领域像素的信息,降低了路径上像素突变产生对匹配精度降低的影响。提升了半全局立体匹配算法的匹配精度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种基于半全局立体匹配的视差图确定方法的流程图。

图2是根据一示例性实施例示出的一种方向路径聚合的示意图。

图3是根据一示例性实施例示出的一种实现图1中步骤S13的方法的流程图。

图4是根据一示例性实施例示出的一种实现图1中步骤S18的方法的流程图。

图5是根据一示例性实施例示出的一种基于半全局立体匹配的视差图确定装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。

图1是根据一示例性实施例示出的一种基于半全局立体匹配的视差图确定方法的流程图,如图1所示,包括以下步骤。

在步骤S11中,获取相邻的待匹配图像,以及确定视差搜索范围和领域窗口。

其中,所述相邻的待匹配图像可以是指相邻图像帧的左右两帧待匹配图像。

在步骤S12中,将所述相邻的待匹配图像转换为对应的RGB图像,并将对应的所述RGB图像进行灰度转换,得到对应的所述灰度图像,并计算所述灰度图像中各像素的灰度值的一阶梯度值,得到对应的梯度图像。

读取左右图像,并将RGB图像转为灰度图,获取灰度图像的宽度和高度信息。进而计算所述灰度图像中各像素的灰度值的一阶梯度值,得到对应的梯度图像。

在步骤S13中根据所述领域窗口,分别确定所述灰度图像中的中心像素的灰度二进制数匹配代价,以及所述梯度图像中像素的的中心像素的梯度二进制数匹配代价。

其中,根据所述领域窗口和所述灰度图像中各像素的灰度值确定所述灰度图像中所述中心像素的灰度二进制数匹配代价,以及根据所述领域窗口和所述梯度图像中像素的梯度值确定所述梯度图像中所述中心像素的梯度二进制数匹配代价。根据所述梯度图像中所述中心像素的梯度二进制数匹配代价以及所述灰度图像中所述中心像素的灰度二进制数匹配代价,确定所述灰度图像中的所述中心像素的二进制数匹配代价。

在步骤S14中,计算两个所述中心像素的灰度二进制数匹配代价和梯度二进制数匹配代价的汉明距离,得到十进制数匹配代价立方体。

将输入的RGB图转为灰度图像,根据灰度图像,运用sobel算子计算每个像素点的x方向和y方向的梯度值进行xy方向上的梯度融合,得到对应灰度图的梯度二维矩阵,定义为G(x,y),确定梯度的领域窗口,计算窗口内的梯度平均值,定义为A

若像素的梯度值大于梯度平均值,则对应新矩阵对应位置的值为1,否则为0。若像素的灰度值大于灰度平均值,则对应另一个新矩阵对应位置的值为1,否则为0。左右图像中两对新二维矩阵都得到后,分别对两对左右0-1二维矩阵中的元素进行异或比较。计算得出两对0-1矩阵中相异元素的数量,将两个指标下的数量赋予不同的权重系数,进行加权相加即为当前领域窗口的中心元素匹配代价。将领域窗口中的梯度值和A_mean的梯度值比较,若大于A_mean的梯度值则置为1,否则置为0,每个窗口中心像素为p的二进制比特串定义为C_str1(p),将领域窗口中的灰度值和B_mean的灰度值比较,若大于B_mean的灰度值则置为1,否则置为0,每个窗口中心像素为p的二进制比特串定义为C_str2(p),在得到左右视图窗口的两对比特串后,计算窗口的汉明距离,计算两对比特串中各自对应位置上的异或结果,计算两对比特串之间的同一位置上的不同0-1编码的数量之和,将两对比特串的数量之和赋予不同权重系数进行加权相加,权重系数之和为1,加权相加后的值即为中心像素的匹配代价,定义为C_census(p,d)。计算census匹配代价后,计算AD(灰度差绝对值)匹配代价,输入左右图的彩色RGB图,分别计算左图和右图相比于左图相差视差在x轴为d的像素的RGB三个通道的像素差的绝对值之和再取平均值作为像素之间的匹配代价,每个像素的AD匹配代价定义为:C

计算得到census和AD匹配代价后,进行加权融合AD和census变换,设定合适的权重系数计算得出最后的匹配代价立方体,每个像素最终的匹配代价定义为C(p,d)。

在步骤S15中,对所述RGB图像中像素进行超像素分割,确定每一所述像素所属的目标区域。

基于超像素分割的多方向路径像素的领域均值计算得到的聚合代价的改进。将输入的彩色RGB图使用超像素分割算法进行像素区域分割,实现步骤有以下五步:

把图像从RGB色彩空间转换到CIE-Lab色彩空间,每个像素的(l,a,b)颜色值和(x,y)位置坐标组成5维向量V[l,a,b,x,y]。

2)、初始化种子点(聚类中心):按照设定的超像素个数,在图像内均匀的分配种子点。相邻种子点距离为N_spa,其中N_spa=sqrt(N/K),其中N为图片总像素点个数,K为预分割的相同尺寸的超像素数量,根据实验确定。

3)、在种子点的n*n邻域内重新选择种子点,这里n取3,使用sobel算子计算领域内所有像素点的梯度值,将种子点重新选择为到领域内梯度最小的位置。

4)、在每个种子点周围的邻域内根据度量距离D'为每个像素点分配类标签,每个像素选择度量距离最小的种子点作为相同类,其中度量距离D'的计算公式如下:

D^'=√((d_Col/N_Col)^2+(d_spa/N_spa)^2)

其中

5)、更新聚类中心,将聚类中心调整为同一聚类内像素的向量[l,a,b,x,y]的均值,重复上述步骤,直到每个像素聚类中心不在发生改变位置,或者达到预设的迭代次数,例如迭代次数可以设置为10次。

在步骤S16中,在所述目标区域内,针对每个所述像素,在所述视差搜索范围内不同视差下,向两边以聚合路径的法线方向均匀展开,聚合路径为对称轴,从N个不同的方向聚合所述像素的十进制数匹配代价,得到所述视差搜索范围内不同视差下对应方向上的初始匹配代价。

代价聚合阶段的能量函数的最优问题实际是一个NP完全问题。遂将其分解为不同路径上的代价聚合来解决。计算每个像素点上下左右四个方向的路径聚合作为匹配代价,以每条路径上的像素点作为交点,根据超像素分割分区的像素,选取以路径上像素为交点,垂直于路径的方向的领域,选取和交点相同区域的像素作为交点像素的领域像素,路径聚合时计算当前像素的和其领域像素的初始匹配代价的均值,计算上一个像素点和其领域像素的结合惩罚系数的最小匹配代价,再减去上一个像素的最小匹配代价作为当前像素路径聚合后的匹配代价,与下一像素进行路径聚合。某个路径方向r下的匹配代价定义为L

其中,M

在步骤S17中,将各所述视差搜索范围内各方向的初始匹配代价结合惩罚系数进行累加,计算得到视差搜索范围内不同视差下该像素的聚合代价,并根据所述聚合代价对所述十进制数匹配代价立方体进行更新。

其中,像素的总匹配代价为S(p,d),计算公式如下:

其中,L

参见图2所示,其中,每个小圆点代表一个像素,上下左右四个方向箭头表示要聚合的路径,每条路径上和路径垂直的线段表示和路径上和交点像素同一区域的领域元素,对每个交点像素和其领域像素求均值。对交点像素的上一个交点像素求取视差和对应惩罚系数项相加的匹配代价的最小值,减去上一个交点像素的最小匹配代价,四个方向的路径聚合代价就是中心像素的匹配代价,遍历图像中所有像素,完成代价聚合。

在步骤S18中,针对更新后的十进制数匹配代价立方体中的每一个像素,比较视差搜索范围内不同视差下的所有代价值,选取最小代价值作为该像素的视差值,遍历所述更新后的十进制数匹配代价立方体,根据各所述像素的视差值,得到所述相邻的待匹配图像的视差图。

在原有census变换的基础上,加入了sobel算子计算得到的梯度信息,融合梯度信息,在census变换中充分利用了领域像素的除灰度信息外的其他信息,使用梯度均值和灰度均值结合作为census变换的评判标注,降低了由于中心像素突变产生的影响,同时融合了AD灰度差绝对值算法,提高了匹配精度。在原有半全局路径聚合的基础上,融合了超像素分割的算法,将像素进行分类,在每条聚合路径上充分利用了路径上像素和其领域像素的信息,降低了路径上像素突变产生对匹配精度降低的影响。提升了半全局立体匹配算法的匹配精度。

在一种优选的实施方式中,参见图3所示,在步骤S13中,所述根据所述领域窗口、所述灰度图像中各像素的灰度值以及所述梯度图像中像素的梯度值,确定所述灰度图像中的中心像素的二进制数匹配代价的步骤,包括:

在步骤S131中,分别根据各所述灰度图像中各像素的灰度值和各所述梯度图像中像素的灰度值的一阶梯度值,得到对应的二维灰度矩阵和二维梯度矩阵;

在步骤S132中,根据所述领域窗口,分别创建针对所述二维灰度矩阵和所述二维梯度矩阵的子领域窗口。

在步骤S133中,计算所述子领域窗口内覆盖的所述二维梯度矩阵中各像素的平均梯度值和所述二维灰度矩阵中各像素的平均灰度值。

首先对图像进行sobel梯度计算,保存为一个二维梯度矩阵,sobel算子计算梯度公式如下:

G

其中g

在步骤S134中,根据所述平均灰度值以及所述子领域窗口内覆盖的所述二维灰度矩阵中各目标像素的灰度值,确定所述目标像素的灰度二进制数。

其中,所述平均灰度值与所述目标像素的所述灰度值的大小关系不同,所述目标像素的灰度二进制数不同。

在步骤S135中,根据所述平均梯度值以及所述子领域窗口内覆盖的所述二维梯度矩阵中各所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数。

其中,所述平均梯度值与所述目标像素的所述灰度值的大小关系不同,所述目标像素的梯度二进制数不同。

在步骤S136中,根据同一位置上,分别遍历根据相邻待匹配图像子领域窗口内覆盖的所述二维灰度矩阵中每个目标像素的灰度值和子领域窗口内的灰度均值的大小关系,确定该目标像素的灰度二进制数匹配代价。

其中,遍历执行步骤S136,得到所有的目标像素的灰度二进制数匹配代价。

在步骤S137中,根据同一位置上,分别遍历根据相邻待匹配图像子领域窗口内覆盖的所述二维梯度矩阵中每个目标像素的梯度值和子领域窗口内的梯度均值的大小关系,确定该目标像素的梯度二进制数匹配代价。

同理,遍历执行步骤S137,得到所有的目标像素的梯度二进制数匹配代价。

在一种优选的实施方式中,在步骤S14中,所述计算两个所述中心像素的灰度二进制数匹配代价和梯度二进制数匹配代价的汉明距离,得到十进制数匹配代价立方体的步骤,包括:

确定两个所述二维梯度矩阵中,相同位置上对应的所述梯度二进制数匹配代价不同的目标像素的数量,得到所述梯度图像中所述中心像素的梯度十进制数匹配代价,以及确定两个所述二维灰度矩阵中,相同位置上对应的所述灰度二进制数匹配代价不同的目标像素的数量,得到所述灰度图像中所述中心像素的灰度十进制数匹配代价;

其中,根据同一位置上,相邻的待匹配图像对应的灰度二进制数的异或关系确定该目标像素的灰度十进制数匹配代价。根据同一位置上,相邻的待匹配图像对应的梯度二进制数的异或关系确定该目标像素的梯度十进制数匹配代价。

根据所述梯度图像中所述中心像素的梯度十进制数匹配代价以及所述灰度图像中所述中心像素的灰度十进制数匹配代价,确定所述十进制数匹配代价立方体

灰度均值结合梯度均值作为census变换的评判标注,降低了由于中心像素突变产生的影响,充分利用像素特征信息同时融合了AD灰度差绝对值算法,提高了匹配精度。

在一种优选的实施方式中,所述确定两个所述二维灰度矩阵中,相同位置上对应的所述灰度二进制数匹配代价不同的目标像素的数量,得到所述灰度图像中所述中心像素的灰度十进制数匹配代价的步骤,包括:

若两个所述二维梯度矩阵同一位置上,相邻的待匹配图像对应的二进制数不相同,则该目标像素的十进制灰度匹配代价在预设初始匹配代价上执行加1,其中,所述预设初始匹配代价为0;

若同一位置上,相邻的待匹配图像对应的二进制数相同,则该目标像素的灰度十进制数匹配代价不变,并进行下一位置上所述灰度二进制数的比较,直到比较完所有的所述灰度二进制数;

所述确定两个所述二维梯度矩阵中,相同位置上对应的所述梯度二进制数匹配代价不同的目标像素的数量,得到所述梯度图像中所述中心像素的梯度十进制数匹配代价的步骤,包括:

若两个所述二维梯度矩阵中同一位置上,相邻的待匹配图像对应的二进制数不相同,则该目标像素的梯度十进制数匹配代价在所述预设初始匹配代价上执行加1;

若两个所述二维梯度矩阵同一位置上,相邻的待匹配图像对应的梯度二进制数相同,则该目标像素的梯度十进制数匹配不变,并进行下一位置上所述梯度二进制数的比较,直到比较完所有的所述梯度二进制数。

在一种优选的实施方式中,在步骤S134中,所述根据所述平均梯度值以及所述子领域窗口内覆盖的所述二维梯度矩阵中各目标像素的一阶梯度值,确定所述目标像素的梯度二进制数的步骤,包括:

若所述平均梯度值大于所述子领域窗口内覆盖的所述二维梯度矩阵中所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数为0;

若所述平均梯度值小于或者等于所述子领域窗口内覆盖的所述二维梯度矩阵中所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数为1;

在步骤S135中,所述根据所述平均灰度值以及所述子领域窗口内覆盖的所述二维灰度矩阵中各目标像素的灰度值,确定所述目标像素的灰度二进制数的步骤,包括:

若所述平均灰度值大于所述子领域窗口内覆盖的所述二维灰度矩阵中所述目标像素的灰度值,确定所述目标像素的灰度二进制数为0;

若所述平均灰度值小于或者等于所述子领域窗口内覆盖的所述二维灰度矩阵中所述目标像素的灰度值,确定所述目标像素的灰度二进制数为1。

在一种优选的实施方式中,所述二维梯度矩阵中的目标像素为所述子领域窗口内覆盖的所述二维梯度矩阵中除中心像素外的像素;

所述二维灰度矩阵中的目标像素为所述子领域窗口内覆盖的所述二维灰度矩阵中除所述中心像素外的像素。

计算census变换的匹配代价,以左右图像的梯度矩阵作为输入,确定窗口大小为n*n的领域窗口,这里假设图像的宽度坐标轴为x轴,高度坐标轴为y轴,原点在图像左上方,左图的像素表示为p,则右图的像素为p-d,左右图的y轴坐标相同,x轴相差视差d,这样的两个像素为对应像素点进行匹配代价的计算。

左图首先将无法形成领域窗口的边界像素的匹配代价全部设为最大视差的匹配代价,只对能够形成领域窗口的像素计算匹配代价。计算窗口内的梯度平均值,左图图中各自的窗口内的领域像素的梯度值逐个与窗口梯度平均值比较大小,若大于梯度平均值,取1;否则取0,灰度平均值计算也以相同的方法计算,最后分别得到census变换后以灰度和梯度为指标的的两个比特串,最后得到census变换后的比特串,比特串census变换的计算公式如下:

其中,q是属于以p为中心的窗口的元素,p为窗口的梯度平均值/灰度平均值,[]表示q的值与p的大小关系比较,

计算左右图中对应像素点,这里的对应像素点的意思为:在左图找到一个像素点p,然后在右图中找到一个和左图相同x,y坐标的像素点,在横坐标x-d的基础上找到的像素点就是左图的对应像素点。得到两串比特串后,分别将左右图的两对比特串进行异或处理,分别得到以灰度和梯度为指标的两个Hamming距离,将两个Hamming距离赋予不同的权重系数加权相加得到最终的Hamming距离,,计算公式如下:

其中,C

逐个遍历左图像素,完成census变换。

计算视差范围内的AD灰度差绝对值匹配代价,首先和图像一项大小的二维矩阵全部赋初值255,计算左右图中对应像素点的灰度差绝对值,使用彩色RGB图三通道计算每个通道对应的差的绝对值,累加再取平均值作为AD代价。遍历左图中所有元素,计算公式如下:

其中C

由于AD匹配代价和census变换计算得到的匹配代价的范围不一致,先将两者范围都归一化到[0,1]范围后再进行加权融合,归一化计算公式如下:

加权融合计算公式如下:

C(p,d)=ρ(C

其中C(p,d)表示census和AD以一个合适的权重加权相加计算后的匹配代价,ρ(C

在一种优选的实施方式中,所述在所述目标区域内,针对每个所述像素,在所述视差搜索范围内不同视差下,向两边以聚合路径的法线方向均匀展开,聚合路径为对称轴,从N个不同的方向聚合所述像素的十进制数匹配代价,得到所述视差搜索范围内不同视差下对应方向上的初始匹配代价的步骤,包括:

其中,像素p是左图中在任一方向的聚合路径和与该聚合路径垂直的路径的交点像素,q为像素p所属的所述目标区域的像素集合,m表示像素集合q中像素的总数量,

和/>

上述技术方案在图像分割的基础上进行代价聚合,在各方向上设置一个像素领域,求取每个像素在领域中的均值作为匹配代价。最后所有方向总路径作为匹配代价。

在一种优选的实施方式中,参见图4所示,在步骤S18中,所述根据各所述像素的视差值,得到所述相邻的待匹配图像的视差图的步骤,包括:

在步骤S181中,根据各所述像素的视差值,构建所述相邻的待匹配图像的所述视差值图。

采用WTA赢家通吃策略,从左右图像中的三维匹配代价数组中每个元素从不同视差下选择最小的匹配代价作为视差图中像素的匹配代价,形成视差值图,完成视差计算。

在步骤S182中,根据所述相邻的待匹配图像的所述视差值图中,相同位置上对应所述像素的视差值之间的视差值差值的绝对值与预设阈值之间的大小关系,确定所述像素是否为无效视差像素。

在步骤S183中,在所述像素为非无效视差像素的情况下,保留该非无效视差像素的视差值。

在步骤S184中,在所述像素为所述无效视差像素的情况下,将所述无效视差像素的视差值替换为目标非无效视差像素的视差值,其中,所述目标非无效视差像素为与所述无效视差像素相邻的非无效视差像素中视差值最小的像素。

在步骤S185中,根据各所述非无效视差像素的视差值以及各所述无效视差像素替换后的视差值,得到新的视差值图。

在步骤S186中,根据中值滤波,对所述新的视差值图进行滤波,得到所述相邻的待匹配图像的所述视差图。

获取左右图像的视差图,左图像中的每一个像素p,找到右图中对应的相似点p-d,判断每一个对应点之间的视差值是否超过设定的阈值,若超过则对应的像素视为无效点。遍历整个左图像。选取无效视差点邻近左右侧较小的有效值点视差进行填充。

视差优化,采用左右一致性检验和唯一性约束,从左视差图中的像素点p中,选择右视差图对应位置的点p-d,通过设定阈值判断是否满足要求,满足要求则保留,遍历下一个像素点,不满足将此像素视为无效视差点,消除视差值,计算公式如下:

|B

其中A为设定的阈值。选取无效视差点邻近左右侧较小的有效值点视差进行填充。使用中值滤波平滑视差图。

本公开的实施方式中还提供一种基于半全局立体匹配的视差图确定装置,参见图5所示,基于半全局立体匹配的视差图确定装置500包括:

获取模块510,用于获取相邻的待匹配图像,以及确定视差搜索范围和领域窗口;

转换模块520,用于将所述相邻的待匹配图像转换为对应的RGB图像,并将对应的所述RGB图像进行灰度转换,得到对应的所述灰度图像,并计算所述灰度图像中各像素的灰度值的一阶梯度值,得到对应的梯度图像;

确定模块530,用于根据所述领域窗口,分别确定所述灰度图像中的中心像素的灰度二进制数匹配代价,以及所述梯度图像中像素的的中心像素的梯度二进制数匹配代价;

计算模块540,用于计算两个所述中心像素的灰度二进制数匹配代价和梯度二进制数匹配代价的汉明距离,得到十进制数匹配代价立方体;

分割模块550,用于对所述RGB图像中像素进行超像素图像分割,确定每一所述像素所属的目标区域;

聚合模块560,用于在所述目标区域内,针对每个所述像素,在所述视差搜索范围内不同视差下,向两边以聚合路径的法线方向均匀展开,聚合路径为对称轴,从N个不同的方向聚合所述像素的十进制数匹配代价,得到所述视差搜索范围内不同视差下对应方向上的初始匹配代价;

累加模块570,用于将各所述视差搜索范围内各方向的初始匹配代价结合平滑项进行累加,计算得到视差搜索范围内不同视差下该像素的聚合代价,并根据所述聚合代价对所述十进制数匹配代价立方体进行更新;

选取模块580,用于针对更新后的十进制数匹配代价立方体中的每一个像素,比较视差搜索范围内不同视差下的所有代价值,选取最小代价值作为该像素的视差值,遍历所述更新后的十进制数匹配代价立方体,根据各所述像素的视差值,得到所述相邻的待匹配图像的视差图。

在一种优选的实施方式中,所述确定模块530,用于:

分别根据各所述灰度图像中各像素的灰度值和各所述梯度图像中像素的灰度值的一阶梯度值,得到对应的二维灰度矩阵和二维梯度矩阵;

根据所述领域窗口,分别创建针对所述二维灰度矩阵和所述二维梯度矩阵的子领域窗口;

计算所述子领域窗口内覆盖的所述二维梯度矩阵中各像素的平均梯度值和所述二维灰度矩阵中各像素的平均灰度值;

根据所述平均灰度值以及所述子领域窗口内覆盖的所述二维灰度矩阵中各目标像素的灰度值,确定所述目标像素的灰度二进制数,所述平均灰度值与所述目标像素的所述灰度值的大小关系不同,所述目标像素的灰度二进制数不同,以及根据所述平均梯度值以及所述子领域窗口内覆盖的所述二维梯度矩阵中各所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数,所述平均梯度值与所述目标像素的所述灰度值的大小关系不同,所述目标像素的梯度二进制数不同;

根据同一位置上,分别遍历根据相邻待匹配图像子领域窗口内覆盖的所述二维灰度矩阵中每个目标像素的灰度值和子领域窗口内的灰度均值的大小关系,确定该目标像素的灰度二进制数匹配代价,以及根据同一位置上,分别遍历根据相邻待匹配图像子领域窗口内覆盖的所述二维梯度矩阵中每个目标像素的梯度值和子领域窗口内的梯度均值的大小关系,确定该目标像素的梯度二进制数匹配代价。

在一种优选的实施方式中,计算模块540,用于:

确定两个所述二维梯度矩阵中,相同位置上对应的所述梯度二进制数匹配代价不同的目标像素的数量,得到所述梯度图像中所述中心像素的梯度十进制数匹配代价,以及确定两个所述二维灰度矩阵中,相同位置上对应的所述灰度二进制数匹配代价不同的目标像素的数量,得到所述灰度图像中所述中心像素的灰度十进制数匹配代价;

根据所述梯度图像中所述中心像素的梯度十进制数匹配代价以及所述灰度图像中所述中心像素的灰度十进制数匹配代价,确定所述十进制数匹配代价立方体。

在一种优选的实施方式中,所述确定模块530,用于:

若两个所述二维梯度矩阵同一位置上,相邻的待匹配图像对应的二进制数不相同,则该目标像素的十进制灰度匹配代价在预设初始匹配代价上执行加1,其中,所述预设初始匹配代价为0;

若同一位置上,相邻的待匹配图像对应的二进制数相同,则该目标像素的灰度十进制数匹配代价不变,并进行下一位置上所述灰度二进制数的比较,直到比较完所有的所述灰度二进制数;

若两个所述二维梯度矩阵中同一位置上,相邻的待匹配图像对应的二进制数不相同,则该目标像素的梯度十进制数匹配代价在所述预设初始匹配代价上执行加1;

若两个所述二维梯度矩阵同一位置上,相邻的待匹配图像对应的梯度二进制数相同,则该目标像素的梯度十进制数匹配不变,并进行下一位置上所述梯度二进制数的比较,直到比较完所有的所述梯度二进制数。

在一种优选的实施方式中,所述确定模块530,用于:

若所述平均梯度值大于所述子领域窗口内覆盖的所述二维梯度矩阵中所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数为0;

若所述平均梯度值小于或者等于所述子领域窗口内覆盖的所述二维梯度矩阵中所述目标像素的一阶梯度值,确定所述目标像素的梯度二进制数为1;

若所述平均灰度值大于所述子领域窗口内覆盖的所述二维灰度矩阵中所述目标像素的灰度值,确定所述目标像素的灰度二进制数为0;

若所述平均灰度值小于或者等于所述子领域窗口内覆盖的所述二维灰度矩阵中所述目标像素的灰度值,确定所述目标像素的灰度二进制数为1。

在一种优选的实施方式中,所述二维梯度矩阵中的目标像素为所述子领域窗口内覆盖的所述二维梯度矩阵中除中心像素外的像素;

所述二维灰度矩阵中的目标像素为所述子领域窗口内覆盖的所述二维灰度矩阵中除所述中心像素外的像素。

在一种优选的实施方式中,所述聚合模块560,用于通过如下公式得到所述视差搜索范围内不同视差下对应方向上的初始匹配代价的步骤,包括:

其中,像素p是左图中在任一方向的聚合路径和与该聚合路径垂直的路径的交点像素,q为像素p所属的所述目标区域的像素集合,m表示像素集合q中像素的总数量,

和/>

在一种优选的实施方式中,所述选取模块580,用于:

根据各所述像素的视差值,构建所述相邻的待匹配图像的所述视差值图;

根据所述相邻的待匹配图像的所述视差值图中,相同位置上对应所述像素的视差值之间的视差值差值的绝对值与预设阈值之间的大小关系,确定所述像素是否为无效视差像素;

在所述像素为非无效视差像素的情况下,保留该非无效视差像素的视差值;

在所述像素为所述无效视差像素的情况下,将所述无效视差像素的视差值替换为目标非无效视差像素的视差值,其中,所述目标非无效视差像素为与所述无效视差像素相邻的非无效视差像素中视差值最小的像素;

根据各所述非无效视差像素的视差值以及各所述无效视差像素替换后的视差值,得到新的视差值图;

根据中值滤波,对所述新的视差值图进行滤波,得到所述相邻的待匹配图像的所述视差图。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开的实施方式中还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述实施例中任一项所述方法的步骤。

本公开的实施方式中还提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现前述实施例中任一项所述方法的步骤。

本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 一种基于双目图像确定视差图的方法及装置
  • 一种基于可信度图视差优化的立体匹配方法
  • 基于电网的黑启动方式确定方法、装置、设备和存储介质
  • 基于大数据的走势图生成方法、装置、存储介质和设备
  • 双目立体匹配方法、视差图获取装置和计算机存储介质
  • 一种基于立体匹配深度神经网络获取多尺度视差图方法
技术分类

06120116492950