CN113936109A - 高精地图点云数据的处理方法、装置、设备以及存储介质 - Google Patents

高精地图点云数据的处理方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113936109A
CN113936109A CN202111202137.1A CN202111202137A CN113936109A CN 113936109 A CN113936109 A CN 113936109A CN 202111202137 A CN202111202137 A CN 202111202137A CN 113936109 A CN113936109 A CN 113936109A
Authority
CN
China
Prior art keywords
point cloud
cloud data
frame
multiple frames
determining
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
Application number
CN202111202137.1A
Other languages
English (en)
Inventor
杨瀚
丁文东
秦莹莹
代洋洋
彭亮
万国伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111202137.1A priority Critical patent/CN113936109A/zh
Publication of CN113936109A publication Critical patent/CN113936109A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开提供了高精地图点云数据的处理方法、装置、设备以及存储介质,涉及数据处理领域,尤其涉及自动驾驶、高精地图、三维重建等技术领域。具体实现方案为:获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据;根据多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿;根据多帧第一点云数据以及多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据第一体素图对多帧第一点云数据各自对应的第一相对位姿进行更新,得到多帧第一点云数据各自对应的第二相对位姿;根据多帧第一点云数据各自对应的第二相对位姿,对多帧第一点云数据进行三维重建,得到第一场所对应的三维地图。本公开方案能够提高三维地图的精度。

Description

高精地图点云数据的处理方法、装置、设备以及存储介质
技术领域
本公开涉及数据处理领域,尤其涉及一种高精地图点云数据的处理方法、装置、设备以及存储介质,可用于自动驾驶、高精地图、三维重建等技术领域。
背景技术
高精地图也称高精度地图,可由自动驾驶汽车使用。高精地图,拥有精确的车辆位置信息和丰富的道路元素数据信息,可以帮助汽车预知路面复杂信息,如坡度、曲率、航向等,更好地规避潜在的风险。目前,三维重建技术可用于高精地图应用中。示例性的,可以对某个场所采集多帧点云数据,并对多帧点云数据进行三维重建,得到该场所的三维地图。
针对室外场所进行地图重建时,可以利用全球定位系统(Global PositioningSystem,GPS)获得各帧点云数据对应的全局位姿。进而,根据各帧点云数据对应的全局位姿对多帧点云数据进行配准,得到三维地图。针对室内场所或者无GPS覆盖的场所,由于无法利用GPS获得各帧点云数据对应的全局位姿,因此,需要首先确定各帧点云数据对应的相对位姿,进而根据相对位姿对多帧点云数据进行配准,得到三维地图。
然而,实际应用中,采用上述方式对室内场所或者无GPS覆盖的场所构建得到的三维地图的精度不高。
发明内容
本公开提供了一种高精地图点云数据的处理方法、装置、设备以及存储介质。
根据本公开的第一方面,提供了一种高精地图点云数据的处理方法,包括:
获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据;
根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿,所述第一相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿;
根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
根据本公开的第二方面,提供了一种高精地图点云数据的处理装置,包括:
获取模块,用于获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据;
确定模块,用于根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿,所述第一相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
更新模块,用于根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿;
三维重建模块,用于根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的一种应用场景的示意图;
图2为本公开实施例提供的一种高精地图点云数据的处理方法的流程示意图;
图3为本公开实施例提供的体素图的生成过程示意图;
图4为本公开实施例提供的另一种高精地图点云数据的处理方法的流程示意图;
图5为本公开实施例提供的又一种高精地图点云数据的处理方法的流程示意图;
图6为本公开实施例提供的对第一点云数据的分层示意图;
图7为本公开实施例提供的一种高精地图点云数据的处理过程的示意图;
图8为本公开实施例提供的一种高精地图点云数据的处理装置的结构示意图;
图9为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
首先,为了便于理解本公开的技术方案,首先对本公开涉及的概念和术语进行解释说明。
点云数据:通过测量仪器测量得到物体表面每个采样点的空间坐标,得到的是一个点的集合,称之为点云(Point Cloud)。点云数据中包括每个点的三维坐标,还可以包括其他信息,例如,激光反射强度信息、颜色信息等。本实施例中,上述测量仪器可以为激光雷达。
位姿:是指位置和姿态。通常而言,位置可以通过坐标、平移矩阵等参数来表示,姿态可以通过角度、旋转矩阵等参数来表示。
体素图:体素是指三维空间分割上的最小单位。体素图中可以包括多个体素。
K维树(K-Dimension tree,KD-tree):是一种空间划分的数据结构,常被用于高维空间中的搜索,比如范围搜索和最近邻搜索。KD-tree的构建就是按照某种顺序将无序化的点云进行有序化排列,方便进行快捷高效的检索。
下面结合图1描述本公开的应用场景。
图1为本公开实施例提供的一种应用场景的示意图。如图1所示,该应用场景示例了两个阶段,分别为地图生成阶段和地图使用阶段。
在地图生成阶段,地图生成设备可以生成场所A对应的三维地图。参见图1,地图生成设备可以获取多帧点云数据。一些示例中,上述点云数据是采集装置在场所A移动过程中采集得到的。示例性的,采集装置可以为激光雷达,或者为其他能够采集点云数据的装置。以激光雷达为例,上述多帧点云数据可以是采用如下方式采集得到的:车辆/机器人安装有激光雷达,车辆/机器人在场所A移动过程中,激光雷达对场所A进行数据采集得到多帧点云数据。
继续参见图1,地图生成设备对多帧点云数据进行三维重建处理,以生成场所A对应的三维地图。地图生成设备所生成的三维地图可以被存储在云端服务器中。
进一步的,继续参见图1,在地图使用阶段,终端设备可以从云端服务器获取该三维地图,并用于终端设备导航应用中。示例性的,用户携带终端设备在场所A移动(步行或者驾车等)过程中,终端设备可以通过导航应用显示该三维地图,并根据用户的目标地址,为用户规划一条移动路径,以便用户按照该移动路径到达目标地址。
其中,图1所示的地图生成设备可以为云端服务器中的装置,例如,地图生成设备可以为云端服务器中的处理器、芯片、芯片模组、模块或者单元等。地图生成设备还可以为独立于云端服务器的装置,例如,地图生成设备可以为具有一定计算能力的电脑、计算机、服务器等。
一些场景中,上述场所A为室外场所,例如,场所A为室外停车场、游乐场、动物园等,这些场所可以被GPS覆盖到,在采集点云数据时,可以利用GPS获得各帧点云数据对应的全局位姿。其中,一帧点云数据对应的全局位姿是指激光雷达在采集该帧点云数据时激光雷达在世界坐标系中的位姿。因此,可以根据各帧点云数据对应的全局位姿,对多帧点云数据进行配准处理,得到三维地图。
而另一些场景中,上述场所A为室内场所或者无GPS覆盖场所。例如,场所A为地下停车场、室内停车场、大型商场等。由于无法利用GPS获得各帧点云数据对应的全局位姿,因此,需要首先获取各帧点云数据对应的相对位姿,进而根据相对位姿对多帧点云数据进行配准,得到三维地图。
然而,实际应用中,针对室内场所或者无GPS覆盖场所,采用上述方式构建得到的三维地图的精度不高。
本公开提供一种高精地图点云数据的处理方法、装置、设备以及存储介质,应用于数据处理领域中的自动驾驶、高精地图、三维重建等技术领域,可用于构建室内场所或者无GPS覆盖场所对应的三维地图,以提高三维地图的精度。
在本公开方案中,在确定出各帧点云数据对应的相对位姿之后,可以根据各帧点云数据,对各帧点云数据对应的相对位姿进行全局范围内的优化处理,得到各帧点云数据优化后的相对位姿,进而,根据各帧点云数据优化后的相对位姿,对各帧点云数据进行三维重建处理,得到三维地图。上述过程中,由于对各帧点云数据对应的相对位姿进行了全局优化,使得各帧点云数据的相对位姿更加准确,因此,能够提高三维地图的精度。
下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本公开实施例提供的一种高精地图点云数据的处理方法的流程示意图。本实施例的方法可以由图1中的地图生成设备执行。如图2所示,本实施例的方法包括:
S201:获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据。
其中,第一场所为室内场所或者无GPS覆盖场所。例如,第一场所可以为地下车库、室内停车场、大型商场等。采集装置可以为激光雷达,或者为其他用于采集点云数据的装置。采集装置可以设置在车辆中或者设置在机器人中,采集装置随车辆/机器人在第一场所中移动,并采集得到多帧第一点云数据。
能够理解,本公开应用场景中,第一场所为室内场所或者无GPS覆盖场所,无法通过GPS获取第一点云数据对应的全局位姿,因此,本实施例中,第一点云数据对应的全局位姿是未知的。
S202:根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿,所述第一相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息。
也就是说,第i帧点云数据对应的第一相对位姿指示,采集装置采集第i帧点云数据时的位姿相对于采集第i-1帧点云数据时的位姿之间的位姿变化信息,i为大于1的自然数。
本公开实施例中的位姿是指位置和姿态。全局位姿可以采用激光雷达的绝对坐标和朝向来表示。相对位姿可以采用平移矩阵和旋转矩阵来表示。
需要说明的是,本实施例对于采用何种方式确定每帧第一点云数据对应的第一相对位姿,不做具体限定。示例性的,可以采用各种里程计技术来确定每帧第一点云数据对应的第一相对位姿。
S203:根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿。
本实施例中,S203用于对S202中确定出的各帧第一点云数据对应的第一相对位姿进行优化。本实施例对第一相对位姿进行优化时,采用全局优化的思想,即,在进行相对位姿优化时,参考所述多帧第一点云数据中的所有帧点云数据以及所有帧点云数据各自对应的第一相对位姿。通过对各帧第一点云数据对应的第一相对位姿进行全局优化,能够提高各帧第一点云数据的相对位姿的准确性。
本实施例中,对各帧第一点云数据对应的第一相对位姿进行优化的实现方式为:先根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图。其中,第一体素图中包括多个体素,每个体素可以视为一个立方体,多帧点云数据中具有相同或者相似特征的特征点关联到一个体素。每个体素具有体素特征,体素特征可以根据关联到该体素的各特征点计算得到。可见,本实施例中,第一体素图指示了多帧第一点云数据中的各特征点之间的相似关系。
应理解,本实施例中,第一体素图是根据所有帧的第一点云数据生成的,第一体素图也可以称为全局体素图,能够反映所有帧的第一点云数据的特征点的分布情况。
一些可能的实现方式中,针对每一帧第一点云数据,根据该帧第一点云数据对应的第一相对位姿,将该帧第一点云数据与第一体素图中的各体素进行配准处理,从而将该帧第一点云数据中的各特征点分别关联到第一体素图的某个体素中。对所述多帧第一点云数据,分别进行上述关联处理之后,生成第一体素图。
应理解的是,在生成第一体素图的过程中,若某个体素新增关联了特征点,则需要对该体素的体素特征进行更新。具体而言,根据该体素关联的所有特征点,计算该体素的体素特征,若体素特征不满足预设条件,则对该体素进行分割处理,即,将该体素分割为8个体素。
图3为本公开实施例提供的体素图的生成过程示意图。如图3中(a)所示,假设原始体素图中包括一个立方体。经过分割处理之后,得到8个立方体,如图3中(b)所示。经过再次分割处理之后,图3中(b)的部分立方体被分割为8个立方体,如图3中(c)所示。
进而,在生成第一体素图之后,根据第一体素图对多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿。示例性的,可以针对第一体素图中的每个体素,根据该体素关联的各特征点,构建约束关系,根据上述约束关系进行计算,得到各帧第一点云数据各自对应的第二相对位姿。
S204:根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
需要说明的是,对多帧第一点云数据进行三维重建的处理方式不做具体限定,例如,可以采用现有的各种配准技术实现。
本实施例提供的高精地图点云数据的处理方法,包括:获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据;根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿;根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿;根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。上述过程中,由于各帧第一点云数据对应的第二相对位姿,是根据第一体素图进行全局优化得到的,使得各帧第一点云数据对应的第二相对位姿的更加准确,因此,根据各帧第一点云数据对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,能够提高重建得到的三维地图的精度。
在上述实施例的基础上,下面结合一个具体的实施例,详细说明如何对第一点云数据对应的第一相对位姿进行全局优化。
图4为本公开实施例提供的另一种高精地图点云数据的处理方法的流程示意图。本实施例的方法可以作为图2中的S203的一种可能的实现方式。如图4所示,本实施例的方法包括:
S401:确定所述多帧第一点云数据中的线特征点和面特征点。
示例性的,可以针对每一帧点云数据,分别确定出该帧点云数据中的线特征点和面特征点。具体而言,每一帧点云数据中包括多个点,该帧点云数据可以视为多个点的集合。可以从该集合中确定出哪些点作为线特征点,以及哪些点作为面特征点。
一种可能的实现方式中,以第i帧点云数据为例,可以采用如下方式确定出第i帧点云数据中的线特征点和面特征点。
针对第i帧点云数据中的每个点,在第i帧点云数据中获取该点的多个(例如20个)近邻点。例如,可以采用k近邻算法确定出该点的多个近邻点。对多个近邻点进行奇异值分解(Singular Value Decomposition,SVD)计算,得到特征值λ1>λ2>λ3。
采用如下公式(1),得到该点的线特征值σ1D
Figure BDA0003305375220000091
采用如下公式(2),得到该点的的面特征值σ2D
Figure BDA0003305375220000092
根据第i帧点云数据中各点的线特征值σ1D,对第i帧点云数据中的各点进行非极大值抑制处理,确定出第i帧点云数据中的线特征点。一种可能的实现方式中,按照线特征值σ1D从大到小的顺序,对第i帧点云数据中的各点进行排序,得到排序结果。针对排序结果构建KD-tree。KD-tree中的第一个点的线特征值σ1D最大,从KD-tree中选取第一个点作为线特征点,并从第一个点开始按照KD-tree的结构进行半径搜索,将搜索到的点全部删除。经过上述过程,可以确定出第i帧点云数据中的线特征点。
根据第i帧点云数据中各点的面特征值σ2D,对第i帧点云数据中的各点进行非极大值抑制处理,确定出第i帧点云数据中的面特征点。一种可能的实现方式中,按照面特征值σ2D从大到小的顺序,对第i帧点云数据中的各点进行排序,得到排序结果。针对排序结果构建KD-tree。KD-tree中的第一个点的面特征值σ2D最大,从KD-tree中选取第一个点作为面特征点,并从第一个点开始按照KD-tree的结构进行半径搜索,将搜索到的点全部删除。经过上述过程,可以确定出第i帧点云数据中的面特征点。
S402:根据所述多帧第一点云数据中的线特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一线体素图。
本实施例中,由于第一线体素图是根据所有帧第一点云数据生成的,因此,第一线体素图可以称为全局线体素图。
一种可能的实现方式中,针对每一帧第一点云数据,根据该帧第一点云数据对应的第一相对位姿,对该帧第一点云数据中的线特征点进行调整,得到调整后的线特征点。对各帧第一点云数据中调整后的线特征点进行配准处理,得到线特征点配准结果。进而,根据线特征点配准结果,生成第一线体素图。
示例性的,第一线体素图的生成过程如下:将第一场所的空间划分为1*1*1米的体素。遍历线特征点配准结果中的每个线特征点,将该线特征点关联至某个体素中,并对该体素进行更新处理。更新处理过程如下:
(a1)对该体素关联的所有线特征点进行SVD计算,得到特征值λ1>λ2>λ3以及相应的特征向量v1,v2,v3。采用上述公式(1)计算该体素的线特征σ1D
(b1)若该体素的线特征σ1D大于或者等于第一阈值,根据该体素关联的所有线特征点,更新该体素的体素特征,用
Figure BDA0003305375220000101
和v1代表该体素的体素特征。该情况下,无需对该体素进行分割处理。其中,
Figure BDA0003305375220000102
为该体素关联的所有特征点的平均值。
(c1)若该体素的线特征σ1D小于第一阈值,则对该体素进行八叉树分割处理,即,将该体素分割为8个新体素。
针对每个新体素,重复执行上述步骤(a1),直至新体素的线特征σ1D大于或者等于第一阈值,无需分割;或者,直至该体素的分割次数大于预设次数,不再分割。
S403:根据所述多帧第一点云数据中的面特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一面体素图。
本实施例中,由于第一面体素图是根据所有帧第一点云数据生成的,因此,第一面体素图可以称为全局面体素图。
一种可能的实现方式中,针对每一帧第一点云数据,根据该帧第一点云数据对应的第一相对位姿,对该帧第一点云数据中的面特征点进行调整,得到调整后的面特征点。对各帧第一点云数据中调整后的面特征点进行配准处理,得到面特征点配准结果。进而,根据面特征点配准结果,生成第一面体素图。
示例性的,第一面体素图的生成过程如下:将第一场所的空间划分为1*1*1米的体素。遍历面特征点配准结果中的每个面特征点,将该面特征点关联至某个体素中,并对该体素进行更新处理。更新处理过程如下:
(a2)对该体素关联的所有面特征点进行SVD计算,得到特征值λ1>λ2>λ3以及相应的特征向量v1,v2,v3。采用上述公式(2)计算该体素的面特征σ2D
(b2)若该体素的面特征σ2D大于或者等于第二阈值,根据该体素关联的所有面特征点,更新该体素的体素特征,用
Figure BDA0003305375220000111
和v3代表该体素的体素特征。该情况下,无需对该体素进行分割处理。其中,
Figure BDA0003305375220000112
为该体素关联的所有特征点的平均值。
(c2)若该体素的面特征σ2D小于第二阈值,则对该体素进行八叉树分割处理,即,将该体素分割为8个新体素。
针对每个新体素,重复执行上述步骤(a2),直至新体素的面特征σ2D大于或者等于第二阈值,无需分割;或者,直至该体素的分割次数大于预设次数,不再分割。
S404:根据所述多帧第一点云数据中的线特征点和所述第一线体素图,确定第一点线约束关系。
本实施例中,可以针对第一线体素图中的每个体素,根据该体素关联的各线特征点与该体素的体素特征之间的距离,构建第一点线约束关系。
示例性的,第一点线约束关系可以如下述公式(3)所示:
Figure BDA0003305375220000113
其中,上述公式(3)中,q为第一线体素图中的某个体素的线特征,pi为该体素关联的第i个线特征点,N为该体素关联的线特征点的数量,n为该体素对应的线方向,T为位姿,q*、n*、T*分别表示q、n、T优化后的值。A为协方差矩阵,u3为协方差矩阵A的最小特征值对应的特征向量,
Figure BDA0003305375220000121
为体素关联的所有特征点的平均值。
S405:根据所述多帧第一点云数据中的面特征点和所述第一面体素图,确定第一点面约束关系。
本实施例中,可以针对第一面体素图中的每个体素,根据该体素关联的各面特征点与该体素特征之间的距离,构建第一点面约束关系。
示例性的,第一点面约束关系可以如下述公式(4)所示:
Figure BDA0003305375220000122
其中,上述公式(4)中,q为第一面体素图中的某个体素的面特征,pi为该体素关联的第i个线特征点,N为该体素关联的线特征点的数量,n为该体素面特征的法向量,T为位姿,q*、n*、T*分别表示q、n、T优化后的值。A为协方差矩阵,Tr(A)表示协方差矩阵A的秩,u1为协方差矩阵A的最大特征值对应的特征向量,
Figure BDA0003305375220000123
为体素关联的所有特征点的平均值,I为单位矩阵。
S406:根据所述第一点线约束关系和所述第一点面约束关系,对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿。
示例性的,可以根据上述公式(3)所示的第一点线约束关系和上述公式(4)所示的第一点面约束关系,进行线性优化,得到多帧第一点云数据各自对应的第二相对位姿。
本实施例中,通过根据所有帧第一点云数据,生成第一线体素图和第一面体素图,进而,根据第一线体素图和第一面体素图,对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿,实现了对所述多帧第一点云数据对应的相位位姿的全局优化,提高了所述多帧第一点云数据对应的相位位姿的准确性。
在上述任意实施例的基础上,下面结合一个更具体的实施例对本公开技术方案进行更详细的说明。
图5为本公开实施例提供的又一种高精地图点云数据的处理方法的流程示意图。如图5所示,本实施例的方法包括:
S501:获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据。
应理解,S501的具体实现方式与图2中的S201类似,此处不做赘述。
S502:根据所述多帧第一点云数据,确定每帧第一点云数据对应的第三相对位姿,所述第三相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息。
本实施例中,可以采用里程计技术确定每帧第一点云数据对应的第三相对位姿。需要说明的是,里程计技术有多种,本实施例对此不作限定。下面以基于scan to map的里程计技术为例进行说明。
示例性的,可以根据第i帧第一点云数据和第二体素图,确定所述第i帧第一点云数据对应的第三相对位姿;其中,所述第二体素图是根据所述第i帧之前的预设数量的第一点云数据生成的,所述i依次取1、2、3、…、N,所述N为所述多帧第一点云数据的总帧数。
举例而言,假设预设数量为20,则在确定第i帧第一点云数据对应的第三相对位姿时,可以先获取由第i帧之前的20帧第一点云数据生成的第二体素图,通过将第i帧第一点云数据与第二体素图进行配准,确定出第i帧第一点云数据对应的第三相对位姿。
上述的第二体素图是根据第i帧之前的预设数量帧第一点云数据生成的,而并不是根据所有帧第一点云数据生成的,因此,第二体素图也可以称为局部体素图。通过将每帧第一点云数据与局部体素图进行配准,确定该帧第一点云数据对应的第三相对位姿,能够提高处理效率。
一种可能的实现方式中,第二体素图包括:第二线体素图和第二面体素图。可以采用如下配准方式,确定第i帧第一点云数据对应的第三相对位姿:
(1)根据所述第i帧第一点云数据,确定所述第i帧第一点云数据中的线特征点和面特征点。
应理解,步骤(1)的实现方式可以参见上述实施例中的S401,此处不做赘述。
(2)根据所述第i帧第一点云数据中的线特征点和所述第二线体素图,确定第二点线约束关系。
(3)根据所述第i帧第一点云数据中的面特征点和所述第二面体素图,确定第二点面约束关系。
应理解,步骤(2)和(3)的实现方式可以参见上述实施例中的S404和S405,此处不做赘述。
(4)根据所述第二点线约束关系和所述第二点面约束关系,确定所述第i帧第一点云数据对应的第三相对位姿。
示例性的,根据上述第二点线约束关系和第二点面约束关系,进行线性优化,得到第i帧第一点云数据对应的第三相对位姿。
能够理解的,在利用第二体素图对第i帧第一点云数据进行配准的过程中,当第二体素图中的体素关联的特征点发生变化时,需要对第二体素图进行更新。对第二体素图进行更新的过程与上述实施例中S402中描述的第一体素图的更新过程类似,此处不做赘述。
一些应用场景中,第一场所可能包括多层空间。例如,第一场所为多层商场或者多层车库等。当第一场所包括多层空间时,需要针对每一层空间分别构建三维地图。下述S503用于对多帧第一点云数据进行分层处理,以确定出哪些帧位于第一层,哪些帧位于第二层,等。下述S504用于针对每一层空间,对该层空间中的第一点云数据的第三相对位姿进行优化,得到第一点云数据的第一相对位姿。
应理解,当第一场所为单层空间时,无需执行S503,直接执行S504即可。
S503:根据所述多帧第一点云数据各自对应的第三相对位姿,从所述多帧第一点云数据中分别确定所述第一场所的每一层空间对应的第一点云数据。
示例性的,图6为本公开实施例提供的对第一点云数据的分层示意图。以第一场所包括两层空间为例,如图6所示,黑色圆点示例的是S502中确定出的各帧第一点云数据对应的第三相对位姿。可以在第一层空间和第二层空间之间的通道中间确定出分界线。这样,采集装置的移动轨迹被分界线划分为若干段。位于分界线之上归于上层空间,位于分界线之下的归于下层空间。
S504:根据每一层空间对应的第一点云数据,对该层空间中的第一点云数据各自对应的第三相对位姿进行更新,得到该层空间中的第一点云数据各自对应的第一相对位姿。
本实施例中,可以以每一层空间为处理粒度,对该层空间内的各第一点云数据对应的第三相对位姿进行优化,进一步提高相对位姿的准确性。
一种可能的实现方式中,可以采用如下方式将第三相对位姿优化为第一相对位姿:
(1)根据每一层空间对应的第一点云数据,确定所述采集装置在该层空间移动的至少一个轨迹环,每个轨迹环中包括起始帧第一点云数据、终止帧第一点云数据以及至少一个中间帧第一点云数据。
一个示例中,可以采用如下方式确定出一个轨迹环:若该层空间对应的第一点云数据中存在第k帧第一点云数据和第k+p帧第一点云数据,则将所述第k帧第一点云数据确定为所述轨迹环中的起始帧第一点云数据,将所述第k+p帧第一点云数据确定为所述轨迹环中的终止帧第一点云数据,将所述第k帧与第k+p帧之间的第一点云数据确定为所述轨迹环中的中间帧第一点云数据,所述k和所述p为自然数。其中,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k+p帧第一点云数据的采集时刻与所述第k帧第一点云数据的采集时刻之差大于或等于第二阈值。
另一个示例中,可以采用如下方式确定出一个轨迹环:若该层空间对应的第一点云数据中存在第k帧第一点云数据和第k+p帧第一点云数据,则将所述第k帧第一点云数据确定为所述轨迹环中的起始帧第一点云数据,将所述第k+p帧第一点云数据确定为所述轨迹环中的终止帧第一点云数据,将所述第k帧与第k+p帧之间的第一点云数据确定为所述轨迹环中的中间帧第一点云数据,所述k和所述p为自然数;其中,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿位于该层空间的边界线上。
可选的,在确定轨迹环之前,还可以对多帧第一点云数据对应的第三相对位姿进行过滤处理。例如,若第k帧第一点云数据对应的第三相对位姿与第i帧第一点云数据之间的第三相对位姿之间的距离小于预设阈值,则可以将第k帧第一点云数据对应的第三相对位姿删除,这样在确定轨迹环时,可以减小计算量,提高处理效率。
(2)根据每个轨迹环中的所述起始帧第一点云数据和所述终止帧第一点云数据,对该轨迹环中的第一点云数据各自对应的第三相对位姿进行更新,得到该轨迹环中的第一点云数据各自对应的第一相对位姿。
示例性的,在进行相对位姿更新时,可以采用基于位姿图(pose graph)的优化方式。
可选的,在步骤(1)确定出多个轨迹环的情况下,还可以针对每个轨迹环的起始帧和终止帧进行配准处理,得到配准得分。若配准得分小于预设阈值,说明该轨迹环并不是真正的轨迹环,可以将该轨迹环删除。若配准得分大于或等于预设阈值,则说明该轨迹环为真正的轨迹环,将该轨迹环保留。这样步骤(2)中只需要针对保留下来的轨迹环进行处理,一方面能够提高处理效率,另一方面,能够保证位姿优化结果的准确性。
S505:根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿。
应理解,S505的具体实现方式可以参见图3中的S303或者图4所示实施例的详细描述,此处不做赘述。
S506:获取多帧第二点云数据各自对应的全局位姿,所述第二点云数据为所述采集装置在所述第一场所的入口和/或出口附近预设范围内移动过程中采集得到的。
本实施例的应用场景中,第一场所的入口和/或出口附近预设范围内存在GPS覆盖,采集装置在第一场所的入口和/或出口附近预设范围内移动时采集到第二点云数据,利用GPS是能够获取第二点云数据对应的全局位姿的。因此,本实施例中,可以利用第二点云数据对应的全局位姿,确定出各帧第一点云数据对应的全局位姿。
S507:根据所述多帧第一点云数据各自对应的第二相对位姿、以及所述多帧第二点云数据对应的全局位姿,确定所述多帧第一点云数据各自对应的全局位姿。
一种可能的实现方式中,可以采用如下方式确定多帧第一点云数据各自对应的全局位姿:根据所述多帧第一点云数据各自对应的第二相对位姿,确定所述采集装置的第一移动轨迹,以及根据所述多帧第二点云数据各自对应的全局位姿,确定所述采集装置的第二移动轨迹;对所述第一移动轨迹和所述第二移动轨迹进行配准处理,得到配准结果,所述配准结果用于指示至少部分第一点云数据与至少部分第二点云数据之间的配准关系;根据所述多帧第一点云数据各自对应的第二相对位姿、所述多帧第二点云数据各自对应的全局位姿、以及所述配准结果,确定所述多帧第一点云数据各自对应的全局位姿。
示例性的,具体实现过程中,可以根据各帧第二点云数据对应的时间戳,在各帧第一点云数据中找到与上述时间戳接近的若干帧第一点云数据。根据挑选出的若干帧第一点云数据对应的第二相对位姿插值得到第一移动轨迹,根据各帧第二点云数据对应的全局位姿插值得到第二移动轨迹。进而,通过对第一移动轨迹和第二移动轨迹进行配准处理,得到至少部分第一点云数据与至少部分第二点云数据之间的配准关系。这样,可以基于该配准关系,确定出各帧第一点云数据对应的全局位姿。
S508:根据所述多帧第一点云数据各自对应的全局位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
本实施例中,在确定出各帧第一点云数据对应的全局位姿之后,可以根据全局位姿,对各帧第一点云数据进行三维重建,得到第一场所对应的三维地图,具体重建方式与室外场景的三维重建方式类似,此处不做详述。
图7为本公开实施例提供的一种高精地图点云数据的处理过程的示意图。如图7所示,本实施例对高精地图点云数据的处理过程包括如下三个过程:
过程1:根据多帧第一点云数据,确定出各帧第一点云数据对应的相对位姿。
具体而言,以第i帧第一点云数据为例,对第i帧第一点云数据提取特征点,对特征点和局部体素图进行配准,得到第i帧第一点云数据的相对位姿。进一步的,根据配准结果,对局部体素图进行更新,并基于局部体素图对第一点云数据对应的相对位姿进行优化。此处的优化采用基于bundle adjustment的优化方式。在过程1中,局部体素图即为上述实施例中的第二体素图,例如,可以包括第二线体素图和第二面体素图,相应的,特征点可以包括线特征点和面特征点。
本实施例中,过程1可以对应图5所示实施例中的S502。过程1确定出的相对位姿可以对应图5所示实施例中的第三相对位姿。
过程2:对各帧第一点云数据对应的相对位姿进行优化处理。
具体而言,当第一场所包括多层空间时,对各帧第一点云数据对应的相对位姿进行分层处理,得到每一层空间中的相对位姿。然后,针对每一层空间,确定轨迹环,进而根据轨迹环进行配准处理,根据配准结果以及位姿图(pose graph),对相对位姿进行优化处理。
本实施例中,过程2可以对应图5所示实施例中S503-S504。过程2优化得到的相对位姿可以对应图5所示实施例中的第一相对位姿。
过程3:对各帧第一点云数据对应的相对位姿进行全局优化,并转换为全局位姿。
具体而言,根据所有帧第一点云数据,生成全局体素图,基于全局体素图各帧第一点云数据对应的相对位姿进行全局优化处理。进一步的,利用具有全局位姿的第二点云数据(例如在第一场所的入口和/或出口附近预设范围内采集到的点云数据),以及第二点云数据与第一点云数据之间的配准关系,将各帧第一点云数据的相对位姿转换为全局位姿。在过程3中,全局体素图即为上述实施例中的第一体素图,例如,可以包括第一线体素图和第一面体素图。
本实施例中,过程3可以对应图5所示实施例中的S505-S507。其中,利用全局体素图优化得到的相对位姿可以对应图5所示实施例中的第二相对位姿,进而将第二相对位姿转换为全局位姿。
过程4:根据各帧第一点云数据对应的全局位姿,对各帧第一点云数据进行三维重建,得到第一场所对应的三维地图。
本实施例中,过程4可以对应图5所示实施例中的S508。
本实施例中,在过程1中,通过利用局部体素图对第一点云数据对应的相对位姿进行优化,提高了确定出的相对位姿的准确性。在过程2中,通过对相对位姿进行分层处理,使得可以针对每一层空间分别重建三维地图,从而可用于对包括多层空间的场所进行建图。另外,在过程3中,通过利用全局体素图对各帧第一点云数据对应的相对位姿进行全局优化,避免了里程计算法导致的累积误差,提高了第一点云数据的相对位姿的准确性,进而,能够提高构建得到的三维地图的精度。
图8为本公开实施例提供的一种高精地图点云数据的处理装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式。如图8所示,本实施例提供的高精地图点云数据的处理装置800,包括:获取模块801、确定模块802、更新模块803和三维重建模块804。其中,
获取模块801,用于获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据;
确定模块802,用于根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿,所述第一相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
更新模块803,用于根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿;
三维重建模块804,用于根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
一种可能的实现方式中,所述第一体素图包括:第一线体素图和第一面体素图;所述更新模块803包括:
第一确定单元,用于确定所述多帧第一点云数据中的线特征点和面特征点;
第一生成单元,用于根据所述多帧第一点云数据中的线特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一线体素图;
第二生成单元,用于根据所述多帧第一点云数据中的面特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一面体素图。
一种可能的实现方式中,所述更新模块803还包括:
第二确定单元,用于根据所述多帧第一点云数据中的线特征点和所述第一线体素图,确定第一点线约束关系;
第三确定单元,用于根据所述多帧第一点云数据中的面特征点和所述第一面体素图,确定第一点面约束关系;
第一更新单元,用于根据所述第一点线约束关系和所述第一点面约束关系,对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿。
一种可能的实现方式中,所述三维重建模块804包括:
获取单元,用于获取多帧第二点云数据各自对应的全局位姿,所述第二点云数据为所述采集装置在所述第一场所的入口和/或出口附近预设范围内移动过程中采集得到的;
第四确定单元,用于根据所述多帧第一点云数据各自对应的第二相对位姿、以及所述多帧第二点云数据对应的全局位姿,确定所述多帧第一点云数据各自对应的全局位姿;
三维重建单元,用于根据所述多帧第一点云数据各自对应的全局位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
一种可能的实现方式中,所述第四确定单元包括:
第一确定子单元,用于根据所述多帧第一点云数据各自对应的第二相对位姿,确定所述采集装置的第一移动轨迹,以及根据所述多帧第二点云数据各自对应的全局位姿,确定所述采集装置的第二移动轨迹;
配准子单元,用于对所述第一移动轨迹和所述第二移动轨迹进行配准处理,得到配准结果,所述配准结果用于指示至少部分第一点云数据与至少部分第二点云数据之间的配准关系;
第二确定子单元,用于根据所述多帧第一点云数据各自对应的第二相对位姿、所述多帧第二点云数据各自对应的全局位姿、以及所述配准结果,确定所述多帧第一点云数据各自对应的全局位姿。
一种可能的实现方式中,所述第一场所包括多层空间;所述确定模块802包括:
第五确定单元,用于根据所述多帧第一点云数据,确定每帧第一点云数据对应的第三相对位姿,所述第三相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
第六确定单元,用于根据所述多帧第一点云数据各自对应的第三相对位姿,从所述多帧第一点云数据中分别确定所述第一场所的每一层空间对应的第一点云数据;
第二更新单元,用于根据每一层空间对应的第一点云数据,对该层空间中的第一点云数据各自对应的第三相对位姿进行更新,得到该层空间中的第一点云数据各自对应的第一相对位姿。
一种可能的实现方式中,所述第二更新单元包括:
第三确定子单元,用于根据每一层空间对应的第一点云数据,确定所述采集装置在该层空间移动的至少一个轨迹环,每个轨迹环中包括起始帧第一点云数据、终止帧第一点云数据以及至少一个中间帧第一点云数据;
更新子单元,用于根据每个轨迹环中的所述起始帧第一点云数据和所述终止帧第一点云数据,对该轨迹环中的第一点云数据各自对应的第三相对位姿进行更新,得到该轨迹环中的第一点云数据各自对应的第一相对位姿。
一种可能的实现方式中,所述第三确定子单元具体用于:
若该层空间对应的第一点云数据中存在第k帧第一点云数据和第k+p帧第一点云数据,则将所述第k帧第一点云数据确定为所述轨迹环中的起始帧第一点云数据,将所述第k+p帧第一点云数据确定为所述轨迹环中的终止帧第一点云数据,将所述第k帧与第k+p帧之间的第一点云数据确定为所述轨迹环中的中间帧第一点云数据,所述k和所述p为自然数;
其中,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k+p帧第一点云数据的采集时刻与所述第k帧第一点云数据的采集时刻之差大于或等于第二阈值;或者,
所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿位于该层空间的边界线上。
一种可能的实现方式中,所述第五确定单元具体用于:
根据第i帧第一点云数据和第二体素图,确定所述第i帧第一点云数据对应的第三相对位姿;其中,所述第二体素图是根据所述第i帧之前的预设数量的第一点云数据生成的,所述i依次取1、2、3、…、N,所述N为所述多帧第一点云数据的总帧数。
一种可能的实现方式中,述第二体素图包括:第二线体素图和第二面体素图;所述第五确定单元具体用于:
根据所述第i帧第一点云数据,确定所述第i帧第一点云数据中的线特征点和面特征点;
根据所述第i帧第一点云数据中的线特征点和所述第二线体素图,确定第二点线约束关系;
根据所述第i帧第一点云数据中的面特征点和所述第二面体素图,确定第二点面约束关系;
根据所述第二点线约束关系和所述第二点面约束关系,确定所述第i帧第一点云数据对应的第三相对位姿。
本实施例提供的高精地图点云数据的处理装置,可用于执行上述任一方法实施例提供的高精地图点云数据的处理方法,其实现原理和技术效果类似,此处不做赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如高精地图点云数据的处理方法。例如,在一些实施例中,高精地图点云数据的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的高精地图点云数据的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行高精地图点云数据的处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (23)

1.一种高精地图点云数据的处理方法,包括:
获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据;
根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿,所述第一相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿;
根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
2.根据权利要求1所述的方法,其中,所述第一体素图包括:第一线体素图和第一面体素图;根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,包括:
确定所述多帧第一点云数据中的线特征点和面特征点;
根据所述多帧第一点云数据中的线特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一线体素图;
根据所述多帧第一点云数据中的面特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一面体素图。
3.根据权利要求2所述的方法,其中,根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿,包括:
根据所述多帧第一点云数据中的线特征点和所述第一线体素图,确定第一点线约束关系;
根据所述多帧第一点云数据中的面特征点和所述第一面体素图,确定第一点面约束关系;
根据所述第一点线约束关系和所述第一点面约束关系,对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿。
4.根据权利要求1至3任一项所述的方法,其中,根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图,包括:
获取多帧第二点云数据各自对应的全局位姿,所述第二点云数据为所述采集装置在所述第一场所的入口和/或出口附近预设范围内移动过程中采集得到的;
根据所述多帧第一点云数据各自对应的第二相对位姿、以及所述多帧第二点云数据对应的全局位姿,确定所述多帧第一点云数据各自对应的全局位姿;
根据所述多帧第一点云数据各自对应的全局位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
5.根据权利要求4所述的方法,其中,根据所述多帧第一点云数据各自对应的第二相对位姿、以及所述多帧第二点云数据对应的全局位姿,确定所述多帧第一点云数据各自对应的全局位姿,包括:
根据所述多帧第一点云数据各自对应的第二相对位姿,确定所述采集装置的第一移动轨迹,以及根据所述多帧第二点云数据各自对应的全局位姿,确定所述采集装置的第二移动轨迹;
对所述第一移动轨迹和所述第二移动轨迹进行配准处理,得到配准结果,所述配准结果用于指示至少部分第一点云数据与至少部分第二点云数据之间的配准关系;
根据所述多帧第一点云数据各自对应的第二相对位姿、所述多帧第二点云数据各自对应的全局位姿、以及所述配准结果,确定所述多帧第一点云数据各自对应的全局位姿。
6.根据权利要求1至5任一项所述的方法,其中,所述第一场所包括多层空间;根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿,包括:
根据所述多帧第一点云数据,确定每帧第一点云数据对应的第三相对位姿,所述第三相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
根据所述多帧第一点云数据各自对应的第三相对位姿,从所述多帧第一点云数据中分别确定所述第一场所的每一层空间对应的第一点云数据;
根据每一层空间对应的第一点云数据,对该层空间中的第一点云数据各自对应的第三相对位姿进行更新,得到该层空间中的第一点云数据各自对应的第一相对位姿。
7.根据权利要求6所述的方法,其中,根据每一层空间对应的第一点云数据,对该层空间中的第一点云数据各自对应的第三相对位姿进行更新,得到该层空间中的第一点云数据各自对应的第一相对位姿,包括:
根据每一层空间对应的第一点云数据,确定所述采集装置在该层空间移动的至少一个轨迹环,每个轨迹环中包括起始帧第一点云数据、终止帧第一点云数据以及至少一个中间帧第一点云数据;
根据每个轨迹环中的所述起始帧第一点云数据和所述终止帧第一点云数据,对该轨迹环中的第一点云数据各自对应的第三相对位姿进行更新,得到该轨迹环中的第一点云数据各自对应的第一相对位姿。
8.根据权利要求7所述的方法,其中,根据每一层空间对应的第一点云数据,确定所述采集装置在该层空间移动的至少一个轨迹环,包括:
若该层空间对应的第一点云数据中存在第k帧第一点云数据和第k+p帧第一点云数据,则将所述第k帧第一点云数据确定为所述轨迹环中的起始帧第一点云数据,将所述第k+p帧第一点云数据确定为所述轨迹环中的终止帧第一点云数据,将所述第k帧与第k+p帧之间的第一点云数据确定为所述轨迹环中的中间帧第一点云数据,所述k和所述p为自然数;
其中,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k+p帧第一点云数据的采集时刻与所述第k帧第一点云数据的采集时刻之差大于或等于第二阈值;或者,
所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿位于该层空间的边界线上。
9.根据权利要求6至8任一项所述的方法,其中,根据所述多帧第一点云数据,确定每帧第一点云数据对应的第三相对位姿,包括:
根据第i帧第一点云数据和第二体素图,确定所述第i帧第一点云数据对应的第三相对位姿;其中,所述第二体素图是根据所述第i帧之前的预设数量的第一点云数据生成的,所述i依次取1、2、3、…、N,所述N为所述多帧第一点云数据的总帧数。
10.根据权利要求9所述的方法,其中,所述第二体素图包括:第二线体素图和第二面体素图;根据第i帧第一点云数据和第二体素图,确定所述第i帧第一点云数据对应的第三相对位姿,包括:
根据所述第i帧第一点云数据,确定所述第i帧第一点云数据中的线特征点和面特征点;
根据所述第i帧第一点云数据中的线特征点和所述第二线体素图,确定第二点线约束关系;
根据所述第i帧第一点云数据中的面特征点和所述第二面体素图,确定第二点面约束关系;
根据所述第二点线约束关系和所述第二点面约束关系,确定所述第i帧第一点云数据对应的第三相对位姿。
11.一种高精地图点云数据的处理装置,包括:
获取模块,用于获取采集装置在第一场所移动过程中采集得到的多帧第一点云数据;
确定模块,用于根据所述多帧第一点云数据,确定每帧第一点云数据对应的第一相对位姿,所述第一相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
更新模块,用于根据所述多帧第一点云数据以及所述多帧第一点云数据各自对应的第一相对位姿,生成第一体素图,并根据所述第一体素图对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿;
三维重建模块,用于根据所述多帧第一点云数据各自对应的第二相对位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
12.根据权利要求11所述的装置,其中,所述第一体素图包括:第一线体素图和第一面体素图;所述更新模块包括:
第一确定单元,用于确定所述多帧第一点云数据中的线特征点和面特征点;
第一生成单元,用于根据所述多帧第一点云数据中的线特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一线体素图;
第二生成单元,用于根据所述多帧第一点云数据中的面特征点和所述多帧第一点云数据各自对应的第一相对位姿,生成所述第一面体素图。
13.根据权利要求12所述的装置,其中,所述更新模块还包括:
第二确定单元,用于根据所述多帧第一点云数据中的线特征点和所述第一线体素图,确定第一点线约束关系;
第三确定单元,用于根据所述多帧第一点云数据中的面特征点和所述第一面体素图,确定第一点面约束关系;
第一更新单元,用于根据所述第一点线约束关系和所述第一点面约束关系,对所述多帧第一点云数据各自对应的第一相对位姿进行更新,得到所述多帧第一点云数据各自对应的第二相对位姿。
14.根据权利要求11至13任一项所述的装置,其中,所述三维重建模块包括:
获取单元,用于获取多帧第二点云数据各自对应的全局位姿,所述第二点云数据为所述采集装置在所述第一场所的入口和/或出口附近预设范围内移动过程中采集得到的;
第四确定单元,用于根据所述多帧第一点云数据各自对应的第二相对位姿、以及所述多帧第二点云数据对应的全局位姿,确定所述多帧第一点云数据各自对应的全局位姿;
三维重建单元,用于根据所述多帧第一点云数据各自对应的全局位姿,对所述多帧第一点云数据进行三维重建,得到所述第一场所对应的三维地图。
15.根据权利要求14所述的装置,其中,所述第四确定单元包括:
第一确定子单元,用于根据所述多帧第一点云数据各自对应的第二相对位姿,确定所述采集装置的第一移动轨迹,以及根据所述多帧第二点云数据各自对应的全局位姿,确定所述采集装置的第二移动轨迹;
配准子单元,用于对所述第一移动轨迹和所述第二移动轨迹进行配准处理,得到配准结果,所述配准结果用于指示至少部分第一点云数据与至少部分第二点云数据之间的配准关系;
第二确定子单元,用于根据所述多帧第一点云数据各自对应的第二相对位姿、所述多帧第二点云数据各自对应的全局位姿、以及所述配准结果,确定所述多帧第一点云数据各自对应的全局位姿。
16.根据权利要求11至15任一项所述的装置,其中,所述第一场所包括多层空间;所述确定模块包括:
第五确定单元,用于根据所述多帧第一点云数据,确定每帧第一点云数据对应的第三相对位姿,所述第三相对位姿用于指示所述采集装置采集该帧第一点云数据相对于采集该帧第一点云数据的上一帧第一点云数据的位姿变化信息;
第六确定单元,用于根据所述多帧第一点云数据各自对应的第三相对位姿,从所述多帧第一点云数据中分别确定所述第一场所的每一层空间对应的第一点云数据;
第二更新单元,用于根据每一层空间对应的第一点云数据,对该层空间中的第一点云数据各自对应的第三相对位姿进行更新,得到该层空间中的第一点云数据各自对应的第一相对位姿。
17.根据权利要求16所述的装置,其中,所述第二更新单元包括:
第三确定子单元,用于根据每一层空间对应的第一点云数据,确定所述采集装置在该层空间移动的至少一个轨迹环,每个轨迹环中包括起始帧第一点云数据、终止帧第一点云数据以及至少一个中间帧第一点云数据;
更新子单元,用于根据每个轨迹环中的所述起始帧第一点云数据和所述终止帧第一点云数据,对该轨迹环中的第一点云数据各自对应的第三相对位姿进行更新,得到该轨迹环中的第一点云数据各自对应的第一相对位姿。
18.根据权利要求17所述的装置,其中,所述第三确定子单元具体用于:
若该层空间对应的第一点云数据中存在第k帧第一点云数据和第k+p帧第一点云数据,则将所述第k帧第一点云数据确定为所述轨迹环中的起始帧第一点云数据,将所述第k+p帧第一点云数据确定为所述轨迹环中的终止帧第一点云数据,将所述第k帧与第k+p帧之间的第一点云数据确定为所述轨迹环中的中间帧第一点云数据,所述k和所述p为自然数;
其中,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k+p帧第一点云数据的采集时刻与所述第k帧第一点云数据的采集时刻之差大于或等于第二阈值;或者,
所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿之间的距离小于或等于第一阈值,且,所述第k帧第一点云数据对应的第三相对位姿与所述第k+p帧第一点云数据对应的第三相对位姿位于该层空间的边界线上。
19.根据权利要求16至18任一项所述的装置,其中,所述第五确定单元具体用于:
根据第i帧第一点云数据和第二体素图,确定所述第i帧第一点云数据对应的第三相对位姿;其中,所述第二体素图是根据所述第i帧之前的预设数量的第一点云数据生成的,所述i依次取1、2、3、…、N,所述N为所述多帧第一点云数据的总帧数。
20.根据权利要求19所述的装置,其中,述第二体素图包括:第二线体素图和第二面体素图;所述第五确定单元具体用于:
根据所述第i帧第一点云数据,确定所述第i帧第一点云数据中的线特征点和面特征点;
根据所述第i帧第一点云数据中的线特征点和所述第二线体素图,确定第二点线约束关系;
根据所述第i帧第一点云数据中的面特征点和所述第二面体素图,确定第二点面约束关系;
根据所述第二点线约束关系和所述第二点面约束关系,确定所述第i帧第一点云数据对应的第三相对位姿。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至10中任一项所述方法的步骤。
CN202111202137.1A 2021-10-15 2021-10-15 高精地图点云数据的处理方法、装置、设备以及存储介质 Pending CN113936109A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111202137.1A CN113936109A (zh) 2021-10-15 2021-10-15 高精地图点云数据的处理方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111202137.1A CN113936109A (zh) 2021-10-15 2021-10-15 高精地图点云数据的处理方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN113936109A true CN113936109A (zh) 2022-01-14

Family

ID=79279898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111202137.1A Pending CN113936109A (zh) 2021-10-15 2021-10-15 高精地图点云数据的处理方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113936109A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118115685A (zh) * 2024-03-14 2024-05-31 重庆赛力斯凤凰智创科技有限公司 仿真场景生成、测试方法、装置、设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118115685A (zh) * 2024-03-14 2024-05-31 重庆赛力斯凤凰智创科技有限公司 仿真场景生成、测试方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
EP3505869B1 (en) Method, apparatus, and computer readable storage medium for updating electronic map
CN111968229A (zh) 高精度地图制图方法及装置
EP4116935B1 (en) High-definition map creation method and device, and electronic device
CN114387319B (zh) 点云配准方法、装置、设备以及存储介质
CN113377888A (zh) 训练目标检测模型和检测目标的方法
CN114034295A (zh) 高精地图生成方法、装置、电子设备、介质及程序产品
CN113298910A (zh) 生成交通标志线地图的方法、设备和存储介质
CN113920217A (zh) 用于生成高精地图车道线的方法、装置、设备和产品
CN114648676A (zh) 点云处理模型的训练和点云实例分割方法及装置
CN112884837A (zh) 道路定位方法、装置、设备及存储介质
CN114626169A (zh) 交通路网优化方法、装置、设备、可读存储介质及产品
CN114186007A (zh) 高精地图生成方法、装置、电子设备和存储介质
CN113724388A (zh) 高精地图的生成方法、装置、设备以及存储介质
CN115797565A (zh) 三维重建模型训练方法、三维重建方法、装置及电子设备
CN113932796A (zh) 高精地图车道线生成方法、装置和电子设备
Wu et al. A non-rigid hierarchical discrete grid structure and its application to UAVs conflict detection and path planning
CN114187357A (zh) 一种高精地图的生产方法、装置、电子设备及存储介质
CN114111813A (zh) 高精地图元素更新方法、装置、电子设备及存储介质
CN114299242A (zh) 高精地图中图像处理方法、装置、设备以及存储介质
CN113936109A (zh) 高精地图点云数据的处理方法、装置、设备以及存储介质
CN114661842A (zh) 地图匹配方法、装置和电子设备
CN115239899B (zh) 位姿图生成方法、高精地图生成方法和装置
CN115790621A (zh) 高精地图更新方法、装置及电子设备
CN116520302A (zh) 应用于自动驾驶系统的定位方法和构建三维地图的方法
CN114170300A (zh) 高精地图点云位姿优化方法、装置、设备及介质

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