自适应窗口和半全局立体匹配算法研究

2017-04-11 08:06郭龙源罗百通欧先锋向灿群
成都工业学院学报 2017年1期
关键词:立体匹配视差代价

郭龙源,罗百通,欧先锋,向灿群,曾 毅

(湖南理工学院 a.信息与通信工程学院;b.复杂系统优化与控制湖南省普通高等学校重点实验室,湖南 岳阳 414006)

自适应窗口和半全局立体匹配算法研究

郭龙源a,b,罗百通a,b,欧先锋a,b,向灿群a,b,曾 毅a,b

(湖南理工学院 a.信息与通信工程学院;b.复杂系统优化与控制湖南省普通高等学校重点实验室,湖南 岳阳 414006)

针对区域立体匹配算法中匹配窗口的选择和在图像中视差不连续、弱纹理区域误匹配率较高的难题,提出了一种自适应窗口和半全局算法相结合的立体匹配算法。该算法先通过基于灰度的自适应窗口算法计算初始匹配代价,然后利用相邻像素之间的视差梯度作为约束,采用半全局立体匹配算法以得出视差图。最后对左右视差图进行左右一致性遮挡检测,获得精确的稠密视差图。针对不同的图像信息采用自适应窗口和半全局算法相结合的立体匹配算法,剔除、修正了视差不连续、弱纹理区域的误匹配点,得到匹配效果较好的视差图。实验结果表明:该算法有效降低了视差图在视差不连续、弱纹理区域和遮挡处的误匹配率。

自适应窗口;半全局匹配;立体匹配;遮挡检测;视差图

近年来,随着计算机视觉和图像处理技术的广泛应用,以及其具有潜在的巨大商业价值,使用立体视觉匹配技术获取精确的视差图,一直是许多学者研究的重点问题。但是弱纹理、视差不连续区域和遮挡处的匹配效果不理想仍然是立体匹配研究的关键问题。

为提高算法的精度和速度,研究者们提出了许多算法:一类是基于局部约束立体匹配算法[1],包括基于区域相关[2-3]、特征匹配[4]、相位匹配[5-6]、视差梯度[7]等,该类算法的计算复杂度较低,具有较好的实时性,但对周围噪声相对较敏感,在图像的弱纹理、视差不连续和遮挡区域的匹配效果不够理想。另一类是基于全局约束立体匹配算法,经典的有动态规划[8]、图割法[9]、人工智能算法[10]、置信度传播[11]等算法。该类算法有效提高了图像遮挡和弱纹理区域的匹配精度,然而计算复杂度较高,且实时性不好。其中基于局部约束的区域立体匹配算法[12-15]主要利用固定尺寸的图像局部窗口区域的灰度信息来实现匹配代价计算,算法简单,匹配速度快,可以获得稠密的视差图,但该算法仅利用了图像局部的灰度信息,对噪声、低纹理图片和遮挡等都非常敏感,误匹配比较严重。

半全局立体匹配算法(semi-global stereo matching)[16]的实质是一种对动态规划的改进算法,它不仅拥有动态规划算法的高效性,还在此基础上提高了算法的精确度。半全局立体匹配算法根据视差梯度变化对初始匹配代价施加不同的惩罚项以提供平滑性约束。文献[17]提出了一种加入结构约束的半全局立体匹配算法,有效地改善半全局匹配算法存在规划路径不完全问题。文献[10]使用卷积神经网络训练图像对,获得初始匹配代价函数,再通过半全局匹配算法聚合和优化代价函数,获得了良好的匹配结果。文献[19]提出的半全局立体匹配算法是根据图像中对应像素之间的相互信息来计算匹配代价函数,这种算法对图像中的弱纹理和遮挡区域的匹配效果较好。

通过对国内外各类立体匹配算法充分研究的基础上,本文提出自适应窗口和半全局算法相结合的立体匹配算法,该算法首先通过计算局部像素点附近的灰度值差异性自适应选取匹配窗口的大小,并根据窗口内的像素距窗口中心的距离及其匹配基元特征自适应地计算窗口内权重,获得图像中所有像素点的初始匹配代价,再采用半全局立体匹配算法来消除和纠正错误匹配点,降低误匹配率,即根据相邻像素之间的视差梯度信息作为约束条件,进一步优化视差图。然后用左右一致性检测消除遮挡影响,经过中值滤波得出最优的视差图。经实验证明,该算法具有实现简单,匹配精度高,对噪声、低纹理图片能获得稠密的视差图等优点。

1 匹配代价的聚合

1.1 构建自适应匹配窗口

在对图像的视差不连续、弱纹理和遮挡区域的匹配过程中,区域立体匹配算法的匹配精度往往不够理想,很容易受到对比度、光照和噪声等因素的影响,并且匹配窗口大小的选取也是关键问题。若算法的匹配窗口尺寸较小,则在视差不连续区域和遮挡区域的匹配精度较高,但在弱纹理区域则会由于信息较少而导致匹配精度下降;而算法的匹配窗口较大时,匹配窗口所包含信息就越丰富,能提高图像的重复区域和弱纹理区域的匹配精度,但会降低图像的视差不连续区域和遮挡区域的匹配精度。在匹配过程中,需要收集尽可能多的有效信息进行相似性度量,所以有必要增加窗口,但随着窗口的增加,干扰信息也会增加,使得参考信息的可靠性降低,匹配的准确率下降。

由于具有相似灰度值的像素点在受限区域中具有相同的图像结构,因而具有相同的视差。且在图像的某一区域内,像素点之间的方差与图像纹理丰富程度有关,纹理丰富的图像,其方差也大。本文采用一种通过计算区域内像素之间的方差来选取某一匹配像素的匹配窗口的方法,根据像素点所在区域和灰度值的不同,自适应的调节匹配窗口,增加匹配的准确率和可靠性。假定以左视图Il为参考图像,以(i,j)点为中心,窗口大小为M×M的矩形区域,其方差计算公式为:

σ(i,j)=

(1)

其自适应窗口大小构建如下:

1)设置初始窗口大小为M×M,最大窗口尺寸Mmax×Mmax和方差阈值T1。

2)比较当前窗口与预设的最大窗口尺寸的大小,假如M

3)根据式(1)计算窗口内像素的方差σ(i,j)。

4)比较σ(i,j)与T1的大小,若σ(i,j)

5)输出计算所得的窗口大小M×M,即为该点的匹配窗口大小。

算法流程图如图1所示:

图1 自适应窗口算法

1.2 窗口自适应权重的设置

区域匹配法在聚合匹配窗口内像素的初始匹配代价时,只有匹配窗口内的相邻像素与待匹配像素的深度信息相似,它们的视差大小相似的时候,相邻像素对待匹配像素的匹配结果才是有效的。然而,立体匹配的目标是获得的待匹配图像的最优视差图,所以匹配窗内各像素点的视差是未知的。若在聚合初始匹配代价时没有选取合适的匹配窗口,则容易由于匹配窗口内相邻像素和待匹配像素的视差大小不同而产生的误匹配。

通过计算聚类的强度来确定匹配窗内相邻像素对待匹配中心像素的权重大小,该方法的实质是在聚合初始匹配代价时,根据相似性和相邻性规则自适应地给匹配窗口内的所有像素分配一个合理的权重。聚类强度和支持权重的大小是成正相关关系:根据相似性规则,相邻像素和窗口中心像素之间的颜色信息的相似度越高,则对中心像素的支持权重越大;根据相邻性规则,在图像空间的几何位置越接近待匹配像素,则相邻像素的支持权值越大。自适应权重计算公式为:

(2)

(3)

(4)

(5)

(6)

图2 自适应双权重聚合示意图

2 半全局立体匹配算法

本文采用半全局立体匹配算法,根据相邻像素点之间的视差梯度信息,为初始匹配代价施加不同的惩罚项,提供平滑性约束,匹配代价函数形式为:

(7)

(8)

使用式(7)在二维图像中寻找最优解是一个NP完全问题,即求的代价函数E(D)最小化。可将这个问题近似的平等分解为多方向的一维问题,使用动态规划的方法实现每个一维路径上的能量最小化问题。因此半全局匹配算法沿着8个一维路径聚合匹配代价。假设考虑视差为d的像素点p沿r方向这一路径,则其匹配代价计算公式如下:

(9)

(10)

通过以上公式获得图像中所有像素的匹配代价函数S(p,d)后,对图像中每个像素的匹配代价使用局部优化策略WTA(Winner-Take-All),选取最小匹配代价时对应的视差值为视差图的最终视差。

(11)

3 遮挡处理

遮挡是双目立体匹配过程中普遍出现的现象。本文在立体匹配求得左右视差图后,采用左右一致性检测法确定遮挡区域,并对遮挡区域误匹配进行合理视差值填充,最后经过中值滤波,得到最终的视差图,具体算法步骤如下:

从上文可得图像对的左右视差图,左视图的每一个像素点p,在左视差图有对应的视差值d1,同理,右视图中的p′在右视差图上有对应的视差值d2,判断是否小于预设阈值(本文算法中该阈值设为1),若满足条件,则像素点p′是像素点p的正确匹配点,否则像素点p的匹配结果无效。左右一致性检测能够同时找出遮挡区域像素点和误匹配像素点,这些点统称为无效匹配点。

然后对无效匹配点区域进行遮挡填充,即给无效匹配点重新赋予一个合理视差值。对每一个无效匹配点p,沿着水平方向分别往左右找到第一个有效匹配点pl和pr,并将像素点p的视差值重新分配为有效匹配点pl和pr对应视差值d(pl)和d(pr)中的较小值,即使遮挡像素点和背景像素点具有相同的视差值。遮挡填充对于提高立体匹配精度效果显著,但对于初始视差匹配精度具有较高的依赖性。

最后,由于视差图的遮挡区域出现了水平条纹的缺陷,因此在遮挡区域填充视差值后,采用9×9中值滤波去除条纹缺陷。

4 实验结果及分析

图3 采用不同算法的视差图结果比较

表1 本文算法与其他算法的实验结果对比

表1中第2~5列的数字分别是使用各种算法在4个测试图像对的非遮挡区域(nonocc)误匹配点所占的百分比,最后1列数字表示根据各种算法在4个测试图像对中非遮挡区域(nonocc)的误匹配率、深度不连续区域(disc)的误匹配率以及所有区域(all)的误匹配率计算的平均误匹配率。

由图3和表1可以看出,与动态规划算法(DP)相比,本文算法在很大程度上消除了条纹状误差,提高了匹配精度。相比本文所用自适应半全局算法,自适应权值匹配算法(Adapt Weight)在一些图像的(例如测试图中Tsukuba和Venus)上有较好的匹配效果,但在一些图像中,视差不连续区域(例如测试图中Teddy和Cones)上匹配效果较差。而相比于采用相互信息作为匹配代价的半全局算法(semi-Glob),则情况刚好相反。但是本文算法效果在图像的弱纹理区域上匹配效果远胜于采用相互信息作为匹配代价的半全局算法(semi-Glob),而在图像的视差不连续区域上匹配效果又优于自适应权值匹配算法(Adapt Weight)。因此,从以上各种算法的平均误差率来分析,本文算法的匹配效果优于许多同类算法,提高了在图像的视差不连续、弱纹理区域和遮挡处的匹配精度。

5 结语

针对区域立体匹配算法难以选择精确的匹配窗口和在视差不连续、弱纹理区域误匹配率较高的问题,本文提出自适应窗口算法和半全局算法相结合的立体匹配算法,该算法首先通过计算局部像素点附近的灰度值差异性自适应选取匹配窗口的大小,并根据窗口内的像素距窗口中心的距离及其匹配基元特征自适应地计算窗口内权重,获得图像中所有像素点的初始匹配代价,再采用半全局立体匹配算法来消除和纠正错误匹配点,降低误匹配率,即根据相邻像素之间的视差梯度信息作为约束条件,进一步优化视差图。然后在用左右一致性检测消除遮挡影响,经过中值滤波得出最优的视差图。但对重复纹理区域的处理还不够精确,提高本文算法在该区域的匹配精度和进一步消除遮挡区域的影响是本文以后的研究方向。

[1]葛忠孝,邢帅,夏琴,等.基于树形结构的半全局立体匹配算法[J].计算机工程,2016,42(8):243-248.

[2]ZHANG K,FANG Y,MIN D,et al. Cross-scale cost aggregation for stereo matching[C]//IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society,2014:1590-1597.

[3]ZHANG K, LI J, LI Y, et al. Binary stereo matching[C]//International Conference on Pattern Recognition. IEEE, 2012:356-359.

[4] TAN X,SUN C,SIRAULT X,et al. Feature matching in stereo images encouraging uniform spatial distribution[J]. Pattern Recognition,2015,48(8):2530-2542.

[5] ZHU S,ZHOU B,LIU Z. A phase-based stereo matching algorithm[J]. Industrial Instrumentation & Automation,2013.

[6] 郭龙源,孙长银,张国云,等. 基于相位一致性的可变窗口立体匹配算法[J]. 计算机科学,2015,42(s1):13-15.

[7] LI F,SHEN L,WU D,et al. Full-reference quality assessment of stereoscopic images using disparity-gradient-phase similarity[C]//IEEE China Summit and International Conference on Signal and Information Processing. IEEE,2015:658-662.

[8] WANG J,CHEN S,LI X,et al. Improvements of dynamic programming stereo matching algorithm based on parallax region segmentation[J]. Journal of Graphics,2013,34(2):13-20.

[9]TANIAI T,MATSUSHITA Y,NAEMURA T. Graph cut based continuous stereo matching using locally shared labels[C]//IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society,2014:1613-1620.

[11] 汪永宝,杨红雨,兰时勇. 基于置信度传播和色度分割算法的深度估计[J]. 计算机技术与发展,2015(9):6-11.

[12] YANG Q. Hardware-efficient bilateral filtering for stereo matching.[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,36(5):1026-1032.

[13] YANG Q,JI P,LI D,et al. Fast stereo matching using adaptive guided filtering [J]. Image & Vision Computing,2014,32(3):202-211.

[14] LIU T,PENG X,QIAO L. Window-based three-dimensional aggregation for stereo matching[J]. IEEE Signal Processing Letters,2016,23(7):1008-1012.

[15] KIM S,KANG S J,KIM Y H. Real-time stereo matching using extended binary weighted aggregation[J]. Digital Signal Processing,2016,53(C):51-61.

[16] XIR Y,ZENG S,CHEN L. A novel disparity refinement method based on semi-global matching algorithm[C]//IEEE International Conference on Data Mining Workshop. IEEE,2015:1135-1142.

[17] 高波,马利庄. 加入结构约束的半全局立体匹配方法[J]. 计算机应用与软件,2009,26(2):244-247.

[18] YOON K J,KWEON I S. Adaptive support-weight approach for correspondence search.[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2006,28(4):650-656.

[19] HIRSCHMULLER H. Accurate and efficient stereo processing by semi-global matching and Mutual Information[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society,2005:807-814.

[20]WANG L,YANG R,GONG M,et al. Real-time stereo using approximated joint bilateral filtering and dynamic programming[J]. Journal of Real-Time Image Processing,2014,9(3):447-461.

[21] MARTINS J A,RODRIGUES J M,DU B H. Luminance,colour,viewpoint and border enhanced disparity energy model[J]. Plos One,2015,10(6):e0129908.

[22] PLOUMPIS S,AMANATIADIS A,GASTERATOS A. A stereo matching approach based on particle filters and scattered control landmarks [J]. Image & Vision Computing,2015,38(C):13-23.

为什么“日照时数”应为“日照时间”

问:为什么“日照时数”应为“日照时间”?

答:“日照时数”这个量名称其定义为:一天内太阳直射光线照射地面的时间,以小时为单位。这里,“时数”是按“单位([小]时)+数”的错误套式构成的时间的名称,如同以“摩尔数”错作为物质的量的名称一样,显然是不正确的。

然而在国家名词委的“农学:农业气象学”学科中,“日照时数”却是“汉语推荐使用规范名词”,同时给出了“英文术语”“sunshine duration”,并说“又称‘日照时间’”,而括注的英文名称却是“sunshine hours”。其实,英文术语“sunshine duration”本意就是日照时间,而括注的“sunshine hours”是“日照时数”。

同时,国家名词委“又称”的“日照时间”是规范的。所以应弃用错误的“日照时数(sunshine hours)”,使用正确的“日照时间(sunshine duration)”。举一反三,常见的“培育天数”“生长年数”等名称,也应分别改为“培育时间”(以天为单位)、“生长时间”(以年为单位)。

——摘自http://zhaodal.blog.163.com

Adaptive Windows and Semi-global Stereo Matching Algorithm

GUOLongyuana,b,LUOBaitonga,b,OUXianfenga,b,XIANGCanquna,b,ZENGYia,b

(a.College of Information & Communication Engineering; b.Key Laboratory of Optimization & Control for Complex Systems,Hunan Institute of Science & Technology,Yueyang 414006,China)

There are still some common issues existing in the region stereo matching algorithm for the selection of matching windows and region matching in disparity discontinuity and weak texture. In order to solve these problems,this paper proposes a stereo matching algorithm based on the combination of adaptive window and semi global algorithm. Firstly,the initial matching cost are calculated based on adaptive window matching algorithm. Then,Semi-global stereo matching algorithm is used,in which there is a constraint by disparity gradients between adjacent pixels,to obtain the initial disparity map. Finally,left-right consistency check is employed to eliminate the errors taken place in occluded regions,and obtained the dense disparity map. The authors take adaptive windows and semi-global stereo matching algorithm for different images to correct mismatching points in the disparity discontinuities and weak texture regions. Experimental results show that the proposed algorithm can reduce the error matching rate effectively,and improve the matching accuracy in the disparity discontinuities,weak texture and occlusion region.

adaptive window; semi-global matching; stereo matching; occlusion detection; disparity map

10.13542/j.cnki.51-1747/tn.2017.01.002

2017-02-24

国家自然科学基金项目(61300039);湖南省高校重点实验室开放基金项目(14k042);湖南省教育厅项目(16C0723)

郭龙源(1973—),男,副教授,博士,研究方向:计算机视觉/图像处理。

欧先锋(1983—),男,讲师,博士,研究方向:图像处理/视频压缩编码及传输,电子邮箱:ouxf@hnist.edu.cn。

TP391

A

2095-5383(2017)01-0007-05

猜你喜欢
立体匹配视差代价
基于自适应窗的立体相机视差图优化方法研究
基于梯度域引导滤波的视差精炼迭代算法
爱的代价
影像立体匹配中的凸优化理论研究
代价
基于分割树的视差图修复算法研究
改进导向滤波器立体匹配算法
立体视差对瞳孔直径影响的研究
动态规划立体匹配的状态空间分析和性能改进
成熟的代价