一种基于自适应权值滤波的立体视觉匹配方法与流程

文档序号:14715867发布日期:2018-06-16 01:20阅读:258来源:国知局
一种基于自适应权值滤波的立体视觉匹配方法与流程

本发明涉及双目立体视觉匹配方法,具体涉及一种基于自适应权值滤波的立体视觉匹配方法。



背景技术:

智能机器人可通过自身携带的传感器有效获取环境和自身位姿的信息,同时完成环境中障碍物和目标的检测,并且自主规划从起始位置运动到目标位置的路径,从而实现对目标物体进行操作。其本身具有完备的感知、分析、决策和执行等模块,可以像人类一样独立地在环境中从事生产活动。

常用的机器人三维目标检测方法是双目立体视觉方法,其主要有两台摄像机组成。双目摄像机各自的内外参数分别进行标定,然后再利用二者之间的相对位置便可以完成立体视觉校正,在此基础上即可计算匹配点的三维坐标。双目立体视觉方法的准确性依赖于立体视觉匹配技术,立体视觉匹配是指根据对所选特征的相关计算,建立特征间的对应关系,将同一个空间点在两幅图像中的投影点对应起来。其得到的视差图能够恢复出场景的三维轮廓,因此可根据距离远近判断出场景中障碍物的区域。

现有的立体视觉匹配方法为了保证物体的边缘细节,使用双边滤波器进行噪声滤波,再使用滤波后的图像进行匹配,双边滤波器模型主要为空间域和幅值域的高斯核乘积,其滤波的权值表示W(i,j)为:

其中,i和j表示图像坐标,σs和σr表示高斯核函数,Ii和Ij分别表示图像坐标i和j的像素值,上述幅值滤波需要计算区域内所有i点和与其相邻的j点 的差值,如区域内共有n个点,则计算复杂度为O(n2),因此双边滤波器计算复杂度高,效率差,不能保证实时的立体视觉匹配。



技术实现要素:

本发明目的在于解决现有基于双边滤波器的立体视觉匹配方法计算复杂度高,效率差,不能保证实时的立体视觉匹配的问题,提供一种基于自适应权值滤波的立体视觉匹配方法,该方法利用图像局部区域中幅值的相似性,通过分级聚类的算法得到一系列的采样点集,其赋予幅值相似的区域具有较大的权值,反之赋予较小的权值,图像滤波时将图像幅值与每层釆样点集对应权值相乘,然后将所有采样点集的乘积叠加起来得到滤波的结果。

为解决上述技术问题,本发明采用如下的技术方案:

一种基于自适应权值滤波的立体视觉匹配方法,具体包括以下步骤:

S1,匹配代价初始化;

S2,匹配代价自适应滤波叠加;

S3,初始视差图创建;

S4,视差图细化处理。

本发明与现有技术相比具有以下的有益效果:

本发明方案利用图像局部区域中幅值的相似性,通过分级聚类的算法得到一系列的采样点集,其赋予幅值相似的区域具有较大的权值,反之赋予较小的权值,图像滤波时将图像幅值与每层釆样点集对应权值相乘,然后将所有采样点集的乘积叠加起来得到滤波的结果,无需对每个像素的进行双边滤波,提高了算法的计算效率。

附图说明

图1为本发明的一种基于自适应权值滤波的立体视觉匹配方法的流程图。

图2为本发明的聚类生成二叉树的示意图。

图3为本发明的机器手臂避障运动角度示意图。

具体实施方式

参见图1,本发明的一种基于自适应权值滤波的立体视觉匹配方法,包括以下步骤:

S1,匹配代价初始化。利用图像幅值I和梯度信息在局部窗口中的差别初始化左右两幅图像的匹配代价M(u,d),计算公式如下:

其中,α·min[IL(u)-IR(u-d),τ1||]表示颜色幅值的匹配代价, 表示图像梯度的匹配代价,IL表示左图像,IR表示右图像,u表示图像水平方向上的坐标,d表示左右两幅图像的视差值,α为权值,τ1和τ2为截断值。

S2,匹配代价自适应滤波叠加。某像素i点处的幅值I有K组采样点集为{m1i,m2i,...,mKi},则公式1的权值模型可以改写为:

将图像幅值I分级聚类后,在某一个类别n中,像素i与邻域中j点应该具有相似幅值,即mni=mnj。

此时,匹配代价叠加的公式为:

为了将图像中相邻区域具有相似幅值的像素点聚集为一类,在本实施例中使用一种分级聚类算法用以生成公式3中的K组采样点集。其具体的步骤如下:

(1)计算第一级采样点集m1

设原始图像幅值表示为I,在该图像上进行高斯滤波,则每一个像素i得到的 第一级采样点m1i表示为:

其中,k表示图像区域Ni内与像素点i相邻的点,则Iik为k点对应的图像幅值。

(2)计算第n级(1≤n≤K)采样点mni的两个幅值类别C+和C-

将原始图像I上每一个像素i的灰度值与上一级采样点mn-1,i相减,得到相应的差值xi表示为:

xi=Ii-mn-1,i (6)

由这些差值向量xi,构成该图像的协方差矩阵可以表示为:

其中,N为图像像素的总数,u为差值向量xi的均值,即

然后计算图像幅值的最优分类面Rn,其等于协方差矩阵公式7最大特征值对应的特征向量,将最优分类面Rn和向量xi,相乘,即可根据结果P的正负号得到两类点集,分别用C+和C-来表示如下:

(3)根据聚类集合C+和C-计算第n(1≤n≤K)级采样点mni

根据上一步得到的聚类区域C+,将其与某一i像素领域Ni内相交的像素集合k∈(Ni∩C+)的基础上,利用带有权值的滤波公式即可以得到采样点如下:

其中,权值wnk表示为同理,可以得到聚类区域C+的采样点

(4)重复第(2)、(3)步,直至第K级采样点mK结束。

参见图2,根据上述四个步骤,可得由K级釆样点集构成一棵高度为H(K=2H-1)的二叉树型结果。每一级的分裂节点都可以分成两个子类,并以此不断递归运算之后可将整幅图像划分为不同的聚类区域,每个区域中具有相似的幅值。

S3,初始视差图创建。根据滤波后的代价函数公式5,寻找匹配代价最小值所对应的视差值构成的视差图D如下:

其中,L为时差总数,根据公式10遍历整副图像已获得完整的视差图。

S4,视差图细化处理。经过S3步骤后,视差图仍存在错误匹配的点,因为其结果仅以左边图像为基准寻找右边的匹配点,而没有经过一致性约束的检验。在此本实施例将采用一种视差图细化处理手段,得到更好的视差效果。

(1)利用同样的方式获得以右边图像为基准的视差图,然后结合左边的视差图,利用左右一致性约束条件将视差图像素分为稳定的区域S和待细化的区域U。

(2)构建一个新的视差图集合DSV,分别统计稳定区域和待细化区域像素点的视差值,如下所示:

其中,d表示图像的视差值,对于视差图集合内同一个视差值d的像素采用均值过滤,再加上待细化区域的视差值便可以得到视差图细化之后的结果。

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