基于改进SURF算法的双目视觉测量系统研究

2018-08-24 07:49
计算机测量与控制 2018年8期
关键词:图像匹配双目特征向量

(华南理工大学 机械与汽车工程学院,广州 510640)

0 引言

随着当今工业自动化和智能化的不断发展,工业机器人在生产中的地位得到了前所未有的重视。机器视觉定位作为机器人相关技术的一个重要的分支,其准确度的提高成为了研究人员努力的目标和方向。

双目立体测量技术是基于计算机视觉基础发展起来的一项重要的非接触式三维测量技术,因其结构简单,测量范围较大以及较高的测量精度,在生产生活中得到了广泛的应用[1-4],成为机器视觉定位中的一种常用方法。在双目视觉测量系统中,图像匹配过程是对图像特征点的提取和特征点之间的对应过程,匹配的结果对后续的处理至关重要,直接影响了双目视觉测量系统的准确性,因此受到了广泛的关注。SURF(speeded-up robust features)算法是Bay[5]等人在SIFT[6](scale-invariant feature transform)特征检测算法的基础上提出的改进算法,不仅保持了SIFT算法的检测精度,而且缩短了算法的运行时间。由于SURF算法本身缺陷,进行特征点匹配时容易产生特征点对的误匹配,因此许多研究学者也在这方面进行了大量工作。Maresca[7]等将NNDR策略加入经典SURF算法中,提高了匹配精度,不过在去除误匹配的同时也去除大量正确匹配;陈洁[8]等采用基于极线约束几何模型的RANSAC算法剔除经典SURF算法的误匹配,不过由于RANSAC算法对样本进行随机抽样,造成算法实时性较差;韩峰[9]等将基于极线约束的RANSAC改进匹配算法运用到双目视觉测量中,提高了经典SURF算法双目立体视觉测量精度。

在上述研究基础上,提出一种改进SURF算法的图像匹配方法,通过两次匹配点筛选提高匹配精度,并将改进算法与双目视觉测量模型相结合,完成目标定位测距。通过实验证明,改进方法在准确性和实时性上均有较好表现,应用改进SURF算法的双目视觉测量系统也可达到较高定位测量精度。

1 双目视觉测量原理

双目视觉测量是通过双目相机采集目标图像对,获取目标点三维坐标的测量方法[10]。模仿人眼的双目结构,根据采集目标图像对计算目标点在左、右图像上的视差(disparity)计算空间目标点的三维信息。图1为双目立体视觉测量原理图,其中Ol-xlylzl为左相机坐标系,Or-xryrzr为右相机坐标系。

对于空间任意一点P点,在左相机成像平面的投影点为Pl,在右相机成像平面的投影点为Pr(Pl与Pr互为对应点)。

图1 双目立体视觉测量原理

通过匹配Pl和Pr的对应关系,根据双目视觉测量系统的定位原理,即式(1)可计算出空间点P在左相机坐标系的空间三维坐标。

(1)

式(1)中,B为左、右相机坐标系在水平方向距离,即双目视觉测量系统的基线距;f为左右相机的镜头焦距参数;cx、cx’分别是左右相机图像中心在光心水平方向上的偏移;cy为左相机的成像平面中心在光心垂直方向上的偏移量;X、Y、Z分别是P点在左相机坐标系下的三维坐标,x、y分别是P点在左图像平面的坐标,d为P点的视差值。其中,基线距B、镜头焦距f,cx、cx’以及cy等参数可通过相机内、外标定获取[11-12]。

2 经典SURF算法匹配原理

经典SURF算法是在图像尺度空间上对局部特征点检测和描述方法,其特征提取结果不受图像旋转、缩放等因素的影响,具有仿射不变性。经典SURF算法一般包括特征检测,主方向确定,特征描述以及特征匹配等4个步骤。

1)特征检测:SURF算法对图像特征点进行特征检测时,利用Hessian矩阵对图像像素点进行判别式求解。针对像素点f(x,y),其Hessian矩阵如式(2)所示,根据判定结果取值将像素点进行分类。当Hessian矩阵判别式取得局部最值时,即判定当前像素点为极值点,由此定位图像特征点位置。

(2)

2)主方向确定:以(1)中确定的特征点为圆心,根据圆心特征点的尺度值S,生成半径为6 S的圆形域。在圆形域内,以60°扇形作为扫描区间,统计扫描区间内所有像素点水平Harr小波特征和垂直Harr小波特征总和。旋转扫描区间,特征点的主方向即为扫描得到最长的方向向量。

3)特征描述:在2)中特征点的主方向确定后,以特征点为中心,沿着特征点主方向建立一个4×4的矩形区域块。矩形区域中每个子区域统计25个像素相对于主方向上的水平和垂直Harr小波特征,分别记做dx和dy。通过对Harr小波特征加权,得到水平方向和垂直方向上加权小波响应值和响应值绝对值,并分别记做∑dx,∑|dx|,∑dy,∑|dy|,每个子区域形成的4维向量记为V:

V={∑dx,∑|dx|,∑dy,∑|dy|}

(3)

由于存在4×4个子区域,因此对每个特征点形成64维的特征描述向量。

3 改进SURF图像匹配算法

采用经典SURF图像匹配算法后可以得到大量特征点和匹配点集,不过由于经典SURF算法自身缺陷以及图像遮挡、背景混乱等原因,匹配点集中会出现较多误匹配点对。在双目视觉测量系统中,若图像匹配过程出现大量误匹配,则会导致视差计算错误,从而影响最终的三维重建精度[13]。

本文的改进算法是在经典SURF图像匹配算法特征点检测及特征向量描述的基础上,首先采用双向特征向量匹配策略对经典SURF算法得到的匹配点集进行初始过滤,接下来采用PROSAC算法根据极线约束模型对初始过滤后的匹配点集进行二次筛选,得到最终的优质匹配集合,算法流程如图2所示。

图2 改进图像匹配算法流程图

3.1 双向特征向量匹配

由于经典SURF算法特征匹配过程是单向的,即只在图像2特征点中寻找图像1中特征点的匹配点,因此匹配点集中会出现较多误匹配点对。对于经典SURF算法的缺陷,采用双向特征向量匹配策略,对图像1和图像2的特征向量进行双向匹配,并对特征向量匹配结果添加一定约束,提高匹配点集的正确率。

首先通过经典SURF图像匹配算法,获取图像1特征向量与图像2特征向量的最近邻距离d1与次近邻距离d2,设置阈值R。若d1与d2的比值小于阈值R,则认为此对匹配点是正确的匹配点对,结果存入点集A1中。

接下来调整匹配顺序,通过经典SURF图像匹配算法得到图像2中特征点在图像1中的匹配点,计算图像2中特征向量与图像1中特征向量的最近邻距离d1′与次近邻距离d2′。若d1′与d2′的比值小于R,则将结果存入点集A2中。

最后将点集A1与点集A2取交集,则得到了双向特征向量初始过滤后的匹配集A,即:

A=A1∩A2

(4)

经过实验验证,当阈值R取值0.4~0.6时,能获得较好误匹配过滤效果。

3.2 PROSAC算法获得最终匹配

PROSAC(Progressive Sample Consensus)算法是由Ondrej Chum[14]等提出的RANSAC(Random Sample Consensus)算法的改进算法。

PROSAC算法和RANSAC算法的目的都是从数据集合中将异常数据筛选出来。RANSAC算法思路是随机抽样选取样本来拟合具体的几何约束模型,满足几何约束模型的样本称为内点,根据样本拟合情况调整几何约束模型参数,往复循环,直到从数据集中筛选中最多内点;PROSAC算法是在RANSAC算法的基础上,对样本拟合顺序做了改进。首先对数据集内样本按照某种标准进行排序,排序靠前的样本可能是正确模型的内点,根据内点样本确定的模型参数越好,几何约束模型调整幅度也越小。因此对于内点概率高的数据集,采用PROSAC算法无论是在鲁棒性还是在时间效率上都要优于采用RANSAC算法。

由于最初的匹配点集经过了双向特征向量匹配步骤的初次筛选,点集内的样本是内点的概率很高,因此非常适合采用PROSAC算法。

本文采用的PROSAC算法是基于极线约束模型,采用基本矩阵作为参数模型,其原理如图3所示。

图3 极线约束原理图

图3中,P为空间中一点,分别在左、右相机成像平面上的成像点为Pl和Pr。空间点P和左右相机光心Ol和Or三点构成的平面称为极平面,Ol和Or的连线与成像平面的交点el和er称为极点,极平面与左右成像平面的交线l1(plel)和l2(prer)都为极线。

由图3可知,根据双目视觉系统图像采集特点,无论P点位置如何改变,其在左成像平面的点Pl一定会通过极线l1,右成像平面的点Pr一定会通过极线l2,所以Pl的对应点一定在l2上,Pr的对应点一定在l1上,这种约束关系就是极线约束。通过基础矩阵F可以将像点Pl和Pr的坐标关系表示出来,即为:

(5)

现将采用PROSAC算法剔除误匹配点对步骤总结如下:

(a)根据经典SURF特征描述距离,对点集A中的匹配点对进行排序;

(b) 根据取样次数t确定假设生成集的大小n,即认为内点在前n中;

(c)从前n中随机抽取7个数据,和第n个数据组成计算样本,根据8点法计算基础矩阵;

(d) 对每个基础矩阵F,计算每对匹配点到各自极线的距离平方和记为D,设定阈值T,将符合D

(e)对步骤(b)~(d)进行循环,若符合终止条件,则结束循环,根据所对应的基础矩阵,剔除误差较大匹配点。

出现以下情况,则算法循环终止:

(a)当最大内点在样本中比例达到或超过设定的阈值时,则算法循环终止;

(b)当M次采样次数后样本中内点数量不再增加,则算法循环终止;

(c)当N次采样次数后,内点的增加没有减少模型的误差和,则算法循环终止。

4 实验及结果分析

为了验证前述改进算法的准确性和采用该算法的双目视觉测量精度,下面进行具体的实验测试。

4.1 实验平台

搭建的实验平台如图4所示。图像采集设备采用两个MicroVision工业摄像头组成双目视觉系统,相机分辨率1280×960,帧率15 fps;平面标定板采用高精度棋盘格型金属平面标定板,格边长30 mm×30 mm,打印精度为±0.01 mm;视觉软件为自主开发,开发环境Visual Studio,开发语言为C++;软件运行环境为Windows7操作系统的计算机,采用Intel(R) Core i3 3210 M CPU @ 2.5 GHz,4 GB内存。

图4 双目视觉测量实验平台

4.2 图像立体匹配实验

为了检验本文改进图像匹配算法,使用双目视觉系统采集的图像对经典SURF图像匹配算法、文献[9]改进算法和本文改进算法进行验证和比较,其匹配结果如图5和表1所示。

图5 图像立体匹配结果

表1 3种算法匹配结果对比

由图5和表1所示,经典SURF得到最多的匹配点对,误匹配现象也非常明显,匹配正确率不高。文献[9]采用了RANSAC算法对经典SURF匹配点集进行了筛选,提高了匹配正确率;本文改进算法由于采用了双向特征向量匹配以及PROSAC算法,因此获得的匹配点对数量较经典SURF算法和文献14算法少,不过由于经过了两次匹配点集的筛选,因此没有出现误匹配的现象,匹配正确率达到100%。匹配时间上,由于本文改进算法和文献[9]改进算法都是在经典SURF特征检测和匹配结果上进行改进,因此算法运行时间都高于经典SURF算法,不过本文改进算法相较文献[9]改进算法,在匹配效果近似的情况下,在算法的运行时间上有了明显的提升,能够更好地满足实时性的需求。

4.3 双目视觉测量定位实验

为了验证本文改进图像匹配算法在双目视觉测量中的测量精度,基于搭建的实验平台进行目标测量实验。

首先采用张氏平面标定法[12]对双目相机单目和立体标定,求取基线距B、镜头焦距f,cx、cx’以及cy等双目系统内、外参数。

固定双目相机及测量目标物体,采集测量目标左、右图像,并分别采用经典SURF算法、文献[9]改进算法和本文改进算法对左、右图像进行图像匹配。根据匹配结果统计所有特征点的图像坐标,并计算其对应特征点的视差值。

通过式(1)计算图像特征点在左相机坐标系下的三维坐标值,对所有特征点深度方向测量距离求取平均值,即可估计为目标物体空间距离,实现对目标物体的深度距离测量。比较3种图像匹配方法测量结果,并和实际距离相比较,分析采用不同匹配算法的双目视觉测量精度。

移动测量目标物体,在不同位置进行对比实验,并将测量值与实际值进行比较,所得实验结果如表2所示。

由表2数据可知,在实测距离500~1 000 mm测距范围内,运用本文改进算法相较于采用经典SURF算法和文献[9]改进算法,双目测量定位结果更准确,而且随着实测距离的增加,本文改进算法的测量精度优势更为明显。

定位结果误差经分析,主要有以下几个来源:

1)相机标定过程产生的误差对深度信息的计算产生影响;

2)图像处理的过程中,提取的特征点的图像坐标精度不够,对视差计算结果造成影响。

3)采用特征点坐标平均值来估计目标物体空间坐标存在一定误差。

5 结束语

针对双目立体测量中所使用的图像匹配算法精度不高的问题,提出了一种基于SURF算法的改进图像匹配方法。该方法首先采用经典SURF算法获取特征点和特征向量;接下来采用双向特征向量匹配原则剔除误匹配点对;最后采用基于极线约束的PROSAC算法对匹配点集进行筛选。同时对经典SURF算法、文献[9]算法和本文改进算法进行了图像匹配对比实验,结果表明本文改进SURF图像匹配算法具有更高的匹配准确性和较好的算法实时性。基于搭建的双目视觉测量实验平台进行测量定位实验,采用本文改进算法可实现更准确的目标测量定位,具有一定工程运用价值。

猜你喜欢
图像匹配双目特征向量
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
采用双目视觉和自适应Kalman滤波的作物行识别与跟踪
霜 降 苏美玲
基于多特征融合的图像匹配研究
基于双目视觉的机器人定位与导航算法
克罗内克积的特征向量
图像匹配及其应用
机械手的双目视觉定位抓取研究
三个高阶微分方程的解法研究
基于机器视觉的液晶屏字符缺陷检测系统设计