CN108648214B - 一种基于宽度学习滤波的视觉slam算法及系统 - Google Patents
一种基于宽度学习滤波的视觉slam算法及系统 Download PDFInfo
- Publication number
- CN108648214B CN108648214B CN201810615688.2A CN201810615688A CN108648214B CN 108648214 B CN108648214 B CN 108648214B CN 201810615688 A CN201810615688 A CN 201810615688A CN 108648214 B CN108648214 B CN 108648214B
- Authority
- CN
- China
- Prior art keywords
- data
- motion
- width learning
- module
- map
- 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
Classifications
-
- 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
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/20—Special algorithmic details
- G06T2207/20024—Filtering details
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Abstract
本发明公开了一种基于宽度学习滤波的视觉SLAM算法,首先建立运动方程以及改造观测方程,得到实际情况下需要得到的状态估计问题;然后从RGB‑D相机传感器以及运动测量得到数据,通过旋转和平移运动采集的图片序列中选择关键帧,通过宽度学习方法进行训练来预测当前帧的地图以及相机的位置。本发明还公开了一种基于宽度学习滤波的视觉SLAM系统,包括数据接收模块、运动估计模块、匹配优化模块、宽度学习滤波模块和地图更新模块。本发明区别于以往对状态估计问题的方法,创新性地使用新方法宽度学习,以在不降低精度的情况下减少训练的时间。
Description
技术领域
本发明涉及机器人视觉算法领域,更具体地,涉及一种基于宽度学习滤波的视觉SLAM算法及系统。
背景技术
SLAM是Simultaneous Localization and Mappong的缩写,中文译作“同时定位与地图构建”。它指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。如果这里的传感器主要为相机,那就称为“视觉SLAM”。
SLAM最早于1988年提出,最开始的时候用于描述机器人在未知环境的未知地点中同步的进行地图构建和自身定位。机器人通过传感器获取的环境数据对位置环境进行地图的建立,然后根据在运动中观测到的环境特征与地图中的特征进行匹配从而进行自身的定位以及地图的建立。
在经典视觉SLAM框架中,主要由传感器数据、视觉里程计、后端优化、回环检测、最终建图,这些方面主城。其中在视觉SLAM中传感器信息的读取主要为相机图像信息的读数和预处理。视觉里程计的任务主要是估算相邻图像间相机的运动,以及局部地图的样子。后端优化主要是接受不同时刻视觉里程计测量的相机姿态,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。回环检测将判断机器人是否到达之前的位置。最终根据估计的轨迹,建立与任务要求对应的地图。
为了避免累计误差,在SLAM状态估计中,通常的方法是采用卡尔曼滤波器等对系统状态进行估计预测,但它具有计算的复杂性以及对数据融合入误差敏感的缺陷,所以在训练时间上会比较长,所以本发明在这里采用一种基于宽度学习滤波的视觉SLAM算法,它的最大优点在于可以在不降低精度的情况下降低了训练所需要的时间。
发明内容
本发明的目的是解决上述一个或多个缺陷,提出一种基于宽度学习滤波的视觉SLAM算法及系统。
为实现以上发明目的,采用的技术方案是:
一种基于宽度学习滤波的视觉SLAM算法,包括以下步骤:
S1:建立运动方程以及改造观测方程,得到实际情况下需要得到的状态估计问题;
S2:从RGB-D相机传感器以及运动测量得到数据,通过旋转和平移运动采集的图片序列中选择关键帧,通过宽度学习方法进行训练来预测当前帧的地图以及相机的位置。
优选的是,步骤S1包括以下步骤:
S1.1:首先确定相机的位置xi以及路标的位置yi;
S1.2:在相机的运动过程中,通过运动方程xi+1=f(xi,ui)+mi得到i+1时刻的相机位置xi+1,其中ui为i时刻运动测量的读数,该读数通过码盘等装置来测量,mi是噪声;
S1.3:设定观测方程zi,j=h(xi,yi)+vi,j,其中zi,j是传感器读数或激光装置或相机装置的读数中的一种,vi.j是噪声;
S1.4:根据步骤S1.2和步骤S1.3得到的运动方程以及观测方程,在实际的情况下,运动测量的读数u和传感器的读数z是已知的,要求解的是定位问题(估计x)和建图问题(估计y)。所以我们把步骤S1.3中的方程写成yi=g(xi,zi,j)+vi,j;
S1.5:使用宽度学习的方法对这个状态变量进行估计预测,从而达到使误差mi以及vi,j尽可能小的优化。
优选的是,步骤S2包括以下步骤:
S2.1:获取训练数据及测试数据,对其进行归一化处理,使数据在[-1,1]内。并将这些数据整合到一个向量X,最后再把此数据看作输入传给宽度学习滤波器进行离线训练;
S2.2:在S2.1中得到输入向量X,通过映射获得n组特征节点,其中每组特征节点含有p个节点,再利用稀疏自编码器训练更新特征映射过程的权值和阈值。这步的映射方程是R=φi(X*wRi+βRi),其中wRi是输入到特征节点之间的权重,βRi是给定的阈值;
S2.3:通过S2.2中得到的特征节点,映射出m个增量节点H,映射方程是其中wHi是特征节点到增量节点之间的权重,βHi是给定的阈值;其中增量节点映射过程的权值和阈值是随机生成,一旦随机生成后就固定不变;
S2.4:通过S2.2以及S2.3得到的特征节点以及增量节点,使用岭回归学习算法获得输出,其中特征节点以及增量节点这层到输出层的权值定义为Wall,最终通过宽度学习的方法,实现滤波的效果,从而解决SLAM的状态估计问题。
一种基于宽度学习滤波的视觉SLAM系统,包括数据接收模块、运动估计模块、匹配优化模块、宽度学习滤波模块和地图更新模块;
所述运动模型处理以及估计模块,将运动方程以及观测方程进行处理,得到最终要实现的状态估计问题;并根据原始地图的原始姿态信息,对所述里程计数据进行运动估计,同时得到第一位姿信息;
所述匹配优化模块,用于根据所述原始地图,对所述第一位姿信息进行匹配优化,得到第二位姿信息,并且根据所述第二位姿信息与所述相机数据计算得到第一权重值;
所述宽度学习滤波模块,用于根据所述第一权重对所述原始地图进行宽度学习滤波,得到更新数据组;
所述地图更新模块,用于根据所述更新数据组,对所述原始地图进行更新,生成更新地图。
优选的是,所述更新地图模块,还用于在不存在原始地图的情况下,直接根据相机数据和里程计数据生成地图。
与现有技术相比,本发明的有益效果是:
本发明区别于以往对状态估计问题的方法,创新性地使用新方法宽度学习,大大降低视觉SLAM状态优化过程中的时间,从而使机器人在运动过程当中,能够更快速地实现状态的估计预测。
附图说明
图1为本发明提供的基于宽度学习滤波的视觉SLAM方法流程图;
图2为宽度学习方法流程图;
图3为宽度学习网络框架图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
一种基于宽度学习滤波的视觉SLAM算法,请参考图1,包括以下步骤:
S1:建立运动方程以及改造观测方程,得到实际情况下需要得到的状态估计问题;
S2:从RGB-D相机传感器以及运动测量得到数据,通过旋转和平移运动采集的图片序列中选择关键帧,通过宽度学习方法进行训练来预测当前帧的地图以及相机的位置。
本实施例中,步骤S1包括以下步骤:
S1.1:首先确定相机的位置xi以及路标的位置yi;
S1.2:在相机的运动过程中,通过运动方程xi+1=f(xi,ui)+mi得到i+1时刻的相机位置xi+1,其中ui为i时刻运动测量的读数,该读数通过码盘等装置来测量,mi是噪声;
S1.3:设定观测方程zi,j=h(xi,yi)+vi,j,其中zi,j是传感器读数或激光装置或相机装置的读数中的一种,vi.j是噪声;
S1.4:根据步骤S1.2和步骤S1.3得到的运动方程以及观测方程,在实际的情况下,运动测量的读数u和传感器的读数z是已知的,要求解的是定位问题(估计x)和建图问题(估计y)。所以我们把步骤S1.3中的方程写成yi=g(xi,zi,j)+vi,j;
S1.5:使用宽度学习的方法对这个状态变量进行估计预测,从而达到使误差mi以及vi,j尽可能小的优化。
本实施例中,请参考图2,步骤S2包括以下步骤:
S2.1:获取训练数据及测试数据,对其进行归一化处理,使数据在[-1,1]内。并将这些数据整合到一个向量X,最后再把此数据看作输入传给宽度学习滤波器进行离线训练;
S2.2:在S2.1中得到输入向量X,通过映射获得n组特征节点,其中每组特征节点含有p个节点,再利用稀疏自编码器训练更新特征映射过程的权值和阈值。这步的映射方程是R=φi(X*wRi+βRi),其中wRi是输入到特征节点之间的权重,βRi是给定的阈值;
S2.3:通过S2.2中得到的特征节点,映射出m个增量节点H,映射方程是其中wHi是特征节点到增量节点之间的权重,βHi是给定的阈值;其中增量节点映射过程的权值和阈值是随机生成,一旦随机生成后就固定不变;
S2.4:通过S2.2以及S2.3得到的特征节点以及增量节点,使用岭回归学习算法获得输出,请参考图3,其中特征节点以及增量节点这层到输出层的权值定义为Wall,最终通过宽度学习的方法,实现滤波的效果,从而解决SLAM的状态估计问题。
一种基于宽度学习滤波的视觉SLAM系统,包括数据接收模块、运动估计模块、匹配优化模块、宽度学习滤波模块和地图更新模块;
所述运动模型处理以及估计模块,将运动方程以及观测方程进行处理,得到最终要实现的状态估计问题;并根据原始地图的原始姿态信息,对所述里程计数据进行运动估计,同时得到第一位姿信息;
所述匹配优化模块,用于根据所述原始地图,对所述第一位姿信息进行匹配优化,得到第二位姿信息,并且根据所述第二位姿信息与所述相机数据计算得到第一权重值;
所述宽度学习滤波模块,用于根据所述第一权重对所述原始地图进行宽度学习滤波,得到更新数据组;
所述地图更新模块,用于根据所述更新数据组,对所述原始地图进行更新,生成更新地图。
本实施例中,所述更新地图模块,还用于在不存在原始地图的情况下,直接根据相机数据和里程计数据生成地图。
综上所述,本发明实施例提供了一种基于宽度学习滤波的视觉SLAM算法,通过在SLAM运行过程中创新性地添加了宽度学习滤波的方法,从而达到在保持精度的情况下减少训练时间的目的。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (3)
1.一种基于宽度学习滤波的视觉SLAM方法,其特征在于,包括以下步骤:
S1:建立运动方程以及改造观测方程,得到实际情况下需要得到的状态估计问题;
S2:从RGB-D相机传感器以及运动测量得到数据,通过旋转和平移运动采集的图片序列中选择关键帧,通过宽度学习方法进行训练来预测当前帧的地图以及相机的位置;
步骤S1包括以下步骤:
S1.1:首先确定相机的位置xi以及路标的位置yi;
S1.2:在相机的运动过程中,通过运动方程xi+1=f(xi,ui)+mi得到i+1时刻的相机位置xi+1,其中ui为i时刻运动测量的读数,该读数通过码盘来测量,mi是噪声;
S1.3:设定观测方程zi,j=h(xi,yi)+vi,j,其中zi,j是传感器读数或激光装置或相机装置的读数中的一种,vi.j是噪声;
S1.4:根据步骤S1.2和步骤S1.3得到的运动方程以及观测方程,在实际的情况下,运动测量的读数u和传感器的读数z是已知的,要求解的是定位问题和建图问题;所以把步骤S1.3中的方程写成yi=g(xi,zi,j)+vi,j;
S1.5:使用宽度学习的方法对这个状态变量进行估计预测,从而达到使误差mi以及vi,j尽可能小的优化;
步骤S2包括以下步骤:
S2.1:获取训练数据及测试数据,对其进行归一化处理,使数据在[-1,1]内;并将这些数据整合到一个向量X,最后再把此数据看作输入传给宽度学习滤波器进行离线训练;
S2.2:在S2.1中得到输入向量X,通过映射获得n组特征节点,其中每组特征节点含有p个节点,再利用稀疏自编码器训练更新特征映射过程的权值和阈值;这步的映射方程是R=φi(X*wRi+βRi),其中wRi是输入到特征节点之间的权重,βRi是给定的阈值;
S2.3:通过S2.2中得到的特征节点,映射出m个增量节点H,映射方程是其中wHi是特征节点到增量节点之间的权重,βHi是给定的阈值;其中增量节点映射过程的权值和阈值是随机生成,一旦随机生成后就固定不变;
S2.4:通过S2.2以及S2.3得到的特征节点以及增量节点,使用岭回归学习算法获得输出,其中特征节点以及增量节点这层到输出层的权值定义为Wall,最终通过宽度学习的方法,实现滤波的效果,从而解决SLAM的状态估计问题。
2.一种应用权利要求1所述的方法的系统,其特征在于,包括数据接收模块、运动估计模块、匹配优化模块、宽度学习滤波模块和地图更新模块;
所述运动估计模块,将运动方程以及观测方程进行处理,得到最终要实现的状态估计问题;并根据原始地图的原始姿态信息,对里程计数据进行运动估计,同时得到第一位姿信息;
所述匹配优化模块,用于根据所述原始地图,对所述第一位姿信息进行匹配优化,得到第二位姿信息,并且根据所述第二位姿信息与相机数据计算得到第一权重值;
所述宽度学习滤波模块,用于根据所述第一权重对所述原始地图进行宽度学习滤波,得到更新数据组;
所述地图更新模块,用于根据所述更新数据组,对所述原始地图进行更新,生成更新地图。
3.根据权利要求2所述的一种基于宽度学习滤波的视觉SLAM系统,其特征在于,所述地图更新模块,还用于在不存在原始地图的情况下,直接根据相机数据和里程计数据生成地图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810615688.2A CN108648214B (zh) | 2018-06-14 | 2018-06-14 | 一种基于宽度学习滤波的视觉slam算法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810615688.2A CN108648214B (zh) | 2018-06-14 | 2018-06-14 | 一种基于宽度学习滤波的视觉slam算法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108648214A CN108648214A (zh) | 2018-10-12 |
CN108648214B true CN108648214B (zh) | 2022-04-29 |
Family
ID=63752590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810615688.2A Active CN108648214B (zh) | 2018-06-14 | 2018-06-14 | 一种基于宽度学习滤波的视觉slam算法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108648214B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109615008B (zh) * | 2018-12-11 | 2022-05-13 | 华中师范大学 | 基于堆叠宽度学习的高光谱图像分类方法和系统 |
CN111929641B (zh) * | 2020-06-19 | 2022-08-09 | 天津大学 | 一种基于宽度学习的快速室内指纹定位方法 |
CN111854732B (zh) * | 2020-07-27 | 2024-02-13 | 天津大学 | 一种基于数据融合和宽度学习的室内指纹定位方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402225A (zh) * | 2011-11-23 | 2012-04-04 | 中国科学院自动化研究所 | 一种实现移动机器人同时定位与地图构建的方法 |
CN106197428A (zh) * | 2016-07-10 | 2016-12-07 | 北京工业大学 | 一种利用测量信息优化分布式ekf估计过程的slam方法 |
CN106597435A (zh) * | 2016-12-08 | 2017-04-26 | 北京康力优蓝机器人科技有限公司 | 实现基于粒子滤波slam算法的方法及系统 |
CN107170011A (zh) * | 2017-04-24 | 2017-09-15 | 杭州司兰木科技有限公司 | 一种机器人视觉跟踪方法及系统 |
-
2018
- 2018-06-14 CN CN201810615688.2A patent/CN108648214B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402225A (zh) * | 2011-11-23 | 2012-04-04 | 中国科学院自动化研究所 | 一种实现移动机器人同时定位与地图构建的方法 |
CN106197428A (zh) * | 2016-07-10 | 2016-12-07 | 北京工业大学 | 一种利用测量信息优化分布式ekf估计过程的slam方法 |
CN106597435A (zh) * | 2016-12-08 | 2017-04-26 | 北京康力优蓝机器人科技有限公司 | 实现基于粒子滤波slam算法的方法及系统 |
CN107170011A (zh) * | 2017-04-24 | 2017-09-15 | 杭州司兰木科技有限公司 | 一种机器人视觉跟踪方法及系统 |
Non-Patent Citations (1)
Title |
---|
Broad Learning System: An Effective and Efficient Incremental Learning System Without the Need for Deep Architecture;C. L. Philip Chen et al;《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》;20170721;第10-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108648214A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111595333B (zh) | 视觉惯性激光数据融合的模块化无人车定位方法及系统 | |
CN107516326B (zh) | 融合单目视觉和编码器信息的机器人定位方法和系统 | |
Laidlow et al. | Dense RGB-D-inertial SLAM with map deformations | |
CN107941217B (zh) | 一种机器人定位方法、电子设备、存储介质、装置 | |
CN108648214B (zh) | 一种基于宽度学习滤波的视觉slam算法及系统 | |
CN111052183A (zh) | 利用事件相机的视觉惯性里程计 | |
CN110595466B (zh) | 轻量级的基于深度学习的惯性辅助视觉里程计实现方法 | |
Kottas et al. | Detecting and dealing with hovering maneuvers in vision-aided inertial navigation systems | |
CN111210477A (zh) | 一种运动目标的定位方法及系统 | |
CN109238277B (zh) | 视觉惯性数据深度融合的定位方法及装置 | |
CN110853085B (zh) | 基于语义slam的建图方法和装置及电子设备 | |
CN110675455B (zh) | 一种基于自然场景的车身环视相机自标定方法和系统 | |
CN112556719B (zh) | 一种基于cnn-ekf的视觉惯性里程计实现方法 | |
CN111623773B (zh) | 一种基于鱼眼视觉和惯性测量的目标定位方法及装置 | |
CN115272596A (zh) | 一种面向单调无纹理大场景的多传感器融合slam方法 | |
CN115900710A (zh) | 基于视觉信息的动态环境导航方法 | |
CN112767546A (zh) | 移动机器人基于双目图像的视觉地图生成方法 | |
CN114526728B (zh) | 一种基于自监督深度学习的单目视觉惯导定位方法 | |
CN114323033B (zh) | 基于车道线和特征点的定位方法、设备及自动驾驶车辆 | |
KR101803340B1 (ko) | 영상 기반 주행거리 측정 시스템 및 방법 | |
Yu et al. | Tightly-coupled fusion of VINS and motion constraint for autonomous vehicle | |
CN113701750A (zh) | 一种井下多传感器的融合定位系统 | |
CN112348854A (zh) | 一种基于深度学习视觉惯性里程检测方法 | |
CN113790726B (zh) | 一种融合相机、轮速计和单uwb信息的机器人室内定位方法 | |
JP6916091B2 (ja) | 位置姿勢推定システム及び位置姿勢推定装置 |
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 |