CN110189390A - 一种单目视觉slam方法及*** - Google Patents
一种单目视觉slam方法及*** Download PDFInfo
- Publication number
- CN110189390A CN110189390A CN201910279226.2A CN201910279226A CN110189390A CN 110189390 A CN110189390 A CN 110189390A CN 201910279226 A CN201910279226 A CN 201910279226A CN 110189390 A CN110189390 A CN 110189390A
- Authority
- CN
- China
- Prior art keywords
- frame
- feature
- key frame
- gradient
- key
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种单目视觉SLAM方法及***,涉及计算机视觉中的同步定位与建图领域技术领域,包括如下步骤:从当前输入的图像中获取当前帧,对获取的当前帧进行关键帧筛选,并将当前帧送入帧列队;依次获取帧列队中每一关键帧,对获取的每一关键帧进行初始化、局部地图优化;依次获取帧队列中每一关键帧,对获取的每一关键帧进行点线特征提取,并将点线特征作为种子点送入深度滤波器,深度滤波器遍历种子点,在帧队列中每一帧上对其进行极线搜索、深度滤波,估计点线特征深度,并建立新的地图信息;本发明能够保证较高实时性的同时,建立更有利于导航的点线地图,且具有更好的鲁棒性。
Description
技术领域
本发明涉及计算机视觉中的同步定位与建图领域技术领域,具体涉及一种单目视觉SLAM方法。
背景技术
近年来机器人的自主导航受到了极大关注,成为发展必然趋势。同步定位建图(SLAM)技术能有效解决机器人在未知环境中定位自身,同时感知周围环境两个问题。
早期的研究者们将视觉SLAM问题建模为运动与观测方程,以滤波的方式完成定位、建图的状态估计,其中代表性的***有MonoSLAM。近年来研究者们采用非线性优化的方式完成对SLAM问题中状态量的优化,2007年Klein等人提出的PTAM(并行跟踪与建图)引入了关键帧策略,并首次将定位跟踪与建图优化分两线程实现,形成了视觉SLAM***框架中前后端的概念。前端主要完成传感器输入数据关联,其中定位的实现方式可分为特征点法与直接法:基于特征点法的SLAM***中以ORB-SLAM较为经典;基于直接法的SLAM***中以LSD-SLAM较为经典。2014年的SVO为应用于无人机平台的半直接法视觉里程计,其首先提取特征点,然后采用直接法进行定位。后端主要完成对***状态的非线性优化,主要以图优化法为代表。
特征点法适应帧间大运动,具有较好鲁棒性,但特征提取与匹配会占据大量时间,难以达到更高的实时性,同时仅能建立较为稀疏的点云地图,无法提供场景结构信息。直接法能利用图像中的更多信息,在GPU下可实现稠密重建,但是对于光照变换、运动模糊等情况鲁棒性不足。半直接法具有较好的实时性,但也存在直接法所具有的缺点。
发明内容
本发明的目的在于提供一种单目视觉SLAM方法,以解决现有技术中导致的上述多项缺陷或缺陷之一。
为达到上述目的,本发明是采用下述技术方案实现的:
一种单目视觉SLAM方法,包括如下步骤:从当前输入的图像中获取当前帧,对获取的所述当前帧进行关键帧筛选,并将所述当前帧送入帧列队;依次获取所述帧列队中每一关键帧,对获取的所述每一关键帧进行初始化、局部地图优化;依次获取所述帧队列中每一关键帧,对获取的所述每一关键帧进行点线特征提取,并将所述点线特征作为种子点送入深度滤波器,所述深度滤波器遍历种子点,在所述帧队列中每一帧上对其进行极线搜索、深度滤波,估计所述点线特征深度,并建立新的地图信息。
一种单目视觉SLAM***,包括:
运动估计线程:用于从当前输入的图像中获取当前帧,对获取的所述当前帧进行关键帧筛选,并将筛选的所述关键帧送入帧列队;
后端优化线程:用于依次获取所述帧列队中每一关键帧,对获取的所述每一关键帧进行初始化、局部地图优化;
建图线程:用于依次获取所述帧队列中每一帧,对关键帧进行点线特征提取,并将所述点线特征作为种子点送入深度滤波器,所述深度滤波器遍历种子点,在所述每一帧上对其进行极线搜索、深度滤波,估计所述点线特征深度,并建立新的地图信息。
本发明的优点在于:采用视觉与空间变换相结合的关键帧策略,能较为完整的保存场景信息,同时提高***鲁棒性;采用半直接法建立了基于点线的地图,保证了较高实时性,且适应低纹理场景中的导航,同时也能提供场景中更多的结构信息;采用了基于图优化的后端优化策略,具有更高的定位精度。
附图说明
图1为本发明具体实施方式SLAM***框架图;
图2为本发明具体实施方式关键帧策略流程图;
图3为本发明具体实施方式建图效果图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
如图1至图3所示,本发明提供一种单目视觉SLAM方法,如图1所示,包括如下具体流程:
步骤1)***为三线程并行处理,分别为运动估计线程,后端优化线程及建图线程。
步骤2)从单目相机获取当前输入图像。
步骤3)运动估计线程获取当前帧,***分为初始、正常、跟丢三种状态。首先完成SLAM的初始化,初始化成功后则进入正常状态,对后续输入帧进行运动估计,通过稀疏图像对齐、特征细化、位姿及结构优化三步完成对当前帧的运动估计。若是处于跟丢状态,则进行重定位。
步骤3)中初始化、重定位方法与论文“SVO:Fast Semi-Direct Monocular VisualOdometry”提出的半直接法单目视觉里程计SVO相同。
步骤3)中不同的特征参与运动估计的方式不同,其中特征分为角点特征、梯度点特征、梯度线特征三种。针对角点特征,运动估计方法与SVO相同。在特征细化中构建的基于灰度不变性的最小二乘问题,以优化当前特征点像素位置,表示为:
其中pi、p′i分别表示参考关键帧上的特征点、与当前帧的特征点,δI(pi,p′i)表示两点的灰度残差。针对梯度点特征的特征细化,限制其优化方向为梯度方向,因此该优化为一维优化。梯度方向的优化量表示为:
其中,[Δu Δv]表示为优化涉及的雅克比矩阵,[dx dy]表示为单位梯度向量。梯度点特征的重投影误差表示,也需将原误差结果投影至梯度向量上。针对梯度线特征参与运动估计的方式,具体方法为:在线段上两端区域提取梯度点特征,梯度点特征相互关联用于表示梯度线特征,然后作为一对梯度点特征同时参与运动估计,若存在遮挡、伪线段等情况,则可独立开来作为梯度点特征参与运动估计。
步骤4)运动估计线程中采用视觉与空间变换结合的策略对当前帧进行关键帧筛选,并送入帧队列,供其余两线程调用。如图2所示,关键帧策略具体为,
步骤4-1)如果当前帧与上一帧的特征点数量差大于数量阈值20,则认为跟踪即将丢失,立刻***新的关键帧;如果当前帧与上一帧的特征点数量差不大于数量阈值20,则执行步骤4-2)
步骤4-2)当前帧与上一关键帧匹配特征点的视差平均值是否大于视差阈值40像素,若是,则进入步骤4-3)作进一步筛选;若否,则直接结束。
步骤4-3)在运动估计的特征细化中,将当前帧图像划分为了nrows行ncols列的图像格,并构建了以关键帧组成的局部地图。统计存在局部地图投影点的网格数量ncells,设r=ncells/(nrows×ncols),如果r小于比例阈值0.7,则***新关键帧,否则进入下一步。
步骤4-4)考虑空间变换,计算当前场景地图点的平均深度dmin,遍历局部地图的关键帧并得其到与当前帧的位移,判断该位移是否都超过位移阈值,若是则***新关键。其中位移阈值设置为dmin的12%。
步骤5)后端优化线程依次获取帧队列中每一关键帧,采用基于G2o框架的图优化方法完成初始化、局部地图的优化,其优化变量为关键帧所保存的地图点线及位姿。其中初始化的图优化对象为参与视觉里程计初始化的两帧关键帧,局部地图的图优化对象为由关键帧所构建的局部地图,局部地图指与当前关键帧具有共视关系,且位移最近的前N帧,N取10。
步骤6)建图线程中依次获取帧队列中每一帧,对关键帧进行点线特征提取,特征包括角点特征、梯度点特征、梯度线特征。角点特征通过FAST算法提取,梯度线特征通过LSD线提取算法得到,梯度点特征提取算法具体为,
步骤6-1)获取待提取图像区域灰度图。
步骤6-2)对灰度图高斯滤波去噪。
步骤6-3)通过Roberts,Prewitt、Sobel或Lapacian等算子求图像梯度。如果梯度小于梯度阈值20,则置0,反之则保留,获得边缘图。
步骤6-4)遍历边缘,寻找具有最大梯度值的像素点作为当前特征点。
步骤7)特征提取策略,具体为:
7-1)将图像划分为25像素尺寸得方格,每一格中提取一个特征,关键帧上已有的特征所占据的方格不再提取特征。
7-2)遍历剩余图像方格,采用FAST-12算法提取角点,取算法阈值为7至20。
7-3)遍历剩余图像方格,采用LSD算法提取梯度线特征,并通过提取线两端梯度点对其进行表示,其中梯度点所处网格标识为已占用。
7-4)遍历剩余图像方格,提取梯度点特征。
然后将特征作为种子点送入深度滤波器,深度滤波器遍历种子点,在每一帧上对其进行极线搜索、深度滤波,以估计特征深度,并建立新的地图信息。
图3所示本发明实施例的建图效果图,其中点标识为地图点结构,线标识为地图线结构,曲线标识为关键帧轨迹。
由技术常识可知,本发明可以通过其它的不脱离其精神实质或必要特征的实施方案来实现。因此,上述公开的实施方案,就各方面而言,都只是举例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的改变均被本发明包含。
Claims (10)
1.一种单目视觉SLAM方法,其特征在于,包括如下步骤:
从当前输入的图像中获取当前帧,对获取的所述当前帧进行关键帧筛选,并将所述当前帧送入帧列队;
依次获取所述帧列队中每一关键帧,对获取的所述每一关键帧进行初始化、局部地图优化;
依次获取所述帧队列中每一关键帧,对获取的所述每一关键帧进行点线特征提取,并将所述点线特征作为种子点送入深度滤波器,所述深度滤波器遍历种子点,在所述帧队列中每一帧上对其进行极线搜索、深度滤波,估计所述点线特征深度,并建立新的地图信息。
2.根据权利要求1所述的单目视觉SLAM***,其特征在于,对从图像中获取的当前帧进行关键帧筛选前还包括如下步骤:
对处于初始状态的所述当前帧进行SLAM初始化;
对处于正常状态的后续输入帧进行运动估计,通过稀疏图像对齐、特征细化、位姿及结构优化对所述当前帧进行运动估计;
对处于跟丢状态的后续输入帧进行重定位。
3.根据权利要求2所述的单目视觉SLAM方法,其特征在于,对处于初始状态的所述当前帧进行SLAM初始化和对处于跟丢状态的后续输入帧进行重定位均采用半直接法单目视觉里程计。
4.根据权利要求2所述的单目视觉SLAM方法,其特征在于,对所述当前帧进行运动估计的过程中根据特征的不同选择不同的运动估计方法;其中所述特征包括:角点特征、梯度点特征和梯度线特征。
5.根据权利要求1所述的单目视觉SLAM方法,其特征在于,对获取的所述当前帧进行关键帧筛选包括如下步骤:
步骤5.1、判断所述当前帧与上一帧的特征点数量差是否大于数量阈值20,若是则认为跟踪即将丢失,立刻***新的关键帧;若否则执行步骤5.2;
步骤5.2、所述当前帧与上一关键帧匹配特征点的视差平均值是否大于视差阈值40像素,若是则进入步骤5.3作进一步筛选;若否,则直接结束;
步骤5.3、在运动估计的特征细化中,将所述当前帧图像划分为了nrows行ncols列的图像格,并构建了以关键帧组成的局部地图;统计存在所述局部地图投影点的网格数量ncells,设r=ncells/(nrows×ncols),如果r小于比例阈值0.7,则***新关键帧,否则进入下一步;
5.4考虑空间变换,计算所述局部地图的平均深度dmin,遍历所述局部地图的关键帧并得其到与所述当前帧的位移,判断该位移是否都超过位移阈值,若是则***新关键帧;其中位移阈值设置为dmin的10%至18%。
6.根据权利要求5所述的单目视觉SLAM方法,其特征在于,对获取的所述每一关键帧进行初始化和局部地图优化中的优化变量为所述关键帧所保存的地图点线及位姿;其中,初始化的图优化对象为参与视觉里程计初始化的两帧关键帧,局部地图的图优化对象为由所述关键帧所构建的局部地图。
7.根据权利要求1所述的单目视觉SLAM方法,其特征在于,对关键帧进行点线特征提取中的特征包括角点特征、梯度点特征、梯度线特征;所述角点特征通过FAST算法提取,所述梯度线特征通过LSD算法提取;所述梯度点特征提取算法包括如下步骤:
步骤7.1、获取待提取图像区域灰度图;
步骤7.2、对所述灰度图高斯滤波去噪;
步骤7.3、通过Roberts、Prewitt、Sobel或Lapacian算子求所述图像梯度,如果梯度小于梯度阈值20,则置0,反之则保留,获得边缘图;
步骤7.4、遍历所述边缘图,寻找具有最大梯度值的像素点作为当前特征点。
8.根据权利要求7所述的一种单目视觉SLAM方法,其特征在于,对关键帧进行点线特征提取中特征提取包括如下步骤:
将图像划分为25至50像素尺寸的方格,每一方格中提取一个特征;其中,所述关键帧上已有的特征所占据的方格不再提取特征;
遍历剩余方格,采用FAST-12算法提取角点,取算法阈值为7至20;
遍历剩余方格,采用LSD算法提取梯度线特征,并通过提取线两端梯度点对其进行表示;其中梯度点所处网格标识为已占用;
遍历剩余方格,提取梯度点特征。
9.一种单目视觉SLAM***,其特征在于,包括:
运动估计线程:用于从当前输入的图像中获取当前帧,对获取的所述当前帧进行关键帧筛选,并将筛选的所述关键帧送入帧列队;
后端优化线程:用于依次获取所述帧列队中每一关键帧,对获取的所述每一关键帧进行初始化、局部地图优化;
建图线程:用于依次获取所述帧队列中每一帧,对关键帧进行点线特征提取,并将所述点线特征作为种子点送入深度滤波器,所述深度滤波器遍历种子点,在所述每一帧上对其进行极线搜索、深度滤波,估计所述点线特征深度,并建立新的地图信息。
10.根据权利要求9所述的单目视觉SLAM***,其特征在于,所述运动估计线程还包括:
初始化模块:用于对处于初始状态的所述当前帧进行SLAM初始化;
定位模块:用于对处于正常状态的后续输入帧进行运动估计,通过稀疏图像对齐、特征细化、位姿及结构优化对当前帧进行运动估计;
重定位模块:用于对处于跟丢状态的后续输入帧进行重定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910279226.2A CN110189390B (zh) | 2019-04-09 | 2019-04-09 | 一种单目视觉slam方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910279226.2A CN110189390B (zh) | 2019-04-09 | 2019-04-09 | 一种单目视觉slam方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110189390A true CN110189390A (zh) | 2019-08-30 |
CN110189390B CN110189390B (zh) | 2023-02-14 |
Family
ID=67713802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910279226.2A Active CN110189390B (zh) | 2019-04-09 | 2019-04-09 | 一种单目视觉slam方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110189390B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807809A (zh) * | 2019-10-25 | 2020-02-18 | 中山大学 | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 |
CN111639147A (zh) * | 2020-04-24 | 2020-09-08 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、***及计算机可读存储介质 |
CN111899334A (zh) * | 2020-07-28 | 2020-11-06 | 北京科技大学 | 一种基于点线特征的视觉同步定位与地图构建方法及装置 |
CN112880687A (zh) * | 2021-01-21 | 2021-06-01 | 深圳市普渡科技有限公司 | 一种室内定位方法、装置、设备和计算机可读存储介质 |
CN113850218A (zh) * | 2021-09-30 | 2021-12-28 | 哈尔滨理工大学 | 一种基于单目视觉slam初始化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位*** |
CN109579840A (zh) * | 2018-10-25 | 2019-04-05 | 中国科学院上海微***与信息技术研究所 | 一种点线特征融合的紧耦合双目视觉惯性slam方法 |
-
2019
- 2019-04-09 CN CN201910279226.2A patent/CN110189390B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位*** |
CN109579840A (zh) * | 2018-10-25 | 2019-04-05 | 中国科学院上海微***与信息技术研究所 | 一种点线特征融合的紧耦合双目视觉惯性slam方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807809A (zh) * | 2019-10-25 | 2020-02-18 | 中山大学 | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 |
CN110807809B (zh) * | 2019-10-25 | 2021-04-09 | 中山大学 | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 |
CN111639147A (zh) * | 2020-04-24 | 2020-09-08 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、***及计算机可读存储介质 |
CN111639147B (zh) * | 2020-04-24 | 2021-02-05 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、***及计算机可读存储介质 |
CN111899334A (zh) * | 2020-07-28 | 2020-11-06 | 北京科技大学 | 一种基于点线特征的视觉同步定位与地图构建方法及装置 |
CN111899334B (zh) * | 2020-07-28 | 2023-04-18 | 北京科技大学 | 一种基于点线特征的视觉同步定位与地图构建方法及装置 |
CN112880687A (zh) * | 2021-01-21 | 2021-06-01 | 深圳市普渡科技有限公司 | 一种室内定位方法、装置、设备和计算机可读存储介质 |
CN112880687B (zh) * | 2021-01-21 | 2024-05-17 | 深圳市普渡科技有限公司 | 一种室内定位方法、装置、设备和计算机可读存储介质 |
CN113850218A (zh) * | 2021-09-30 | 2021-12-28 | 哈尔滨理工大学 | 一种基于单目视觉slam初始化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110189390B (zh) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110108258B (zh) | 一种单目视觉里程计定位方法 | |
CN110189390A (zh) | 一种单目视觉slam方法及*** | |
CN110569704B (zh) | 一种基于立体视觉的多策略自适应车道线检测方法 | |
US8798965B2 (en) | Generating three-dimensional models from images | |
CN111553252B (zh) | 一种基于深度学习及u-v视差算法的道路行人自动识别定位方法 | |
Zhang et al. | Semantic segmentation of urban scenes using dense depth maps | |
Kang et al. | Detection and tracking of moving objects from a moving platform in presence of strong parallax | |
WO2015010451A1 (zh) | 一种从单幅图像检测道路的方法 | |
CN109685045B (zh) | 一种运动目标视频跟踪方法及*** | |
CN103093198B (zh) | 一种人群密度监测方法及装置 | |
CN106709472A (zh) | 一种基于光流特征的视频目标检测与跟踪方法 | |
CN103426200B (zh) | 基于无人机航拍序列图像的树木三维重建方法 | |
CN113450410B (zh) | 一种基于对极几何的单目深度和位姿联合估计方法 | |
CN103426182A (zh) | 基于视觉注意机制的电子稳像方法 | |
CN110349132A (zh) | 一种基于光场相机深度信息提取的织物瑕疵检测方法 | |
CN110910431B (zh) | 一种基于单目相机多视点三维点集恢复方法 | |
CN112149495B (zh) | 一种基于视差追踪的视频关键帧提取方法 | |
CN103400386A (zh) | 一种用于视频中的交互式图像处理方法 | |
CN109544635B (zh) | 一种基于枚举试探的相机自动标定方法 | |
CN109711256B (zh) | 一种低空复杂背景无人机目标检测方法 | |
CN108377374A (zh) | 用于产生与图像相关的深度信息的方法和*** | |
WO2018133119A1 (zh) | 基于深度相机进行室内完整场景三维重建的方法及*** | |
CN106530328A (zh) | 一种基于视频图像对运动目标检测和平滑跟随的方法 | |
EP3149707A1 (en) | Method and apparatus for object tracking and segmentation via background tracking | |
Pan et al. | Depth map completion by jointly exploiting blurry color images and sparse depth maps |
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 |