一种利用基于图论的图像分割算法的立体匹配方法转让专利

申请号 : CN201110043601.7

文献号 : CN102074014B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈辉赵昌盛

申请人 : 山东大学

摘要 :

本发明公开了一种利用基于图论的图像分割算法的立体匹配方法,该方法相对于基于mean-shift分割的立体匹配算法,在实时性上有了很大的提升,对于光照噪声的鲁棒性也较好。该方法的实现步骤如下:1)获取需要匹配目标的左右图像并对其进行校准;2)对校准后的左右图像中的每个像素点,分别利用窗口法计算初始视差;3)对得到的两幅视差图中的对应视差值进行比较,选取每个像素的优选视差作为步骤5)的初始视差;4)对步骤1)中校准后的左右图像利用基于图论的图像分割算法进行分割;5)利用分割后的图像对步骤3)中得到的初始视差图信息进行中值滤波;6)滤波后,得到需要匹配的左右图像的视差图。

权利要求 :

1.一种利用基于图论的图像分割算法的立体匹配方法,其特征是,该方法的实现步骤如下:

1)获取需要匹配目标的左右图像并对其进行校准;

2)对校准后的左右图像中的每个像素点,分别利用窗口法计算初始视差;利用这两幅视差图,优化左图或右图的视差图,并以优选视差作为步骤4)的优选视差;

3)对步骤1)中校准后的左图或右图利用基于图论的图像分割算法进行分割;

4)利用分割后的图像对步骤2)中得到的优选视差信息进行中值滤波,中值滤波即是将隐含的属于同一平面的像素点的视差选为区域中可能性最大的视差为结果视差;

5)滤波后,得到需要匹配的左图或右图的视差图;

所述步骤2)中,所述窗口法即将像素灰度差绝对值之和SAD算法和基于梯度GRAD的算法相结合,如下:C(x,y,d)=(1-ω)*CSAD(x,y,d)+ω*CGRAD(x,y,d)其中:

(x,y)为某像素的坐标,d为视差值,CSAD(x,y,d)和CGRAD(x,y,d)分别为应用SAD算法和基于梯度算法的匹配开销,ω为权值决定两种算法的影响效果,C(x,y,d)为两项的加权和;N(x,y)是以(x,y)点为中心的3x3的窗口,Nx(x,y)为没有最右边一列的窗口,Ny(x,y)为没有最下边一行的窗口,▽x为向右的前向差分,▽y为向下的前向差分,(i,j)为3x3窗口中的某一像素点的坐标,I1(i,j)为左图的(i,j)点的像素值,I2(i+d,j)为右图中相应的(i,j)点的像素值。

2.如权利要求1所述的一种利用基于图论的图像分割算法的立体匹配方法,其特征是,所述步骤1)中,获取图像及校准的过程如下:首先用平行双目相机拍摄或者单目相机平动拍摄左右图像,之后对图像进行校准,使图像对中同一物体的同一像素点在两幅图像中处于同一水平线,以符合立体匹配的限制条件。

3.如权利要求1所述的一种利用基于图论的图像分割算法的立体匹配方法,其特征是,所述步骤2)中,优选视差为:选取两视差图中同一像素位置上匹配开销较小的d作为优选视差,其中d为视差值。

4.如权利要求1所述的一种利用基于图论的图像分割算法的立体匹配方法,其特征是,所述步骤3)中,图像分割步骤如下:a)将边集E按权值递增的顺序排列到π=(o1,...,om);

0 0

b)令初始分割为S,V中的每个顶点都是初始分割S 中的独立分量;

c)对于q=1,…,m,重复步骤d);

q-1 q

d)由S 构建S 时,令π中的第q条边oq连接的节点为vi,vj,即oq=(vi,vj),q-1若vi,vj分别属于S 中不同的分量,且w(oq)比两分量内部差异都小,则合并两分量,否则,不合并;即令 是Sq-1中包含vi的分量, 是包含vj的分量,若满足 和w(oq)小于 和 的阈值T中的任意一个,则把Sq-1中的 和 合并成一个分量,得到q q q-1S,否则S =S ,即不合并;

m

e)返回S=S ;返回的S即为图的分割信息,它将顶点用一系列的标号信息标识归属于不同分割区域,由像素点与顶点的对应关系,即可得到图像的分割信息;

其中:边集E为带权无向图G=(V,E)的带权无向值,π为边的集合,o1为π中的第q

1条边,om为π中的第m条边,V表示带权无向图中的顶点,S 为到第q次循环完成时的分q-1割结果,S 为到第q-1次循环完成时的分割结果,vi,vj表示π中的第q条边oq连接的两q-1 q-1个节点,w(oq)为oq边的权值, 是S 中包含vi最小生成树, 是S 中包含vj的最小生成树。

说明书 :

一种利用基于图论的图像分割算法的立体匹配方法

技术领域

[0001] 本发明涉及一种利用基于图论的图像分割算法的立体匹配方法。

背景技术

[0002] 立体匹配是计算机视觉领域的核心组成部分,在汽车辅助驾驶、三维电视等实践中都有较广应用。根据匹配基元的不同,大致可分为基于特征的匹配算法和基于面积的匹配算法,而基于特征的立体匹配方法虽然速度较快但由于不能获得全局最优视差,故近些年全局效果更好的基于面积的匹配算法应用更为广泛,其中图割算法(graph-cuts)、动态规划(DynamicProgramming)算法和置信传播(Belief propagation)算法对立体匹配的精度和准确性都有很大提高。
[0003] Tao H,Sawhney H S and Kumar R在2001年发表在加拿大温哥华第八届计算机视觉会议(Proceedings of the Eighth International Conference On Computer Vision.Vancouver,Canada,2001(1):532-539)上的论文“一种基于彩色图像分割的立体匹配算法框架”(A Global MatchingFramework for Stereo Computation)根据颜色平滑区域内部视差可用平滑的视差模型表示以及视差不连续处跟分割区域边缘一致的特性,先对彩色图像进行分割,然后利用速度较快但准确率不高的匹配算法对左右图像计算初始视差图,最后利用分割信息对各分割区域的初始视差进行拟合。该算法的优点是单幅图像所获得的视差边界一般情况比由视差估计得到的边界更为准确,而对遮挡区域匹配的鲁棒性也得到改善,其算法效率相对较高。其缺点是由于分割算法的影响其分割假设并不一定总是正确的,而由于强制平滑的影响,得到的视差可能并不能表示区域真正的视差。
[0004] 近些年基于分割的匹配算法一般都采用均值偏移(mean-shift)分割算法获取参考图像的分割信息,mean-shift算法是一种利用概率分布的梯度寻找峰值的非参数估计方法,具有较高的鲁棒性,它通过对输入彩色图像的色彩域和空间域特征进行聚类对图像进行分割,该算法能得到较好的分割效果,但算法的实时性一般。

发明内容

[0005] 为弥补现有技术的不足,本发明提出一种速度更快的、自适应的基于图论的图像分割算法以获取参考图像的分割信息,并将其应用与基于双目视觉的汽车辅助驾驶系统中,实时性较好且对于图像噪声(光照、畸变等)的抗干扰能力强。
[0006] 为实现上述目的,本发明采用如下技术方案:
[0007] 一种利用基于图论的图像分割算法的立体匹配方法,该方法的实现步骤如下:
[0008] 1)获取需要匹配目标的左右图像并对其进行校准;
[0009] 2)对校准后的左右图像中的每个像素点,分别利用窗口法计算初始视差;利用这两幅视差图,优化左图或右图的视差图,并以优选视差作为步骤5)的初始视差;
[0010] 3)对步骤1)中校准后的左图或右图利用基于图论的图像分割算法进行分割;
[0011] 4)利用分割后的图像对步骤3)中得到的初始视差图信息进行中值滤波;
[0012] 5)滤波后,得到需要匹配的左图或右图的视差图。
[0013] 所述步骤1)中,获取图像及校准的过程如下:首先用平行双目相机拍摄或者单目相机平动拍摄左右图像,之后对图像进行校准,使图像对中同一物体的同一像素点在两幅图像中处于同一水平线,以符合立体匹配的限制条件。
[0014] 所述步骤2)中,所述窗口法即将像素灰度差绝对值之和SAD算法和基于梯度GRAD的算法相结合,如下:
[0015] C(x,y,d)=(1-ω)*CSAD(x,y,d)+ω*CGRAD(x,y,d)
[0016] 其中:
[0017]
[0018] (x,y)为某像素的坐标,d为视差值,CSAD(x,y,d)和CGRAD(x,y,d)分别为应用SAD算法和基于梯度算法的匹配开销,ω为权值决定两种算法的影响效果,C(x,y,d)为两项的加权和;N(x,y)是以(x,y)点为中心的3×3的窗口,Nx(x,y)为没有最右边一列的窗口,Ny(x,y)为没有最下边一行的窗口, 为向右的前项差分, 为向下的前项差分,(i,j)为3×3窗口中的某一像素点的坐标,I1(i,j)为左图的(i,j)点的像素值,I2(i+d,j)为右图中相应的(i,j)点的像素值。
[0019] 所述步骤3)中,优选视差为:选取两视差图中同一像素位置上匹配开销较小的d作为优选视差。
[0020] 所述步骤4)中,图像分割步骤如下:
[0021] 1)将边集E按权值递增的顺序排列到π=(o1,...,om);
[0022] 2)令初始分割为S0,V中的每个顶点都是初始分割S0中的独立分量;
[0023] 3)对于q=1,….m,重复步骤4);
[0024] 4)由Sq-1构建Sq时,令π中的第q条边oq连接的节点为vi,vj,即oq=(vi,vj),q-1若vi,vj分别属于S 中不同的分量,且w(oq)比两分量内部差异都小,则合并两分量,否则,q-1
不合并;即令 是S 中包含vi的分量, 是包含vj的分量,若满足 和w(oq)小q-1 q
于 和 的阈值T中的任意一个,则把S 中的 和 合并成一个分量,得到S,否则Sq=Sq-1,即不合并;
[0025] 5)返回S=Sm;返回的S即为图的分割信息,它将顶点用一系列的标号信息标识归属于不同分割区域,由像素点与顶点的对应关系,即可得到图像的分割信息。
[0026] 有益效果:本发明利用基于图论的图像分割算法获得视差图,该方法不但能够获得比较准确的视差图,而且相对基于mean-shift分割的立体匹配算法,其运行速度也有较大的提高。我们将其应用于汽车辅助驾驶系统中,也能有效的克服室外环境中光照等噪声的干扰,取得了很好的应用效果。

附图说明

[0027] 图1为本发明的流程框图;
[0028] 图2(a)为标准图像Tsukuba的左图;
[0029] 图2(b)为标准图像Tsukuba的右图;
[0030] 图2(c)为基于Mean-shift分割算法获得的视差图,运行时间为10.13s;
[0031] 图2(d)为基于图论的分割结果图,参数设置为k=500,c=25;
[0032] 图2(e)为利用本发明的分割算法获得的视差图,参数设置为k=500,c=25,运行时间为7.14s;
[0033] 图2(f)为利用本发明的分割算法获得的视差图,参数设置为k=500,c=40,运行时间为7.12s;
[0034] 图2(g)为利用本发明的分割算法获得的视差图,参数设置为k=600,c=25,运行时间为7.0620s;
[0035] 图3(a)为在汽车辅助驾驶拍摄的路面的左图;
[0036] 图3(b)为在汽车辅助驾驶拍摄的路面的右图;
[0037] 图3(c)为利用置信传播算法得到的图3(a)的视差图;
[0038] 图3(d)为利用本发明的算法得到的图3(a)的视差图。

具体实施方式

[0039] 下面结合附图和实施例对本发明作进一步说明:
[0040] 如图1所示,利用基于图论的图像分割算法的立体匹配方法,该方法的实现步骤如下:
[0041] 1)获取需要匹配的目标的左右图像
[0042] 在实际应用中,我们需首先用平行双目相机拍摄或者单目相机平动拍摄左右图像,如图3(a)和图3(b)所示为在汽车辅助驾驶拍摄的路面的左右图像;因为相机参数的不同以及镜头畸变的干扰,需要先对图像进行校准,使图像对于同一物体的同一像素点在两幅图像中处于同一水平线,以符合立体匹配的限制条件。在本发明中,为了便于更好的说明本算法的性能,选取标准图像Tsukuba图像对作为原始图像,进行初始视差的计算。
[0043] 2)初始视差计算
[0044] 本发明中需要先计算单个像素点的视差然后进行一个视差平面估计。最普通的视差估计方法有像素灰度平方差法(SD)和像素灰度差绝对值法(AD),而基于梯度的方法对于相机的增益和偏差都有较好的鲁棒性,对选取的标准图像图2(a)和(b),本发明采用速度较快的窗口法即将像素灰度差绝对值之和(SAD)算法和基于梯度的算法相结合获取初始的视差图,如下:
[0045]
[0046]
[0047] C(x,y,d)=(1-ω)*CSAD(x,y,d)+ω*CGRAD(x,y,d) (3)[0048] 其中,CSAD(x,y,d)和CGRAD(x,y,d)分别为应用SAD算法和基于梯度算法的匹配开销,(x,y)为图像坐标,d为视差值(有一定的范围,比如:0~9),该视差值如果是以图2(a)为基准求得的视差,则d为左图中像素点(x,y)的视差值;如果是以图2(b)为基准求得的视差,则d为右图中像素点(x,y)的视差值,N(x,y)是以(x,y)点为中心的3×3的窗口,Nx(x,y)为没有最右边一列的窗口,Ny(x,y)为没有最下边一行的窗口, 为向右的前项差分, 为向下的前项差分;(i,j)为3×3窗口中的某一像素点的坐标,I1(i,j)为左图的(i,j)点的像素值,I2(i+d,j)为右图中相应的(i,j)点的像素值;ω为权值决定两种算法的影响效果,C(x,y,d)为两项的加权和,随着d的不同取值,我们选取令C(x,y,d)值最小d为所得视差。
[0049] 利用公式(3)可以求得图2(a)(b)中每个像素的视差(以左图为基准得到左图每个像素的视差,以右图为基准得到右图每个像素的视差),然后我们利用左右图的对应视差图进行互相优化,例如要求取左图的优化视差图,则对左图视差图上一点和右图视差图上此点的对应点比较匹配开销,选取匹配开销更小的C(x,y,d)所对应的d作为结果视差,这样本发明获取了可信度更高的初始视差图,下面将结合图论分割算法对该初始视差进行优化处理。
[0050] 3)基于图论的图像分割算法
[0051] 基于图论的图像分割算法首先构建一个带权无向图G=(V,E),顶点的集合V对应图像中的像素点,相邻像素的差异值映射为图中带权无向值的边集E,连接相邻像素点xi,xj的边o(xk,xl)的权值w(xi,xj)反映了两点之间的差异度,一般我们选为灰度值之差。进行图像分割的简单的方法是将权值w(xi,xj)>t(t为权值的阈值)的边都去除,然后搜寻剩下相连的区块。但由于此种算法只要有一个单边相连,就会导致两个相差较大的区域融合。因此用这种连通区域的方法鲁棒性不够,也很难找到一个合适的t值。利用最小生成树的方法和一个阈值T是进行连通区块聚类的一种有效办法。克鲁斯克尔(Kruskal)算法是一种贪婪算法,可以给出一种最优的最小生成树(MST)。开始一个完全无连接的图,按照边的权值,在不形成环的条件下,一条一条的增加边。将阈值w(xi,xj)>t的边移除,得到需要的最终连通区块。
[0052] P.F.Felzenszwalb and D.P.Huttenlocher在2004年第2卷第59期的计算机视觉期刊上发表的基于图论的图像分割算法(Efficient graph-based image segmentation.Int.J.ofComp.Vis.,59(2):167-181,2004)给出了克鲁斯克尔算法的改进方法,利用自适应阈值的方法使算法更为有效。同克鲁斯克尔算法一样,一开始也是一个完全无连接的图,按照权值增加边,对当前的区块建起一个最小生成树。而每个最小生成树Ci都有一个内部差异度,也即阈值T(Ci)
[0053] T(Ci)=w(Ci)+k/|Ci| (4)[0054] 其中w(Ci)是最小生成树中最大的一个值,k是一个常数,|Ci|是区块中像素点的个数,我们可以通过设置参数k的取值,来决定分割区域的大小。假设我们要处理边(xk,xl),它的两个端点是两个独立的MSTxi和xj,这时如果w(xk,xl)≤min(T(Ci),T(Cj)),则两个MST就可以合并。
[0055] 根据以上理论,可得本发明中的所述的图论的分割算法步骤如下:
[0056] 假设输入图2(a),其带权无向图G=(V,E),该无向图有n个顶点和m条边,输出为V的一种分割S=(C1,...,Cr),即将同一分割区域的顶点给予一致的标号,标识属于同一区域,不同的分割区域标号不同,C1,C2,...,Cr即表示具有不同分割区域。
[0057] 1.将图2(a)中所有相邻像素的差异值映射为图中带权无向值的边集E,将边集E按权值递增的顺序排列到集合π=(o1,...,om),π为边的集合;
[0058] 2.令初始分割为S0(初始分割即对应为原始图像),V中的每个顶点(每个顶点对0
应图像2(a)中的每个像素点)都是初始分割S 中的独立分量;
[0059] 3.对于q=1,....m,重复步骤4;(Sq即为到第q次循环完成时的分割结果)[0060] 4.由Sq-1构建Sq时,令π中的第q条边oq连接的节点为vi,vj,即oq=(vi,vj),q-1若vi,vj分别属于S 中不同的分量,且边的权值w(oq)比两分量内部差异(即阈值T(C))q-1
都小,则合并两分量,否则,不合并。即, 是S 中包含vi最小生成树, 是包含vj的最q-1
小生成树,若满足 和w(oq)小于 和 的阈值T(C)的任意一个,则把S 中的
q q q-1
和 合并成一个分量,得到S,否则S =S ,即不合并;
[0061] 5.返回S=Sm(Sm为图在m次循环完成后的分割)
[0062] 经过以上的图论分割算法,得到的返回值S即为图的最终分割信息,它将顶点用一系列的标号信息标识归属于不同分割区域,由像素点与顶点的对应关系,我们也就得到了图像的分割信息,我们设置一个参数c,对分割结果中像素个数小于c的分割区域合并到周围的大区块中。如图2(d)所示,是图2(a)的基于图论的分割结果图,参数设置为k=500,c=25。
[0063] 4)利用分割信息优化视差
[0064] 接下来本发明利用图像分割算法得到的不同视差平面的标号信息,对初始视差图通过中值滤波的办法,将标号相同,即隐含的属于同一平面的像素点的视差选为区域中可能性最大的视差为结果视差,如图2(e)(f)(g)所示。
[0065] 本 发 明 的 实 验 环 境 为:AMD athlon(tm)64×2Dual coreProcessor4400+2.31GHz,1.00GB内存,使用matlab仿真,得到图2和图3的一系列实验结果图,其中:图2(a)(b)为从网站vision.middlebury.edu/stereo下载的标准图像,图
2(e)中,参数设置为k=500,c=25,运行时间为7.14s,其中参数k为控制分割区域大小的阈值,随着k的增大,分割的区域增大,c为控制最小区域面积的参数,对像素数量过少的分割区域可融合消除;图2(f)中,参数设置为k=500,c=40,运行时间为7.12s,与图
2(e)相比,随着c的增大,图像中更多的小的区域被融合;图2(g)中,参数设置为k=600,c=25,运行时间为7.0620s,与图2(e)相比,随着k的增大,分割区域增大;由图2(e)(f)(g可知,本发明的方法可以取得比较准确的视差图,并且在速度上,相对于mean-shift算法有了接近25%的提高,如图2(c)所示,其为基于Mean-shift分割的算法结果图,运行时间为10.13s。
[0066] 为了更好的说明本发明的算法优越性,我们拍摄了图3(a)(b),它们为在汽车辅助驾驶拍摄的路面图像。对于图像噪声比较大的路面图像,本发明相对于置信传播算法(BP),能得到更为准确视差图,如图3(c)所示为利用置信传播算法得到的图3(a)的视差图;图3(d)为利用本发明的算法得到的图3(a)的视差图,与图3(c)相比,图像的视差信息更准确,对于光照噪声的抗干扰能力更强。