本申请涉及机器人,特别是涉及一种重定位方法、计算机设备和存储介质。
背景技术:
1、随着机器人技术的发展,机器人给我们的生活带来了巨大的便利。为了保证机器人的正常工作,需要获取机器人的初始位置,即需要对机器人进行重定位。
2、相关技术中,对机器人进行重定位时,通常是根据机器人当前的图像数据从预设的地图数据中寻找匹配度最大的地图帧,然后再依据该匹配度最大的地图帧实现对机器人的重定位。然而,现有技术中的机器人重定位容易出错。因此,如何提高机器人重定位的准确性,成为本领域技术人员亟需解决的技术问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高重定位准确性的重定位方法、计算机设备和存储介质。
2、第一方面,本申请提供了一种重定位方法。所述方法包括:
3、获取待定位的目标对象在当前位置的环境图像数据;
4、在所述环境图像数据中提取得到全局描述信息;
5、根据所述全局描述信息在视觉地图中确定与所述环境图像数据相似度最高的k个地图帧;k为整数,且k≥1;
6、在根据相似度最高的所述k个地图帧,确定所述目标对象的当前位置在所述视觉地图中不存在对称场景或多个相似场景,若确定所述k个地图帧中相似度最高的地图帧为所述当前位置的目标相似场景,则根据所述k个地图帧中相似度最高的地图帧对所述目标对象进行重定位。
7、在其中一个实施例中,所述视觉地图包括各地图帧的位姿信息;
8、根据所述相似度最高的k个地图帧,确定所述目标对象的当前位置在所述视觉地图中是否存在多个相似场景的步骤,包括:根据所述相似度最高的k个地图帧间的位姿距离确定所述k个地图帧是否属于一个场景;
9、若确定所述k个地图帧属于多个场景,则确定所述目标对象的当前位置在所述视觉地图中存在多个相似场景。
10、在其中一个实施例中,所述根据所述相似度最高的k个地图帧间的位姿距离确定所述k个地图帧是否属于一个场景,包括:
11、计算所述k个地图帧中相似度最高的地图帧与所述k个地图帧中除相似度最高的地图帧外的其它地图帧的位姿信息的距离,得到k-1个位姿距离;
12、若所述k-1个位姿距离中大于第一阈值的数量占比大于第二阈值,则确定所述k个地图帧属于多个场景;
13、若所述k-1个位姿距离中大于第一阈值的数量占比小于或等于第二阈值,则确定所述k个地图帧属于一个场景。
14、在其中一个实施例中,确定所述目标对象的当前位置在所述视觉地图中是否存在对称场景的步骤,包括:
15、将所述k个地图帧中相似度最高的地图帧与当前位置的所述环境图像数据进行正向特征点匹配,得到正向特征点匹配比例,将所述k个地图帧中相似度最高的地图帧与当前位置的所述环境图像数据进行反向特征点匹配,得到反向特征点匹配比例;
16、若所述正向特征点匹配比例和所述反向特征点匹配比例的差值小于第三阈值,则确定所述相似度最高的地图帧为当前位置的对称场景。
17、在其中一个实施例中,所述根据所述相似度最高的k个地图帧,确定所述目标对象的当前位置在所述视觉地图中是否存在多个相似场景的步骤,包括:
18、将所述k个地图帧中相似度最高的地图帧与当前位置的所述环境图像数据进行正向特征点匹配,得到正向特征点匹配比例,将所述k个地图帧中相似度最高的地图帧与当前位置的所述环境图像数据进行反向特征点匹配,得到反向特征点匹配比例;
19、若所述正向特征点匹配比例和反向特征点匹配比例中的较大值小于第四阈值,则确定所述目标对象的当前位置在所述视觉地图中存在多个相似场景。
20、在其中一个实施例中,所述根据所述k个地图帧中相似度最高的地图帧对所述目标对象进行重定位,包括:
21、根据所述正向特征点匹配比例和反向特征点匹配比例中的较大值所对应的匹配方向,对所述目标对象进行重定位。
22、在其中一个实施例中,若所述目标对象的当前位置在所述视觉地图中存在对称场景或多个相似场景,或所述k个地图帧中相似度最高的地图帧不为所述当前位置的目标相似场景,则控制所述目标对象移动,并返回所述获取待定位的目标对象当前位置的环境图像数据的步骤。
23、在其中一个实施例中,所述方法还包括:
24、获取所述目标对象的m次定位位置,若连续m次均定位成功,则所述目标对象重定位成功;其中,m为正整数;
25、若定位失败,则所述目标对象重定位失败,在预设区域中移动所述目标对象,返回所述获取待定位的目标对象当前位置的环境图像数据的步骤。
26、第二方面,本申请还提供了一种重定位装置。所述装置包括:
27、数据获取模块,用于获取待定位的目标对象当前位置的环境图像数据;
28、信息提取模块,用于在所述环境图像数据中提取得到全局描述信息;
29、地图帧确定模块,用于根据所述全局描述信息在视觉地图中确定与所述环境图像数据相似度最高的k个地图帧;k为整数,且k≥1;
30、重定位模块,用于在根据相似度最高的所述k个地图帧,确定所述目标对象的当前位置在所述视觉地图中不存在对称场景或多个相似场景时,若确定所述k个地图帧中相似度最高的地图帧为所述当前位置的目标相似场景,则根据所述k个地图帧中相似度最高的地图帧对所述目标对象进行重定位。
31、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的重定位方法。
32、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的重定位方法。
33、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的重定位方法。
34、上述重定位方法、计算机设备和存储介质,通过根据全局描述信息在视觉地图中确定与环境图像数据相似度最高的k个地图帧,根据相似度最高的k个地图帧排除当前场景在视觉地图中不存在对称场景,或多个相似场景后,在确定k个地图帧中相似度最高的地图帧为当前位置的目标相似场景时进行重定位,能够避免对称场景或其它相似场景对重定位出错的问题的干扰,进而提高了目标对象重定位的准确性。
1.一种重定位方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述视觉地图包括各地图帧的位姿信息;
3.根据权利要求2所述的方法,其特征在于,所述根据所述相似度最高的k个地图帧间的位姿距离确定所述k个地图帧是否属于一个场景,包括:
4.根据权利要求1所述的方法,其特征在于,确定所述目标对象的当前位置在所述视觉地图中是否存在对称场景的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述相似度最高的k个地图帧,确定所述目标对象的当前位置在所述视觉地图中是否存在多个相似场景的步骤,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述k个地图帧中相似度最高的地图帧对所述目标对象进行重定位,包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,若所述目标对象的当前位置在所述视觉地图中存在对称场景或多个相似场景,或所述k个地图帧中相似度最高的地图帧不为所述当前位置的目标相似场景,则控制所述目标对象移动,并返回所述获取待定位的目标对象当前位置的环境图像数据的步骤。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。