一种双目图像的自适应支持窗立体匹配方法及系统与流程

文档序号:14992088发布日期:2018-07-20 22:27阅读:154来源:国知局

本发明涉及双目立体视觉领域,具体涉及一种双目图像的自适应支持窗立体匹配方法及系统。



背景技术:

双目立体视觉系统是一个根据获取的平面图像恢复3d图像的系统。场景中的光线在人眼这个精密的成像系统中被采集,通过神经中枢被送入包含有数以亿计的神经元的大脑中被并行的处理,得到了实时的高清晰度的准确的深度感觉信息。这使得人类对环境的适应能力大大提高,很多复杂的动作能够得以完成:如行走、体育运动、驾驶车辆以及进行科学实验等。

计算机视觉是一门研究使用计算机来模拟人的视觉系统的学科。当前计算机立体视觉的水平与人类的双目视觉水平还相距甚远,因此对它的研究仍然是一个非常活跃的领域。以双目立体视觉为例,它是计算机视觉领域的重要分支,它通过模拟人的视觉系统来处理现实世界,对于立体视觉匹配的研究,能够大大的增强计算机或机器人对环境的感知能力,使得机器人能够更好的适应环境、更加智能,从而能够更好的为人们服务。双目立体视觉中最重要但又非常困难的问题就是立体视觉匹配问题,即从不同视点图像中找到匹配的对应点。



技术实现要素:

针对上述问题,本申请提供一种双目图像的自适应支持窗立体匹配方法及系统。

根据第一方面,一种实施例中提供一种双目图像的自适应支持窗立体匹配方法,包括:

获取步骤:获取至少两个视点的图像;

初始化步骤:设置一初始的视差估计;

自适应支持窗口计算步骤:对于每一个像素点,计算并选定它的自适应支持窗口,基于所选定的自适应支持窗口,计算视差增量以更新当前视差估计;其中,至少基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口;

迭代步骤:对所述自适应支持窗口计算步骤进行迭代,直到视差估计收敛,或达到设定的最大迭代次数。

在一实施例中,如权利要求1所述的自适应支持窗立体匹配方法,其特征在于,任意一像素点(x,y)的匹配代价矢量特征通过以下方式计算得到:

计算该像素点(x,y)和另一幅图像中若干像素点的距离c(x,y,d)=|i1(x,y)-i2(x-d,y)|;其中d∈sd={dmin,...,dmax},为所有可能的视差的集合,i1(x,y)为像素点(x,y)的属性,i2(x-d,y)为另一幅图像中像素点(x-d,y)的属性;

根据计算得到的距离c(x,y,d)构造像素点(x,y)的匹配代价矢量特征feature_vector(x,y)。

在一实施例中,像素点的属性包括颜色强度属性、灰度强度属性和/或梯度属性。

在一实施例中,根据距离c(x,y,d)构造的像素点(x,y)的匹配代价矢量特征:

feature_vector(x,y)=[c(x,y,dmin),...,c(x,y,dmax)]。

在一实施例中,根据距离c(x,y,d)构造的像素点(x,y)的匹配代价矢量特征:

feature_vector(x,y)=[e(x,y,dmin),...,e(x,y,dmax)];

其中,或者,σ为预设的常数,

在一实施例中,所述至少基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口,包括:基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口;或者,基于窗口内像素点的匹配代价矢量特征,以及窗口内像素点的视差变化、颜色强度变化和/或灰度变化,来计算并选定自适应支持窗口。

在一实施例中,所述自适应支持窗口计算步骤,包括:

(1)计算以前当前像素点为中心的一个预设的小尺寸窗口的不确定性;

(2)分别独立地对当前窗口在上、下、左、右这四个方向进行扩展,对任意一个方向进行预扩展时,包括:计算当前窗口在该方向上扩展一个像素宽度后的窗口的不确定性,作为该方向的不确定性,如果该不确定性大于当前窗口的不确定性,则在该方向上禁止对当前窗口进行扩展,反之,则在该方向上允许对当前窗口扩展一个像素宽度;

(3)比较所有方向上的不确定性,选择具有最小不确定性的方向,在该方向上对当前窗口扩展一个像素宽度,以更新当前窗口;

(4)迭代第(2)、(3)步骤,直到所有方向都被禁止扩展,或者是更新后的窗口的大小达到了设置的限制;

(5)经过上述第(1)到第(4)步骤,选定了当前像素点的自适应支持窗口;

其中,所述至少基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口,包括:至少根据窗口内像素点的匹配代价矢量特征来计算窗口的不确定性。

在一实施例中,所述至少根据窗口内像素点的匹配代价矢量特征来计算窗口的不确定性,包括:基于窗口内像素点的匹配代价矢量特征来计算窗口的不确定性;或者,基于窗口内像素点的匹配代价矢量特征,以及窗口内像素点的视差变化、颜色强度变化和/或灰度变化变化,来计算窗口的不确定性。

根据第二方面,一种实施例中提供一种双目图像的自适应支持窗立体匹配系统,包括:

存储器,用于存储程序;

处理器,用于通过执行所述存储器存储的程序以实现上述任一实施例所述的方法。

要把第三方面,一种实施例中提供计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现上述任一实施例所述的方法。

依据上述实施例的双目图像的自适应支持窗立体匹配方法、系统及计算机可读存储介质,引入匹配代价矢量特征,基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口,使得各像素点的自适应支持窗口的选定更加有效和合理,可以有效解决立体匹配时发生误匹配的问题,提高了立体匹配的精确度。

附图说明

图1为一种实施例的双目图像的自适应支持窗立体匹配方法的流程图;

图2为一种实施例的窗口扩展的方向示意图;

图3为一种实施例的双目图像的自适应支持窗立体匹配系统的结构示意图;

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。

另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。

本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。

在双目视觉的立体匹配中,一个关键问题是寻找在左右图像中的匹配点,以得到两幅图像中对应像素的水平位置差,也称之为视差,从而进一步可以计算出该像素点的深度。

不在同一深度的像素点,完全可能有相同的颜色、纹理和梯度等,所以这常常会导致立体匹配时发生错配,从而进一步导致视差计算出现较大的错误,大大影响了双目视觉在深度测量中的应用。为了克服这一点,在现有的双目图像的立体匹配方法中,一般会采用像素点周边区域的像素点来估计该像素点,例如用一个矩形区域,用自适应生长的区域,还有用最小生成树等等,但这些方法中,对像素的匹配代价的加权仍然只能采用上面的颜色、纹理和梯度等与视差没有直接关系的特征来计算,因此这些方法还有较大的不鲁棒性。

例如,以基于相关窗口的立体匹配算法为例,它的关键之一在于选取的匹配窗口,为了达到匹配的准确性,一方面要求匹配窗口不能太大,以避免包含投影变形和其他的噪声,另一方面窗口又不能太小,否则不能包含足够多的颜色信息或灰度信息。这就产生了匹配窗口的选择问题,针对于该问题,takeokanade和masatoshiokutomi提出一种自适应窗口(adaptivewindow)的立体匹配算法,用高斯模型描述窗口范围内的视差分布,然后利用该模型和视差初始值来计算视差估计的不确定性,或者说,利用窗口内的灰度方差和视差方差信息来计算视差的不确定性,从而来调节窗口的大小。

本发明是基于上述经典的自适应窗口立体匹配算法以及基于该算法的变种算法,提出了一种双目图像的自适应支持窗口立体匹配方法及系统,针对takeokanade和masatoshiokutomi提出的经典的自适应窗口立体匹配算法以其他人对该经典算法的改进算法,进行了改进,具体地,引入了一个匹配代价矢量特征,作为每个像素的一个基本特征,单独使用本发明的匹配代价矢量特征来计算窗口的视差估计的不确定性,或者使用本发明的匹配代价矢量特征,联合其他的特征例如窗口内的灰度变化、颜色变化、视差变化等来计算窗口的视差估计的不确定性,从而自适应地调节每个像素点的支持窗口;以视差的初始估值开始,通过选取每个像素点的支持窗口,迭代更新每个像素点的视差估计,直到收敛或达到设定的最大迭代次数,从而完成视差的计算。本发明可以使得各像素点的自适应支持窗口的选定更加有效和合理,可以有效解决立体匹配时发生误匹配的问题,提高了立体匹配的精确度。下面具体说明。

请参照图1,本发明一实施例中公开一种双目图像的自适应支持窗立体匹配方法,包括步骤s2100~s2400。

获取步骤s2100:获取至少两个视点的图像。

初始化步骤s2200:设置一初始的视差估计d0(x,y)。初始的视差估计d0(x,y)可以通过现有技术或未来出的技术来获取,例如通过现有的立体匹配算法或未来出现的立体匹配算法来获取。

自适应支持窗口计算步骤s2300:对于每一个像素点,计算并选定它的自适应支持窗口,基于所选定的自适应支持窗口,计算视差增量以更新当前视差估计;其中,至少基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口。

在一实施例中,任意一像素点(x,y)的匹配代价矢量特征通过以下方式计算得到:

计算该像素点(x,y)和另一幅图像中若干像素点的距离c(x,y,d)=|i1(x,y)-i2(x-d,y)|;其中d∈sd={dmin,...,dmax},为所有可能的视差的集合,i1(x,y)为像素点(x,y)的属性,i2(x-d,y)为另一幅图像中像素点(x-d,y)的属性;在一实施例中,像素点的属性包括颜色强度属性、灰度强度属性和/或梯度属性。当像素点的属性包括多者时,例如包括像素点的颜色强度和梯度时,则在计算两个点的距离时,可以计算这两个点的颜色差值以及梯度差值,再相加或加权平均得到距离。当只考虑颜色属性时:

c(x,y,d)

=|i1(x,y)-i2(x-d,y)|

=|i1r(x,y)-i2r(x-d,y)|+|i1g(x,y)-i2g(x-d,y)|+|i1b(x,y)-i2b(x-d,y)|;

其中i1r(x,y)、i1g(x,y)、i1b(x,y)分别表示在上述的一幅图像中像素点(x,y)在rgb颜色空间的r、g、b分量,i2r(x-d,y)、i2g(x-d,y)、i2b(x-d,y)分别表示在上述的另一幅图像中像素点(x-d,y)在rgb颜色空间的r、g、b分量;当然当只考虑颜色属性时,类似地也可以用cielab颜色空间来计算,在此不再赘述。

根据计算得到的差距c(x,y,d)构造像素点(x,y)的匹配代价矢量特征feature_vector(x,y)。本发明一实施例中将feature_vector(x,y)定义为像素点(x,y)的一个基本特征,经发明人研究发现,两个处于同一深度的像素点,通常它们的匹配代价矢量特征也比较相近,反过来,如果两个像素点在不同深度,那么它们的匹配代价矢量特征也会相差比较大,因此将feature_vector(x,y)定义为像素点(x,y)的匹配代价矢量特征是非常具有价值的,可以有效解决立体匹配时发生错配的问题,提高了立体匹配的精确度。在一实施例中,根据距离c(x,y,d)构造的像素点(x,y)的匹配代价矢量特征:feature_vector(x,y)=[c(x,y,dmin),...,c(x,y,dmax)]。在一实施例中,根据距离c(x,y,d)构造的像素点(x,y)的匹配代价矢量特征:

feature_vector(x,y)=[e(x,y,dmin),...,e(x,y,dmax)];

其中,或者,σ为预设的常数,

一实施例中,自适应支持窗口计算步骤s2300中至少基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口,包括:基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口;或者,基于窗口内像素点的匹配代价矢量特征,以及窗口内像素点的视差变化、颜色强度变化和/或灰度变化,来计算并选定自适应支持窗口。

请参照图2,在一实施例中,自适应支持窗口计算步骤s2300可以包括下述步骤(1)到(5)。

(1)计算以前当前像素点为中心的一个预设的小尺寸窗口的不确定性。例如一个3*3大小的窗口。

(2)分别独立地对当前窗口在上、下、左、右这四个方向进行扩展,对任意一个方向进行预扩展时,包括:计算当前窗口在该方向上扩展一个像素宽度后的窗口的不确定性,作为该方向的不确定性,如果该不确定性大于当前窗口的不确定性,则在该方向上禁止对当前窗口进行扩展,反之,则在该方向上允许对当前窗口扩展一个像素宽度。

(3)比较所有方向上的不确定性,选择具有最小不确定性的方向,在该方向上对当前窗口扩展一个像素宽度,以更新当前窗口。

(4)迭代第(2)、(3)步骤,直到所有方向都被禁止扩展,或者是更新后的窗口的大小达到了设置的限制。例如当在某次迭代中,步骤(2)中当前窗口的四个方向都被禁止进行扩展,那么迭代停止,当前窗口被选定为当前像素点的自适应支持窗口,例如在步骤(3)中更新当前窗口后,更新后的当前窗口达到了设置的限制,那么更新后的当前窗口被选定为当前像素点的自适应支持窗口。

(5)经过上述第(1)到第(4)步骤,选定了当前像素点的自适应支持窗口。

相应地,自适应支持窗口计算步骤s2300中至少基于窗口内像素点的匹配代价矢量特征来计算并选定自适应支持窗口,包括:至少根据窗口内像素点的匹配代价矢量特征来计算窗口的不确定性。在一实施例中,基于窗口内像素点的匹配代价矢量特征来计算窗口的不确定性;或者,基于窗口内像素点的匹配代价矢量特征,以及窗口内像素点的视差变化、颜色强度变化和/或灰度变化,来计算窗口的不确定性。

迭代步骤s2400:对所述自适应支持窗口计算步骤进行迭代,直到视差估计收敛,或达到设定的最大迭代次数

请参照图3,本发明一实施例中还公开了一种双目图像的自适应支持窗立体匹配系统,其包括存储器2100和处理器2200。存储器2100用于存储程序;处理器2200用于通过执行上述存储器存储的程序以实现上述任一实施例所述的双目图像的自适应支持窗立体匹配方法。

本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

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