一种针对弱纹理区域的立体匹配算法的制作方法

文档序号:15561007发布日期:2018-09-29 02:14阅读:348来源:国知局

本发明涉及数字图像处理领域,具体涉及一种针对弱纹理区域的立体匹配算法。



背景技术:

双目立体视觉是计算机视觉的一个重要研究课题,双目立体视觉通过摄像机模拟人眼构造,通过比较同一场景下通过两个不同角度采集到的的不同图像信息,利用计算机模拟大脑进行处理,获取物体的三维坐标信息。双目立体视觉直接模拟人类观察外界事物的方式,具有成本低、效率高等优点。

双目立体视觉系统主要包括图像采集、摄像机标定、图像校正、立体匹配、三维重建,其中立体匹配是立体视觉中是最重要的环节,决定最后匹配视差图的结果,也决定了最终恢复的三维信息正确性。立体匹配的内容主要是建立两幅二维图像之间的像素对应关系,计算视差,获取视差图像。立体匹配中难以攻克的问题主要有光照影响,遮挡引起的误匹配和所属场景低纹理区域的误匹配。低纹理区域内由于每个像素点的像素值非常接近,匹配时区域间差异不明显,容易导致匹配结果错误。

基于局部的立体匹配包括四个步骤:匹配代价的计算、匹配代价聚合、计算视差、结果优化。常用的代价计算方法包括有基于像素点的匹配代价计算:绝对差absolutedifference(ad),平方差squareddifferences(sd),截断绝对差等truncatedabsolutedifference(tad)等,以及基于区域的匹配代价计算:绝对差和sumofabsolutedifference(sad),平方差和sumofsquareddifferences,hadamard变换法sumofabsolutetransformeddifference(satd)等)。常用的代价聚合方法包括有基于滤波器的代价聚合方法(bilateralfilter,guidedimagefilter,boxfilter等)以及基于分割树的代价聚合方法等等。

目前大多数对立体匹配算法的改进研究集中于对前两步骤进行改进,但目前并没有鲁棒性非常好的匹配算法提出,大多需要根据图像特点及处理需求设计对应的匹配方法。



技术实现要素:

为了克服现有技术存在的缺点与不足,本发明提供一种针对弱纹理区域的立体匹配算法。

本发明采用如下技术方案:

一种针对弱纹理区域的立体匹配算法,包括如下步骤:

s1对输入图像进行图像校正,将校正后的图像对进行尺度变换,获得不同尺度下图像对;

s2采用canny算法检测图像边缘,通过闭运算获得平滑连续的边界并标记边缘位置,边缘内的区域则为弱纹理区域;

s3检测校正后图像对的harris角点并进行特征点的匹配,确定同一连通域内的视差搜索范围;

s4采用改进的滑动窗口方法计算各尺度图像像素间匹配代价;

s5采用正则化约束下的多尺度的代价聚合函数计算视差搜索范围内的各视差值对应的聚合代价,选择最小聚合代价所对应的视差值作为像素视差值;

s6通过遍历原始图像像素得到稠密视差图。

所述s1中采用高斯金字塔的方法获得不同尺度下图像对。

所述s3中检测校正后图像对的harris角点并进行特征点的匹配,确定同一连通域内的视差搜索范围,具体为:

校正后的图像对包括左图及右图,提取两幅图像中的harris角点作为特征点,将左图设为基准图像,取出其中一个特征点,在满足极线约束的条件下找出该点在右图中的对应点,若右图中有不止一个特征点满足条件,则通过计算最近距离与次近距离的比值确定其是否为匹配特征点,直到遍历基准图像中的所有特征点,得到匹配点集;

对匹配点集进行视差求解,通过对特征点的位置判断,综合某一连通域内的所有特征点的视差,确定该连通域内的视差搜索范围。

所述s4采用改进的滑动窗口方法计算各尺度图像像素见匹配代价,具体为:

判断像素点i是否位于图像边缘上,如果是,则该像素点为中心像素点,对其八邻域中的点进行区域判别,按照区域的优先级别,只计算优先级高的区域内像素点的匹配代价,得到最优值;

如果不是图像边缘,则通过s3得到视差搜索范围,设定匹配代价计算时的窗口大小,进一步求解匹配代价。

所述区域包括单连通域、多连通域及其他区域,优先顺序为单连通域>多连通域>其他区域。

s5,具体为:

计算各个尺度下图像的各像素对的匹配代价;

计算单一尺度下的匹配代价的聚合结果;

通过正则化约束下求解多尺度图像的融合的匹配代价;

选取匹配代价最小的点为对应点;

获得最终的视差值。

匹配代价聚合模型:

其中,l为未知的视差变量,j是以像素i为中心的窗口n内的其他像素点,z为整体代价,k(i,j)为一可以体现i,j两点间相似程度的核函数。

采用wta策略选取匹配代价最小的点为对应点。

本发明的有益效果:

1.通过对边缘特征的提取以及区域的判断,针对不同标记区域各自特点在计算匹配代价时采用不同的窗口并在代价聚合步骤对函数中的参数进行恰当的设置,使得最终结果对低纹理区域及深度突变区域均有较高的准确度;

2.通过对角点特征的提取及匹配,获得图像中各个区域的较为合理的视差范围估计,可一定程度上减少匹配时的计算量。

附图说明

图1是本发明的工作流程示意图;

图2是s4的流程示意图;

图3是改进的滑动窗口方法示意图;

图4是s5的流程示意图。

具体实施方式

下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例

如图1-图4所示,一种针对弱纹理区域的立体匹配算法,包括如下步骤:

s1对输入图像进行图像校正,将校正后的图像对进行尺度变换,获得不同尺度下的图像对,校正后的图像对包括左图及右图,选取左图为基准图像。

对于人类视觉来说,在由远到近观察同一幅图像时,图像的大小、模糊程度以及观察到的主要信息都是不同的。图像的多尺度变换与之性质类似,其中图像金字塔是图像多尺度表达的一种,是层层排列的分辨率逐渐降低、尺寸逐渐减小的图像集合。高斯金字塔是实际应用中最为常用的一种,通过构造高斯金字塔,突出不同尺度下图像的主要特征,然后对多个尺度图像的匹配代价结果进行融合求解聚合代价可以更准确地描述像素区域特征,获得更好的匹配效果。

构造图像高斯金字塔的步骤包括使用高斯低通滤波器对图像进行模糊化以及抽样两个步骤,本发明实现时采用5*5的高斯核对原图像gi进行卷积操作获得模糊图像,然后进行下采样操作获得上层图像g(i+1)。

s2采用canny算法检测图像边缘,通过闭运算获得平滑连续的边界并标记边缘位置,边缘内的区域则为弱纹理区域;

由于图像中的背景是一个开放的区域,而本发明的重点是针对具有表面低纹理特点的观测物品区域的匹配,因此可以将连通域内区域均视作低纹理区域,在后续计算聚合匹配代价时采用更大的正则化因子,加强像素不同尺度间的一致性约束,获得更好的匹配结果。

canny边缘检测算法能够较准确的检测出图像中尽可能多的边缘,其实现主要包括以下三个步骤:首先利用一阶偏导的有限差分计算出图像灰度值的梯度幅值跟方向,然后对梯度幅值进行极大值抑制以此减少误检的可能性,最后用双阈值法连接边缘。

本实施例中水平及垂直方向的差分gx和gy一般通过如下两个卷积核求得:

gx=k_gx*ggy=k_gy*g

相应的梯度幅值m跟相角θ可根据坐标转换公式得到:

s3检测校正后图像对的harris角点并进行特征点的匹配,确定同一连通域内的视差搜索范围,具体为:

校正后的图像对包括左图及右图,提取两幅图像中的harris角点作为特征点,将左图设为基准图像,取出其中一个特征点,在满足极线约束的条件下找出该点在右图中的对应点,若右图中有不止一个特征点满足条件,则通过计算最近距离与次近距离的比值确定其是否为匹配特征点,直到遍历基准图像中的所有特征点,得到匹配点集;

对匹配点集进行视差求解,通过对特征点的位置判断,综合某一连通域内的所有特征点的视差,确定该连通域内的视差搜索范围。

harris角点特征提取算法的原理是:以图像中的某特征点p(x,y)为中心,创建一个局部窗口w,如果窗口w向任意方向的微小移动都导致图像灰度的明显变化,则认为该点是图像的一个特征点,定义图像亮度的自相关矩阵为:

上式中为高斯函数,ix和iy分别为图像在x和y方向上的导数。

对图像亮度的自相关矩阵m的特征值进行求解,如果两个特征值λ1、λ2足够大,则该点被检测为图像的特征点。harris对特征点定义了响应函数如下:

r=det(m)-k(trace(m))2>tr

其中,det(m)=λ1λ2为矩阵m的秩,trace(m)=λ1+λ2为矩阵m的特征值之和,k为给定的常数,通常取值在0.4-0.6范围内,本实施例中k取0.04。当图像上的像素点的r值大于给定的某个阈值tr时,则认为该点是图像的特征点。

设左右图像的harris特征点集分别为cl={ci|i=1,…,n}和cr={cj|j=1,…,n},其对应的特征值为rl(ci)、rr(ci)。则当两图中的两特征点满足以下条件时即可认为这两个特征点的特征值匹配:

|rl(ci)-rr(cj)|≤δ

上式中δ为允许误差,用以抑制噪声等干扰对特征点值带来的影响。

对通过上述步骤获得的匹配点集进行视差求解,通过对特征点的位置判断,综合某一区域a内所有特征点ci的视差d获取该区域的视差搜索范围d(a)。

s4采用改进的滑动窗口方法计算各尺度图像像素间匹配代价,具体为:

判断像素点i是否位于图像边缘上,如果是,则该像素点为中心像素点,对其八邻域中的点进行区域判别,按照区域的优先级别,只计算优先级高的区域内像素点的匹配代价,得到最优值;将边缘像素的八邻域中的点划分为单连通域、多连通域、其他区域,优先顺序为单连通域>多连通域>其他区域。

如果不是图像边缘,则通过s3得到视差搜索范围,设定匹配代价计算时的窗口大小,进一步求解匹配代价。

滑动窗口法的中心思想是取图像对的像素点的周围n*n大小的领域,分别以这个领域中的所有点为中心,使用窗口法得到n*n个匹配代价中的最优值作为最终的匹配代价。本实例中对该方法加以改进,如示意图3所示,针对边缘像素点,取n=3,对八邻域中的点进行区域判别,按单连通域、多连通域、其他区域的优先级进行有效区域的选择,只计算高优先级区域内像素点的匹配代价,从中选取最优值,这样可以有效减小由于景深突变造成的边缘处匹配精度下降。针对非边缘像素点,通过对像素点位置的判断确定窗口的大小,进而求解匹配代价。

如图3所示,这个图假设边缘线的左上方区域是优先级较高的区域,然后只对该区域内六个像素点的信息进行处理。

如图4所示,s5采用正则化约束下的多尺度的代价聚合函数计算视差搜索范围内的各视差值对应的聚合代价,选择最小聚合代价所对应的视差值作为像素视差值;

针对某一尺度下的图像对,有如下的匹配代价聚合模型:

可采用上述模型用以求解当前像素点i的最小匹配代价c。其中,l为未知的视差变量,j是以像素i为中心的窗口n内的其他像素点,z为整体代价,k(i,j)为一可以体现i,j两点间相似程度的核函数,在这里我们采用经典算法doublebp中采用的代价聚合核函数。

针对s个尺度下的多尺度融合的代价聚合,有如下基于正则化约束的代价聚合函数:

上式中,添加正则化项可以增加约束以保持不同尺度下的同一像素的代价一致。对于限定的低纹理区域设定较大的正则化因子能有效的降低误匹配率,获得更准确的视差结果。

对每个像素点,选择视差搜索范围内使得融合匹配代价最小的值作为该像素的视差值。

s6通过遍历原始图像像素得到稠密视差图。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1