李奇敏, 李扬宇
(重庆大学 机械工程学院,重庆 400000)
计算与测试
基于改进SIFT算法的双目视觉距离测量*
李奇敏, 李扬宇
(重庆大学机械工程学院,重庆400000)
针对视觉传感器距离测量中所使用的图像特征匹配算法精度不高、计算量大、实时性差等问题,提出了一种改进尺度不变特征变换(SIFT)图像特征匹配算法,并应用于双目测距系统当中。改进SIFT算法基于简化尺度构造空间,以曼哈顿距离作为最邻近特征点查询中的相似性度量,提高了算法效率。初次匹配之后与随机采样一致算法(RANSAC)结合,剔除误匹配点;基于精度较高的二次匹配点,提取匹配点像素信息进行距离计算,通过测距试验验证算法的可行性。实验结果表明:提出的方法获取目标距离达到较高精度,满足观测设备要求。
双目立体视觉; 摄像机标定; 特征匹配; 测距
相比于超声、激光、红外等主动法测距传感器,视觉传感器具有信息丰富、探测范围广等诸多优点,在移动机器人导航特别是障碍物检测中的应用越来越广泛[1~3]。视觉探测是指通过几个位于物体不同方位的视觉传感器对物体成像,通过视差恢复深度信息的过程[4]。其中双目立体视觉技术通过左、右摄像机提供的图像信息能够比较准确地恢复视场的三维信息,测量方式也更方便、灵活。核心问题是快速准确的成像匹配,指将同一目标在不同时间、不同分辨率、不同光照、不同位姿情况下所获取的图像相对应[5]。
图像匹配问题在很大程度上制约着视觉传感器在机器人领域的应用。不同的匹配方法需要不同的关键特征描述子。在众多的关键特征描述子中,尺度不变特征变换(scale invariant feature transform,SIFT)算子[6]、加速稳健特征(speeded up robust features,SURF算子[7]与定向FAST和旋转BRIEF(oriented FAST and rotated BRIEF,ORB)[8]算子应用较为广泛,具有较好的鲁棒性。SIFT算子具有相对较高的准确性,良好的尺度、旋转、光照等不变特性[9],鲁棒性较高,但是计算复杂,实时性相对较差,直接应用于距离测量效果不佳。
针对移动机器人距离信息获取实时性与准确性的要求,本文基于原始SIFT算法提出了一种改进的SIFT算法,避免了大量的非测距目标特征点与无效计算。将改进的SIFT特征匹配算法与双目视觉模型相结合,完成目标测距。通过试验验证,改进的算法实时性与准确性均有相应提高,测距精度满足移动机器人观测系统要求。
1.1 摄像机成像模型
摄像机成像模型通常涉及到图像坐标系、摄像机坐标系与世界坐标系。根据坐标旋转平移关系,针孔线性成像原理与图像物理坐标与像素坐标变换关系,推导可得
(1)
式中M1为摄像机内参数矩阵;fx,fy分别为u轴和v轴的有效焦距;u0,v0为图像像素平面光学中心;M2为外参数矩阵;R和t为旋转矩阵和平移向量。
1.2 摄像机标定实验流程
摄像机标定实验基于Matlab R2014,采用Bouguet标定工具箱进行。搭建平行双目视觉系统,基线长度为180 mm,分别对左、右摄像头进行单目标定实验。标定流程如下:1)图像采集与图像读取;2)手动提取角点;3)单目标定,通过角点参数,利用标定函数迭代获取内外参数;4)双目标定,利用2台摄像机标定的.mat文件,导入双目标定程序,完成标定。
1.3 摄像机标定实验结果
1.3.1 单目摄像机标定结果
根据标定函数迭代结果,可获得摄像机内外参数的矩阵形式。经过立体校正后左、右摄像机内参数矩阵形式为
1.3.2 双目立体标定结果
对双目立体视觉系统中的两部摄像机分别完成标定后,利用不同模板图片所对应的外参数矩阵计算两个摄像机之间的关系,完成双目立体标定,获得右摄像机相对于左摄像机的旋转和平移关系,立体标定结果:旋转向量为[-0.037 65 0.248 57 0.017 04],平移向量为[-182.960 72 -4.608 52 2.902 60]。
对旋转向量进行罗德里格斯变换(cvRodrigues2函数),即可获得两部摄像机之间的旋转矩阵
平移向量
T=[-182.960 72 -4.608 52 2.902 60]
通过标定的结果可以看出,旋转矩阵R近似于单位矩阵,基本无旋转,符合所建立的平行双目立体视觉模型。从平移向量的X分量可以看出,标定得到两摄像机相距为182.960 72 mm,标定结果与实际距离180 mm较为接近。标定实验给出了摄像机的内、外参数以及三个坐标系之间的关系,为后续匹配与测距工作打下基础。
2.1 原始SIFT算法理论基础
SIFT特征匹配算法[6],即尺度不变性特征匹配算法主要分为特征向量生成与特征向量匹配2个过程。
2.1.1 SIFT特征向量的生成
SIFT特征向量的生成包括以下4个步骤:检测尺度空间极值点、精确定位极值点、指定特征点方向参数和计算生成特征向量[10]。
尺度空间极值检测的主要过程为:在尺度空间内,利用唯一的线性核—高斯核函数建立高斯金字塔。在高斯差分(difference of Gaussian,DOG)金字塔内进行极值检测,最终,可以初步确定特征点的位置及所在尺度。
由于DOG极值检测对噪声和边缘较敏感,因此,空间中检测到局部极值点还要经过进一步的检验才能确定为特征点。精确定位极值点的作用是剔除对比度较低的极值点和不稳定的边缘响应点,获得精确图像局部特征点。
算法建议对每个特征点使用4×4共16个种子点描述,对于一个特征点即可产生128个数据,最终形成128维的SIFT特征向量[11]。
2.1.2 SIFT特征向量的匹配
(2)
式中n为特征向量的维数。
由最近邻特征点距离和次近邻特征点距离的比值确定匹配点,如果比值小于设定阈值则被认为是一对匹配点;否则,剔除该对匹配点。
2.2 改进的SIFT特征匹配算法
1)匹配预处理
图像采集完毕后,对图像进行一系列的预处理操作,降低图像噪声,提高图像质量。通过分析常用的图像平滑方法与相关图像处理试验对比,采用中值滤波与高斯滤波相结合的预处理方法,首先通过中值滤波消除随机噪声,再采用高斯滤波消除高斯噪声。
2)简化尺度构造空间
对传统SIFT算法的尺度空间构造进行了简化,在尺度空间构造时减少高斯金字塔的组数和每组的层数,减少特征点数目,提高算法的实时性。
3)最邻近特征点查询
采用基于改进的KD-tree最近邻搜索算法—BBF最近邻搜索算法,完成特征点搜索。
算法基于所检测的特征点数据集合,构建KD-tree结构。根据最邻近思想,从根部沿着树节点搜索目标点的最近邻特征点。本文以曼哈顿距离作为特征点的相似性度量。二维向量间的曼哈顿距离定义为
d=|x1-x2|+|y1-y2|
(3)
根据定义可知,对于128维描述特征向量,曼哈顿距离相对于欧式距离计算量大幅减少。分别找到特征点P曼哈顿距离最近和次近的两个相邻特征点Q1和Q2,然后计算(P,Q1)和(P,Q2)两组特征描述算子之间距离比值d。如果比值d小于给定的阈值t,则认为匹配成功,接受匹配点对(P,Q1)。跟据后续试验验证,在阈值t为0.5~0.7时效果较好。
4)随机采样一致算法[13]去除误匹配点对
根据该算法思想,认为正确的匹配点对像素坐标满足对极几何约束关系,可采用基础矩阵作为参数模型。根据基础矩阵自由度数目,随机抽取7组匹配点对作为初始点集。
根据7组匹配点对计算初始基础矩阵M,作为特征点数据描述模型。将全体匹配点对代入模型计算,若该匹配点对满足误差度量函数设定阈值t,则该点为模型内点。通过获得的所有内点构成样本模型一致集,并以集合计算更新基础矩阵参数模型。若当前模型内点比率p小于设定比率阈值,则重复上述过程继续迭代,直到p大于设定阈值。返回最优基础矩阵作为描述数据集合的模型,并将满足该最优模型的所有内点对作为二次匹配点对。
2.3 改进算法特征点提取试验
本文以VS2012为仿真环境,基于开源OpenCV库,对改进的SIFT算法编程仿真,进行了SIFT特征点匹配试验。
2.3.1 特征点简化试验
改进SIFT算法,特征点由1 426个减少至27个,时间减少了3.7 s,匹配准确率也得到了极大提高。算法对比结果如表1。算法匹配图像对比如图1。
2.3.2 误匹配点优化试验
将SIFT算法与随机采样一致(random sample consensus,RANSAC)算法集合,初次匹配后进行二次匹配。
表1 2种方法对于图像的匹配数据
图1 SIFT算法匹配
通过近景与远景匹配试验,验证了算法的准确性。近景匹配图像如图2,远景匹配图像如图3。试验匹配数据如表2所示。
图2 SIFT算法近景匹配
从试验结果可以看出:改进的SIFT算法对于近景和远景图像的误匹配点剔除均有良好的效果,保证了特征点的准确性。同时在实时性上相对于原始算法也有一定的提高。
图3 SIFT算法远景匹配
使用方法图像环境匹配点对匹配正确率/%匹配时间/s未引入RANSAC近景3195.52.3匹配算法远景1883.32.1结合RANSAC近景29100.0 1.9匹配算法远景1593.31.7
为验证改进算法的可行性,本文基于搭建的双目视觉系统进行了目标测距试验。
试验在距离双目摄像机不同距离处放置目标物,利用改进算法求出其距离,通过与真实距离对比分析其精度。目标物为平面书籍与圆形水杯,分别模拟平面障碍物与曲面障碍物。实际距离为目标物上最近点至基线中心点距离,由实际测量获取。对于平面障碍物,本文按照相似性度量最小匹配距离与次小匹配距离的比值进行置信度排序,定义目标距离为置信度较高的3个匹配点距离平均值。对于曲面障碍物,定义位于目标上所有匹配点当中的最短距离作为目标距离。
基线中点与目标物距离分别取500~700 mm等5组不同值,以50 mm为梯度间隔。测量数据如表3和表4。
表3 改进SIFT算法距离测量数据(平面目标物)
表4 改进SIFT算法距离测量数据(曲面目标物)
针对不同形状的目标物,不同的测量距离定义能够提高测量精度,但依然存在测量误差。经分析,测量误差主要有以下3点原因:
1)摄像机位置设置偏差。由于摄像机未完全按照所构建数学模型放置,高度方向存在细微偏差,造成结果不准确;
2)图像采集的质量不高,对结果造成影响;
3)摄像机标定的误差对深度信息的求取产生影响。
根据上述数据,测量算法最大误差百分比为2.24 %,满足观测设备的精度要求。但由于摄像机焦距固定,系统仅在某一距离范围内保持较高的测量精度。
提出了一种改进的SIFT算法。算法采取简化尺度空间构造方法,并引入曼哈顿距离作为最近邻搜索算法相似性度量。初次匹配之后与RANSAC算法结合,剔除误匹配点。试验结果表明:改进的SIFT算法具有较高的匹配实时性与准确性,方法获取目标距离可达到较高精度。
[1] 陈奕君.基于多传感器信息融合的机器人避障研究[D].大庆:东北石油大学,2014.
[2] 张 天,杨晨曦,朱 颖,等.多传感器信息融合在四足机器人避障中的应用[J].传感器与微系统,2015,34(5):150-153.
[3] 祝 琨,杨唐文,阮秋琦,等.基于双目视觉的运动物体实时跟踪与测距[J].机器人,2009,31(4):327-334.
[4] 王 宇,刘泓滨,李华文.机器视觉的灾后救援机器人越障系统设计[J].传感器与微系统,2016,35(4):24.
[5] 汪 松.基于SIFT算法的图像匹配方法研究[D].西安:西安电子科技大学,2013.
[6] Lowe D G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[7] Bay H,Ess A,Tuytelaars T,et al.Speeded-up robust features(SURF)[J].Comput VisImage Underst,2008,110:346-359.
[8] Rublee E,Rabaud V,Konolige K,et al.ORB:An efficient alternative to SIFT or SURF[C]∥Proc of the IEEE Int’l Conf on Computer Vision(ICCV),2011:13.
[9] Endres F,Hess J,Sturm J,et al.3D mapping with an RGB-D camera[J].IEEE Transactions on Robotics,2014,30(1):177-187.
[10] 陈爱鸾.基于SIFT算子的双目视觉三维测量技术研究[D].广州:广东工业大学,2015.
[11] 王程冬,程筱胜,崔海华,等.SIFT算法在点云配准中的应用[J].传感器与微系统,2012,31(2):149-152.
[12] 孟 浩,程 康.基于SIFT特征点的双目视觉定位[J].哈尔滨工程大学学报,2009(6):649-652.
[13] Li B,Ming D,Yan W,et al.Image matching based on two-column histogram hashing and improved RANSAC[J].IEEE Geosciences and Remote Sensing Letters,2014,11(8):1433-1437.
BinocularstereodistancemeasurementbasedonimprovedSIFTalgorithm*
LI Qi-min, LI Yang-yu
(CollegeofMechanicalEngineering,ChongqingUniversity,Chongqing400000,China)
Aiming at problems such as low precision,large amount of calculation and poor real-time performance of image feature matching algorithm that used in distance measurement by visual sensor,an improved scale invariant feature transform(SIFT) image feature matching algorithm is proposed and applied to the binocular distance measurement system.In order to improve the efficiency of the algorithm,the improved SIFT algorithm is based on the simplified scale structure space,which takes Manhattan distance as the similarity measurement in the nearest neighbor query.To eliminate mismatching points,the random sample consensus(RANSAC) algorithm is used after first match.Based on the second match points with high precision,the pixel information of match points is extracted to calculate distance,and the feasibility of the algorithm is verified by distance measure experiment.Experimental results show that the distance of target with high precision meets the requirements of observation equipment based on the proposed method.
binocular stereo vision; camera calibration; feature matching; distance measurement
10.13873/J.1000—9787(2017)11—0119—04
TP 391
A
1000—9787(2017)11—0119—04
2016—11—28
国家自然科学基金资助项目(61473051)
李奇敏(1976-),男,博士,副教授,硕士生导师,主要从事机器人技术、计算机图形学研究工作。
李扬宇(1992-),男,壮族,硕士研究生,主要研究领域为计算机视觉、图像处理。