一种双目图像的图像分割方法及系统与流程

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

本发明涉及双目立体视觉领域,具体涉及一种双目图像的图像分割方法及系统。



背景技术:

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

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



技术实现要素:

针对上述问题,本申请提供一种双目图像的图像分割方法及系统,基于本申请的图像分割方法及系统进行的立体匹配,发生误匹配的问题被有效地解决,其立体匹配的精确度非常高。

根据第一方面,一种实施例中提供一种双目图像的图像分割方法,包括:

(1)在图像上初始化k个初始聚类中心,其中步长n为图像的像素个数。

(2)对于每个聚类中心,计算其周围所有像素点的梯度值,并将聚类中心调整为其周围像素点中梯度值最小的像素点;

(3)在每个聚类中心的2s×2s领域范围内进行聚类,以更新各个聚类,其中进行聚类的准则至少基于像素点和聚类中心的匹配代价矢量特征的距离;

(4)对更新后的每个聚类,选取该聚类内的所有像素点,至少计算该聚类内的所有像素点的平均匹配代价矢量特征,以确定新的聚类中心;

(5)迭代步骤(3)和(4),直到达到迭代停止条件;

(6)经过步骤(5),得到了各个超像素。

在一实施例中,任意一像素点(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)];

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

在一实施例中,步骤(3)中所述进行聚类的准则至少基于像素点和聚类中心的匹配代价矢量特征的距离,包括:进行聚类的准则基于像素点和聚类中心的匹配代价矢量特征的距离;或者,进行聚类的准则基于像素点和聚类中心的匹配代价矢量特征的距离,以及颜色距离、灰度距离、几何距离、梯度差中一者或多者;当步骤(3)进行聚类的准则基于匹配代价矢量特征的距离,则在步骤(4)中所述至少计算该聚类内的所有像素点的平均匹配代价矢量特征,包括:计算该聚类内的所有像素点的平均匹配代价矢量特征,以确定新的聚类中心;当步骤(3)进行聚类的准则基于匹配代价矢量特征的距离,以及颜色距离、灰度距离、几何距离、梯度差中一者或多者时,则在步骤(4)中所述至少计算该聚类内的所有像素点的平均匹配代价矢量特征,包括:计算该聚类内的所有像素点的平均匹配代价矢量特征,以及分别计算该聚类内的所有像素点的平均颜色、平均灰度、平均空间坐标、平均梯度中一者或多者,以确定新的聚类中心。

在一实施例中,所述图像分割方法还包括根据连通性将各独立点归至各超像素。

在一实施例中,所述迭代停止条件包括:计算剩余误差e,当剩余误差e小于一设定阈值时,则停止迭代。

根据第二方面,一种实施例中提供一种一种双目图像的图像分割系统,包括:

存储器,用于存储程序;

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

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

依据上述实施例的双目图像的图像分割方法、系统、计算机可读存储介质,在对图像进行分割的过程中,引入了像素点的匹配代价矢量特征,至少基于两个像素点的匹配代价矢量特征的距离,对双目图像中的图像进行分割,有效地解决了分割块不能保证其内部的像素都在同一个视差平面的问题,从而基于本发明的图像分割方法及系统进行的立体匹配,匹配准确率得到了有效地提高。

附图说明

图1为一种实施例的双目图像的图像分割方法的流程图;

图2为一种实施例的双目图像的图像分割系统的结构示意图。

具体实施方式

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

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

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

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

不在同一深度的像素点,完全可能有相同的颜色、纹理和梯度等,所以这常常会导致立体匹配时发生错配,从而进一步导致视差计算出现较大的错误,大大影响了双目视觉在深度测量中的应用。

立体匹配大致可以分为局部匹配算法、半全局匹配算法和全局匹配算法。传统的全局算法是以像素为基元进行立体匹配,而基于图像分割的全局算法则是以整个分割块进行立体匹配。这类方法假设视差在分割区域内平滑变化,而分割区域边界与视差边界保持一致。将图像分割方法引入到立体匹配中,大大提高了视差图的准确率。因此,基于图像分割的全局算法也成为了当前的主流算法,但发明人发现,这类方法当前存在一个重要问题:分割块不能保证其内部的像素都在同一个视差平面,即实际情况可能不满足其基本假设,最终导致匹配准确率下降,因此如何解决这个问题是未来基于图像分割全局算法的一个研究方向。

本发明在对图像进行分割的过程中,引入了像素点的匹配代价矢量特征,至少基于两个像素点的匹配代价矢量特征的距离,对双目图像中的图像进行分割,有效地解决了分割块不能保证其内部的像素都在同一个视差平面的问题,从而基于本发明的图像分割方法及系统进行的立体匹配,匹配准确率得到了有效地提高。下面具体说明。

请参照图1,本发明一实施例中提供一种双目图像的图像分割方法,包括步骤s5100~s5600。

步骤s5100:在图像上初始化k个初始聚类中心,其中步长n为图像的像素个数。至少要获取两个视点的图像,例如左图像和右图像,可以对其中任意一幅图像进行图像分割。例如,通过对图像进行抽样来获得k个初始聚类中心,初始化每个像素点的标签lable为-1,每个像素点与聚类中心的距离为无穷大。

步骤s5200:对于每个聚类中心,计算其周围所有像素点的梯度值,并将聚类中心调整为其周围像素点中梯度值最小的像素点。例如计算其周围3乘3大小的领域共8个像素点的梯度值。这是防止防止把边界点或奇异点设置为聚类中心。

步骤s5300:在每个聚类中心的2s×2s领域范围内进行聚类,以更新各个聚类,其中进行聚类的准则至少基于像素点和聚类中心的匹配代价矢量特征的距离。例如,计算每个像素点与它的聚类中心的聚类距离d,对于这k个聚类以及聚类中心,任意一个聚类及聚类中心,例如第k个,如果计算到这第k个聚类中心的2s×2s领域范围的任意一像素点的聚类距离d小于一预设阈值,则赋值该像素点的标签lable为k。

任意一像素点(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)

=|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)]。

由于像素点(x,y)的匹配代价矢量特征feature_vector(x,y)通常只在其使c(x,y,d)达到最小的d的取值的附近才会比较小,其他地方则存在较大的不确定性,因此在一实施例中,可以将差距c(x,y,d)进行了一个转换后再来构造匹配代价矢量特征feature_vector(x,y),这样可以突出最小值附近特性。因此,在一实施例中,为了突出最小值附件的值的特性,并且让较大的匹配代价值迅速趋向于零,我们令或者,σ为预设的常数,用于控制预制较大误差走向于零的幅度,cmin=mind∈{0,...,n}{c(x,y,d)};因此根据差距c(x,y,d)构造的像素点(x,y)的匹配代价矢量特征:

feature_vector(x,y)=[e(x,y,0),e(x,y,1),e(x,y,2),...,e(x,y,n)]。

在一实施例中,步骤s5300中进行聚类的准则至少基于像素点和聚类中心的匹配代价矢量特征的距离,包括:进行聚类的准则基于像素点和聚类中心的匹配代价矢量特征的距离;或者,进行聚类的准则基于像素点和聚类中心的匹配代价矢量特征的距离,以及颜色距离、灰度距离、几何距离、梯度差中一者或多者。

例如,对于任意两个像素点(x,y)、(x′,y′)的匹配代价矢量特征的距离可以是它们的匹配代价矢量特征的差或差的平方,不妨以差为例:

δf(x,y)(x′,y′)=|feature_vector(x,y)-feature_vector(x′,y′)|。

而两个像素点(x,y)、(x′,y′)的颜色距离可以通过现有的方式计算,例如可以通过下式计算:

δc(x,y)(x′,y′)=|ir(x,y)-ir(x′,y′)|+|ig(x,y)-ig(x′,y′)|+|ib(x,y)-ib(x′,y′)|;

其中对于任意一像素点(x,y),ir(x,y)、ig(x,y)、ib(x,y)分别表示它在rgb颜色空间的r分量、g分量、b分量。

当然,也可以在其他颜色空间来计算两个像素点(x,y)、(x′,y′)的颜色距离,例如可以通过下式计算它们在cielab颜色空间的颜色距离:

δc(x,y)(x′,y′)=|il(x,y)-il(x′,y′)|+|ia(x,y)-ia(x′,y′)|+|ib(x,y)-ib(x′,y′)|;

其中对于任意一像素点(x,y),il(x,y)、ia(x,y)、ib(x,y)分别表示它在cielab颜色空间的l分量、a分量、b分量。

两个像素点(x,y)、(x′,y′)的几何距离也可以通过现有的方式计算,例如可以通过下式计算:

而两个像素点(x,y)、(x′,y′)的梯度差也可以通过现有的方式计算,例如可以通过下式计算:

δgr(x,y)(x′,y′)=|grx(x,y)-grx(x′,y′)|+|gry(x,y)-gry(x′,y′)|;

其中对于任意一像素点(x,y),grx(x,y)、gry(x,y)分别表示其沿x轴方向的梯度和沿y轴方向的梯度。

进行聚类的准则:由像素点离聚类中心的聚类距离d决定一个像素点是否属于这个聚类。

d(x,y,x′,y′)=μ1δf(x,y)(x′,y′)+μ2δc(x,y)(x′,y′)+μ3δg(x,y)(x′,y′)+μ4δgr(x,y)(x′,y′);

d(x,y,x′,y′)表示像素点(x,y)、(x′,y′)的聚类距离d。μ1、μ2、μ3、μ4为常量,可以预先设置,例如当进行聚类的准则基于像素点和聚类中心的匹配代价矢量特征的距离,即由像素点和聚类中心的匹配代价矢量特征的距离来计算像素点离聚类中心的聚类距离d时,那么μ1可以为一个正数,而μ2、μ3、μ4则为0,当进行聚类的准则基于像素点和聚类中心的匹配代价矢量特征的距离,以及颜色距离、灰度距离、几何距离、梯度差中一者或多者,即由像素点和聚类中心的匹配代价矢量特征的距离,以及颜色距离、灰度距离、几何距离、梯度差中一者或多者,来共同计算像素点离聚类中心的聚类距离d时,则可以通过设置μ1、μ2、μ3、μ4来实现,例如,当基于匹配代价矢量特征的距离和颜色距离来计算聚类距离d,可以将μ1、μ2设置为正数,μ3、μ4设置为零,当匹配代价矢量特征的距离、颜色距离、几何距离来计算聚类距离d,可以将μ1、μ2、μ3设置为正数,μ4设置为零。

步骤s5400:对更新后的每个聚类,选取该聚类内的所有像素点,至少计算该聚类内的所有像素点的平均匹配代价矢量特征,以确定该聚类新的聚类中心。例如这k个聚类中心的第k个,找到所有标签lable为k的像素点,求它们的平均匹配代价矢量特征,来确定新的第k个聚类中心,作为它的匹配代价矢量特征。

例如,当步骤s5300进行聚类的准则基于匹配代价矢量特征的距离,则步骤s5400计算聚类内的所有像素点的平均匹配代价矢量特征,以确定该聚类新的聚类中心,例如将平均匹配代价矢量特征作为新的聚类中心的匹配代价矢量特征。需要说明的是,求若干个向量的平均向量,可以是分别将这若干向量中的元素对应相加求平均,以得到平均向量中各元素。当步骤s5300进行聚类的准则基于匹配代价矢量特征的距离,以及颜色距离、灰度距离、几何距离、梯度差中一者或多者时,则步骤s5400计算该聚类内的所有像素点的平均匹配代价矢量特征,以及分别计算该聚类内的所有像素点的平均颜色、平均灰度、平均空间坐标、平均梯度中一者或多者,以确定新的聚类中心。在一实施例中,步骤s5400对更新后的每个聚类,选取该聚类内的所有像素点,至少计算该聚类内的所有像素点的平均匹配代价矢量特征以及平均空间坐标,以确定该聚类新的聚类中心。

例如,当步骤s5300进行聚类的准则有基于颜色距离,则在步骤s5400需要计算聚类内的所有像素点的平均颜色,以确定该聚类新的聚类中心的颜色;例如以在cielab颜色空间为例,求聚类内的所有像素点各l分量、a分量、b分量的平均值,将聚类内的所有像素点各l分量的平均值作为新的聚类中心l分量,将聚类内的所有像素点各a分量的平均值作为新的聚类中心a分量,将聚类内的所有像素点各b分量的平均值作为新的聚类中心b分量。当步骤s5300进行聚类的准则有基于灰度距离,则在步骤s5400需要计算聚类内的所有像素点的平均灰度,以确定该聚类新的聚类中心的灰度。

当步骤s5300进行聚类的准则有基于几何距离,则在步骤s5400需要计算聚类内的所有像素点的平均空间坐标,以确定该聚类新的聚类中心的空间坐标,例如将聚类内的所有像素点在空间坐标的x轴的平均值作为新的聚类中心在x轴的值,将聚类内的所有像素点在空间坐标的y轴的平均值作为新的聚类中心在y轴的值,从而得到新的聚类中心的空间坐标。

当步骤s5300进行聚类的准则有基于梯度差,则在步骤s5400需要计算聚类内的所有像素点的平均梯度,以确定该聚类新的聚类中心的梯度。当然,也可以在确定新的聚类中心的颜色、空间坐标、灰度等时,直接计算新的聚类中心的梯度。

步骤s5500:迭代步骤s5300和步骤s5400,直到达到迭代停止条件。例如,当各聚类中心都不再发生变化时,则停止迭代。具体实现时,可以计算剩余误差e,当剩余误差e小于一设定阈值时,则停止迭代。例如计算新的聚类中心与上一次聚类中心的聚类距离d,当其小于一设定阈值时,则停止迭代。

步骤s5600:经过步骤s5500,得到了各个超像素。当然,有时还会出现一些独立点,即不属于任何一个超像素,这时候可以根据连通性将各独立点归至各超像素。

请参照图2,本发明还公开了一种双目图像的图像分割系统,其包括存储器5100和处理器5200,存储器5100用于存储程序,处理器5200用于通过执行存储器4100存储的程序以实现本发明任一实施例所公开的双目图像的图像分割方法。

以上就是本发明提出的双目图像的图像分割方法及系统,基于本发明的图像分割方法,本发明还公开了一种基于图像分割的立体匹配方法。本发明的立体匹配方法可以基于局部方法对双目图像进行立体匹配得到视差图作为初始解。本发明的立体匹配方法基于上述的图像分割方法,对图像进行分割,得到若干个超像素,基于各超像素的区域,根据数据项和平滑项等来构造能量函数,基于上述初始解的视差图对所构造的能量函数进行求解,求得最终的视差图。例如对双目图像中的其中一幅图像(如左图像)进行本发明的超像素的图像分割,基于得到的各超像素来构造能量函数,并根据由局部方法得到的初始视差进行平面拟合,优化视差平面,得到最终的视差图。相应地,本发明还公开了一种基于图像分割的立体匹配系统,其包括存储器和处理器,存储器用于存储程序,处理器用于通过执行存储器存储的程序以实现本发明任一实施例所公开的基于图像分割的立体匹配方法。

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

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

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