何 川, 余 烨, 段瑞青, 刘晓平
(合肥工业大学 计算机与信息学院,安徽 合肥 230009)
立体匹配是近年来计算机视觉领域的一个重点研究方向,其主要目的是寻找2幅图像中的对应点。由于存在着遮挡不连续、镜面反射、纹理重复或弱纹理、投影畸变和倾斜平面等匹配问题,往往出现匹配过程中多点对应着一点的现象。而立体匹配是要解决上述问题,并寻找最优匹配解。
根据所采用优化方法的不同,立体匹配算法可以分为全局匹配算法和局部匹配算法。文献[1]把立体匹配分为匹配代价计算、支持能量聚合、视差计算和优化、视差的精细和评价4个步骤,但并不是每种匹配算法都必须包含这4个步骤,例如,全局匹配算法没有能量聚合步骤,而局部匹配算法没有视差优化和视差精细步骤。
全局匹配算法主要是采用全局的优化理论方法估计视差,建立全局能量函数,通过最小化全局能量函数得到最优视差值。该算法的匹配结果比较精确,但运行效率低,不具有实时性。文献[2]利用马尔科夫网络和置信传播方法进行立体匹配,获得了不错的结果。文献[3]提出一种利用颜色分割进行匹配的新算法,使用分层平面描述场景,可以有效地处理大片无纹理区域和深度不连续处。文献[4]提出一种改进的基于图像分割的匹配算法,可以有效地处理大片低纹理区域和视差图的边界,但无法准确地处理有噪声的图像。文献[5]提出一种平行配置系统的快速匹配算法,利用视差的分段连续性,极大地减少了运算量,但视差图存在“线条”特征,在视差缓变处精度低。文献[6]提出了一种采用自适应平滑约束的匹配算法,利用平滑约束有效地保持视差图的非连续区域,可以有效地处理弱纹理区域,但算法没有结合图像的上下文信息。文献[7]提出了一种基于图像分割块之间的几何约束和视差值的概率分布信息的视差估算方法,有效地解决倾斜平面或曲面的匹配问题,但对细小物体的匹配效果很差。
局部匹配算法采用局部优化方法进行视差估计,得到的视差估计是局部最优解。文献[8]提出一种新的基于区域增长的稠密匹配算法,可以很好地处理未校正图像对或低纹理区域。文献[9]提出一种仅利用灰度信息即可确定窗口的简单方法,保证得到最佳的匹配窗口,且使计算量与窗口大小无关。文献[10]提出一种基于窗口的匹配算法,根据相似性和接近性自适应地调整支持窗口中像素的支持权重,以减少图像匹配时的二义性,效果在局部匹配算法中较优。文献[11]提出一种新的基于区域内协同优化的立体匹配算法,将区域作为匹配基元,利用区域间的遮挡、平滑约束和区域内的颜色统计构造能量函数,再利用区域间的协同和竞争机制减少匹配代价,算法产生的视差图接近标准结果。文献[12]提出并实现了一套精度高和速度快的基于GPU立体匹配系统,通过多步优化减少视差估计的各种错误,并采用并行程序设计和CUDA加速,在立体匹配交流平台上该算法的效果最佳。文献[13]提出了更加合理的加权因子,并根据相似性对图像进行修复,使得修复效果更好,并缩短了修复时间。
鉴于立体匹配算法的准确性需求,本文在前人研究的基础上,提出一种基于多因素的自适应支持权重匹配算法。首先分析出传统自适应支持权重匹配算法效果的3个影响因素,即颜色模型、底数因子和颜色分量的加权因子,通过合理选取这3个因素,并以恰当的组合方式应用到该匹配算法中以得到进一步的优化,从而使匹配算法得到的视差图获得更加准确的效果。
本文的匹配算法参照文献[10]中算法的核心思想,通过选择固定大小的匹配窗口,针对窗口内的每个像素计算其支持权重,通过该权重进行像素间的相异度计算,再确定每个像素的视差值。
在立体匹配过程中,本文选用的匹配窗口为固定大小的矩形窗口。窗口中像素的支持权重可以衡量周围支持像素和中心像素的视差值差异程度。由格式塔规则中的相似性规则(颜色信息的相似)和接近性规则(几何距离的接近)可知,像素的支持权重正比于相似性和接近性的组合强度。即对于周围支持像素,与中心像素的颜色信息越相似,其支持权重越大;与中心像素的几何距离越接近,其支持权重越大。支持权重的计算过程是自适应的,无需用户干预。支持权重可表示为:
在进行相异度计算时,需要考虑在左图和右图中像素的支持权重计算,可更好地处理深度不连续的问题,如图1所示,图1中,p和q为左图中引用支持窗口中的像素,而和为右图中对应的目标支持窗口中的像素,左图中的像素p和q具有视差d。
图1 引用支持窗口与目标支持窗口的关系
在相异度计算后,每个像素的视差值可以通过 WTA(Winner-Take-All)方法来计算。即对于像素p,在视差值的取值范围Sd内,选择最小的相异度计算结果dp,这时的视差值d即为该像素的最终视差值,其关系式为:
在相异度计算时,大多数的立体匹配算法都需要利用源图像的颜色信息,然而不同颜色模型表示颜色信息的方式不同,颜色模型的多个不同分量对颜色信息的贡献大小也不同,这使得相异度的计算结果有所差异。本文通过对大量实验结果的分析得出,影响匹配结果的因素分别为颜色模型、底数因子和颜色分量的加权因子,通过合理选取这3个因素,对匹配算法[10]进行进一步的优化,从而获得效果更佳的视差图。
本文的匹配算法利用图像的颜色信息进行相异度的计算,这就需要选取合适的颜色模型去描述颜色信息。目前,常用的颜色模型主要有计算颜色模型、工业颜色模型和视觉颜色模型。计算颜色模型主要应用于纯理论研究和计算推导,工业颜色模型主要侧重于实际应用的技术;视觉颜色模型用于与人的直接交互,其中,有代表性的颜色模型有CIELab、RGB和HSV。
通过大量实验可得出,不同的颜色模型可以得到效果有差异的视差图。实验中相关参数设置如下:匹配窗口大小为35×35,底数因子为e,无加权计算。由一般常识可知,相比于颜色模型RGB和HSV,颜色模型CIELab得到的视差图有更加平滑的效果。
对于每个像素的支持权重,文献[10]推导出的计算公式为:
文献[10]提出了匹配效果最好的自适应支持权重立体匹配算法,其中,它的底数因子exp值为常数e。经过大量实验发现,不同的底数因子会得到效果有差异的视差图,具体实验结果如图2所示。实验中相关参数设置如下:匹配窗口大小为35×35,颜色模型为CIELab,无加权计算。
从图2可看出,随着底数因子的增大,视差图中物体的轮廓更加清楚,但其平滑性减弱。
图2 不同底数因子对匹配算法的影响
本文的匹配算法在进行相异度计算时,计算像素间颜色信息的差异。如在RGB颜色模型下,像素p和q之间的颜色差异Δcpq公式为:
其中,α、β、γ为颜色模型 RGB下3个分量R、G、B的加权因子。
经过实验可知,不同的加权因子会得到效果有差异的视差图,具体实验结果如图3所示。实验中相关参数设置如下:匹配窗口大小为35×35,颜色模型为RGB,底数因子为e。
图3 不同加权因子对匹配算法的影响
从图3可知,在相异度计算时,采用合适的加权因子可以使得到的视差图有更加平滑的效果。
在整个立体匹配实验中,为保证算法对比结果的客观性,没有添加任何预处理或后处理等优化步骤,只是核心匹配算法的对比。实验使用Middlebury大学立体视觉算法评测网站提供的标准测试图像。该网站为立体匹配算法测试提供了一个公认的客观评价平台。
3组实验处理的图像分别为 “venus”、“teddy”和“cones”,相关参数设置如下:Rc=7.0,Rg=36.0,T =40,窗口大小为35×35。在文献[10]匹配算法的实验中,采用RGB颜色模型,底数因子为e,没有进行加权计算。而在本文匹配算法中,采用CIELab颜色模型,底数因子为3,加权因子分别为0.2、0.4、0.4。不同算法的匹配结果进行对比,结果如图4~图6所示。Middlebury大学立体匹配算法评测网站给出了不同算法的评测结果,见表1所列,表1中“nonocc”表示nonoccluded pixels,“all”表示all pixels,“disc”表示pixels in depth discontinuities。针对3组标准测试图像,通过视差图的效果和算法的评测结果可以看出,本文匹配算法比文献[10]的匹配算法有一定的改进,能得到更平滑和准确的视差图。
图4 venus图像的匹配结果对比
图6 cones图像的匹配结果对比
表1 本文算法对标准测试图像视差估计的结果与文献[10]算法的比较 %
本文提出了一种基于多因素的自适应支持权重匹配算法,首先分析了匹配算法的3个影响因素为颜色模型、底数因子和颜色分量的加权因子,通过借鉴传统自适应支持权重匹配算法的核心思想,并结合以恰当方式组合的3个因素,进一步地优化了原有的匹配算法,以得到效果更加平滑和准确的视差图。对标准测试图像进行匹配实验,实验结果表明,本文算法与传统自适应支持权重匹配算法相比,不管是针对无遮挡像素、处于深度不连续处的像素还是其他的像素,本文算法中获得的“坏像素”比例与传统自适应支持权重算法相比,明显减少,由此可以证明本文匹配优化算法的有效性和优越性。
[1]Scharstein D,Szeliski R.A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J].International Journal of Computer Vision,2002,47(1/2/3):7-42.
[2]Sun J,ShuMH Y,Zheng N N.Stereo matching using belief propagation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(7):787-800.
[3]Bleyer M,Gelautz M.A layered stereo matching algorithMusing image segmentation and global visibility constraints[J].ISPRS Journal of Photogrammetry and Remote Sensing,2005,59(3):128-150.
[4]尹传历,刘冬梅,宋建中.改进的基于图像分割的立体匹配算法 [J].计 算 机 辅 助 设 计 与 图 形 学 学 报,2008,20(6):808-812.
[5]狄红卫,柴 颖,李 逵.一种快速双目视觉立体匹配算法[J].光学学报,2009,29(8):2180-2184.
[6]马祥音,査红彬.采用自适应平滑约束的立体匹配方法[J].计算机辅助设计与图形学学报,2010,22(1):108-113.
[7]翟振刚,陆 耀,赵 红.利用块几何约束及视差概率的立体匹配算法[J].软件学报,2010,21(11):2985-2998.
[8]唐 丽,吴成柯,刘侍刚,等.基于区域增长的立体像对稠密匹配算法[J].计算机学报,2004,27(7):936-943.
[9]周秀芝,文贡坚,王润生.自适应窗口快速立体匹配[J].计算机学报,2006,29(3):473-479.
[10]Yoon K J,Kweon I S.Adaptive support-weight approach for correspondence search[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,28(4):650-656.
[11]Wang Z F,Zheng Z G.A region based stereo matching algorithMusing cooperative optimization[C]//IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[12]Mei X,Sun X,Zhou MC,et al.On building an accurate stereo matching systeMon graphics hardware[C]//GPUCV,2011:467-474.
[13]陈晓冬,朱晓临.基于改进优先级的加权匹配图像修复算法[J].合肥工业大学学报:自然科学版,2013,36(1):113-118.