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

技术领域

本发明涉及计算机视角技术领域,具体涉及一种渐近全局匹配的双目视差获取方法和系统。

背景技术

双目视觉匹配是一种从一对不同角度拍摄的图片进行运算,从而恢复空间深度信息的机器技术。此技术近年受到广泛关注,成为自动驾驶、机器人视觉、虚拟/增强现实,工业自动化测量等许多智能化技术的基础之一。目前广泛应用的算法有:交互像素点差异(BT)代价算法和准全局聚合代价匹配(SGM,Semiglobal Matching)算法。BT代价算法为常用的局部算法(S. Birchfield and C.Tomasi,“Depth Discontinuities by Pixel-toPixel Stereo,”Proc. Sixth IEEE Int’l Conf.Computer Vision,pp.1073-1080,Jan.1998.),SGM全局算法以BT代价为基础进行多方向聚合(Heiko Hirschmüller,“StereoProcessing by Semiglobal Matching and Mutual Information”,IEEE TRANSACTIONSON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,VOL.30,NO.2, FEBRUARY 2008)。在另一篇文献中(D.Scharstein and R.Szeliski,“A Taxonomy and Evaluation of DenseTwo-Frame Stereo Correspondence Algorithms,”Int’l J.Computer Vision,vol.47,nos.1/2/3,pp.7-42,Apr.-June 2002.),对现有的双目视觉匹配算法进行了分类和比较。

全局聚合代价匹配精度较高,但消耗巨大的计算资源和内存资源,能达到的帧率十分有限;而局部匹配速度较快,但其准确度低,会产生局部匹配错误,或局部找不到优化匹配视差值,从而在匹配特征不明显的区域产生大量离散分布的错误匹配区域。

发明内容

针对现有技术中存在的上述技术问题,本发明提供一种渐近全局匹配的双目视差获取方法和系统,通过渐近全局匹配的方法进行匹配,以降低全局匹配的计算量,便于节约计算资源,获得高精度的优化视差匹配图。

本发明公开了一种渐近全局匹配的双目视差获取方法,所述方法包括:对左图的行和列进行间隔采样,获得低分辨率的第一左图;对右图的行和列进行间隔采样,获得低分辨率的第一右图;基于全局匹配的方法对第一左图和第一右图进行匹配,获得第一初始视差图;对第一初始视差图进行插值处理,获得与左图或右图具有相同像素列阵的第一等像素初始视差图;以第一等像素初始视差图为参考,对左图和右图进行全局匹配,获得优化视差图。

优选的,本发明的方法还包括图像平滑的方法:将所述第一初始视差图进行平滑处理后,再进行插值处理。

优选的,对左图或右图的行和列进行间隔采样的方法包括:间隔采取行和列上的点作为重采点;将所述重采点临近区域的平均值作为重采点的值。

优选的,以第一等像素初始视差图为参考,对左图和右图进行全局匹配的方法包括:以第一等像素初始视差图为参考,为右图设定搜索范围;在所述搜索范围内,通过全局匹配的方法,在右图中搜索到与左图点的最优匹配,获得相对视差;根据相对视差和第一等像素初始视差图的初始视差获得优化视差。

优选的,在右图中搜索到与左图点最优匹配的方法包括:分别计算左图和右图三通道BT代价,并按通道累加获得组合单通道BT代价;将组合单通道BT代价在X方向求梯度后取模量,获得单通道BT代价梯度模量;分别计算左图和右图三通道每行X方向的梯度并取模量,获得三通道左梯度图和三通道右梯度图;根据三通道左梯度图和三通道右梯度图,按通道分别计算BT 代价,获得三通道组合BT;将三通道组合BT按通道累加后,获得单通道梯度BT代价;将单通道BT代价梯度模量和单通道梯度BT代价加权和,获得复合 BT代价;以所述复合BT代价为基础,在右图的视差搜索范围内进行多方向 SGM全局代价聚合;在右图视差范围内匹配到最小聚合代价,其对应的点为最优匹配,获得相对视差。

优选的,多方向SGM全局代价聚合的方法包括:

L(p,d

(2)

其中,L为聚合方向上的聚合代价,C(p,d

优选的,所述优化视差图包括绝对视差,所述绝对视差由相对视差和初始视差求和得到。

优选的,本发明的方法还包括通过第二初始视差进获取双目视差的方法:对左图的行和列进行间隔采样,获得低分辨率的第二左图,所述第二左图的分辨率高于第一左图;对右图的行和列进行间隔采样,获得低分辨率的第二右图,第二右图的分辨率高于第一右图;第一初始视差图通过插值处理,获得与第二左图或第二右图具有相同像素列阵的第二等像素初始视差图;以第二等像素初始视差图为参考,基于全局匹配的方法对第二左图和第二右图进行匹配,获得第二初始视差图;第二初始视差图通过插值处理,获得与所述左图或右图具有相同像素列阵的第三等像素初始视差图;以第三等像素初始视差图为参考,基于全局匹配的方法对左图和右图进行匹配,获得优化视差图。

优选的,本发明的方法还包括图像预处理的方法:将左图和右图在Y方向上对齐;对左图和右图根据匹配需要进行裁剪。

本发明还包括用于实现上述方法的双目获取系统,包括重采样模块、第一匹配模块、插值模块和第二匹配模块,所述重采样模块用于对左图的行和列进行间隔采样,获得低分辨率的第一左图,对右图的行和列进行间隔采样,获得低分辨率的第一右图;所述第一匹配模块用于基于全局匹配的方法对第一左图和第一右图进行匹配,获得第一初始视差图;所述插值模块用于对第一初始视差图进行插值处理,获得与左图或右图具有相同像素数量的第一等像素初始视差图;所述第二匹配模块用于以第一等像素初始视差图为参考,在设定的相对视差范围内,对左图和右图进行全局匹配,获得优化视差图。

与现有技术相比,本发明的有益效果为:

对左图和右图进行全局匹配时,以第一等像素初始视差图作为参考,在设定的相对视差范围(±NTB/2)中进行全局匹配,便于缩小全局匹配的搜寻范围,减少计算量;第一左图和第一右图的分辨率低,在进行全局匹配时,计算量远低于左图和右图的全局匹配,因此虽然增加了一步计算,总体的计算量下降,从而提高计算效率、节约计算资源和内存资源,得到高精度的优化视差图。

附图说明

图1是本发明的双目视差获取方法流程图;

图2是对左图或右图的行和列进行间隔采样的方法流程图;

图3是以第一等像素初始视差图为参考,对左图和右图进行全局匹配的方法流程图;

图4是在右图中搜索到与左图点的最优匹配的方法流程图;

图5是多方向SGM全局代价聚合的方向示意图;

图6是通过第二初始视差进获取双目视差的方法流程图;

图7是左图或右图预处理的方法流程图;

图8是本发明的双目视差获取系统的逻辑框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于对本发明进行阐述,对说明书中的名称进行说明:X方向是指图像行坐标方向,Y方向是指图像列坐标的方向;图像在Y方向对准的情况下,即空间物体上的同一点,在左右图像中的像素坐标的Y方向一致,而X坐标根据深度的不同而差异,差异值叫视差,目标点在空间的深度与视差具有对应关系,可以通过三角原理进行计算,如根据双目视图成像原理,在校正后,获得计算公式,因此本发明的双目视差获得方法,也可以应用于深度的获得。本说明书中采用“全视差范围”代表预先设定的需要搜寻的可能视差范围。

下面结合附图对本发明做进一步的详细描述:

一种渐近全局匹配的双目视差获取方法,如图1所示,所述方法包括:

步骤101:对左图的行和列进行间隔采样,获得低分辨率的第一左图。分辨率决定了图像细节的精细程序,体现了单位面积上的像素量,通过间隔采样的方式,降低像素量,从而获得低分辨率的第一左图。

步骤102:对右图的行和列进行间隔采样,获得低分辨率的第一右图,第一右图和第一左图的间隔采样方法相同,使第一右图和第一左图具有相同的像素列阵。如,左图和右图的像素列阵为N

步骤103:基于全局匹配的方法对第一左图和第一右图进行匹配,获得第一初始视差图。第一初始视差图的像素列阵为:N

步骤105:对第一初始视差图进行插值处理,获得与左图或右图具有相同像素列阵的第一等像素初始视差图。第一初始视差图的像素列阵与左图或右图不同,需要通过插值处理还原到原图相同的分辨率,插值处理可以看成是间隔采样的逆过程。其中插值像素的初始视差可以根据其左右两侧像素的初始视值获得。

步骤106:以第一等像素初始视差图为参考,在设定的相对视差范围内,对左图和右图进行全局匹配,获得优化视差图。以左图为目标基图,右图为匹配图进行说明,以第一等像素初始视差图为参考,左图中的点可以通过初始视差图在右图中找到对应点,但由于第一等像素初始视差图由低分辨率图匹配计算得出,本身只是对最佳视差的一个估计值,存在一定误差,同时经过插值处理,插值后的视差值也是一个近似值,以所述对应点为中心,在设定的相对视差范围(±NTB/2)内,再次全局匹配。其中,相对视差范围可以根据第一初始视差图和第一等像素初始视差图进行设定。

对左图和右图进行全局匹配时,以第一等像素初始视差图作为参考,便于缩小全局匹配的搜寻范围,减少计算量;第一左图和第一右图的分辨率低,在进行全局匹配时,计算量远低于左图和右图的全局匹配,因此虽然增加了一步计算,总体的计算量下降,从而提高计算效率、节约计算资源和内存资源,得到高精度的优化视差图。

本发明的方法还包括图像平滑的方法:

步骤104:将所述第一初始视差图进行平滑处理。步骤103中获得的第一初始视差图进行平滑处理后,再进行步骤105的插值处理。初步产生的第一初始视差图中会存在一些无效的干扰视差,将会影响到后续的视差精细化过程,经过平滑处理后,过滤掉大部分无效视差。平滑处理可以有效地抑制图像噪声。

平滑窗口的大小可根据实际情况合理配置,平滑过程主要分为X、Y两方向进行。在各方向上,由于边界的存在,当像素位置离边界距离小于设定窗口大小时,则累加路径上的值并取平均值;当距离大于窗口大小时,通过滑动窗口法在路径上每前进一个像素并累加,再减去上一个像素点的像素值,保证整体窗口大小不变取平均值。

其中,如图2所示,步骤101和102所述,对左图或右图的行和列进行间隔采样的方法包括:

步骤201:间隔采取行和列上的点作为重采点。

步骤202:将所述重采点临近区域的平均值作为重采点的值。

通过取平均值,可以滤掉图像噪声。但不限于此,如可以直接获得重采点及其值,而不取平均值,计算效率高。还可以通过将临近区域的点平方求和后,开方作为重采点的值。

实施例1

本实施例提供优化视差获得的具体实施方法。

如图3所示,步骤105所述,以第一等像素初始视差图为参考,对左图和右图进行全局匹配的方法包括:

步骤301:以第一等像素初始视差图为参考,为右图设定搜索范围。如搜索范围可以是±10的视差范围。

步骤302:通过全局匹配的方法,在所述搜索范围中搜索到与左图点的最优匹配,获得相对视差。具体的,左图点作为目标点,通过第一等像素初始视差图确定右图的搜索范围,在右图中搜索到最优匹配点。

步骤303:根据相对视差和第一等像素初始视差图中的初始视差获得优化视差。多个点的优化视差构成优化视差图。

其中,优化视差为初始视差和相对视差之和。

在一个具体的实施例中,如图4所示,通过SGM全局代价聚合,在右图中搜索到与左图点最优匹配的方法包括:

步骤401:分别计算左图和右图三通道BT代价,并通过累加获得组合单通道BT代价。可以计算左图的点和右图搜索范围内三通道BT代价,以减少计算量。

步骤402:将组合单通道BT代价在X方向求梯度后取模量,获得单通道 BT代价梯度模量。

步骤403:分别计算左图和右图三通道每行X方向的梯度并取模量,获得三通道左梯度图和三通道右梯度图。如R通道左梯度图、B通道左梯度图和G 通道左梯度图,同理,三通道右梯度图也具有三幅图。

步骤404:根据所述三通道左梯度图和三通道右梯度图,按通道分别计算 BT代价,获得三通道组合BT。如根据R通道右梯度图与R通道左梯度图计算 R通道组合BT代价。

步骤405:将三通道组合BT按通道累加后,获得单通道梯度BT代价。如三个通道的组合BT取模后累加。

步骤406:将单通道BT代价梯度模量和单通道梯度BT代价加权和,获得复合BT代价。通过加权和有效避免多通道产生的正负值在累加中被抵消,从而保留了更多的梯度信息;加权之后得到的复合BT代价,相对于现有技术中常用的单通道BT代价,可以获得更好的视差效果。加权和是指,分别设置两者的权重系数后,求和。

步骤407:以所述复合BT代价为基础,基于左图的点,在右图的视差搜索范围内进行多方向SGM全局代价聚合。

步骤408:在右图视差范围内匹配到最小聚合代价,其对应的点为最优匹配,获得相对视差。

其中,多方向SGM全局代价聚合代价的获得方法包括:

L=C(p,d)+min(TO,T1,T2,T3)-δ (1)

其中,C(p,d)为当前代价,L为聚合方向上的聚合代价,T0为像素p在聚合方向上视差为d时的代价,T1是聚合方向上视差为d-1时的代价+P1,T2 是聚合方向上视差为d+1时的代价+P1,T3为聚合方向上视差不为d-1和d+1 时的代价最小值+P2,δ为上一个像素的最小代价和,P1是为了适应倾斜或弯曲的表面,P2是为了保留不连续性,在一个具体实施例中,在实现量纲平衡之后,P1为0.01,P2为8×P1即得到良好的视差图。动态规划参数P1、P2 在设定值的基础上还需乘上窗口大小,这是因为块匹配的过程中进行了窗口平滑计算但并没有除去累加数,本发明在各个计算步骤中均使用了归一化,保持了量纲上的一致,具有可比性,可直接进行等权计算。

优选的,可以采用以下SGM公式获得聚合代价:

L(p,d

(2)

其中,L为聚合方向上的聚合代价,C(p,d

如图5所示,可以是4方向或6方向代价聚合,优选8方向,如L0-L7,多方向SGM全局代价聚合是让当前像素的代价聚合过程受多个方向(或路径) 上所有像素的影响,方向越多参与影响当前像素的邻域像素就越多,保证全局像素的约束但又避免全局像素的计算量问题。

实施例2

本实施例提供多级渐近匹配处理的方法。

以二级渐近匹配处理为例,如图6所示,通过第二初始视差进获取双目视差的方法:

步骤601:对左图的行和列进行间隔采样,获得低分辨率的第二左图,所述第二左图的分辨率高于第一左图。

步骤602:对右图的行和列进行间隔采样,获得低分辨率的第二右图,第二右图的分辨率高于第一右图。

步骤603:第一初始视差图通过插值处理,获得与第二左图或第二右图具有相同像素列阵的第二等像素初始视差图。使第二等像素初始视差图可以与第二左图或第二右图具有相同的像素列阵。

步骤604:以第二等像素初始视差图为参考,基于全局匹配的方法对第二左图和第二右图进行匹配,获得第二初始视差图。

步骤605:第二初始视差图通过插值处理,获得与所述左图或右图具有相同像素数量的第三等像素初始视差图。

步骤606:以第三等像素初始视差图为参考,基于全局匹配的方法对左图和右图进行匹配,获得优化视差图。

在一个具体实施例中,第一步可以用1/8分辨率,全范围搜寻,取得第一初始视差图;第二步用1/4分辨率,以第一初始视差做参考,1/4为搜寻范围,对1/4分辨率图进行全局匹配,获得第二初始视差图;第三步以第二初始视差图为参考,对全分辨率的原图进行全局匹配,以1/8为搜寻范围,来取得最中精细全分辨率视差图。

但不限于此,也通过根据需要设置多级渐近匹配,如三级或四级。

实施例3

如图7所示,本实施例提供对左图或右图预处理的方法:

步骤701:将左图和右图在Y方向上对齐。

步骤702:对左图和右图根据匹配需要进行裁剪。

双目图像在采集时,虽调整好双目相机的位置并对中,采取的图片在Y 轴上是对齐的,在X方向上有视差产生,通常会存在操作误差,使左图和右图在Y轴上没有对齐。通过裁剪超出匹配范围的信息,以确保符合立体匹配的基本条件,同时减少计算量。

在一个具体实施例中,在计算BT代价时,先计算右图的视差范围,再计算左图的,右图X方向上视差范围需大于给定的视差范围才可计算左图,这是为后续的错位代价计算做准备,否则可能错位时,左图在于右图进行比较时,右图的结果可能还未计算出来;若是具有多个通道,则对每个通道进行以上相同的计算并累加。便于提交计算效率,减少等待时间。

代价聚合的算法中,为了提高算法的效率以及设定不同视差范围时计算的灵活性,优选实施例使用动态共享内存作为临时变量的存储位置。

正常视差范围为dsprange,为计算边界数据方便,动态共享内存前后各扩展边界大小为1,因此设定每个线程块的共享内存为dsprange+2。动态共享内存存储当前像素点各个视差范围下计算出的代价值并传输到全局内存中,同时作为下一个像素点的前像素数据进入下一次循环,动态共享内存的使用方便视差范围的任意配置,不过每次配置时需要重新分配全局内存及初始化。

实施例4

影响全局匹配的视差搜寻效率的主要参数是图像点数和视差搜寻范围,全局匹配视差搜寻的时间为:

t=cN

其中,t为全局匹配视差搜寻的时间,c定义为单点视差搜寻所需时间, N

以行、列分辨率降4倍为例进行说明:

其中,t1为第一初始视差的匹配时间;

用第一等像素初始视差做参考,精细的全局视差搜寻的范围可缩小4倍:

全局匹配的视差搜寻总时间为:

即,通过本发明提供的渐近全局匹配的双目视差获取的方法,所消耗的时间远小于现有技术的全局匹配视差的时间,计算效率提高明显,利于节约计算资源。

本发明还提供一种用于实现上述方法的双目视差获取系统,如图8所示,包括重采样模块1、第一匹配模块2、插值模块3和第二匹配模块4,

重采样模块1用于对左图的行和列进行间隔采样,获得低分辨率的第一左图,对右图的行和列进行间隔采样,获得低分辨率的第一右图,第一右图和第一左图的间隔采样方法相同;

第一匹配模块2用于基于全局匹配的方法对第一左图和第一右图进行匹配,获得第一初始视差图;

插值模块3用于对第一初始视差图进行插值处理,获得与左图或右图具有相同像素数量的第一等像素初始视差图;

第二匹配模块4用于以第一等像素初始视差图为参考,在设定的相对视差范围内,对左图和右图进行全局匹配,获得优化视差图。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种渐近全局匹配的双目视差获取方法和系统
  • 一种基于分组渐近的双目视差获取方法和系统
技术分类

06120112325520