一种融合语义信息的视觉SLAM回环检测方法及装置与流程

文档序号:17589684发布日期:2019-05-03 21:40阅读:249来源:国知局
一种融合语义信息的视觉SLAM回环检测方法及装置与流程

本发明涉及机器人同时定位与地图构建技术领域,具体涉及一种融合语义信息的视觉slam回环检测方法及装置。



背景技术:

自仿生学与智能机器人技术的出现以来,研究者们就渴望有朝一日,机器人能够像人类一样,通过眼睛去观察和理解周围的世界,并能够能在自然环境中灵巧地自主行走,实现人机和谐共融。

其中,一个重要而基本的问题是,如何通过二维的图像信息分析景物的三维结构,确定相机在其中的位置。这个问题的解决,离不开一项基本技术的研究:同时定位与地图构建(simultaneous-localizationand-mapping,slam),特别是基于视觉的slam技术。

为了达到基于视觉的slam技术实现人眼一样的效果,只要环视四周,辨识物体,就能判断自己的位置,而当前基于特征点和像素的算法,离这样的目的显然远远不够。几乎所有的回环检测方法都是利用视觉传感,即对环境利用关键帧进行视觉描述,然后通过当前的图像与地图中关键帧匹配完成回环检测的工作。

在回环检测问题上,机器人研究工作主要侧重解决两个难题:第一个是有可拓展性的、适用于大环境中的图像匹配,因为很多任务要求机器人在需用成千上万乃至百万幅关键帧来描述环境,因而产生可拓展即适用于大环境的高速高精度图像匹配算法的要求。第二个需要解决的难题是图像匹配时所应具有环境条件不变性,这是指能够对各种不同条件下采集的图像进行准确匹配,包括对光照变化的处理,以及对动态环境、季节、天气以及视角变化处理的能力。

目前的视觉slam回环检测方法中对光照不变性较弱,因此,如何提高机器人移动过程中对光照的不变性,从而实现机器人的准确定位和地图构建,是值得解决的问题。



技术实现要素:

本发明的目的在于提供一种融合语义信息的视觉slam回环检测方法及装置,旨在提高机器人移动过程中对光照的不变性,从而实现机器人的准确定位和地图构建。

为了实现上述目的,本发明提供以下技术方案:

本发明提供一种融合语义信息的视觉slam回环检测方法,包括以下步骤:

步骤s100、获取机器人运动过程中拍摄的视频流图像;

步骤s200、从视频流图像中离线抽取关键帧;

步骤s300、检测出关键帧中的物体级图像;

步骤s400、提取物体级图像的特征;

步骤s500、匹配物体级图像特征;

步骤s600、对关键帧进行回环检测。

进一步,所述视频流图像通过设置于机器人上的相机采集。

进一步,所述步骤s200具体包括:

步骤s210、利用滑动窗将图像分块;

步骤s220、分别从亮度、对比度和结构三方面度量图像;

步骤s230、采用高斯加权计算每一窗口的均值、方差以及协方差;

步骤s240、计算两幅图像对应块的结构相似度;

步骤s250、将两幅图像结构相似度的平均值作为结构相似性度量;

步骤s260、当相邻两帧的结构相似度小于阈值时,选取前一帧作为关键帧。

进一步,作为本发明的一个可选项,所述步骤s300具体包括:

步骤s311、均匀地对图像进行密集抽样;

步骤s312、利用卷积神经网络提取图像特征;

步骤s313、对图像进行分类与回归,得到关键帧中的物体。

进一步,作为本发明的另一个可选项,所述步骤s300具体包括:

步骤s321、将关键帧输入多路精细化分割网络中;

步骤s322、将组合图像中的低分辨率特征图转换成高分辨率的特征图;

步骤s323、对低分辨率特征图和高分辨率特征图逐层进行采样、融合,直到原图大小;

步骤s324、得到具有物体信息的图像,所述图像和原图大小一致。

进一步,作为本发明的另一个可选项,所述步骤s300为,利用edgeboxes目标检测算法检测出图像中的物体。

进一步,所述步骤s400具体为,运用resnet卷积神经网络模型,将每幅关键帧表达成具有卷积特征的物体图像集合,将每个物体的特征向量用pca降维方法进行降维。

进一步,所述步骤s500具体包括:

步骤s510、根据卷积网络的物体类别建立单词字典,通过离线过程的倒置索引存储地图中所有关键帧;

步骤s520、计算机器人观测到的图像中的物体图像集合,通过倒置索引查表,搜索出地图中列于前端的若干关键帧;

步骤s530、利用霍夫变换,计算物体图像集合中的物体图像,然后通过对所述物体图像对齐转换参数空间投票,完成排序;

步骤s540、对步骤s530中列于前端的若干关键帧进行基于卷积网络特征的高精度匹配,获取若干关键帧之间的相似度。

进一步,所述步骤s600具体包括:当所述相似度达到设定比例时,则判定回环检测已经发生,从而调整地图的偏移并更新全局地图;当相似度低于设定比例时,则判定回环检测没有发生,从而新建关键帧并扩充地图。

本发明还提供一种融合语义信息的视觉slam回环检测装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在所述装置的以下模块中:

获取模块,用于获取机器人运动过程中拍摄的视频流图像;

抽取模块,用于从视频流图像中离线抽取关键帧;

检测模块,用于检测出关键帧中的物体级图像;

提取模块,用于提取物体级图像的特征;

匹配模块,用于匹配物体级图像特征;

判断模块,用于对关键帧进行回环检测。

本发明的有益效果是:本发明公开一种融合语义信息的视觉slam回环检测方法及装置,首先获取机器人运动过程中拍摄的视频流图像,然后从视频流图像中离线抽取关键帧,检测出关键帧中的物体级图像,并提取物体级图像的特征,进而匹配物体级图像特征,对关键帧进行回环检测,本发明具有对光照的不变性,从而实现机器人的准确定位和地图构建。

附图说明

通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:

图1是本发明实施例一种融合语义信息的视觉slam回环检测方法的流程图;

图2是本发明实施例一种融合语义信息的视觉slam回环检测装置的结构示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所以其他实施例,都属于本发明的保护范围。

如图1所示,本发明实施例提供的一种融合语义信息的视觉slam回环检测方法,在turtlebot2移动机器人上搭载机器人操作系统(robotoperatingsystem简称ros),上位机设置为nvidiatx2,载于turtlebot2上的kinectv2摄像头通过ros系统传输视频到slam回环检测系统上。

所述slam回环检测方法包括以下步骤:

步骤s100、获取机器人运动过程中拍摄的视频流图像;

步骤s200、从视频流图像中离线抽取关键帧;

步骤s300、检测出关键帧中的物体级图像;

步骤s400、提取物体级图像的特征;

步骤s500、匹配物体级图像特征;

步骤s600、对关键帧进行回环检测。

进一步,所述步骤s100具体为:所述视频流图像通过设置于机器人上的相机采集。

进一步,所述步骤s200具体包括:

步骤s210、利用滑动窗将图像分块;

步骤s220、分别从亮度、对比度和结构三方面度量图像;

步骤s230、采用高斯加权计算每一窗口的均值、方差以及协方差;充分考虑窗口形状对分块的影响;

步骤s240、计算两幅图像对应块的结构相似度;

步骤s250、将两幅图像结构相似度的平均值作为结构相似性度量,即平均结构相似性;

步骤s260、当相邻两帧的结构相似度小于阈值时,选取前一帧作为关键帧。

进一步,作为本实施例的一个可选项,所述步骤s300具体包括:

步骤s311、均匀地对图像进行密集抽样,通过调节抽样的尺度和长宽比,合理设置采样精度;

步骤s312、利用卷积神经网络提取特征;

步骤s313、直接进行分类与回归,从而快速得到关键帧中的物体。

进一步,作为本实施例的一个可选项,所述步骤s300中,采用多路精细化分割网络,通过refinenet语义分割算法分割关键帧得到多个物体,具体包括:

步骤s321、将关键帧输入多路精细化分割网络中;

步骤s322、将组合图像中的低分辨率特征图转换成高分辨率的特征图;

步骤s323、对低分辨率特征图和高分辨率特征图逐层进行采样、融合,直到原图大小;这样,就可以对多尺度特征图分别独立处理和一起处理。从最后一层上采样,然后融合,继续上采样,直到原图大小;

步骤s324、得到具有物体信息的图像,所述图像和原图大小一致。

进一步,作为本实施例的一个可选项,所述步骤s300中,通过采用edgeboxes目标检测算法检测出图像中的物体,具体包括:

步骤s331、利用结构化的方法检测出图像边缘,并利用非极大值抑制对边缘图像进行筛选;

步骤s332、将共线或接近共线的边缘点集合成若干个边缘组,并计算边缘组之间的相似度,越是在同一直线上的边缘组,其相似度越高;

步骤s333、通过边缘组来确定轮廓数;

所述通过边缘组来确定轮廓数具体实现方法为:

给每个边缘组计算一个权值,将权值为1的边缘组归为目标物体(objectproposal)内轮廓上的一部分,将权值为0的边缘组归为目标物体外或目标物体框重叠的一部分,由此提取得到目标物体,并对目标物体进行评分,选取得分最高的目标物体作为最后的检测输出图像。

进一步,所述步骤s400具体包括:

运用resnet卷积神经网络模型,将每幅关键帧表达成2-5个具有卷积特征的物体图像集合,将每个物体的特征向量用pca降维方法进行降维,便于减少运算量。

进一步,所述步骤s500具体包括:

步骤s510、根据卷积网络的物体类别建立单词字典,通过离线过程的倒置索引存储地图中所有关键帧;

步骤s520、计算机器人观测到的图像中的物体图像集合(bagofobjects,boo),通过倒置索引查表,快速搜索出地图中列于前端的若干关键帧;

步骤s530、利用霍夫变换,计算物体图像集合中的物体图像(2-5个物体图像),然后通过对所述物体图像对齐转换参数空间(位移和尺度三个自由度)投票,完成排序;

步骤s540、对步骤s530中列于前端的若干关键帧进行基于卷积网络特征的高精度匹配,获取若干关键帧之间的相似度。

进一步,所述步骤s600具体包括:当所述相似度达到设定比例时,则判定回环检测已经发生,从而调整地图的偏移并更新全局地图,所述调整地图的偏移具体通过位姿图优化(pose-graph)实现;当相似度低于设定比例时,则判定回环检测没有发生,从而新建关键帧并扩充地图,所述新建关键帧为若干关键帧中相似度低于设定比例的关键帧。

本公开的实施例提供的一种融合语义信息的视觉slam回环检测装置,如图2所示为本公开的一种融合语义信息的视觉slam回环检测装置图,该实施例的一种融合语义信息的视觉slam回环检测装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种融合语义信息的视觉slam回环检测装置实施例中的步骤。

所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在所述装置的以下模块中:

获取模块,用于获取机器人运动过程中拍摄的视频流图像;

抽取模块,用于从视频流图像中离线抽取关键帧;

检测模块,用于检测出关键帧中的物体级图像;

提取模块,用于提取物体级图像的特征;

匹配模块,用于匹配物体级图像特征;

判断模块,用于对关键帧进行回环检测。

所述一种融合语义信息的视觉slam回环检测装置,包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种融合语义信息的视觉slam回环检测装置的示例,并不构成对一种融合语义信息的视觉slam回环检测装置的限定,可以包括比例子更多的部件,或者组合某些部件,或者不同的部件,例如所述一种融合语义信息的视觉slam回环检测装置还可以包括输入输出设备等。

所称处理器可以是中央处理单元(central-processing-unit,cpu),还可以是其他通用处理器、数字信号处理器(digital-signal-processor,dsp)、专用集成电路(application-specific-integrated-circuit,asic)、现成可编程门阵列(field-programmable-gate-array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种融合语义信息的视觉slam回环检测装置运行装置的控制中心,利用各种接口和线路连接整个一种融合语义信息的视觉slam回环检测装置可运行装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种融合语义信息的视觉slam回环检测装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储创建的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如智能存储卡(smart-media-card,smc),安全数字(secure-digital,sd)卡,闪存卡(flash-card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

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