掌桥专利:专业的专利平台
掌桥专利
首页

基于视觉回环的扫地机定位方法、装置、设备及介质

文献发布时间:2023-06-19 11:29:13


基于视觉回环的扫地机定位方法、装置、设备及介质

技术领域

本发明涉及到扫地机器人领域,特别是涉及到一种基于视觉回环的扫地机定位方法、装置、设备及介质。

背景技术

现有的扫地机器人视觉定位方案,很大程度上受限于环境的限制,例如摄像头顶视时,整体特征点较少,同时光线的变化也会带来不同程度的影响,多种因素综合起来会导致整体定位的前端累计误差较大,无法准确定位,而加入回环优化,可以消除累计误差,提高定位的准确度。但是,现有的视觉回环方案存在以下不足:由于扫地机视觉传感器位于扫地机顶部,视角方向朝向上侧天花板,当扫地机向不同前进方向时,同一位置获得的天花板图像可能呈旋转关系,而现有的视觉回环方案并无法消除图像旋转带来的影响,这样会大大降低回环的成功率。

发明内容

本发明的主要目的为提供一种基于视觉回环的扫地机定位方法、装置、设备及介质,以解决现有视觉回环方案成功率低的问题。

本发明的技术方案为:

一种基于视觉回环的扫地机定位方法,包括:

获取扫地机当前采集到的当前关键帧;

提取当前关键帧的ORB特征向量;

将ORB特征向量转换为DBoW库内的特征向量,DBoW库存储有当前关键帧和历史关键帧的特征向量;

通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环;

若是,求解当前关键帧与回环关键帧的相对位姿;

根据相对位姿,完成扫地机定位。

进一步地,获取扫地机当前采集到的当前关键帧的步骤,包括:

获取扫地机当前采集到的环境图片;

判断环境图片中的特征是否达到预设数量;

若是,则判定环境图片为当前关键帧。

进一步地,获取扫地机当前采集到的环境图片的步骤,包括:

判断扫地机在采集前一次环境图片后行走的距离是否等于预设距离;

若是,则采集环境图片。

进一步地,通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环的步骤,包括:

通过比对当前关键帧和历史关键帧的特征向量,寻找与当前关键帧相似度最高的目标历史关键帧;

判断当前关键帧与目标历史关键帧的相似度是否达到第一预设阈值;

若是,选定目标历史关键帧为回环候选帧;

获取当前关键帧、当前关键帧前一帧、回环候选帧以及回环候选帧后一帧对应的DBoW库内的特征向量;

通过比对当前关键帧、当前关键帧前一帧、回环候选帧以及回环候选帧后一帧的DBoW库内的特征向量,获取当前关键帧与当前关键帧前一帧的第一相似值、当前关键帧与回环候选帧后一帧的第二相似值以及当前关键帧前一帧与回环候选帧的第三相似值;

判断第一相似值、第二相似值与第三相似值是否符合预设条件;

若是,判断出现视觉回环。

进一步地,在选定目标历史关键帧为回环候选帧的步骤之后,还包括:

判断当前关键帧的帧数与回环候选帧的帧数差是否大于第二预设阈值;

若是,则进行获取当前关键帧、当前关键帧前一帧、回环候选帧以及回环候选帧后一帧对应的DBoW库内的特征向量的步骤。

进一步地,求解当前关键帧与回环关键帧的相对位姿的步骤,包括:

将当前关键帧与当前关键帧前一帧根据前端位姿进行三角化分析,获取对应的3D特征点;

获取当前关键帧、当前关键帧前一帧与及回环候选帧之间的匹配共视点;

根据3D特征点以及匹配共视点利用PNP求解当前关键帧与回环关键帧的相对位姿。

进一步地,在将ORB特征向量转换为DBoW库内的特征向量,DBoW库存储有当前关键帧和历史关键帧的特征向量的步骤之后,还包括:

判断当前关键帧的帧数是否达到第三预设阈值;

若是,则进行通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环的步骤。

本发明还提供一种基于视觉回环的扫地机定位装置,包括:

获取模块,用于获取扫地机当前采集到的当前关键帧;

提取模块,用于提取当前关键帧的ORB特征向量;

转换模块,用于将ORB特征向量转换为DBoW库内的特征向量,DBoW库存储有当前关键帧和历史关键帧的特征向量;

判断模块,用于通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环;

求解模块,用于在判断出现视觉回环后求解当前关键帧与回环关键帧的相对位姿;

定位模块,用于根据相对位姿,完成扫地机定位。

本发明还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述基于视觉回环的扫地机定位方法的步骤。

本发明还提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述基于视觉回环的扫地机定位方法的步骤。

本发明提供一种基于视觉回环的扫地机定位方法,通过提取扫地机行走时采集的当前关键帧的ORB特征向量,并将该ORB特征向量转换为DBoW库内的特征向量,由于ORB特征向量具备旋转不变性的特点,其对应的DBoW库内的特征向量也具备旋转不变性,因此通过比对当前关键帧以及历史关键帧之间的DBoW库内的特征向量来判断是否出现视觉回环的方法,消除了图像的旋转因素对回环判断的影响,极大提高了扫地机视觉回环的成功率以及对回环判断的准确率。

附图说明

图1为本发明一实施例的基于视觉回环的扫地机定位方法的流程示意图;

图2为扫地机机实际行走路线示意图;

图3为扫地机当前关键帧实际点位与理论点位的示意图;

图4为本发明一实施例的基于视觉回环的扫地机定位装置的结构示意图;

图5为本发明一实施例的计算机设备的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体地限定。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。

参照图1,为本发明一实施例的基于视觉回环的扫地机定位方法的流程示意图。

一种基于视觉回环的扫地机定位方法,包括:

S1:获取扫地机当前采集到的当前关键帧;

S2:提取当前关键帧的ORB特征向量;

S3:将ORB特征向量转换为DBoW库内的特征向量,DBoW库存储有当前关键帧和历史关键帧的特征向量;

S4:通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环;

S5:若是,求解当前关键帧与回环关键帧的相对位姿;

S6:根据相对位姿,完成扫地机定位。

在步骤S1中,在扫地机顶部设置有视觉传感器,利用该视觉传感器在扫地机的行走过程中不断采集当前关键帧,然后获取采集到的当前关键帧。

在步骤S2中,ORB是Oriented Fast and Rotated Brief(定向快速旋转)的简称,可以用来对图像中的关键点快速创建特征向量,这些特征向量可以用来识别图像中的对象。ORB首先会从图像中查找特殊区域,称为关键点。关键点即图像中突出的小区域,比如角点,比如它们具有像素值急剧的从浅色变为深色的特征。然后ORB会为每个关键点计算相应的特征向量。ORB算法创建的特征向量只包含1和0,称为二元特征向量。1和0的顺序会根据特定关键点和其周围的像素区域而变化。该向量表示关键点周围的强度模式,因此多个特征向量可以用来识别更大的区域,甚至图像中的特定对象。ORB的特点是速度超快,而且在一定程度上不受噪点和图像变换的影响,例如旋转和缩放变换等。

在步骤S3和S4中,DBoW是Distributed Bag of Words(词袋)的简称,DBoW库是一个开源的C++库,用于给图像特征排序,并将图像转化成视觉词袋表示。它采用层级树状结构将相近的图像特征在物理存储上聚集在一起,创建一个视觉词典。DBoW库还包括一个图像数据库,带有顺序索引和逆序索引,可以使图像特征的检索和对比非常快。

由于扫地机目前承载的硬件条件难以满足视觉回环的图像要求,因此,在本发明中,将关键帧(包括当前关键帧以及历史关键帧)的ORB特征向量转换为DBoW库内的特征向量,并利用DBoW库内的特征向量进行视觉回环的计算判断,利用DBoW库特征向量的的计算以及对比速度优势,从软件方法上弥补扫地机硬件条件上的缺陷,提高视觉回环判断的准确率。

在本实施例中,通过提取扫地机行走时采集的当前关键帧的ORB特征向量,并将该ORB特征向量转换为DBoW库内的特征向量,由于ORB特征向量具备旋转不变性的特点,其对应的DBoW库内的特征向量也具备旋转不变性,因此通过比对当前关键帧与历史关键帧之间的DBoW库内的特征向量来判断是否出现视觉回环的方法,消除了图像的旋转因素对回环判断的影响,极大提高了扫地机视觉回环的成功率以及对回环判断的准确率。

在本发明一实施例中,获取扫地机当前采集到的当前关键帧的步骤S1,包括:

S1.1:获取扫地机当前采集到的环境图片;

S1.2:判断该环境图片中的特征是否达到预设数量;

S1.3:若是,则判定该环境图片为当前关键帧。

在本实施例中,因为图像占用空间比较大,为了减少数据冗余,扫地机会自动筛选采集特征比较丰富的图像作为当前关键帧,比如参照物、区别物达到设定的数量的图片。

在本发明一实施例中,获取扫地机当前采集到的环境图片的步骤S1.1,包括:

S1.1.1:判断扫地机在采集前一次环境图片后行走的距离是否等于预设距离;

S1.1.2:若是,则采集环境图片。

扫地机在行走的过程中有可能因为进入较为狭窄的空间或者被一些物品缠住从而被困在一个地方出不来,在这种情况下,扫地机采集到的环境图片基本一致,那么很有可能产生扫地机已出现视觉回环的误判断。因此,在该实施例中,通过控制扫地机在每行走预设距离后才采集一次当前环境图片,可以避免扫地机在同一个地方多次采集到基本相同的图片而产生视觉回环的误判断。在其他实施例中,也可以在扫地机每次准备获取环境图片前对扫地机进行定位,并判断当前位置与上次获取环境图片时的位置之间的直线距离是否超过指定距离,若是,则在当前位置获取环境图片,若否,则控制扫地机继续行走。

在本发明一实施例中,通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环的步骤S4,包括:

S4.1:通过比对当前关键帧和历史关键帧的特征向量,寻找与当前关键帧相似度最高的目标历史关键帧;

S4.2:判断当前关键帧与目标历史关键帧的相似度是否达到第一预设阈值;

S4.3:若是,选定目标历史关键帧为回环候选帧;

S4.4:获取当前关键帧、当前关键帧前一帧、回环候选帧以及回环候选帧后一帧对应的DBoW库内的特征向量;

S4.5:通过比对当前关键帧、当前关键帧前一帧、回环候选帧以及回环候选帧后一帧的DBoW库内的特征向量,获取当前关键帧与当前关键帧前一帧的第一相似值、当前关键帧与回环候选帧后一帧的第二相似值以及当前关键帧前一帧与回环候选帧的第三相似值;

S4.6:判断第一相似值、第二相似值与第三相似值是否符合预设条件;

S4.7:若是,判断出现视觉回环。

在步骤S4.1和S4.2中,将所有的历史关键帧集合形成一个数据库,然后将当前关键帧与数据库中的每一个历史关键帧进行比较,每一次比较都根据两者的相似度进行打分,打分最高的历史关键帧则与当前关键帧最为相似,选定该相似度最高的历史关键帧为目标历史关键帧,因此我们可以初步判断为扫地机此时离采集该目标历史关键帧时的位置最为接近。在步骤S4.2中,当该目标历史关键帧与当前关键帧的相似度达到第一预设阈值时,可以判断此时扫地机很有可能形成视觉回环。在一些实施例中,第一预设阈值取值为0.15。

在现有的视觉回环方案中,在上述相似度达到第一预设阈值时,即认定扫地机已出现视觉回环。但是,实际中存在因为某两个位置具有类似的结构构造而造成个别关键帧相似度高但并非真正回环的情况,因此,本发明为了排除上述情况的影响,提高回环判断的准确性,在步骤S4.3中,只是将该目标历史关键帧选定为回环候选帧,再进行更进一步地回环检测。

如果扫地机真正发生回环,那么回环关键帧附近的几帧图像应均较为相似。因此,相对与现有技术,还加入了步骤S4.4-S4.7的回环检测策略。

参照图2,在步骤S4.4-S4.7中,选取当前关键帧J1、当前关键帧前一帧J2、回环候选帧J3以及回环候选帧后一帧J4进行相似度对比,具体地,由于一般认为当前关键帧J1与当前关键帧前一帧J2作为连续帧,图像应该是最像的,获取二者之间的第一相似值A;在选取的四副帧中,两两交叉之间进行比对,即获取当前关键帧J1与回环候选帧后一帧J4的第二相似值B以及当前关键帧前一帧J2与回环候选帧J3的第三相似值C。如果第一相似值A、第二相似值B以及第三相似值C满足预设条件,即判断扫地机出现视觉回环。

本发明在现有技术的基础上进一步增加步骤S4.4-S4.7的回环检测策略,大大提高了扫地机回环检测的准确率。

进一步地,在本实施例中,如果第二相似值B>(第一相似值A×预设比例值),且第三相似值C>(第一相似值A×预设比例值),则判断出现视觉回环。在本实施例中,如果第二相似值B和第三相似值C均能达到第一相似值A的预设比例时,则默认回环关键帧附近的图像确实均符合回环指标,进而判定扫地机出现视觉回环。具体地,上述预设比例值为0.6和0.7。

在本发明一实施例中,在选定目标历史关键帧为回环候选帧J3的步骤S4.3之后,还包括:

S4.3.1:判断当前关键帧J1的帧数与回环候选帧J3的帧数差是否大于第二预设阈值;

S4.3.2:若是,则进行获取当前关键帧J1、当前关键帧前一帧J2、回环候选帧J3以及回环候选帧后一帧J4对应的DBoW库内的特征向量的步骤S4.4。

在步骤S4.3.1和S4.3.2中,如果当前关键帧J1的帧数与回环候选帧J3的帧数差很小的话,说明扫地机从采集回环候选帧J3时的位置开始并没有跑多远,这个时候回环候选帧J3与当前关键帧J1之间的几帧图像几乎是连续的,必然较为相似,如若进行回环检测的话,成功率很高,但是准确率低。因此,只有当当前关键帧J1的帧数与回环候选帧J3的帧数差超过第二预设阈值时,才会进行下一步的回环检测。

在该实施例中,求解当前关键帧J1与回环关键帧的相对位姿的步骤S5,包括:

S5.1:将当前关键帧J1与当前关键帧前一帧J2根据前端位姿进行三角化分析,获取对应的3D特征点;

S5.2:获取当前关键帧J1、当前关键帧前一帧J2与及回环候选帧J3之间的匹配共视点;

S5.3:根据3D特征点以及匹配共视点利用PNP求解当前关键帧J1与回环关键帧的相对位姿。

在步骤S5.1中,特征点三角化(Triangulation)是视觉回环中一个非常基础的问题,它是根据特征点在多个相机下的投影恢复出特征点的3D坐标。特征点在某个相机中被观测到,根据相机位姿和观测向量可以得到3D空间中的一条从相机中心出发的观测“射线”,多个相机位姿观测会产生多条观测射线,理想情况下这些观测射线相交于空间中一点,求所有观测射线的交点就是特征点在3D空间的位置,这就是三角化最朴素的思想。

在步骤S5.3中,PnP是Perspective-n-Point(多点透视成像)的简称,PNP是求解3D到2D点对运动的方法。它描述了当我们知道n个3D空间点以及它们的投影位置时,如何估计相机所在的位姿。

在该实施例中,在判断扫地机出现视觉回环后,上述回环候选帧J3被判定为回环关键帧。本发明采用三角化以及PNP算法求解当前关键帧J1与回环关键帧相对位姿良好的相对位姿,提高了相对位姿的求解精度,也能够提高扫地机重定位的效果。

在步骤S6中,参照图3,根据求解结果,将当前关键帧J1实际点位M纠正到当前关键帧J1理论点位M’,以纠正扫地机行走和定位问题。其中,线a为扫地机的理论路线,线b为扫地机的实际路线。

在本发明一实施例中,在将ORB特征向量转换为DBoW库内的特征向量,DBoW库存储有当前关键帧和历史关键帧的特征向量的步骤S3之后,还包括:

S3.1:判断当前关键帧的帧数是否达到第三预设阈值;

S3.2:若是,则进行通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环的步骤。

由于扫地机在开始运动的时候,扫地机定位的前端累计误差较小,这时候视觉回环的作用不大,为了简化扫地机的定位方案,在扫地机有一定的行走距离后才判断是否出现回环。因此,在该实施例中,只有在当前关键帧的帧数达到第三预设阈值后,才开始进行视觉回环的检测。第三预设阈值可以根据实际情况进行设计,一般可以是10、15不等,本发明不对此进行限定。

参照图4,本发明还提供一种基于视觉回环的扫地机定位装置,包括:

获取模块11,用于获取扫地机当前采集到的当前关键帧;

提取模块12,用于提取当前关键帧的ORB特征向量;

转换模块13,用于将ORB特征向量转换为DBoW库内的特征向量,DBoW库存储有当前关键帧和历史关键帧的特征向量;

判断模块14,用于通过比对当前关键帧和历史关键帧的特征向量,判断是否出现视觉回环;

求解模块15,用于在判断出现视觉回环后求解当前关键帧与回环关键帧的相对位姿;

定位模块16,用于根据相对位姿,完成扫地机定位。

由于扫地机目前承载的硬件条件难以满足视觉回环的图像要求,因此,在本发明中,将关键帧(包括当前关键帧以及历史关键帧)的ORB特征向量转换为DBoW库内的特征向量,并利用DBoW库内的特征向量进行视觉回环的计算判断,利用DBoW库特征向量的的计算以及对比速度优势,从软件方法上弥补扫地机硬件条件上的缺陷,提高视觉回环判断的准确率。

在本实施例中,通过提取模块12提取扫地机行走时采集的当前关键帧的ORB特征向量,并利用转换模块13将该ORB特征向量转换为DBoW库内的特征向量,由于ORB特征向量具备旋转不变性的特点,其对应的DBoW库内的特征向量也具备旋转不变性,因此通过比对当前关键帧和历史关键帧之间的DBoW库内的特征向量来判断是否出现视觉回环的方法消除了图像的旋转因素对回环判断的影响,极大提高了扫地机视觉回环的成功率以及对回环判断的准确率。

本发明还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于视觉回环的扫地机定位方法的程序等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现上述各实施例中的基于视觉回环的扫地机定位方法。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例中的基于视觉回环的扫地机定位方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 基于视觉回环的扫地机定位方法、装置、设备及介质
  • 一种基于视觉回环校准陀螺仪的扫地机定位方法及装置
技术分类

06120112940550