CN111881233A - 分布式点云地图构建方法和装置、服务器、计算机可读存储介质 - Google Patents
分布式点云地图构建方法和装置、服务器、计算机可读存储介质 Download PDFInfo
- Publication number
- CN111881233A CN111881233A CN202010598295.2A CN202010598295A CN111881233A CN 111881233 A CN111881233 A CN 111881233A CN 202010598295 A CN202010598295 A CN 202010598295A CN 111881233 A CN111881233 A CN 111881233A
- Authority
- CN
- China
- Prior art keywords
- data packet
- key frame
- point cloud
- target data
- data packets
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
Abstract
本申请涉及一种分布式点云地图构建方法和装置、服务器、计算机可读存储介质,包括:根据第一数据包中的关键帧获取第一数据包的相邻数据包,数据包中包含点云数据。将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包。对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。目标数据包中所包含的关键帧均在位置上距离较近、且相关性较强,对目标数据包中的关键帧进行回环检测,大大减小了累积误差、减小资源浪费,提高了所构建出的点云地图的精确度。
Description
技术领域
本申请涉及自动驾驶技术领域,特别是涉及一种分布式点云地图构建方法和装置、服务器、计算机可读存储介质。
背景技术
随着自动驾驶或无人驾驶技术的不断发展,自动驾驶或无人驾驶将逐渐步入人们的日常生活中,为人们的生活带来便利。其中,自动驾驶或无人驾驶技术都高度依赖于高精准的导航,而高精准的导航必然依赖于高精准的地图。而根据传统技术所构建的地图,其精度一般较低(例如为亚米级),不能满足自动驾驶或无人驾驶所要求的更高的精度(例如为分米级),且传统技术所构建的地图不能提供丰富的行驶信息。
因此,亟需提供一种地图构建方法,来解决以上传统地图精度较低的问题。
发明内容
本申请实施例提供一种分布式点云地图构建方法、装置、服务器、计算机可读存储介质,可以提高所构建出的点云地图的精确度。
一种分布式点云地图构建方法,包括:
根据第一数据包中的关键帧获取所述第一数据包的相邻数据包,所述数据包中包含点云数据;
将所述第一数据包与所述第一数据包的相邻数据包进行组合,得到目标数据包;
对所述目标数据包中的各关键帧进行回环检测,得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿;
根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
在其中一个实施例中,所述根据第一数据包中的关键帧获取所述第一数据包的相邻数据包,包括:
按照位置间隔获取第一数据包中的关键帧;
根据所述第一数据包中的关键帧,从其他数据包中获取与所述关键帧在空间上相邻的关键帧;
获取所述相邻的关键帧所在的数据包,将所述数据包作为所述第一数据包的相邻数据包。
在其中一个实施例中,所述对所述目标数据包中的各关键帧进行回环检测,得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿,包括:
根据所述目标数据包的数据量大小,对所述目标数据包进行排序生成消息队列;
通过多台服务器依次从所述消息队列中获取所述目标数据包进行正向回环检测及反向回环检测,直到遍历完所述消息队列;
分别得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。
在其中一个实施例中,所述方法还包括:
接收多个点云数据采集设备发送的多个数据包;
将所述多个数据包分别拆分为点云帧,并从所述点云帧中按照预设距离规则筛选出关键帧。
在其中一个实施例中,所述将所采集的多个数据包分别拆分为点云帧,包括:
对所采集到的多个数据包进行拆分,得到多个子数据包;
将所述多个子数据包进行处理;
将各所述解析结果进行分类,得到各所述子数据包的分类结果;
对所述处理后的子数据包合成得到点云帧。
在其中一个实施例中,在所述将所采集的多个数据包分别拆分为点云帧,并从所述点云帧中按照预设距离规则筛选出关键帧之后,还包括:
对所述关键帧进行去噪处理,得到去噪后的关键帧。
在其中一个实施例中,所述对所述关键帧进行去噪处理包括:
对所述关键帧进行删除冗余帧、删除预设速度帧、删除掉头帧、删除无关帧中的至少一种处理。
在其中一个实施例中,所述根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图,包括:
根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建不同密度的点云地图。
一种分布式点云地图构建装置,包括:
相邻数据包获取模块,用于根据第一数据包中的关键帧获取所述第一数据包的相邻数据包,所述数据包中包含点云数据;
目标数据包组合模块,用于将所述第一数据包与所述第一数据包的相邻数据包进行组合,得到目标数据包;
回环检测模块,用于对所述目标数据包中的各关键帧进行回环检测,得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的第一相对位姿;
点云地图构建模块,用于根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
一种服务器,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上方法的步骤。
上述分布式点云地图构建方法、装置、服务器、计算机可读存储介质,根据第一数据包中的关键帧获取第一数据包的相邻数据包,数据包中包含点云数据。将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包。对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
首先,根据第一数据包中的关键帧获取第一数据包的相邻数据包,然后将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包。如此,则目标数据包中所包含的关键帧均为在位置上距离较近、相关性较强的关键帧,便于减少后续计算过程中产生无效数据,浪费资源。然后,对目标数据包中的关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。最后,再结合目标数据包中各关键帧的绝对位姿就可以构建点云地图。其中,对目标数据包中的关键帧进行回环检测,大大减小了累积误差,进而大大提高了所构建出的点云地图的精确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中分布式点云地图构建方法的应用环境图;
图2为一个实施例中分布式点云地图构建方法的流程图;
图3为图2中根据第一数据包中的关键帧获取第一数据包的相邻数据包方法的流程图;
图4为图2中对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿方法的流程图;
图5为一个实施例中将所采集的多个数据包分别拆分为点云帧方法的流程图;
图6为一个实施例中分布式点云地图构建装置的结构框图;
图7为图6中相邻数据包获取模块的结构框图;
图8为一个实施例中服务器的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中分布式点云地图构建方法的应用场景图。如图1所示,该应用环境包括多个点云数据采集设备120及服务器140。一般采用多个点云数据采集设备120分别对道路信息进行采集,采集得到多个点云数据包。多个点云数据采集设备120将所采集的多个点云数据包发送至服务器140,服务器140接收多个点云数据包,根据点云数据包构建点云地图。具体的,服务器140根据第一数据包中的关键帧获取第一数据包的相邻数据包,数据包中包含点云数据;将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包;对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿;根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。其中,点云数据采集设备120可以通过其上所安装的多种激光雷达来采集点云数据,本申请对此不做限定。点云数据也可以称之为激光点云数据。
图2为一个实施例中分布式点云地图构建方法的流程图,如图2所示,提供了一种分布式点云地图构建方法,应用于服务器,包括步骤220至步骤280。
步骤220,根据第一数据包中的关键帧获取第一数据包的相邻数据包,数据包中包含点云数据。
其中,点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合,称之为“点云”(PointCloud)。点云包含了丰富的信息,包括三维坐标(X,Y,Z)、颜色、分类值、强度值、时间等,本申请对此不做限定。
具体的,多个点云数据采集设备120分别对道路信息进行采集,采集得到多个点云数据包。多个点云数据采集设备120将所采集的多个点云数据包发送至服务器140,服务器140接收多个点云数据包。因为一般都会采用至少两辆点云数据采集设备来对同一道路信息进行采集,或一辆点云数据采集设备对同一道路信息采集两次的方式,以避免单一采集设备或单次所采集的数据不准确或误差较大的问题。例如,在采用至少两辆点云数据采集设备来对同一道路信息进行采集之后,那么就需要对所采集到的同一道路信息对应的数据相互校准,以构建出精确度较高的点云地图。
具体的,对所采集到的同一道路信息对应的数据相互校准时,可以获取属于不同数据包却在位置上相邻的点云帧,通过两两点云帧之间来相互校准,以提高点云帧的精确度。所以,首先服务器需要从所接收的数据包中确定第一数据包(即主数据包),然后获取第一数据包中的关键帧,基于该第一数据包中的关键帧获取第一数据包的相邻数据包。相邻数据包为包含了与第一数据包中的关键帧在位置上相邻的关键帧的其他数据包。
步骤240,将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包。
在得到了第一数据包的相邻数据包之后,将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包。因为相邻数据包中包含了与第一数据包中的关键帧在位置上相邻的关键帧,所以将第一数据包与第一数据包的相邻数据包进行组合得到目标数据包,就实现了将在位置上距离较近、相关性较强的关键帧均组合到目标数据包中,以便后续将一个一个的目标数据包作为一个任务去执行,提高运算的效率。其中,这里将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包,可以是将第一数据包中数据的身份证标识号(Identity document,ID)、第一数据包的相邻数据包中数据的ID进行组合,得到目标数据包。通过目标数据包中数据的ID就可以调用到存储在不同数据包中的数据,在实现方便数据调用的避免了数据存储过程中的冗余。
步骤260,对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。
在得到了目标数据包之后,对目标数据包中的各关键帧进行回环检测,即实现了通过两两点云帧之间来相互校准,以提高点云帧的精确度。其中,在视觉SLAM(simultaneous localization and mapping),也称为CML(Concurrent Mapping andLocalization),即时定位与地图构建问题中,位姿的估计是一个递推的过程,也就是由上一帧位姿计算当前帧位姿,所以位姿约束都是基于上一帧建立的,但是因为每一次估计位姿都有误差,随着位姿递推的进行,误差也在不断的累计,就形成了累计误差。累计误差会严重影响结果的精确度,以至于无法构建全局一致的轨迹和地图。对目标数据包中的各关键帧进行回环检测,就可以减小上述位姿递推过程中的累积误差,以提高点云帧的精确度。
其中,回环检测的关键是如何有效地检测出采集设备经过同一位置。回环检测的算法包括对任意两个关键帧进行特征匹配的方法、基于里程计的方法及基于外观的回环检测算法,本申请对此不做限定。在基于外观的回环检测算法中,核心问题是如何计算图像间的相似度。比如对于图像A和图像B,先计算图像A和图像B之间的相似度值:s(A,B),假设设定相似度值大于某个预设阈值,则认为此时出现了一个回环。从而,通过计算图像间的相似度的方式就可以判断出是否出现回环。
在得到了目标数据包之后,可以采用基于外观的回环检测算法对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。其中,相对位姿包括位移矩阵及旋转矩阵,本申请对此不做限定。
步骤280,根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
所采集的数据包本来就包含了关键帧的绝对位姿,基于上述进行回环检测得到了各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。其中,位姿指的是位置和姿态,位姿是一个六维的向量,包含三个位置(X,Y,Z)和三个姿态角(航向,俯仰,横滚)。然后,就可以根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。为了加速构建地图,可以将制图区域划分为若干个正方形区域,每一个正方形区域产生一个子建图任务发送至消息队列,然后通过一定数量的服务器从消息队列中读取消息,并生成与每一个正方形区域对应的各类地图,直到遍历所有消息队列完成构建点云地图。
本申请实施例中,根据第一数据包中的关键帧获取第一数据包的相邻数据包,数据包中包含点云数据。将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包。对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
首先,根据第一数据包中的关键帧获取第一数据包的相邻数据包,然后将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包。如此,则目标数据包中所包含的关键帧均为在位置上距离较近、相关性较强的关键帧,便于减少后续计算过程中产生无效数据,浪费资源。然后,对目标数据包中的关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。最后,再结合目标数据包中各关键帧的绝对位姿就可以构建点云地图。其中,对目标数据包中的关键帧进行回环检测,大大减小了累积误差,进而大大提高了所构建出的点云地图的精确度。
在一个实施例中,如图3所示,步骤220,根据第一数据包中的关键帧获取第一数据包的相邻数据包,包括:
步骤222,按照位置间隔获取第一数据包中的关键帧。
数据包中包含点云帧对应的点云数据,因为数据包中包含海量数据,数据量太大不便于后续的运算,因此,需要从第一数据包所包含的点云帧中筛选出关键帧。具体地,按照预设的位置间隔,从第一数据包的各帧中筛选关键帧。可选的,预设的位置间隔可以为10m,可以每隔10m从第一数据包的各帧中筛选出关键帧。
步骤224,根据第一数据包中的关键帧,从其他数据包中获取与关键帧在空间上相邻的关键帧。
针对第一数据包中的每一个关键帧,从其他数据包中获取与关键帧在空间上相邻的关键帧。具体的,因为所采集的数据包本来就包含了关键帧的绝对位姿,即已知每一个关键帧的位置和姿态(三个位置(X,Y,Z)和三个姿态角(航向,俯仰,横滚),所以通过比较关键帧的三个位置,就可以判断出两个关键帧之间是否在空间上相邻。例如,预先规定两个关键帧在位置上相邻的条件是两个关键帧的距离间隔小于预设距离L。则若A关键帧的三个位置为(XA,YA,ZA),B关键帧的三个位置为(XB,YB,ZB),则计算出两个关键帧之间的距离为:判断是否小于预设距离L,若是则得出A关键帧与B关键帧在空间上相邻。其中,与关键帧在空间上相邻的关键帧的数量可以是一个或多个,本申请对此不做限定。
此外,当其他数据包中的关键帧与第一数据包中的关键帧的时间间隔较远,但是该其他数据包中的关键帧与第一数据包的关键帧的距离间隔小于预设距离L,则也可以认为该其他数据包中的关键帧与第一数据包的关键帧在空间上相邻。例如,点云数据采集设备从A点开始采集数据,一直采集到B点,后又回到A点,那么虽然A点所对应的两个关键帧的时间间隔较远,但是实际上A点所对应的两个关键帧都是对A点进行数据采集所得到的关键帧,因此,这两个关键帧为在空间上相邻的关键帧。
步骤226,获取相邻的关键帧所在的数据包,将数据包作为第一数据包的相邻数据包。
在从其他数据包中获取与关键帧在位置上相邻的关键帧之后,获取相邻的关键帧所在的数据包,将数据包作为第一数据包的相邻数据包。以便于后续将第一数据包与第一数据包的相邻数据包进行组合,得到目标数据包,进而对目标数据包中的各关键帧分别进行回环检测,消除累积误差。
本申请实施例中,获取第一数据包中的关键帧,根据第一数据包中的关键帧,从其他数据包中获取与关键帧在位置上相邻的关键帧。获取相邻的关键帧所在的数据包,将数据包作为第一数据包的相邻数据包。目标数据包中所包含的关键帧均为在位置上距离较近、相关性较强的关键帧,便于减少后续计算过程中产生无效数据,浪费资源。
在一个实施例中,如图4所示,步骤260,对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿,包括:
步骤262,根据目标数据包的数据量大小,对目标数据包进行排序生成消息队列。
这里,目标数据包可以是由第一数据包中数据的ID、第一数据包的相邻数据包中数据的ID进行组合所得。因此,根据目标数据包的数据量大小,可以是根据目标数据包中数据ID的多少,来对目标数据包进行排序生成消息队列。当然,也可以采用其他方式对对目标数据包进行排序生成消息队列,本申请对此不做限定。其中,消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。
步骤264,通过多台服务器依次从消息队列中获取目标数据包进行正向回环检测及反向回环检测,直到遍历完消息队列。
在生成消息队列之后,通过一定数量的服务器从消息队列中读取信息。具体可以通过两种模式:快速模式或慢速模式来读取信息。在快速模式下,通过一台服务器同时处理多个数据包的数据以提高处理效率,适用于大规模生产任务的情况。在慢速模式下,一般可以通过一台服务器处理一个数据包,适用于小任务或服务器资源充足的情况。在通过一定数量的服务器从消息队列中读取信息之后,就可以采用分布式处理的方式来进行回环检测。例如,通过多台服务器依次从消息队列中获取目标数据包进行正向回环检测及反向回环检测,直到遍历完消息队列。其中,可以是先进行正向回环检测,然后再进行反向回环检测。在进行反向回环检测时,可以自动跳过正向回环检测已经做过的检测。
步骤266,分别得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。
具体的,通过多台服务器依次从消息队列中获取目标数据包进行正向回环检测及反向回环检测,直到遍历完消息队列。就是依次计算目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。
本申请实施例中,根据目标数据包的数据量大小,对目标数据包进行排序生成消息队列。然后,就可以采用分布式处理的方式,通过多台服务器依次从消息队列中获取目标数据包进行正向回环检测及反向回环检测,直到遍历完消息队列。实现了通过异步处理提高系统性能和削峰、降低系统耦合性的效果,提高运算效率。
在一个实施例中,提供了一种分布式点云地图构建方法,还包括:
接收点云数据采集设备发送的多个数据包;
将所采集的多个数据包分别拆分为点云帧,并从点云帧中按照预设距离规则筛选出关键帧。
本申请实施例中,一般采用多个点云数据采集设备120分别对道路信息进行采集,采集得到多个点云数据包。多个点云数据采集设备120将所采集的多个点云数据包发送至服务器140,服务器140接收多个点云数据包,将多个数据包分别拆分为点云帧,并从点云帧中按照预设距离规则筛选出关键帧。便于后续进行回环检测,进而基于点云帧进行叠加构建点云地图。
在一个实施例中,将所采集的多个数据包分别拆分为点云帧,包括:
对所采集到的多个数据包进行拆分,得到多个子数据包;
将多个子数据包进行处理;
对所述处理后的子数据包合成得到点云帧。
具体的,数据包中包含多个类别的数据(每个传感器所采集的数据对应一个或多个类别)。具体的,数据包中包括GPS/惯导位姿数据、激光点云数据、其他数据等多个不同类别的数据。
如图5所示,首先,将所采集到的多个数据包按照数据类别拆分为多个子数据包,具体可以拆分为GPS/惯导位姿数据、激光点云数据、其他数据对应的子数据包。然后,以子数据包为单位分别对GPS/惯导位姿数据、激光点云数据、其他数据进行解析,得到解析结果。其次,GPS/惯导位姿数据、其他数据的解析结果直接输出用于帧合成。通过GPS/惯导位姿数据的解析结果对激光点云数据的解析结果进行运动补偿,再将运动补偿后激光点云数据的解析结果输入至分类器进行分类,去除车辆、行人对应的点云数据,留下静止点云数据。从静止点云数据中进行地面提取,提取出地表点云数据、地面以上的点云数据。最后,将经过地面提取的点云数据、其他数据、GPS/惯导位姿数据的解析结果,一并进行帧合成最终得到点云帧。其中,其他数据包括元数据、速度数据等。
本申请实施例中,通过对所采集到的多个数据包进行拆分、解析、分类及合成,得到多个包含点云数据、位姿的点云帧。得到了点云帧之后,就可以基于点云帧进行后续构建点云地图的操作。
在一个实施例中,在将所采集的多个数据包分别拆分为点云帧,并从点云帧中按照预设距离规则筛选出关键帧之后,还包括:
对关键帧进行去噪处理,得到去噪后的关键帧。
具体的,按照上述方法通过对所采集到的多个数据包进行拆分、解析、分类及合成,得到多个包含点云数据、位姿的点云帧。并从点云帧中按照预设距离规则筛选出关键帧。例如,从点云帧中每间隔10米获取一帧点云帧,筛选出来作为关键帧。因为所筛选出的关键帧中可能包含无效数据,例如,冗余帧、低速帧、高速帧、掉头帧、无关帧、过期帧、低精度帧等,所以需要对所筛选出的关键帧进行去噪处理,得到去噪后的关键帧。
本申请实施例中,在将所采集的多个数据包分别拆分为点云帧,并从点云帧中按照预设距离规则筛选出关键帧之后,还包括:对关键帧进行去噪处理,得到去噪后的关键帧。对关键帧进行去噪处理,提高后续进行回环检测的精确度,进而提高最终基于关键帧所构建出的点云地图的精确度。
在一个实施例中,对关键帧进行去噪处理包括:
对关键帧进行删除冗余帧、删除预设速度帧、删除掉头帧、删除无关帧中的至少一种处理。
具体的,冗余帧包含点云数据采集设备在路口等红绿灯而产生的点云帧,因为虽然点云数据采集设备停止了,但是其上的激光雷达还在持续进行数据采集,因此就会产生很多冗余帧。预设速度帧,一般指低速帧或高速帧,当点云数据采集设备的速度过低会产生低速帧,过高则会产生高速帧。低速帧会导致所采集的点云数据出现冗余,而高速帧则会导致所采集的点云数据出现模糊。掉头帧指的是点云数据采集设备掉头所产生的冗余帧,而掉头后所采集的点云数据是之前已经采集过的。无关帧,顾名思义指的是点云数据采集设备所采集的与道路信息无关的点云帧。
因此,对所筛选出的关键帧进行删除冗余帧、删除预设速度帧、删除掉头帧、删除无关帧中的至少一种处理,以达到对所筛选出的关键帧进行去噪的目的。当然,还可以根据实际情况对所筛选出的关键帧删除其他需要去噪的点云帧,本申请对此不做限定。
本申请实施例中,通过对所筛选出的关键帧进行删除冗余帧、删除预设速度帧、删除掉头帧、删除无关帧中的至少一种处理。从而,达到对所筛选出的关键帧进行去噪的目的,进而提高最终基于关键帧所构建出的点云地图的精确度。
在一个实施例中,根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图,包括:
根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建不同密度的点云地图。
具体的,在构建点云地图时,可以根据不同的使用目的而构建不同密度的点云地图。例如,一般构建低密度的点云地图用于定位,又称为定位地图。因为用于定位的地图只需要10点/立方米的密度,所以可以把点云网格化,根据点云到车的距离做加权平均,然后按点云密度滤掉稀疏的点云(一般为噪声点),将滤掉稀疏的点云之后剩余的点云来构建低密度点云地图。
一般构建高密度的点云地图用于语义标注。且构建用于语义标注的点云地图,需要使用地表点云。例如,首先,用降噪后的定位地图作为基准滤掉地表点云中的噪声;其次,对立交桥做分层检测,每层独立建图;最后,先构建低密度的点云地图,然后再做平面拟合做高密度的点云地图。
而全密度点云地图一般用于精度评定,全密度点云地图并未进行滤波处理,即包含各种噪声。当然,还可以构建各种其他密度或用途的点云地图,本申请对此不做限定。
具体的,在构建点云地图时,需要获取目标数据包中各关键帧的绝对位姿、获取经过回环检测所得的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿,基于每个关键帧的绝对位姿及相对位姿来构建不同密度的点云地图。
本申请实施例中,根据不同的使用需求,点云地图包含多种不同密度的点云地图,因此就可以根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建不同密度的点云地图,以满足用户多种多样的需求。
在一个实施例中,如图6所示,提供了一种分布式点云地图构建装置600,包括:
相邻数据包获取模块620,用于根据第一数据包中的关键帧获取第一数据包的相邻数据包,数据包中包含点云数据;
目标数据包组合模块640,用于将所述第一数据包与所述第一数据包的相邻数据包进行组合,得到目标数据包;
回环检测模块660,用于对目标数据包中的各关键帧进行回环检测,得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的第一相对位姿;
点云地图构建模块680,用于根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
在一个实施例中,如图7所示,相邻数据包获取模块620,包括:
关键帧获取单元622,用于按照位置间隔获取第一数据包中的关键帧;
相邻的关键帧获取单元624,用于根据第一数据包中的关键帧,从其他数据包中获取与关键帧在位置上相邻的关键帧;
相邻数据包获取单元626,用于获取相邻的关键帧所在的数据包,将数据包作为第一数据包的相邻数据包。
在一个实施例中,回环检测模块660,包括:
消息队列生成单元662,用于根据目标数据包的数据量大小,对目标数据包进行排序生成消息队列;
正向回环检测及反向回环检测单元664,用于通过多台服务器依次从消息队列中获取目标数据包进行正向回环检测及反向回环检测,直到遍历完消息队列;
相对位姿计算单元666,用于分别得到目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。
在一个实施例中,提供了一种分布式点云地图构建装置,还包括:
数据包接收模块,用于接收点云数据采集设备发送的多个数据包;
点云帧拆分及关键帧筛选模块,用于将多个数据包分别拆分为点云帧,并从点云帧中按照预设距离规则筛选出关键帧。
在一个实施例中,点云帧拆分及关键帧筛选模块,还用于对所采集到的多个数据包进行拆分,得到多个子数据包;将多个子数据包进行处理;对所述处理后的子数据包合成得到点云帧。
在一个实施例中,提供了一种分布式点云地图构建装置,还包括:
去噪模块,用于对关键帧进行去噪处理,得到去噪后的关键帧。
在一个实施例中,去噪模块,还用于对关键帧进行删除冗余帧、删除预设速度帧、删除掉头帧、删除无关帧中的至少一种处理。
在一个实施例中,点云地图构建模块,还用于根据目标数据包中各关键帧的绝对位姿、各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建不同密度的点云地图。
上述分布式点云地图构建装置中各个模块的划分仅用于举例说明,在其他实施例中,可将分布式点云地图构建装置按照需要划分为不同的模块,以完成上述分布式点云地图构建装置的全部或部分功能。
图8为一个实施例中服务器的内部结构示意图。如图8所示,该服务器包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个服务器的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种分布式点云地图构建方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该服务器可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
本申请实施例中提供的分布式点云地图构建装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行分布式点云地图构建方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行分布式点云地图构建方法。
本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种分布式点云地图构建方法,包括:
根据第一数据包中的关键帧获取所述第一数据包的相邻数据包,所述数据包中包含点云数据;
将所述第一数据包与所述第一数据包的相邻数据包进行组合,得到目标数据包;
对所述目标数据包中的各关键帧进行回环检测,得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿;
根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
2.根据权利要求1所述的方法,其特征在于,所述根据第一数据包中的关键帧获取所述第一数据包的相邻数据包,包括:
按照位置间隔获取第一数据包中的关键帧;
根据所述第一数据包中的关键帧,从其他数据包中获取与所述关键帧在空间上相邻的关键帧;
获取所述相邻的关键帧所在的数据包,将所述数据包作为所述第一数据包的相邻数据包。
3.根据权利要求1所述的方法,其特征在于,所述对所述目标数据包中的各关键帧进行回环检测,得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿,包括:
根据所述目标数据包的数据量大小,对所述目标数据包进行排序生成消息队列;
通过多台服务器依次从所述消息队列中获取所述目标数据包进行正向回环检测及反向回环检测,直到遍历完所述消息队列;
分别得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
接收点云数据采集设备发送的多个数据包;
将所采集的多个数据包分别拆分为点云帧,并从所述点云帧中按照预设距离规则筛选出关键帧。
5.根据权利要求4所述的方法,其特征在于,所述将所采集的多个数据包分别拆分为点云帧,包括:
对所采集到的多个数据包进行拆分,得到多个子数据包;
将所述多个子数据包进行处理;
对所述处理后的子数据包合成得到点云帧。
6.根据权利要求4所述的方法,其特征在于,在所述将所采集的多个数据包分别拆分为点云帧,并从所述点云帧中按照预设距离规则筛选出关键帧之后,还包括:
对所述关键帧进行去噪处理,得到去噪后的关键帧。
7.根据权利要求6所述的方法,其特征在于,所述对所述关键帧进行去噪处理包括:
对所述关键帧进行删除冗余帧、删除预设速度帧、删除掉头帧、删除无关帧中的至少一种处理。
8.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图,包括:
根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建不同密度的点云地图。
9.一种分布式点云地图构建装置,其特征在于,包括:
相邻数据包获取模块,用于根据第一数据包中的关键帧获取所述第一数据包的相邻数据包,所述数据包中包含点云数据;
目标数据包组合模块,用于将所述第一数据包与所述第一数据包的相邻数据包进行组合,得到目标数据包;
回环检测模块,用于对所述目标数据包中的各关键帧进行回环检测,得到所述目标数据包中的各关键帧与其他目标数据包中的每一个关键帧之间的第一相对位姿;
点云地图构建模块,用于根据所述目标数据包中各关键帧的绝对位姿、所述各关键帧与其他目标数据包中的每一个关键帧之间的相对位姿构建点云地图。
10.一种服务器,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的分布式点云地图构建方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的分布式点云地图构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010598295.2A CN111881233B (zh) | 2020-06-28 | 2020-06-28 | 分布式点云地图构建方法和装置、服务器、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010598295.2A CN111881233B (zh) | 2020-06-28 | 2020-06-28 | 分布式点云地图构建方法和装置、服务器、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881233A true CN111881233A (zh) | 2020-11-03 |
CN111881233B CN111881233B (zh) | 2022-01-18 |
Family
ID=73157175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010598295.2A Active CN111881233B (zh) | 2020-06-28 | 2020-06-28 | 分布式点云地图构建方法和装置、服务器、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881233B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022252482A1 (zh) * | 2021-05-31 | 2022-12-08 | 深圳市优必选科技股份有限公司 | 机器人及其环境地图构建方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108550318A (zh) * | 2018-03-12 | 2018-09-18 | 浙江大华技术股份有限公司 | 一种构建地图的方法及装置 |
CN109615698A (zh) * | 2018-12-03 | 2019-04-12 | 哈尔滨工业大学(深圳) | 基于互回环检测的多无人机slam地图融合算法 |
CN109816769A (zh) * | 2017-11-21 | 2019-05-28 | 深圳市优必选科技有限公司 | 基于深度相机的场景地图生成方法、装置及设备 |
CN109814572A (zh) * | 2019-02-20 | 2019-05-28 | 广州市山丘智能科技有限公司 | 移动机器人定位建图方法、装置、移动机器人和存储介质 |
US20190206124A1 (en) * | 2017-12-29 | 2019-07-04 | Baidu Online Network Technology (Beijing) Co., Ltd | Method and apparatus for creating map and positioning moving entity |
CN110197615A (zh) * | 2018-02-26 | 2019-09-03 | 北京京东尚科信息技术有限公司 | 用于生成地图的方法及装置 |
CN110887493A (zh) * | 2019-11-29 | 2020-03-17 | 上海有个机器人有限公司 | 基于局部地图匹配的轨迹推算方法、介质、终端和装置 |
-
2020
- 2020-06-28 CN CN202010598295.2A patent/CN111881233B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109816769A (zh) * | 2017-11-21 | 2019-05-28 | 深圳市优必选科技有限公司 | 基于深度相机的场景地图生成方法、装置及设备 |
US20190206124A1 (en) * | 2017-12-29 | 2019-07-04 | Baidu Online Network Technology (Beijing) Co., Ltd | Method and apparatus for creating map and positioning moving entity |
CN110197615A (zh) * | 2018-02-26 | 2019-09-03 | 北京京东尚科信息技术有限公司 | 用于生成地图的方法及装置 |
CN108550318A (zh) * | 2018-03-12 | 2018-09-18 | 浙江大华技术股份有限公司 | 一种构建地图的方法及装置 |
CN109615698A (zh) * | 2018-12-03 | 2019-04-12 | 哈尔滨工业大学(深圳) | 基于互回环检测的多无人机slam地图融合算法 |
CN109814572A (zh) * | 2019-02-20 | 2019-05-28 | 广州市山丘智能科技有限公司 | 移动机器人定位建图方法、装置、移动机器人和存储介质 |
CN110887493A (zh) * | 2019-11-29 | 2020-03-17 | 上海有个机器人有限公司 | 基于局部地图匹配的轨迹推算方法、介质、终端和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022252482A1 (zh) * | 2021-05-31 | 2022-12-08 | 深圳市优必选科技股份有限公司 | 机器人及其环境地图构建方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111881233B (zh) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111027401B (zh) | 一种摄像头和激光雷达融合的端到端目标检测方法 | |
CN109087510B (zh) | 交通监测方法及装置 | |
US20200401617A1 (en) | Visual positioning system | |
US20180365888A1 (en) | System and method for digital environment reconstruction | |
CN109598794B (zh) | 三维gis动态模型的构建方法 | |
CN110785719A (zh) | 在自动驾驶车辆中用于经由交叉时态验证的即时物体标记的方法和系统 | |
CN110869559A (zh) | 用于自动驾驶车辆中的集成的全局式与分布式学习的方法和系统 | |
CN112836657B (zh) | 一种基于轻量化YOLOv3的行人检测方法及系统 | |
CN113593017A (zh) | 露天矿地表三维模型构建方法、装置、设备及存储介质 | |
Sun et al. | Roads and intersections extraction from high-resolution remote sensing imagery based on tensor voting under big data environment | |
CN112733781A (zh) | 结合poi数据的城市功能区识别方法、存储介质和电子设备 | |
Kalantar et al. | Smart counting–oil palm tree inventory with UAV | |
CN112070870A (zh) | 点云地图评估方法、装置、计算机设备和存储介质 | |
Sameen et al. | A simplified semi-automatic technique for highway extraction from high-resolution airborne LiDAR data and orthophotos | |
CN113689393A (zh) | 一种基于图像和点云实例匹配的三维目标检测算法 | |
CN113284144A (zh) | 一种基于无人机的隧道检测方法及装置 | |
Zhang et al. | CFANet: Efficient detection of UAV image based on cross-layer feature aggregation | |
Duarte et al. | Detection of seismic façade damages with multi-temporal oblique aerial imagery | |
CN113688839B (zh) | 视频处理方法及装置、电子设备、计算机可读存储介质 | |
CN111881233B (zh) | 分布式点云地图构建方法和装置、服务器、计算机可读存储介质 | |
Eum et al. | Vehicle detection from airborne LiDAR point clouds based on a decision tree algorithm with horizontal and vertical features | |
CN110636248B (zh) | 目标跟踪方法与装置 | |
CN113848878B (zh) | 基于众源数据的室内外三维行人路网构建方法 | |
CN116051980A (zh) | 基于倾斜摄影的建筑识别方法、系统、电子设备及介质 | |
Riedl et al. | Importance of Contextual Information for the Detection of Road Damages |
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 |