CN116105721B - 地图构建的回环优化方法、装置、设备及存储介质 - Google Patents
地图构建的回环优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116105721B CN116105721B CN202310378837.9A CN202310378837A CN116105721B CN 116105721 B CN116105721 B CN 116105721B CN 202310378837 A CN202310378837 A CN 202310378837A CN 116105721 B CN116105721 B CN 116105721B
- Authority
- CN
- China
- Prior art keywords
- map
- local
- frame
- loop
- adjacent
- 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
- 238000005457 optimization Methods 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000010276 construction Methods 0.000 title claims abstract description 62
- 230000009466 transformation Effects 0.000 claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 230000008859 change Effects 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 239000000969 carrier Substances 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例涉及同步定位与地图构建的技术领域,公开了一种地图构建的回环优化方法、装置、设备及存储介质,该方法包括:获取图像采集设备移动过程中采集的多个数据帧;根据图像采集顺序利用多个数据帧依次构建多段局部地图,每段局部地图中包括多个数据帧中的一个或多个数据帧;响应于从多个数据帧中检测到回环帧,通过重定位计算得到回环帧和其匹配帧之间的位姿变换关系;为多段局部地图中相邻局部地图之间的优化分别动态分配权重;根据位姿变换关系,基于权重对多段局部地图进行回环优化。通过上述方式,本申请实施例实现了提高利用SLAM建图的精度。
Description
技术领域
本申请实施例涉及同步定位与地图构建的技术领域,具体涉及一种地图构建的回环优化方法、装置、设备及存储介质。
背景技术
同步定位与地图构建(SimultaneousLocalization and Mapping,简称SLAM)是一项地图构建技术,即在机器人或其他载体上,通过其自身搭载的传感器对其移动过程中周围环境的特征进行观测并采集环境数据,从而完成对其自身位置姿态(简称位姿)的定位,并构建周围环境地图信息。
目前,随着科技的发展,在自动驾驶、无人机、机器人、AR/VR等领域,SLAM技术逐渐成为最基础、最核心的技术,但是使用SLAM技术构建的地图的精度较低,如何对SLAM技术构建的地图进行优化,从而提高地图的精度,是需要解决的问题。
发明内容
鉴于上述问题,本申请实施例提供了一种地图构建的回环优化方法、装置、设备及存储介质,用于解决现有技术中存在的通过SLAM技术建图精度不高的问题。
根据本申请实施例的一个方面,提供了一种地图构建的回环优化方法,所述方法包括:获取图像采集设备移动过程中采集的多个数据帧;根据图像采集顺序利用所述多个数据帧依次构建多段局部地图,每段所述局部地图中包括所述多个数据帧中的一个或多个数据帧;响应于从所述多个数据帧中检测到回环帧,通过重定位计算得到所述回环帧和其匹配帧之间的位姿变换关系;为所述多段局部地图中相邻局部地图之间的优化分别动态分配权重;根据所述位姿变换关系,基于所述权重对所述多段局部地图进行回环优化。
在一种可选的方式中,在所述根据图像采集顺序利用所述多个数据帧依次构建多段局部地图之前,所述方法还包括:提取所述多个数据帧中的若干关键帧;所述根据图像采集顺序利用所述多个数据帧依次构建多段局部地图,包括:提取所述关键帧中的特征点,若相邻关键帧中满足特征点匹配要求的特征点数量达到预设特征点数量阈值,将所述相邻关键帧构建为一段局部地图,所述相邻关键帧包括至少两个关键帧;获取所述图像采集设备的移动轨迹,若当前关键帧的采集位置所对应的移动轨迹曲率达到预设曲率阈值,将所述当前关键帧构建为一段局部地图;从第一个关键帧以及最近一次构建的一段局部地图之后的第一个关键帧开始计算,若相邻关键帧的数量达到预设关键帧数量阈值,将所述相邻关键帧构建为一段局部地图。
在一种可选的方式中,所述为所述多段局部地图中相邻局部地图之间的优化分别动态分配权重,进一步包括:分别获取所述多段局部地图中相邻局部地图之间的共视率和位置曲率;根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配权重。
在一种可选的方式中,所述根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配权重,进一步包括:根据所述共视率、第一调整系数、所述位置曲率和第二调整系数计算所述权重,其中,所述第一调整系数为所述共视率在所述权重中的占比,所述第二调整系数为所述位置曲率在所述权重中的占比,所述第一调整系数大于所述第二调整系数。
在一种可选的方式中,所述相邻局部地图包括依次相邻的第一局部地图和第二局部地图;所述分别获取所述多段局部地图中相邻局部地图之间的共视率和位置曲率,进一步包括:分别提取所述第一局部地图中的最后一个关键帧和所述第二局部地图中的第一个关键帧的特征点;确定所述第一局部地图中的最后一个关键帧和所述第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量;计算所述第一局部地图和所述第二局部地图之间的共视率r=t/n,其中,t为所述第一局部地图中的最后一个关键帧和所述第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量,n为所述第二局部地图中的第一个关键帧的特征点数量;获取m个相邻的关键帧的位姿,m为大于或等于3的奇数,其中,所述m个相邻的关键帧中的中心关键帧为所述第二局部地图中的第一个关键帧;将所述m个相邻的关键帧的位姿进行二维映射并拟合,获得拟合圆;计算所述第一局部地图和所述第二局部地图之间的位置曲率k=1/R,其中,R为所述拟合圆的半径。
在一种可选的方式中,所述数据帧包括图像帧和点云帧,在所述获取图像采集设备移动过程中采集的多个数据帧之后,所述方法还包括:基于所述图像帧和所述点云帧,进行视觉和雷达融合定位,获得每个采集位置的局部点云地图;所述响应于从所述多个数据帧中检测到回环帧,通过重定位计算得到所述回环帧和其匹配帧之间的位姿变换关系,进一步包括:响应于从所述多个数据帧中检测到回环帧,利用所述匹配帧的局部点云地图中的点云信息构建深度图和强度图;分别构建所述深度图对应的梯度图和所述强度图对应的梯度图;将所述深度图对应的梯度图和所述强度图对应的梯度图合并,获得合并梯度图;提取所述回环帧的图像梯度图;通过对所述合并梯度图和所述图像梯度图重定位计算得到所述回环帧和所述匹配帧之间的位姿变换关系。
在一种可选的方式中,所述根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配权重,进一步包括:根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配初始权重;获取所述局部地图构建场景;根据所述初始权重和所述场景为所述相邻局部地图之间的优化分配权重。
根据本申请实施例的另一方面,提供了一种地图构建的回环优化装置,包括:获取模块,用于获取图像采集设备移动过程中采集的多个数据帧;建图模块,用于根据图像采集顺序利用所述多个数据帧依次构建多段局部地图,每段所述局部地图中包括所述多个数据帧中的一个或多个数据帧;计算模块,用于响应于从所述多个数据帧中检测到回环帧,通过重定位计算得到所述回环帧和其匹配帧之间的位姿变换关系;分配模块,用于为所述多段局部地图中相邻局部地图之间的优化分别动态分配权重;优化模块,用于根据所述位姿变换关系,基于所述权重对所述多段局部地图进行回环优化。
根据本申请实施例的另一方面,提供了一种地图构建的回环优化设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述的地图构建的回环优化方法的操作。
根据本申请实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有可执行指令,所述可执行指令使地图构建的回环优化设备执行如上述地图构建的回环优化方法对应的操作。
通过将获取的多个数据帧按照采集顺序构建多段不同的局部地图,当检测到回环帧后,对回环帧和匹配帧之间的局部地图进行回环优化,相较于对回环帧和匹配帧之间的所有的数据帧进行优化的回环优化方式,极大降低了回环优化的计算量,提高了回环优化的效率。同时,由于累计误差的存在,不同的局部地图之间的误差是存在差异的,通过为回环帧和匹配帧之间的所有局部地图中相邻的局部地图之间的优化分别动态分配权重,并对回环帧和匹配帧进行重定位获得回环帧和其匹配帧之间的位姿变换关系,从而根据该位姿变换关系和分配的优化权重对局部地图进行回环优化,相较于直接对不同的局部地图进行相同程度的优化的回环优化方式,极大提高了回环优化的准确度,进而提高了建图的精度。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了SLAM过程中图像采集设备的实际运动轨迹和运动估计的示意图;
图2示出了本申请实施例提供的地图构建的回环优化方法的流程示意图;
图3示出了本申请实施例提供的地图构建的回环优化方法中利用关键帧构建多段局部地图的示意图;
图4示出了图1中步骤140的子步骤流程图;
图5示出了图4中步骤141的子步骤流程图;
图6示出了图1中步骤130的子步骤流程图;
图7示出了图4中步骤142的子步骤流程图;
图8示出了本申请实施例提供的地图构建的回环优化装置的结构示意图;
图9示出了本申请实施例提供的地图构建的回环优化设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。
搭载有传感器的图像采集设备通常是根据图像采集设备的运动估计和其传感器采集到的环境数据,进行地图构建。SLAM中在确定图像采集设备的运动估计时,由于每次定位都会存在细小误差,且第n数据帧的位姿是基于第n-1数据帧的位姿计算得到的,从而导致第n数据帧的位姿存在累计误差。由于累计误差的存在,导致最终确定的图像采集设备的运动估计存在一定的误差,进而导致构建的环境地图精度较低。
为了对数据帧的位姿的累计误差进行修正,相关技术通常通过回环检测进行回环优化。回环检测一般通过判断两个不同数据帧的数据是否匹配(例如通过判断数据相似度是否满足预设要求)来判断这两个数据帧是否是在同一位置采集获得的,以检测回环帧,从而进行回环优化。检测到回环帧时,在后获取的数据帧为回环帧,在先获取的与该回环帧所匹配的数据帧为匹配帧。若不存在累计误差,回环帧和匹配帧的位姿应该是相同的。但是由于移动过程中采集的每一个数据帧的位姿都会存在误差且误差会累积,因此运动估计的回环帧和匹配帧的位姿是不同的,通过获取回环帧和匹配帧的位姿变换关系,即可根据该位姿变换关系对回环帧和匹配帧之间的数据帧进行回环优化,从而对累计误差进行修正,进而提高通过SLAM构建的环境地图的精度。
为了更好地说明回环帧和匹配帧,图1示出了图像采集设备的实际运动轨迹和运动估计的示意图。请参阅图1,图1中,实线为图像采集设备从起始点A处开始移动并最终回到起始点A处的实际运动轨迹,箭头表示图像采集设备的运动方向;虚线为通过对图像采集设备移动过程进行实时定位获取的位姿而得到的运动估计。其中,在起始点A处采集的数据帧为匹配帧,在回环点B处采集的数据帧为回环帧。由图1可知,通过SLAM确定的图像采集设备的运动估计与图像采集设备的实际运动轨迹存在一定的误差,此误差主要由图像采集设备在其移动过程中进行实时定位获取的位姿存在累计误差造成。
本申请的发明人注意到,现有技术中,检测到回环帧后,通过确定回环帧和匹配帧之间的位姿变换关系,直接根据该位姿变换关系将回环误差平均分配到整个轨迹中,以对回环帧和匹配帧之间的数据帧进行回环优化。但是,由于累计误差的存在,每个数据帧的位姿误差是不一样的,采用现有技术的平均分配的回环优化方法导致建图精度较低。
基于以上考虑,为了提高通过SLAM技术构建的地图的精度,本申请的发明人经过深入研究,提出了一种地图构建的回环优化方法。该方法通过检测到回环帧后,确定回环帧与匹配帧之间的位姿变换关系,并利用回环帧和匹配帧之间的数据帧构建不同的局部地图,再为相邻局部地图之间的优化分别动态分配权重后,根据回环帧和匹配帧之间的位姿变换关系和优化权重对相邻局部地图进行回环优化。该方法充分考虑了数据帧位姿存在的累计误差,分别为相邻局部地图分配优化权重后再根据位姿变换关系进行回环优化,进而提升了建图的精度。
本申请实施例公开的地图构建的回环优化方法可以用于但不限于手持SLAM设备、机器人等,这些设备上设置有图像采集设备,以通过图像采集设备采集周围环境的图像并进行三维场景地图构建。
图2示出了本申请实施例提供的地图构建的回环优化方法的流程图。如图2所示,该方法包括以下步骤:
步骤110:获取图像采集设备移动过程中采集的多个数据帧。
数据帧包括图像采集设备移动过程中周围环境的图像、周围环境中障碍物与图像采集设备的距离等信息,进一步地,可以利用这些信息估算该数据帧的位姿。具体的,数据帧可以为通过视觉传感器采集的视觉数据帧(一般称为图像帧),也可以为通过距离传感器采集的距离数据帧(一般称为点云帧),还可以为将距离传感器和视觉传感器融合后采集的包括距离和视觉数据的数据帧,数据帧的形式可以有多种,只要能通过数据帧获取图像采集设备移动过程中周围环境信息和其位姿信息即可,在本实施例中不做限定。其中,距离传感器可以为激光雷达、超声波测距传感器、红外测距传感器等。视觉传感器可以为RGB相机、深度相机等。
具体地,在图像采集设备移动过程中,图像采集设备通过自身搭载的特定的传感器以固定频率采集数据帧,具体采集频率可以根据需要设定,在此不做限定。
本步骤中,通过获取图像采集设备移动过程中采集的数据帧,可以根据数据帧信息估计图像采集设备的位姿等信息,从而进行图像采集设备的运动估计,进而根据运动估计构建环境地图。
步骤120:根据图像采集顺序利用多个数据帧依次构建多段局部地图,每段局部地图中包括多个数据帧中的一个或多个数据帧。
本步骤中,按照图像采集顺序利用步骤110中获取的一个或多个连续的数据帧构建多段局部地图,且同一个数据帧不会同时被用于构建不同的局部地图,构建的局部地图的数量至少包括两个。此处可以根据相邻数据帧的相似度构建局部地图,也可以根据数据帧的数量构建局部地图,还可以根据数据帧的采集位置构建局部地图,具体如何选取数据帧构建局部地图的方式在此不做限定。
值得注意的是,可以直接利用步骤110中获取的多个数据帧构建多段局部地图;也可以先确定步骤110获取的数据帧中的关键帧后,再利用关键帧构建多段局部地图,从而降低后续对构建的地图进行回环优化时的计算量,本步骤中对其不作具体限定。
通过将多个数据帧按照图像采集顺序构建多段局部地图,当检测到回环帧,对全局地图进行回环优化时,可直接对局部地图进行优化从而实现回环优化,相较于对全局地图的所有数据帧进行优化从而实现回环优化的方式,极大降低了优化的计算量,提高了回环优化的效率。
步骤130:响应于从多个数据帧中检测到回环帧,通过重定位计算得到回环帧和其匹配帧之间的位姿变换关系。
如前文所述,回环检测的目的是通过例如图像相似度等检索方法,从历史图像中寻找与当前获得的图像相似的图像,本申请实施例可以采用词袋(DBoW)、深度学习(NetVlad)等已知的回环检测方法。
在SLAM中,位姿是世界坐标系到相机坐标系的变换,包括旋转矩阵R和平移向量t,记为T。假设图像采集设备采集的匹配帧的位姿为T1,回环帧的位姿为Tn,匹配帧和回环帧是图像采集设备在同一位置采集的数据帧,若没有累计误差的存在,则T1和Tn应为相同的位姿矩阵。但是由于移动过程中采集的每一个数据帧的位姿都会存在误差,因此实际上T1和Tn是不同的位姿矩阵,T1和Tn会存在相对的位姿变换关系。通过对回环帧和其匹配帧进行重定位,获取T1和Tn之间的位姿变换关系,即可对回环帧以及回环帧和其匹配帧之间的各数据帧的位姿进行回环优化,从而提升建图的精度。
步骤140:为多段局部地图中相邻局部地图之间的优化分别动态分配权重。
当检测到回环帧后,需要进行回环优化,从而提升建图的精度。由于SLAM中每次定位时都会存在细小误差,且第n数据帧的位姿是基于第n-1数据帧的位姿计算得到的,从而导致第n数据帧的位姿存在累计误差,故每一数据帧存在的误差程度是不一样的。通过步骤120将回环帧和其匹配帧之间的数据帧构建多段局部地图后,不同的局部地图存在的误差也是存在差异的,从而不同的相邻局部地图之间的回环约束关系也是存在差异的,因此需要分别为相邻局部地图之间的优化分配权重后再依据分配的权重分别进行回环优化。值得注意的是,需要为回环帧和其匹配帧之间的所有局部地图中相邻两个局部地图之间的优化分别动态分配权重。
其中,可以根据相邻局部地图之间的共视关系、位置曲率、数据帧的数量,和/或局部地图对应的构建的场景分配权重,具体如何分配权重,在本步骤中不做限定。
相关技术没有考虑相邻关键帧之间的不同的约束关系,而是将回环误差平均分配到所有的轨迹当中,这在一定程度上降低了建图的精度。本步骤中,分别为相邻局部地图之间的优化分配权重后再进行回环优化,相较于对不同的相邻局部地图之间进行相同程度的优化(也即平均分配误差)的回环优化方式,可以提高回环优化的准确度,进而提高建图的精度。
步骤150:根据位姿变换关系,基于权重对多段局部地图进行回环优化。
其中,通过步骤130获取回环帧与匹配帧的位姿变换关系后,根据该位姿变换关系和步骤140中为相邻的局部地图之间的优化分别分配的权重进行回环优化,从而提高建图的精度。
通过获取图像采集设备移动过程中采集的多个数据帧,并利用获取的数据帧估计该图像采集设备的位姿等信息,从而可以利用不同数据帧的位姿信息进行地图构建,但是由于估计的数据帧的位姿存在一定的误差,导致建图的精度较低,因此需要对建图进行回环优化,提高精度。
本申请实施例中,通过将获取的多个数据帧按照采集顺序构建多段不同的局部地图,当检测到回环帧后,对回环帧和匹配帧之间的局部地图进行回环优化,相较于对回环帧和匹配帧之间的所有的数据帧进行优化的回环优化方式,极大降低了回环优化的计算量,提高了回环优化的效率。同时,由于累计误差的存在,不同的局部地图之间的误差是存在差异的,通过为回环帧和匹配帧之间的所有局部地图中相邻的局部地图之间的优化分别动态分配权重,并对回环帧和匹配帧进行重定位获得回环帧和其匹配帧之间的位姿变换关系,从而根据该位姿变换关系和分配的优化权重对局部地图进行回环优化,相较于直接对不同的局部地图进行相同程度的优化的回环优化方式,极大提高了回环优化的准确度,进而提高了建图的精度。
为了进一步提高回环优化的效率,在一些实施例中,在步骤120之前,该地图构建的回环优化方法还包括:
提取多个数据帧中的若干关键帧。
其中,关键帧是指在所有数据帧中若干具有代表性的数据帧,关键帧通常具有特征点丰富、图像清晰、特征点分布均匀等特点,例如从局部一系列数据帧中选出一帧作为局部帧的代表,记录局部信息。通过从所有数据帧中挑选出关键帧,并利用关键帧构建地图,因此在进行回环优化时,只需对关键帧进行优化,减少待优化的帧数和计算量,从而进一步提高了回环优化的效率。
具体地,可以根据图像采集设备的移动距离来确定关键帧,即若在图像采集设备采集某数据帧时,图像采集设备的移动距离达到预设距离阈值,则该数据帧为关键帧;和/或,根据图像采集设备移动过程中旋转角度来确定关键帧,即若在图像采集设备采集某数据帧时,图像采集设备移动过程中旋转角度达到预设角度阈值,则该数据帧为关键帧。其中,距离阈值和角度阈值可以根据需要设定,具体通过何种方式确定关键帧,在此不做限定。
在提取关键帧的基础上,步骤120中根据图像采集顺序利用多个数据帧依次构建多段局部地图,进一步包括:
步骤a01:提取关键帧中的特征点,若相邻关键帧中满足特征点匹配要求的特征点数量达到预设特征点数量阈值,将相邻关键帧构建为一段局部地图,相邻关键帧包括至少两个关键帧。
通过提取关键帧中的特征点,并判断相邻的关键帧中满足特征点匹配要求的特征点数量是否达到预设特征点数量阈值,若达到预设特征点数量阈值,则说明该相邻的关键帧相似度较高,相似度较高的关键帧由于内容变化较小,位姿误差很小,可以不对这些关键帧之间的位姿变化关系进行优化,将其构建为一段局部地图,仅需对这一整段局部地图与其相邻的局部地图之间的位姿变化关系进行优化。其中,相邻关键帧包括至少两个关键帧,特征点匹配要求和特征点数量阈值可以根据需要设定,在此不做限定。例如,特征点匹配要求可以是特征点的相似度达到预设阈值。
步骤a02:获取图像采集设备的移动轨迹,若当前关键帧的采集位置所对应的移动轨迹曲率达到预设曲率阈值,将当前关键帧构建为一段局部地图。
移动轨迹曲率代表图像采集设备移动时转弯或移动方向变化的程度。通过获取图像采集设备的移动轨迹,并判断当前关键帧的采集位置所对应的移动轨迹曲率是否达到预设曲率阈值,若移动轨迹曲率达到预设曲率阈值,则说明图像采集设备在采集当前关键帧时,移动方向发生较大的变化,即当前关键帧与其采集到的相邻的关键帧的内容存在较大的差异,因此需要将该关键帧单独构建为一段局部地图。
值得说明的是,当前关键帧是指正在处理的关键帧,并不一定是当前时刻获取的关键帧。
步骤a03:从第一个关键帧以及最近一次构建的一段局部地图之后的第一个关键帧开始计算,若相邻关键帧的数量达到预设关键帧数量阈值,将相邻关键帧构建为一段局部地图。
由于同一关键帧不能被同时用于构建不同的局部地图,为了控制构建的局部地图数量,避免局部地图数量太少而影响回环优化效果,故若相邻关键帧中满足步骤a01中相似度要求的关键帧的数量较多,需要进一步控制局部地图中的关键帧数量。同时,为了确保将回环帧和匹配帧之间的所有关键帧都被用于构建不同的局部地图,通过步骤a03即可将不满足步骤a01和a02要求的关键帧构建局部地图。例如,预设关键帧数量阈值为3,从第一个关键帧以及最近一次构建的一段局部地图之后的第一个关键帧开始计算,若连续4个关键帧均满足步骤a01中相似度要求,且不满足步骤a02中移动轨迹曲率要求,则只将前3个关键帧构建为一段局部地图;若连续3个关键帧不满足步骤a01中相似度要求且不满足步骤a02中移动轨迹曲率要求,则将此3个关键帧构建为一段局部地图。
需要说明的是,上述步骤a01~a03没有执行先后顺序的限定,在利用关键帧构建多段局部地图时,可以使用步骤a01至a03中任一所述的构建局部地图的方式,或者三者中任意两种或三种方式的结合,只要能全部利用回环帧和匹配帧之间的所有关键帧构建多段不同的局部地图即可,具体如何构建多段不同的局部地图,在此不做限定。具体地,例如按照图像采集顺序依次对每个关键帧或者相邻关键帧进行上述三种条件的判断,当满足其中任一条件时,即构建一段局部地图,并继续下一帧以及下一相邻关键帧的判断,直至所有的关键帧均被构建进局部地图。
此处将进一步说明如何利用多个关键帧构建多段局部地图。图3示出了利用关键帧构建多段局部地图的示意图。如图3所示,图3示出了从数据帧中提取的片段相邻的9个关键帧,图中的箭头方向代表关键帧的采集顺序。此处以预设的关键帧数量阈值为3为例进行说明。根据关键帧的采集顺序,从第1个关键帧F1开始判断,通过判断发现第1个关键帧F1和第2个关键帧F2的采集位置所对应的图像采集设备的移动轨迹曲率均未达到预设曲率阈值;然后分别提取第1个关键帧F1和第2个关键帧F2的特征点,并通过进一步判断发现第1个关键帧F1和第2个关键帧F2满足特征点匹配要求的特征点数量达到预设特征点数量阈值,接着提取第3个关键帧F3的特征点,通过判断发现第2个关键帧F2和第3个关键帧F3满足特征点匹配要求的特征点数量未达到预设特征点数量阈值,因此将第1个关键帧F1和第2个关键帧F2构建为第一段局部地图M1。接着通过判断发现第3个关键帧F3至第5个关键帧F5的采集位置所对应的图像采集设备的移动轨迹曲率均未达到预设曲率阈值;且进一步判断发现第3个关键帧F3至第6个关键帧F6中相邻两个关键帧满足特征点匹配要求的特征点数量均达到预设特征点数量阈值,由于此时第3个关键帧F3至第5个关键帧F5已达到预设关键帧数量阈值3,则将第3个关键帧F3至第5个关键帧构建为第二段局部地图M2。接着通过判断发现第6个关键帧F6至第8个关键帧F8的采集位置所对应的图像采集设备的移动轨迹曲率均未达到预设曲率阈值,且进一步判断发现第6个关键帧F6至第8个关键帧F8中相邻两个关键帧满足特征点匹配要求的特征点数量均未达到预设特征点数量阈值,由于此时第6个关键帧F6至第8个关键帧F8已达到预设关键帧数量阈值3,因此将第6个关键帧F6至第8个关键帧F8构建为第三段局部地图M3。接着通过判断发现第9个关键帧F9的采集位置所对应的图像采集设备的移动轨迹曲率达到预设曲率阈值,因此将第9个关键帧F9构建为第四段局部地图M4。
本申请实施例中,通过从多个数据帧中提取若干关键帧,并利用关键帧构建地图,当检测到回环帧后,进行回环优化时只需对关键帧进行优化,因此极大降低了回环优化的计算量,提升了回环优化的效率。
通过根据相邻关键帧中满足特征点匹配要求的特征点数量来构建局部地图,使得构建的局部地图中包括的关键帧的相似度较高,避免将相似度较高的相邻关键帧构建多个局部地图,从而减少局部地图的数量,进而能降低在对局部地图进行回环优化时的计算量。
通过根据关键帧的采集位置所对应的图像采集设备的移动轨迹曲率来构建局部地图,若当前关键帧的采集位置所对应的图像采集设备的移动轨迹曲率较大,则说明图像采集设备的移动方向发生较大的变化,即当前关键帧与其相邻的关键帧相似度较低,存在较大的差异,因此将当前关键帧构建为一段局部地图,可提升回环优化的精度。
通过根据关键帧的数量来构建多段局部地图,避免将满足相似度要求的大量相邻关键帧构建为一段局部地图,从而避免局部地图数量较少而降低回环优化的精度。同时,避免遗漏不满足相似度要求和移动轨迹曲率要求的关键帧未被用于构建局部地图。因此,通过控制局部地图数量,以及利用回环帧和匹配帧之间的所有关键帧构建不同的局部地图,进一步提升了回环优化的精度。
为了进一步提高建图的精度,本申请实施例中,图4示出了图1中步骤140的子步骤流程图。如图4所示,步骤140中为多段局部地图中相邻局部地图之间的优化分别动态分配权重,进一步包括:
步骤141:分别获取多段局部地图中相邻局部地图之间的共视率和位置曲率。
共视率代表多个数据帧的相似度,多个数据帧的相似度越高,则共视率越大。位置曲率代表采集当前数据帧时图像采集设备移动轨迹曲率的变化程度,采集当前数据帧时图像采集设备移动轨迹的曲率变化越大,则位置曲率越大。其中,可以利用当前局部地图中的关键帧与上一个局部地图中的关键帧确定当前局部地图和上一个局部地图之间的共视率;可以根据当前局部地图的关键帧、上一个局部地图中的关键帧,和/或下一个局部地图中的关键帧确定当前局部地图和上一个局部地图之间的位置曲率。具体如何确定相邻局部地图之间的共视率和位置曲率,在本步骤中不做限定。
值得说明的是,当前局部地图是指正在处理的局部地图,并不一定是当前时刻构建的局部地图。
步骤142:根据共视率和位置曲率为相邻局部地图之间的优化分配权重。
其中,共视率在权重中的占比和位置曲率在权重中的占比可以一样,也可以不一样,可以根据需要设定,在本步骤中不做限定,只要相邻局部地图之间的优化权重根据共视率和位置曲率确定即可。
由于位姿包括旋转矩阵R和平移向量t,因此本申请实施例中,通过获取相邻局部地图之间的共视率和位置曲率后,根据共视率和位置曲率为相邻局部地图之间的优化分配权重,可提高相邻局部地图之间的优化效果,进而提高建图精度。
为了进一步提高建图精度,在一些申请实施例中,步骤142中,根据共视率和位置曲率为相邻局部地图之间的优化分配权重,进一步包括:
根据共视率、第一调整系数、位置曲率和第二调整系数计算权重,其中,第一调整系数为共视率在权重中的占比,第二调整系数为位置曲率在权重中的占比,第一调整系数大于第二调整系数。此外,对于相邻局部地图之间的优化,共视率和优化权重成正比,位置曲率与优化权重成反比;若相邻局部地图之间内容变化较大,则其共视率较小,位置曲率较大,相应地需对其进行优化的权重较小,从而重点优化该相邻局部地图;若相邻局部地图之间内容变化较小,则其共视率较大,位置曲率较小,相应地需对其进行优化的权重较大,即对该相邻局部地图进行优化时位置调整幅度较小。例如,若相邻局部地图之间的共视率为r,位置曲率为k,将第一调整系数设为0.7,第二调整系数设为0.3,相邻局部地图之间的优化权重,通过将第一调整系数设为0.7,第二调整系数设为0.3,即可将优化权重进行归一化。
由于相邻局部地图之间的共视关系更能直观反映相邻局部地图之间内容变化情况,而优化权重的大小主要取决于相邻局部地图之间内容变化程度,因此,本申请实施例中,通过设定共视率在权重中的占比大于位置曲率在权重中的占比,即可确定更精确的优化权重,从而可以进一步提高相邻局部地图之间的优化效果,进而提高建图精度。
为了提高获取的相邻局部地图之间的共视率和位置曲率的精度,本申请实施例提供了一种精确计算共视率和位置曲率的方式。本申请实施例中,图5示出了图4中步骤141的子步骤流程图,如图5所示,步骤141中,分别获取多段局部地图中相邻局部地图之间的共视率和位置曲率,进一步包括:
步骤1410:分别提取第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧的特征点。
需要说明的是,相邻局部地图包括依次相邻的第一局部地图和第二局部地图,也即按照图像采集顺序,第一局部地图为在先的局部地图,第二局部地图在后的局部地图。其中,第一局部地图中的最后一个关键帧与第二局部地图中的第一个关键帧为相邻的关键帧。并且,同一个局部地图具体是第一局部地图还是第二局部地图,在不同的相邻局部地图中是不一样的,例如,若当前局部地图在当前的相邻局部地图中是第二局部地图,则在下一个相邻局部地图中是第一局部地图。
其中,可以采用旋转不变二进制鲁棒独立基本特征(OrientedFAST and RotatedBRIEF,简称ORB)算法、加速稳健特征(Speed Up Robust Features,简称SURF)算法,和/或尺度不变特征变换(Scale-Invariant Feature Transform,简称SIFT)算法提取第一局部地图中的最后一个关键帧与第二局部地图中的第一个关键帧的特征点,本步骤中具体采用何种算法提取特征点,在此不做限定。
通过提取第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧的特征点,可用于判断第一局部地图和第二局部地图之间的共视关系。其中,多个关键帧之间通过共同观测到地图点而发生的关系叫共视关系。
步骤1411:确定第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量。
其中,若两个特征点满足特征点匹配要求,则说明这两个特征点相似度较高,进而可以根据满足特征点匹配要求的特征点数量,确定这两个局部地图的共视关系。其中,特征点匹配要求可以根据需要设定,在此不做限定。
步骤1412:计算第一局部地图和第二局部地图之间的共视率r=t/n,其中,t为第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量,n为第二局部地图中的第一个关键帧的特征点数量。
其中,根据公式r=t/n,计算得到相邻局部地图之间的共视率r,第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量越多,r越大,则说明第一局部地图和第二局部地图的共视关系越好。
步骤1413:获取m个相邻的关键帧的位姿,m为大于或等于3的奇数,其中,m个相邻的关键帧中的中心关键帧为第二局部地图中的第一个关键帧。
其中,m个相邻的关键帧中的中心关键帧是指m个相邻的关键帧中处于中心位置的关键帧,例如,若m为3,则这3个相邻的关键帧中的中心关键帧为第2个关键帧;若m为5,则这5个相邻的关键帧中的中心关键帧为第3个关键帧。其中,可以根据需要确定m的值,优先地,m为5,取与当前局部地图的第一个关键帧的位姿临近的5个关键帧位姿,如以当前局部地图的第一个关键帧为中心前后各取2个关键帧的位姿。
通过获取相邻局部地图中的相邻关键帧位姿,可用于判断相邻局部地图之间的位置曲率。
步骤1414:将m个相邻的关键帧的位姿进行二维映射并拟合,获得拟合圆。
由于位姿是世界坐标系到相机坐标系的变换,包括旋转矩阵R和平移向量t,且其矩阵是三维的,通过将m个相邻的关键帧的位姿由三维矩阵映射为二维矩阵,并利用该m组二维矩阵拟合成一个圆,可获得拟合圆,从而用于判断相邻局部地图之间的位置曲率。具体地,可将步骤1413获取的位姿投影到XY平面,并拟合以获得2D圆。
步骤1415:计算第一局部地图和第二局部地图之间的位置曲率k=1/R,其中,R为拟合圆的半径。
其中,根据公式k=1/R,计算相邻局部地图之间的位置曲率k,R为步骤1414中获取的拟合圆的半径。
本申请实施例中,通过利用第一局部地图和第二局部地图中的相邻关键帧来确定共视率和位置曲率,提高了获取的相邻局部地图之间的共视率和位置曲率的精度,从而提高了对构建的地图进行回环优化的精度,进而提高建图精度。
为了提高SLAM的效率和精度,可通过在图像采集设备中同时设置相机和雷达,采用视觉和雷达进行融合定位,利用视觉和雷达的各自优势,相互弥补各自传感器的不足。在这一方式中图像采集设备采集到的数据帧中包括图像帧和点云帧。在步骤110,获取图像采集设备移动过程中采集的多个数据帧之后,还基于图像帧和点云帧,进行视觉和雷达融合定位,获得每个采集位置的局部点云地图。
其中,获取的每个数据帧的采集位置的局部点云地图,包括深度信息和强度信息。具体的,局部点云地图中每个激光点均具有XYZ坐标信息和雷达强度信息,Z即为深度信息。
在此基础上,本申请实施例提供了一种可以获取回环帧和匹配帧之间更精确的位姿变换关系的方式。图6示出了本申请实施例的图1中步骤130的子步骤流程图。如图6所示,在步骤130中,响应于从多个数据帧中检测到回环帧,通过重定位计算得到回环帧和其匹配帧之间的位姿变换关系,进一步包括:
步骤131:响应于从多个数据帧中检测到回环帧,利用匹配帧的局部点云地图中的点云信息构建深度图和强度图。
其中,将回环帧的局部点云地图按照采集图像帧的相机的内参关系,在匹配帧的位置上投影成深度图和强度图。具体地,通过公式,获取匹配帧在相机坐标系下的坐标,其中,为图像采集设备雷达坐标系到相机坐标系的位姿转换矩阵,为在匹配帧位置时图像采集设备雷达坐标系到世界坐标系的位姿转换矩阵,为的逆矩阵,为回环帧处局部点云地图的3D点坐标,的具体形式如下:
再通过如下公式获取图像坐标系下的像素点坐标p:
其中,k为相机的内参(即相机焦距和中心点坐标),然后将匹配帧处的局部点云地图中的深度信息填充到上述坐标p中,即可获得深度图;将强度信息填充到上述坐标p中,即可获得强度图。
步骤132:分别构建深度图对应的梯度图和强度图对应的梯度图。
其中,对步骤131中获取的深度图和强度图,分别提取深度图和强度图的图像边缘信息,从而获得深度图对应的梯度图和强度图对应的梯度图。例如,可利用Sobel算子进行图像边缘信息的提取。
步骤133:将深度图对应的梯度图和强度图对应的梯度图合并,获得合并梯度图。
其中,可以通过将深度图对应的梯度图和强度图对应的梯度图的像素值进行或运算,从而实现将深度图对应的梯度图和强度图对应的梯度图合并,获得合并后的梯度图。
步骤134:提取回环帧的图像梯度图。
其中,提取回环帧对应的局部点云地图的图像梯度图后,可利用该图像梯度图计算回环帧和匹配帧之间的位姿变换关系。
步骤135:通过对合并梯度图和图像梯度图重定位计算得到回环帧和匹配帧之间的位姿变换关系。
其中,通过对匹配帧处的合并梯度图和回环帧处的图像梯度图进行重定位后,即可获得回环帧和匹配帧之间的位姿变换关系。例如,利用模板匹配方式对图1所示A位置的合并梯度图和B位置的图像梯度图进行基于NCC算法的模板匹配运算,以此获得A位置3D点云和B位置的图像像素之间的匹配和关系,然后通过PnP算法获取粗略的重定位位姿。基于粗略重定位位姿,对A和B位置的点云使用ICP方式,迭代求取精确的重定位结构。
本申请实施例中,通过将视觉和雷达融合进行定位,从而获得每个采集位置的局部点云地图,局部点云地图中包括深度信息和强度信息,相较于仅通过相机采集获得的图像数据帧和仅通过雷达传感器采集获得的距离数据帧,局部点云地图包括的信息更丰富。同时,通过对合并梯度图和回环帧处的图像梯度图进行重定位,因此获得的回环帧和匹配帧之间的位姿变化关系更准确。
为了进一步提高相邻局部地图之间的优化精度,图7示出了图4中步骤142的子步骤流程图。如图7所示,在步骤142中,根据共视率和位置曲率为相邻局部地图之间的优化分配权重,进一步包括:
步骤1420:根据共视率和位置曲率为相邻局部地图之间的优化分配初始权重。
其中,共视率在初始权重中的占比和位置曲率在初始权重中的占比可以一样,也可以不一样,可以根据需要设定,在本步骤中不做限定,只要相邻局部地图之间的初始优化权重根据共视率和位置曲率确定即可。
由于位姿包括旋转矩阵R和平移向量t,因此本申请实施例中,通过获取相邻局部地图之间的共视率和位置曲率后,根据共视率和位置曲率为相邻局部地图之间的优化分配权重,可提高相邻局部地图之间的优化效果,进而提高建图精度。
步骤1421:获取局部地图构建场景。
其中,可以通过相机获取局部地图的构建场景。场景为局部地图对应的实际的局部环境信息,例如,雷达退化场景、长走廊场景、空旷场景等。
步骤1422:根据初始权重和场景为相邻局部地图之间的优化分配权重。
本步骤基于局部地图的构建场景,对初始权重进行进一步调整,例如调高或调低。其中,根据局部地图的构建场景降低或提高初始权重,进而能进一步提高优化权重的精度。基于构建场景调整初始权重,可以将初始权重乘以调整系数,降低权重时调整系数小于1,提高权重时调整系数大于1。具体地,若局部地图构建场景为长走廊场景、空旷场景等类型场景中,通常图像内容变化较小,则可降低优化初始权重;若局部地图构建场景为雷达退化场景,则可能是由于扫描匹配被弱约束或者特征少,所以相应地也降低优化初始权重。优选地,若根据共视率和位置曲率为相邻局部地图之间的优化分配初始权重为,则针对局部地图构建场景为雷达退化场景、长走廊场景、空旷场景等的优化权重。
本申请实施例中,通过进一步结合局部地图的构建场景来确定局部地图之间的优化权重,进一步提高了局部地图优化的精度,进而提高了建图精度。
上述实施例可应用于在线的实时SLAM系统,在实时SLAM系统中采用本申请实施例提供的回环优化方法在后端提升建图精度。上述实施例还可应用于离线地图优化和多地图拼接,以合并和优化已有的地图。
图8示出了本申请实施例提供的地图构建的回环优化装置的结构示意图。如图8所示,该装置200包括:获取模块201、建图模块202、计算模块203、分配模块204和优化模块205。
获取模块201用于获取图像采集设备移动过程中采集的多个数据帧;
建图模块202用于根据图像采集顺序利用多个数据帧依次构建多段局部地图,每段局部地图中包括多个数据帧中的一个或多个数据帧;
计算模块203用于响应于从多个数据帧中检测到回环帧,通过重定位计算得到回环帧和其匹配帧之间的位姿变换关系;
分配模块204用于为多段局部地图中相邻局部地图之间的优化分别动态分配权重;
优化模块205用于根据位姿变换关系,基于权重对多段局部地图进行回环优化。
本申请提供的地图构建的回环优化装置200中,通过获取模块201获取图像采集设备移动过程中采集的多个数据帧,建图模块202将获取的多个数据帧按照采集顺序构建多段不同的局部地图,当检测到回环帧后,对回环帧和匹配帧之间的局部地图进行回环优化,相较于对回环帧和匹配帧之间的所有的数据帧进行优化的回环优化方式,极大降低了回环优化的计算量,提高了回环优化的效率。同时,由于累计误差的存在,不同的局部地图之间的误差是存在差异的,通过分配模块204为回环帧和匹配帧之间的所有局部地图中相邻的局部地图之间的优化分别动态分配权重,并通过计算模块203对回环帧和匹配帧进行重定位获得回环帧和其匹配帧之间的位姿变换关系,从而优化模块205根据该位姿变换关系和分配的优化权重对局部地图进行回环优化,相较于直接对不同的局部地图进行相同程度的优化的回环优化方式,极大提高了回环优化的准确度,进而提高了建图的精度。
在一种可选的方式中,地图构建的回环优化装置200还包括:
提取模块,用于提取多个数据帧中的若干关键帧;
建图模块202,用于提取关键帧中的特征点,若相邻关键帧中满足特征点匹配要求的特征点数量达到预设特征点数量阈值,将相邻关键帧构建为一段局部地图,相邻关键帧包括至少两个关键帧;获取图像采集设备的移动轨迹,若当前关键帧的采集位置所对应的移动轨迹曲率达到预设曲率阈值,将当前关键帧构建为一段局部地图;从第一个关键帧以及最近一次构建的一段局部地图之后的第一个关键帧开始计算,若相邻关键帧的数量达到预设关键帧数量阈值,将相邻关键帧构建为一段局部地图。
在一种可选的方式中,分配模块204,用于分别获取多段局部地图中相邻局部地图之间的共视率和位置曲率;根据共视率和所述位置曲率为相邻局部地图之间的优化分配权重。
在一种可选的方式中,分配模块204,还用于根据共视率、第一调整系数、位置曲率和第二调整系数计算所述权重,其中,第一调整系数为共视率在权重中的占比,第二调整系数为位置曲率在权重中的占比,第一调整系数大于第二调整系数。
在一种可选的方式中,相邻局部地图包括依次相邻的第一局部地图和第二局部地图,分配模块204,用于分别提取第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧的特征点;确定第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量;计算第一局部地图和第二局部地图之间的共视率r=t/n,其中,t为第一局部地图中的最后一个关键帧和第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量,n为第二局部地图中的第一个关键帧的特征点数量;获取m个相邻的关键帧的位姿,m为大于或等于3的奇数,其中,m个相邻的关键帧中的中心关键帧为第二局部地图中的第一个关键帧;将m个相邻的关键帧的位姿进行二维映射并拟合,获得拟合圆;计算第一局部地图和第二局部地图之间的位置曲率k=1/R,其中,R为拟合圆的半径。
在一种可选的方式中,数据帧包括图像帧和点云帧,地图构建的回环优化装置200还包括:
融合模块,用于基于图像帧和点云帧,进行视觉和雷达融合定位,获得每个采集位置的局部点云地图;
计算模块203,用于响应于从多个数据帧中检测到回环帧,利用匹配帧的局部点云地图中的点云信息构建深度图和强度图;分别构建深度图对应的梯度图和强度图对应的梯度图;将深度图对应的梯度图和强度图对应的梯度图合并,获得合并梯度图;提取回环帧的图像梯度图;通过对合并梯度图和图像梯度图重定位计算得到回环帧和匹配帧之间的位姿变换关系。
在一种可选的方式中,分配模块204,用于根据共视率和位置曲率为相邻局部地图之间的优化分配初始权重;获取局部地图构建场景;根据初始权重和场景为相邻局部地图之间的优化分配权重。
图9示出了本申请实施例提供的地图构建的回环优化设备的结构示意图,本申请具体实施例并不对地图构建的回环优化设备的具体实现做限定。
如图9所示,该地图构建的回环优化设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。处理器302,用于执行程序310,具体可以执行上述用于地图构建的回环优化方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机可执行指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific IntegratedCircuit),或者是被配置成实施本申请实施例的一个或多个集成电路。地图构建的回环优化设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存储程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
本申请实施例提供了一种计算机可读存储介质,该存储介质存储有可执行指令,该可执行指令在地图构建的回环优化设备上运行时,使得地图构建的回环优化设备执行上述任意方法实施例中的地图构建的回环优化方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种地图构建的回环优化方法,其特征在于,所述方法包括:
获取图像采集设备移动过程中采集的多个数据帧;
根据图像采集顺序利用所述多个数据帧依次构建多段局部地图,每段所述局部地图中包括所述多个数据帧中的一个或多个数据帧;
响应于从所述多个数据帧中检测到回环帧,通过重定位计算得到所述回环帧和其匹配帧之间的位姿变换关系;
为所述多段局部地图中相邻局部地图之间的优化分别动态分配权重;
根据所述位姿变换关系,基于所述权重对所述多段局部地图进行回环优化。
2.如权利要求1所述的方法,其特征在于,在所述根据图像采集顺序利用所述多个数据帧依次构建多段局部地图之前,所述方法还包括:
提取所述多个数据帧中的若干关键帧;
所述根据图像采集顺序利用所述多个数据帧依次构建多段局部地图,包括:
提取所述关键帧中的特征点,若相邻关键帧中满足特征点匹配要求的特征点数量达到预设特征点数量阈值,将所述相邻关键帧构建为一段局部地图,所述相邻关键帧包括至少两个关键帧;
获取所述图像采集设备的移动轨迹,若当前关键帧的采集位置所对应的移动轨迹曲率达到预设曲率阈值,将所述当前关键帧构建为一段局部地图;
从第一个关键帧以及最近一次构建的一段局部地图之后的第一个关键帧开始计算,若相邻关键帧的数量达到预设关键帧数量阈值,将所述相邻关键帧构建为一段局部地图。
3.如权利要求2所述的方法,其特征在于,所述为所述多段局部地图中相邻局部地图之间的优化分别动态分配权重,进一步包括:
分别获取所述多段局部地图中相邻局部地图之间的共视率和位置曲率;
根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配权重。
4.如权利要求3所述的方法,其特征在于,所述根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配权重,进一步包括:
根据所述共视率、第一调整系数、所述位置曲率和第二调整系数计算所述权重,其中,所述第一调整系数为所述共视率在所述权重中的占比,所述第二调整系数为所述位置曲率在所述权重中的占比,所述第一调整系数大于所述第二调整系数。
5.如权利要求3所述的方法,其特征在于,所述相邻局部地图包括依次相邻的第一局部地图和第二局部地图;
所述分别获取所述多段局部地图中相邻局部地图之间的共视率和位置曲率,进一步包括:
分别提取所述第一局部地图中的最后一个关键帧和所述第二局部地图中的第一个关键帧的特征点;
确定所述第一局部地图中的最后一个关键帧和所述第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量;
计算所述第一局部地图和所述第二局部地图之间的共视率r=t/n,其中,t为所述第一局部地图中的最后一个关键帧和所述第二局部地图中的第一个关键帧中满足特征点匹配要求的特征点数量,n为所述第二局部地图中的第一个关键帧的特征点数量;
获取m个相邻的关键帧的位姿,m为大于或等于3的奇数,其中,所述m个相邻的关键帧中的中心关键帧为所述第二局部地图中的第一个关键帧;
将所述m个相邻的关键帧的位姿进行二维映射并拟合,获得拟合圆;
计算所述第一局部地图和所述第二局部地图之间的位置曲率k=1/R,其中,R为所述拟合圆的半径。
6.如权利要求1所述的方法,其特征在于,所述数据帧包括图像帧和点云帧,在所述获取图像采集设备移动过程中采集的多个数据帧之后,所述方法还包括:
基于所述图像帧和所述点云帧,进行视觉和雷达融合定位,获得每个采集位置的局部点云地图;
所述响应于从所述多个数据帧中检测到回环帧,通过重定位计算得到所述回环帧和其匹配帧之间的位姿变换关系,进一步包括:
响应于从所述多个数据帧中检测到回环帧,利用所述匹配帧的局部点云地图中的点云信息构建深度图和强度图;
分别构建所述深度图对应的梯度图和所述强度图对应的梯度图;
将所述深度图对应的梯度图和所述强度图对应的梯度图合并,获得合并梯度图;
提取所述回环帧的图像梯度图;
通过对所述合并梯度图和所述图像梯度图重定位计算得到所述回环帧和所述匹配帧之间的位姿变换关系。
7.如权利要求3所述的方法,其特征在于,所述根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配权重,进一步包括:
根据所述共视率和所述位置曲率为所述相邻局部地图之间的优化分配初始权重;
获取所述局部地图构建场景;
根据所述初始权重和所述场景为所述相邻局部地图之间的优化分配权重。
8.一种地图构建的回环优化装置,其特征在于,所述装置包括:
获取模块,用于获取图像采集设备移动过程中采集的多个数据帧;
建图模块,用于根据图像采集顺序利用所述多个数据帧依次构建多段局部地图,每段所述局部地图中包括所述多个数据帧中的一个或多个数据帧;
计算模块,用于响应于从所述多个数据帧中检测到回环帧,通过重定位计算得到所述回环帧和其匹配帧之间的位姿变换关系;
分配模块,用于为所述多段局部地图中相邻局部地图之间的优化分别动态分配权重;
优化模块,用于根据所述位姿变换关系,基于所述权重对所述多段局部地图进行回环优化。
9.一种地图构建的回环优化设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的地图构建的回环优化方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的地图构建的回环优化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310378837.9A CN116105721B (zh) | 2023-04-11 | 2023-04-11 | 地图构建的回环优化方法、装置、设备及存储介质 |
PCT/CN2024/084460 WO2024212821A1 (zh) | 2023-04-11 | 2024-03-28 | 地图构建的回环优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310378837.9A CN116105721B (zh) | 2023-04-11 | 2023-04-11 | 地图构建的回环优化方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116105721A CN116105721A (zh) | 2023-05-12 |
CN116105721B true CN116105721B (zh) | 2023-06-09 |
Family
ID=86261993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310378837.9A Active CN116105721B (zh) | 2023-04-11 | 2023-04-11 | 地图构建的回环优化方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116105721B (zh) |
WO (1) | WO2024212821A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117495968B (zh) * | 2024-01-02 | 2024-05-17 | 苏州中德睿博智能科技有限公司 | 基于3d激光雷达的移动机器人位姿跟踪方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760811A (zh) * | 2016-01-05 | 2016-07-13 | 福州华鹰重工机械有限公司 | 全局地图闭环匹配方法及装置 |
CN109343540A (zh) * | 2018-11-30 | 2019-02-15 | 广东工业大学 | 一种基于回环检测的slam后端轨迹优化方法 |
CN110363846A (zh) * | 2019-08-21 | 2019-10-22 | 江苏盈丰电子科技有限公司 | 一种井下3d激光成像智能巡检系统及其使用方法 |
CN111060101A (zh) * | 2018-10-16 | 2020-04-24 | 深圳市优必选科技有限公司 | 视觉辅助的距离slam方法及装置、机器人 |
CN111932600A (zh) * | 2020-07-31 | 2020-11-13 | 杭州电子科技大学 | 一种基于局部子图的实时回环检测方法 |
CN113269094A (zh) * | 2021-05-26 | 2021-08-17 | 中国科学院自动化研究所 | 基于特征提取算法和关键帧的激光slam系统及方法 |
CN114332221A (zh) * | 2021-12-28 | 2022-04-12 | 北京易航远智科技有限公司 | 基于语义的回环检测方法、装置、电子设备及存储介质 |
WO2022142744A1 (zh) * | 2021-01-04 | 2022-07-07 | 歌尔股份有限公司 | 回环检测方法、装置、设备及计算机可读存储介质 |
WO2023273169A1 (zh) * | 2021-06-30 | 2023-01-05 | 同济人工智能研究院(苏州)有限公司 | 一种融合视觉与激光的2.5d地图构建方法 |
CN115601434A (zh) * | 2022-12-12 | 2023-01-13 | 安徽蔚来智驾科技有限公司(Cn) | 回环检测方法、计算机设备、计算机可读存储介质及车辆 |
CN115839719A (zh) * | 2022-11-07 | 2023-03-24 | 北京易航远智科技有限公司 | 一种轻量级slam分段建图方法 |
-
2023
- 2023-04-11 CN CN202310378837.9A patent/CN116105721B/zh active Active
-
2024
- 2024-03-28 WO PCT/CN2024/084460 patent/WO2024212821A1/zh unknown
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760811A (zh) * | 2016-01-05 | 2016-07-13 | 福州华鹰重工机械有限公司 | 全局地图闭环匹配方法及装置 |
CN111060101A (zh) * | 2018-10-16 | 2020-04-24 | 深圳市优必选科技有限公司 | 视觉辅助的距离slam方法及装置、机器人 |
CN109343540A (zh) * | 2018-11-30 | 2019-02-15 | 广东工业大学 | 一种基于回环检测的slam后端轨迹优化方法 |
CN110363846A (zh) * | 2019-08-21 | 2019-10-22 | 江苏盈丰电子科技有限公司 | 一种井下3d激光成像智能巡检系统及其使用方法 |
CN111932600A (zh) * | 2020-07-31 | 2020-11-13 | 杭州电子科技大学 | 一种基于局部子图的实时回环检测方法 |
WO2022142744A1 (zh) * | 2021-01-04 | 2022-07-07 | 歌尔股份有限公司 | 回环检测方法、装置、设备及计算机可读存储介质 |
CN113269094A (zh) * | 2021-05-26 | 2021-08-17 | 中国科学院自动化研究所 | 基于特征提取算法和关键帧的激光slam系统及方法 |
WO2023273169A1 (zh) * | 2021-06-30 | 2023-01-05 | 同济人工智能研究院(苏州)有限公司 | 一种融合视觉与激光的2.5d地图构建方法 |
CN114332221A (zh) * | 2021-12-28 | 2022-04-12 | 北京易航远智科技有限公司 | 基于语义的回环检测方法、装置、电子设备及存储介质 |
CN115839719A (zh) * | 2022-11-07 | 2023-03-24 | 北京易航远智科技有限公司 | 一种轻量级slam分段建图方法 |
CN115601434A (zh) * | 2022-12-12 | 2023-01-13 | 安徽蔚来智驾科技有限公司(Cn) | 回环检测方法、计算机设备、计算机可读存储介质及车辆 |
Also Published As
Publication number | Publication date |
---|---|
WO2024212821A1 (zh) | 2024-10-17 |
CN116105721A (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107481270B (zh) | 乒乓球目标跟踪和轨迹预测方法、装置、存储介质和计算机设备 | |
CN110097553B (zh) | 基于即时定位建图与三维语义分割的语义建图系统 | |
Li et al. | DeepI2P: Image-to-point cloud registration via deep classification | |
WO2019170164A1 (zh) | 基于深度相机的三维重建方法、装置、设备及存储介质 | |
CN110176032B (zh) | 一种三维重建方法及装置 | |
CN111060115A (zh) | 一种基于图像边缘特征的视觉slam方法及系统 | |
CN106529538A (zh) | 一种飞行器的定位方法和装置 | |
WO2020131134A1 (en) | Systems and methods for determining depth information in two-dimensional images | |
CN110827321B (zh) | 一种基于三维信息的多相机协同的主动目标跟踪方法 | |
CN112700486B (zh) | 对图像中路面车道线的深度进行估计的方法及装置 | |
CN111462503A (zh) | 车辆测速方法、装置及计算机可读存储介质 | |
CN109214254B (zh) | 一种确定机器人位移的方法及装置 | |
WO2024212821A1 (zh) | 地图构建的回环优化方法、装置、设备及存储介质 | |
CN115115859A (zh) | 基于无人机航拍的长线性工程施工进度智能识别与分析方法 | |
CN109543634B (zh) | 定位过程中的数据处理方法、装置、电子设备和存储介质 | |
CN103617631B (zh) | 一种基于中心检测的跟踪方法 | |
CN116468786B (zh) | 一种面向动态环境的基于点线联合的语义slam方法 | |
US20220277595A1 (en) | Hand gesture detection method and apparatus, and computer storage medium | |
CN115494845A (zh) | 基于深度相机的导航方法、装置、无人车及存储介质 | |
CN117496312A (zh) | 基于多模态融合算法的三维多目标检测方法 | |
CN105339981B (zh) | 用于使用一组基元配准数据的方法 | |
CN117269952A (zh) | 一种4d成像毫米波雷达动目标点云半自动标注方法及装置 | |
CN114648639B (zh) | 一种目标车辆的检测方法、系统及装置 | |
CN115239902A (zh) | 移动设备的周边地图建立方法、装置、设备及存储介质 | |
Aswini et al. | Drone Object Detection Using Deep Learning Algorithms |
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 |