一种基于ORB特征的视觉SLAM方法技术

技术编号:21141721 阅读:16 留言:0更新日期:2019-05-18 05:20
本发明专利技术涉及一种基于ORB特征的视觉SLAM方法,属于计算机视觉机技术领域。本发明专利技术采用基于ORB特征的视觉SLAM方法,在前端环节通过改变传统的SIFT特征提取算法,采用实时性和鲁棒性更好的ORB特征提取算法,并利用汉明距进行特征匹配判断,大大地减少运算量,减少了计算所需硬件资源。在后端环节,遵循图优化的思想,设计了一种非线性的优化方法,提出一种基于局部回环和全局回环相结合的点云优化算法,能够完成对摄像机的位姿和产生的稠密点云图进行优化。最终不仅提高了整体视觉SLAM的实时性,也提高了回环检测的鲁棒性。

【技术实现步骤摘要】
一种基于ORB特征的视觉SLAM方法
本专利技术属于计算机视觉
,具体涉及一种基于ORB特征的视觉SLAM方法。
技术介绍
SLAM(Simultaneouslocalizationandmapping),即时定位与地图构建技术已经成为目前增强现实研究领域的研究热点。这种技术是通过运动物体自身的传感器获取运动信息,并在过程中同时计算自身的位姿信息和构建环境地图。而在用增强现实技术进行设备维修指导的应用中,存在一些问题:一是对环境地图构建速度慢;二是当视线脱离设备再次回来时候会出现目标对准移位的情况。总体来说是由于设备维修时所用的移动头戴设备硬件资源相对通用计算机来说计算能力不足,资源受限。而且在增强现实
中与移动机器人领域不同,使用的主体是人,因而导致获取信息的摄像头运动更加灵活快速,自由度更加复杂多变。而且设备所处的环境中往往有复杂的纹理和光照,所以要改进传统的移动机器人领域的视觉SLAM方法。从而满足在增强现实
的实时性和精确度要求。传统移动机器人领域中的视觉SLAM技术可以分为前端处理和后端优化,前端处理通常是确定关键帧,然后比较关键帧的特征匹配进而增量式地计算出移动机器人的当前位姿与前后位姿的相对运动。后端优化部分则是通过非线性优化方法去修正前端处理过程中的累积误差,并可加入回环检测来进一步优化系统的精确性。传统的移动机器人领域中的前端处理环节中用来提取图像特征的复杂度高,实时性很差;后端的优化与回环检测不适合于稠密点云地图。这就需要改进传统的移动机器人领域的视觉SLAM方法。在传统的移动机器人领域的视觉SLAM中,在前端处理环节所提取关键帧的特征算法为SIFT算法,由此所得到特征描述符为128维,从而在关键帧特征匹配所用的时间长,占用了较多的运算资源,从而用到增强现实领域中导致实时性较差。而在传统的回环检测中,方法太极端,大致上分为随机回环或者全局回环。随机回环是针对前面的关键帧序列进行随机的相似性检测,这样虽然可以提高优化的实时性,但是整体回环检测的鲁棒性不高。反之,全局的回环检测要对之前所有关键帧序列都进行相似性检测,这样可以大大提高回环检测的鲁棒性,但是却降低了回环优化的实时性。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何针对增强现实用于装备维修时所需要的实时性和回环检测需求,专利技术一种基于ORB特征的视觉SLAM方法。(二)技术方案为了解决上述技术问题,本专利技术提供了一种基于ORB特征的视觉SLAM方法,包括前端处理环节、后端优化环节;所述前端处理环节是基于ORB特性提取算法和汉明距进行特征匹配,其中采用了ORB特征提取算法,且在特征匹配时采用了汉明距来加速匹配速度;在所述后端优化环节中基于图优化,进行局部与全局结合的回环检测对在前端处理过程中随着运动的累计所得到的累积误差进行减小。优选地,所述前端处理环节分为以下三个阶段:第一阶段:利用改进的FAST算法找出特征点首先,对于关键帧中的每一个像素点f,其灰度设为If,设定一个合适的阈值t:当某两个点的灰度值之差的绝对值大于t时,定义这两个点为不同的点,当该像素点f周围半径r圆周上的像素点中有连续的n个点都和点f不同,则认为点f是一个角点;然后利用Harris角点的度量方法,从FAST特征点中挑选出Harris角点响应值最大的N个特征点,其中Harris角点的响应函数定义为:R=detM-α(traceM)2其中α为常数;det表示矩阵的行列式,trace表示矩阵的迹;Ix表示函数对x的偏导数,Iy表示函数对y的偏导数;第二阶段:利用BRIEF算法来构造特征点的描述子,并用汉明距来匹配特征描述子首先在特征点f’的周围以一定模式选取N个点对,把这N个点对的比较结果组合起来作为描述子,设N个点对为P1(A,B),P2(A,B),P3(A,B),P4(A,B)…PN(A,B),定义操作T,当IA比IB大的时候,T(P(A,B))为1,反之为0,这样对已经选取的点对进行T操作,将得到的结果进行组合,这样就得到了01组合的描述子;同时为了解决特征描述子的旋转不变性的要求,需要建立具有旋转不变的坐标轴,具体方法是取当前特征点为原点,原点与区域灰度形心连线作为X轴,垂直于X轴方向为Y轴,其中区域灰度形心为Q(Qx,Qy),I(x,y)表示对应坐标位置的灰度值,这样当以原点与区域灰度形心连线作为坐标轴时,在不同的旋转角度下以同一取点模式取出来的点是一致的,得到了01组合的描述子之后,需要进行特征点匹配判断,当两幅关键帧上的两个特征点的描述子的相似度大于一定的阈值时,则认为匹配成功,由于特征点的描述子被设计为01序列,因而利用异或求两个描述子的汉明距就可以快速将两个特征描述符进行匹配;第三阶段:用RANSAC算法消除误匹配并进行位姿求解为了消除误匹配项,首先对匹配点进行了初步筛选,筛选标准是对当前所有匹配点的匹配距离进行排列,找出最小的匹配距离,其他匹配距离如果超过最小匹配距离的4倍,表明这两个点的匹配度相对于其他剩下的点相对较差,则过滤掉这些点,然后采取RANSAC算法对匹配的特征点进行一致性检测,最后利用PNP问题求解方法对摄像机的位姿运动进行求解。优选地,n设置为9。优选地,n设置为12。优选地,第一阶段中,不对所有圆周上的点进行测试,而是仅对圆周上等分的四个元素点进行测试,如果不满足有三个元素点与点f相同,那么直接认为点f不是角点。优选地,α取值范围为0.04~0.06。优选地,所述后端优化环节包括以下3个阶段:第一阶段:模型的建立在以kinect为主要的摄像机输入视觉信号的情况下,构建出状态变量和观测方程这两个目标函数:e(xk,yj,zk,j)=zk,j-g(xk,yj)E(X)=∑(k,j)∈Ce(xk,yj,zk,j)TΩkj-1e(xk,yj,zk,j)X*=argminE(X)其中,g()表示观测方程,xk,yj分别表示在第k时刻的摄像机的位姿、当前时刻摄像头所能观测到的第j个路标,zk,j表示两者之间的约束,e(xk,yj,zk,j)表示两个时刻之间的向量误差函数,当它接近于0时,代表累计误差最小,两个时刻完全满足匹配约束,设误差函数e(xk,yj,zk,j)符合高斯分布(0,Ωkj)。当假设噪声是高斯分布之后,可将其等效为一个非线性最小二乘问题;第二阶段:图优化后端优化环节中的第一阶段SLAM模型全部抽象成节点与边,则可以利用图优化工具g2o进行求解,其中节点代表了待优化的变量包括姿势节点和位置节点,边代表了误差项约束条件,包括姿势-位置约束和姿势-姿势约束,姿势-位置约束依赖于相机观测产生的约束,姿势-姿势约束则依赖于系统中局部回环和全局回环检测中产生的约束,进过优化之后可减少前端处理环节中的累积误差,从而得到更加精确的地图;第三阶段:局部和全局结合的回环检测通过动态计算回环帧筛选阈值,确定出高质量匹配的回环帧候选序列,在回环检测结束后,遍历回环帧的候选序列,在当前关键帧与待回环的候选帧之间,进行相似变换矩阵的求解与优化,当回环队列中的某一候选帧通过了相似变换矩阵的求解与优化,那么认为检测到了回环,则结束当前回环帧候选序列的遍历。(三)有益效果本专利技术采用基于ORB特征的视觉SLAM方法本文档来自技高网
...

【技术保护点】
1.一种基于ORB特征的视觉SLAM方法,其特征在于,包括前端处理环节、后端优化环节;所述前端处理环节是基于ORB特性提取算法和汉明距进行特征匹配,其中采用了ORB特征提取算法,且在特征匹配时采用了汉明距来加速匹配速度;在所述后端优化环节中基于图优化,进行局部与全局结合的回环检测对在前端处理过程中随着运动的累计所得到的累积误差进行减小。

【技术特征摘要】
1.一种基于ORB特征的视觉SLAM方法,其特征在于,包括前端处理环节、后端优化环节;所述前端处理环节是基于ORB特性提取算法和汉明距进行特征匹配,其中采用了ORB特征提取算法,且在特征匹配时采用了汉明距来加速匹配速度;在所述后端优化环节中基于图优化,进行局部与全局结合的回环检测对在前端处理过程中随着运动的累计所得到的累积误差进行减小。2.如权利要求1所述的方法,其特征在于,所述前端处理环节分为以下三个阶段:第一阶段:利用改进的FAST算法找出特征点首先,对于关键帧中的每一个像素点f,其灰度设为If,设定一个合适的阈值t:当某两个点的灰度值之差的绝对值大于t时,定义这两个点为不同的点,当该像素点f周围半径r圆周上的像素点中有连续的n个点都和点f不同,则认为点f是一个角点;然后利用Harris角点的度量方法,从FAST特征点中挑选出Harris角点响应值最大的N个特征点,其中Harris角点的响应函数定义为:R=detM-α(traceM)2其中α为常数;det表示矩阵的行列式,trace表示矩阵的迹;Ix表示函数对x的偏导数,Iy表示函数对y的偏导数;第二阶段:利用BRIEF算法来构造特征点的描述子,并用汉明距来匹配特征描述子首先在特征点f’的周围以一定模式选取N个点对,把这N个点对的比较结果组合起来作为描述子,设N个点对为P1(A,B),P2(A,B),P3(A,B),P4(A,B)...PN(A,B),定义操作T,当IA比IB大的时候,T(P(A,B))为1,反之为0,这样对已经选取的点对进行T操作,将得到的结果进行组合,这样就得到了01组合的描述子;同时为了解决特征描述子的旋转不变性的要求,需要建立具有旋转不变的坐标轴,具体方法是取当前特征点为原点,原点与区域灰度形心连线作为X轴,垂直于X轴方向为Y轴,其中区域灰度形心为Q(Qx,Qy),I(x,y)表示对应坐标位置的灰度值,这样当以原点与区域灰度形心连线作为坐标轴时,在不同的旋转角度下以同一取点模式取出来的点是一致的,得到了01组合的描述子之后,需要进行特征点匹配判断,当两幅关键帧上的两个特征点的描述子的相似度大于一定的阈值时,则认为匹配成功,由于特征点的描述子被设计为01序列,因而利用异或求两个描述子的汉明距就可以快速将两个特征描述符进行匹配;第三阶段:用RANSAC算法消除误匹配并进行位姿求解为了消除误匹配项,首先对匹配点进行了初步筛选,筛选标准是对当前所有...

【专利技术属性】
技术研发人员:陈宇翔赵子凯
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1