具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种移动设备的位姿确定方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的移动设备的位姿确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
作为一个可选的实施方式,下面对本申请涉及到的名词进行解释:
里程计:初步估算出移动机器人角度和距离的变化量,常见的有轮式编码器,从而能够根据前后时刻的位姿变化量和前一时刻的位姿来估计出当前时刻机器人的位姿;
二维激光雷达:用于获取二维平面信息的传感器,用于检测周围环境的二维平面轮廓信息;
在本实施例中提供了一种运行于上述移动终端的移动设备的位姿确定方法,图2是根据本发明实施例的移动设备的位姿确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在确定移动设备定位丢失的情况下,获取由所述移动设备拍摄得到的第一图像;
步骤S204,在预先建立的图像库中查找与所述第一图像的相似度大于或等于第一预设阈值的第二图像,以及与所述第二图像相关联的第一位姿,其中,所述第二图像是所述移动设备在所述第一位姿拍摄得到的图像;
步骤S206,对所述第一位姿进行旋转和/或平移处理,得到N个第一候选位姿,其中,所述N为大于或等于1的整数,所述N个第一候选位姿中包括所述第一位姿;
步骤S208,根据所述N个第一候选位姿的激光定位得分,确定所述移动设备的当前位姿。
通过上述步骤,通过在确定移动设备定位丢失的情况下,获取由移动设备拍摄得到的第一图像;在预先建立的图像库中查找与第一图像的相似度大于或等于第一预设阈值的第二图像,以及与第二图像相关联的第一位姿;按照第一预设角度差旋转第一位姿,得到N个第一候选位姿;根据N个第一候选位姿的激光定位得分,确定移动设备的当前位姿。以此达到通过激光定位得分确定移动设备当前位姿的目的。进而解决了机器人位姿定位误差较大问题,达到提高机器人位姿定位准确率的效果。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
作为一个可选的实施方式,移动设备可以是移动机器人,如图3是根据本发明可选实施例的移动机器结构示意图,申请中的移动机器人包括移动底盘、2D激光雷达传感器和摄像机,移动地盘内设置有运动控制器、电机、电池、嵌入式计算机、里程计等。
作为一个可选的实施方式,预先建立的图像库中存储有移动机器人预先在各个位姿时拍摄的到的图像,在本实施例中,在确定移动机器人定位丢失的情况下,通过机器人的摄像机拍摄得到第一图像,在图像库中通过特征点和描述子的匹配,在图像库中查找与第一图像相似度大于或等于第一预设阈值的第二图像,将第二图像关联的第一位姿作为初始值,然后通过激光重定位方法在位姿的基础上进一步确定机器人的当前位姿,由于本申请在视觉重定位的基础上,通过激光重定位进一步确定机器人当前的位姿势,能够提高位姿的精确度。
作为一个可选的实施方式,当机器人定位丢失时,根据机器人采集到的当前图像帧(第一图像),提取该图像帧特征点并计算描述子,然后通过回环检测算法DBOW3在预先建立的图像库中检测是否有相似度非常高的图像帧,可以设置第一预设阈值,将相似度大于或等于第一预设阈值的图像帧作为与第一图像相似的第二图像。根据第二图像的第一位姿作为对机器人当前位姿的初步预估结果。
作为一个可选的实施方式,可以利用第二图像上的特征点和第一图像的特征点,通过描述子进行特征点匹配计算。在第一图像的特征点一定范围内去检索第二图像上的特征点,从而加速特征点匹配计算。对第一图像和第二图像中匹配上的特征点,利用对极几何约束去除外点,利用第二图像上匹配点对应的3D点和第一图像的2D点,利用PnP算法求出第一图像位姿的初步预估结果第一位姿。
其中,对极几何约束公式为:
x0Ex1=0
其中,x0表示第一图像匹配上的特征点归一化坐标;x1表示第二图像匹配上的特征点归一化坐标;E表示本质矩阵。
可选地,所述根据所述N个第一候选位姿的激光定位得分确定所述移动设备的当前位姿,包括:使用分枝定界法,通过所述移动设备分别在N个第一候选位姿上的N组激光点云分别落在一组不同分辨率的概率栅格地图中的得分,确定所述移动设备的当前位姿,其中,所述一组不同分辨率的概率栅格地图是对原始概率栅格地图进行降采样得到的,所述原始概率栅格地图上包括有多个栅格,每个栅格上标识的数值用于表示激光落在该栅格上的得分。
作为一个可选的实施方式,激光同时定位与制图(Simultaneous Localizationand Mapping,简称SLAM)建立的先验地图保存成不同分辨率的概率栅格地图,概率栅格地图中的每个栅格上标识的数值可以是概率值,概率值可以用于表示当前栅格被障碍物占据的概率,离概率栅格越近,该栅格的得分越高。在本实施例中,如图4所示是根据本发明可选实施例的原始概率栅格地图示意图,图中每个方框用于表示一个栅格,栅格上标识的数值如0.4、0.7等用于表示该栅格被障碍物占据的概率,也可以将该概率值表示为激光点云落在该栅格上的得分。在本实施例中,位姿得分计算是指基于当前位姿将激光点云往概率栅格地图中投影,激光落在对应概率栅格上,则取对应栅格对应的数值作为当前该点云的得分,最后求该位置点云数据的所有点云的平均得分作为当前位姿的得分。
作为一个可选的实施方式,可以在初步估算的第一位姿所在位置基础上自动加上一定大小的搜索范围,例如,可以以第一位姿所在的位置作为中心位置,上下左右各增加预定范围生成预定大小的搜索框,如2mx2m的搜索框。先基于第一位姿和第一预设角度差,产生一系列旋转候选位姿,其中,第一预设角度差可以根据实际情况而定,例如可以是30度、45度、60度等。在本实施例中,还可以在基于任意分辨率的概率栅格地图(例如,分辨率最小的概率栅格地图),将第一位姿进行平移,从第一位姿作为起始点,平移至搜索框边界,得到平移候选位姿,其中,N个第一候选位姿包括:旋转候选位姿和/或平移候选位姿。在本实施例中,也可以对得到的旋转位姿按照基于任意分辨率的概率栅格地图在搜索框内进行平移,从每个旋转位姿所在的位置出发,平移至搜索框边界,产生一系列平移后的候选位姿。
作为一个可选的方式,通过确定候选位姿在不同分辨率下的概率栅格地图中的得分,假设对8cm的原始概率栅格地图降采样4层,得到1.28m分辨率大小的地图,至于降采样几层,依据先验地图的大小来确定。同样,对2cm高分辨率的地图进行2层的降采样,得到8cm分辨率的地图,这样保证在8cm分辨率先验地图上搜索的结果能精准过渡到2cm分辨率先验地图上。
可以基于最小分辨率的概率栅格地图的搜索框所表示的搜索范围内,计算在最小分辨率下的搜索框中,所有候选位姿(x,y,z)在每个栅格中的得分Si1。然后找出该搜索范围内所有栅格的最优得分SB。如图5是根据本发明可选实施例的分枝定界法示意图。通过分枝定界法选取出最优的位姿作为机器人的当前位姿,具体可以包括如下内容:
假设与最优得分SB对应的栅格是GB,则以栅格GB为父节点,求取该子树节点叶子节点的上界。即对GB进行分枝,确定GB的四个分枝中(降采样的第1层)得分最高得分SBS1,对应的栅格为GB2,然后接着对GB2进行分枝(降采样的第2层),以此类推,一直分枝到原始地图分辨率(降采样的第4层)为止,确定第4层叶子节点的最高得分SBS4。此时比较该子树第3层其他节点的得分Si3和SBS4进行比较。如果Si3<SBS4,则以该节点为父节点的子树砍掉,对该节点下的所有候选帧不用计算位姿得分。如果Si3>SBS4,则对Gsi3进行分枝,求Gsi3的分枝是否存在比Gs4大的节点,如果存在,则更新上界。以此类推第三层、第二层至第一层,更新完该子树T1的上界值B1。然后判断第1层其他节点的得分Si1是否小于B1,如果Si1<B1,则对Si1节点以及以该节点为父节点的整颗子树全部砍掉快速剔除候选帧。如果Si1>B1,则对Si1开始分枝,如果分枝节点的得分小于B1,则对以该分枝节点为父节点的子树全部砍掉;如果分枝节点的得分大于B1,则对该分枝节点继续分枝,以此类推,一直分枝到原始分辨率(第4层为止),然后判断该层叶子节点的得分是否大于B1,如果大于B1,则更新叶子节点,否则不做任何处理。依次对第1层的其他节点也做同样的操作,最终得到8cm分辨率先验地图上的最优位姿,并将得到的最优位姿作为机器人的当前位姿。
基于8cm分辨率的先验地图搜索的位姿,以该位姿为中心,搜索框的大小为0.2mx0.2m,搜索角度限制在正负10度,在2cm分辨率先验地图上,利用步骤c的方法进行快速搜索,得到2cm高分辨率地图上精搜索。其中,2cm分辨率地图降采样2层即可。2cm降采样2层得到8cm分辨率的地图,和8cm粗分辨率先验地图搜索的位姿进行精准过渡。通过上述多分辨率地图的分枝定界法,利用粗分辨率地图上的搜索结果,缩小在高分辨率地图上的搜索范围,提高在高分辨率的搜索速度。
可选地,所述对原始概率栅格地图进行降采样得到所述一组不同分辨率的概率栅格地图,包括:通过双向滑窗对所述原始概率栅格地图进行降采样,得到预定分辨率的概率栅格地图,其中,所述预定分辨率的概率栅格地图的分辨率小于所述原始概率栅格地图的分辨率;按照分辨率大小对所述预定分辨率的概率栅格地图和原始概率栅格地图进行排序,得到一组不同分辨率的概率栅格地图。
作为一个可选的实施方式,双向滑窗包括上下滑窗和左右滑窗,如图6是根据本发明可选实施例的原始概率栅格地图左右滑窗后得到的概率地图示意图,图7是根据本发明可选实施例的原始概率栅格地图上下滑窗后得到的概率地图示意图。降采样后的分辨率地图栅格概率大小,是原分辨率地图对应滑窗空间中所有栅格的最大值。即保证基于降采样后分辨率位姿得分是原分辨率位姿得分的上界。其中位姿得分计算是指基于当前位姿将激光点云往概率栅格地图中投影,激光落在对应概率栅格上,则取对应栅格的概率值作为当前该点云的得分,最后求该帧点云数据的所有点云的平均得分作为当前位姿的得分。
作为一个可选的实施方式,记t时刻机器人位姿为x
t=[x y θ]
T,假设激光雷达的第k束激光数据相对于机器人坐标系的坐标为[x
k,sens y
k,sens θ
k,sens]
T,则第k束激光数据
在世界坐标系下的坐标为:
可选地,所述方法还包括:获取所述移动设备在所述当前位姿的激光点云;确定所述移动设备在所述当前位姿的激光点云与所述原始概率栅格地图的匹配率;在所述匹配率小于或等于第二预设阈值的情况下,根据所述移动设备在所述当前位姿的激光点云更新所述原始概率栅格地图。
作为一个可选的实施方式,机器人运行的环境会发生一定的变化,需要对用于视觉重定位的图像库进行更新。在本实施例中,采用在机器人定位过程中,通过判断当前激光数据与先验地图(原始概率栅格地图)的匹配得分是否大于一定阈值(例如,40分),则确定原始概率栅格地图与当前位姿的激光数据不符,可以根据当前位姿的激光数据对原始概率栅格地图进行更新。在本实施例中,通过实时更新先验地图可以提高对当前位姿势进行计算的准确率。
可选地,在所述在预先建立的图像库中查找与所述第一图像的相似度大于或等于第一预设阈值的第二图像之前,所述方法还包括:在所述移动设备在原始概率栅格地图移动过程中,确定移动距离或旋转角度大于或等于第一预设阈值时,所述移动设备的位姿为关键位姿;建立所述移动设备在所述关键位姿采集的关键帧和对应的关键位姿的关联关系,并将所述关联关系存储在所述图像库,其中,所述关键位姿包括所述第一位姿,所述关键帧包括所述第一图像。
作为一个可选的实施方式,基于激光同时定位与建图SLAM构建出当前机器人运行环境的概率栅格地图,然后在该地图中沿固定路线跑定位算法,激光定位算法的精度比视觉定位精度高。在机器人沿固定路线行走的过程中,定位算法实时估计出机器人当前的位姿,根据位姿间的平移或者旋转变化量是否大于一定阈值或者时间变化量来选择关键帧,对关键帧的提取特征点和描述子计算,加入视觉特征库中,阈值可以根据实际情况而定。
作为一个可选的实施方式,对于关键帧中提取的特征点,利用相机透视投影模型估计出特征点对应的3D点坐标。设关键帧的位姿为T,该帧上提取的特征点像素坐标为p,其对应的3D点坐标为PW,相机内参为K,则有:
上式中,关键帧的位姿T和像素坐标p是已知的,从而能够求出该特征点对应的3D点坐标。对上述提取的特征点,计算每个特征点的描述子,并将该帧特征点加入图像库中。对于相邻关键帧,同样在相邻帧上提取特征点和计算描述子,然后依据描述子来寻找匹配点,并根据对极几何约束进行外点剔除。
x0Ex1=0 (2)
其中:x0表示当前帧匹配上的特征点归一化坐标;x1表示相邻帧匹配上的特征点归一化坐标;E表示本质矩阵;在当前帧上能匹配上的特征点,用前一帧相机对应特征点的3D坐标作为该帧匹配特征点的3D坐标,对于未匹配上的特征点,利用公式(1)求出其对应的3D点坐标。在后期视觉重定位中,利用当前帧和视觉图像库中匹配上的像素点坐标和对应的3D点坐标,估算出当前帧的位姿。
可选地,所述方法还包括:获取所述移动设备在所述当前位姿拍摄的第三图像;确定第三图像与所述第二图像的匹配率;在所述匹配率小于或等于第三预设阈值的情况下,将所述图像库中的所述第二图像更新为所述第三图像,与所述第二图像对应的所述第一位姿更新为所述当前位姿。
作为一个可选的实施方式,机器人运行的环境会发生一定的变化,需要对用于视觉重定位的图像库进行更新。在本实施例中,采用在机器人定位过程中,通过判断当前激光数据与先验地图(原始概率栅格地图)的匹配得分是否大于一定阈值(例如,40分),来决定是否要更新图像库,阈值可以根据实际情况而定,在此不作限定。当得分小于阈值,且在图像库中离当前位姿比较近的图像帧,与当前图像的相似度低,则在图像库中删除与当前帧相近的图像帧对应的特征,并将当前帧提取的特征加入到图像库中。在本实施例中,确定机器人在当前位姿后,机器人在当前位姿拍摄图像,得到第三图像。将当前位姿拍摄得到的第三图像与图像库中的第二图像进行比对,若匹配率低于预设阈值,说明图像库中存储的第二图像与机器人在当前位姿拍摄的图像不匹配,此时将图像库中的存储的第二图像更新为机器人在当前位姿拍摄的图像。在本实施例中,通过实时更新图像库中的图像,可以得到提高对机器人当前位姿初始预估结果准确率的效果。
可选地,所述方法还包括:若在所述预先建立的图像库中未查找到所述第二图像,控制所述移动设备移动预定距离或旋转第二预设角度;获取所述移动设备拍摄得到的第四图像;在预先建立的图像库中查找与所述第四图像的相似度大于或等于第一预设阈值的第五图像,以及与所述第五图像相关联的第二位姿,其中,所述第五图像是所述移动设备在所述第二位姿时拍摄得到的图像;按照所述第一预设角度差旋转所述第二位姿,得到N个第二候选位姿,其中,所述N为大于或等于1的整数,所述N个第二候选位姿中包括所述第二位姿;根据所述N个第二候选位姿的激光定位得分确定所述移动设备的当前位姿。
作为一个可选的实施方式,当使用视觉重定位,当前帧图像在视觉图像库中找不到匹配度很高的图像帧时,首先在开启机器人避障功能的基础上,旋转或者移动机器人,改变机器人的视野,判断是否能在图像库中找到匹配度很高的图像帧。如果能找到相似度很高的图像帧,则进行特征匹配、剔除外点,估计出当前的位姿作为激光局部重定位的初始值。
如果找不到相似度高的图像帧,则利用定位丢失前一段时间的位姿和该段时间记录的里程计数据或者利用开机时的位姿和开机后移动的里程计数据来递推出当前的初步位姿,作为激光局部重定位的初值。记前一时刻的位姿xt-1=[x y θ]T,其中x、y分别为世界坐标系下横纵坐标,表示机器人在x轴、y轴所在二维平面的位置,θ表示机器人在x轴、y轴所在二维平面的方向。利用运动模型,能够预测出当前时刻的位姿。运动模型方程如公式(4)所示。
作为一个可选的实施方式,图8是根据本发明可选实施例的视觉和激光重定位流程图。本申请在构建视觉词袋模型时,基于激光定位的位姿上构建,根据位姿间位姿的变化量来选择关键帧,构建视觉图像库方便,同时构建的图像库位姿更加准确;当机器人工作的环境发生变化时,根据激光定位评分和基于当前位姿采集的图像与图像库中相近位姿的图像的匹配度,来适当地更新图像库中的图像,提高环境变化下,视觉重定位的成功率。
视觉重定位估计的机器人位姿有一定的误差,将视觉重定位的结果作为激光重定位的初值,提高机器人初始位置的精度,使得机器人定位更加快速收敛到最优值,保证定位精度。而当设备定位丢失或者设备刚开机时,视觉重定位失败,设备会保存定位丢失前的正确位姿和该正确位姿到当前位姿的一段里程计数据或者设备关机前的位姿作为激光局部重定位的初值,保证重定位的成功率和搜索位姿的速度。或者当视觉重定位失败时,在开启避障的基础上,设备进行旋转或者走弧线换个视野,同时保存该段路线的里程计数据,利用视觉重定位的结果或者之前正确位姿和惯导信息来递推出来的结果作为激光重定位的初值,从而确保重定位成功。
采用基于多分辨率地图的分枝定界法加速激光局部重定位的速度,粗分辨地图减少候选解的数量,从而加速激光重定位的速度,而基于粗分辨率地图的地图降采样,降低了地图内存的占用;在粗分辨率地图重定位搜索结果基础上,在高分辨率先验地图上减少搜索范围,快速得到在高分辨率地图上的搜索结果,而高分辨率先验地图和机器人定位用的先验地图分辨率一致,从而保证了激光局部重定位的精度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种移动设备的位姿确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本发明实施例的移动设备的位姿确定装置的结构框图,如图9所示,该装置包括:获取模块92,用于在确定移动设备定位丢失的情况下,获取由所述移动设备拍摄得到的第一图像;查找模块94,用于在预先建立的图像库中查找与所述第一图像的相似度大于或等于第一预设阈值的第二图像,以及与所述第二图像相关联的第一位姿,其中,所述第二图像是所述移动设备在所述第一位姿拍摄得到的图像;旋转模块96,用于对所述第一位姿进行旋转和/或平移处理,得到N个第一候选位姿,其中,所述N为大于或等于1的整数,所述N个第一候选位姿中包括所述第一位姿;确定模块98,用于根据所述N个第一候选位姿的激光定位得分,确定所述移动设备的当前位姿。
可选地,上述装置还用于通过如下方式实现所述根据所述N个第一候选位姿的激光定位得分确定所述移动设备的当前位姿:使用分枝定界法,通过所述移动设备分别在N个第一候选位姿上的N组激光点云分别落在一组不同分辨率的概率栅格地图中的得分,确定所述移动设备的当前位姿,其中,所述一组不同分辨率的概率栅格地图是对原始概率栅格地图进行降采样得到的,所述原始概率栅格地图上包括有多个栅格,每个栅格上标识的数值用于表示激光落在该栅格上的得分。
可选地,上述装置还用于通过如下方式实现所述对原始概率栅格地图进行降采样得到所述一组不同分辨率的概率栅格地图:通过双向滑窗对所述原始概率栅格地图进行降采样,得到预定分辨率的概率栅格地图,其中,所述预定分辨率的概率栅格地图的分辨率小于所述原始概率栅格地图的分辨率;按照分辨率大小对所述预定分辨率的概率栅格地图和原始概率栅格地图进行排序,得到一组不同分辨率的概率栅格地图。
可选地,上述装置还用于获取所述移动设备在所述当前位姿的激光点云;确定所述移动设备在所述当前位姿的激光点云与所述原始概率栅格地图的匹配率;在所述匹配率小于或等于第二预设阈值的情况下,根据所述移动设备在所述当前位姿的激光点云更新所述原始概率栅格地图。
可选地,上述装置还用于在所述在预先建立的图像库中查找与所述第一图像的相似度大于或等于第一预设阈值的第二图像之前,在所述移动设备在原始概率栅格地图移动过程中,确定移动距离或旋转角度大于或等于第一预设阈值时,所述移动设备的位姿为关键位姿;建立所述移动设备在所述关键位姿采集的关键帧和对应的关键位姿的关联关系,并将所述关联关系存储在所述图像库,其中,所述关键位姿包括所述第一位姿,所述关键帧包括所述第一图像。
可选地,上述装置还用于获取所述移动设备在所述当前位姿拍摄的第三图像;确定第三图像与所述第二图像的匹配率;在所述匹配率小于或等于第三预设阈值的情况下,将所述图像库中的所述第二图像更新为所述第三图像,与所述第二图像对应的所述第一位姿更新为所述当前位姿。
可选地,上述装置还用于若在所述预先建立的图像库中未查找到所述第二图像,控制所述移动设备移动预定距离或旋转第二预设角度;获取所述移动设备拍摄得到的第四图像;在预先建立的图像库中查找与所述第四图像的相似度大于或等于第一预设阈值的第五图像,以及与所述第五图像相关联的第二位姿,其中,所述第五图像是所述移动设备在所述第二位姿时拍摄得到的图像;按照所述第一预设角度差旋转所述第二位姿,得到N个第二候选位姿,其中,所述N为大于或等于1的整数,所述N个第二候选位姿中包括所述第二位姿;根据所述N个第二候选位姿的激光定位得分确定所述移动设备的当前位姿。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在确定移动设备定位丢失的情况下,获取由所述移动设备拍摄得到的第一图像;
S2,在预先建立的图像库中查找与所述第一图像的相似度大于或等于第一预设阈值的第二图像,以及与所述第二图像相关联的第一位姿,其中,所述第二图像是所述移动设备在所述第一位姿拍摄得到的图像;
S3,对所述第一位姿进行旋转和/或平移处理,得到N个第一候选位姿,其中,所述N为大于或等于1的整数,所述N个第一候选位姿中包括所述第一位姿;
S4,根据所述N个第一候选位姿的激光定位得分,确定所述移动设备的当前位姿。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在确定移动设备定位丢失的情况下,获取由所述移动设备拍摄得到的第一图像;
S2,在预先建立的图像库中查找与所述第一图像的相似度大于或等于第一预设阈值的第二图像,以及与所述第二图像相关联的第一位姿,其中,所述第二图像是所述移动设备在所述第一位姿拍摄得到的图像;
S3,对所述第一位姿进行旋转和/或平移处理,得到N个第一候选位姿,其中,所述N为大于或等于1的整数,所述N个第一候选位姿中包括所述第一位姿;
S4,根据所述N个第一候选位姿的激光定位得分,确定所述移动设备的当前位姿。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。