CN107767450B - 一种基于sparse-slam的实时建图方法 - Google Patents
一种基于sparse-slam的实时建图方法 Download PDFInfo
- Publication number
- CN107767450B CN107767450B CN201711045213.6A CN201711045213A CN107767450B CN 107767450 B CN107767450 B CN 107767450B CN 201711045213 A CN201711045213 A CN 201711045213A CN 107767450 B CN107767450 B CN 107767450B
- Authority
- CN
- China
- Prior art keywords
- frame
- initial frame
- image
- feature point
- camera
- 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.)
- Active
Links
Images
Abstract
本发明提供了一种基于sparse‑slam的实时建图方法,包括如下两个并列运行的线程:线程1,跟踪并提取关键帧;线程2,创建并插入点云MAP。本发明的实时建图方法采用两个并列线程,能保证两个线程的实时性,既节省了时间,又尽可能的保留了图像的特征,在保证了算法高效实时的前提下,保留更多的场景信息。
Description
技术领域
本发明涉及一种实时建图方法,尤其是一种基于sparse-slam的实时建图方法。
背景技术
SLAM技术随着最近几年机器人、VR、AR的火爆而为人所知,在传感器、算法、软件、硬件等方向都有不同的进展。SLAM(simultaneous localization and mapping)分为两大功能,定位与建图。其主要解决了当设备(如机器人、VR设备等)来到一个完全陌生的环境时,它需要精准地建立时间和空间的对应关系,并能完美地回答以下一系列问题:我刚才在哪里,现在在哪里?我看到了什么,现在看到的和之前看到的有哪些异同?我过去的行走轨迹是什么?我现在看到的世界是什么样子,和过去相比有怎样的变化?我的轨迹抖吗,我的位置飘吗?我还能跟踪到自己的轨迹吗,如果我丢了应该怎么办?我过去建立的对世界的认识还有用吗?我能在已有世界的抽象里快速对我现在的位置进行定位吗?
建图主要作用是对周边环境的理解,建立周边环境与空间的对应关系,分为dense与sparse两种形式。Dense地图主要用于3D重构、导航、避障等方面,但需要处理的数据量很大,往往需要大量的计算,往往需要GPU的加速,对应用平台依赖性比较大。Sparse地图虽然没法重构出当前场景,但也能得到当前场景中的部分信息,理论上可用于定位与跟踪。因此有必要设计出一种基于sparse-slam的实时建图方法,实现能够在移动端、低配电脑等计算能力比较低的平台实时运行。
发明内容
本发明的目的在于:提供一种基于sparse-slam的实时建图方法,实现能够在移动端、低配电脑等计算能力比较低的平台实时运行。
为了解决上述技术问题,本发明提供了一种基于sparse-slam的实时建图方法,包括如下两个并列运行的线程:
线程1,跟踪并提取关键帧,具体步骤为:
步骤1.1,对输入的初始帧构建N层的图像金字塔,并提取初始帧图像金字塔中的各个特征点,设置包含初始帧图像金字塔以及各个特征点的初始帧KF1;
步骤1.2,对新输入的当前帧构建N层的图像金字塔,并提取当前帧图像金字塔中的各个特征点,再利用SSD算法在当前帧中跟踪初始帧KF1中的各个特征点,SSD算法公式为:
D=∑((Iki-uk)-(Ici-uc))2式中,Iki表示初始帧KF1中第i个特征点的像素值,Ici表示当前帧中第i个特征点的像素值,uk和uc分别表示初始帧KF1中第i个特征点周围图像块的像素均值以及当前帧中第i个特征点周围图像块的像素均值;
步骤1.3,若步骤1.2中SSD算法跟踪成功跟踪到的特征点数量小于M,则返回步骤1.1重新设置初始帧KF1,若成功跟踪到的特征点数量大于M,则将当前帧标记为关键帧KF2;
步骤1.4,根据各个成功跟踪到的特征点,利用相机对极几何模型估算出相机的姿态R和T,R表示关键帧KF2与初始帧KF1之间的旋转矩阵,T表示关键帧KF2与初始帧KF1之间的平移矩阵,将初始帧KF1和关键帧KF2加入到关键帧队列KFS中;
步骤1.5,在点云MAP初始化成功后,将点云MAP映射到当前帧中,并在当前帧中利用SSD算法找出与其对应的二维点,从而利用相机对极几何模型估算出当前相机的姿态R和T,并将当前帧标记为KFi,加入到KFS中;
线程2,创建并插入点云MAP,具体步骤为:
步骤2.1,判断是否创建坐标系,若已创建,转到步骤2.2,否则创建坐标系,即根据关键帧队列KFS中的初始帧KF1建立世界坐标系W,X轴和Y轴方向为初始帧KF1的长和宽方向,Z轴方向为相机指向初始帧KF1的方向;
步骤2.2,遍历关键帧队列KFS中每一个未三角化的KFi,i=2,3,4…,利用对极几何原理将KFi中的二维特征点三角化为三维特征点,再将三维特征点加入到点云MAP中。
作为本发明的进一步限定方案,利用相机对极几何模型估算出相机的姿态R和T的估算公式为:
Pl=R(Pr-T)
(RTPr)T·T×Pl=0
式中,P1和Pr为二幅图像中匹配上的特征点,RT为R的转置,×为叉乘。
作为本发明的进一步限定方案,对输入的初始帧构建N层的图像金字塔的具体步骤为:对每一层图像进行下采样得到上一层的图像,通过N次下采样便可得到N层的图像金字塔。
作为本发明的进一步限定方案,提取初始帧图像金字塔中的各个特征点的具体步骤为:对每一层图像用FAST算法提取图像的角点,将角点作为特征点。
本发明的有益效果在于:利用sparse-slam方法对环境建图,并优化建图过程,使其能在移动端、低配电脑等计算能力比较低的平台实时运行;在提取特征点部分,利用FAST分层提取特征点,只利用图像中有梯度的部分信息,减少计算量;在跟踪部分用SSD算法,且只跟踪最下面两次图像的特征点,而三角化时则三角化分层图像的特征点,这样既节省了时间,又尽可能的保留了图像的特征,在保证了算法高效实时的前提下,保留更多的场景信息。
附图说明
图1为本发明的方法流程图。
具体实施方式
如图1所示,本发明公开的基于sparse-slam的实时建图方法,包括如下两个并列运行的线程:
线程1,跟踪并提取关键帧,具体步骤为:
步骤1.1,对输入的初始帧构建N层的图像金字塔,并提取初始帧图像金字塔中的各个特征点,设置包含初始帧图像金字塔以及各个特征点的初始帧KF1,考虑时间与效果,本实施例中N=4;
步骤1.2,对新输入的当前帧构建N层的图像金字塔,并提取当前帧图像金字塔中的各个特征点,再利用SSD算法在当前帧中跟踪初始帧KF1中的各个特征点,SSD算法公式为:
D=∑((Iki-uk)-(Ici-uc))2
式中,Iki表示初始帧KF1中第i个特征点的像素值,Ici表示当前帧中第i个特征点的像素值,uk和uc分别表示初始帧KF1中第i个特征点周围图像块的像素均值以及当前帧中第i个特征点周围图像块的像素均值,本发明取8*8的图像块;
步骤1.3,若步骤1.2中SSD算法跟踪成功跟踪到的特征点数量小于M,则返回步骤1.1重新设置初始帧KF1,若成功跟踪到的特征点数量大于M,则将当前帧标记为关键帧KF2,本发明中M=50;
步骤1.4,根据各个成功跟踪到的特征点,利用相机对极几何模型估算出相机的姿态R和T,R表示关键帧KF2与初始帧KF1之间的旋转矩阵,T表示关键帧KF2与初始帧KF1之间的平移矩阵,将初始帧KF1和关键帧KF2加入到关键帧队列KFS中;
步骤1.5,在点云MAP初始化成功后,将点云MAP映射到当前帧中,并在当前帧中利用SSD算法找出与其对应的二维点,从而利用相机对极几何模型估算出当前相机的姿态R和T,并将当前帧标记为KFi,加入到KFS中;
线程2,创建并插入点云MAP,具体步骤为:
步骤2.1,判断是否创建坐标系,若已创建,转到步骤2.2,否则创建坐标系,即根据关键帧队列KFS中的初始帧KF1建立世界坐标系W,X轴和Y轴方向为初始帧KF1的长和宽方向,Z轴方向为相机指向初始帧KF1的方向;
步骤2.2,遍历关键帧队列KFS中每一个未三角化的KFi,i=2,3,4…,利用对极几何原理将KFi中的二维特征点三角化为三维特征点,再将三维特征点加入到点云MAP中。
进一步地,利用相机对极几何模型估算出相机的姿态R和T的估算公式为:
Pl=R(Pr-T)
(RTPr)T·T×Pl=0
式中,Pl和Pr为二幅图像中匹配上的特征点,RT为R的转置,×为叉乘。
对输入的初始帧构建N层的图像金字塔的具体步骤为:对每一层图像进行下采样得到上一层的图像,通过N次下采样便可得到N层的图像金字塔。
提取初始帧图像金字塔中的各个特征点的具体步骤为:对每一层图像用FAST算法提取图像的角点,将角点作为特征点。
本发明的方法将建图过程分为两个并发线程,线程一只跟踪图像,检测关键帧,再根据检测的关键帧,提取三维点,构建MAP,且由于构建的是稀疏地图,线程一只是对图像提取特征点,跟踪特征点;线程二根据KFS队列,只三角化特征点。这样能保证两个线程的实时性。
Claims (4)
1.一种基于sparse-slam的实时建图方法,其特征在于,包括如下两个并列运行的线程:
线程1,跟踪并提取关键帧,具体步骤为:
步骤1.1,对输入的初始帧构建N层的图像金字塔,并提取初始帧图像金字塔中的各个特征点,设置包含初始帧图像金字塔以及各个特征点的初始帧KF1;
步骤1.2,对新输入的当前帧构建N层的图像金字塔,并提取当前帧图像金字塔中的各个特征点,再利用SSD算法在当前帧中跟踪初始帧KF1中的各个特征点,SSD算法公式为:
D=∑((Iki-uk)-(Ici-uc))2
式中,Iki表示初始帧KF1中第i个特征点的像素值,Ici表示当前帧中第i个特征点的像素值,uk和uc分别表示初始帧KF1中第i个特征点周围图像块的像素均值以及当前帧中第i个特征点周围图像块的像素均值;
步骤1.3,若步骤1.2中SSD算法跟踪成功跟踪到的特征点数量小于M,则返回步骤1.1重新设置初始帧KF1,若成功跟踪到的特征点数量大于M,则将当前帧标记为关键帧KF2;
步骤1.4,根据各个成功跟踪到的特征点,利用相机对极几何模型估算出相机的姿态R和T,R表示关键帧KF2与初始帧KF1之间的旋转矩阵,T表示关键帧KF2与初始帧KF1之间的平移矩阵,将初始帧KF1和关键帧KF2加入到关键帧队列KFS中;
步骤1.5,在点云MAP初始化成功后,将点云MAP映射到当前帧中,并在当前帧中利用SSD算法找出与其对应的二维点,从而利用相机对极几何模型估算出当前相机的姿态R和T,并将当前帧标记为KFi,加入到KFS中;
线程2,创建并插入点云MAP,具体步骤为:
步骤2.1,判断是否创建坐标系,若已创建,转到步骤2.2,否则创建坐标系,即根据关键帧队列KFS中的初始帧KF1建立世界坐标系W,X轴和Y轴方向为初始帧KF1的长和宽方向,Z轴方向为相机指向初始帧KF1的方向;
步骤2.2,遍历关键帧队列KFS中每一个未三角化的KFi,i=2,3,4...,利用对极几何原理将KFi中的二维特征点三角化为三维特征点,再将三维特征点加入到点云MAP中。
2.根据权利要求1所述的基于sparse-slam的实时建图方法,其特征在于,利用相机对极几何模型估算出相机的姿态R和T的估算公式为:
Pl=R(Pr-T)
(RTPr)T·T×Pl=0
式中,Pl和Pr为二幅图像中匹配上的特征点,RT为R的转置,×为叉乘。
3.根据权利要求1所述的基于sparse-slam的实时建图方法,其特征在于,对输入的初始帧构建N层的图像金字塔的具体步骤为:对每一层图像进行下采样得到上一层的图像,通过N次下采样便可得到N层的图像金字塔。
4.根据权利要求1所述的基于sparse-slam的实时建图方法,其特征在于,提取初始帧图像金字塔中的各个特征点的具体步骤为:对每一层图像用FAST算法提取图像的角点,将角点作为特征点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711045213.6A CN107767450B (zh) | 2017-10-31 | 2017-10-31 | 一种基于sparse-slam的实时建图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711045213.6A CN107767450B (zh) | 2017-10-31 | 2017-10-31 | 一种基于sparse-slam的实时建图方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107767450A CN107767450A (zh) | 2018-03-06 |
CN107767450B true CN107767450B (zh) | 2021-05-28 |
Family
ID=61270230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711045213.6A Active CN107767450B (zh) | 2017-10-31 | 2017-10-31 | 一种基于sparse-slam的实时建图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107767450B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3593198B1 (en) | 2018-03-07 | 2023-03-08 | Magic Leap, Inc. | Visual tracking of peripheral devices |
CN110060282B (zh) * | 2019-03-27 | 2021-06-08 | 东软睿驰汽车技术(沈阳)有限公司 | 一种点云配准的方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732518A (zh) * | 2015-01-19 | 2015-06-24 | 北京工业大学 | 一种基于智能机器人地面特征的ptam改进方法 |
CN105783913A (zh) * | 2016-03-08 | 2016-07-20 | 中山大学 | 一种融合车载多传感器的slam装置及其控制方法 |
CN105865454A (zh) * | 2016-05-31 | 2016-08-17 | 西北工业大学 | 一种基于实时在线地图生成的无人机导航方法 |
CN106052674A (zh) * | 2016-05-20 | 2016-10-26 | 青岛克路德机器人有限公司 | 一种室内机器人的slam方法和系统 |
CN106092104A (zh) * | 2016-08-26 | 2016-11-09 | 深圳微服机器人科技有限公司 | 一种室内机器人的重定位方法及装置 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN106873619A (zh) * | 2017-01-23 | 2017-06-20 | 上海交通大学 | 一种无人机飞行路径的处理方法 |
CN106997614A (zh) * | 2017-03-17 | 2017-08-01 | 杭州光珀智能科技有限公司 | 一种基于深度相机的大规模场景3d建模方法及其装置 |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360718B2 (en) * | 2015-08-14 | 2019-07-23 | Samsung Electronics Co., Ltd. | Method and apparatus for constructing three dimensional model of object |
US20170064287A1 (en) * | 2015-08-24 | 2017-03-02 | Itseez3D, Inc. | Fast algorithm for online calibration of rgb-d camera |
CN107223269B (zh) * | 2016-12-29 | 2021-09-28 | 达闼机器人有限公司 | 三维场景定位方法和装置 |
-
2017
- 2017-10-31 CN CN201711045213.6A patent/CN107767450B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732518A (zh) * | 2015-01-19 | 2015-06-24 | 北京工业大学 | 一种基于智能机器人地面特征的ptam改进方法 |
CN105783913A (zh) * | 2016-03-08 | 2016-07-20 | 中山大学 | 一种融合车载多传感器的slam装置及其控制方法 |
CN106052674A (zh) * | 2016-05-20 | 2016-10-26 | 青岛克路德机器人有限公司 | 一种室内机器人的slam方法和系统 |
CN105865454A (zh) * | 2016-05-31 | 2016-08-17 | 西北工业大学 | 一种基于实时在线地图生成的无人机导航方法 |
CN106092104A (zh) * | 2016-08-26 | 2016-11-09 | 深圳微服机器人科技有限公司 | 一种室内机器人的重定位方法及装置 |
CN106595659A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 城市复杂环境下多无人机视觉slam的地图融合方法 |
CN106873619A (zh) * | 2017-01-23 | 2017-06-20 | 上海交通大学 | 一种无人机飞行路径的处理方法 |
CN106997614A (zh) * | 2017-03-17 | 2017-08-01 | 杭州光珀智能科技有限公司 | 一种基于深度相机的大规模场景3d建模方法及其装置 |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制系统 |
Non-Patent Citations (3)
Title |
---|
3-D Mapping With an RGB-D Camera;Felix Endres 等;《IEEE Transactions on Robotics》;20140228;第30卷(第1期);第177-187页 * |
基于ORB关键帧匹配算法的机器人SLAM实现;艾青林 等;《机电工程》;20160531;第33卷(第5期);第513-520页 * |
面向大尺度场景的单目同时定位与地图构建;刘浩敏 等;《中国科学:信息科学》;20161231;第46卷(第12期);第1748-1761页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107767450A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110631554B (zh) | 机器人位姿的确定方法、装置、机器人和可读存储介质 | |
CN106940704B (zh) | 一种基于栅格地图的定位方法及装置 | |
CN110310333B (zh) | 定位方法及电子设备、可读存储介质 | |
KR102647351B1 (ko) | 3차원의 포인트 클라우드를 이용한 모델링 방법 및 모델링 장치 | |
CN109186606B (zh) | 一种基于slam和图像信息的机器人构图及导航方法 | |
CN110176032B (zh) | 一种三维重建方法及装置 | |
CN110458863B (zh) | 一种基于rgbd与编码器融合的动态slam系统 | |
CN114862949A (zh) | 一种基于点线面特征的结构化场景视觉slam方法 | |
KR20200075727A (ko) | 깊이 맵 산출 방법 및 장치 | |
JP2017528833A (ja) | 第1の座標系と第2の座標系との間の運動を求める方法 | |
Derome et al. | Moving object detection in real-time using stereo from a mobile platform | |
CN112802096A (zh) | 实时定位和建图的实现装置和方法 | |
CN107767450B (zh) | 一种基于sparse-slam的实时建图方法 | |
CN113984068A (zh) | 定位方法、定位装置和计算机可读存储介质 | |
Ruchay et al. | Accurate reconstruction of the 3D indoor environment map with a RGB-D camera based on multiple ICP | |
CN103901885A (zh) | 信息处理方法和信息处理设备 | |
Liu et al. | Accurate real-time visual SLAM combining building models and GPS for mobile robot | |
Jaramillo et al. | 6-DoF pose localization in 3D point-cloud dense maps using a monocular camera | |
US10977810B2 (en) | Camera motion estimation | |
CN115953471A (zh) | 室内场景多尺度矢量图像检索与定位方法、系统及介质 | |
Kim et al. | Image-based localization using prior map database and Monte Carlo Localization | |
CN111583331B (zh) | 用于同时定位和地图构建的方法及装置 | |
Ling et al. | An iterated extended Kalman filter for 3D mapping via Kinect camera | |
CN115761558A (zh) | 一种视觉定位中关键帧确定方法及装置 | |
KR20210087875A (ko) | 희소 포인트 처리 방법 및 장치 |
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 |