地图融合方法、电子设备及存储介质与流程

文档序号:19068217发布日期:2019-11-06 02:41阅读:190来源:国知局
地图融合方法、电子设备及存储介质与流程

本发明实施例涉及图像处理领域,特别涉及一种地图融合方法、电子设备及存储介质。



背景技术:

目前,技术人员可以使用视觉即时定位及建图(visualsimultaneouslocalizationandmapping,vslam)技术进行机器人或行人导航。vslam技术主要通过相机采集环境视图,进行相应的处理,提取特征点与已知地图先验信息进行匹配,获取位姿信息。其中,已知的地图先验信息主要指vslam建立的地图信息,vslam建图效果受周围环境的影响,若环境特征点及纹理信息足够丰富,则可进行持续建图,获取一段连续的地图数据;若相机运动较为剧烈,环境光照变化较大或特征点较为稀疏,vslam建图则会“中断”,最终获取多段地图数据。

然而,发明人发现现有技术中至少存在如下问题:使用多段地图进行定位时可能存在定位结果跳变的问题,影响行人或机器人导航结果。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明实施方式的目的在于提供一种地图融合方法、电子设备及存储介质,使得能够减少定位结果跳变的情况。

为解决上述技术问题,本发明的实施方式提供了一种地图融合方法,应用于电子设备,包括以下步骤:获取同一空间的n个地图;n为大于1的整数;判断相邻两个地图之间是否存在重叠区域;若确定是,去除存在重叠区域的相邻两个地图中的任意一个地图中的重叠区域的地图数据;若确定不是,保留相邻两个地图的地图数据;融合每个地图中剩余的地图数据,得到空间的融合地图。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施方式提及的的地图融合方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的地图融合方法。

本发明实施方式相对于现有技术而言,由于在融合空间的多个地图之前,基于多个地图之间是否存在重叠区域,对多个地图的地图数据进行了优化,去除任意一个其中一个地图的重叠区域的地图数据,减少了融合地图中出现同一地图点存在两个不同的位置信息的情况,进而减少了定位结果跳变的情况。

另外,相邻两个地图为第m个地图和第t个地图,m、t为不大于n的正整数,且m≠t;判断相邻两个地图之间是否存在重叠区域,具体包括:获取第m个地图对应的空间的第一图像数据集;将第一图像数据集中的第一图像数据依次输入第一定位模型中,直至第一定位模型基于输入的第一图像数据定位成功;其中,第一定位模型中用于根据输入的第一图像数据和第m个地图的地图数据进行定位;将定位成功的第一图像数据输入第二定位模型,判断第二定位模型是否定位成功;其中,第二定位模型用于根据输入的图像数据和第t个地图的地图数据进行定位;若确定是,则确定第m个地图和第t个地图存在重叠区域。该实现中,通过第m个地图和第t个地图是否均定位成功来判断第m个地图和第t个地图是否重叠。

另外,n个地图按照建图时间先后顺序排列,电子设备采集第一图像数据集时的行径方向与建立地图时的行径方向相同;m和t的约束关系为:0<m<n时,t=m+1,m=n时,t=1;第一图像数据集中的第一图像数据按照拍摄顺序反向排列;或者,m和t的约束关系为:1<m≤n时,t=m-1,m=1时,t=n;第一图像数据集中的第一图像数据按照拍摄顺序正向排列。该实现中,从重叠概率高的区域开始测试,在存在重叠的情况下,提高了测试速度,提高了融合速度,减少了电子设备的计算量和功耗。

另外,去除存在重叠区域的相邻两个地图中的任意一个地图中的重叠区域的地图数据,具体包括:获取第二定位模型定位得到的地图点的坐标索引;根据定位得到的地图点的坐标索引,确定第t个地图中重叠的地图点的坐标索引;删除第t个地图中的重叠的地图点的坐标索引,以及第t个地图中的重叠的地图点的坐标索引对应的地图点的位置信息。这实现了地图数据的优化。

另外,在判断相邻两个地图之间是否存在重叠区域之后,融合每个地图中剩余的地图数据,得到空间的融合地图之前,地图融合方法还包括:判断任意两个地图之间是否存在重叠区域;若确定是,去除存在重叠区域的两个地图中的任意一个地图中的重叠区域的地图数据;若确定不是,执行融合每个地图中剩余的地图数据,得到空间的融合地图的步骤。该实现中,提高了重叠区域检测的准确性。

另外,获取空间的n个地图,具体包括:采集空间的第二图像数据集;根据采集的空间的第二图像数据集,通过即时定位及建图技术,建立空间的n个地图。

另外,第二图像数据集中的第二图像按照采集的先后顺序放置;根据采集的空间的第二图像数据集,通过即时定位及建图技术,建立空间的n个地图,具体包括:令i=1,k=1;读取第i个第二图像数据;根据第i个第二图像数据,通过即时定位及建图技术,进行建图;判断建立的地图是否出现中断;若确定是,将本次建立的地图作为第k个地图,保存第k个地图;判断第二图像数据集是否读取完毕;若确定是,结束建图;否则,令i=i+1,k=k+1,重新执行读取第i个第二图像数据的步骤;若确定不是,判断第二图像数据集是否读取完毕;若确定是,将本次建立的地图作为第k个地图,保存第k个地图,结束建图;否则,令i=i+1,重新执行读取第i个第二图像数据的步骤。

另外,地图对应的空间的第一图像数据集为第二图像数据集,或者,地图对应的空间的第一图像数据集由第二图像数据集中用于建立地图的第二图像数据组成。该实现中,减少了数据采集量。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明的第一实施方式的地图融合方法的流程图;

图2是本发明的第一实施方式的创建地图的方法的流程示意图;

图3是本发明的第二实施方式的地图融合方法的流程图;

图4是本发明的第二实施方式的地图数据优化过程的示意图;

图5是本发明的第三实施方式的地图融合装置的结构示意图;

图6是本发明的第四实施方式的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种地图融合方法,应用于电子设备,该电子设备可以是各种终端或服务器,例如,机器人等。如图1所示,地图融合方法包括:

步骤101:获取同一空间的n个地图。

具体地说,n个大于1的整数。同一空间的n个地图的可以是根据机器人在一次行进过程中获取到的第二图像数据集创建得到的多段地图。由于机器人进行过程中,若相机运动较为剧烈,环境光照变化较大或特征点较为稀疏,使用vslam技术建图时会出现“中断”现象,从而形成多段地图。

在一个例子中,电子设备采集空间的第二图像数据集;根据采集的空间的第二图像数据集,通过即时定位及建图技术,建立空间的n个地图。

需要说明的是,本领域技术人员可以理解,实际应用中,电子设备也可以获取其他设备存储的地图,进行本实施方式提及的地图融合操作,本实施方式不限制地图的来源。

在一个例子中,第二图像数据集中的第二图像按照采集的先后顺序放置。第二图像数据集中主要包括空间的图像数据以及方向传感器数据。空间的图像数据主要包括每帧图像信息及其对应的时间戳信息。方向传感器信息可用于辅助建图,可以是里程计信息或惯性测量单元(inertialmeasurementunit,imu)信息。里程计信息主要包括物理输出、欧拉角及其对应的时间戳信息。imu信息主要包括加速度、角速度及每帧数据对应的时间戳信息等。电子设备使用vslam技术对采集的第二图像数据进行处理,获取每个关键帧对应的时间戳、物理输出及欧拉角信息。建立地图过程中,若在视觉信息丢失(即光照变化较大、运动剧烈或所处环境特征点较为稀疏),则保存已有vslam地图数据,并重新进行初始化建立新的地图。电子设备创建地图的过程如图2所示,包括以下步骤:

步骤201:采集空间的第二图像数据集。

具体地说,电子设备可以绕着预设轨迹运行一周,在运行过程中,拍摄空间的第二图像数据,记录运行中的空间的图像数据以及方向传感器数据,以便用于创建地图。

步骤202:令i=1,k=1。

步骤203:读取第i个第二图像数据。

具体地说,电子设备依次读取运行过程中采集的第二图像数据中的特征点、描述子等信息,以便根据第二图像数据创建空间的地图。

步骤204:根据第i个第二图像数据,通过即时定位及建图技术,进行建图。

步骤205:判断建立的地图是否出现中断。

具体地说,若建立的地图出现中断,即建立地图过程中出现视觉跟踪失败的情况,执行步骤206,否则,执行步骤209。由于vslam建图的稳定性受周围环境及相机运动状态的影响,若环境光照变化剧烈、纹理较弱区域(白墙等)或相机剧烈运动(快速旋转等),可能致使视觉跟踪的失败,即“中断”。

步骤206:将本次建立的地图作为第k个地图,保存第k个地图。

具体地说,若出现视觉跟踪失败的情况,电子设备基于上一次视觉跟踪后的第一帧第二图像数据至第i个第二图像数据,创建地图。

步骤207:判断第二图像数据集是否读取完毕。

具体地说,若电子设备已基于所有第二图像数据进行建图,即第二图像数据集读取完毕,则结束建图过程,否则,执行步骤208。

步骤208:令i=i+1,k=k+1。之后执行步骤203。

具体地说,电子设备基于剩余的第二图像数据,继续使用vslam技术建立下一个地图。

步骤209:判断第二图像数据集是否读取完毕。

若确定是,执行步骤210,否则,执行步骤211。

步骤210:将本次建立的地图作为第k个地图,保存第k个地图。之后结束流程。

步骤211:令i=i+1。之后执行步骤203。

通过执行上述步骤,电子设备可以创建空间的n个地图。

步骤102:判断相邻两个地图之间是否存在重叠区域。

具体地说,若相邻两个地图存在重叠区域,执行步骤103,否则,执行步骤104。

在一个例子中,建立的空间的n个地图按照创建的时间先后顺序排列。由于通过即时定位及建图技术创建地图时,电子设备按照采集的第二图像数据的时间戳的先后顺序进行建图,当空间的n个地图按照创建的时间先后顺序排列时,相邻的两个地图为第m-1个地图和第m个地图。m为大于1的整数。

步骤103:去除存在重叠区域的相邻两个地图中的任意一个地图中的重叠区域的地图数据。之后执行步骤105。

具体地说,使用vslam技术建图过程中,追踪得到的位姿存在一些误差。随着路径的不断延伸,前面帧的误差会一直传递到后面去,导致最后一帧的位姿在世界坐标系里的误差有可能非常大。除了利用优化方法在局部和全局调整位姿,也可以利用回环检测(loopclosure)来优化位姿。为实现回环检测,在采集数据过程中,往往需要采集重复路径区域数据,以提升vslam建图过程中回环检测的几率。因此,地图中往往包含重复路径。除此之外,一些空间中,为实现对空间的全局建图及定位,运动轨迹中不可避免的需要重复一些路径,例如,空间中的路径为“田”字形时。当逐个将多个地图的地图数据映射到统一地图坐标系下,可以保持空间的地图的完整性及连续性,便于进行机器人或行人的定位,可进行地图融合。然而,进行地图融合时,由于地图之间可能出现重复路径区域,若不进行任何处理,直接融合多个地图,使用融合后的地图进行定位时,存在一系列问题:

(1)由于相邻两个地图可能存在重复路径区域,直接使用每个地图的所有轨迹数据进行融合,可能存在物理空间下,同一点在地图中映射为不同的坐标,从而影响定位精度及导航效果。

(2)由于vslam定位主要通过提取环境特征信息与先验地图信息进行匹配获取相机位姿信息。当相机处于建图“中断”处附近时,使用中断位置前后获取的地图都能够获取相机位姿信息,且两者之间存在差异,导致在此区域定位结果的跳变,影响行人或机器人导航结果。

本实施方式中,电子设备在进行空间的地图融合前,判断相邻两个地图之间是否存在重叠区域,如果存在,则去除其中一个地图的重叠区域的地图数据,减少了融合地图中出现同一地图点存在两个不同的位置信息的情况,进而减少了定位结果跳变的问题。

步骤104:保留相邻两个地图的地图数据。

具体地说,如果相邻的两个地图不存在重叠区域,则这两个地图映射至同一地图时,不会出现同一位置两个位置信息的情况,因此,可以保留着两个地图的地图数据。

步骤105:融合每个地图中剩余的地图数据,得到空间的融合地图。

具体地说,将每个地图中剩余的地图数据映射到同一坐标系下,即同一个地图中,得到融合地图。

在一个例子中,空间的地图为视觉地图(vslam地图),在融合每个地图中剩余的地图数据的过程包括以下子步骤:

针对每个地图,分别进行以下操作:

步骤1051:根据时间戳对齐的方式,获取该地图的每个关键帧对应的方向传感器数据。由于方向传感器获取数据的帧率远大于vslam地图中关键帧帧率,方向传感器输出的数据更为紧凑。由于视觉建图的过程中可能存在“中断”情况,主要获取vslam地图每个关键帧对应的方向传感器数据序列号、每个vslam地图起始帧对应的方向传感器数据序列号和每个vslam地图的结束关键帧对应的方向传感器序列号。

步骤1052:vslam角度替换。由于vslam建图过程中可能存在“中断”或无回环检测的情况,视觉输出存在误差,即在物理尺寸及方向上存在误差。若建图过程中出现中断情况,由于vslam存在一定的相对性,每次中断,重新初始化后,位姿重新进行计算,造成方向上的不连续。由于方向传感器数据获取的连续性、稳定性,可使用方向传感器获取的数据替代vslam建图获取的偏航角,既可以减小因无回环情况下方向上的误差,同时保证vslam建图过程中的方向的连续性。

步骤1053:确定地图的起始关键帧在融合地图中的坐标;根据地图的起始关键帧在融合地图中的坐标,以及地图的各关键帧对应的方向传感器数据在融合地图的坐标,计算地图的各关键帧在融合地图的坐标。

具体的说,将地图的起始关键帧所对应的坐标映射至融合地图中,确定起始关键帧在融合地图中的坐标。若地图是第一个被映射至融合地图的地图,则可以直接根据映射结果,确定地图的起始关键帧所对应的坐标。若地图是第k个被映射至融合地图的地图,在中断的情况下,利用公式(1)和公式(2)计算起始关键帧在融合地图中的坐标:

x′=x+d*cos(θ′)(1)

y′=y+d*sin(θ′)(2)

其中,(x,y)代表第k-1个被映射至融合地图的地图最后一帧关键帧在融合地图的坐标,d代表第k-1个被映射的地图的结束关键帧和第k个被映射的地图的起始关键帧之间的距离,该距离根据第k-1个被映射的地图的结束关键帧对应的方向传感器数据和第k个被映射的地图的起始关键帧的方向传感器数据确定,θ′表示方向校正后的地图的角度,(x′,y′)为第k个被映射的地图的起始关键帧在融合地图的坐标。

在已知地图的起始关键帧在融合地图中的坐标后,可以根据地图的各关键帧对应的方向传感器数据,采用与公式(1)和公式(2)相似的原理,计算地图中各关键帧在融合地图中的坐标。

在建图过程中可能存在中断现象,出现两段地图,两段地图之间可能存在空间的地图丢失的情况,该情况下,假设第一段地图的最后一个关键帧所对应的坐标为(x,y),在中间丢失的地图中,方向传感器移动了n段距离,并且在前后两帧传感器数据之间的距离分别为d′0,d′1...d′n,每段距离处校正后地图的角度分别为θ′0,θ′1...θ′n,则可以确定每段距离处方向传感器数据对应的坐标。对于第一个移动距离d′0处方向传感器的坐标,利用如下公式(3)和公式(4)计算获得:

x′0=x+d′0*cos(θ′0)(3)

y′0=y+d′0*sin(θ′0)(4)

其中,(x,y)表示第一段地图中最后一个关键帧所对应的坐标,(x′0,y′0)表示第一个移动距离处方向传感器数据对应的融合地图的坐标,d′0表示第一个移动距离,θ′0表示第一个移动距离方向校正后地图的角度。

以此类推,对于第n个移动距离d′n处方向传感器的坐标,利用如下公式(5)和公式(6)计算获得

x′n=x′n-1+d′n*cos(θ′n)(5)

y′n=y′n-1+d′n*sin(θ′n)(6)

其中,(x′n-1,y′n-1)表示第n-1个移动距离处方向传感器数据对应的坐标,(x′n,y′n)表示第n个移动距离处方向传感器数据对应的坐标,d′n表示第n个移动距离,θ′n表示第n个移动距离方向校正后地图的角度。

需要说明的是,在无回环的情况下地图是存在尺度上的偏差的,此时可以利用公式(7)、(8)和(9)确定地图的坐标:

xw=xn+ε*d*cos(θ′)(7)

yw=yn+ε*d*sin(θ′)(8)

ε=dt/l(9)

其中,(xn,yn)表示地图中前一个关键帧所对应的坐标,(xw,yw)表示融合地图的坐标,dt表示地图中两个相邻关键帧之间的距离,ε表示距离比例因子,dt表示传感器移动距离,l表示视觉移动距离,θ′表示移动距离方向校正后地图的角度。

需要说明的是,本领域技术人员可以理解,电子设备可以将多个地图融合到任意一个地图,也可以将多个地图的剩余的地图数据融合到新的地图中。

需要说明的是,本领域技术人员可以理解,实际应用中,还可以通过其他方式来实现地图融合,此处不一一列举。

在一个例子中,电子设备在判断相邻两个地图之间是否存在重叠区域之后,融合每个地图中剩余的地图数据,得到空间的融合地图之前,判断任意两个地图之间是否存在重叠区域;若确定是,去除存在重叠区域的两个地图中的任意一个地图中的重叠区域的地图数据;若确定不是,执行融合每个地图中剩余的地图数据,得到空间的融合地图的步骤。

值得一提的是,电子设备检测任意一个地图与其他所有地图是否重叠,并在发现存在重叠情况后,删除存在重叠的两个地图中的任意一个地图中的重叠区域的地图数据,进一步优化了用于得到融合地图的地图数据,进一步减少了同一地图点存在两个位置信息的情况,进一步减少了定位结果跳变的情况。

需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。

与现有技术相比,本实施方式中提供的地图融合方法,由于在融合空间的多个地图之前,基于多个地图之间是否存在重叠区域,对多个地图的地图数据进行了优化,去除任意一个其中一个地图的重叠区域的地图数据,减少了融合地图中出现同一地图点存在两个不同的位置信息的情况,进而减少了定位结果跳变的问题。

本发明的第二实施方式涉及一种地图融合方法。本实施方式中,以相邻两个地图为第m个地图和第t个地图为例,举例说明了第一实施方式中电子设备判断相邻两个地图之间是否存在重叠区域的方法。

具体的说,如图3所示,在本实施方式中,包含步骤301至步骤309,其中,步骤301、步骤306、步骤308步骤309分别与第一实施方式中的步骤101、步骤103至步骤105大致相同,此处不再赘述。下面主要介绍不同之处:

步骤301:获取同一空间的n个地图。

步骤302:获取第m个地图对应的空间的第一图像数据集。

具体地说,m、t为不大于n的正整数,且m≠t。

在一个例子中,n个地图按照建图时间先后顺序排列,电子设备采集第一图像数据集时的行径方向与建立地图时的行径方向相同。由于第t个地图和第m个地图相邻,t和m的约束关系为:t=m+1或者t=m-1。

情况a:0<m<n时,t=m+1,m=n时,t=1,即第t个地图是第m个地图的后一个地图。该情况下,第m个地图的后段路径和第t个地图的前段路径重叠概率更大,电子设备可以将第一图像数据集中的第一图像数据按照拍摄顺序反向排列,即越早拍摄的第一图像数据排在越后面。

情况b:1<m≤n时,t=m-1,m=1时,t=n,即第t个地图是第m个地图的前一个地图。该情况下,第m个地图的前段路径和第t个地图的后段路径重叠概率更大,电子设备可以将第一图像数据集中的第一图像数据按照拍摄顺序正向排列,即越早拍摄的第一图像数据排在越前面。

值得一提的是,将先对概率更大的路径对应的第一图像数据进行定位及检测,可以在存在重叠区域的情况下,更快速的找到重叠区域。

需要说明的是,本领域技术人员可以理解,实际应用中,也可以由开发人员指定n个地图中的任意两个地图是否为相邻关系,并将包含n个地图之间的关系的指示文件输入电子设备,电子设备根据该指示文件,确定n个地图中的任意两个地图的关系。

在一个例子中,地图对应的空间的第一图像数据集为第二图像数据集,或者,地图对应的空间的第一图像数据集由第二图像数据集中用于建立地图的第二图像数据组成。

值得一提的是,使用建图过程中采集的图像数据来测试相邻两个地图是否重叠,减少了数据采集量。

需要说明的是,本领域技术人员可以理解,实际应用中,第一图像数据集也可以是在建图以后重新采集的空间的图像数据集,本实施方式不限制第一图像数据集和第二图像数据集的关系。

步骤303:将第一图像数据集中的第一图像数据依次输入第一定位模型中,直至第一定位模型基于输入的第一图像数据定位成功。

具体地说,第一定位模型中用于根据输入的第一图像数据和第m个地图的地图数据进行定位。电子设备依次读取第一图像数据集中的第一图像数据,将其作为第一定位模型的输入,若第一定位模型定位成功,说明使用第m个地图可以定位拍摄该第一图像数据时的地图点的位置信息,此时,需要判断使用第t个地图是否也可以对该地图点进行定位,以确定两者是否存在重叠区域。

步骤304:将定位成功的第一图像数据输入第二定位模型,判断第二定位模型是否定位成功。

具体地说,第二定位模型用于根据输入的图像数据和第t个地图的地图数据进行定位。若第二定位模型定位成功,说明使用第t个地图可以定位拍摄该第一图像数据时的地图点的位置信息,执行步骤305。若第二定位模型定位失败,执行步骤307。

需要说明的是,本领域技术人员可以理解,第一定位模型和第二定位模型可以是基于vslam技术的算法模型。第一定位模型和第二定位模型可以由同一模型得到。例如,当基于vslam技术的算法模型加载第m个地图时,该基于vslam技术的算法模型为第一定位模型,当该基于vslam技术的算法模型加载第t个地图时,该基于vslam技术的算法模型为第二定位模型。本实施方式中,为区分其加载的地图不同,将其称为第一定位模型和第二定位模型,不代表两者必须是两个完全不相关的模型,本实施方式不限制第一定位模型和第二定位模型的关系。

步骤305:确定第m个地图和第t个地图存在重叠区域。

具体地说,由于第t个地图和第m个地图均能对该地图点进行定位,说明第m个地图和第t个第一图像存在重叠区域。

步骤306:去除存在重叠区域的相邻两个地图中的任意一个地图中的重叠区域的地图数据。之后执行步骤309。

具体地说,由于第t个地图和第m个地图均能对该地图点进行定位,若直接将第t个地图点和第m个地图融合至同一地图中,在对该地图点进行定位时,会出现跳变的情况。电子设备对第t个地图的地图数据或第m个地图的地图数据进行优化,去除第t个地图的重叠区域的地图数据,或者,去除第m个地图中的重叠区域的地图数据,以减少定位结果跳变的情况。

在一个例子中,地图的地图数据中包括地图点的位置信息和地图点的坐标索引。电子设备去除重叠区域的地图数据的过程如下:获取第二定位模型定位得到的地图点的坐标索引;根据定位得到的地图点的坐标索引,确定第t个地图中重叠的地图点的坐标索引;删除第t个地图中的重叠的地图点的坐标索引,以及第t个地图中的重叠的地图点的坐标索引对应的地图点的位置信息。

需要说明的是,本实施方式中,以删除第t个地图中的重叠区域的地图数据为例,举例说明了地图数据的优化过程,实际应用中,也可以删除第m个地图中的重叠区域的地图数据,删除方法可参考上述相关内容,此处不再赘述。

步骤307:确定第m个地图和第t个地图不存在重叠区域。

具体地说,若第二定位模型无法基于第一定位模型定位成功的第一图像数据进行定位,说明第一定位模型定位成功的第一图像数据对应的地图点没有重叠,而排在第一定位模型定位成功的第一图像数据后面的第一图像数据对应的地图点的概率更小,因此,在第二定位模型基于定位成功的第一图像数据定位失败时,电子设备确定第m个地图和第t个地图不存在重叠区域。

值得一提的是,在重叠概率最高的第一图像数据对应的地图点未发生重叠情况后,结束对后续第一图像数据的测试过程,可以减少电子设备的计算量,提高电子设备融合地图的速度。

在一个例子中,电子设备也可以在第二定位模型无法基于第一定位模型定位成功的第一图像数据进行定位后,将剩余的第一图像数据依次输入第一定位模型,直至第一图像数据集读取完毕,或者,找到令第二定位模型定位成功的第一图像数据。若存在第二定位模型和第一定位模型均定位成功的第一图像数据,确定存在重叠区域,若不存在第二定位模型和第一定位模型均定位成功的第一图像数据,确定不存在第一针对第m个地图对应的第一图像数据。

值得一提的是,对所有第一图像数据进行测试,提高了电子设备对是否重叠的判断的准确性。

步骤308:保留相邻两个地图的地图数据。

具体地说,若相邻的两个地图未重叠,说明相邻两个地图的地图数据均为可用数据,故保留相邻两个地图的地图数据。

步骤309:融合每个地图中剩余的地图数据,得到空间的融合地图。

以下结合场景,对电子设备对n个地图优化的过程(去除重叠区域的地图数据的过程)进行举例说明。

假设,针对某个空间建立的地图共包括n个地图,第一图像数据集中的第一图像数据个数为m。电子设备对n个地图的地图数据的优化过程包括如图4所示,以下步骤:

步骤401:令m=n。

步骤402:加载第m个地图的地图数据。

步骤403:令i=1。

步骤404:读取第i个第一图像数据,基于第i个第一图像数据进行视觉定位。电子设备基于第i个第一图像数据和第m个地图进行定位。

步骤405:判断定位是否成功。若定位失败,执行步骤406,若定位成功,执行步骤407。

步骤406:令i=i+1,判断i是否大于m。若i>m,执行步骤415,若i≤m,执行步骤404。

步骤407:记录第一图像数据的帧号i。

步骤408:判断m-1是否等于0。若确定是,执行步骤409,否则,执行步骤410。

步骤409:加载第n个地图的地图数据。之后执行步骤411。

步骤410:加载第m-1个地图的地图数据。

步骤411:基于第i个第一图像数据进行视觉定位。具体地说,电子设备基于第i个第一图像数据和加载的地图进行定位。

步骤412:判断定位是否成功。若定位失败,执行步骤413,若定位成功,执行步骤414。

步骤413:保留第m-1个地图的地图数据。之后执行步骤416。

步骤414:记录定位的地图点的坐标索引u。

步骤415:保留第m-1个地图的地图数据中坐标索引为0~u的地图点的相关数据,删除坐标索引为u~u的地图点的相关数据。其中,u为第m-1个地图的坐标索引总数,相关数据包括位置信息。

步骤416:判断m是否等于1,若确定是,结束流程,若确定不是,执行步骤417。

步骤417:令m=m-1。之后执行步骤402。

需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。

与现有技术相比,本实施方式中提供的地图融合方法,由于在融合空间的多个地图之前,基于多个地图之间是否存在重叠区域,对多个地图的地图数据进行了优化,去除任意一个其中一个地图的重叠区域的地图数据,减少了融合地图中出现同一地图点存在两个不同的位置信息的情况,进而减少了定位结果跳变的问题。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明的第三实施方式涉及一种电子设备,如图5所示,包括:获取模块501、优化模块502和融合模块503。获取模块501用于获取同一空间的n个地图;n为大于1的整数。优化模块502用于判断相邻两个地图之间是否存在重叠区域;若确定是,去除存在重叠区域的相邻两个地图中的任意一个地图中的重叠区域的地图数据;若确定不是,保留相邻两个地图的地图数据。融合模块503用于融合每个地图中剩余的地图数据,得到空间的融合地图。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明的第四实施方式涉及一种电子设备,如图6所示,包括:至少一个处理器601;以及,与至少一个处理器601通信连接的存储器602;其中,存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行上述实施方式提及的地图融合方法。

该电子设备包括:一个或多个处理器601以及存储器602,图6中以一个处理器601为例。处理器601、存储器602可以通过总线或者其他方式连接,图6中以通过总线连接为例。存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施方式中地图就存储于存储器602中。处理器601通过运行存储在存储器602中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述地图融合方法。

存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器602中,当被一个或者多个处理器601执行时,执行上述任意方法实施方式中的地图融合方法。

上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。

本发明的第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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