立体匹配方法及装置与流程

文档序号:12597370阅读:286来源:国知局
立体匹配方法及装置与流程

本发明涉及图像处理技术领域,具体涉及一种立体匹配方法及装置。



背景技术:

随着双摄像头配置在手机等移动终端中日益广泛,一种适合手机等移动终端使用的双目图像深度估计方法变得十分重要。

目前,在双目图像深度估计过程中,对镜头标定与矫正后,需要进行立体匹配,即估计其中一幅图像(例如左视图)每个像素点在另一图像(例如右视图)中的对应的立体匹配(Stereo Matching)关系,由此可以获得该幅图像每个像素点的视差估计值,进而得到一张视差估计图(Disparity Map)。根据光学原理,该视差估计图反比于物体的实际距离,因此根据所述视差估计图可以获得对应的深度图像。

由于计算能力的限制,早期的立体匹配算法大多是基于特征的稀疏匹配(Sparse Correspondence)算法,此类算法通过提取一些特征点,基于块相似的评价标准,在另一幅图像中搜索最为匹配的对应位置。

随着计算能力的提升以及后续流程的需要,如今的立体匹配算法大多是稠密匹配(Dense Correspondence)算法,相比与稀疏匹配算法,该类算法所获得是视差估计图更加精确,但实施也相对困难。

利用稠密匹配算法进行立体匹配时,大致可以分为两类:基于局部的约束方法和基于全局的约束方法。然而,无论是基于局部的约束方法,还是基于全局的约束方法,均无法兼顾立体匹配的精确度及复杂度,难以应用于手机等用户终端。



技术实现要素:

本发明要解决的问题是如何在保证立体匹配精确度的情况下,降低立体匹配过程的复杂度。

为解决上述问题,本发明实施例提供了一种立体匹配方法,适用于对第 一图像及第二图像进行立体匹配,所述方法包括:

将所述第一图像作为参考图像,分别计算所述第一图像中各个像素点在不同视差距离时的匹配代价值,获得所述不同视差距离对应的代价图像;

分别根据所述不同视差距离对应的代价图像,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行代价聚合;

根据代价聚合后的匹配代价值以及预设的第一惩罚系数和第二惩罚系数,分别对所述不同视差距离对应的代价图像在预设方向上进行动态规划操作,获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值,并根据所述累计匹配代价值获得对应像素点的实际视差值,其中,所述第一惩罚系数为所述预设方向上像素点按照视差步长变化时的惩罚值;所述第二惩罚系数为所述预设方向上像素点按照非视差步长变化时的惩罚值,且与所述预设方向上像素点的视差距离变化值相关;

对所获得的每个像素点的实际视差值进行求精处理,获得所述第一图像及第二图像的视差估计图。

可选地,根据代价聚合后的匹配代价值以及预设的第一惩罚系数和第二惩罚系数,分别对所述不同视差距离对应的代价图像在预设方向上进行动态规划操作,获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值,包括:

采用如下公式获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值:

其中,q表示像素点q(x,y)的位置坐标;pf(p,d)为进行了代价聚合后的像素点q在视差距离为d时的代价值,Cr(q,d)和Cr(q-r,d)是对r方向动态规划过程中,q和p-r位置处的像素点在视差距离d时的累计匹配代价值。k表示待搜索的视差距离,且k∈[0,D]。(k-d)表示r方向上像素点的视差距 离变化值。为q-r位置处的像素点在各视差距离时的累计匹配代价值中最小的值。P1为在r方向上像素点以视差步长为dstep进行变化时的惩罚值。κ1|k-d|+κ2表示在r方向上像素点以视差步长不为dstep进行变化时的惩罚值的增益倍数。κ1,κ2表示随着搜索方向相邻像素点视差差异增加时惩罚系数的增加程度,τ为搜索视差差异范围阈值。

可选地,所述根据所述不同视差距离对应的代价图像,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行代价聚合,包括:

获取所述第一图像的灰度图像,并将所述灰度图像作为引导图像;

按照预设窗口,在所述引导图像及代价图像的降采样图像上,计算对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行引导性滤波的系数,并在所述第一图像对应的尺度上进行滤波操作,获得所述第一图像中各个像素点在不同视差距离时对应的代价聚合后的匹配代价值。

可选地,所述预设窗口为4×4或8×8的窗口。

可选地,所述根据所述累计匹配代价值获得对应像素点的实际视差值,包括:

累计所述第一图像上每个像素点在同一视差距离不同方向上的匹配代价值,获得所述像素点在同一视差距离的匹配代价和;

选取所述像素点在不同视差距离的匹配代价和中的最小值,并将所选取的最小值作为所述像素点的实际视差值。

可选地,所述对所获得的每个像素点的视差值进行求精处理,获得相应的视差估计图,包括:

对所述各个像素点的实际视差值进行左右一致性检查;

对未满足左右一致性检查的像素点以及所在深度块的面积小于预设阈值的像素点进行填充处理,获得填充后的视差估计图;

根据左右一致性检查的结果以及所在深度块的面积大小,对所述填充后的视差估计图中各个像素点设置相应的权重系数,获得对应的权重图像;

根据所述权重图像及所述填充后的视差估计图,得到不同视差距离下的权重图像,并分别对所述不同视差距离下的权重图像进行引导性加权中值滤波,获得最终的视差估计图。

可选地,所述方法还包括:根据所获得的每个像素点在不同视差距离时的实际视差值估计对应的亚像素值,获得具有亚像素级别的视差估计图。

本发明实施例还提供了一种立体匹配装置,适于对第一图像及第二图像进行立体匹配,所述装置包括:

匹配代价计算单元,适于将所述第一图像作为参考图像,分别计算所述第一图像中各个像素点在不同视差距离时的匹配代价值,获得所述不同视差距离对应的代价图像;

代价聚合单元,适于分别根据所述不同视差距离对应的代价图像,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行代价聚合;

视差计算单元,适于根据代价聚合后的匹配代价值以及预设的第一惩罚系数和第二惩罚系数,分别对所述不同视差距离对应的代价图像在预设方向上进行动态规划操作,获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值,并根据所述累计匹配代价值获得对应像素点的实际视差值,其中,所述第一惩罚系数为所述预设方向上像素点按照视差步长变化时的惩罚值,所述第二惩罚系数为所述预设方向上像素点按照非视差步长变化时的惩罚值,且与所述预设方向上像素点的视差距离变化值相关;

求精处理单元,适于对所获得的每个像素点的实际视差值进行求精处理,获得所述第一图像及第二图像的视差估计图。

可选地,所述视差计算单元采用如下公式获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值:

其中,q表示像素点q(x,y)的位置坐标;pf(p,d)为进行了代价聚合后的像素点q在视差距离为d时的代价值,Cr(q,d)和Cr(q-r,d)是对r方向动态 规划过程中,q和p-r位置处的像素点在视差距离d时的累计匹配代价值;k表示待搜索的视差距离,且k∈[0,D];(k-d)表示r方向上像素点的视差距离变化值;为q-r位置处的像素点在各视差距离时的累计匹配代价值中最小的值;P1为在r方向上像素点以视差步长为dstep进行变化时的惩罚值;κ1|k-d|+κ2表示在r方向上像素点以视差步长不为dstep进行变化时的惩罚值的增益倍数;κ1,κ2表示随着搜索方向相邻像素点视差差异增加时惩罚系数的增加程度,τ为搜索视差差异范围阈值。

可选地,所述代价聚合单元包括:

获取子单元,适于获取所述第一图像的灰度图像,并将所述灰度图像作为引导图像;

代价聚合子单元,适于按照预设窗口,在所述引导图像及代价图像的降采样图像上,计算对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行引导性滤波的系数,并在所述第一图像对应的尺度上进行滤波操作,获得所述第一图像中各个像素点在不同视差距离时对应的代价聚合后的匹配代价值。

可选地,所述预设窗口为4×4或8×8的窗口。

可选地,所述视差计算单元适于累计所述第一图像上每个像素点在同一视差距离不同方向上的匹配代价值,获得所述像素点在同一视差距离的匹配代价和;选取所述像素点在不同视差距离的匹配代价和中的最小值,并将所选取的最小值作为所述像素点的实际视差值。

可选地,所述求精处理单元包括:

一致性检查子单元,适于对所述视差估计图中各个像素点的视差进行左右一致性检查;

填充子单元,适于对未满足左右一致性检查的像素点以及所在深度块的面积小于预设阈值的像素点进行填充处理,获得填充后的视差估计图;

权重设置子单元,适于根据左右一致性检查的结果以及所在深度块的面 积大小,对所述填充后的视差估计图中各个像素点设置相应的权重系数,获得对应的权重图像;

滤波子单元,适于根据所述权重图像及所述填充后的视差估计图,得到不同视差距离下的权重图像,并分别对所述不同视差距离下的权重图像进行引导性加权中值滤波,获得最终的视差估计图。

可选地,所述装置还包括:亚像素估计单元,适于根据所获得的每个像素点在不同视差距离时的视差值估计对应的亚像素值,获得具有亚像素级别的视差估计图。

与现有技术相比,本发明的技术方案至少具有以下优点:

通过计算第一图像中各个像素点在不同视差距离时的匹配代价值,获得所述不同视差距离对应的代价图像,进而可以根据所述不同视差距离对应的代价图像,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行代价聚合,并根据代价聚合后的匹配代价值以及预设的第一惩罚系数和第二惩罚系数来获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值,由此可以根据所述累计匹配代价值获得对应像素点的实际视差值,最后对所获得的每个像素点的实际视差值进行求精处理,即可获得所述第一图像及第二图像的视差估计图。其中,由于所述第二惩罚系数为所述预设方向上像素点按照非视差步长变化时的惩罚值,且与所述预设方向上像素点的视差距离变化值相关,进而在动态规划过程中,可以仅对所述预设方向上像素点的视差距离变化值在预设范围内变化时才更新所述累计匹配代价值,极大降低了动态规划过程中的计算量,也就降低了立体匹配过程的复杂度,并且可以保证立体匹配的精确度,更适合在手机等用户终端上应用。

进一步地,在引导图像和代价图像的降采样图像上,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行引导性滤波的系数计算,然后再在原始尺度上进行滤波操作。相对于在引导图像和代价图像的原始图像上进行引导性滤波,可以进一步降低立体匹配过程的复杂度。

进一步地,采用4×4或8×8的窗口,在所述引导图像和代价图像的降采样图像上,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进 行引导性滤波,可以避免在引导性滤波过程中执行除法操作,而仅用移位操作即可完成整个滤波过程,进一步降低立体匹配过程的复杂度。

进一步地,通过对所获得的每个像素点的视差值进行左右一致性检查、填充以及引导性加权中值滤波处理,可以使得所获得的视差估计图更加准确,进一步提高立体匹配的精确度。

附图说明

图1是本发明实施例中一种立体匹配方法的流程图;

图2是本发明实施例中一种立体匹配装置的结构示意图。

具体实施方式

目前,利用稠密匹配算法进行立体匹配时,要么基于局部的约束方法进行立体匹配,要么基于全局的约束方法进行立体匹配。相对于基于全局的约束方法进行的立体匹配,基于局部的约束方法进行立体匹配时,虽然复杂度较低,但对噪声较为敏感、无纹理、视差不连续或是遮挡区域的视差估计效果不理想,即立体匹配的精确度较低。相对于基于局部的约束方法进行的立体匹配,基于全局的约束方法进行立体匹配时,可以把匹配问题转化为能量函数的全局优化问题,但却具有较高的计算复杂度,不利于实时处理。

针对上述问题,本发明的实施例提供了一种立体匹配方法,所述方法在获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值时,不仅根据代价聚合后的匹配代价值进行计算,还根据预设的第一惩罚系数和第二惩罚系数来控制预设方向相邻像素具有不同实际视差值时的惩罚因子。由于所述第二惩罚系数为所述预设方向上像素点按照非视差步长变化时的惩罚值,且与所述预设方向上像素点的视差距离变化值相关,因此在动态规划过程中,可以仅对所述预设方向上像素点的视差距离变化值在预设范围内时才更新对应的累计匹配代价值,由此可以降低动态规划过程的复杂度,同时准确地获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细地说明。

如图1所示,本发明实施例提供了一种立体匹配方法,所述方法适用于对第一图像及第二图像进行立体匹配。具体地,所述方法可以包括如下步骤:

步骤11,将所述第一图像作为参考图像,分别计算所述第一图像中各个像素点在不同视差距离时的匹配代价值,获得所述不同视差距离对应的代价图像。

需要说明的是,在具体实施中,所述第一图像及第二图像分别为具有双摄像头配置的手机使用不同的摄像头获取到的图像。所述参考图像可以为所述第一图像,也可以为第二图像。本发明实施例中,为了方便描述,将所述第一图像作为所述参考图像。可以理解的是,无论所述参考图像具体为第一图像还是第二图像,均可以参照本发明实施例中的立体匹配方法,来获得所述第一图像及第二图像的视差估计图。

在具体实施中,可以采用多种方法计算所述第一图像中各个像素点在不同视差距离时的匹配代价值。其中,所述不同视差距离的数量及具体数值可以预先设定,比如,可以设定n个视差距离,根据每个视差距离可以获得一代价图像,共可以获得n幅代价图像。例如,当最大视差距离为D,当前视差距离为d时,第一图像I1中像素点(x,y)在第二图像I2中对应的像素点为(x+d,y),则在计算像素点(x,y)在视差距离为d时的匹配代价值为C(x,y,d)时,可以采用公式(1)获得C(x,y,d)的值:

在本发明的一实施例中,c(x,y,d,I1,I2)=|I1(x,y)-I2(x+d,y)|,即所述第一图像I1及第二图像I2对应像素点的灰度的绝对差;即所述第一图像I1及第二图像I2对应像素点的梯度的绝对差;I2(x,y)为第一图像y行x列的像素点的像素值;w为融合权重;d∈[0,D]。

在本发明的另一实施例中,可以分别通过公式(2)及公式(3)来获得c(x,y,d,I2,I1)及的值:

其中,xi表示在[-1/2,+1/2]像素值范围内的所有像素点,是第二图像I2上(xi+d,y)位置处的像素点根据左右相邻整像素的线性插值。是第一图像I1上的(xi,y)位置处的像素点根据左右相邻整像素的线性插值。

步骤12,分别根据所述不同视差距离对应的代价图像,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行代价聚合。

在具体实施中,为了获得较精确的视差估计图,在获得所述代价图像后,根据所述代价图像,可以采用多种方法对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行代价聚合。

在本发明的一实施例中,可以采用引导性滤波的方法对不同视差距离下的代价图像进行滤波平滑。具体地,先获取所述第一图像的灰度图像,并将所述灰度图像作为引导图像,再按照预设窗口,在所述引导图像及代价图像的降采样图像上,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行引导性滤波的系数计算,如公式(6)-(7),然后在原始尺度上对代价图像进行滤波,如公式(5),如此获得所述第一图像中各个像素点在不同视差距离时对应的代价聚合后的匹配代价值。其中,所述原始尺度即所述第一图像未经降采样处理前所对应的尺度。

在具体实施中,所述预设窗口可以为4×4或8×8的窗口。

例如,所述第一图像I1的灰度图像为I,所获得的一代价图像为p,对所述第一图像I1中各个像素点在不同视差距离时的匹配代价值进行引导性滤波时,分别将同一像素点在灰度图像为I上对应的灰度值,以及代价图像为p上对应的匹配代价值代入公式(5),可以获得所述第一图像中各个像素点在不同视差距离时对应的代价聚合后的匹配代价值pf

其中,↑为升采样操作;分别为引导性滤波系数a,b做均值滤波的结果,且a,b在不同视差距离时均须计算,因此,为了节约计算量,可以在灰度图像I及代价图像p的降采样图像上进行计算,具体可以参照公式(6)及(7):

其中,↓为降采样操作,K为参数且K=2n,e为整数变量且σk表示窗口内引导图像的变化方差值,ε为描述滤波强度的参数。

需要说明的是,为了简化公式,在公式(5)-(7)中,分别以I表示像素点(x,y)的灰度值,p表示像素点(x,y)的匹配代价值,pf表示像素点(x,y)代价聚合后的匹配代价值。

步骤13,根据代价聚合后的匹配代价值以及预设的第一惩罚系数和第二惩罚系数,分别对所述不同视差距离对应的代价图像在预设方向上进行动态规划操作,获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值,并根据所述累计匹配代价值获得对应像素点的实际视差值。

在具体实施中,通过在动态规划的过程中加入惩罚系数,相对于局部约束方法进行立体匹配,加入了对视差图像相邻像素点视差差异的依赖性,提高视差估计准确性。相对于全局约束方法进行立体匹配,通过不需要迭代的一次动态规划代价累计过程,简化了视差估计的复杂度。其中,所述第一惩罚系数为所述预设方向上像素点按照视差步长移动时的惩罚值,所述第二惩罚系数为所述预设方向上像素点按照非视差步长移动时的惩罚值。所述第二惩罚系数通常为所述第一惩罚系数的倍数。

在具体实施中,可以设置多个预设方向,进而可以在不同方向上对各个 像素点的匹配代价值进行累计。可以理解的是,所述预设方向的数量越多,每个像素点实际视差值也就越精确。

在具体实施中,以视差步长为dstep为例,对视差距离为d的代价图像p在r方向上进行动态规划,此时,可以通过公式(8),计算视差距离为d时的代价图像p上的像素点q(x,y)对应的累计匹配代价值:

其中,q表示像素点q(x,y)的位置坐标;pf(p,d)为进行了代价聚合后的像素点q在视差距离为d时的代价值,Cr(q,d)和Cr(q-r,d)是对r方向动态规划过程中,q和p-r位置处的像素点在视差距离d时的累计匹配代价值。k表示待搜索的视差距离,且k∈[0,D]。(k-d)表示r方向上像素点的视差距离变化值。为q-r位置处的像素点在各视差距离时的累计匹配代价值中最小的值。P1为在r方向上像素点以视差步长为dstep进行变化时的惩罚值。κ1|k-d|+κ2表示在r方向上像素点以视差步长不为dstep进行变化时的惩罚值的增益倍数。κ1,κ2表示随着搜索方向相邻像素点视差差异增加时惩罚系数的增加程度,τ为搜索视差差异范围阈值,通常较小。

比如,当dstep=1时,可以得到对应的Cr(q,d)如下:

采用半全局匹配方法获得各像素点的实际视差值,即通过累计不同预设方向上,各像素点在不同视差距离时的累计匹配代价值Cr(p,d),并选取最小累计匹配代价值Cr(p,d)的视差作为对应像素点的实际视差值,有效提高立体匹配的精确度,特别是相比局部方法,在存在大量平坦区域的图像中效果更为稳定。

具体地,可以先对所述第一图像上每个像素点在同一视差距离不同方向上的匹配代价值进行累计,获得所述像素点在同一视差距离的匹配代价和Csgm(q,d),如公式(9)所示;再选取所述像素点在不同视差距离的匹配代价和Csgm(q,d)中的最小值,并将所选取的最小值作为所述像素点的实际视差值D(q),如公式(10)所示。

D(q)=argmind Csgm(q,d) (10)

需要说明的是,为了简化公式,在公式(8)-(10)中,pf表示像素点(x,y)代价聚合后的匹配代价值,r表示对应的方向矢量。

步骤14,对所获得的每个像素点的实际视差值进行求精处理,获得所述第一图像及第二图像的视差估计图。

在具体实施中,在对所获得的每个像素点的实际视差值进行求精处理时,可以先对各个像素点的实际视差值进行左右一致性检查再对未满足左右一致性检查的像素点以及所在深度块的面积小于预设阈值的像素点进行填充处理,获得填充后的视差估计图,最后根据左右一致性检查的结果以及所在深度块的面积大小,对所述填充后的视差估计图中各个像素点设置相应的权重系数,获得对应的权重图像。将所述填充后的视差估计图在不同距离下的二值化图像与所述权重图像相乘,再对相乘后得到的图像进行引导性加权中值滤波,并通过累计值中值的位置确定最终的视差估计图。

其中,各个像素点的实际视差值进行左右一致性检查时,将以第一图像作为参考图像,按照步骤11~13获得像素点q(x,y)的实际视差值记为D1(x,y),以第二图像作为参考图像,按照步骤11-13获得像素点q(x,y)的实际视差值记为D2(x,y),当D2(x,y)为正,D1(x,y)为负时,可以通过公式(11)进行左右一致性检查:

其中,LRC(q)为左右一致性检查的结果,ξ为已知参数。

根据公式(11),所述未满足左右一致性检查的像素点,即LRC(q)值等于0的像素点。将未满足左右一致性检查的像素点以及所在深度块的面积小于预设阈值的像素点作为无效像素点,其他为有效像素点。对无效像素点进行填充时,可以从所述无效像素点所在的行方向上,选取左右两侧最接近有效像素点的实际视差值中的最小值,并将所选取的最小值作为所述无效像素点的当前视差距离。

之后,根据左右一致性检查的结果以及所在深度块的面积大小,对所述填充后的视差估计图中各个像素点设置相应的权重系数,获得对应的权重图像。例如,可以设置有效像素点权重为1,设置左右不一致和面积小于预设阈值的像素点的权重为t,t∈[0,1]。由于无效像素点一般处于遮挡区域,对无效的像素点设置较小的权重,可以在后续的引导性加权中值滤波中,使得滤波视差图像更好地保持与原始灰度图像的边缘一致性。当然,权重设置可以进一步优化,例如,对于不同的左右一致性程度和不同的像素孤立深度块面积大小,选择不同权重系数以提高滤波效果。

得到权重图像后,对所述填充后的视差估计图进行二值化处理,得到不同的视差距离对应的视差二值化图像,再根据公式(12),对所述不同视差距离对应的视差二值化图像与权重图像的进行乘积运算,得到图像Wb(d):

Wb(d)=(D==d)⊙WLRC (12)

其中,(D==d)为所述填充后的视差估计图在视差距离为d时的视差二值化图像,其中,在视差距离为d时,所述二值化图像中各个像素点的像素值为1,其它视差距离下,所述视差二值化图像中各个像素点的像素值为0。⊙

为逐像素相乘运算符,WLRC为根据左右一致性检查的结果以及所在深度块的面积大小获得的权重图像。把所述第一图像I1的灰度图像作为引导图像,对WLRC图像和不同视差下的Wb(d)分别作引导性滤波,并根据公式(13),得到各像素点的最终视差值Df

其中,pf(Wb(d))和pf(WLRC)为对Wb(d)和WLRC做引导性滤波的结果。

在具体实施中,为了使得最终获得的视差估计图达到一定的像素级别,在获得每个像素点在不同视差距离时的视差实际视差值时,可以根据像素点在不同视差距离时的视差实际视差值估计对应的亚像素值,获得具有亚像素级别的视差估计图。

具体地,在本发明的一实施例中,可以通过拟合一条二次曲线的方式来预测具有亚像素级别的视差值Δ(q),如公式(14)所示:

获得所述亚像素级别的视差值Δ(q)后,像素点q的最终视差值即为对应的当前视差值与所述亚像素级别的视差值Δ(q)之和。

需要说明的是,所述像素点q的当前视差值可以为其经步骤13所获得的实际视差值,也可以对所述实际视差值进行求精处理后所获得的视差值。也就是说,可以在获得各个像素点的实际视差值后,即进行亚像素估计,也可以在对所获得的每个像素点的实际视差值进行求精处理,再进行亚像素估计。具体无论何时进行亚像素估计,均不构成对本发明的限制,且均在本发明的保护范围之内。

由上述内容可知,在本发明的实施例中,基于半全局匹配的方法进行立体匹配,相对于基于局部约束方法进行立体匹配,可以提高匹配的精确度,相对于基于全局约束方法进行立体匹配,由于所述第一惩罚系数及第二惩罚系数的设置,可以降低匹配过程中的复杂度,减少计算量,节约存储空间,更适于在手机的用户终端应用。

为了使本领域技术人员更好地理解和实现本发明,以下对上述立体匹配方法对应的装置进行详细描述。

如图2所示,本发明实施例提供了一种立体匹配装置,所述装置适于对第一图像及第二图像进行立体匹配。具体地,所述装置可以包括:匹配代价计算单元21,代价聚合单元22,视差计算单元23以及求精处理单元24。其中:

所述匹配代价计算单元21,适于将所述第一图像作为参考图像,分别计 算所述第一图像中各个像素点在不同视差距离时的匹配代价值,获得所述不同视差距离对应的代价图像。

所述代价聚合单元22,适于分别根据所述不同视差距离对应的代价图像,对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行代价聚合。

所述视差计算单元23,适于根据代价聚合后的匹配代价值以及预设的第一惩罚系数和第二惩罚系数,分别对所述不同视差距离对应的代价图像在预设方向上进行动态规划操作,获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值,并根据所述累计匹配代价值获得对应像素点的实际视差值。

所述求精处理单元24,适于对所获得的每个像素点的视差值进行求精处理,获得所述第一图像及第二图像的视差估计图。其中,所述第一惩罚系数为所述预设方向上像素点按照视差步长变化时的惩罚值;所述第二惩罚系数为所述预设方向上像素点按照非视差步长变化时的惩罚值,且与所述预设方向上像素点的视差距离变化值相关;

在具体实施中,所述视差计算单元23采用如下公式获得不同预设方向上,各像素点在不同视差距离时的累计匹配代价值:

其中,q表示像素点q(x,y)的位置坐标;pf(p,d)为进行了代价聚合后的像素点q在视差距离为d时的代价值,Cr(q,d)和Cr(q-r,d)是对r方向动态规划过程中,q和p-r位置处的像素点在视差距离d时的累计匹配代价值。k表示待搜索的视差距离,且k∈[0,D]。(k-d)表示r方向上像素点的视差距离变化值。为q-r位置处的像素点在各视差距离时的累计匹配代价值中最小的值。P1为在r方向上像素点以视差步长为dstep进行变化时的惩罚值。κ1|k-d|+κ2表示在r方向上像素点以视差步长不为dstep进行变化 时的惩罚值的增益倍数。κ1,κ2表示随着搜索方向相邻像素点视差差异增加时惩罚系数的增加程度,τ为搜索视差差异范围阈值。

在具体实施中,所述代价聚合单元22可以包括:获取子单元221及代价聚合子单元222。

其中,所述获取子单元221,适于获取所述第一图像的灰度图像,并将所述灰度图像作为引导图像。所述代价聚合子单元222,适于按照预设窗口,在所述引导图像及代价图像的降采样图像上,计算对所述第一图像中各个像素点在不同视差距离时的匹配代价值进行引导性滤波的系数,并在所述第一图像对应的尺度上进行滤波操作,获得所述第一图像中各个像素点在不同视差距离时对应的代价聚合后的匹配代价值。

在具体实施中,所述预设窗口为4×4或8×8的窗口。

在具体实施中,所述视差计算单元23适于累计所述第一图像上每个像素点在同一视差距离不同方向上的匹配代价值,获得所述像素点在同一视差距离的匹配代价和;选取所述像素点在不同视差距离的匹配代价和中的最小值,并将所选取的最小值作为所述像素点的实际视差值。

在具体实施中,所述求精处理单元24可以包括:一致性检查子单元241,填充子单元242,权重设置子单元243以及滤波子单元244。其中,所述一致性检查子单元241,适于对所述视差估计图中各个像素点的视差进行左右一致性检查。

所述填充子单元242适于对未满足左右一致性检查的像素点以及所在深度块的面积小于预设阈值的像素点进行填充处理,获得填充后的视差估计图。

所述权重设置子单元243适于根据左右一致性检查的结果以及所在深度块的面积大小,对所述填充后的视差估计图中各个像素点设置相应的权重系数,获得对应的权重图像。

所述滤波子单元244适于根据所述权重图像及所述填充后的视差估计图,得到不同视差距离下的权重图像,并分别对所述不同视差距离下的权重图像进行引导性加权中值滤波,获得最终的视差估计图。

在具体实施中,所述装置还可以包括:亚像素估计单元(未示出)。所述亚像素估计单元,适于根据所获得的每个像素点在不同视差距离时的视差值估计对应的亚像素值,获得具有亚像素级别的视差估计图。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1