CN108615246A - 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 - Google Patents
提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 Download PDFInfo
- Publication number
- CN108615246A CN108615246A CN201810356282.7A CN201810356282A CN108615246A CN 108615246 A CN108615246 A CN 108615246A CN 201810356282 A CN201810356282 A CN 201810356282A CN 108615246 A CN108615246 A CN 108615246A
- Authority
- CN
- China
- Prior art keywords
- frame
- matchbuf
- dimensional point
- indicate
- 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
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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- 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/10016—Video; Image sequence
Abstract
本发明公开了一种提高视觉里程计系统鲁棒性和降低算法计算消耗的方法,包括:步骤1:采用视觉里程计系统,通过图像传感器采集图像,获得帧p,初始化MatchBufp为空集合;步骤2:判定MatchBufp‑1是否为空,如是,设置相机位姿Twc为0,执行步骤6,如否,执行步骤3;步骤3:计算帧p‑1与帧p之间的相对位姿Tlc;步骤4:计算帧p在地图中的相机位姿Twc p,并构建MatchBufp;步骤5:更新FilterBuf,并判定帧p是否为关键帧;步骤6:构建新的关键帧Knew,并加入到SetK中;步骤7:使用特征匹配初始化新的三维点。本发明基于图像传感器的实时地图构建和自定位系统,该系统在实现精确鲁棒的构图和定位的同时,减小系统计算资源消耗。
Description
技术领域
本发明涉及基于视觉的运动估计技术领域,具体涉及一种提高视觉里程计系统鲁棒性和降低算法计算消耗的方法。
背景技术
VO(Visual Odometry)系统是使用图像传感器作为信息采集工具,进行实时地图构建和自定位的系统。VO是指视觉里程计,视觉里程计VO的目标是根据拍摄的图像估计相机的运动,通过分析一系列图像序列,来确定机器人的朝向和位置。视觉里程计VO主要用于移动机器人的定位导航。
VO系统根据原理的不同具体可以分为以下三类:
(1)直接法。不需要提取特征点,通常使用所有像素点或者像素梯度值大于某一阈值的像素点进行图像间的匹配。该类方法不需要提取图像特征点,以及计算特征点的描述子,因而通常消耗的计算资源较小。然而因为该类方法使用像素灰度值作为图像匹配依据,因而对于环境光照变化鲁棒性差。典型方法如:LSD_SLAM(Large-ScaleDirect MonocularSLAM,基于单目直接法的大场景实时定位和地图构建),DSO(Direct Sparse Odometry,基于直接法和稀疏点的视觉里程计)等。
(2)半直接法。该类方法需要提取特征点,不需要计算特征点的描述子。通常使用快速的特征点提取算法,例如FAST(Features from Accelerated Segment Test)算子。使用以特征点为中心的N*N像素块进行图像匹配。鲁棒性相对于直接法有一些提高,由于特征点的数量较少,因而计算效率相比于直接法也有一些提高。典型方法如:SVO(Semi-DirectVisual Odometry,基于半直接法的视觉里程计)等。
(3)间接法(即特征点法)。该类方法针对每一幅图像提取特征点,并针对每个特征点计算描述子。以描述子的相似度作为特征点匹配的依据,完成图像间的匹配。该类方法计算效率底,然而对于环境变化的鲁棒性最好。该类方法虽然计算效率低,然而鲁棒性好,所以目前应用较广泛。典型方法如:ORB_SLAM(基于ORB(Oriented FAST and Rotated BRIEF)特征的视觉定位和地图构建)等。
为了节省计算资源,同时获得较好的鲁棒性,本文所述方法将半直接法与间接法结合,完成构建基于关键帧和三维点的拓扑地图,从而同时节约计算资源,并获得更好的鲁棒性。
发明内容
本发明所要解决的技术问题是:针对现有的VO方法存在的问题,提出半直接法与间接法融合的VO系统,提供了一种提高视觉里程计系统鲁棒性和降低算法计算消耗的方法,基于图像传感器(单目,双目或者多目,目是指VO系统中的相机个数,例如单目是指VO系统中只有一个相机)的实时地图构建和自定位系统,该系统在实现精确鲁棒的构图和定位的同时,减小系统计算资源消耗。
本发明所述地图包括关键帧集合与三维点集合 Nk,NM分别表示两个集合的元素数目。K1表示关键帧集合SetK中第1个关键帧,表示关键帧集合SetK中第Nk个关键帧,Kik表示关键帧集合SetK中第ik个关键帧,关键帧Kik包含{I,Twc,SetF},包含ik时刻相机采集到的图像I,相机位姿Twc(包含3×3旋转矩阵Rwc和3×1平移矩阵twc)和具有Nf个元素的特征集合Fi={xi,yi,si,Di,mi},其中xi,yi表示第i个特征点在图像上的坐标,si表示该特征点的评分值,由特征点提取算法计算得到,Di表示该点的描述子,由描述子计算算法得到,mi∈{SetM,-1}表示特征点Fi对应的三维点,mi的取值为-1或者M∈SetM,若mi为-1,表示Fi在集合SetM中不存在对应的三维点。M1表示三维点集合SetM中第1个三维点,Mim表示三维点集合SetM中第im个三维点,表示三维点集合SetM中第NM个三维点。三维点Mim,包含{X,Y,Z,SetObs},具有空间位置信息(X,Y,Z)和观测集合Oi={ki,ti},ki∈SetK,O0={k0,t0},k0∈SetK,k0为生成三维点Mim的关键帧,为生成三维点Mim的特征点,t0为Mim在关键帧k0中对应的特征标号,ti为Mim在关键帧ki中对应的特征标号,即表示Mim对应于中的第ti个特征。所述生成是指已知k0位姿坐标和深度由相机投影关系可以得到Mim的空间位置(Xim,Yim,Zim),进而初始化三维点Mim。基于Graph的VO地图表示方法通常采用上述模式,在此不再赘述。
本发明所示MatchBufp为MatchBufp下标p表示图像序列标号,其中,Buf包含信息(x,y,m,D),m∈SetM,已知生成m的特征点为F={xF,yF,sF,DF,mF},则m即为mF,D为DF,x,y表示三维点m在帧p中的坐标。Bufi包含信息(xi,yi,mi,Di),mi为集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子。
本发明所示FilterBuf为DFilteri即为SVO中的深度滤波器,在此不再赘述。SVO论文为现有技术,具体可参照文献“基于半直接法的单目视觉里程计”(C.Forster,M.Pizzoli,and D.Scaramuzza.SVO:Fast semidirectmonocular visual odometry.In International Conference on Robotics andAutomation(ICRA),2014.)。
本发明采用的技术方案如下:
一种提高视觉里程计系统鲁棒性和降低算法计算消耗的方法,包括以下步骤:
步骤1:采用视觉里程计系统,通过图像传感器采集图像,获得帧p,初始化MatchBufp为空集合,MatchBufp下标p表示图像序列标号;
步骤1中,图像传感器采用单目、双目或多目;
MatchBufp为MatchBufp下标p表示图像序列标号,其中,Bufi包含信息(xi,yi,mi,Di),mi为三维点集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子;
步骤2:判定MatchBufp-1是否为空,如是,设置相机位姿Twc为0,执行步骤6;如否,执行步骤3;
步骤3:计算帧p-1与帧p之间的相对位姿Tlc;
设置Tlc初始值为0,使用Lucas-Kanade光流算法,迭代优化Tlc,使得MatchBufp-1中的点投影到帧p中得到的灰度值误差最小,从而得到相对位姿Tlc;
步骤3中,Lucas-Kanade光流算法可采用现有技术。
步骤4:计算帧p在地图中的相机位姿Twc p,并构建MatchBufp;
4.1由帧p-1在地图中的相机位姿Twc p-1,以及步骤3中得到的帧p-1与帧p之间的相对位姿Tlc,得到帧p在地图中的相机位姿Twc p:
Twc p=Twc p-1*Tlc
4.2对于Mi∈SetM,判定Mi在帧p中是否可见,将Mi投影到帧p中,得到Mi在帧p中的投影坐标(xp,yp),若(xp,yp)在帧p对应的图像Ip区域内,构建Mi在帧p中的Bufi,生成Mi的关键帧为对应的特征为 表示Mi在图像上的坐标,表示Mi评分值,由特征点提取算法计算得到,表示Mi点的特征描述子,由描述子计算算法得到,表示对应的三维点,若为-1,表示在SetM不存在对应的三维点;以像素为中心,提取n×n像素块,在帧p中,搜索(xmin,ymin),使得|xmin-xp|+|ymin-yp|<ε,ε为设定值,并且灰度差IError最小,如果IError小于设定值Thres,则将加入到MatchBufp。
步骤5:更新FilterBuf,并判定帧p是否为关键帧。
步骤5.1:已知帧p的位姿Twc p和帧p的图像Ip,使用基于半直接法的视觉里程计中(SVO:Fast Semi-Direct Monocular Visual Odometry,V.MAPPING部分)深度滤波器更新算法更新FilterBuf,该部分包含将收敛后的三维点加入到SetM,以及删除无效的DFilteri。
步骤5.2:判定帧p是否为关键帧。
即计算最新的关键帧Knew的位姿与当前帧p的位姿twc P之间的位姿关系。如果大于阈值dist_thres,则帧p为关键帧,继续执行下列步骤,即执行步骤6,否则返回步骤1。norm是一个函数,用于计算向量的模。
步骤6:构建新的关键帧Knew,并加入到SetK中。
6.1提取该帧p图像的特征点和对应的描述子,本发明以FAST(Features fromAccelerated Segment Test)特征点提取算法为例,以BRIEF(BRIEF:Binary RobustIndependent Elementary Features)描述子为例,针对帧p提取相应的点和描述子。所有帧p的特征点与对应的描述子形成集合SetF。对于任意Fi∈SetF,初始mi在集合SetM中无对应点,设置为-1,得到关键帧Knew,并加入到SetK中。
特征集合Fi={xi,yi,si,Di,mi},其中xi,yi表示第i个特征点在图像上的坐标,si表示该特征点的评分值,由特征点提取算法计算得到,Di表示该点的描述子,由描述子计算算法得到,mi∈{SetM,-1}表示特征点Fi对应的三维点,mi的取值为-1或者M∈SetM,若mi为-1,表示Fi在集合SetM中不存在对应的三维点;
6.2更新MatchBufp,所述的MatchBufp为Nbuf为SetBuf中元素的个数,Bufi包含信息(xi,yi,mi,Di),mi为集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子;
对于Bufi∈MatchBufp,遍历Fi∈SetF,在SetF中寻找特征Fmin,满足|xi-xmin|+|yi-ymin|≤r,其中r为给定阈值,且Dis(Di-Dmin)最小,其中Dis()用于度量两个描述子之间的相似程度,返回数值越小表示两个描述子越接近,Di为所述Bufi中的描述子,Dmin表示Fmin对应的描述子。若Fmin可以找到,则更新Bufi,xi=xmin,yi=ymin,Di=Dmin。并将Fmin对应的mmin设置为mi;
6.3构建新的深度滤波器。
6.3.1对于任意Fi∈SetF,若mi≠-1表示特征Fi已经匹配mi∈SetM,则i=i+1,返回步骤6.3.1,否则使用基于半直接法的视觉里程计(SVO:Fast Semi-Direct MonocularVisual Odometry,V.MAPPING部分)方法,针对特征Fi初始化DFilteri,并将DFilteri加入到SetFilter中。
步骤7:使用特征匹配初始化新的三维点。
使用ORB_SLAM及ORB_SLAM2中的方法,将新的关键帧Knew与临近的关键帧使用特征描述子进行匹配,并使用三角测量生成新的三维点mi,并将mi添加到SetM中,返回步骤1。
SVO可采用现有技术,具体可参照文献“基于半直接法的单目视觉里程计”(C.Forster,M.Pizzoli,and D.Scaramuzza.SVO:Fast semidirect monocular visualodometry.In International Conference on Robotics and Automation(ICRA),2014.)。
ORB_SLAM可采用现有技术,如具体可参照文献“ORB_SLAM:一种通用高精度单目视觉SLAM系统”(R.Mur-Artal,J.M.M.Montiel,and J.D.Tardos,“ORB-SLAM:a versatileand accurate monocular SLAM system,”IEEE Transactionson Robotics,vol.31,no.5,pp.1147–1163,2015.)。
ORB_SLAM2可采用现有技术,如具体可参照文献“ORB_SLAM2:一种可用于单目,多目和RGB-D相机的开源视觉SLAM系统”(R.Mur-Artal and J.D.Tardos,“ORB-SLAM2:anOpen-Source SLAM System for Monocular,Stereo and RGB-D Cameras,”IEEETransactionson Robotics,vol.33,no.5,pp.1255–1262,2017.)。
综上所示,由于采用了上述技术方案,本发明的有益效果是:
1、完成了基于视觉的视觉里程计系统,可以通过相机视野的变换得到相机位姿变化。
2、融合了半直接法和间接法,在降低计算资源消耗的同时提升系统的鲁棒性。
3、具有广泛的兼容性。可用于单目,双目,多目以及深度相机系统。
附图说明
图1为本发明中提高视觉里程计系统鲁棒性和降低算法计算消耗的方法的流程示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任意方式组合。
实施例一:
本实施例以机器人车载双目系统为例,并假定该双目系统以及双目系统和机器人之间已经进行标定。打开本系统,并使机器人保持运动状态。
本发明所述地图包括关键帧集合与三维点集合 Nk,NM分别表示两个集合的元素数目。K1表示关键帧集合SetK中第1个关键帧,表示关键帧集合SetK中第Nk个关键帧,Kik表示关键帧集合SetK中第ik个关键帧,关键帧Kik包含{I,Twc,SetF},包含ik时刻相机采集到的图像I,相机位姿Twc(包含3×3旋转矩阵Rwc和3×1平移矩阵twc)和具有Nf个元素的特征集合Fi={xi,yi,si,Di,mi},其中xi,yi表示第i个特征点在图像上的坐标,si表示该特征点的评分值,由特征点提取算法计算得到,Di表示该点的描述子,由描述子计算算法得到,mi∈{SetM,-1}表示特征点Fi对应的三维点,mi的取值为-1或者M∈SetM,若mi为-1,表示Fi在集合SetM中不存在对应的三维点。M1表示三维点集合SetM中第1个三维点,Mim表示三维点集合SetM中第im个三维点,表示三维点集合SetM中第NM个三维点。三维点Mim,包含{X,Y,Z,SetObs},具有空间位置信息(X,Y,Z)和观测集合Oi={ki,ti},ki∈SetK,O0={k0,t0},k0∈SetK,k0为生成三维点Mim的关键帧,为生成三维点Mim的特征点,t0为Mim在关键帧k0中对应的特征标号,ti为Mim在关键帧ki中对应的特征标号,即表示Mim对应于中的第ti个特征。所述生成是指已知k0位姿坐标和深度由相机投影关系可以得到Mim的空间位置(Xim,Yim,Zim),进而初始化三维点Mim。基于Graph的VO地图表示方法通常采用上述模式,在此不再赘述。
本发明所示MatchBufp为MatchBufp下标p表示图像序列标号,其中,Buf包含信息(x,y,m,D),m∈SetM,已知生成m的特征点为F={xF,yF,sF,DF,mF},则m即为mF,D为DF,x,y表示三维点m在帧p中的坐标。Bufi包含信息(xi,yi,mi,Di),mi为集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子。
本发明所示FilterBuf为DFilteri即为SVO中的深度滤波器,在此不再赘述。
如图1所示,一种提高视觉里程计系统鲁棒性和降低算法计算消耗的方法,包括以下步骤:
步骤1:采用视觉里程计系统,通过图像传感器采集图像,获得帧p,初始化MatchBufp为空集合,MatchBufp下标p表示图像序列标号;
步骤1中,图像传感器采用单目、双目或多目;
MatchBufp为MatchBufp下标p表示图像序列标号,其中,Bufi包含信息(xi,yi,mi,Di),mi为三维点集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子;
步骤2:判定MatchBufp-1是否为空,如是,设置相机位姿Twc为0,执行步骤6;如否,执行步骤3;
步骤3:计算帧p-1与帧p之间的相对位姿Tlc;
设置Tlc初始值为0,使用Lucas-Kanade光流算法,迭代优化Tlc,使得MatchBufp-1中的点投影到帧p中得到的灰度值误差最小,从而得到相对位姿Tlc;
步骤3中,Lucas-Kanade光流算法可采用现有技术。
步骤4:计算帧p在地图中的相机位姿Twc p,并构建MatchBufp;
4.1由帧p-1在地图中的相机位姿Twc p-1,以及步骤3中得到的帧p-1与帧p之间的相对位姿Tlc,得到帧p在地图中的相机位姿Twc p:
Twc p=Twc p-1*Tlc
4.2对于Mi∈SetM,判定Mi在帧p中是否可见,将Mi投影到帧p中,得到Mi在帧p中的投影坐标(xp,yp),若(xp,yp)在图像Ip区域内,构建Mi在帧p中的Buf,生成Mi的关键帧为对应的特征为 表示Mi在图像上的坐标,表示Mi评分值,由特征点提取算法计算得到,表示Mi点的特征描述子,由描述子计算算法得到, 表示对应的三维点,若为-1,表示在SetM不存在对应的三维点;以像素为中心,提取n×n像素块,在帧p中,搜索(xmin,ymin),使得|xmin-xp|+|ymin-yp|<ε,并且灰度差IError最小,如果IError小于设定值Thres,则将加入到MatchBufp。
步骤5:更新FilterBuf,并判定帧p是否为关键帧。
步骤5.1:已知帧p的位姿Twc p和帧p的图像,使用基于半直接法的视觉里程计中(SVO:Fast Semi-Direct Monocular Visual Odometry,V.MAPPING部分)深度滤波器更新算法更新FilterBuf,该部分包含将收敛后的三维点加入到SetM,以及删除无效的DFilteri。
步骤5.2:判定帧p是否为关键帧。
即计算最新的关键帧Knew的位姿与当前帧的位姿p twc P之间的位姿关系。如果大于阈值dist_thres,则帧p为关键帧,继续执行下列步骤。否则返回步骤1。
步骤6:构建新的关键帧Knew,并加入到SetK中。
6.1提取该帧p图像的特征点和对应的描述子,本发明以FAST特征点提取算法为例,以BRIEF(BRIEF:Binary Robust Independent Elementar yFeatures)描述子为例,针对帧p提取相应的点和描述子。所有帧p的特征点与对应的描述子形成集合SetF。对于任意Fi∈SetF,初始mi在集合SetM中无对应点,设置为-1。
6.2更新MatchBufp,所述的MatchBufp为Nbuf为SetBuf中元素的个数,Bufi包含信息(xi,yi,mi,Di),mi为集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子;
对于Bufi∈MatchBufp,遍历Fj∈SetF,在SetF中寻找特征Fmin,满足|xi-xmin|+|yi-ymin|≤r,其中r为给定阈值,且Dis(Di-Dmin)最小,其中Dis()用于度量两个描述子之间的相似程度,返回数值越小表示两个描述子越接近,Di为所述Bufi中的描述子,Dmin表示Fmin对应的描述子。若Fmin可以找到,则更新Bufi,xi=xmin,yi=ymin,Di=Dmin。并将Fmin对应的mmin设置为mi。
6.3构建新的深度滤波器。
6.3.1对于任意Fi∈SetF,若mi≠-1表示特征Fi已经匹配mi∈SetM,则i=i+1,返回步骤6.3.1,否则使用基于半直接法的视觉里程计(SVO:Fast Semi-Direct MonocularVisual Odometry,V.MAPPING部分)方法,针对特征Fi初始化DFilteri,并将DFilteri加入到SetFilter中。
步骤7:使用特征匹配初始化新的三维点。
使用ORB_SLAM及ORB_SLAM2中的方法,将新的关键帧Knew与临近的关键帧使用特征描述子进行匹配,并使用三角测量生成新的三维点mi,并将mi添加到SetM中,返回步骤1。
SVO可采用现有技术,具体可参照文献“基于半直接法的单目视觉里程计”(C.Forster,M.Pizzoli,and D.Scaramuzza.SVO:Fast semidirect monocular visualodometry.In International Conference on Robotics and Automation(ICRA),2014.)。
ORB_SLAM可采用现有技术,如具体可参照文献“ORB_SLAM:一种通用高精度单目视觉SLAM系统”(R.Mur-Artal,J.M.M.Montiel,and J.D.Tardos,“ORB-SLAM:a versatileand accurate monocular SLAM system,”IEEE Transactionson Robotics,vol.31,no.5,pp.1147–1163,2015.)。
ORB_SLAM2可采用现有技术,如具体可参照文献“ORB_SLAM2:一种可用于单目,多目和RGB-D相机的开源视觉SLAM系统”(R.Mur-Artal and J.D.Tardos,“ORB-SLAM2:anOpen-Source SLAM System for Monocular,Stereo and RGB-D Cameras,”IEEETransactionson Robotics,vol.33,no.5,pp.1255–1262,2017.)。
Claims (5)
1.一种提高视觉里程计系统鲁棒性和降低算法计算消耗的方法,其特征在于,包括以下步骤:
步骤1:采用视觉里程计系统,通过图像传感器采集图像,获得帧p,初始化MatchBufp为空集合,MatchBufp下标p表示图像序列标号;
步骤2:判定MatchBufp-1是否为空,如是,设置相机位姿Twc为0,执行步骤6,如否,执行步骤3;
步骤3:计算帧p-1与帧p之间的相对位姿Tlc;
设置Tlc初始值为0,使用Lucas-Kanade光流算法,迭代优化Tlc,使得MatchBufp-1中的点投影到帧p中得到的灰度值误差最小,从而得到相对位姿Tlc;
步骤4:计算帧p在地图中的相机位姿Twc p,并构建MatchBufp;
步骤5:更新FilterBuf,并判定帧p是否为关键帧;
步骤5.1:已知帧p的位姿Twc p和帧p的图像,使用基于半直接法的视觉里程计中深度滤波器更新算法更新FilterBuf,该部分包含将收敛后的三维点加入到SetM,以及删除无效的DFilteri;
步骤5.2:判定帧p是否为关键帧;
即计算最新的关键帧Knew的位姿与当前帧p的位姿twc P之间的位姿关系,如果大于阈值dist_thres,则帧p为关键帧,执行步骤6,否则返回步骤1;
步骤6:构建新的关键帧Knew,并加入到SetK中;
6.1提取该帧p图像的特征点和对应的描述子,所有帧p的特征点与对应的描述子形成集合SetF,对于任意Fi∈SetF,初始mi在集合SetM中无对应点,设置为-1,得到关键帧Knew,并加入到SetK中;
6.2更新MatchBufp,所述的MatchBufp为SetBuf Nbuf为SetBuf中元素的个数,Bufi包含信息(xi,yi,mi,Di),mi为集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子;
对于Bufi∈MatchBufp,遍历Fi∈SetF,在SetF中寻找特征Fmin,满足|xi-xmin|+|yi-ymin|≤r,其中r为给定阈值,且Dis(Di-Dmin)最小,其中Dis()用于度量两个描述子之间的相似程度,返回数值越小表示两个描述子越接近,Di为所述Bufi中的描述子,Dmin表示Fmin对应的描述子,若Fmin可以找到,则更新Bufi,xi=xmin,yi=ymin,Di=Dmin,并将Fmin对应的mmin设置为mi;
6.3构建新的深度滤波器;
6.3.1对于任意Fi∈SetF,若mi≠-1表示特征Fi已经匹配mi∈SetM,则i=i+1,返回步骤6.3.1,否则使用基于半直接法的视觉里程计方法,针对特征Fi初始化DFilteri,并将DFilteri加入到SetFilter中;
步骤7:使用特征匹配初始化新的三维点;
将新的关键帧Knew与临近的关键帧使用特征描述子进行匹配,并使用三角测量生成新的三维点mi,并将mi添加到SetM中,返回步骤1。
2.根据权利要求1所述的方法,其特征在于,步骤1中,图像传感器采用单目、双目或多目。
3.根据权利要求1所述的方法,其特征在于,步骤1中,MatchBufp为SetBuf MatchBufp下标p表示图像序列标号,其中,Bufi包含信息(xi,yi,mi,Di),mi为三维点集合SetM中的任意元素,xi,yi表示三维点mi在帧p中的坐标,mi表示三维点,Di表示三维点mi的描述子。
4.根据权利要求1所述的方法,其特征在于,步骤4中,具体包括:
4.1由帧p-1在地图中的相机位姿Twc p-1,以及步骤3中得到的帧p-1与帧p之间的相对位姿Tlc,得到帧p在地图中的相机位姿Twc p:
Twc p=Twc p-1*Tlc
4.2对于Mi∈SetM,判定Mi在帧p中是否可见,将Mi投影到帧p中,得到Mi在帧p中的投影坐标(xp,yp),若(xp,yp)在图像Ip区域内,构建Mi在帧p中的Buf,生成Mi的关键帧为对应的特征为 表示Mi在图像上的坐标,表示Mi评分值,由特征点提取算法计算得到,表示Mi点的特征描述子,由描述子计算算法得到, 表示对应的三维点,若为-1,表示在SetM不存在对应的三维点;以像素为中心,提取n×n像素块,在帧p中,搜索(xmin,ymin),使得|xmin-xp|+|ymin-yp|<ε,并且灰度差IError最小,如果IError小于设定值Thres,则将加入到MatchBufp。
5.根据权利要求1所述的方法,其特征在于,步骤6.1中,采用FAST特征点提取算法提取该帧p图像的特征点,采用以BRIEF描述子提取对应的描述子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810356282.7A CN108615246B (zh) | 2018-04-19 | 2018-04-19 | 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810356282.7A CN108615246B (zh) | 2018-04-19 | 2018-04-19 | 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108615246A true CN108615246A (zh) | 2018-10-02 |
CN108615246B CN108615246B (zh) | 2021-02-26 |
Family
ID=63660524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810356282.7A Active CN108615246B (zh) | 2018-04-19 | 2018-04-19 | 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108615246B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109523589A (zh) * | 2018-11-13 | 2019-03-26 | 浙江工业大学 | 一种更鲁棒的视觉里程计的设计方法 |
CN109816726A (zh) * | 2019-01-29 | 2019-05-28 | 京东方科技集团股份有限公司 | 一种基于深度滤波器的视觉里程计地图更新方法和系统 |
CN109974721A (zh) * | 2019-01-08 | 2019-07-05 | 武汉中海庭数据技术有限公司 | 一种基于高精度地图的视觉回环检测方法和装置 |
CN110375765A (zh) * | 2019-06-28 | 2019-10-25 | 上海交通大学 | 基于直接法的视觉里程计方法、系统及存储介质 |
CN110490222A (zh) * | 2019-07-05 | 2019-11-22 | 广东工业大学 | 一种基于低性能处理器设备的半直接视觉定位方法 |
CN111179162A (zh) * | 2018-11-12 | 2020-05-19 | 北京初速度科技有限公司 | 一种特殊环境下的定位初始化方法及车载终端 |
CN111833402A (zh) * | 2020-06-30 | 2020-10-27 | 天津大学 | 基于暂停信息补充机制的视觉里程计旋转运动处理方法 |
CN111829532A (zh) * | 2019-04-18 | 2020-10-27 | 顺丰科技有限公司 | 一种飞行器重定位系统和重定位方法 |
CN113103232A (zh) * | 2021-04-12 | 2021-07-13 | 电子科技大学 | 一种基于特征分布匹配的智能设备自适应运动控制方法 |
CN113409368A (zh) * | 2020-03-16 | 2021-09-17 | 北京京东乾石科技有限公司 | 建图方法及装置、计算机可读存储介质、电子设备 |
CN114440892A (zh) * | 2022-01-27 | 2022-05-06 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于拓扑地图和里程计的自定位方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809687A (zh) * | 2016-03-08 | 2016-07-27 | 清华大学 | 一种基于图像中边沿点信息的单目视觉测程方法 |
US20170193830A1 (en) * | 2016-01-05 | 2017-07-06 | California Institute Of Technology | Controlling unmanned aerial vehicles to avoid obstacle collision |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
CN107369183A (zh) * | 2017-07-17 | 2017-11-21 | 广东工业大学 | 面向mar的基于图优化slam的跟踪注册方法及系统 |
CN107610175A (zh) * | 2017-08-04 | 2018-01-19 | 华南理工大学 | 基于半直接法和滑动窗口优化的单目视觉slam算法 |
-
2018
- 2018-04-19 CN CN201810356282.7A patent/CN108615246B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170193830A1 (en) * | 2016-01-05 | 2017-07-06 | California Institute Of Technology | Controlling unmanned aerial vehicles to avoid obstacle collision |
CN105809687A (zh) * | 2016-03-08 | 2016-07-27 | 清华大学 | 一种基于图像中边沿点信息的单目视觉测程方法 |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
CN107369183A (zh) * | 2017-07-17 | 2017-11-21 | 广东工业大学 | 面向mar的基于图优化slam的跟踪注册方法及系统 |
CN107610175A (zh) * | 2017-08-04 | 2018-01-19 | 华南理工大学 | 基于半直接法和滑动窗口优化的单目视觉slam算法 |
Non-Patent Citations (1)
Title |
---|
柳杨: "《数字图像物体识别理论详解与实战》", 31 January 2018, 北京邮电大学出版社 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111179162B (zh) * | 2018-11-12 | 2023-10-24 | 北京魔门塔科技有限公司 | 一种特殊环境下的定位初始化方法及车载终端 |
CN111179162A (zh) * | 2018-11-12 | 2020-05-19 | 北京初速度科技有限公司 | 一种特殊环境下的定位初始化方法及车载终端 |
CN109523589B (zh) * | 2018-11-13 | 2021-06-08 | 浙江工业大学 | 一种更鲁棒的视觉里程计的设计方法 |
CN109523589A (zh) * | 2018-11-13 | 2019-03-26 | 浙江工业大学 | 一种更鲁棒的视觉里程计的设计方法 |
CN109974721A (zh) * | 2019-01-08 | 2019-07-05 | 武汉中海庭数据技术有限公司 | 一种基于高精度地图的视觉回环检测方法和装置 |
CN109816726A (zh) * | 2019-01-29 | 2019-05-28 | 京东方科技集团股份有限公司 | 一种基于深度滤波器的视觉里程计地图更新方法和系统 |
CN109816726B (zh) * | 2019-01-29 | 2021-10-01 | 京东方科技集团股份有限公司 | 一种基于深度滤波器的视觉里程计地图更新方法和系统 |
CN111829532B (zh) * | 2019-04-18 | 2022-05-17 | 丰翼科技(深圳)有限公司 | 一种飞行器重定位系统和重定位方法 |
CN111829532A (zh) * | 2019-04-18 | 2020-10-27 | 顺丰科技有限公司 | 一种飞行器重定位系统和重定位方法 |
CN110375765B (zh) * | 2019-06-28 | 2021-04-13 | 上海交通大学 | 基于直接法的视觉里程计方法、系统及存储介质 |
CN110375765A (zh) * | 2019-06-28 | 2019-10-25 | 上海交通大学 | 基于直接法的视觉里程计方法、系统及存储介质 |
CN110490222A (zh) * | 2019-07-05 | 2019-11-22 | 广东工业大学 | 一种基于低性能处理器设备的半直接视觉定位方法 |
CN110490222B (zh) * | 2019-07-05 | 2022-11-04 | 广东工业大学 | 一种基于低性能处理器设备的半直接视觉定位方法 |
CN113409368A (zh) * | 2020-03-16 | 2021-09-17 | 北京京东乾石科技有限公司 | 建图方法及装置、计算机可读存储介质、电子设备 |
CN113409368B (zh) * | 2020-03-16 | 2023-11-03 | 北京京东乾石科技有限公司 | 建图方法及装置、计算机可读存储介质、电子设备 |
CN111833402B (zh) * | 2020-06-30 | 2023-06-06 | 天津大学 | 基于暂停信息补充机制的视觉里程计旋转运动处理方法 |
CN111833402A (zh) * | 2020-06-30 | 2020-10-27 | 天津大学 | 基于暂停信息补充机制的视觉里程计旋转运动处理方法 |
CN113103232A (zh) * | 2021-04-12 | 2021-07-13 | 电子科技大学 | 一种基于特征分布匹配的智能设备自适应运动控制方法 |
CN113103232B (zh) * | 2021-04-12 | 2022-05-20 | 电子科技大学 | 一种基于特征分布匹配的智能设备自适应运动控制方法 |
CN114440892B (zh) * | 2022-01-27 | 2023-11-03 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于拓扑地图和里程计的自定位方法 |
CN114440892A (zh) * | 2022-01-27 | 2022-05-06 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于拓扑地图和里程计的自定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108615246B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108615246A (zh) | 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法 | |
CN108242079B (zh) | 一种基于多特征视觉里程计和图优化模型的vslam方法 | |
CN110070615B (zh) | 一种基于多相机协同的全景视觉slam方法 | |
CN109166149B (zh) | 一种融合双目相机与imu的定位与三维线框结构重建方法与系统 | |
CN109544636A (zh) | 一种融合特征点法和直接法的快速单目视觉里程计导航定位方法 | |
CN106127739B (zh) | 一种结合单目视觉的rgb-d slam方法 | |
Concha et al. | Visual-inertial direct SLAM | |
CN106679648B (zh) | 一种基于遗传算法的视觉惯性组合的slam方法 | |
Engel et al. | Large-scale direct SLAM with stereo cameras | |
CN107025668B (zh) | 一种基于深度相机的视觉里程计的设计方法 | |
CN110945565B (zh) | 利用概率面元地图的密集视觉slam | |
CN111210463B (zh) | 基于特征点辅助匹配的虚拟宽视角视觉里程计方法及系统 | |
CN103400409B (zh) | 一种基于摄像头姿态快速估计的覆盖范围3d可视化方法 | |
CN108682027A (zh) | 基于点、线特征融合的vSLAM实现方法及系统 | |
CN112634451A (zh) | 一种融合多传感器的室外大场景三维建图方法 | |
CN110726406A (zh) | 一种改进的非线性优化单目惯导slam的方法 | |
CN114001733B (zh) | 一种基于地图的一致性高效视觉惯性定位算法 | |
CN107563323A (zh) | 一种视频人脸特征点定位方法 | |
CN111696199A (zh) | 同步定位建图的地空融合精密三维建模方法 | |
CN112419497A (zh) | 基于单目视觉的特征法与直接法相融合的slam方法 | |
CN111998862A (zh) | 一种基于bnn的稠密双目slam方法 | |
Chen et al. | A stereo visual-inertial SLAM approach for indoor mobile robots in unknown environments without occlusions | |
CN109543694A (zh) | 一种基于点特征稀疏策略的视觉同步定位与地图构建方法 | |
Zhao et al. | RTSfM: Real-time structure from motion for mosaicing and DSM mapping of sequential aerial images with low overlap | |
CN104463962B (zh) | 基于gps信息视频的三维场景重建方法 |
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 |