CN113808203A - 一种基于lk光流法与orb-slam2的导航定位方法 - Google Patents
一种基于lk光流法与orb-slam2的导航定位方法 Download PDFInfo
- Publication number
- CN113808203A CN113808203A CN202110958599.XA CN202110958599A CN113808203A CN 113808203 A CN113808203 A CN 113808203A CN 202110958599 A CN202110958599 A CN 202110958599A CN 113808203 A CN113808203 A CN 113808203A
- Authority
- CN
- China
- Prior art keywords
- optical flow
- frame
- orb
- slam2
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000003287 optical effect Effects 0.000 title claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims abstract 2
- 230000004807 localization Effects 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 abstract description 6
- 238000009795 derivation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于LK光流法与ORB‑SLAM2的导航定位方法,该方法在ORB‑SLAM2前加入基于GPU的LK光流算法,根据光流追踪特征点的数量,作为当前帧是否为关键帧的判断条件,并且对于非关键帧,不会进入ORBSLAM2的三个线程,阻止了非关键帧提取特征点和后续的计算,从而加快ORBSLAM2对Tracking线程处理,增强了算法的实时性,而且并不影响其鲁棒性,适用于汽车的自动驾驶和AGV物流小车的定位与导航。
Description
技术领域
本发明涉及SLAM技术,尤其涉及一种基于LK光流法与 ORB-SLAM2的导航定位的方法。
背景技术
ORB-SLAM2是一种十分典型的视觉SLAM方案。可使用单目,双目和RGB-D相机作为传感器。系统使用ORB特征进行追踪、建图和位置识别任务,ORB特征具有旋转不变性和尺度不变性的优点。且在使用时能够迅速的提取特征和进行匹配,能够满足实时操作的一般需求,可在基于词袋的位置识别过程中,显示出良好的精度,满足商用以及民用的日常活动。
但是,ORB-SLAM2算法对于数据帧的处理是非常耗时的,该算法会将传入的每一个数据帧进行特征提取与特征皮配。众所周知,特征提取与特征匹配是非常耗时的,最终结果,这会影响该算法的实时性,使得在某些需要快速反应的场合不适用。
所以亟需一种改进方法,能够解决ORB-SLAM2算法对每一个数据帧进行特征匹配与特征提取的问题。目前,改进ORB-SLAM2 算法实时性都是在改变它的特征提取与特征匹配的方式方法,尤其是改变特征提取的速度居多,但最后在应用方面略显一般。
发明内容
本文发明了一种基于LK光流法与ORB-SLAM2的导航定位算法,来增强了现有技术的的实时性。
为了实施上述的目的,本文本文采取了以下技术方案:
步骤一,实时的采集图像数据的数据帧;
步骤二,在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)上的光流。
为了获取数据帧的特征点数,光流法追踪特征点包括以下步骤:
1)把第一帧图像作为KeyFrame,并提取ORB特征点p;
2)利用GPU加速的光流法对点p跟踪到下一帧的p’;
3)利用GPU加速的光流法对点p跟踪到上一帧的p1;
4)计算p与p1的像素距离;
5)利用p跟踪到p’的跟踪状态,p’到p1的跟踪状态,p与p1 之间的像素距离,综合判断从p到p’是否一个准确的跟踪。
由基于GPU的LK光流法追踪特征点,与阈值相对比,低于阈值特征点数量的数据帧被丢弃,不在进入到算法的三个线程中去。其中,所属的空间保持一致性,不能出现位置的突变与空间跳跃,使得检测的当前帧特征点与上一帧的特征点无法对应。LK光流法追踪的特征点速度与转动时角速适中,保证像素不会因为这两个因素发生显著的变化。
相机产生的位姿最后通过当前帧中所获得的点云地图进行优化,尽可能使当前帧与局部地图更多的匹配点对,使相机产生的位姿更加的准确可靠。关键帧插入时,添加一个关键帧节点,检查与该节点有共同的云点的其他关键帧,边线连接后,更新生成树与该节点有最多共享点的其他关键帧的链接,计算表示该关键帧的词袋,利用三角法生成点云地图。
步骤三,关键帧进入到ORB-SLAM2的Trackering,localmapping,loopclosing三个线程,实现ORB-SLAM2原有的功能,完成算法的定位。但是,阈值可以根据实际情况进行微调,但算法必须始终保持只有一个相同的阈值。
步骤四,由PCL(Point Cloud Library)软件处理RGB-D图像计算来的点云数据据,根据LK光流法选取的关键帧对应的相机位姿与根点云数据创建局部稠密点云地图,对局部稠密点云地图进行点云拼接,得到全局稠密点云地图。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明基于GPU的LK流光法的原理图;
图2是本发明实基于LK光流法与ORB-SLAM2的导航定位算法流程图;
图3是本发明采用KITTI数据集验证的算法精度的误差轨迹对比图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本文发明了一种基于LK光流法与ORB-SLAM2的导航定位算法,来增强了现有技术的的实时性。
本文本文采取了以下技术方案:
步骤一,实时的采集图像数据的数据帧;
步骤二,在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)上的光流。
如图1所示为基于GPU的LK流光法的原理图,为了获取数据帧的特征点数,光流法追踪特征点包括以下步骤:
1)把第一帧图像作为KeyFrame,并提取ORB特征点p;
2)利用GPU加速的光流法对点p跟踪到下一帧的p’;
3)利用GPU加速的光流法对点p跟踪到上一帧的p1;
4)计算p与p1的像素距离;
5)利用p跟踪到p’的跟踪状态,p’到p1的跟踪状态,p与p1 之间的像素距离,综合判断从p到p’是否一个准确的跟踪。
如图2所示为基于LK光流法与ORB-SLAM2的导航定位算法流程图,由基于GPU的LK光流法追踪特征点,根据步骤一追踪到特征点的数量与阈值相对比,低于阈值特征点数量的数据帧被丢弃,不在进入到算法的三个线程中去。其中,所属的空间保持一致性,不能出现位置的突变与空间跳跃,使得检测的当前帧特征点与上一帧的特征点无法对应。LK光流法追踪的特征点速度与转动时角速适中,保证像素不会因为这两个因素发生显著的变化。
相机产生的位姿最后通过当前帧中所获得的点云地图进行优化,尽可能使当前帧与局部地图更多的匹配点对,使相机产生的位姿更加的准确可靠。关键帧插入时,添加一个关键帧节点,检查与该节点有共同的云点的其他关键帧,边线连接后,更新生成树与该节点有最多共享点的其他关键帧的链接,计算表示该关键帧的词袋,利用三角法生成点云地图。
步骤三,关键帧进入到ORB-SLAM2的Trackering,localmapping, loopclosing三个线程,实现ORB-SLAM2原有的功能,完成算法的定位。但是,阈值可以根据实际情况进行微调,但算法必须始终保持只有一个相同的阈值。
步骤四,由PCL(Point Cloud Library)软件处理RGB-D图像计算来的点云数据据,根据LK光流法选取的关键帧对应的相机位姿与根点云数据创建局部稠密点云地图,对局部稠密点云地图进行点云拼接,得到全局稠密点云地图。
KITTI数据集是用来评估计算机视觉算法性能的开源数据集。该数据集包括了22个数据,图像的分辨率为1240*376。本文采用绝对平移的均方根误差(AbsoluteTrajectory Error,ATE)来评价本算法的精度。
如图3所示为采用KITTI数据集验证的算法精度的误差轨迹对比图。本文算法在提高传统技术的实时性的同时,保证了算法原有的精度,而且还略微提高了一些。
Claims (8)
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’到p1的跟踪状态,p与p1之间的像素距离,综合判断从p到p’是否一个准确的跟踪。
3.如权利要求1所述的一种基于LK光流法与ORB-SLAM2的导航定位方法,其特征在于,所述判断是否为关键帧的过程包括如下步骤:
步骤一,由基于GPU的LK光流法追踪特征点;
步骤二,根据步骤一追踪到特征点的数量与阈值相对比;
步骤三,低于阈值特征点数量的数据帧被丢弃,不在进入到方法的三个线程中去;
步骤四,高于阈值特征点数量的数据帧,会被当做关键帧,进入到方法,并以此进行相应的计算。
4.如权利要求3所述的一种基于LK光流法与ORB-SLAM2的导航定位方法,其特征在于,阈值根据实际情况进行微调,但方法必须始终保持只有一个相同的阈值。
5.如权利要求1所述的一种基于LK光流法与ORB-SLAM2的导航定位方法,其特征在于,LK光流法追踪的特征点速度与转动时角速适中,且不会突变,保证像素不会因为这两个因素发生显著的变化。
6.如权利要求3所述的一种基于LK光流法与ORB-SLAM2的导航定位方法,其特征在于,所述的空间保持一致性,不能出现位置的突变与空间跳跃,使得检测的当前帧特征点与上一帧的特征点无法对应。
7.如权利要求1所述的一种基于LK光流法与ORB-SLAM2的导航定位方法,其特征在于,相机产生的位姿最后通过当前帧中所获得的点云地图进行优化,尽可能使当前帧与局部地图更多的匹配点对,使相机产生的位姿更加的准确可靠。
8.如权利要求1所述的一种基于LK光流法与ORB-SLAM2的导航定位方法,其特征在于,关键帧插入时,添加一个关键帧节点,检查与该节点有共同的云点的其他关键帧,边线连接后,更新生成树与该节点有最多共享点的其他关键帧的链接,计算表示该关键帧的词袋,利用三角法生成点云地图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110958599.XA CN113808203B (zh) | 2021-08-20 | 2021-08-20 | 一种基于lk光流法与orb-slam2的导航定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110958599.XA CN113808203B (zh) | 2021-08-20 | 2021-08-20 | 一种基于lk光流法与orb-slam2的导航定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113808203A true CN113808203A (zh) | 2021-12-17 |
CN113808203B CN113808203B (zh) | 2024-04-26 |
Family
ID=78941564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110958599.XA Active CN113808203B (zh) | 2021-08-20 | 2021-08-20 | 一种基于lk光流法与orb-slam2的导航定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113808203B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115962783A (zh) * | 2023-03-16 | 2023-04-14 | 太原理工大学 | 掘进机截割头的定位方法及掘进机 |
CN117523461A (zh) * | 2024-01-08 | 2024-02-06 | 南京航空航天大学 | 一种基于机载单目相机的运动目标跟踪与定位方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110501017A (zh) * | 2019-08-12 | 2019-11-26 | 华南理工大学 | 一种基于orb_slam2的移动机器人导航地图生成方法 |
CN111707281A (zh) * | 2020-06-30 | 2020-09-25 | 华东理工大学 | 一种基于光度信息和orb特征的slam系统 |
CN112446885A (zh) * | 2020-11-27 | 2021-03-05 | 广东电网有限责任公司肇庆供电局 | 一种动态环境下基于改进的语义光流法的slam方法 |
CN112509044A (zh) * | 2020-12-02 | 2021-03-16 | 重庆邮电大学 | 一种基于点线特征融合的双目视觉slam方法 |
-
2021
- 2021-08-20 CN CN202110958599.XA patent/CN113808203B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110501017A (zh) * | 2019-08-12 | 2019-11-26 | 华南理工大学 | 一种基于orb_slam2的移动机器人导航地图生成方法 |
CN111707281A (zh) * | 2020-06-30 | 2020-09-25 | 华东理工大学 | 一种基于光度信息和orb特征的slam系统 |
CN112446885A (zh) * | 2020-11-27 | 2021-03-05 | 广东电网有限责任公司肇庆供电局 | 一种动态环境下基于改进的语义光流法的slam方法 |
CN112509044A (zh) * | 2020-12-02 | 2021-03-16 | 重庆邮电大学 | 一种基于点线特征融合的双目视觉slam方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115962783A (zh) * | 2023-03-16 | 2023-04-14 | 太原理工大学 | 掘进机截割头的定位方法及掘进机 |
CN117523461A (zh) * | 2024-01-08 | 2024-02-06 | 南京航空航天大学 | 一种基于机载单目相机的运动目标跟踪与定位方法 |
CN117523461B (zh) * | 2024-01-08 | 2024-03-08 | 南京航空航天大学 | 一种基于机载单目相机的运动目标跟踪与定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113808203B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | RDS-SLAM: Real-time dynamic SLAM using semantic segmentation methods | |
CN110389348B (zh) | 基于激光雷达与双目相机的定位与导航方法及装置 | |
CN111258313B (zh) | 多传感器融合slam系统及机器人 | |
CN109345588B (zh) | 一种基于Tag的六自由度姿态估计方法 | |
CN110097553B (zh) | 基于即时定位建图与三维语义分割的语义建图系统 | |
CN110782494A (zh) | 一种基于点线融合的视觉slam方法 | |
CN114862949B (zh) | 一种基于点线面特征的结构化场景视觉slam方法 | |
CN108615246B (zh) | 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 | |
CN110570453B (zh) | 一种基于双目视觉的闭环式跟踪特征的视觉里程计方法 | |
CN112419497A (zh) | 基于单目视觉的特征法与直接法相融合的slam方法 | |
CN112560684B (zh) | 车道线检测方法、装置、电子设备、存储介质以及车辆 | |
CN113808203A (zh) | 一种基于lk光流法与orb-slam2的导航定位方法 | |
CN110349212B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN112101160B (zh) | 一种面向自动驾驶场景的双目语义slam方法 | |
CN110570474B (zh) | 一种深度相机的位姿估计方法及系统 | |
CN114549549B (zh) | 一种动态环境下基于实例分割的动态目标建模跟踪方法 | |
CN112541423A (zh) | 一种同步定位与地图构建方法和系统 | |
CN114662587A (zh) | 一种基于激光雷达的三维目标感知方法、装置及系统 | |
Zhu et al. | Fusing panoptic segmentation and geometry information for robust visual slam in dynamic environments | |
Mu et al. | Visual navigation features selection algorithm based on instance segmentation in dynamic environment | |
CN115937449A (zh) | 高精地图生成方法、装置、电子设备和存储介质 | |
CN113011212B (zh) | 图像识别方法、装置及车辆 | |
CN113888603A (zh) | 基于光流跟踪和特征匹配的回环检测及视觉slam方法 | |
CN114111817A (zh) | 基于slam地图与高精度地图匹配的车辆定位方法及系统 | |
Fang et al. | Direct Monocular Visual Odometry Based on Lidar Vision Fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |