CN114964246A - 数据处理方法、装置、设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114964246A CN114964246A CN202210248427.8A CN202210248427A CN114964246A CN 114964246 A CN114964246 A CN 114964246A CN 202210248427 A CN202210248427 A CN 202210248427A CN 114964246 A CN114964246 A CN 114964246A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- key frame
- mth
- frame point
- 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.)
- Pending
Links
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/20—Instruments for performing navigational calculations
-
- 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
-
- 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
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3811—Point data, e.g. Point of Interest [POI]
-
- 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
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3841—Data obtained from two or more sources, e.g. probe vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Instructional Devices (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备及计算机可读存储介质,其方法包括确定第m关键帧点云数据,并依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,直至当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据,且可根据m+1个关键帧点云数据生成地图。本申请可通过计算与之后的每一帧点云数据的相似度来确定与关键帧对应的下一关键帧点云数据,可保障在生成关键帧点云数据的过程中任意相邻的关键帧点云数据相互独立且有效,不仅降低关键帧点云数据的数据量,还可提高地图生成的准确性。
Description
技术领域
本申请属于建图定位技术领域,特别的涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术
定位与地图构建(Simultaneous Localization And Mapping,SLAM)技术,是指在机器人或者其他载体上通过对各种传感器数据进行采集和计算,生成对其自身位置姿态的定位和场景地图信息的技术。
常见的激光SLAM技术可通过获取多个关键帧对应的数据来实现地图的构建与定位,其中多个关键帧对应的数据可根据预设的时间、距离或是角度阈值等参数确定。
发明内容
本申请实施例提供了一种数据处理方法、装置、系统及计算机可读存储介质,其技术方案如下:
第一方面,本申请实施例提供了一种数据处理方法,包括:
确定第m关键帧点云数据,m为正整数;
依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度;
当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据,K为正整数;
根据m+1个关键帧点云数据生成地图。
在第一方面的一种可选方案中,m=1;
确定第m关键帧点云数据,包括:
按照预设规则建立第一关键帧点云数据;
对第一关键帧点云数据进行初始化,以使第一关键帧点云数据中包含与第一关键帧对应的初始化参数;初始化参数为用于表征第一关键帧的标识字符串。
在第一方面的又一种可选方案中,依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,包括:
依次计算与第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的每一帧点云数据对应的位姿数据;
根据第m关键帧点云数据对应的位姿数据以及第m关键帧点云数据之后的每一帧点云数据对应的位姿数据计算第m关键帧点云数据之后的每一帧点云数据与第m关键帧点云数据之间的费舍尔信息余量;
其中,预设条件为费舍尔信息余量低于预设阈值。
在第一方面的又一种可选方案中,在确定第m关键帧点云数据之后,在依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度之前,方法还包括:
对第m关键帧点云数据之后的每一帧点云数据进行过滤处理,以过滤第m关键帧点云数据之后的每一帧点云数据中处于边缘区域的点云数据;
依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,具体为:
依次计算过滤处理后的第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度。
在第一方面的又一种可选方案中,在根据每帧点云数据对应的位姿数据确定第m+1关键帧点云数据之后,在根据m+1个关键帧点云数据生成地图之前,方法还包括:
对第m+1关键帧点云数据进行初始化,以使第m+1关键帧点云数据中包含与第m+1关键帧对应的初始化参数,初始化参数为用于表征第m+1关键帧的标识字符串。
在第一方面的又一种可选方案中,根据m+1个关键帧点云数据生成地图,包括:
根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
对m+1个关键帧点云数据进行闭环检测;
当检测到m+1个关键帧点云数据存在闭环时,对m+1个关键帧点云数据进行非线性约束优化处理;
根据处理后的m+1个关键帧点云数据生成地图。
在第一方面的又一种可选方案中,根据m+1个关键帧点云数据生成地图,包括:
根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
对m+1个关键帧点云数据进行闭环检测;
当检测到m+1个关键帧点云数据存在闭环时,根据m+1个关键帧点云数据确定至少两个子地图,每个子地图包含至少一个关键帧点云数据;
分别对每个子地图进行图像优化处理;
将处理后的每个子地图进行合并得到地图。
第二方面,本申请实施例提供了一种数据处理装置,包括:
确定模块,用于确定第m关键帧点云数据,m为正整数;
计算模块,用于依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度;
处理模块,用于当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据,K为正整数;
生成模块,用于根据m+1个关键帧点云数据生成地图。
在第二方面的一种可选方案中,m=1;
确定模块包括:
建立单元,用于按照预设规则建立第一关键帧点云数据;
处理单元,用于对第一关键帧点云数据进行初始化,以使第一关键帧点云数据中包含与第一关键帧对应的初始化参数;初始化参数为用于表征第一关键帧的标识字符串。
在第二方面的又一种可选方案中,计算模块包括:
第一计算单元,用于依次计算与第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的每一帧点云数据对应的位姿数据;
第二计算单元,用于根据第m关键帧点云数据对应的位姿数据以及第m关键帧点云数据之后的每一帧点云数据对应的位姿数据计算第m关键帧点云数据之后的每一帧点云数据与第m关键帧点云数据之间的费舍尔信息余量;
其中,预设条件为费舍尔信息余量低于预设阈值。
在第二方面的又一种可选方案中,装置还包括:
处理模块,用于在确定第m关键帧点云数据之后,在依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度之前,对第m关键帧点云数据之后的每一帧点云数据进行过滤处理,以过滤第m关键帧点云数据之后的每一帧点云数据中处于边缘区域的点云数据;
计算模块具体用于:依次计算过滤处理后的第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度。
在第二方面的又一种可选方案中,装置还包括:
初始化模块,用于在根据每帧点云数据对应的位姿数据确定第m+1关键帧点云数据之后,在根据m+1个关键帧点云数据生成地图之前,对第m+1关键帧点云数据进行初始化,以使第m+1关键帧点云数据中包含与第m+1关键帧对应的初始化参数;初始化参数为用于表征第m+1关键帧的标识字符串。
在第二方面的又一种可选方案中,生成模块具体包括:
统计单元,用于根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
检测单元,用于对m+1个关键帧点云数据进行闭环检测;
第一优化单元,用于当检测到m+1个关键帧点云数据存在闭环时,对m+1个关键帧点云数据进行非线性约束优化处理;
第一生成单元,用于根据处理后的m+1个关键帧点云数据生成地图。
在第二方面的又一种可选方案中,生成模块具体包括:
统计单元,用于根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
检测单元,用于对m+1个关键帧点云数据进行闭环检测;
划分单元,用于当检测到m+1个关键帧点云数据存在闭环时,根据m+1个关键帧点云数据确定至少两个子地图,每个子地图包含至少一个关键帧点云数据;
第二优化单元,用于分别对每个子地图进行图像优化处理;
第二生成单元,用于将处理后的每个子地图进行合并得到地图
第三方面,本申请实施例还提供了一种数据处理设备,包括激光雷达、存储器以及处理器,激光雷达、存储器分别与处理器相连:
激光雷达,用于采集点云数据;
存储器,用于存储可执行程序代码;
处理器,用于通过读取存储器中存储的可执行程序代码来执行本申请实施例第一方面或第一方面的任意一种实现方式提供的数据处理方法。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,可实现本申请实施例第一方面或第一方面的任意一种实现方式提供的数据处理方法。
在本申请实施例中,可确定第m关键帧点云数据,并依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,直至当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据。本申请可在确定某一关键帧点云数据的情况下,通过计算该关键帧点云数据与之后的每一帧点云数据的相似度来确定与该关键帧点云数据对应的下一关键帧点云数据,可保障在生成关键帧点云数据的过程中任意相邻的关键帧点云数据相互独立且有效,不仅降低选取关键帧点云数据的数据量,还可提高地图生成的准确性以及有效性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据处理系统的架构示意图;
图2为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种关键帧点云数据的初始化参数对应表;
图4为本申请实施例提供的一种第m关键帧点云数据的预处理效果示意图;
图5为本申请实施例提供的又一种数据处理方法的流程示意图;
图6为本申请实施例提供的一种关键帧点云数据的运动轨迹示意图;
图7为本申请实施例提供的一种对关键帧点云数据优化处理的效果示意图;
图8为本申请实施例提供的一种数据处理装置的结构示意图;
图9为本申请实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
现有的激光slam技术可按照预设的提取策略从激光传感器采集的多帧点云数据中提取出多个关键帧点云数据,其提取策略可以但不局限于根据时间、距离或是角度中任意至少一种参数进行设定。此处以时间参数设定提取策略为例,可在激光传感器采集的多帧点云数据中按照预设的时间间隔提取一帧点云数据作为关键帧点云数据,例如每间隔2秒提取一帧点云数据作为关键帧点云数据。此处还可以距离参数设定提取策略为例,可在激光传感器采集的多帧点云数据中按照预设行进距离提取一帧点云数据作为关键帧点云数据,例如每行进0.5米提取一帧点云数据作为关键帧点云数据。此处还可以角度参数设定提取策略为例,可在激光传感器采集的多帧点云数据中按照预设旋转角度阈值提取一帧点云数据作为关键帧点云数据,例如每旋转5度提取一帧点云数据作为关键帧点云数据。
但通过上述设定的提取策略所得到的关键帧点云数据不仅效率低下,且数据量过大,在无法保障每个关键帧点云数据的有效性和准确性的情况下易使根据该关键帧点云数据生成的地图精度不高,影响用户体验。
接下来,请参阅图1示出的本申请实施例提供的一种数据处理系统的架构示意图。
如图1所示,该数据处理系统可应用于构建地图和定位的装置,例如但不局限于为机器人、汽车或是电子设备等,其地图类型可包括2D栅格地图或是3D地图。可以理解的是,本申请中提到的电子设备可以是智能手机、平板电脑、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、PC设备、个人数字助理(PersonalDigital Assistant,PDA)、虚拟现实设备等。
该数据处理系统至少可以包括激光雷达101以及与该激光雷达101连接的处理器102,其中:
激光雷达101可用于采集在预设条件内的至少两帧点数据,其中预设条件可以但不局限于根据时间、距离或是角度中任意至少一种参数进行设定。此处以时间参数对预设条件进行设定,该激光雷达101可在预设时间间隔内获取至少两帧点云数据,例如可在每间隔2秒获取十帧点云数据,每帧点云数据的获取间隔为0.2秒。
可以理解的是,激光雷达101的个数可为一个或多个。例如当数据处理系统应用于机器人领域时,可能的,可由设置在机器人上的一个激光雷达101在预设条件内获取至少两帧点云数据。可能的,可由设置在机器人上的多个激光雷达101在预设条件内获取至少两帧点云数据。
处理器102可用于先确定第m关键帧点云数据,其中m可为正整数。可能的,当m为1时,处理器102可用于确定第一关键帧点云数据,该第一关键帧点云数据可以但不局限于按照预设规则确定。此处以预设规则根据时间参数确定为例,处理器102可将激光雷达101在预设时间间隔2秒采集到的一帧点云数据作为第一关键帧点云数据,或是处理器102还可从激光雷达101在预设时间间隔2秒内采集到的多帧点云数据中选取一帧点云数据作为第一关键帧点云数据。可以理解的是,在确定第一关键帧点云数据之后,还可将该第一关键帧点云数据中的部分参数进行初始化,以使该第一关键帧点云数据中包含与第一关键帧对应的初始化参数,此处初始化参数可以但不局限于为用于表征第一关键帧的标识字符串。
当然,上述提到的第一关键帧点云数据还可根据其他参数确定,例如距离参数或是旋转角度参数等,本申请不限定于此。
可能的,当m为大于1的任意一个正整数时,处理器102可用于根据与第m关键帧点云数据对应的初始化参数确定该第m关键帧点云数据,可以理解的是,此处第m关键帧点云数据可根据第m-1关键帧点云数据确定,例如当m为3时,第三关键帧点云数据可根据第二关键帧点云数据确定,第二关键帧点云数据可根据第一关键帧点云数据确定。需要说明的是,此处第m关键帧点云数据在根据第m-1关键帧点云数据确定时,还可对该第m关键帧点云数据中的部分参数进行初始化,以使该第m关键帧点云数据中包含与第m关键帧对应的初始化参数。
进一步的,在确定第m关键帧点云数据之后,处理器102可依次计算该第m关键帧点云数据之后的每一帧点云数据分别与该第m关键帧点云数据之间的相似度。其中,该第m关键帧点云数据之后的每一帧点云数据可由激光雷达101采集,例如在确定激光雷达101采集到的某帧点云数据为第m关键帧点云数据之后,处理器102可依次获取激光雷达101从该第m关键帧点云数据开始采集的每一帧点云数据,并依次计算每一帧点云数据与该第m关键帧点云数据之间的相似度。可以理解的是,此处相似度越高,可表明与该第m关键帧点云数据之间的关联性越大,相似度越低,可表明与该第m关键帧点云数据之间的关联性越低。
进一步的,在当处理器102确定出第m关键帧点云数据之后的第K关键帧点云数据与该第m关键帧点云数据之间的相似度满足预设条件时,可将该第m关键帧点云数据之后的第K关键帧点云数据作为第m+1关键帧点云数据,并可根据依次确定出的m+1个关键帧点云数据生成地图。其中,预设条件可以但不局限于为低于预设阈值,也即是说第m关键帧点云数据之后的第K关键帧点云数据与该第m关键帧点云数据之间的相似度低于设定的预设阈值。可以理解的是,此处相似度低于设定的预设阈值,可表明第m关键帧点云数据之后的第K关键帧点云数据与该第m关键帧点云数据之间的关联性较低,无法将该第m关键帧点云数据之后的第K关键帧点云数据归类于该第m关键帧点云数据。当然,此处若相似度高于或是等于设定的预设阈值,可表明第m关键帧点云数据之后的第K关键帧点云数据与该第m关键帧点云数据之间的关联性较高,可将该第m关键帧点云数据之后的第K关键帧点云数据归类于该第m关键帧点云数据。
需要说明的是,处理器102在得到出第m+1关键帧点云数据之后,可继续根据该第m+1关键帧点云数据确定第m+2关键帧点云数据,其方式可以但不局限于为依次计算第m+1关键帧点云数据之后的每一帧点云数据分别与第m+1关键帧点云数据之间的相似度,并当确定第m+1关键帧点云数据之后的第S帧点云数据与所述第m+1关键帧点云数据之间的相似度低于设定的预设阈值时,可将该第m+1关键帧点云数据之后的第S帧点云数据作为第m+2关键帧点云数据。
还可以理解的是,处理器102在依次确定出多个关键帧点云数据之后,可对该多个关键帧点云数据进行闭环检测以及优化,并根据优化后的关键帧点云数据生成点云地图。
请参阅图2示出的本申请实施例提供的一种数据处理方法的流程示意图。
如图2所示,该数据处理方法至少可以包括以下步骤:
步骤202、确定第m关键帧点云数据。
具体地,当在生成地图的过程中需要确定第m+1关键帧点云数据时,可先确定出第m关键帧点云数据,该第m关键帧点云数据可为第m+1关键帧点云数据的前一关键帧点云数据。其中,m可为正整数。
可能的,当m=1时,可表明当前需要确定第二关键帧点云数据,在此之前已确定出第一关键帧点云数据。此处确定第一关键帧点云数据的方式可包括:
按照预设规则建立第一关键帧点云数据;
对第一关键帧点云数据进行初始化,以使第一关键帧点云数据中包含与第一关键帧对应的初始化参数。
其中,由于第一关键帧点云数据无法根据其他关键帧点云数据得到,可在采集到多帧点云数据之后按照预设的规则从该多帧点云数据中选取一帧点云数据作为第一关键帧点云数据。可以理解的是,该多帧点云数据可以但不局限于在开始生成地图时由激光雷达在预设条件内获取,该预设条件可以但不局限于根据时间、距离或是角度中任意至少一种参数进行设定。此处以时间参数对预设条件进行设定,激光雷达可在预设时间间隔内获取至少两帧点云数据,例如可在每间隔2秒获取十帧点云数据,每帧点云数据的获取间隔为0.2秒。
当获取到多帧点云数据之后,可根据该多帧点云数据的获取方式确定对应的预设规则,并按照预设规则在该多帧点云数据中确定第一关键帧点云数据。此处以多帧点云数据为上述提到的每间隔2秒获取十帧点云数据为例,预设规则可以但不局限于为将与第一帧点云数据间隔1秒的点云数据作为第一关键帧点云数据,也即是将该十帧点云数据中第六帧点云数据作为第一关键帧点云数据。
可以理解的是,为便于在多帧点云数据中识别出第一关键帧点云数据,可在得到第一关键帧点云数据之后,对该第一关键帧点云数据进行初始化,以使该第一关键帧点云数据中包含有用于表征第一关键帧的初始化参数,且对于依次确定的多个关键帧点云数据,均可对每个关键帧点云数据进行初始化。此处可参阅图3示出的本申请实施例提供的一种关键帧点云数据的初始化参数对应表。如图3所示,该对应表中可包括有第一关键帧点云数据、第二关键帧点云数据以及第三关键帧点云数据,其中第一关键帧点云数据在进行初始化之后,第一关键帧点云数据的初始化参数中可包含有001字符串。第二关键帧点云数据在进行初始化之后,第二关键帧点云数据的初始化参数中可包含有002字符串。第三关键帧点云数据在进行初始化之后,第三关键帧点云数据的初始化参数可包含有003字符串。
可能的,当m大于1时,可表明当前需要确定第m+1关键帧点云数据,在此之前已依次确定出第一关键帧点云数据、第二关键帧点云数据直至第m关键帧点云数据。可以理解的是,此处需要先确定的第m关键帧点云数据可根据第m-1关键帧点云数据得到。例如当m等于3时,表明当前需要确定第四关键帧点云数据,该第四关键帧点云数据可根据已经确定出的第三关键帧点云数据得到,该第三关键帧点云数据是由已经确定出的第二关键帧点云数据得到,该第二关键帧点云数据是由已经确定出的第一关键帧点云数据得到。需要说明的是,本申请中可通过查询与第m关键帧点云数据对应的初始化参数的方式来快速确定第m关键帧点云数据,当然还可通过其他方式确定第m关键帧点云数据,不限定于此。
步骤204、依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度。
具体地,在确定出第m关键帧点云数据之后,可先依次获取从该第m关键帧点云数据开始采集的多帧点云数据,并在每采集到一帧点云数据之后计算该点云数据与第m关键帧点云数据之间的相似度。可以理解的是,此处第m关键帧点云数据之后的每一帧点云数据均可由激光雷达按照预设条件采集,该预设条件可以但不局限于根据时间、距离或是角度中任意至少一种参数进行设定。此处以时间参数对预设条件进行设定,激光雷达可从第m关键帧点云数据开始按照预设时间间隔采集一帧点云数据,例如从第m关键帧点云数据开始每间隔2秒采集一帧点云数据,并依次计算每一帧点云数据分别与该第m关键帧点云数据之间的相似度。
本申请中相似度可用于判断每一帧点云数据与第m关键帧点云数据之间的关联性(或是相似性),相似度越大,可表明每一帧点云数据与第m关键帧点云数据之间的关联性越强,相似度越小,可表明每一帧点云数据与第m关键帧点云数据之间的关联性越低。其中,关联性越强可意味着该点云数据与第m关键帧点云数据相似,无需将该点云数据作为第m关键帧点云数据的下一个关键帧点云数据。关联性越低可意味着该点云数据与第m关键帧点云数据差别较大,可考虑将该点云数据作为第m关键帧点云数据的下一个关键帧点云数据。
步骤206、当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据。
具体地,在依次采集第m关键帧点云数据之后的每一帧点云数据,并计算每一帧点云数据与第m关键帧点云数据之间的相似度过程中,当检测到第m关键帧点云数据之后的某一帧点云数据与该第m关键帧点云数据之间的相似度满足预设条件时,可将该点云数据作为第m+1关键帧点云数据。其中,预设条件可用于判断第m关键帧点云数据之后的每一帧点云数据与该第m关键帧点云数据之间的关联性,例如但不局限与将关联性较低的某一帧点云数据作为满足预设条件的点云数据。
步骤208、根据m+1个关键帧点云数据生成地图。
具体地,在依次根据第m关键帧点云数据确定第m+1关键帧点云数据之后,可对确定的每一关键帧点云数据进行采集,并根据已确定出的m+1个关键帧点云数据生成地图。
在本申请实施例中,可在确定某一关键帧点云数据的情况下,通过计算该关键帧点云数据与之后的每一帧点云数据的相似度来确定与该关键帧点云数据对应的下一关键帧点云数据,可保障在生成关键帧点云数据的过程中任意相邻的关键帧点云数据相互独立且有效,不仅降低选取关键帧点云数据的数据量,还可提高地图生成的准确性以及有效性。
作为本实施例的一种可选,依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,包括:
依次计算与第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的每一帧点云数据对应的位姿数据;
根据第m关键帧点云数据对应的位姿数据以及第m关键帧点云数据之后的每一帧点云数据对应的位姿数据计算第m关键帧点云数据之后的每一帧点云数据与第m关键帧点云数据之间的费舍尔信息余量;
其中,预设条件为费舍尔信息余量低于预设阈值。
具体地,在依次采集第m关键帧点云数据之后的每一帧点云数据的过程中,可先依次得到第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的每一帧点云数据所对应的位姿数据。其中,该位姿数据可以但不局限于包括对应帧的点云数据在坐标系中的坐标以及围绕各个坐标轴的旋转角,此处以应用场景为机器人为例,第m关键帧点云数据对应为位姿数据可表示为(Xm,Ym,Zm,Rollm,Yawm,Pitchm),此处Xm可对应为机器人在行进过程中与第m关键帧所对应的位置在机器人坐标系X轴上的坐标,Ym可对应为机器人在行进过程中与第m关键帧所对应的位置在机器人坐标系Y轴上的坐标,Zm可对应为机器人在行进过程中与第m关键帧所对应的位置在机器人坐标系Z轴上的坐标,Rollm可对应为机器人在行进过程中与第m关键帧所对应的位置围绕坐标系X轴旋转的角度,Yawm可对应为机器人在行进过程中与第m关键帧所对应的位置围绕坐标系Z轴旋转的角度,Pitchm可对应为机器人在行进过程中与第m关键帧所对应的位置围绕坐标系Y轴旋转的角度。
可能的,第m关键帧点云数据对应的位姿数据可由该第m关键帧点云数据计算得到,例如通过该第m关键帧点云数据与第m-1关键帧点云数据进行匹配或是通过该第m关键帧点云数据与预设参考地图进行匹配等方式得到该第m关键帧点云数据对应的位姿数据。可以理解的是,与第m关键帧点云数据之后的每一帧点云数据所对应的位姿数据可参照该方式计算得到。
可能的,第m关键帧点云数据对应的位姿数据还可直接根据惯性传感器(IMU)获取,例如可从惯性传感器采集到的数据中选取与激光雷达采集该第m关键帧点云数据对应的时间戳一致的位姿数据作为该第m关键帧点云数据对应的位姿数据。可以理解的是,与第m关键帧点云数据之后的每一帧点云数据所对应的位姿数据可参照该方式获取,且通过此方式确定第m+1关键帧点云数据时需同时配备激光雷达以及惯性传感器。
当然,第m关键帧点云数据对应的位姿数据还可通过其他方式估计获取,不限定于上述两种方式。
进一步的,在得到第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的每一帧点云数据所对应的位姿数据之后,可基于第m关键帧点云数据对应的位姿数据依次计算与第m关键帧点云数据之后的每一帧点云数据所对应的位姿数据之间的费舍尔信息余量。其中,费舍尔信息余量可理解为通过计算数据的方式来判断第m关键帧点云数据对应的位姿数据相较于与第m关键帧点云数据之后的某一帧点云数据所对应的位姿数据的估计准确的程度,通过构建评分函数,结合第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的某一帧点云数据所对应的位姿数据得到评分函数的协方差,并以协方差估计出相应的期望值来确定出。可以理解的是,本申请提到的费舍尔信息余量为本领域常见技术,在此不过多赘述。
可以理解的是,本申请中费舍尔信息余量可用于判断每一帧点云数据与第m关键帧点云数据之间的关联性(或是相似性),费舍尔信息余量越大(也可理解为越接近于1),可表明每一帧点云数据与第m关键帧点云数据之间的关联性越强,费舍尔信息余量越小(也可理解为越接近于0),可表明每一帧点云数据与第m关键帧点云数据之间的关联性越低。其中,关联性越强可意味着该点云数据与第m关键帧点云数据相似,无需将该点云数据作为第m关键帧点云数据的下一个关键帧点云数据。关联性越低可意味着该点云数据与第m关键帧点云数据差别较大,可考虑将该点云数据作为第m关键帧点云数据的下一个关键帧点云数据。
作为本实施例的又一种可选,在确定第m关键帧点云数据之后,在依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度之前,还包括:
对第m关键帧点云数据之后的每一帧点云数据进行过滤处理,以过滤第m关键帧点云数据之后的每一帧点云数据中处于边缘区域的点云数据;
依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,具体为:
依次计算过滤处理后的第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度。
具体地,在依次采集到第m关键帧点云数据之后的每一帧点云数据之后,可先对该第m关键帧点云数据之后的每一帧点云数据进行过滤处理,以提高该第m关键帧点云数据之后的每一帧点云数据中有效点云数据的占比,进而可保障后续计算出与该第m关键帧点云数据之后的每一帧点云数据所对应的位姿数据的准确性。其中,过滤处理的方式可以但不局限于根据预设的距离范围进行设定。此处可参阅图4示出的一种第m关键帧点云数据的预处理效果示意图。如图4所示,401所对应的矩形框区域可表示为第m关键帧点云数据之后的某一帧点云数据所涉及的区域,402所对应的圆形区域可表示为对第m关键帧点云数据之后的某一帧点云数据进行预处理后所涉及的区域,可明显看出402所对应的区域处于401所对应的区域的中心,且筛除了401所对应的区域中的边缘区域。可以理解的是,402所对应的区域可由设置在401所对应的区域的中心点O确定,也即是说在确定401所对应的区域之后,可先在该区域内找到中心点O,再以该中心点O为原点,半径为R确定出402所对应的区域。当然,本申请可不限定于通过预设距离范围的方式来对第m关键帧点云数据之后的每一帧点云数据进行预处理,例如还可对第m关键帧点云数据之后的每一帧点云数据所涉及的区域进行预设比例缩小的方式来得到预处理后所涉及的区域。
需要说明的是,上述提到的矩形框区域以及圆形区域均为示例,本申请不限定于此。
进一步的,在对第m关键帧点云数据之后的每一帧点云数据进行预处理之后,可再依次计算预处理后的第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,此处不过多赘述。
请参阅图5示出的本申请实施例提供的又一种数据处理方法的流程示意图。
如图5所示,该数据处理方法至少可以包括以下步骤:
步骤502、确定第m关键帧点云数据。
具体地,步骤502可参阅步骤202,此处不过多赘述。
步骤504、依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度。
具体地,步骤504可参阅步骤204,此处不过多赘述。
步骤506、当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据。
具体地,步骤506可参阅步骤206,此处不过多赘述。
步骤508、对第m+1关键帧点云数据进行初始化。
具体地,在根据第m关键帧点云数据得到第m+1关键帧点云数据之后,为便于在多帧点云数据中识别出第m+1关键帧点云数据,可对该第m+1关键帧点云数据进行初始化,以使该第m+1关键帧点云数据中包含有用于表征第m+1关键帧的初始化参数,且对于依次确定的多个关键帧点云数据,均可对每个关键帧点云数据进行初始化。此处第m+1关键帧点云数据的初始化参数可以但不局限于为包含m+1的字符串,例如当m=3时,该第四关键帧点云数据的初始化参数可包含004字符串。
步骤510、根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据。
具体地,在依次确定出第一关键帧点云数据、第二关键帧点云数据直至第m+1关键帧点云数据之后,还可根据与每个关键帧点云数据对应的初始化参数筛选出该总共m+1个关键帧点云数据。其中,筛选关键帧点云数据的方式可以但不局限于从每一帧点云数据的初始化参数中筛选出包含有用于表征关键帧字符串的初始化参数,并可将该包含有用于表征关键帧字符串的初始化参数按照预设顺序进行排列。此处预设顺序可为按照依次确定出关键帧点云数据的顺序,例如排列的m+1个关键帧点云数据依次为第一关键帧点云数据、第二关键帧点云数据直至第m+1关键帧点云数据。
步骤512、对m+1个关键帧点云数据进行闭环检测。
具体地,在确定出m+1个关键帧点云数据之后,还可结合该m+1个关键帧点云数据进行闭环检测,以判断该m+1个关键帧点云数据是否构成闭环回路。其中,在对该m+1个关键帧点云数据进行闭环检测时,可先根据各个关键帧点云数据得到各自对应的位姿数据,并基于该m+1个关键帧点云数据各自对应的位姿数据生成从第一个关键帧点云数据到第m+1个关键帧点云数据的运动轨迹。可以理解的是,每一个关键帧点云数据对应的位姿数据均可对应于同一坐标系中的不同点的坐标,依次将每个关键帧点云数据在同一坐标系下的点进行连接即可得到从第一个关键帧点云数据到第m+1个关键帧点云数据的运动轨迹。
进一步的,在得到从第一个关键帧点云数据到第m+1个关键帧点云数据的运动轨迹之后,可判断该运动轨迹中是否存在至少一个闭环轨迹,此处闭环轨迹可理解为由多个关键帧点云数据对应在同一坐标系中的点的连线构成一个回路,且回路中的第一个关键帧点云数据对应在同一坐标系中的点与最后一个关键帧点云数据对应在同一坐标系中的点重合。
为便于更好的理解闭环轨迹,此处还可参阅图6示出的本申请实施例提供的一种关键帧点云数据的运动轨迹示意图。如图6所示,6a示出了一种理想状态下多个关键帧点云数据对应的位姿数据在同一坐标系中的点所构成的运动轨迹,该运动轨迹可由第一个关键帧点云数据对应的位姿数据在同一坐标系中的点至第m+1个关键帧点云数据对应的位姿数据在同一坐标系中的点组成,例如但不局限于可表示为A-B-C-D-E-F。此处需要说明的是,A、B、C、D、E以及F可分别对应为m+1个关键帧点云数据中的任意一个(例如A可表示为第一个关键帧点云数据),且m+1对应的个数大于或等于6。其中,可以明显看出当运动轨迹可表示为A-B-C-D-E时,该运动轨迹存在一个闭环轨迹,也即是说从第一关键帧点云数据对应的位姿数据在同一坐标系中的点到E所对应的关键帧点云数据对应的位姿数据在同一坐标系中的点中存在与该E所对应的关键帧点云数据对应的位姿数据在同一坐标系中的点相同的点。当确定出E所对应的关键帧点云数据时,可通过闭环检测确定出从第一个关键帧点云数据到E所对应的关键帧点云数据构成闭环,且从该E所对应的关键帧点云数据开始,之后确定出的每个关键帧点云数据在进行闭环检测时均可确定出构成闭环。例如此处还可参阅上述提到的可表示为A-B-C-D-E-F的运动轨迹,该运动轨迹可表明F所对应的关键帧点云数据为当前确定出的关键帧点云数据,由于当运动轨迹可表示为A-B-C-D-E时确定已存在闭环,此处可确定可表示为A-B-C-D-E-F的运动轨迹也存在闭环,且该闭环与可表示为A-B-C-D-E的运动轨迹中确定出的闭环相同。
可以理解的是,图6中的6b可表示为常规技术所确定出的m+1个关键帧点云数据对应的位姿数据在同一坐标系中的点所构成的运动轨迹,通过与6a所表示的理想状态下的运动轨迹比较可看出该6b中确定出的多个关键帧点云数据在同一坐标系中的点存在明显误差。图6中的6c可表示为本申请所确定出的m+1个关键帧点云数据对应的位姿数据在同一坐标系中的点所构成的运动轨迹,通过与6a所表示的理想状态下的运动轨迹以及6b所表示的运动轨迹比较可看出该6c中确定出的多个关键帧点云数据在同一坐标系中的点误差更小,且与理想状态下的点更为接近。
步骤514、当检测到m+1个关键帧点云数据存在闭环时,对m+1个关键帧点云数据进行非线性约束优化处理。
具体地,在确定出m+1个关键帧点云数据对应的位姿数据在同一坐标系中的点所构成的运动轨迹中存在至少一个闭环轨迹时,可将该m+1个关键帧点云数据进行优化处理,以进一步减小每个关键帧点云数据的误差。其中,优化处理的方式可以但不局限于为线性约束优化,为本领域常见的一种闭环优化方式,本申请在此不过多赘述。
可以理解的是,当m+1个关键帧点云数据对应的位姿数据在同一坐标系中的点所构成的运动轨迹中未检测出存在闭环轨迹时,可能的,可先根据第m+1个关键帧点云数据继续确定其他关键帧点云数据,直至该第m+1个关键帧点云数据之后的某一个关键帧点云数据检测出存在闭环时,对从第一个关键帧点云数据到该关键帧点云数据进行优化处理。可能的,还可直接根据该m+1个关键帧点云数据生成地图,本申请不限定于此。
步骤516、根据处理后的m+1个关键帧点云数据生成地图。
具体地,在对m+1个关键帧点云数据进行优化之后,可再根据该优化后的m+1个关键帧点云数据生成地图,且还可根据优化后的m+1个关键帧点云数据得到相应的位姿数据并与地图一起展示给用户。
在本申请实施例中,还可确定出的关键帧点云数据进行闭环检测,以进一步通过闭环优化来减小各个关键帧点云数据的误差,可使最终生成的地图精度更高。
作为本实施例的一种可选,根据m+1个关键帧点云数据生成地图包括:
根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
对m+1个关键帧点云数据进行闭环检测;
当检测到m+1个关键帧点云数据存在闭环时,根据m+1个关键帧点云数据确定至少两个子地图,每个子地图包含至少一个关键帧点云数据;
分别对每个子地图进行图像优化处理;
将处理后的每个子地图进行合并得到地图。。
具体地,在对m+1个关键帧点云数据进行优化处理时,可先根据该m+1个关键帧点云数据构建至少两个子地图,每个子地图中可包含至少一个关键帧点云数据,再分别对每个子地图所包含的关键帧点云数据进行优化处理,此方式可将所有关键帧点云数据分批优化处理,不仅保障每批所包含的关键帧点云数据的精度,还可通过合成子图的方式更加便利的生成最终地图。
此处可参阅图7示出的本申请实施例提供的一种对关键帧点云数据优化处理的效果示意图。如图7所示,以m+1个关键帧点云数据为100个为例,当需要根据100个关键帧点云数据生成地图时,可先在确定出100个关键帧点云数据之后将该100个关键帧点云数据平均划分出四组关键帧点云数据,并根据该四组关键帧点云数据分别得到701a、701b、701c以及701d四个子图。可以理解的是,此处701a对应的子图所包含的关键帧点云数据可为第一个关键帧点云数据至第二十五个关键帧点云数据,701b对应的子图所包含的关键帧点云数据可为第二十六个关键帧点云数据至第五十个关键帧点云数据,701c对应的子图所包含的关键帧点云数据可为第五十一个关键帧点云数据至第七十五个关键帧点云数据,701d对应的子图所包含的关键帧点云数据可为第七十六个关键帧点云数据至第一百个关键帧点云数据。进一步的,在分别对701a、701b、701c以及701d四个子图进行优化处理之后,可将该701a、701b、701c以及701d四个子图进行合并,得到最终地图702。
请参阅图8,图8示出了本申请实施例提供的一种数据处理装置的结构示意图。
如图8所示,该数据处理装置800至少可以包括确定模块801、计算模块802、处理模块803以及生成模块804,其中:
确定模块801,用于确定第m关键帧点云数据,m为正整数;
计算模块802,用于依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度;
处理模块803,用于当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据,K为正整数;
生成模块804,用于根据m+1个关键帧点云数据生成地图。
在一些可能的实施例中,m=1;
确定模块801包括:
建立单元,用于按照预设规则建立第一关键帧点云数据;
处理单元,用于对第一关键帧点云数据进行初始化,以使第一关键帧点云数据中包含与第一关键帧对应的初始化参数;初始化参数为用于表征第一关键帧的标识字符串。
在一些可能的实施例中,计算模块802包括:
第一计算单元,用于依次计算与第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的每一帧点云数据对应的位姿数据;
第二计算单元,用于根据第m关键帧点云数据对应的位姿数据以及第m关键帧点云数据之后的每一帧点云数据对应的位姿数据计算第m关键帧点云数据之后的每一帧点云数据与第m关键帧点云数据之间的费舍尔信息余量;
其中,预设条件为费舍尔信息余量低于预设阈值。
在一些可能的实施例中,装置还包括:
处理模块,用于在确定第m关键帧点云数据之后,在依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度之前,对第m关键帧点云数据之后的每一帧点云数据进行过滤处理,以过滤第m关键帧点云数据之后的每一帧点云数据中处于边缘区域的点云数据;
计算模块具体用于:依次计算过滤处理后的第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度。
在一些可能的实施例中,装置还包括:
初始化模块,用于在根据每帧点云数据对应的位姿数据确定第m+1关键帧点云数据之后,在根据m+1个关键帧点云数据生成地图之前,对第m+1关键帧点云数据进行初始化,以使第m+1关键帧点云数据中包含与第m+1关键帧对应的初始化参数;初始化参数为用于表征第m+1关键帧的标识字符串。
在一些可能的实施例中,生成模块804包括:
统计单元,用于在对第m+1关键帧点云数据进行初始化,以使第m+1关键帧点云数据中包含与第m+1关键帧对应的初始化参数之后,根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
检测单元,用于对m+1个关键帧点云数据进行闭环检测;
第一优化单元,用于当检测到m+1个关键帧点云数据存在闭环时,对m+1个关键帧点云数据进行非线性约束优化处理;
第一生成单元,用于根据处理后的m+1个关键帧点云数据生成地图。
在一些可能的实施例中,生成模块804包括:
统计单元,用于根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
检测单元,用于对m+1个关键帧点云数据进行闭环检测;
划分单元,用于当检测到m+1个关键帧点云数据存在闭环时,根据m+1个关键帧点云数据确定至少两个子地图,每个子地图包含至少一个关键帧点云数据;
第二优化单元,用于分别对每个子地图进行图像优化处理;
第二生成单元,用于将处理后的每个子地图进行合并得到地图。
请参阅图9,图9示出了本申请实施例提供的一种数据处理设备的结构示意图。
如图9所示,该电子设备900可以包括:至少一个处理器901、至少一个网络接口904、用户接口903、存储器905、激光雷达906以及至少一个通信总线902。
其中,通信总线902可用于实现上述各个组件的连接通信。
其中,用户接口903可以包括按键,可选用户接口还可以包括标准的有线接口、无线接口。
其中,网络接口904可以但不局限于为蓝牙模块、NFC模块、Wi-Fi模块等。
其中激光雷达906可用于采集多帧点云数据,并将所有点云数据上传至处理器901
其中,处理器901可以包括一个或者多个处理核心。处理器901利用各种接口和线路连接整个电子设备900内的各个部分,通过运行或执行存储在存储器905内的指令、程序、代码集或指令集,以及调用存储在存储器905内的数据,执行路由设备900的各种功能和处理数据。可选的,处理器901可以采用DSP、FPGA、PLA中的至少一种硬件形式来实现。处理器901可集成CPU、GPU和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器901中,单独通过一块芯片进行实现。
其中,存储器905可以包括RAM,也可以包括ROM。可选的,该存储器905包括非瞬时性计算机可读介质。存储器905可用于存储指令、程序、代码、代码集或指令集。存储器905可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器905可选的还可以是至少一个位于远离前述处理器901的存储装置。如图9所示,作为一种计算机存储介质的存储器905中可以包括操作系统、网络通信模块、用户接口模块以及数据处理应用程序。
具体地,处理器901可以用于调用存储器905中存储的数据处理应用程序,并具体执行以下操作:
确定第m关键帧点云数据,m为正整数;
依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度;
当确定第m关键帧点云数据之后的第K帧点云数据与第m关键帧点云数据之间的相似度满足预设条件时,将第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据,K为正整数;
根据m+1个关键帧点云数据生成地图。
在一些可能的实施例中,m=1;
处理器901确定第m关键帧点云数据时,用于执行:
按照预设规则建立第一关键帧点云数据;
对第一关键帧点云数据进行初始化,以使第一关键帧点云数据中包含与第一关键帧对应的初始化参数;初始化参数为用于表征第一关键帧的标识字符串。
在一些可能的实施例中,处理器901依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度时,用于执行:
依次计算与第m关键帧点云数据对应的位姿数据以及与第m关键帧点云数据之后的每一帧点云数据对应的位姿数据;
根据第m关键帧点云数据对应的位姿数据以及第m关键帧点云数据之后的每一帧点云数据对应的位姿数据计算第m关键帧点云数据之后的每一帧点云数据与第m关键帧点云数据之间的费舍尔信息余量;
其中,预设条件为费舍尔信息余量低于预设阈值。
在一些可能的实施例中,处理器901在确定第m关键帧点云数据之后,在依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度之前,还用于执行:
对第m关键帧点云数据之后的每一帧点云数据进行过滤处理,以过滤第m关键帧点云数据之后的每一帧点云数据中处于边缘区域的点云数据;
依次计算第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度,具体为:
依次计算过滤处理后的第m关键帧点云数据之后的每一帧点云数据分别与第m关键帧点云数据之间的相似度。
在一些可能的实施例中,处理器901在根据每帧点云数据对应的位姿数据确定第m+1关键帧点云数据之后,在根据m+1个关键帧点云数据生成地图之前,还用于执行:
对第m+1关键帧点云数据进行初始化,以使第m+1关键帧点云数据中包含与第m+1关键帧对应的初始化参数;初始化参数为用于表征第m+1关键帧的标识字符串。
在一些可能的实施例中,处理器901在根据m+1个关键帧点云数据生成地图时,用于执行:
根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
对m+1个关键帧点云数据进行闭环检测;
当检测到m+1个关键帧点云数据存在闭环时,对m+1个关键帧点云数据进行非线性约束优化处理;
根据处理后的m+1个关键帧点云数据生成地图。
在一些可能的实施例中,处理器901在根据m+1个关键帧点云数据生成地图时,用于执行:
根据m+1个关键帧点云数据确定至少两个子地图,每个子地图包含至少一个关键帧点云数据;
分别对每个子地图包含的关键帧点云数据进行优化处理;
处理器901根据处理后的m+1个关键帧点云数据生成地图时,用于执行:
将处理后的每个子地图进行合并得到地图。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述图2或图5所示实施例中的一个或多个步骤。上述电子设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital SubscriberLine,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(Digital VersatileDisc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可存储程序代码的介质。在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。
以上所述的实施例仅仅是本申请的优选实施例方式进行描述,并非对本申请的范围进行限定,在不脱离本申请的设计精神的前提下,本领域普通技术人员对本申请的技术方案作出的各种变形及改进,均应落入本申请的权利要求书确定的保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
确定第m关键帧点云数据,所述m为正整数;
依次计算所述第m关键帧点云数据之后的每一帧点云数据分别与所述第m关键帧点云数据之间的相似度;
当确定所述第m关键帧点云数据之后的第K帧点云数据与所述第m关键帧点云数据之间的相似度满足预设条件时,将所述第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据,所述K为正整数;
根据m+1个关键帧点云数据生成地图。
2.根据权利要求1所述的方法,其特征在于,m=1;
所述确定第m关键帧点云数据,包括:
按照预设规则建立第一关键帧点云数据;
对所述第一关键帧点云数据进行初始化,以使所述第一关键帧点云数据中包含与所述第一关键帧对应的初始化参数;所述初始化参数为用于表征第一关键帧的标识字符串。
3.根据权利要求1或2所述的方法,其特征在于,所述依次计算所述第m关键帧点云数据之后的每一帧点云数据分别与所述第m关键帧点云数据之间的相似度,包括:
依次计算与所述第m关键帧点云数据对应的位姿数据以及与所述第m关键帧点云数据之后的每一帧点云数据对应的位姿数据;
根据所述第m关键帧点云数据对应的位姿数据以及所述第m关键帧点云数据之后的每一帧点云数据对应的位姿数据计算所述第m关键帧点云数据之后的每一帧点云数据与所述第m关键帧点云数据之间的费舍尔信息余量;
其中,所述预设条件为所述费舍尔信息余量低于预设阈值。
4.根据权利要求1或2所述的方法,其特征在于,在所述确定第m关键帧点云数据之后,在所述依次计算所述第m关键帧点云数据之后的每一帧点云数据分别与所述第m关键帧点云数据之间的相似度之前,所述方法还包括:
对所述第m关键帧点云数据之后的每一帧点云数据进行过滤处理,以过滤所述第m关键帧点云数据之后的每一帧点云数据中处于边缘区域的点云数据;
所述依次计算所述第m关键帧点云数据之后的每一帧点云数据分别与所述第m关键帧点云数据之间的相似度,具体为:
依次计算过滤处理后的所述第m关键帧点云数据之后的每一帧点云数据分别与所述第m关键帧点云数据之间的相似度。
5.根据权利要求2所述的方法,其特征在于,在所述根据所述每帧点云数据对应的位姿数据确定第m+1关键帧点云数据之后,在所述根据m+1个关键帧点云数据生成地图之前,所述方法还包括:
对所述第m+1关键帧点云数据进行初始化,以使所述第m+1关键帧点云数据中包含与所述第m+1关键帧对应的初始化参数;所述初始化参数为用于表征第m+1关键帧的标识字符串。
6.根据权利要求5所述的方法,其特征在于,所述根据m+1个关键帧点云数据生成地图,包括:
根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
对所述m+1个关键帧点云数据进行闭环检测;
当检测到所述m+1个关键帧点云数据存在闭环时,对所述m+1个关键帧点云数据进行非线性约束优化处理;
根据处理后的所述m+1个关键帧点云数据生成地图。
7.根据权利要求5所述的方法,其特征在于,所述根据m+1个关键帧点云数据生成地图,包括:
根据与每个关键帧对应的初始化参数确定m+1个关键帧点云数据;
对所述m+1个关键帧点云数据进行闭环检测;
当检测到所述m+1个关键帧点云数据存在闭环时,根据所述m+1个关键帧点云数据确定至少两个子地图,每个所述子地图包含至少一个关键帧点云数据;
分别对每个所述子地图进行图像优化处理;
将处理后的每个所述子地图进行合并得到地图。
8.一种数据处理装置,其特征在于,包括:
确定模块,用于确定第m关键帧点云数据,所述m为正整数;
计算模块,用于依次计算所述第m关键帧点云数据之后的每一帧点云数据分别与所述第m关键帧点云数据之间的相似度;
处理模块,用于当确定所述第m关键帧点云数据之后的第K帧点云数据与所述第m关键帧点云数据之间的相似度满足预设条件时,将所述第m关键帧点云数据之后的第K帧点云数据作为第m+1关键帧点云数据,所述K为正整数;
生成模块,用于根据m+1个关键帧点云数据生成地图。
9.一种数据处理设备,其特征在于,包括激光雷达、存储器以及处理器,所述激光雷达、所述存储器分别与所述处理器相连:
所述激光雷达,用于采集点云数据;
所述存储器,用于存储可执行程序代码;
所述处理器,用于通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248427.8A CN114964246A (zh) | 2022-03-14 | 2022-03-14 | 数据处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248427.8A CN114964246A (zh) | 2022-03-14 | 2022-03-14 | 数据处理方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114964246A true CN114964246A (zh) | 2022-08-30 |
Family
ID=82975896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210248427.8A Pending CN114964246A (zh) | 2022-03-14 | 2022-03-14 | 数据处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114964246A (zh) |
-
2022
- 2022-03-14 CN CN202210248427.8A patent/CN114964246A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107358149B (zh) | 一种人体姿态检测方法和装置 | |
US8442307B1 (en) | Appearance augmented 3-D point clouds for trajectory and camera localization | |
CN108256404B (zh) | 行人检测方法和装置 | |
CN108229456B (zh) | 目标跟踪方法和装置、电子设备、计算机存储介质 | |
CN110378966B (zh) | 车路协同相机外参标定方法、装置、设备及存储介质 | |
CN104679818A (zh) | 一种视频关键帧提取方法及系统 | |
CN114495128B (zh) | 字幕信息检测方法、装置、设备以及存储介质 | |
CN110765891A (zh) | 工程图纸识别方法、电子设备及相关产品 | |
CN110796016A (zh) | 工程图纸识别方法、电子设备及相关产品 | |
CN112232311B (zh) | 人脸跟踪方法、装置及电子设备 | |
CN108875506B (zh) | 人脸形状点跟踪方法、装置和系统及存储介质 | |
CN111105459B (zh) | 描述子地图生成方法、定位方法、装置、设备和存储介质 | |
CN111383246A (zh) | 条幅检测方法、装置及设备 | |
CN111783561A (zh) | 审图结果修正方法、电子设备及相关产品 | |
CN114596188A (zh) | 水印检测方法、模型训练方法、装置及电子设备 | |
JP6305856B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
CN108875538B (zh) | 属性检测方法、装置和系统及存储介质 | |
CN113298852A (zh) | 目标跟踪方法、装置、电子设备及计算机可读存储介质 | |
CN115699096A (zh) | 跟踪增强现实设备 | |
CN117593420A (zh) | 基于图像处理的平面图纸标注方法、装置、介质及设备 | |
CN116823884A (zh) | 多目标跟踪方法、系统、计算机设备及存储介质 | |
CN114964246A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN114674328B (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN115273177A (zh) | 异质人脸的人脸类型识别方法、装置、设备及存储介质 | |
CN114386156B (zh) | 基于bim的隐蔽构件显示方法、装置、设备及可读存储介质 |
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 |