华 漫,李燕玲,林瑞春
(中国民航飞行学院 计算机学院,四川 广汉 618307)
基于双目立体视觉的场景分割方法
华漫,李燕玲,林瑞春
(中国民航飞行学院 计算机学院,四川广汉618307)
摘要:提出一种基于双目立体视觉的场景分割方法:首先根据双目立体视觉系统提供的左右视图进行三维场景重构,得到场景的几何深度图,同时利用左视图进行RGB颜色空间到CIELab均匀颜色空间的转换以得到颜色信息;然后将颜色与几何信息构造生成六维向量;最后再将六维向量给到聚类算法中进行分割并对分割的伪影进行消除,得到最终的分割结果。对Middlebury数据集样本场景baby 2实验了6种立体视觉算法和3种聚类技术的不同组合进行的场景分割,从实验结果来看,不同的组合应用所提方法都比传统方法具有更好的分割效果。
关键词:场景分割;立体视觉;聚类;深度图
1场景分割
场景分割是著名的图像区域识别方法。除了应用于图像识别外,分割作为最基本的步骤,在许多其他计算机视觉任务,如物体识别或立体视觉中也是急需解决的问题。比如,在电视和电影行业中,分割是从视频中将前景与背景分离的重要方法,而在视频中,存在类型多样性和结构复杂性等特点,目前尚没有一种通用而且有效的场景分割方法。但是近十几年来,随着因特网的快速发展,视频的应用越来越广泛,对场景分割方法的研究也逐渐成为了热点。
经典的分割技术有许多不同的方法,但它们大都只是利用单一的从图像场景帧中提取的信息来进行分割[1]。因此,尽管经过大量的努力,但对图像进行场景分割仍然缺乏强大的解决方案。经典方法的局限性在于:图像中包含的颜色信息并不足以去完全代表场景信息的组成。如图1b所示。本文的目标是将婴儿从图像中分割出来,但是当婴儿的肤色和世界地图颜色相似的时候,采用经典的基于颜色的分割方法无法将它们进行分割,如图中婴儿手臂下面部分。此时,利用基于几何的深度信息可以将此问题克服,如图1c所示。但与此同时,又出现了另外的问题:当深度相同而颜色不同的时候又无法分割,如图中书籍和婴儿的脚被关联到相同的部分,由于其具有相似的深度,被分割在一起。因此,采用单一的基于颜色或者几何的方法在很多时候是无法正确分割对象的,如图1b和图1c所示。由此,同时考虑颜色和几何线索,就可以避免上述问题。以图1为例,图1c利用颜色和几何形状,虽然婴儿的脚和图书的几何深度相同,但由于它们有相同的婴儿的皮肤颜色,因此知道婴儿的脚属于“婴儿”这个整体;图1b中尽管婴儿手臂下面地图区域与婴儿的肤色相同,但是它和婴儿的几何深度不同,就不属于“婴儿”这个整体。
立体视觉是计算机视觉领域的一个重要课题[2],特别是模拟人眼的双目立体视觉技术,近年来已经做了相当多的研究,技术比较成熟,能够同时给出颜色和几何深度信息,正好满足前述图像分割的需求。
当前,立体视觉算法主要包括:以Fixed Window(FW)算法为基础的局部算法[3]、以Adaptive Weights(AW)算法[4]为基础的局部算法、对AW进行改进的Segment Support(SS)算法[5]、结合AW和FW算法的Fast Bilateral Stereo(FBS)算法[6]、Semi Global Matching(SGM)算法[7]、全局立体视觉Graph Cut(GC)算法[8]。
最近的场景分割技术是基于图论、聚类技术和许多其他技术(如区域合并,水平集,分水岭变换等)[9]。其中聚类技术应用最为广泛,本文将考虑采用3种聚类方法:K-means聚类[10]、Mean-shift 算法[11]、Spectral 聚类[12]。
采用双目立体视觉技术获得颜色和几何信息后,利用该技术来进行场景分割就变得更为有效。本文的组织如下:首先介绍本文分割方法的实施方案以及详细步骤,再利用不同组合的立体视觉重建和分割算法,给出各种组合的实验结果,最后得出结论。
2本文方法实施方案及详细步骤
2.1实施方案
如引言中的介绍,本文场景分割的目标是通过利用双目立体视觉系统提供的三维几何和彩色信息来进行场景分割。分割方法可分为4个主要步骤,从一个标准的双目立体视觉系统所获得的相同场景的两个视图(左视图和右视图)开始,每一步的详细描述如下:
1)生成深度图,进行三维场景几何重构;
2)构建包含几何和颜色信息的新场景,即构建六维向量;
3)应用基于颜色和几何信息的聚类算法;
4)最后的细化阶段,以消除由于噪声或几何提取中的错误产生的伪影。
图2给出了详细的实施方案。该方案是一个总体框架,其中可以使用不同的立体视觉和分割算法。通过双目视觉系统,由左视图提供颜色信息,左视图加上右视图进行视觉三维几何重建,从而得到几何信息,再将颜色和几何信息组成六维向量给到聚类算法中进行分割并对分割的伪影进行消除,得到最终的分割结果。
2.2详细步骤
2.2.1三维几何重构
(1)
式中:Ks为整流后的双目立体视觉系统的摄像机内部参数矩阵(这里为左摄像机内部参数)。
如图2所示,双目立体视觉系统所获得的成对图像输入到立体视觉算法中,得到帧场景点的深度信息。这里可以使用前言中提到的立体视觉算法中的任何一种。对于相同的图像输入,不同的立体视觉算法产生不同的深度图,所产生的分割结果也可能就完全不同。图3给出了不同立体视觉算法生成的深度图之间的对比。
2.2.2六维特征向量构造
上一步中得到的场景的几何信息再结合颜色信息进行分割比使用单一的几何或颜色信息进行分割的效果要好。要想将两种信息结合以便同时利用它们,首先必须建立一个统一的包括颜色和三维几何信息的表示方法。对于给定的场景S, 在使用立体视觉算法得到三维几何信息后,这时不管是左视图还是右视图,它们所有的没有被遮挡的帧场景点pi都能够同时获得颜色和几何信息(pi∈S,i=1,z,…,n)。因此,这些点就可以被描述为包含颜色和几何信息的六维向量,如式(2)所示
Vi=[L(pi),α(pi),b(pi),x(pi),y(pi),z(pi)]T
(2)
其中,前三个分量的代表颜色信息,后三个分量代表几何信息。其中颜色分量的建立方法如下:将RGB颜色空间转换到CIELab均匀颜色空间。均匀颜色空间的好处在于能够确保点之间的欧氏距离接近不同颜色之间的感知差异,并允许在3个颜色通道进行距离对比。
现在特征向量Vi还没有被聚类,因为它们是由不同性质(颜色和几何)和大小的数据构成,而分割方法需要均匀的特征向量,而且向量分量必须属于同一个域。此外,为了更好地操作,大多数的方法需要特征值在[0,1]范围内。综上因素,每个场景点pi被其三维坐标x(pi),y(pi),z(pi)以及颜色值L(pi),a(pi),b(pi)表示之后,本文方法需要对这些特征向量进行归一化处理。具体做法是:三维坐标信息由z轴标准偏差σZ进行归一化,颜色信息由颜色空间L分量标准偏差σL进行归一化。颜色信息和几何深度信息之间的权衡比由λ因子控制。最终,每个可见的场景点pi由六维向量Vi,i=1,…,N表示,如式(3)所定义
(3)
很明显,从式(3)可以看出,高的λ值更着重于几何信息,而较低的值则偏向于颜色信息.
2.2.3场景分割
如上节所述,在综合考虑颜色和几何信息后,本文用六维归一化向量Vi,i=1,…,N来描述场景S。假设场景S由不同部分s(K),k = 1,…,K,组成,比如不同的物体或感兴趣区域,分割就是寻找不同群体的点代表不同的对象。本文所提的分割方案可以归结为:将各个场景点pi聚类到向量Vi,i=1,…,N以代表不同的对象,即通过使用引言中描述的任何聚类技术,图像各个部分就被关联到某个具体的聚类。显然,由于立体视觉算法的局限性,得到的深度图可能含有伪影。采用不同的立体视觉算法和聚类技术的组合,将导致不同的分割结果,将在实验中给出分析。
场景分割的最后细化阶段主要是为了减少分割伪影的产生。在细化阶段中,常用的方法是寻找相关的分量并删除大小低于某个预先定义阈值的分量。这就可以删除由于图像噪声产生的伪影。
3实验和结果分析
为了验证本文方法的可行性性,采用立体视觉算法和聚类技术的不同组合对样本场景进行了实验。样本场景来自于Middlebury数据集[13],该数据集提供Ground-truth视差图以供使用。算法包括前言里提到的6中立体视觉算法及3种聚类技术。其中,由MATLAB实现聚类技术的执行,用C语言编程实现部分立体视觉算法(FW,AW,SS,FBS),其余两种GC和SGM算法的实现参考OpenCV网站实现方法[14]。
图3展示了采用不同的立体视觉算法对包含Ground-truth视差图的Baby2场景左右视图进行计算所得到的视差图(深度图),不同算法得到的结果有所不同。由图3可以看出,所有的遮挡点都可以被立体视觉算法识别出来并用黑色表示,所以在后续聚类算法中可以不予考虑。每个聚类都有一种颜色表示,所以没有被遮挡的点都用不同于黑色的聚类颜色来表示。
图4显示了Baby2图像的最终分割结果。不同的行对应于不同的分割算法,而列则对应于立体视觉算法。从图可以看出所用到的立体视觉和聚类算法在该场景都有很好的效果,比起图1中采用单一的基于颜色或者几何信息的算法都有明显的改善(例如,对婴儿脚的识别)。当然,也可以从图4看出,FW和GC算法会产生一些伪影(比如靠近手臂的地方)。显然,不同算法产生的错误几何信息点的数量也有所不同,其中FW和AW算法有较大的区域丢失。在这个场景中表现最好的算法是SGM,但是差别不是很大。
实验的目的是评估最有效的立体视觉和聚类算法组合。本文采用像素误分类百分比来进行评估,该百分比是和Middlebury数据集提供的groundtruth视差图对比得到。如前所述,在计算过程中无须考虑遮挡像素。所有立体视觉算法和聚类方法的18种组合产生的误分类像素点百分比报告见表1。
由图4可以看出,几乎所有的场景分割,获得的场景鲁棒性和有效性远远好于单一基于颜色或几何信息的场景分割(比如,使用k-means聚类进行的场景分割)。根据分割效果的对比,得出结论:最有效的组合是SS和Spectral的组合,该组合得到的误分类百分比最低。在速度方面,均值漂移聚类的速度比其他两个算法要快些。在所有的聚类算法的MATLAB实现中,所需要的时间都不到7s,应用于实时性不高的场合没有问题。
表1分割效果对比表(单位:误分类像素百分比)
最后,λ参数的设置也很重要。图5描述了SS算法使用不同λ得到的分割结果。过高或者过低的λ值将导致图1b和图1c这样的效果。
4结论
经典的分割方法,即单独采用颜色或几何信息进行分割效率不高。为此,本文介绍了一种融合几何和颜色信息以获得高质量的场景分割的方法,该方法从双目立体视觉系统获得几何形状及颜色信息。依据本文方法,实验了6种立体视觉算法和3种聚类技术的不同组合进行的场景分割。结果表明在各种组合中,SS的立体视觉算法结合Spectral聚类提供了最佳的性能。但这种配置比较耗时,在实时性要求高的场景可以将其中SS算法用更快的FSD(FastSegmentation-Driven)算法[15]代替。本文场景分割方法所需要的采集系统是一个双目立体视觉系统,随着越来越广泛的使用及成本的降低,未来该系统必将更加便宜和流行。从实验结果来看,本文所提方法具有良好的分割效果。为了进一步提高分割效果,下一步将致力于立体视觉算法的优化研究。
参考文献:
[1]张辞, 马丽. 基于改进的GSA彩色图像分割方法研究[J]. 电视技术, 2014, 38(13):39-42.
[2]李桂苓, 潘榕, 许树檀. 立体视觉与立体成像[J]. 电视技术, 2012, 36(2):15-18.
[3]MCDONALDM.Box-filteringtechniques[J].Computergraphicsandimageprocessing, 1981, 17(1): 65-70.
[4]YOONKJ.Adaptivesupport-weightapproachforcorrespondencesearch[J].IEEEtransactionsonpatternanalysis&machineintelligence, 2006, 28(4):650-656.
[5]TOMBARIF,MATTOCCIAS,STEFANOLD.Segmentation-basedadaptivesupportforaccuratestereocorrespondence[M].BerlinHeidelberg:AdvancesinImageandVideoTechnology, 2007.
[6]MATTOCCIAS,GIARDINOS,GAMBINIA.AccurateandefficientcostaggregationstrategyforstereocorrespondencebasedonapproximatedJointbilateralfiltering[J].Lecturenotesincomputerscience, 2010(9):23-27.
[7]HIRSCHMULLERH.Stereovisioninstructuredenvironmentsbyconsistentsemi-globalmatching[C]//Proc.IEEEConferenceonComputerVisionandPatternRecognition.Washington:IEEEComputerSociety, 2006: 2386-2393.
[8]BOYKOVY,KOLMOGOROVV.Anexperimentalcomparisonofmincut/maxowalgorithmsforenergyminimizationinvision[J].IEEEtransactionsonpatternanalysis&machineintelligence, 2004, 26(9):1124-1137.
[9]SZELISKER.Computervision:algorithmsandapplications[J].Computervision, 2010:247-258.
[10]JAINAK,MURTYMN,FLYNNPJ.Dataclustering:areview[J].ACMcomputingsurveys, 1999, 31(2):S324-S325.
[11]COMANICIUD,MEERP.Meanshift:arobustapproachtowardfeaturespaceanalysis[J].IEEEtransactionsonpatternanalysis&machineintelligence, 2002, 24(5):603-619.
[12]FOWLKESC.SpectralgroupingusingtheNystrommethod[J].IEEEtransactionsonpatternanalysis&machineontelligence, 2004, 26(2):214-225.
[13]Middleburystereovisionwebsite[EB/OL].[2015-05-21].http://vision.middlebury.edu/stereo/.
[14]Opencv[EB/OL].[2015-05-21].http://opencv.willowgarage.com/wiki/.
[15]MATTOCCIAS,DE-MAEZTUL.Afastsegmentation-drivenalgorithmforaccuratestereocorrespondence[C]//InternationalConferenceon3DImaging(IC3D).Belgium:IEEEComputerSociety, 2011:1-6.
华漫(1976— ),副教授,主要研究方向为计算机视觉、图像处理;
李燕玲(1982— ),女,硕士,主要研究方向为微分方程、优化算法;
林瑞春(1980— ),硕士,主要研究方向为计算机视觉、图像处理、机器人。
责任编辑:时雯
Scene segmentation approach based on binocular stereo vision
HUA Man,LI Yanling,LIN Ruichun
(SchoolofComputerScience,CivilAviationFlightUniversityofChina,SichuanGuanghan618307,China)
Key words:scene segmentation; stereo vision; clustering; depth map
Abstract:A scene segmentation approach based on binocular stereo vision is proposed. Firstly, an 3D scene is reconstructed based on the left and right view of binocular stereo vision system, and then the scene geometry depth maps were obtained. Meanwhile, RGB color space of the image from left view is converted to CIELAB uniform color space to obtain color information. After that, a 6D vector is constructed by both color and geometry information. Finally, the 6D vector is given to clustering algorithm to segment the scene and remove the artifacts, and at last the final segmentation results are obtained. The Middlebury data set sample scene baby 2 have been segmented with different combinations of stereo vision and clustering techniques.Experimental results show that the proposed method can obtain a better segmentation than the methods based on just color or just geometry.
基金项目:国家自然科学基金民航联合基金项目(U1433130);民航局科技项目(20150215)
中图分类号:TN911
文献标志码:B
DOI:10.16280/j.videoe.2016.01.006
作者简介:
收稿日期:2015-07-15
文献引用格式:华漫,李燕玲,林瑞春.基于双目立体视觉的场景分割方法[J].电视技术,2016,40(1):31-35.
HUA M,LI Y L,LIN R C. Scene segmentation approach based on binocular stereo vision [J].Video engineering,2016,40(1):31-35.