一种基于宽度学习滤波的视觉SLAM算法及系统的制作方法

文档序号:15640748发布日期:2018-10-12 22:02阅读:1031来源:国知局

本发明涉及机器人视觉算法领域,更具体地,涉及一种基于宽度学习滤波的视觉slam算法及系统。



背景技术:

slam是simultaneouslocalizationandmappong的缩写,中文译作“同时定位与地图构建”。它指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。如果这里的传感器主要为相机,那就称为“视觉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运行过程中创新性地添加了宽度学习滤波的方法,从而达到在保持精度的情况下减少训练时间的目的。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1