APP下载

基于双目视觉的自适应匹配优化方法

2018-08-17,

计算机工程 2018年8期
关键词:视差像素点光照

黄 ,

(中国民航大学 中欧航空工程师学院,天津 300300)

0 概述

作为计算机视觉研究领域的热点问题,立体匹配在匹配精度方面和算法运行时间的表现引起了国内外专家学者的广泛关注[1-3]。根据采用的最优化理论算法不同,现有的立体匹配算法可分为全局算法和局部算法[4]。一般来说,局部算法比全局算法的匹配精度低,但算法运行时间相对较短,适合于工程和工业应用[5]。2005年,Yoon等人提出的自适应支持权重(Adaptive Support Weight,ASM)算法[6]将局部算法的视差精度提升到了一个新的高度,但由于其能量代价函数的计算过于复杂,该算法的运行时间比较长[7],因此近年来许多学者都对ASW算法进行优化,例如使用稀疏匹配方法[8]、优化能量代价函数[9]和引入随机游走的树结构[10]等,在不降低原ASW算法精确度的同时减少程序的运行时间。但这些算法在兼顾匹配精度和运行时间方面存在着一定的缺陷。因此,本文提出一种新的优化算法,在降低算法复杂度的同时引入多项后续处理。

1 ASW算法

ASW算法依据格式塔理论[11],在计算一点像素的支持权重时,自适应地根据该点与待匹配点的颜色相似度和空间距离相似度为该点分配一个支持权值。

以生成一张左右视差图为例,左图中一待匹配像素点p对其支持窗口中一像素点的支持权值为:

w(p,q)=f(Δcpq)·f(Δgpq)

(1)

其中,f(Δcpq)代表由颜色相似性确定的q点对p点的支持权值,f(Δgpq)代表由空间相似性确定的q点对p点的支持权值,其表达式分别为:

其中,Δcpq代表p点和q点的颜色相似度,是两像素点的RGB颜色在CIELab颜色空间的投影c(p)=[Lp,ap,bp]和c(q)=[Lq,aq,bq]的几何距离,γc是用于调整颜色相似度对支持权重影响大小的用户指定参数,一般设为7,代表p点和q点的空间位置相近度,是两像素点的欧氏距离,γp是用于调整空间位置相近度对支持权值影响大小的用户指定参数,一般设为36。

计算初始匹配代价后,通过赢者通吃策略(Winner-Takes-All,WTA)选取每个像素点的视差,计算公式如下:

其中,Sd={dmin,…,dmax}是所有可能选取的视差值组成的集合。

2 改进的自适应支持权重算法

2.1 优化理论

2.1.1 颜色相似度函数

由于ASW算法在计算颜色支持权重时涉及到3个颜色通道的运算,计算量比较大[12],考虑到计算颜色支持权重将三维计算问题简化为一维计算问题,这一步通过将左视图和右视图由彩色图片转化为灰度图实现,同时对于像素点q和待匹配像素点p,其颜色相似度计算公式为:

2.1.2 左右一致性检测和遮挡填充

由于遮挡和光照等原因,拍摄到的左右视图中同一场景的场景信息存在差别,这就导致一些相同像素点在经过立体匹配后生成的左右视差图和右左视差图中的视差并不相同。为了充分利用两张视差图的视差信息,对那些在两张视差图中视差不一致的像素点的视差进行视差修正,就可以提高视差图的精度[13]。

因此,以最后得到一张左右视差图为例,考虑对改进算法生成的初始左右视差图和初始右左视差图进行左右一致性检测(left-right-continuity check)和遮挡填充(occluded filling),其中左右连续性检测用于检测出在左右视差图和右左视差图中视差不一致的像素点,其检测过程如下:

对于左右视差图的一像素点p,求得的视差值是d1,p在左右视差中的对应像素点(p-d1),其视差值记作d2,若|d1-d2|>threshold,则标记为遮挡点。其中threshold代表判断是否为遮挡点的用户设定阈值,一般设为1。

经过左右一致性检测后,可以得到一张由遮挡点组成的图像,通过将该图像与初始左右视差图进行对比,就可以针对遮挡点进行视差填充,填充过程如下:

对于遮挡点p,分别水平向左和向右找到第1个非遮挡点,记作pl和pr,点p的视差值取这2个视差值中较小的那个,即d(p)=min(d(pl),d(pr))。其中,d(p)代表为遮挡点p重新定义的视差值,d(pl)为点pl的视差值,d(pr)为点pr的视差值。

2.1.3 中值滤波

初始视差图经过左右一致性检测和遮挡填充后,视差图精度将会得到进一步提升,但由于遮挡区域多存在与视差不连续区域和无法检测区域,因此在进行遮挡填充后会产生水平条纹。为了消除这些水平条纹,这里引入中值滤波[14]对经过遮挡填充处理后的视差图进行最终处理,其原理如下:

对视差图中一像素点p,以p为中心建立一个边长为(2N+1)的正方形窗口,将窗口内所有像素点的灰度值进行降序或升序排列,取这些灰度值的中值作为点p的灰度值。

由于窗口太大会影响算法运行时间,并且降低视差图的精度,窗口太小又会无法实现中值滤波的意义,因此这里取N=3。

2.2 优化算法实现

经过对原ASW算法的分析,改进了原ASW算法的颜色相似度函数,通过将三维问题转化为一维问题,大大减少了算法的计算量,节约了算法的运行时间。接下来引入后续处理来进一步高视差图精度,通过左右一致性检测筛选出在左右视差图和右左视差图中视差不一致的像素点,利用遮挡填充为这些遮挡点重新赋予视差值,最后通过中值滤波消除遮挡填充可能产生的水平条纹。以生成一张左右视差图为例,完整的改进算法流程如图1所示。

图1 改进算法流程

3 实验与结果分析

3.1 实验环境

本文使用了C++语言,基于OpenCV实现该算法,并在CPU Inter Core i5 1.6 GHz,内存4 GB,操作系统macOS Sierra 10.12.6的环境下对Middlebury网站提供的立体数据集Cones、Teddy、Tsukuba和Venus进行测试,并验证了不同光照条件下算法的鲁棒性。

3.2 算法复杂度

为了方便测试优化算法的性能,本文只考虑算法的时间复杂度。表1为改进算法和原ASW在支持窗口大小为11×11时,处理4个标准图像测试对的运行时间对比,可以看到改进算法的运行时间平均比原ASW算法减少了20%左右。说明改进原算法颜色相似度函数后,算法计算量得到有效的减少,进而算法的运行时间得到了有效节约。同时考虑到改进算法计算了生成两张视差图的运行时间,而原算法只计算了生成一张视差图的运行时间,因此,若使2个算法都生成两张视差图,改进算法运行时间预计比原算法运行时间减少40%~60%。

表1 算法运行时间 s

3.3 视差图匹配精度

表2为改进算法和原算法在支持窗口大小为11×11时,处理4个数据集生成左右视差图的误匹配率对比,其中IMP代表改进算法。

表2 算法误匹配率 %

从平均误匹配率看,改进算法针对4幅标准图像测试对的平均误匹配率比原ASW算法的平均误匹配率低2.76%,说明改进算法在视差图精度平均表现优于原ASW算法。

从单个数据集测试结果看,针对Cones数据集,改进算法在非遮挡区域和所有区域的匹配精度不如原ASW算法,比原ASW算法的误匹配率高1.5%,但改进算法在不连续区域的匹配精度比原算法高出2.98%;针对Teddy数据集,改进算法在非遮挡区域的误匹配率高达23.63%,比原算法高出7.15%,在所有区域和不连续区域,改进算法误匹配率和原ASW算法相差不到1%;针对Tsukuba数据集,改进算法在遮挡区域的误匹配率为11.71%,比原ASW算法的误匹配率低了14.39%,在所有区域和不连续区域,改进算法的误匹配率均低于原ASW算法,分别比原算法误匹配率减少了1.84%和2.14%;针对Venus数据集,改进算法在3个区域的匹配精度均优于原ASW算法,在遮挡区域,改进算法比原ASW算法的误匹配率减少了7.72%,在所有区域,改进算法比原ASW算法的误匹配率减少了7.85%,在不连续区域,改进算法比原ASW算法的误匹配率减少了7.31%。同时改进算法在3个区域的匹配精度也高于如SAD[15]、SSD和NCC[16]等常见算法。

图2~图5为立体图像数据集的测试结果,对比改进算法前后生成的视差图可以看出,改进算法提高了生成视差图的精度,特别是Tsukuba和Venus图像对生成的视差图精度提高明显,这与表2提供的数据吻合。

图2 Cones图像实验结果

图3 Teddy图像实验结果

图4 Tsukuba图像实验结果

图5 Venus图像实验结果

图6为改进算法在同一场景3种不同光照下生成的视差图,可以看出,在光照不足、光照一般和光照充足的情况下,改进算法生成的3张视差图差别不大。这说明在一定的光照范围内,改进算法生成的视差图稳定性良好,进一步说明改进算法在一定光照范围内具有良好的鲁棒性。

图6 不同光照下同一场景及对应改进算法生成的视差图

4 结束语

针对ASW算法运行时间长、算法复杂度高的问题,本文基于OpenCV平台提出一种自适应匹配优化方法。该方法通过优化ASW算法中的颜色相似度度量函数,以降低算法的复杂度;引入左右连续性检测、遮挡填充和中值滤波等后续处理实现对初始生成视差图的后续优化,提高算法的视差精度。实验结果表明,该优化方法将ASW算法的平均运行时间降低到原来的80%,并将生成视差图的误匹配率降低了2.67%,且优化算法具有良好的鲁棒性。下一步将简化ASW算法的能量函数,并尝试寻找不依赖于生成两张视差图的后续处理办法,以提高匹配精度,同时减少匹配时间。

猜你喜欢

视差像素点光照
节能环保 光照万家(公益宣传)
基于自适应窗的立体相机视差图优化方法研究
当幻想的光照进童心世界
基于局部相似性的特征匹配筛选算法
隐蔽的力量
基于5×5邻域像素点相关性的划痕修复算法
基于梯度域引导滤波的视差精炼迭代算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于分割树的视差图修复算法研究