一种基于词袋树群模型的机器人定位和导航方法技术领域
本发明属于机器人自主定位与导航和机器人视觉技术领域,具体涉及一种基于词
袋模型的机器人定位和导航方法;通过基于时间构建词袋树群模型,在低动态环境下基于
概率估计模型对词袋模型树进行选择,词袋树群模型能够为长时间的室内同步定位和建图
机器人的回环检测提供依赖。
背景技术
机器人自主定位和导航是一门交叉学科,近十几年来,机器人自主定位和导航以
及机器人视觉已经有了很大的进步。尽管机器人视觉在特定的场景和数据库中已经达到高
的精度,也有一部分的服务机器人走进生活,但是机器人视觉在机器人的自主导航与定位
的应用也只在近几年才得以运用,在实现机器人自主视觉定位和导航的问题上还没有很好
的解决,特别是机器人应对动态复杂场景和长时间的定位和导航方面仍然需要很大的努
力。
目前并没有很多针对低动态环境下的机器人长时间视觉定位和导航的方法,基本
上所有的方法都是针对提高特征提取算子的鲁棒性,虽然现在的Scale-invariant
feature transform(SIFT)[1]的算子鲁棒性很好,但是需要使用GPU加速,ORiented Brief
(ORB)[2]特征提取算子效果较好并且速度较快,但是也仍然不能在实际使用中实现长时间
的定位和导航。其中SIFT见文献“D.G.Lowe,Distinctive image features from scale-
invariant keypoints,International Journal of Computer Vision,vol.60,no.2,
pp.91–110,2004.”,ORB见文献“E.Rublee,V.Rabaud,K.Konolige,and G.Bradski,ORB:an
efficient alternative to SIFT or SURF,in IEEE International Conference on
Computer Vision(ICCV),Barcelona,Spain,November 2011,pp.2564–2571.”。
目前,市场上能比较好的应用在服务机器人上的方案是使用激光传感器,这种方
案在使用二维激光的情况下能获取环境的二维平面结构。激光传感器不受光照的影响,同
时更加高效,也不需要性能很高的处理器,嵌入式的芯片就能满足这种计算需求。但是激光
传感器的价格非常昂贵,并且不能处理黑色吸收光的物质或者黑色的环境;不能处理玻璃
等会改变激光传播路径的透明物质的建模;抖动对建图的影响非常大。所以使用价格低廉
的视觉传感器开发低成本同时能实现长时间定位和导航的方案非常有必要性。
发明内容
针对现有技术存在的技术问题,本发明的目的是提供一种基于词袋树群模型的机
器人定位和导航方法,能够使用价格低廉的视觉传感器实现机器人的长时间定位和导航。
本发明采用的技术方案如下:
一种基于词袋树群模型的机器人定位和导航方法,包括以下步骤:
1)输入长时间的包含低动态室内场景变化的视频流;
2)从视频流图像中离线抽取特征;
3)对得到的特征通过k-means++算法进行聚类;
4)对聚类得到的子空间进行迭代聚类;
5)对迭代聚类后的特征建立词袋树模型;
6)每隔一定时间保存建立的词袋树模型,拷贝后继续更新,得到词袋树群模型;
7)通过统计原理对低动态物体的运动规律进行统计;
8)根据步骤6)得到的词袋树群模型,利用所述运动规律分析确定当前时刻对应的
词袋树模型;
9)将步骤8)确定的词袋树模型用于回环检测,实现机器人在低动态环境下的定位
和导航。
进一步地,步骤5)对词袋树模型中的每个特征,保存其正向索引和反向索引。
进一步地,所述正向索引中包含每一帧图像的特征以及该特征所在树的父节点,
所述反向索引存储每一个特征所在的图像的序号以及在该图像中所占的比重,其值为词频
与反向文本频率的乘积。
进一步地,步骤6)间隔一定时间后保存已经建立的树模型,并且复制上一个树模
型,对这个复制的树模型进行更新,直到间隔时间到或者已经出现运动重复,从而构建词袋
树群模型。
进一步地,步骤8)根据所述运动规律得出三个概率最大的词袋树模型,并依次将
此时通过环境获得的特征向量与三个概率最大的词袋树模型中的特征分别进行匹配。
进一步地,在所述匹配过程中,通过反向索引快速定位到所需要比较的相似图像,
通过正向索引快速检查图像中的特征。
进一步地,步骤9)中,成功匹配树模型后,则将所述树模型作为机器人定位与回环
检测的数据库,并利用新得到的图像不断更新。
本发明的有益效果如下:
本发明使用价格低廉的视觉传感器,通过图像处理技术将图片转化为特征向量存
储在词袋树模型的树结构中,利用概率模型选择对应状态下的词袋树来进行定位与导航系
统中的回环检测部分,最后实现机器人在室内等低动态环境下自主定位和导航。本发明避
免了使用昂贵的激光传感器,以及激光带来的问题,同时弥补了现有的特征提取算子的缺
点。
附图说明
图1.词袋树群构建流程图。
图2.基于状态选择的词袋树群模型使用流程图。
图3.基于状态选择的词袋树群模型图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和
附图,对本发明做进一步说明。
1.基于DBoW2的词袋树群模型建立
DBoW2(参考文献:Galvez-López D,Tardos J D.Bags of Binary Words for
Fast Place Recognition in Image Sequences[J].IEEE Transactions on Robotics,
2012,28(5):1188-1197.)将图像进行结构化描述。DBoW2思想是将图像特征整合成视觉单
词,将图像特征空间转化成离散的视觉字典,并用树的结构存储视觉单词,加快特征以及相
似图像的检索。将新的图像特征映射到视觉字典中最近邻视觉字典,再通过计算视觉字典
间的距离计算图像的相似度,从而完成识别、图像分类、检索等任务。
本发明的基于DBoW2的词袋树群是基于DBoW2的原理建立多个树形结构用于存储
不同时间或者不同状态的环境特征,以应对复杂多变的环境。词袋树群的具体构建过程如
图1所示,包括以下步骤:
a)从训练图像中离线提取ORB特征;
b)将抽取的特征用k-means++算法聚类,将描述子空间划分成K类;
c)将划分的每个描述子空间,继续利用k-means++算法做聚类;
d)按照上述循环,将描述子建立成树形结构tree1;
e)在经过设定时间T后,保存tree1树,并映射出树形结构,并命名tree2用于更新;
f)重复上述操作,优化树群存储空间,直到环境重复,树群treeN构建完成。
图3为基于状态选择的词袋树群模型示意图,其中tree1~treeN表示形成的N个树
形结构,Direct index image表示直接图像索引,用来记录树中保存的图像序号,Node表示
树中的节点,Feature表示节点下存储的特征的值,反向索引中V=0.79表示特征在对应图
像中所占的比重。
2.基于状态选择的词袋树使用方法
针对已经建好的词袋树群,其包含了室内环境变化的多种状态,通过统计可以得
到室内大部分低动态物体的运动规律,例如室内光照方向,门窗的开关以及家具的位置在
一天中都符合一定的规律,以及人的活动都满足一定的时间规律,通过统计学原理对该规
律进行分析,选择对应不同时间段的词袋树模型作为室内机器人的定位与导航的回环检测
的数据库。同时由于词袋模型都是可以线下或者在机器人空闲时刻训练的,能满足实时性
的要求。具体步骤如图2所示,包括以下步骤:
a)通过统计学模型对家具中的门窗,光线的移动以及低动态特定家具的运动规律
进行统计;
b)根据以上状态的估计确定目前状态所在的时间范围;
c)根据时间选择对应的前三个概率值最高的词袋树模型作为回环检测的库;
d)如果均匹配错误进入对所有的树进行一次遍历,如果均不能匹配则建立新的词
袋树;
e)机器人停止运动时对词袋树进行优化。
3.本发明方法的整体流程
参考图1,图2,本发明方法的流程的具体设计如下:
1)输入长时间的包含低动态室内场景变化的视频流
本发明是针对包含低动态的室内场景的应用,滤除掉高动态的运动物体后,在对
仅包含低动态的室内场景建图后保证机器人的长时间的定位与导航有效性,同时家具环境
中光照的移动和强弱变化、门窗和座椅等均符合低动态的定义。视频流获取时一定要保证
环境的真实性和连续性,不能出现对摄像头的遮挡等行为。
2)提取特征向量,并通过k-means++算法进行聚类
首先对输入的视频中的图像提取特征向量,然后将提取的特征通过k-means++算
法进行聚类,对子空间进行迭代聚类,这样可以对特征进行聚类。相同的划分同一类,迭代
次数即树的深度需要人为定义。实际操作中,确定一个迭代次数的值,多次迭代以后仍在同
一个最小子空间的特征视为同一类。
3)基于DBoW2建立词袋树模型,
对以上聚类后的特征建立树结构以保存特征,同时保存特征的正向索引(Direct
index image)和反向索引(Inverse index word)。正向索引中包含每一帧图像的特征以及
该特征所在树的父节点,反向索引存储每一个特征所在的图像的序号以及在该图像中所占
的比重,这里比重的值为TF*IDF,也就是词频TF与反向文本频率IDF的乘积。其中词频是指
给定的词语在该文本中出现的频率,反向文本频率是指一个词语普遍重要性的度量,某一
特定词语的反向文本频率,可以用总文件数目除以包含该词语的文件的数目,再将得到的
商取对数得到。
通过反向索引能快速定位到需要比较的相似的图像,而避免了对所有图像进行比
较,正向索引则能快速检查图像中的特征。在实际操作中,对输入的每一个图像都要计算正
向索引和反向索引。
4)建立词袋树群模型
间隔一定时间T后保存已经建立的树模型,映射出该树模型结构并用于之后的更
新,直到经过设定的时间T,即图1中的Time>T,其中Time表示累加时间,T表示设定的时间
阈值。
5)重复上述操作,直到建立N个词袋树模型。
6)通过统计原理对家具等低动态物体运动规律进行统计
现有的特定的图像处理技术,已经能判断门的开关以及窗户的开关,以及家具的
位置移动。通过一定的假设,并在后期对生活家具的数据的检验和校正中更正运动规律,对
运动规律划分为多个时间点以方便后续对应到词袋树模型。
7)借助统计分析确定此时刻对应的词袋树模型
根据以上的统计分析对应的时间点来选择合适的词袋树模型,得出三个概率最大
的词袋树,并作为室内机器人定位和导航的回环检测模块的数据库。
8)依次检验三个树模型
在实际应用中,如果当前通过环境获得的特征向量在概率最大的三个词袋树模型
找到匹配,则将机器人重新定位,并优化词袋树群模型,将词袋树群模型中不匹配或者冗余
的特征点去除;如果不能匹配则搜索剩下所有的词袋树,如果仍然不能匹配,则将重新生成
词袋树,将此时通过环境获得的特征向量加入新的词袋树中。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术
人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本
发明的保护范围应以权利要求书所述为准。