一种基于LK光流法与ORB-SLAM2的导航定位方法技术

技术编号:31483317 阅读:17 留言:0更新日期:2021-12-18 12:17
本发明专利技术公开了一种基于LK光流法与ORB

【技术实现步骤摘要】
一种基于LK光流法与ORB

SLAM2的导航定位方法


[0001]本专利技术涉及SLAM技术,尤其涉及一种基于LK光流法与 ORB

SLAM2的导航定位的方法。

技术介绍

[0002]ORB

SLAM2是一种十分典型的视觉SLAM方案。可使用单目,双目和RGB

D相机作为传感器。系统使用ORB特征进行追踪、建图和位置识别任务,ORB特征具有旋转不变性和尺度不变性的优点。且在使用时能够迅速的提取特征和进行匹配,能够满足实时操作的一般需求,可在基于词袋的位置识别过程中,显示出良好的精度,满足商用以及民用的日常活动。
[0003]但是,ORB

SLAM2算法对于数据帧的处理是非常耗时的,该算法会将传入的每一个数据帧进行特征提取与特征皮配。众所周知,特征提取与特征匹配是非常耗时的,最终结果,这会影响该算法的实时性,使得在某些需要快速反应的场合不适用。
[0004]所以亟需一种改进方法,能够解决ORB

SLAM2算法对每一个数据帧进行特征匹配与特征提取的问题。目前,改进ORB

SLAM2 算法实时性都是在改变它的特征提取与特征匹配的方式方法,尤其是改变特征提取的速度居多,但最后在应用方面略显一般。

技术实现思路

[0005]本文专利技术了一种基于LK光流法与ORB

SLAM2的导航定位算法,来增强了现有技术的的实时性。
[0006]为了实施上述的目的,本文本文采取了以下技术方案:
[0007]步骤一,实时的采集图像数据的数据帧;
[0008]步骤二,在ORB

SLAM2计算相机位姿之前,借助基于GPU的 LK光流法,对于t时刻位于(x,y)处的像素,我们设t+dt时刻,它运动到(x+dx,y+dy)处。由于灰度不变,我们有:
[0009]I(x,y,t)=I(x+δx,y+δy,t+δt)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0010]对左边进行泰勒展开,保留一阶项,得:
[0011][0012]后联立上式,等式两边对时间t求导可以得到简化方程:
[0013][0014]两边除以dt,得:
[0015][0016]其中,令u=dx/dt,v=dy/dt。u,v分别为为像素在x轴上运动速度和y轴速度,也是I(x,y)上的光流。
[0017]为了获取数据帧的特征点数,光流法追踪特征点包括以下步骤:
[0018]1)把第一帧图像作为KeyFrame,并提取ORB特征点p;
[0019]2)利用GPU加速的光流法对点p跟踪到下一帧的p


[0020]3)利用GPU加速的光流法对点p跟踪到上一帧的p1;
[0021]4)计算p与p1的像素距离;
[0022]5)利用p跟踪到p

的跟踪状态,p

到p1的跟踪状态,p与p1 之间的像素距离,综合判断从p到p

是否一个准确的跟踪。
[0023]由基于GPU的LK光流法追踪特征点,与阈值相对比,低于阈值特征点数量的数据帧被丢弃,不在进入到算法的三个线程中去。其中,所属的空间保持一致性,不能出现位置的突变与空间跳跃,使得检测的当前帧特征点与上一帧的特征点无法对应。LK光流法追踪的特征点速度与转动时角速适中,保证像素不会因为这两个因素发生显著的变化。
[0024]相机产生的位姿最后通过当前帧中所获得的点云地图进行优化,尽可能使当前帧与局部地图更多的匹配点对,使相机产生的位姿更加的准确可靠。关键帧插入时,添加一个关键帧节点,检查与该节点有共同的云点的其他关键帧,边线连接后,更新生成树与该节点有最多共享点的其他关键帧的链接,计算表示该关键帧的词袋,利用三角法生成点云地图。
[0025]步骤三,关键帧进入到ORB

SLAM2的Trackering,localmapping,loopclosing三个线程,实现ORB

SLAM2原有的功能,完成算法的定位。但是,阈值可以根据实际情况进行微调,但算法必须始终保持只有一个相同的阈值。
[0026]步骤四,由PCL(Point Cloud Library)软件处理RGB

D图像计算来的点云数据据,根据LK光流法选取的关键帧对应的相机位姿与根点云数据创建局部稠密点云地图,对局部稠密点云地图进行点云拼接,得到全局稠密点云地图。
附图说明
[0027]下面将结合附图及实施例对本专利技术作进一步说明,附图中:
[0028]图1是本专利技术基于GPU的LK流光法的原理图;
[0029]图2是本专利技术实基于LK光流法与ORB

SLAM2的导航定位算法流程图;
[0030]图3是本专利技术采用KITTI数据集验证的算法精度的误差轨迹对比图;
具体实施方式
[0031]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0032]本文专利技术了一种基于LK光流法与ORB

SLAM2的导航定位算法,来增强了现有技术的的实时性。
[0033]本文本文采取了以下技术方案:
[0034]步骤一,实时的采集图像数据的数据帧;
[0035]步骤二,在ORB

SLAM2计算相机位姿之前,借助基于GPU的 LK光流法,对于t时刻位于(x,y)处的像素,我们设t+dt时刻,它运动到(x+dx,y+dy)处。由于灰度不变,我们有:
[0036]I(x,y,t)=I(x+δx,y+δy,t+δt)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0037]对左边进行泰勒展开,保留一阶项,得:
[0038][0039]后联立上式,等式两边对时间t求导可以得到简化方程:
[0040][0041]两边除以dt,得:
[0042][0043]其中,令u=dx/dt,v=dy/dt。u,v分别为为像素在x轴上运动速度和y轴速度,也是I(x,y)上的光流。
[0044]如图1所示为基于GPU的LK流光法的原理图,为了获取数据帧的特征点数,光流法追踪特征点包括以下步骤:
[0045]1)把第一帧图像作为KeyFrame,并提取ORB特征点p;
[0046]2)利用GPU加速的光流法对点p跟踪到下一帧的p


[0047]3)利用GPU加速的光流法对点p跟踪到上一帧的p1;
[0048]4)计算p与p1的像素距离;
[0049]5)利用p跟踪到p

的跟踪状态,p
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于LK光流法与ORB

SLAM2的导航定位方法,其特征在于,包括如下步骤:步骤一,实时的采集图像数据的数据帧;步骤二,在ORB

SLAM2计算相机位姿之前,借助基于GPU的LK光流法,在ORB

SLAM2计算相机位姿之前,借助基于GPU的LK光流法,对于t时刻位于(x,y)处的像素,设t+dt时刻,运动到(x+dx,y+dy)处;由于灰度不变,有:I(x,y,t)=I(x+δx,y+δy,t+δt)
ꢀꢀꢀꢀ
(1)对左边进行泰勒展开,保留一阶项,得:后联立上式,等式两边对时间t求导得到简化方程:两边除以dt,得:其中,令u=dx/dt,v=dy/dt;u,v分别为为像素在x轴上运动速度和y轴速度,也是I(x,y)上的光流;根据LK光流追踪到数据帧的特征点数量,来判断是否作为关键帧,非关键帧将会被剔除出去;步骤三,关键帧进入到ORB

SLAM2的Trackering,localmapping,loopclosing三个线程,实现ORB

SLAM2原有的功能,完成方法的定位;步骤四,由PCL软件处理RGB

D图像计算来的点云数据据,根据LK光流法选取的关键帧对应的相机位姿与根点云数据创建局部稠密点云地图,对局部稠密点云地图进行点云拼接,得到全局稠密点云地图。2.如权利要求1所述的一种基于LK光流法与ORB

SLAM2的导航定位方法,其特征在于,所述光流法追踪特征点包括以下步骤:步骤一,把第一帧图像作为KeyFrame,并提取ORB特征点p;步骤二,利用GPU加速的光流法对点p跟踪到下一帧的p

;步骤三,利用GPU加速的光流法对点p跟踪到上一帧的p1;步骤四,计算p与p1的像素距离;步骤五,利用p跟踪到p

的跟踪状态,p...

【专利技术属性】
技术研发人员:康存锋齐慧东
申请(专利权)人:北京工业大学
类型:发明
国别省市:

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

1