CN115705670B - 地图管理方法及其装置 - Google Patents
地图管理方法及其装置 Download PDFInfo
- Publication number
- CN115705670B CN115705670B CN202110900148.0A CN202110900148A CN115705670B CN 115705670 B CN115705670 B CN 115705670B CN 202110900148 A CN202110900148 A CN 202110900148A CN 115705670 B CN115705670 B CN 115705670B
- Authority
- CN
- China
- Prior art keywords
- map
- key frame
- sub
- frame image
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000008569 process Effects 0.000 claims abstract description 35
- 230000000007 visual effect Effects 0.000 claims description 53
- 230000004044 response Effects 0.000 claims description 33
- 238000001514 detection method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 239000002699 waste material Substances 0.000 abstract description 7
- 102000008115 Signaling Lymphocytic Activation Molecule Family Member 1 Human genes 0.000 description 62
- 108010074687 Signaling Lymphocytic Activation Molecule Family Member 1 Proteins 0.000 description 62
- 238000010586 diagram Methods 0.000 description 19
- 230000009466 transformation Effects 0.000 description 5
- 230000036544 posture Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本公开关于一种地图管理方法及其装置,涉及导航定位领域。包括:对局部场景进行图像采集,并进行SLAM,以获取局部场景的第一子地图;从局部场景已有的至少一个第二子地图中,获取与第一子地图相似的目标第二子地图;将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图;将目标子地图添加至全局地图中,以得到目标全局地图。本公开基于合理的策略对针对同一局部场景的多个子地图进行融合,避免了多次存储针对同一个局部场景的子地图带来的存储空间的浪费,提高了地图管理过程中的有效性、可靠性以及鲁棒性。
Description
技术领域
本公开涉及导航定位领域,特别涉及一种地图管理方法及其装置。
背景技术
相关技术中,同步定位与建图(simultaneous localization and mapping,SLAM)中的机器人在进行工作时,由于光照条件等图像采集条件的不同,针对同一个局部场景,可能会存在多个在视觉上存在一定差异的子地图。这样一来,子地图的无限制增加严重浪费了资源、占用了极大的存储区域,降低了地图管理过程中的有效性、可靠性以及鲁棒性。
发明内容
本公开提供一种地图管理方法,以至少解决相关技术中多次存储针对同一个局部场景的子地图带来的存储空间的浪费,从而导致地图管理过程中的有效性、可靠性以及鲁棒性较低的问题。
本公开的技术方案如下:对局部场景进行图像采集,并基于采集的所述图像进行同步定位与建图SLAM,以获取所述局部场景的第一子地图;从所述局部场景已有的至少一个第二子地图中,获取与所述第一子地图相似的目标第二子地图;将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的目标子地图;将所述目标子地图添加至全局地图中,以得到目标全局地图。
本公开通过对局部场景进行图像采集,并基于采集的图像进行SLAM,以获取局部场景的第一子地图,然后从局部场景已有的至少一个第二子地图中,获取与第一子地图相似的目标第二子地图,并将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图,进而将目标子地图添加至全局地图中,以得到目标全局地图,避免了多次存储针对同一个局部场景的子地图带来的存储空间的浪费,提高了地图管理过程中的有效性、可靠性以及鲁棒性。
根据本公开的一个实施例,所述从所述局部场景已有的至少一个第二子地图中,获取与所述第一子地图相似的目标第二子地图,包括:获取所述局部场景的视觉词袋数据;根据所述视觉词袋数据,获取与所述第一子地图相似的所述目标第二子地图。
根据本公开的一个实施例,所述根据所述视觉词袋数据,获取与所述第一子地图相似的所述目标第二子地图,包括:获取所述第一子地图的第一关键帧图像以及每个所述第二子地图的第二关键帧图像;根据所述视觉词袋数据、所述第一关键帧图像与所述第二关键帧图像,对所述第一子地图和所述第二子地图进行SLAM回环检测;将与所述第一子地图发生所述SLAM回环的第二子地图,确定为与所述第一子地图相似的所述目标第二子地图。
根据本公开的一个实施例,所述根据所述视觉词袋数据、所述第一关键帧图像与所述第二关键帧图像,对所述第一子地图和所述第二子地图进行SLAM回环检测,包括:针对每个所述第二子地图,根据所述视觉词袋数据,从所述第二子地图的所述第二关键帧图像中,获取与所述第一关键帧图像具有公共单词的候选第二关键帧图像;从所述候选第二关键帧图像中,获取目标第二关键帧图像;获取所述第一关键帧图像与每个所述目标第二关键帧图像之间的第一相似度,并根据所述第一相似度进行SLAM回环检测。
根据本公开的一个实施例,所述从所述候选第二关键帧图像中,获取目标第二关键帧图像,包括:获取每个所述候选第二关键帧图像与所述第一关键帧图像具有的所述公共单词的第一数量;响应于所述第一数量达到第一数量阈值,则将所述第一数量达到所述第一数量阈值的所述候选第二关键帧图像作为所述目标第二关键帧图像。
根据本公开的一个实施例,所述获取所述第一关键帧图像与每个所述目标第二关键帧图像之间的第一相似度,并根据所述第一相似度进行SLAM回环检测,包括:针对每个所述目标第二关键帧图像,获取所述第一关键帧图像与所述目标第二关键帧图像之间的所述第一相似度;响应于所述第一相似度达到第一相似度阈值,则确定所述目标第二关键帧图像与所述第一关键帧图像发生所述SLAM回环。
根据本公开的一个实施例,所述将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的目标子地图,包括:获取所述第一关键帧图像对应的第一地图位置点和所述第一地图位置点的第一姿态;获取所述第二关键帧图像对应的第二地图位置点和所述第二地图位置点的第二姿态;
根据所述第一姿态和所述第二姿态,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
根据本公开的一个实施例,所述根据所述第一姿态和所述第二姿态,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图,包括:根据所述第一姿态和所述第二姿态,获取目标全局坐标系和目标旋转角度;根据所述目标全局坐标系和所述目标旋转角度,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
根据本公开的一个实施例,还包括:响应于满足重定位条件,获取当前帧图像的特征信息;根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像的目标姿态;根据所述目标姿态对所述局部场景进行重定位。
根据本公开的一个实施例,所述根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像的目标姿态,包括:根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像与每个所述第二关键帧图像的第二相似度;响应于存在所述第二相似度达到第二相似度阈值的所述第二关键帧图像,则将所述第二关键帧图像作为参考第二关键帧图像;将所述当前帧图像与所述参考第二关键帧图像进行位置点匹配操作;根据所述匹配成功的位置点的三维空间坐标以及二维投影位置,获取所述目标姿态。
根据本公开的一个实施例,所述根据所述匹配成功的位置点的三维空间坐标以及二维投影位置,获取所述目标姿态之前,还包括:获取所述匹配成功的位置点的第二数量;确定所述匹配成功的位置点的所述第二数量达到第二预设数量阈值。
根据本公开的一个实施例,所述将所述目标子地图添加至全局地图中,以得到目标全局地图,包括:从所述全局地图中提取第三关键帧图像;根据所述第一关键帧图像与所述第三关键帧图像,对所述目标子地图与所述第三关键帧图像对应的子地图进行SLAM回环检测;响应于所述目标子地图与所述第三关键帧图像对应的子地图发生所述SLAM回环,则将所述目标子地图和所述第三关键帧图像对应的子地图进行合并,以得到所述目标全局地图。
根据本公开的一个实施例,所述得到所述全局场景的目标全局地图之后,还包括:根据所述目标全局地图,生成概要地图;获取所述概要地图中的第五关键帧图像以及所述第五关键帧图像在进行SLAM过程中的出现次数;根据所述出现次数,从所述第五关键帧图像中获取冗余关键帧图像,并从所述概要地图中删除所述冗余关键帧图像。
根据本公开实施例的第二方面,提供一种地图管理装置,包括:第一获取模块,用于对局部场景进行图像采集,并基于采集的所述图像进行同步定位与建图SLAM,以获取所述局部场景的第一子地图;第二获取模块,用于从所述局部场景已有的至少一个第二子地图中,获取与所述第一子地图相似的目标第二子地图;第一确定模块,用于将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的目标子地图;第二确定模块,用于将所述目标子地图添加至全局地图中,以得到目标全局地图。
根据本公开的一个实施例,所述第二获取模块,还用于:获取所述局部场景的视觉词袋数据;根据所述视觉词袋数据,获取与所述第一子地图相似的所述目标第二子地图。
根据本公开的一个实施例,所述第二获取模块,还用于:获取所述第一子地图的第一关键帧图像以及每个所述第二子地图的第二关键帧图像;根据所述视觉词袋数据、所述第一关键帧图像与所述第二关键帧图像,对所述第一子地图和所述第二子地图进行SLAM回环检测;将与所述第一子地图发生所述SLAM回环的第二子地图,确定为与所述第一子地图相似的所述目标第二子地图。
根据本公开的一个实施例,所述第二获取模块,还用于:针对每个所述第二子地图,从所述第二子地图的所述第二关键帧图像中,获取与所述第一关键帧图像具有公共单词的候选第二关键帧图像;从所述候选第二关键帧图像中,获取目标第二关键帧图像;获取所述第一关键帧图像与每个所述目标第二关键帧图像之间的第一相似度,并根据所述第一相似度进行SLAM回环检测。
根据本公开的一个实施例,所述第二获取模块,还用于:获取每个所述候选第二关键帧图像与所述第一关键帧图像具有的所述公共单词的第一数量;响应于所述第一数量达到第一数量阈值,则将所述第一数量达到所述第一数量阈值的所述候选第二关键帧图像作为所述目标第二关键帧图像。
根据本公开的一个实施例,所述第二获取模块,还用于:针对每个所述目标第二关键帧图像,获取所述第一关键帧图像与所述目标第二关键帧图像之间的所述第一相似度;响应于所述第一相似度达到第一相似度阈值,则确定所述目标第二关键帧图像与所述第一关键帧图像发生所述SLAM回环。
根据本公开的一个实施例,所述第一确定模块,还用于:获取所述第一关键帧图像对应的第一地图位置点和所述第一地图位置点的第一姿态;获取所述第二关键帧图像对应的第二地图位置点和所述第二地图位置点的第二姿态;根据所述第一姿态和所述第二姿态,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
根据本公开的一个实施例,所述第一确定模块,还用于:根据所述第一姿态和所述第二姿态,获取目标全局坐标系和目标旋转角度;根据所述目标全局坐标系和所述目标旋转角度,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
根据本公开的一个实施例,还包括,重定位模块,用于:响应于满足重定位条件,获取当前帧图像的特征信息;根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像的目标姿态;根据所述目标姿态对所述局部场景进行重定位。
根据本公开的一个实施例,所述重定位模块,还用于:根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像与每个所述第二关键帧图像的第二相似度;响应于存在所述第二相似度达到第二相似度阈值的所述第二关键帧图像,则将所述第二关键帧图像作为参考第二关键帧图像;将所述当前帧图像与所述参考第二关键帧图像进行位置点匹配操作;根据所述匹配成功的位置点的三维空间坐标以及二维投影位置,获取所述目标姿态。
根据本公开的一个实施例,所述重定位模块,还用于:获取所述匹配成功的位置点的第二数量;确定所述匹配成功的位置点的所述第二数量达到第二预设数量阈值。
根据本公开的一个实施例,所述第二确定模块,还用于:从所述全局地图中提取第三关键帧图像;根据所述第一关键帧图像与所述第三关键帧图像,对所述目标子地图与所述第三关键帧图像对应的子地图进行SLAM回环检测;响应于所述目标子地图与所述第三关键帧图像对应的子地图发生所述SLAM回环,则将所述目标子地图和所述第三关键帧图像对应的子地图进行合并,以得到所述目标全局地图。
根据本公开的一个实施例,所述第二确定模块,还用于:根据所述目标全局地图,生成概要地图;获取所述概要地图中的第五关键帧图像以及所述第五关键帧图像在进行SLAM过程中的出现次数;根据所述出现次数,从所述第五关键帧图像中获取冗余关键帧图像,并从所述概要地图中删除所述冗余关键帧图像。
根据本公开实施例的第三方面,提出一种电子设备,包括处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现上述实施例所提出的地图管理方法。
根据本公开实施例的第四方面,提出一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述实施例所提出的地图管理方法。
根据本公开实施例的第五方面,提出一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令处理器执行时实现上述实施例所提出的地图管理方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种地图管理方法的示意图;
图2是根据一示例性实施例示出的一种全局地图的示意图;
图3是根据一示例性实施例示出的另一种地图管理方法的示意图;
图4是根据一示例性实施例示出的另一种地图管理方法的示意图;
图5是根据一示例性实施例示出的另一种地图管理方法的示意图;
图6是根据一示例性实施例示出的另一种地图管理方法的示意图;
图7是根据一示例性实施例示出的另一种地图管理方法的示意图;
图8是根据一示例性实施例示出的另一种地图管理方法的示意图;
图9是根据一示例性实施例示出的另一种地图管理方法的示意图;
图10是根据一示例性实施例示出的另一种地图管理方法的示意图;
图11是根据一示例性实施例示出的另一种地图管理方法的示意图;
图12是根据一示例性实施例示出的另一种地图管理方法的示意图;
图13是根据一示例性实施例示出的另一种地图管理方法的示意图;
图14是根据一示例性实施例示出的另一种地图管理方法的示意图;
图15是根据一示例性实施例示出的一种地图管理装置的示意图;
图16是根据一示例性实施例示出的另一种地图管理装置的示意图;
图17是根据一示例性实施例示出的一种电子设备的示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是本公开实施例示出的一种地图管理方法的示意图,如图1所示,该地图管理方法,包括以下步骤:
S101,对局部场景进行图像采集,并基于采集的图像进行同步定位与建图SLAM,以获取局部场景的第一子地图。
同步定位与建图(simultaneous localization and mapping,SLAM),指的是机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置构建地图,从而达到同时定位和地图构建的目的。其中,机器人在未知环境中,要完成三个任务,第一个是定位,第二个是建图,第三个则是随后的路径规划。其中,SLAM既可以用于2D运动领域,也可以应用于3D运动领域。可选地,实现SLAM的机器人可扩展到各种使用地图导航的机器人领域,包括无人机,四足机器人等。可选地,SLAM可分为激光SLAM和视觉SLAM。
本公开实施例以视觉SLAM为例,机器人上可设置有单目相机,双目相机,深度相机等,基于相机对进行SLAM的机器人所在的场景进行图像采集。其中,机器人进行图像采集的场景可为机器人当前所处于的场景,也可为预先设置的机器人将要去的目的地的场景。机器人基于采集的图像进行SLAM,获取机器人所在的场景的地图,作为局部场景的第一子地图。其中,合理的地图表示有利于建立规划方法和选择合适的搜索算法,最终实现较少的时间开销而规划出较为满意的路径。建立地图的方式有很多,例如可视图法,自由空间法,拓扑法,栅格法等。
S102,从局部场景已有的至少一个第二子地图中,获取与第一子地图相似的目标第二子地图。
需要说明的是,针对同一个局部场景,由于图像采集进行的时间段等采集条件不同,可能存在多个已有的第二子地图,且第一子地图与多个第二子地图、甚至多个第二子地图之间均可能存在较大差异。特别地,针对基于视觉SLAM构建地图的场景下,子地图之间的差异尤为明显。
举例而言,针对局部场景甲,分别于清晨、正午和夜晚进行了图像采集,此种情况下,于清晨和正午白天进行图像采集获取到的两个第二子地图与于夜晚进行图像采集获取到的第一子地图差异较大。
以视觉SLAM为例,针对同一个局部区域的子地图,通常会将所有不相同(差异较大)的子地图进行存储,这样一来,极可能导致子地图的无限制增加。由此,本公开实施例中,可以获取与第一子地图相似的目标第二子地图,从而基于相似性对局部场景对应的子地图进行融合处理。
举例而言,针对局部场景甲,分别于清晨、正午和夜晚进行了图像采集,此种情况下,共获取到三个子地图,分别为于清晨和正午白天进行图像采集获取到的两个第二子地图,以及于夜晚进行图像采集获取到的第一子地图。进一步地,若于清晨进行图像采集获取到的第二子地图为与第一子地图相似的子地图,则可以将于清晨进行图像采集获取到的第二子地图作为目标第二子地图。
S103,将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图。
本公开实施例中,在获取到目标第二子地图后,可以基于预先设定的合并策略将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图。其中,合并策略可以根据实际情况进行设定。
S104,将目标子地图添加至全局地图中,以得到目标全局地图。
其中,全局地图,指的是包括当前的局部场景以及其他多个局部场景的全局场景对应的地图。
举例而言,如图2所示,针对全局地图A,共有三个局部场景,分别为:当前的局部场景甲以及其他的局部场景乙和局部场景丙。
本公开实施例中,在获取到目标子地图后,可以通过将目标子地图添加至全局地图中实现对全局地图进行更新,从而得到目标全局地图。
进一步地,在将目标子地图添加至全局地图中之后,可以通过回环检测、视觉惯性优化等方式对加入目标子地图后的全局地图进行处理,从而得到处理后的目标全局地图。
需要说明的是,在将目标子地图添加至全局地图中之后,加入目标子地图后的全局地图中包括目标子地图以及多个子地图,其中,多个子地图中可能包括与当前的局部场景对应的子地图。这样一来,在将目标子地图添加至全局地图中之后,可以通过多种方式对与当前的局部场景对应的和目标子地图进行合并,从而得到处理后的目标全局地图。
本公开提出了一种地图管理方法,通过对局部场景进行图像采集,并基于采集的图像进行SLAM,以获取局部场景的第一子地图,然后从局部场景已有的至少一个第二子地图中,获取与第一子地图相似的目标第二子地图,并将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图,进而将目标子地图添加至全局地图中,以得到目标全局地图,避免了多次存储针对同一个局部场景的子地图带来的存储空间的浪费,提高了地图管理过程中的有效性、可靠性以及鲁棒性。特别地,针对视觉SLAM过程,避免了因光照条件不同导致获取到的针对同一个局部场景的子地图无限制增加的技术问题。
需要说明的是,本公开中,在试图从局部场景已有的至少一个第二子地图中,获取与第一子地图相似的目标第二子地图时,可以获取视觉词袋数据,并根据视觉词袋数据进行SLAM回环检测。
作为一种可能的实现方式,如图3所示,在上述实施例的基础上,上述步骤中从局部场景已有的至少一个第二子地图中,获取与第一子地图相似的目标第二子地图的具体过程,包括以下步骤:
S201,获取局部场景的视觉词袋数据。
其中,视觉词袋(Bag of Visual Words,简称BoVW)数据,类似于BoW模型(Bag ofWords,词袋),指的是基于大量数据,预先通过特征检测、特征表示、单词本生成等过程获取到的具有较强泛化能力的数据。其中,针对同一个局部场景的子地图可以共用一个视觉词袋数据。
S202,根据视觉词袋数据,获取与第一子地图相似的目标第二子地图。
作为一种可能的实现方式,如图4所示,在上述实施例的基础上,上述步骤中根据视觉词袋数据,获取与第一子地图相似的目标第二子地图的具体过程,包括以下步骤:
S301,获取第一子地图的第一关键帧图像以及每个第二子地图的第二关键帧图像。
本公开实施例中,可以获取子地图中的每帧图像,并提取每帧图像的特征信息,进而基于每帧图像的特征信息,从每帧图像中识别特征信息满足设定条件的图像,确定为关键帧图像。可选地,每帧图像的特征信息可用每帧图像的特征向量表示。
作为一种可能的实现方式,可以基于采集图像时机器人的旋转角度确定关键帧图像。可选地,针对第一子地图,可以对采集图像时机器人的旋转角度进行识别,基于旋转角度选择出旋转角度大于设定角度阈值的图像作为第一关键帧图像;可选地,针对第二子地图,可以对采集图像时机器人的旋转角度进行识别,基于旋转角度选择出旋转角度大于设定角度阈值的图像作为第二关键帧图像。
作为另一种可能的实现方式,可以基于采集图像时机器人的位姿变换量确定关键帧图像。可选地,针对第一子地图,可以对采集图像时机器人的位姿变换量进行识别,如果图像与上一帧图像的位姿变换超过位姿阈值,则判定当前帧图像为第一关键帧图像;可选地,针对第二子地图,可以对采集图像时机器人的位姿变换量进行识别,如果图像与上一帧图像的位姿变换超过位姿阈值,则判定当前帧图像为第二关键帧图像。其中,这种方法相对于时间采样法更为鲁棒,选取的关键帧图像更具代表性。
作为另一种可能的实现方式,可以基于采集图像时机器人的特征点数量确定关键帧图像。可选地,针对第一子地图,可以对采集图像时机器人的特征点数量进行识别,基于特征点数量选择出特征点数量大于设定特征点数量阈值的图像作为第一关键帧图像;可选地,针对第二子地图,可以对采集图像时机器人的特征点数量进行识别,基于特征点数量选择出特征点数量大于设定特征点数量阈值的图像作为第二关键帧图像。
需要说明的是,在确定关键帧时,可以设置需要满足以上设定条件的一项或者两项或者三项。
需要说明的是,本公开中可以通过多种方式提取每帧图像的特征信息。可选地,关键帧图像的特征信息可以包括关键帧图像中物体的姿态、位移或者点云信息等。可选地,获取关键帧图像的特征信息可采用方向梯度直方图(Histogram of Oriented Gradient,HOG)、局部二值模式(Local Binary Pattern,LBP)、尺度不变特征转换(Scale-invariantfeature transform,SIFT)等。
S302,根据视觉词袋数据、第一关键帧图像与第二关键帧图像,对第一子地图和第二子地图进行SLAM回环检测。
作为一种可能的实现方式,如图5所示,在上述实施例的基础上,上述步骤中根据第一关键帧图像与第二关键帧图像,对第一子地图和第二子地图进行SLAM回环检测的具体过程,包括以下步骤:
S401,针对每个第二子地图,根据视觉词袋数据,从第二子地图的第二关键帧图像中,获取与第一关键帧图像具有公共单词的候选第二关键帧图像。
其中,视觉词袋数据由单词构成,公共单词,指的是当前帧(例如第一关键帧)与相邻帧具有的相同单词。
举例而言,针对每个第二子地图甲,第二子地图的第二关键帧图像1~3均与第一关键帧图像具有公共单词,此种情况下,可以将第二关键帧图像1~3确定为候选第二关键帧图像。
S402,从候选第二关键帧图像中,获取目标第二关键帧图像。
作为一种可能的实现方式,如图6所示,在上述实施例的基础上,上述步骤中从候选第二关键帧图像中,获取目标第二关键帧图像的具体过程,包括以下步骤:
S501,获取每个候选第二关键帧图像与第一关键帧图像具有的公共单词的第一数量。
举例而言,针对每个第二子地图甲,第二关键帧图像1~3均为候选第二关键帧图像,此种情况下,可以获取第二关键帧图像1~3与第一关键帧图像具有的公共单词的第一数量分别为5、10和15。
S502,响应于第一数量达到第一数量阈值,则将第一数量达到第一数量阈值的候选第二关键帧图像作为目标第二关键帧图像。
其中,第一数量阈值可以根据实际情况进行设定。
举例而言,针对每个第二子地图甲,第二关键帧图像1~3均为候选第二关键帧图像,获取到第二关键帧图像1~3与第一关键帧图像具有的公共单词的第一数量分别为5、10和15。此种情况下,若第一数量阈值为9,则可以将第二关键帧图像2和3确定为目标第二关键帧图像。
S403,获取第一关键帧图像与每个目标第二关键帧图像之间的第一相似度,并根据第一相似度进行SLAM回环检测。
作为一种可能的实现方式,如图7所示,在上述实施例的基础上,上述步骤中获取第一关键帧图像与每个目标第二关键帧图像之间的第一相似度,并根据第一相似度进行SLAM回环检测的具体过程,包括以下步骤:
S601,针对每个目标第二关键帧图像,获取第一关键帧图像与目标第二关键帧图像之间的第一相似度。
举例而言,若目标第二关键帧图像为第二关键帧图像2和3,此种情况下,可以分别获取第一关键帧图像与第二关键帧图像2和3之间的第一相似度,第一相似度分别为0.85和0.97。
S602,响应于第一相似度达到第一相似度阈值,则确定目标第二关键帧图像与第一关键帧图像发生SLAM回环。
其中,第一相似度阈值可以根据实际情况进行设定。
举例而言,可以设定第一相似度阈值为0.95,此种情况下,针对第一相似度0.85和0.97,可以确定第二关键帧图像3与第一关键帧图像发生SLAM回环。
S303,将与第一子地图发生SLAM回环的第二子地图,确定为与第一子地图相似的目标第二子地图。
举例而言,若第二关键帧图像3与第一关键帧图像发生SLAM回环,则可以确定第二关键帧图像3为与第一子地图相似的目标第二子地图。
本公开提出了一种地图管理方法,通过获取视觉词袋数据,并根据视觉词袋数据进行SLAM回环检测,从而隔年准确地获取与第一子地图相似的目标第二子地图,为准确地得到局部场景的目标子地图奠定了基础,进一步提高了地图管理过程中的有效性、可靠性以及鲁棒性。
需要说明的是,本公开中,在试图将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图时,可以分别获取第一关键帧图像对应的第一地图位置点和第一地图位置点的第一姿态,以及第二关键帧图像对应的第二地图位置点和第二地图位置点的第二姿态,并根据第一姿态和第二姿态获取目标子地图。
作为一种可能的实现方式,如图8所示,在上述实施例的基础上,上述步骤中将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图的具体过程,包括以下步骤:
S701,获取第一关键帧图像对应的第一地图位置点和第一地图位置点的第一姿态。
本公开实施例中,可以对第一关键帧图像上的物体进行坐标系转换,进而确定第一关键帧图像对应的第一地图位置点,比如说,基于对第一关键帧图像,根据相机的姿态将第一关键帧图像由图像坐标系向世界坐标系上进行转换,进而确定第一关键帧图像对应的第一地图位置点。
进一步地,对第一关键帧图像进行姿态估计,可以获取第一关键帧图像在对应的第一地图位置点的姿态,作为第一姿态。可选地,对物体进行姿态估计可以采用深度神经网络对物体的6D姿态估计算法(Deep Iterative Matching for 6D Pose Estimation,DeepIM)。
S702,获取第二关键帧图像对应的第二地图位置点和第二地图位置点的第二姿态。
本公开实施例中,可以对第二关键帧图像上的物体进行坐标系转换,进而确定第二关键帧图像对应的第二地图位置点,比如说,基于对第二关键帧图像,根据相机的姿态将第二关键帧图像由图像坐标系向世界坐标系上进行转换,进而确定第二关键帧图像对应的第二地图位置点。
进一步地,对第二关键帧图像进行姿态估计,可以获取第二关键帧图像在对应的第二地图位置点的姿态,作为第二姿态。可选地,对物体进行姿态估计可以采用深度神经网络对物体的6D姿态估计算法。
S703,根据第一姿态和第二姿态,将第一子地图和目标第二子地图进行合并,以得到局部场景的所述目标子地图。
需要说明的是,本公开中对于根据第一姿态和第二姿态,将第一子地图和目标第二子地图进行合并的具体方式不作限定,可以根据实际情况进行设定。
作为一种可能的实现方式,如图9所示,在上述实施例的基础上,上述步骤中根据第一姿态和第二姿态,将第一子地图和目标第二子地图进行合并,以得到局部场景的所述目标子地图的具体过程,包括以下步骤:
S801,根据第一姿态和第二姿态,获取目标全局坐标系和目标旋转角度。
S802,根据目标全局坐标系和目标旋转角度,将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图。
本公开实施例中,在获取到第一姿态和第二姿态,可以根据第一姿态和第二姿态,获取目标全局坐标系和目标旋转角度。进一步地,可以根据目标全局坐标系和目标旋转角度,将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图。其中,目标全局坐标系和目标旋转角度用于将第一子地图和目标第二子地图进行合并。
本公开提出了一种地图管理方法,通过分别获取第一关键帧图像对应的第一地图位置点和第一地图位置点的第一姿态,以及第二关键帧图像对应的第二地图位置点和第二地图位置点的第二姿态,并根据第一姿态和第二姿态,将第一子地图和目标第二子地图进行合并,以得到局部场景的目标子地图,从而实现了针对同一个局部场景的多个子地图的融合。
进一步地,在地图构建的过程中,可能会发生需要进行重定位的情况。本公开中,可以获取当前帧图像的特征信息,并基于特征信息和视觉词袋数据,对局部场景进行重定位。
作为一种可能的实现方式,如图10所示,在上述实施例的基础上,具体包括以下步骤:
S901,响应于满足重定位条件,获取当前帧图像的特征信息。
其中,在机器人(例如足式机器人等)作业的过程中,若其在全局坐标系中的位姿发生了变化(如机器人打滑、被抱起等),装载在机器人上的激光传感器在全局坐标系中的位置则发生了变化,激光传感器发射激光束扫描周围环境得到的激光点数据与环境地图不匹配,此种情况下则需要进行重定位。
由此,本公开中提出的重定位条件可以根据实际情况进行设定。例如,机器人发生打滑、被抱起等情况。
可选地,获取当前帧图像的特征信息可采用方向梯度直方图、局部二值模式、尺度不变特征转换等方式。
S902,根据特征信息和视觉词袋数据,获取当前帧图像的目标姿态。
作为一种可能的实现方式,如图11所示,在上述实施例的基础上,上述步骤中根据特征信息和视觉词袋数据,获取当前帧图像的目标姿态的具体过程,包括以下步骤:
S1001,根据特征信息和视觉词袋数据,获取当前帧图像与每个第二关键帧图像的第二相似度。
举例而言,针对第二关键帧图像4~6,可以分别获取当前帧图像与第二关键帧图像4~6之间的第二相似度,第二相似度分别为0.6、0.8和0.95。
S1002,响应于存在第二相似度达到第二相似度阈值的第二关键帧图像,则将第二关键帧图像作为参考第二关键帧图像。
其中,第二相似度阈值可以根据实际情况进行设定。
举例而言,可以设定第二相似度阈值为0.75,此种情况下,针对第二相似度0.6、0.8和0.95,可以确定第二关键帧图像5和6为参考第二关键帧图像。
需要说明的是,若存在多个第二相似度达到第二相似度阈值的参考第二关键帧图像时,可以从多个参考第二关键帧图像中进一步筛选,以获取一个参考第二关键帧图像。
举例而言,获取到参考第二关键帧图像为第二关键帧图像5和6,此种情况下,可以选取第二相似度最大的参考第二关键帧执行后续步骤。
S1003,将当前帧图像与参考第二关键帧图像进行位置点匹配操作。
需要说明的是,本公开中可以通过多种方式进行位置点匹配操作。可选地,可以通过获取当前帧图像与参考第二关键帧图像的位置点之间的相似度,实现位置点匹配操作。
S1004,根据匹配成功的位置点的三维空间坐标以及二维投影位置,获取目标姿态。
需要说明的是,本公开中,为了避免假阳性问题,可以在根据匹配成功的位置点的三维空间坐标以及二维投影位置,获取目标姿态之前,对匹配成功的位置点的数量进行识别。
作为一种可能的实现方式,如图12所示,在上述实施例的基础上,具体包括以下步骤:
S1101,获取匹配成功的位置点的第二数量。
举例而言,针对参考第二关键帧图像1,可以获取其匹配成功的位置点的第二数量为60。
S1102,确定匹配成功的位置点的第二数量达到第二预设数量阈值。
其中,第二预设数量阈值可以根据实际情况进行设定。
例如,可以设定第二预设数量阈值为50,此种情况下,针对第二数量为60的参考第二关键帧图像1,第二数量达到第二预设数量阈值,此种情况下,说明重定位成功,则可以继续执行步骤S903。
又例如,可以设定第二预设数量阈值为50,此种情况下,针对第二数量为45的参考第二关键帧图像2,第二数量未达到第二预设数量阈值,此种情况下,说明重定位未成功,则可以返回步骤S1001~1002,重新获取参考第二关键帧图像。
S903,根据目标姿态对局部场景进行重定位。
本公开提出了一种地图管理方法,通过获取当前帧图像的特征信息,并基于特征信息和视觉词袋数据,对局部场景进行重定位。进一步地,可以在根据匹配成功的位置点的三维空间坐标以及二维投影位置,获取目标姿态之前,对匹配成功的位置点的数量进行识别,避免了假阳性问题,进而避免了由假阳性问题而导致的资源浪费,提高了重定位的成功概率,从而能够支持无地图、地图环境变化、里程计打滑等多种情形下的重定位,进一步提高了地图管理过程中的有效性、可靠性以及鲁棒性。
需要说明的是,本公开中,在试图将目标子地图添加至全局地图中,以得到目标全局地图时,可以基于匹配的策略对添加入目标子地图的全局地图进行优化。
作为一种可能的实现方式,如图13所示,在上述实施例的基础上,上述步骤中从局部场景已有的至少一个第二子地图中,获取与第一子地图相似的目标第二子地图的具体过程,包括以下步骤:
S1201,从全局地图中提取第三关键帧图像。
其中,第三关键帧图像,可以为全局地图中任一子地图中的关键帧图像。
举例而言,全局地图中共有3个子地图,分别为子地图1~3,此种情况下,第三关键帧图像可以为子地图1中的关键帧图像,也可以为子地图2中的关键帧图像,又可以为子地图3中的关键帧图像。
S1202,根据第一关键帧图像与第三关键帧图像,对目标子地图与第三关键帧图像对应的子地图进行SLAM回环检测。
需要说明的是,对目标子地图与第三关键帧图像对应的子地图进行SLAM回环检测的具体过程,与上述实施例进行SLAM回环检测的过程相似,此处不再赘述。
S1203,响应于目标子地图与第三关键帧图像对应的子地图发生SLAM回环,则将目标子地图和第三关键帧图像对应的子地图进行合并,以得到目标全局地图。
需要说明的是,响应于目标子地图与第三关键帧图像对应的子地图发生SLAM回环,说明第三关键帧图像对应的子地图与目标子地图相似,即言第三关键帧图像对应的子地图与目标子地图均对应与当前活跃地图(Active Map),则可以将目标子地图和第三关键帧图像对应的子地图进行合并,以得到目标全局地图。
本公开提出了一种地图管理方法,通过从全局地图中提取第三关键帧图像,并根据第一关键帧图像与第三关键帧图像,对目标子地图与第三关键帧图像对应的子地图进行SLAM回环检测,进而响应于目标子地图与第三关键帧图像对应的子地图发生SLAM回环,则将目标子地图和第三关键帧图像对应的子地图进行合并,以得到目标全局地图,避免了于全局地图中存储多个针对同一个局部场景的子地图带来的存储空间的浪费,进一步提高了地图管理过程中的有效性、可靠性以及鲁棒性。
进一步地,在得到全局场景的目标全局地图之后,可以基于合理的策略对目标全局地图进行维护。
作为一种可能的实现方式,如图14所示,在上述实施例的基础上,具体包括以下步骤:
S1301,根据目标全局地图,生成概要地图。
需要说明的是,通过多地图构建的大规模全局地图,通常包含大量地标(子地图),占用较大存储空间。然而对于高质量的地图构建、管理,以及基于地图定位等场景,这并不是必需的。
由此,本公开中,可以根据目标全局地图,生成概要地图,从而基于概要地图对目标全局地图进行优化。以采用Maplab框架为例,可以通过基于整数优化的地标选择方法,生成一个概要地图。
S1302,获取概要地图中的第五关键帧图像以及第五关键帧图像在进行SLAM过程中的出现次数。
本公开实施例中,可以在保持一定环境覆盖率的前提下,去除不常见的地标。可选地,可以获取概要地图中的第五关键帧图像以及第五关键帧图像在进行SLAM过程中的出现次数。
其中,第五关键帧图像为概要地图中的任一关键帧图像。
S1303,根据出现次数,从第五关键帧图像中获取冗余关键帧图像,并从概要地图中删除冗余关键帧图像。
本公开实施例中,响应于出现次数未达到出现次数阈值,即言出现次数较少时,说明该关键帧图像不常见,则可以确定该关键帧图像为冗余关键帧图像,并从概要地图中删除冗余关键帧图像;响应于出现次数达到出现次数阈值,即言出现次数较多时,说明该关键帧图像常见,则可以确定该关键帧图像非冗余关键帧图像,返回第五关键帧图像获取步骤,对其他关键帧图像进行识别。
其中,出现次数阈值可以根据实际情况进行设定。
需要说明的是,作为另一种可能的实现方式,在获取到出现次数后,可以将出现次数转化为该第五关键帧图像对应的贡献值,进而根据贡献值判断第五关键帧图像是否为冗余关键帧图像。
本公开提出了一种地图管理方法,通过根据目标全局地图,生成概要地图,并获取概要地图中的第五关键帧图像以及第五关键帧图像在进行SLAM过程中的出现次数,进而根据出现次数,从第五关键帧图像中获取冗余关键帧图像,并从概要地图中删除冗余关键帧图像,使得在没有大的位姿估计质量损失的情况下,显著减小了目标全局地图的尺寸,进一步提高了地图管理过程中的有效性、可靠性以及鲁棒性。
图15是本公开实施例提出的一种地图管理装置的示意图,如图15所示,该地图管理装置1000包括:第一获取模块11、第二获取模块12、第一确定模块13和第二确定模块14,其中:
第一获取模块11,用于对局部场景进行图像采集,并基于采集的所述图像进行同步定位与建图SLAM,以获取所述局部场景的第一子地图;
第二获取模块12,用于从所述局部场景已有的至少一个第二子地图中,获取与所述第一子地图相似的目标第二子地图;
第一确定模块13,用于将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的目标子地图;
第二确定模块14,用于将所述目标子地图添加至全局地图中,以得到目标全局地图。
进一步地,第二获取模块12,还用于:获取所述局部场景的视觉词袋数据;根据所述视觉词袋数据,获取与所述第一子地图相似的所述目标第二子地图。
进一步地,第二获取模块12,还用于:获取所述第一子地图的第一关键帧图像以及每个所述第二子地图的第二关键帧图像;根据所述视觉词袋数据、所述第一关键帧图像与所述第二关键帧图像,对所述第一子地图和所述第二子地图进行SLAM回环检测;将与所述第一子地图发生所述SLAM回环的第二子地图,确定为与所述第一子地图相似的所述目标第二子地图。
进一步地,第二获取模块12,还用于:针对每个所述第二子地图,根据所述视觉词袋数据,从所述第二子地图的所述第二关键帧图像中,获取与所述第一关键帧图像具有公共单词的候选第二关键帧图像;从所述候选第二关键帧图像中,获取目标第二关键帧图像;获取所述第一关键帧图像与每个所述目标第二关键帧图像之间的第一相似度,并根据所述第一相似度进行SLAM回环检测。
进一步地,第二获取模块12,还用于:获取每个所述候选第二关键帧图像与所述第一关键帧图像具有的所述公共单词的第一数量;响应于所述第一数量达到第一数量阈值,则将所述第一数量达到所述第一数量阈值的所述候选第二关键帧图像作为所述目标第二关键帧图像。
进一步地,第二获取模块12,还用于:针对每个所述目标第二关键帧图像,获取所述第一关键帧图像与所述目标第二关键帧图像之间的所述第一相似度;响应于所述第一相似度达到第一相似度阈值,则确定所述目标第二关键帧图像与所述第一关键帧图像发生所述SLAM回环。
进一步地,第一确定模块13,还用于:获取所述第一关键帧图像对应的第一地图位置点和所述第一地图位置点的第一姿态;获取所述第二关键帧图像对应的第二地图位置点和所述第二地图位置点的第二姿态;根据所述第一姿态和所述第二姿态,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
进一步地,第一确定模块13,还用于:根据所述第一姿态和所述第二姿态,获取目标全局坐标系和目标旋转角度;根据所述目标全局坐标系和所述目标旋转角度,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
进一步地,如图16所示,本公开提出的地图管理装置1000,还包括:重定位模块15,用于:响应于满足重定位条件,获取当前帧图像的特征信息;根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像的目标姿态;根据所述目标姿态对所述局部场景进行重定位。
进一步地,重定位模块15,还用于:根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像与每个所述第二关键帧图像的第二相似度;响应于存在所述第二相似度达到第二相似度阈值的所述第二关键帧图像,则将所述第二关键帧图像作为参考第二关键帧图像;将所述当前帧图像与所述参考第二关键帧图像进行位置点匹配操作;根据所述匹配成功的位置点的三维空间坐标以及二维投影位置,获取所述目标姿态。
进一步地,重定位模块15,还用于:获取所述匹配成功的位置点的第二数量;确定所述匹配成功的位置点的所述第二数量达到第二预设数量阈值。
进一步地,第二确定模块14,还用于:从所述全局地图中提取第三关键帧图像;根据所述第一关键帧图像与所述第三关键帧图像,对所述目标子地图与所述第三关键帧图像对应的子地图进行SLAM回环检测;响应于所述目标子地图与所述第三关键帧图像对应的子地图发生所述SLAM回环,则将所述目标子地图和所述第三关键帧图像对应的子地图进行合并,以得到所述目标全局地图。
进一步地,第二确定模块14,还用于:根据所述目标全局地图,生成概要地图;获取所述概要地图中的第五关键帧图像以及所述第五关键帧图像在进行SLAM过程中的出现次数;根据所述出现次数,从所述第五关键帧图像中获取冗余关键帧图像,并从所述概要地图中删除所述冗余关键帧图像。
为了实现上述实施例,本公开还提供了一种电子设备,如图17所示,该电子设备2000包括:处理器21;用于存储处理器21可执行指令的一个或多个存储器22;其中,处理器21被配置为执行上述实施例的地图管理方法。
电子设备2000可以包括一个或多个处理器21。处理器21可以是通用处理器或者专用处理器等。例如可以是基带处理器或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对电子设备(如,基站、基带芯片,终端设备,清洁类机器人,足式机器人,终端设备芯片,DU或CU等)进行控制,执行计算机程序,处理计算机程序的数据。
可选的,电子设备2000中还可以包括一个或多个存储器22,其上可以存有计算机程序,处理器21执行所述计算机程序,以使得电子设备2000执行上述方法实施例中描述的地图管理方法。可选的,所述存储器22中还可以存储有数据。电子设备2000和存储器22可以单独设置,也可以集成在一起。
为了实现上述实施例,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述实施例所提出的地图管理方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
为了实现上述实施例,本公开还提供一种计算机程序产品,包括计算机程序,其特征在于,计算机程序被处理器执行时实现上述实施例的地图管理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (22)
1.一种地图管理方法,其特征在于,包括:
对局部场景进行图像采集,并基于采集的所述图像进行同步定位与建图SLAM,以获取所述局部场景的第一子地图;
从所述局部场景已有的至少一个第二子地图中,获取与所述第一子地图相似的目标第二子地图;
将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的目标子地图;
将所述目标子地图添加至全局地图中,以得到目标全局地图,其中,所述全局地图指的是包括当前的局部场景以及其他多个局部场景的全局场景对应的地图;
所述从所述局部场景已有的至少一个第二子地图中,获取与所述第一子地图相似的目标第二子地图,包括:
获取所述局部场景的视觉词袋数据;
获取所述第一子地图的第一关键帧图像以及每个所述第二子地图的第二关键帧图像;
针对每个所述第二子地图,根据所述视觉词袋数据,从所述第二子地图的所述第二关键帧图像中,获取与所述第一关键帧图像具有公共单词的候选第二关键帧图像;
从所述候选第二关键帧图像中,获取目标第二关键帧图像;
获取所述第一关键帧图像与每个所述目标第二关键帧图像之间的第一相似度,并根据所述第一相似度进行SLAM回环检测;
响应于所述第一关键帧图像与所述目标第二关键帧图像发生所述SLAM回环,则将与所述目标第二关键帧图像对应的第二子地图确定为与所述第一子地图相似的目标第二子地图。
2.根据权利要求1所述的方法,其特征在于,所述从所述候选第二关键帧图像中,获取目标第二关键帧图像,包括:
获取每个所述候选第二关键帧图像与所述第一关键帧图像具有的所述公共单词的第一数量;
响应于所述第一数量达到第一数量阈值,则将所述第一数量达到所述第一数量阈值的所述候选第二关键帧图像作为所述目标第二关键帧图像。
3.根据权利要求1所述的方法,其特征在于,所述获取所述第一关键帧图像与每个所述目标第二关键帧图像之间的第一相似度,并根据所述第一相似度进行SLAM回环检测,包括:
针对每个所述目标第二关键帧图像,获取所述第一关键帧图像与所述目标第二关键帧图像之间的所述第一相似度;
响应于所述第一相似度达到第一相似度阈值,则确定所述目标第二关键帧图像与所述第一关键帧图像发生所述SLAM回环。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的目标子地图,包括:
获取所述第一关键帧图像对应的第一地图位置点和所述第一地图位置点的第一姿态;
获取所述第二关键帧图像对应的第二地图位置点和所述第二地图位置点的第二姿态;
根据所述第一姿态和所述第二姿态,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一姿态和所述第二姿态,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图,包括:
根据所述第一姿态和所述第二姿态,获取目标全局坐标系和目标旋转角度;
根据所述目标全局坐标系和所述目标旋转角度,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:
响应于满足重定位条件,获取当前帧图像的特征信息;
根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像的目标姿态;
根据所述目标姿态对所述局部场景进行重定位。
7.根据权利要求6所述的方法,其特征在于,所述根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像的目标姿态,包括:
根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像与每个所述第二关键帧图像的第二相似度;
响应于存在所述第二相似度达到第二相似度阈值的所述第二关键帧图像,则将所述第二关键帧图像作为参考第二关键帧图像;
将所述当前帧图像与所述参考第二关键帧图像进行位置点匹配操作;
根据匹配成功的位置点的三维空间坐标以及二维投影位置,获取所述目标姿态。
8.根据权利要求7所述的方法,其特征在于,所述根据匹配成功的位置点的三维空间坐标以及二维投影位置,获取所述目标姿态之前,还包括:
获取所述匹配成功的位置点的第二数量;
确定所述匹配成功的位置点的所述第二数量达到第二预设数量阈值。
9.根据权利要求1所述的方法,其特征在于,所述将所述目标子地图添加至全局地图中,以得到目标全局地图,包括:
从所述全局地图中提取第三关键帧图像;
根据所述第一关键帧图像与所述第三关键帧图像,对所述目标子地图与所述第三关键帧图像对应的子地图进行SLAM回环检测;
响应于所述目标子地图与所述第三关键帧图像对应的子地图发生所述SLAM回环,则将所述目标子地图和所述第三关键帧图像对应的子地图进行合并,以得到所述目标全局地图。
10.根据权利要求1-5或9中任一项所述的方法,其特征在于,所述得到所述全局场景的目标全局地图之后,还包括:
根据所述目标全局地图,生成概要地图;
获取所述概要地图中的第五关键帧图像以及所述第五关键帧图像在进行SLAM过程中的出现次数;
根据所述出现次数,从所述第五关键帧图像中获取冗余关键帧图像,并从所述概要地图中删除所述冗余关键帧图像。
11.一种地图管理装置,其特征在于,包括:
第一获取模块,用于对局部场景进行图像采集,并基于采集的所述图像进行同步定位与建图SLAM,以获取所述局部场景的第一子地图;
第二获取模块,用于从所述局部场景已有的至少一个第二子地图中,获取与所述第一子地图相似的目标第二子地图;
第一确定模块,用于将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的目标子地图;
第二确定模块,用于将所述目标子地图添加至全局地图中,以得到目标全局地图,其中,所述全局地图指的是包括当前的局部场景以及其他多个局部场景的全局场景对应的地图;
所述第二获取模块,还用于:
获取所述局部场景的视觉词袋数据;
获取所述第一子地图的第一关键帧图像以及每个所述第二子地图的第二关键帧图像;
针对每个所述第二子地图,根据所述视觉词袋数据,从所述第二子地图的所述第二关键帧图像中,获取与所述第一关键帧图像具有公共单词的候选第二关键帧图像;
从所述候选第二关键帧图像中,获取目标第二关键帧图像;
获取所述第一关键帧图像与每个所述目标第二关键帧图像之间的第一相似度,并根据所述第一相似度进行SLAM回环检测;
响应于所述第一关键帧图像与所述目标第二关键帧图像发生所述SLAM回环,则将与所述目标第二关键帧图像对应的第二子地图确定为与所述第一子地图相似的目标第二子地图。
12.根据权利要求11所述的装置,其特征在于,所述第二获取模块,还用于:
获取每个所述候选第二关键帧图像与所述第一关键帧图像具有的所述公共单词的第一数量;
响应于所述第一数量达到第一数量阈值,则将所述第一数量达到所述第一数量阈值的所述候选第二关键帧图像作为所述目标第二关键帧图像。
13.根据权利要求11所述的装置,其特征在于,所述第二获取模块,还用于:
针对每个所述目标第二关键帧图像,获取所述第一关键帧图像与所述目标第二关键帧图像之间的所述第一相似度;
响应于所述第一相似度达到第一相似度阈值,则确定所述目标第二关键帧图像与所述第一关键帧图像发生所述SLAM回环。
14.根据权利要求11所述的装置,其特征在于,所述第一确定模块,还用于:
获取所述第一关键帧图像对应的第一地图位置点和所述第一地图位置点的第一姿态;
获取所述第二关键帧图像对应的第二地图位置点和所述第二地图位置点的第二姿态;
根据所述第一姿态和所述第二姿态,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
15.根据权利要求14所述的装置,其特征在于,所述第一确定模块,还用于:
根据所述第一姿态和所述第二姿态,获取目标全局坐标系和目标旋转角度;
根据所述目标全局坐标系和所述目标旋转角度,将所述第一子地图和所述目标第二子地图进行合并,以得到所述局部场景的所述目标子地图。
16.根据权利要求11-15中任一项所述的装置,其特征在于,还包括,重定位模块,用于:
响应于满足重定位条件,获取当前帧图像的特征信息;
根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像的目标姿态;
根据所述目标姿态对所述局部场景进行重定位。
17.根据权利要求16所述的装置,其特征在于,所述重定位模块,还用于:
根据所述特征信息和所述视觉词袋数据,获取所述当前帧图像与每个所述第二关键帧图像的第二相似度;
响应于存在所述第二相似度达到第二相似度阈值的所述第二关键帧图像,则将所述第二关键帧图像作为参考第二关键帧图像;
将所述当前帧图像与所述参考第二关键帧图像进行位置点匹配操作;
根据匹配成功的位置点的三维空间坐标以及二维投影位置,获取所述目标姿态。
18.根据权利要求17所述的装置,其特征在于,所述重定位模块,还用于:
获取所述匹配成功的位置点的第二数量;
确定所述匹配成功的位置点的所述第二数量达到第二预设数量阈值。
19.根据权利要求11所述的装置,其特征在于,所述第二确定模块,还用于:
从所述全局地图中提取第三关键帧图像;
根据所述第一关键帧图像与所述第三关键帧图像,对所述目标子地图与所述第三关键帧图像对应的子地图进行SLAM回环检测;
响应于所述目标子地图与所述第三关键帧图像对应的子地图发生所述SLAM回环,则将所述目标子地图和所述第三关键帧图像对应的子地图进行合并,以得到所述目标全局地图。
20.根据权利要求11-15或19中任一项所述的装置,其特征在于,所述第二确定模块,还用于:
根据所述目标全局地图,生成概要地图;
获取所述概要地图中的第五关键帧图像以及所述第五关键帧图像在进行SLAM过程中的出现次数;
根据所述出现次数,从所述第五关键帧图像中获取冗余关键帧图像,并从所述概要地图中删除所述冗余关键帧图像。
21.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-10中任一所述的方法。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110900148.0A CN115705670B (zh) | 2021-08-06 | 2021-08-06 | 地图管理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110900148.0A CN115705670B (zh) | 2021-08-06 | 2021-08-06 | 地图管理方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115705670A CN115705670A (zh) | 2023-02-17 |
CN115705670B true CN115705670B (zh) | 2024-06-04 |
Family
ID=85179124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110900148.0A Active CN115705670B (zh) | 2021-08-06 | 2021-08-06 | 地图管理方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115705670B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107917712A (zh) * | 2017-11-16 | 2018-04-17 | 苏州艾吉威机器人有限公司 | 一种同步定位与地图构建方法及设备 |
CN110044354A (zh) * | 2019-03-28 | 2019-07-23 | 东南大学 | 一种双目视觉室内定位与建图方法及装置 |
WO2020006685A1 (zh) * | 2018-07-03 | 2020-01-09 | 深圳前海达闼云端智能科技有限公司 | 一种建立地图的方法、终端和计算机可读存储介质 |
CN112258546A (zh) * | 2020-10-18 | 2021-01-22 | 东南大学 | 一种slam系统的关键帧选取方法 |
CN112789609A (zh) * | 2020-06-30 | 2021-05-11 | 深圳市大疆创新科技有限公司 | 地图的更新方法、装置、可移动平台及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109603155B (zh) * | 2018-11-29 | 2019-12-27 | 网易(杭州)网络有限公司 | 合并贴图的获取方法、装置、存储介质、处理器及终端 |
-
2021
- 2021-08-06 CN CN202110900148.0A patent/CN115705670B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107917712A (zh) * | 2017-11-16 | 2018-04-17 | 苏州艾吉威机器人有限公司 | 一种同步定位与地图构建方法及设备 |
WO2020006685A1 (zh) * | 2018-07-03 | 2020-01-09 | 深圳前海达闼云端智能科技有限公司 | 一种建立地图的方法、终端和计算机可读存储介质 |
CN110044354A (zh) * | 2019-03-28 | 2019-07-23 | 东南大学 | 一种双目视觉室内定位与建图方法及装置 |
CN112789609A (zh) * | 2020-06-30 | 2021-05-11 | 深圳市大疆创新科技有限公司 | 地图的更新方法、装置、可移动平台及存储介质 |
CN112258546A (zh) * | 2020-10-18 | 2021-01-22 | 东南大学 | 一种slam系统的关键帧选取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115705670A (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11094123B2 (en) | Visual localisation | |
CN112419494B (zh) | 用于自动驾驶的障碍物检测、标记方法、设备及存储介质 | |
CN107990899B (zh) | 一种基于slam的定位方法和系统 | |
US10437252B1 (en) | High-precision multi-layer visual and semantic map for autonomous driving | |
CN106599108B (zh) | 一种三维环境中多模态环境地图构建方法 | |
US10794710B1 (en) | High-precision multi-layer visual and semantic map by autonomous units | |
US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
KR20180004109A (ko) | 모바일 디바이스 현지화를 위한 영역 서술 파일의 크라우드-소싱 생성 및 업데이트 | |
US20140205186A1 (en) | Techniques for Ground-Level Photo Geolocation Using Digital Elevation | |
CN105009120A (zh) | 基于客户端-服务器的动态搜索 | |
CN106548486A (zh) | 一种基于稀疏视觉特征地图的无人车位置跟踪方法 | |
CN113240734B (zh) | 一种基于鸟瞰图的车辆跨位判断方法、装置、设备及介质 | |
CN114549738A (zh) | 无人车室内实时稠密点云重建方法、系统、设备及介质 | |
WO2020006685A1 (zh) | 一种建立地图的方法、终端和计算机可读存储介质 | |
CN117152249A (zh) | 基于语义一致性的多无人机协同建图与感知方法及系统 | |
CN112836698A (zh) | 一种定位方法、装置、存储介质及电子设备 | |
CN115497077A (zh) | 车厢姿态识别系统、方法、电子设备及存储介质 | |
Wilson et al. | Visual and object geo-localization: A comprehensive survey | |
Li et al. | Stereo neural vernier caliper | |
KR20220062709A (ko) | 모바일 디바이스 영상에 기반한 공간 정보 클러스터링에 의한 재난 상황 인지 시스템 및 방법 | |
CN114830185A (zh) | 借助于神经网络的位置确定 | |
CN115705670B (zh) | 地图管理方法及其装置 | |
CN110827340B (zh) | 地图的更新方法、装置及存储介质 | |
CN115700507B (zh) | 地图更新方法及其装置 | |
Zhao et al. | Scalable building height estimation from street scene images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |