CN112749665A - 一种基于图像边缘特征的视觉惯性slam方法 - Google Patents
一种基于图像边缘特征的视觉惯性slam方法 Download PDFInfo
- Publication number
- CN112749665A CN112749665A CN202110056436.2A CN202110056436A CN112749665A CN 112749665 A CN112749665 A CN 112749665A CN 202110056436 A CN202110056436 A CN 202110056436A CN 112749665 A CN112749665 A CN 112749665A
- Authority
- CN
- China
- Prior art keywords
- visual
- frame
- current frame
- optimization
- image
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000005457 optimization Methods 0.000 claims abstract description 39
- 238000012546 transfer Methods 0.000 claims abstract description 16
- 238000005259 measurement Methods 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims abstract description 10
- 230000033001 locomotion Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 19
- 230000003287 optical effect Effects 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 11
- 230000010354 integration Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 6
- 230000005484 gravity Effects 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 230000009131 signaling function Effects 0.000 claims description 3
- 230000009012 visual motion Effects 0.000 claims description 3
- 238000000844 transformation Methods 0.000 claims description 2
- 238000005286 illumination Methods 0.000 abstract description 5
- 238000013507 mapping Methods 0.000 abstract description 5
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000007613 environmental effect Effects 0.000 abstract description 4
- 238000010276 construction Methods 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000985694 Polypodiopsida Species 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于图像边缘特征的视觉惯性SLAM方法,首先获取经过时间同步的IMU测量数据和相机图像;其次利用Canny算法对相机图像进行边缘特征提取及跟踪,同时对IMU测量数据进行预积分,构建误差传递方程;然后进行视觉惯性联合初始化;再者通过采用具有边缘化策略的滑动窗口进行局部视觉惯性非线性优化及建图;随后判断当前帧是否是关键帧,并构建关键帧序列;最后基于随机蕨词袋进行回环检测,将回环信息加入到滑动窗口进行全局视觉惯性优化及建图。本发明的优势在于,图像边缘具有更多的环境信息,具有更高的精度和信噪比,同时对光照变化的抗干扰能力也较强;融合了视觉和惯性信息,可以在长时间实时定位与建图中保持较高的精度。
Description
技术领域
本发明涉及SLAM技术领域,具体来说涉及一种基于视觉惯性的SLAM方法,更具体地说,涉及一种基于图像边缘特征的视觉惯性SLAM方法。
背景技术
即时定位与建图(Simultaneous Localization and Mapping,SLAM)是当前机器人领域不可或缺的技术,其主要作用是在机器人在未知环境中根据环境信息进行定位,并在定位的基础上实时构建具有全局一致性的地图。用于获取环境信息的传感器多种多样,包括激光雷达、UWB、GPS、视觉传感器等等。视觉传感器由于价格低廉和包含更多环境信息,且与人类的定位相仿,在近年来在工业界和学术界引起较多关注,视觉SLAM因此成为最近的研究热点。
SLAM的基本模块包括前端里程计、后端优化、闭环检测、全局优化四个步骤。视觉SLAM(VSLAM)根据前端里程计采用的方法可以分为基于点线面等特征描述子的特征法和基于原始图像像素的直接法。基于特征的非直接法的VSLAM在低纹理的环境下表现不佳,并且检测子和描述子耗费较长时间,在建图环节,特征点一般具有稀疏的属性,不能很好地代表整体图像,无法充分反映环境信息。基于直接法的VSLAM一般基于图像灰度不变这一强假设,因此受光照和运动模糊影响较大,容易在这些情况下出现失效的情况。
除事件相机外的单目相机、RGB-D相机、结构光相机等视觉传感器在使用过程中都无可避免的存在受运动模糊、光照等外界条件的影响。因此在实际应用中,视觉传感器通常与其他传感器进行多传感器信息融合来提高***鲁棒性。惯性测量单元(IMU)能够测量载体的各向加速度和角速度,能够感受自身的运动,但其中的陀螺仪存在随时间的漂移等无法避免的问题,而视觉传感器几乎不存在漂移,但无法感知自身的运动,两者因此被认为具有天然的互补性,视觉惯性SLAM也因此成为机器人领域的实际应用和学术研究的重点研究方向。
发明内容
本发明的目的在于克服上述现有技术的不足,提出了一种基于图像边缘特征的视觉惯性SLAM方法。
为了实现上述目的,本发明的目的通过以下技术方案实现:
一种基于图像边缘特征的视觉惯性SLAM方法,具体包括以下步骤:
S1获取经过时间同步的IMU测量数据和相机图像;
S2对上述相机图像进行边缘特征提取及跟踪;
S3对上述IMU测量数据进行预积分,构建误差传递方程,计算协方差及其一阶Jacobian;
S4进行视觉惯性联合初始化;
S5将上述视觉惯性信息放置入优化滑动窗口,进行局部视觉惯性非线性优化及建图;
S6对所述当前帧是否是关键帧,并构建关键帧序列;
S7比较所述关键帧序列中的最新关键帧与其他关键帧的相似度,基于随机蕨词袋进行回环检测,将回环信息加入到滑动窗口进行全局视觉惯性优化及建图。
进一步的,所述步骤S1还具体包括以下过程:
S1.1利用硬件连接进行多传感器数据时间同步,通过使用具有外部触发快门功能的相机和具有外部触发输出信号功能的IMU来实现,也可以利用微处理的外部中断来实现两种传感器的时间同步;
S1.2为便于后续的数据处理,在机器人操作***ROS平台上利用消息过滤器进行传感器采集信息时间戳的匹配,可以有效减少由于时间戳不匹配引入的误差。
进一步的,所述步骤S2还包括以下过程:
S2.1将当前获取的图像作为当前帧,使用Canny边缘特征检测算法提取边缘特征,输出边缘像素相关的参数;
S2.2通过计算当前帧与离当前帧最近的关键帧之间的相对运动来实现跟踪,更具体的,通过对齐两帧的边缘特征来实现两帧之间的相对运动的估计,对齐则是将当前帧的边缘特征的像素重投影至另一帧,然后使用距离变换(DT)预计算每个像素到另一帧中最近的边缘的欧氏距离,以此构建残差方程进行非线性优化进行运动估计,从而实现边缘特征的跟踪;
S2.3为加速计算,进一步优化上述距离变换的方式,采用从粗糙到精细的策略,使用迭代权重再分配的非线性优化方法。更具体的,在图像的尺度金字塔内,只显式地计算最高分辨率的一层的距离变换,其他层次的距离变换则通过相机内参从最高层投影到该层来计算,可以在不降低算法的鲁棒性的同时显著提高算法的运行速度。
进一步的,所述步骤S3还包括以下过程:
S3.1对IMU获得的测量值在两帧图像之间的时间间隔对时间积分,并使用数值积分的方法对预积分项进行求解;
S3.2根据上述预积分项构建误差状态传递方程;
S3.3以误差状态传递方程为基础,计算协方差更新方程及其一阶Jacobian;
S3.4进行偏置修正,当IMU的偏置发生细微的变化时,通过误差状态传递一阶近似方程来进行修正,当IMU的偏置发生明显的变化时,则在新的偏置重新计算误差传递,可以有效减少计算Jacobian耗费的时间。
进一步的,所述步骤S4还包括以下过程:
S4.1进行纯视觉运动恢复结构(SfM),利用S2中所述的两帧图像之间的边缘特征像素估计相对运动,计算相对位移和旋转;
S4.2进行视觉惯性配准,进一步的,首先通过连续两帧的运动恢复结构得到的位姿与IMU预积分构建残差方程,对陀螺仪的偏置进行估计;然后进行速度、重力矢量和度量尺度初始化,最后进行重力再优化,为后续的姿态估计提供了较好的初始姿态估计。
进一步的,所述步骤S5还包括以下过程:
S5.1将当前帧及其对应的惯性信息放入优化窗口,构建包含视觉重投影误差和惯性残差方程的联合残差方程,以帧间相对位姿为优化目标,结合Huber鲁棒核函数与联合残差方程构建优化目标函数,利用非线性优化方法求解得到优化后的位姿;
S5.2根据优化后的位姿,更新边缘特征的3D信息,以此建立局部地图;
S5.3为了在优化方面不耗费过多算力,采用边缘化策略使得滑动窗口内的优化变量数量维持在一个适当的水平,具体的,将较早的变量和与当前帧无联系的数据帧移除,在保持滑动窗口内信息可以有效求解位姿的同时,保证了Hessian矩阵的稀疏性。
进一步的,所述步骤6还包括以下过程:
S6.1根据时间间隔判断,关键帧时间间隔较长可能使得帧间的惯性误差较大,因此如果当前帧与上一关键帧的时间间隔超过设定的阈值时,便将当前帧设置为关键帧;
S6.2根据图像中的信息变化,条件一,计算衡量视场内变化的平均平方光流以及用以衡量阻塞的无旋转的平均平方光流,以两者之和大于设定阈值为当前帧增加为关键帧,否则不增加,条件二,边缘重投影数目新增和减少的量大于设定的阈值,根据不同情况选择新增关键帧,使得滑动窗口内的可以维持在一定数量,从而高效地实现位姿估计。
进一步的,所述步骤7还包括以下过程:
S7.1在当前帧下采样的随机图像块中计算Fern描述子;
S7.2计算当前帧的Fern描述子与已经保存的关键帧的Fern描述子的Hamming距离,以此作为两帧之间的相似度,从而以此筛选回环候选帧;
S7.3检测到回环后,估计回环候选帧与当前帧之间的位姿,以视觉信息和惯性信息构建位姿图优化,
相对于现有技术,本发明具有如下优点:
首先,本发明采用的图像中的边缘特征相较于特征点可以包含更多的环境信息,在低纹理环境下依然具有较为丰富的边缘特征,可以进行更为稠密的建图,图像中的边缘具有更高的精度和信噪比,相较于直接法,对光照变化的抗干扰能力也较强;因此,本发明的视觉里程计部分可以在低纹理,光照变化较为明显的环境下正常工作。
其次,本发明在利用视觉传感器图像检出边缘特征的基础上,结合了惯性传感器可以感知自身载体运动的优点,在进行定位时有效地融合了视觉和惯性信息,可以在长时间实时定位与建图中保持较高的精度。
再者,本发明设计了较为合理的关键帧选择策略和基于Fern的闭环检测和验证环节,可以有效地保持后端优化的高效运行,并通过回环检测环节有效地减少***估计位姿的累积误差。
附图说明
图1为本发明的***框图;
图2为本发明进行回环检测的流程图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施案例仅用于解释本发明,并不用于限定本发明。
本发明提供了一种基于图像边缘特征的视觉惯性SLAM方法,实现流程图如图1所示,其流程主要包括以下步骤:
步骤S1获取经过时间同步的IMU测量数据和相机图像,还具体包括以下过程:
S1.1利用硬件连接进行多传感器数据时间同步,通过使用具有外部触发快门功能的相机和具有外部触发输出信号功能的IMU来实现,也可以利用微处理的外部中断来实现两种传感器的时间同步。
相机的种类繁多,有单目相机、双目相机、RGB-D相机、事件相机等诸多门类。优选的,通过内部集成有IMU的RGB-D相机获取周围环境的RGB图像与深度序列图像。
优选的,定义RGB-D相机在时间t的输出的图像包含RGB图像It和深度图Zt,并且深度图和RGB图像已经经过对准和同步,即对于RGB图像中的每个像素都有深度图中对应的深度信息。即对于It中的像素p=(x,y),其对应的深度为Z=Zt(p).
对于世界坐标系下的3D点P以及像素坐标系下的像素p,定义从世界坐标系到像素坐标系的投影函数如下:
定义从像素坐标系下投影到世界坐标系的逆投影函数如下:
优选的,在李群上定义图像帧Fi和Fj的旋转和平移及其对应的李代数。
由此定义计算将第i帧中的像素pi重投影至第j帧的翘曲函数如下:
p'=τ(ξji,pi,Zi(p))=π(Tjiπ-1(pi,Zi(pi))).
S1.2为便于后续的数据处理,在机器人操作***ROS平台上利用消息过滤器进行传感器采集信息时间戳的匹配。
相机的数据的输出频率一般在30Hz左右,IMU的数据输出频率一般在100Hz左右,甚至达到上千赫兹,硬件时间同步使得数据具有大致相同的时钟,但为了便于后续的处理在ROS***将数据再进行对齐,本实施例中,通过搜索距离图像帧最近的IMU数据作为该数据帧的惯性信息。
步骤S2对上述相机图像进行边缘特征提取及跟踪,还包括以下过程:
S2.1将当前获取的图像作为当前帧,使用Canny边缘特征检测算法提取边缘特征,输出边缘像素相关的参数;
S2.2通过计算当前帧与离当前帧最近的关键帧之间的相对运动来实现跟踪,更具体的,通过对齐两帧的边缘特征来实现两帧之间的相对运动的估计,对齐则是将当前帧的边缘特征的像素重投影至另一帧,然后使用距离变换(DT)预计算每个像素到另一帧中最近的边缘的欧氏距离,以此构建残差方程进行非线性优化进行运动估计,从而实现边缘特征的跟踪;
优选的,定义重投影的边缘距离误差方程如下:
Epi=Dj(τ(ξji,pi,Zi(pi))).
其中,Dj记为帧Fj和帧Fi中的边缘像素位置pi之间的距离变换。
定义非线性优化模型如下:
其中,εi为具有有效深度信息的边缘像素点集合,δH为Huber权重函数。
优选的,使用迭代权重再分配的Levenberg-Marquardt方法对上述非线性优化方程进行求解。
S2.3为加速计算,进一步优化上述距离变换的方式,采用从粗糙到精细的策略,使用迭代权重再分配的非线性优化方法。更具体的,在图像的尺度金字塔内,只显式地计算最高分辨率的一层的距离变换,其他层次的距离变换则通过相机内参从最高层投影到该层来计算。
优选的,定义以下递推公式计算尺度金字塔内相邻层次的距离变换:
其中,Np为上一更高精度层次的图像块大小。
步骤S3对上述IMU测量数据进行预积分,构建误差传递方程,计算协方差及其一阶Jacobian,还包括以下过程:
S3.1对IMU获得的测量值在两帧图像之间的时间间隔对时间积分,并使用数值积分的方法对预积分项进行求解;
优选的,对于连续的两个图像帧bk和bk+1,在其时间间隔[tk,tk+1]内具有若干的惯性测量数据,在IMU的偏置估计已知的情况下,在时域上积分如下:
其中,
对于离散时间上的积分,需要利用数值积分的方法进行求解,优选的,使用Euler法进行求解。
S3.2根据上述预积分项构建误差状态传递方程;
根据预积分项推导其动态误差项如下:
S3.3以误差状态传递方程为基础,计算协方差更新方程及其一阶Jacobian;
对于零阶保持离散化,Ft在积分的阶段是恒定的,因此对于给定的时间步长δt,有
Fd=exp(Ftδt),做泰勒级数展开忽略高次项得到Fd≈I+Ftδt。
则离散时间的噪声协方差矩阵为:
由此得到协方差更新方程:
同时一阶Jacobian矩阵通过初始的Jacobian递推得到
Jt+δt=(I+Ftδt)Jt,t∈[k,k+1].
S3.4进行偏置修正,当IMU的偏置发生细微的变化时,通过误差状态传递一阶近似方程来进行修正,当IMU的偏置发生明显的变化时,则在新的偏置下重新计算误差传递。
在上述过程的基础上,得到预积分项的一阶近似方程:
步骤S4进行视觉惯性联合初始化,还包括以下过程:
S4.1进行纯视觉运动恢复结构(SfM),利用S2中所述的两帧图像之间的边缘特征像素估计相对运动,计算相对位移和旋转;
S4.2进行视觉惯性配准,进一步的,首先通过连续两帧的运动恢复结构得到的位姿与IMU预积分构建残差方程,对陀螺仪的偏置进行估计;然后进行速度、重力矢量优化。
优选的,结合陀螺仪预积分项构建以陀螺仪偏置为优化目标的优化方程如下:
由此得到陀螺仪偏置的初始校正值,使用该值更新所有的预积分项。
对于两个连续帧有以下方程:
以此构建量测方程:
通过求解以下最小二乘问题可以得到初始相机坐标系下的重力加速度和载体系的速度。
步骤S5将上述视觉惯性信息放置入优化滑动窗口,进行局部视觉惯性非线性优化及建图包括以下过程:
S5.1将当前帧及其对应的惯性信息放入优化窗口,构建包含视觉重投影误差和惯性残差方程的联合残差方程,以帧间相对位姿为优化目标,结合Huber鲁棒核函数与联合残差方程构建优化目标函数,利用非线性优化方法求解得到优化后的位姿。
优选的,选择优化变量如下:
优选的,结合先验信息以及观测量残差的Mahalanobis范数,以及Huber核函数得到以下最大后验估计:
优选的,在编程中使用Ceres非线性优化库对上述问题进行求解。
S5.2根据优化后的位姿,更新边缘特征的3D信息,以此建立局部地图。
S5.3为了在优化方面不耗费过多算力,采用边缘化策略使得滑动窗口内的优化变量数量维持在一个适当的水平,具体的,将较早的变量和与当前帧无联系的数据帧移除。
步骤S6对所述当前帧是否是关键帧,并构建关键帧序列,还包括以下过程:
S6.1根据时间间隔判断,关键帧时间间隔较长可能使得帧间的惯性误差较大,因此如果当前帧与上一关键帧的时间间隔超过设定的阈值时,便将当前帧设置为关键帧;
优选的,设置当前帧与上一关键帧的时间间隔大于0.5秒,则将当前帧作为关键帧。
S6.2根据图像中的信息变化,条件一,计算衡量视场内变化的平均平方光流以及用以衡量阻塞的无旋转的平均平方光流,以两者之和大于设定阈值为当前帧增加为关键帧,否则不增加,条件二,边缘重投影数目新增和减少的量大于设定的阈值。
定义平均平方光流Cfov,无旋转的平均平方光流Cocc如下:
记边缘重投影数目的新增数量为Nin,减少的数量为Nout。
优选的,上述值符合以下条件之一时,将当前帧作为关键帧。
Cfov+Cocc>1或Nin<2Nout。
步骤S7比较所述关键帧序列中的最新关键帧与其他关键帧的相似度,基于随机蕨词袋进行回环检测,将回环信息加入到滑动窗口进行全局视觉惯性优化及建图,还包括以下过程:
S7.1在当前帧下采样的随机图像块中计算Fern描述子;
定义一个蕨如下所示:
由此得到一帧图像的二进制词向量bF=[f1,f2,f3,...fn]∈Bn。
当定义有多个蕨时:
S7.2计算当前帧的Fern描述子与已经保存的关键帧的Fern描述子的Hamming距离,以此作为两帧之间的相似度,从而以此筛选回环候选帧;
定义Fern描述子的Hamming距离计算公式如下:
对上述非线性代价函数进行优化得到全局优化后的位姿。
需要说明的是上述实施例仅仅是本发明的较佳实施例,并没有用来限定本发明的保护范围,在上述技术方案的基础上做出的等同替换或者替代均属于本发明的保护范围。
Claims (8)
1.一种基于图像边缘特征的视觉惯性SLAM方法,其特征在于,包括以下步骤:
S1、获取经过时间同步的IMU测量数据和相机图像;
S2、对上述相机图像进行边缘特征提取及跟踪;
S3、对上述IMU测量数据进行预积分,构建误差传递方程,计算协方差及其一阶Jacobian;
S4、进行视觉惯性联合初始化;
S5、将上述视觉惯性信息放置入优化滑动窗口,进行局部视觉惯性非线性优化及建图;
S6、对所述当前帧是否是关键帧,并构建关键帧序列;
S7、比较所述关键帧序列中的最新关键帧与其他关键帧的相似度,基于随机蕨词袋进行回环检测,将回环信息加入到滑动窗口进行全局视觉惯性优化及建图。
2.根据权利要求1所述的一种基于图像边缘特征的视觉惯性SLAM方法,其特征在于,所述步骤S1具体包括以下过程:
S1.1利用硬件连接进行多传感器数据时间同步,通过使用具有外部触发快门功能的相机和具有外部触发输出信号功能的IMU来实现;
S1.2为便于后续的数据处理,在机器人操作***ROS平台上利用消息过滤器进行传感器采集信息时间戳的匹配。
3.根据权利要求1所述的一种基于图像边缘特征的视觉惯性SLAM方法,其特征在于,所述步骤S2包括以下过程:
S2.1将当前获取的图像作为当前帧,使用Canny边缘特征检测算法提取边缘特征,输出边缘像素相关的参数;
S2.2通过计算当前帧与离当前帧最近的关键帧之间的相对运动来实现跟踪,通过对齐两帧的边缘特征来实现两帧之间的相对运动的估计,对齐则是将当前帧的边缘特征的像素重投影至另一帧,然后使用距离变换(DT)预计算每个像素到另一帧中最近的边缘的欧氏距离,以此构建残差方程进行非线性优化进行运动估计,从而实现边缘特征的跟踪;
S2.3为加速计算,进一步优化上述距离变换的方式,采用从粗糙到精细的策略,使用迭代权重再分配的非线性优化方法,在图像的尺度金字塔内,只显式地计算最高分辨率的一层的距离变换,其他层次的距离变换则通过相机内参从最高层投影到该层来计算。
4.根据权利要求1所述的一种基于图像边缘特征的视觉惯性SLAM方法,所述步骤S3包括以下过程:
S3.1对IMU获得的测量值在两帧图像之间的时间间隔对时间积分,并使用数值积分的方法对预积分项进行求解;
S3.2根据上述预积分项构建误差状态传递方程;
S3.3以误差状态传递方程为基础,计算协方差更新方程及其一阶Jacobian;
S3.4进行偏置修正,当IMU的偏置发生细微的变化时,通过误差状态传递一阶近似方程来进行修正,当IMU的偏置发生明显的变化时,则在新的偏置重新计算误差传递。
5.根据权利要求1所述的一种基于图像边缘特征的视觉惯性SLAM方法,所述步骤S4包括以下过程:
S4.1进行纯视觉运动恢复结构(SfM),利用S2中所述的两帧图像之间的边缘特征像素估计相对运动,计算相对位移和旋转;
S4.2进行视觉惯性配准,首先通过连续两帧的运动恢复结构得到的位姿与IMU预积分构建残差方程,对陀螺仪的偏置进行估计;然后进行速度、重力矢量和度量尺度初始化,最后进行重力再优化。
6.根据权利要求1所述的一种基于图像边缘特征的视觉惯性SLAM方法,所述步骤S5包括以下过程:
S5.1将当前帧及其对应的惯性信息放入优化窗口,构建包含视觉重投影误差和惯性残差方程的联合残差方程,以帧间相对位姿为优化目标,结合Huber鲁棒核函数与联合残差方程构建优化目标函数,利用非线性优化方法求解得到优化后的位姿;
S5.2根据优化后的位姿,更新边缘特征的3D信息,以此建立局部地图;
S5.3为了在优化方面不耗费过多算力,采用边缘化策略使得滑动窗口内的优化变量数量维持在一个适当的水平,将较早的变量和与当前帧无联系的数据帧移除。
7.根据权利要求1所述的一种基于图像边缘特征的视觉惯性SLAM方法,所述步骤6还包括以下过程:
S6.1根据时间间隔判断,关键帧时间间隔较长可能使得帧间的惯性误差较大,因此如果当前帧与上一关键帧的时间间隔超过设定的阈值时,便将当前帧设置为关键帧;
S6.2根据图像中的信息变化,条件一,计算衡量视场内变化的平均平方光流以及用以衡量阻塞的无旋转的平均平方光流,以两者之和大于设定阈值为当前帧增加为关键帧,否则不增加,条件二,边缘重投影数目新增和减少的量大于设定的阈值。
8.根据权利要求1所述的一种基于图像边缘特征的视觉惯性SLAM方法,所述步骤7包括以下过程:
S7.1在当前帧下采样的随机图像块中计算Fern描述子;
S7.2计算当前帧的Fern描述子与已经保存的关键帧的Fern描述子的Hamming距离,以此作为两帧之间的相似度,从而以此筛选回环候选帧;
S7.3检测到回环后,估计回环候选帧与当前帧之间的位姿,以视觉信息和惯性信息构建位姿图优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056436.2A CN112749665B (zh) | 2021-01-15 | 2021-01-15 | 一种基于图像边缘特征的视觉惯性slam方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056436.2A CN112749665B (zh) | 2021-01-15 | 2021-01-15 | 一种基于图像边缘特征的视觉惯性slam方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749665A true CN112749665A (zh) | 2021-05-04 |
CN112749665B CN112749665B (zh) | 2024-03-19 |
Family
ID=75652141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110056436.2A Active CN112749665B (zh) | 2021-01-15 | 2021-01-15 | 一种基于图像边缘特征的视觉惯性slam方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749665B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240597A (zh) * | 2021-05-08 | 2021-08-10 | 西北工业大学 | 基于视觉惯性信息融合的三维软件稳像方法 |
CN113298796A (zh) * | 2021-06-10 | 2021-08-24 | 西北工业大学 | 一种基于最大后验imu的线特征slam初始化方法 |
CN113639743A (zh) * | 2021-06-29 | 2021-11-12 | 北京航空航天大学 | 一种基于行人步长信息辅助的视觉惯性slam定位方法 |
CN113888639A (zh) * | 2021-10-22 | 2022-01-04 | 上海科技大学 | 基于事件相机与深度相机的视觉里程计定位方法及*** |
WO2023279868A1 (zh) * | 2021-07-07 | 2023-01-12 | 北京字跳网络技术有限公司 | 同步定位与建图初始化方法、装置及存储介质 |
CN116245899A (zh) * | 2022-12-29 | 2023-06-09 | 淮北矿业(集团)有限责任公司物业分公司 | 一种基于Canny边缘的动态视觉里程计方法 |
CN117112043A (zh) * | 2023-10-20 | 2023-11-24 | 深圳市智绘科技有限公司 | 视觉惯性***的初始化方法、装置、电子设备及介质 |
CN117760428A (zh) * | 2024-02-22 | 2024-03-26 | 西北工业大学 | 一种基于多立体视觉惯性紧耦合的自主定位方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180061072A1 (en) * | 2016-08-30 | 2018-03-01 | C3D Augmented Reality Solutions Ltd | Systems and methods for simulatenous localization and mapping |
CN111060115A (zh) * | 2019-11-29 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于图像边缘特征的视觉slam方法及*** |
-
2021
- 2021-01-15 CN CN202110056436.2A patent/CN112749665B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180061072A1 (en) * | 2016-08-30 | 2018-03-01 | C3D Augmented Reality Solutions Ltd | Systems and methods for simulatenous localization and mapping |
CN111060115A (zh) * | 2019-11-29 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于图像边缘特征的视觉slam方法及*** |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240597A (zh) * | 2021-05-08 | 2021-08-10 | 西北工业大学 | 基于视觉惯性信息融合的三维软件稳像方法 |
CN113240597B (zh) * | 2021-05-08 | 2024-04-26 | 西北工业大学 | 基于视觉惯性信息融合的三维软件稳像方法 |
CN113298796B (zh) * | 2021-06-10 | 2024-04-19 | 西北工业大学 | 一种基于最大后验imu的线特征slam初始化方法 |
CN113298796A (zh) * | 2021-06-10 | 2021-08-24 | 西北工业大学 | 一种基于最大后验imu的线特征slam初始化方法 |
CN113639743A (zh) * | 2021-06-29 | 2021-11-12 | 北京航空航天大学 | 一种基于行人步长信息辅助的视觉惯性slam定位方法 |
CN113639743B (zh) * | 2021-06-29 | 2023-10-17 | 北京航空航天大学 | 一种基于行人步长信息辅助的视觉惯性slam定位方法 |
WO2023279868A1 (zh) * | 2021-07-07 | 2023-01-12 | 北京字跳网络技术有限公司 | 同步定位与建图初始化方法、装置及存储介质 |
CN113888639A (zh) * | 2021-10-22 | 2022-01-04 | 上海科技大学 | 基于事件相机与深度相机的视觉里程计定位方法及*** |
CN113888639B (zh) * | 2021-10-22 | 2024-03-26 | 上海科技大学 | 基于事件相机与深度相机的视觉里程计定位方法及*** |
CN116245899B (zh) * | 2022-12-29 | 2024-03-26 | 淮北矿业(集团)有限责任公司物业分公司 | 一种基于Canny边缘的动态视觉里程计方法 |
CN116245899A (zh) * | 2022-12-29 | 2023-06-09 | 淮北矿业(集团)有限责任公司物业分公司 | 一种基于Canny边缘的动态视觉里程计方法 |
CN117112043B (zh) * | 2023-10-20 | 2024-01-30 | 深圳市智绘科技有限公司 | 视觉惯性***的初始化方法、装置、电子设备及介质 |
CN117112043A (zh) * | 2023-10-20 | 2023-11-24 | 深圳市智绘科技有限公司 | 视觉惯性***的初始化方法、装置、电子设备及介质 |
CN117760428A (zh) * | 2024-02-22 | 2024-03-26 | 西北工业大学 | 一种基于多立体视觉惯性紧耦合的自主定位方法 |
CN117760428B (zh) * | 2024-02-22 | 2024-04-30 | 西北工业大学 | 一种基于多立体视觉惯性紧耦合的自主定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112749665B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112749665A (zh) | 一种基于图像边缘特征的视觉惯性slam方法 | |
CN109993113B (zh) | 一种基于rgb-d和imu信息融合的位姿估计方法 | |
CN109307508B (zh) | 一种基于多关键帧的全景惯导slam方法 | |
CN110044354B (zh) | 一种双目视觉室内定位与建图方法及装置 | |
CN111024066B (zh) | 一种无人机视觉-惯性融合室内定位方法 | |
CN111275763B (zh) | 闭环检测***、多传感器融合slam***及机器人 | |
CN111780754B (zh) | 基于稀疏直接法的视觉惯性里程计位姿估计方法 | |
CN109506642B (zh) | 一种机器人多相机视觉惯性实时定位方法及装置 | |
CN111210463B (zh) | 基于特征点辅助匹配的虚拟宽视角视觉里程计方法及*** | |
WO2021035669A1 (zh) | 位姿预测方法、地图构建方法、可移动平台及存储介质 | |
CN111258313A (zh) | 多传感器融合slam***及机器人 | |
CN110726406A (zh) | 一种改进的非线性优化单目惯导slam的方法 | |
CN111561923A (zh) | 基于多传感器融合的slam制图方法、*** | |
CN112649016A (zh) | 一种基于点线初始化的视觉惯性里程计方法 | |
CN111210477B (zh) | 一种运动目标的定位方法及*** | |
CN111780781B (zh) | 基于滑动窗口优化的模板匹配视觉和惯性组合里程计 | |
CN111366153B (zh) | 一种激光雷达与imu紧耦合的定位方法 | |
CN111932674A (zh) | 一种线激光视觉惯性***的优化方法 | |
CN110599545B (zh) | 一种基于特征的构建稠密地图的*** | |
CN111623773B (zh) | 一种基于鱼眼视觉和惯性测量的目标定位方法及装置 | |
CN111609868A (zh) | 一种基于改进光流法的视觉惯性里程计方法 | |
Li et al. | Towards end-to-end learning of visual inertial odometry with an EKF | |
CN116576850B (zh) | 一种位姿确定方法、装置、计算机设备及存储介质 | |
CN113192140A (zh) | 一种基于点线特征的双目视觉惯性定位方法和*** | |
CN116007609A (zh) | 一种多光谱图像和惯导融合的定位方法和计算*** |
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 |