三维点云道路数据融合方法、装置及存储介质转让专利

申请号 : CN201810685390.9

文献号 : CN108986061B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 种道晨张宇智刘玉亭

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本发明公开了三维点云道路数据融合方法、装置及存储介质,其中方法包括:获取针对同一道路至少两次采集到的三维点云道路数据;选取其中的一条三维点云道路数据作为基准数据;针对未作为基准数据的每条三维点云道路数据,分别进行以下处理:对该三维点云道路数据进行切割;基于基准数据,分别确定出切割得到的各数据块对应的变形矩阵;将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。应用本发明所述方案,能够减少工作量等。

权利要求 :

1.一种三维点云道路数据融合方法,其特征在于,包括:获取针对同一道路至少两次采集到的三维点云道路数据;

选取其中的一条三维点云道路数据作为基准数据;

针对未作为基准数据的每条三维点云道路数据,分别进行以下处理:对未作为基准数据的所述三维点云道路数据进行切割;

基于所述基准数据,分别确定出切割得到的各数据块对应的变形矩阵,包括:将切割得到的各数据块分别与所述基准数据中的对应数据块进行点云匹配,从切割得到的各数据块中筛选出匹配效果符合要求的关键数据块,获取所述关键数据块的变形矩阵,根据所述关键数据块的变形矩阵确定出非关键数据块的变形矩阵;

将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。

2.根据权利要求1所述的方法,其特征在于,

所述选取其中的一条三维点云道路数据作为基准数据之前,进一步包括:对采集到的三维点云道路数据进行降噪处理。

3.根据权利要求1所述的方法,其特征在于,

所述对未作为基准数据的所述三维点云道路数据进行切割包括:按照预定长度,沿道路方向对未作为基准数据的所述三维点云道路数据进行切割,得到长度为所述预定长度的数据块。

4.根据权利要求1所述的方法,其特征在于,

所述将切割得到的各数据块分别与所述基准数据中的对应数据块进行点云匹配包括:针对切割得到的每个数据块,分别根据所述数据块的全球定位系统GPS位置信息,从所述基准数据中提取出所述数据块的对应数据块,将所述数据块与所述对应数据块进行点云匹配。

5.根据权利要求1所述的方法,其特征在于,

所述从切割得到的各数据块中筛选出匹配效果符合要求的关键数据块包括:针对切割得到的每个数据块,分别获取所述数据块与相邻的前一数据块中的临近点在匹配之后的残差之和以及所述数据块与相邻的后一数据块中的临近点在匹配之后的残差之和,若均小于预定阈值,则将所述数据块判定为关键数据块。

6.根据权利要求1所述的方法,其特征在于,

所述根据所述关键数据块的变形矩阵确定出非关键数据块的变形矩阵包括:针对每个关键数据块,分别确定出与所述关键数据块相邻的下一关键数据块,根据所述关键数据块与所述相邻的下一关键数据块的变形矩阵,确定出位于两个关键数据块之间的各非关键数据块的变形矩阵。

7.根据权利要求6所述的方法,其特征在于,

所述确定出位于两个关键数据块之间的各非关键数据块的变形矩阵包括:将两个关键数据块之间的变形矩阵变化,平均分配到位于两个关键数据块之间的各非关键数据块上,得到位于两个关键数据块之间的各非关键数据块的变形矩阵。

8.一种三维点云道路数据融合装置,其特征在于,包括:获取单元、选取单元以及融合单元;

所述获取单元,用于获取针对同一道路至少两次采集到的三维点云道路数据;

所述选取单元,用于选取其中的一条三维点云道路数据作为基准数据;

所述融合单元,用于针对未作为基准数据的每条三维点云道路数据,分别进行以下处理:对未作为基准数据的所述三维点云道路数据进行切割;基于所述基准数据,分别确定出切割得到的各数据块对应的变形矩阵,包括:将切割得到的各数据块分别与所述基准数据中的对应数据块进行点云匹配,从切割得到的各数据块中筛选出匹配效果符合要求的关键数据块,并获取所述关键数据块的变形矩阵,根据所述关键数据块的变形矩阵确定出非关键数据块的变形矩阵;将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。

9.根据权利要求8所述的装置,其特征在于,

所述选取单元进一步用于,在选取所述基准数据之前,对采集到的三维点云道路数据进行降噪处理。

10.根据权利要求8所述的装置,其特征在于,

针对未作为基准数据的每条三维点云道路数据,所述融合单元按照预定长度,沿道路方向对未作为基准数据的所述三维点云道路数据进行切割,得到长度为所述预定长度的数据块。

11.根据权利要求8所述的装置,其特征在于,

所述融合单元针对切割得到的每个数据块,分别根据所述数据块的全球定位系统GPS位置信息,从所述基准数据中提取出所述数据块的对应数据块,将所述数据块与所述对应数据块进行点云匹配。

12.根据权利要求8所述的装置,其特征在于,

所述融合单元针对切割得到的每个数据块,分别获取所述数据块与相邻的前一数据块中的临近点在匹配之后的残差之和以及所述数据块与相邻的后一数据块中的临近点在匹配之后的残差之和,若均小于预定阈值,则将所述数据块判定为关键数据块。

13.根据权利要求8所述的装置,其特征在于,

所述融合单元针对每个关键数据块,分别确定出与所述关键数据块相邻的下一关键数据块,根据所述关键数据块与所述相邻的下一关键数据块的变形矩阵,确定出位于两个关键数据块之间的各非关键数据块的变形矩阵。

14.根据权利要求13所述的装置,其特征在于,

所述融合单元将两个关键数据块之间的变形矩阵变化,平均分配到位于两个关键数据块之间的各非关键数据块上,得到位于两个关键数据块之间的各非关键数据块的变形矩阵。

15.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一项所述的方法。

16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7中任一项所述的方法。

说明书 :

三维点云道路数据融合方法、装置及存储介质

【技术领域】

[0001] 本发明涉及计算机应用技术,特别涉及三维点云道路数据融合方法、装置及存储介质。【背景技术】
[0002] 现有的高精地图是由一条条的三维点云道路组成的。同一条道路不同时间会采集多遍,如正向反向采集两遍等。如果只采集一遍,那么只能扫描到电杆或标牌等三维地物的一个面,比如正面,如果反向再采集一遍就能扫描到另外一个面,从而将三维道路全貌反映出来。
[0003] 对于针对同一道路多次采集到的三维点云数据,如果只进行简单叠加,那么会导致路面有重影,同一个地物变成多个等问题,从而给后续作业如地物提取带来很多困难。
[0004] 为此,现有技术中提出,可对多次采集到的三维点云道路数据进行融合处理,但目前的融合方式主要为手动融合或半自动融合,需要耗费很大的工作量。【发明内容】
[0005] 有鉴于此,本发明提供了三维点云道路数据融合方法、装置及存储介质,能够减少工作量。
[0006] 具体技术方案如下:
[0007] 一种三维点云道路数据融合方法,包括:
[0008] 获取针对同一道路至少两次采集到的三维点云道路数据;
[0009] 选取其中的一条三维点云道路数据作为基准数据;
[0010] 针对未作为基准数据的每条三维点云道路数据,分别进行以下处理:
[0011] 对所述三维点云道路数据进行切割;
[0012] 基于所述基准数据,分别确定出切割得到的各数据块对应的变形矩阵;
[0013] 将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。
[0014] 根据本发明一优选实施例,所述选取其中的一条三维点云道路数据作为基准数据之前,进一步包括:
[0015] 对采集到的三维点云道路数据进行降噪处理。
[0016] 根据本发明一优选实施例,所述对所述三维点云道路数据进行切割包括:
[0017] 按照预定长度,沿道路方向对所述三维点云道路数据进行切割,得到长度为所述预定长度的数据块。
[0018] 根据本发明一优选实施例,所述分别确定出切割得到的各数据块对应的变形矩阵包括:
[0019] 将切割得到的各数据块分别与所述基准数据中的对应数据块进行点云匹配,从切割得到的各数据块中筛选出匹配效果符合要求的关键数据块;
[0020] 获取所述关键数据块的变形矩阵;
[0021] 根据所述关键数据块的变形矩阵确定出非关键数据块的变形矩阵。
[0022] 根据本发明一优选实施例,所述将切割得到的各数据块分别与所述基准数据中的对应数据块进行点云匹配包括:
[0023] 针对切割得到的每个数据块,分别根据所述数据块的全球定位系统GPS位置信息,从所述基准数据中提取出所述数据块的对应数据块,将所述数据块与所述对应数据块进行点云匹配。
[0024] 根据本发明一优选实施例,所述从切割得到的各数据块中筛选出匹配效果符合要求的关键数据块包括:
[0025] 针对切割得到的每个数据块,分别获取所述数据块与相邻的前一数据块中的临近点在匹配之后的残差之和以及所述数据块与相邻的后一数据块中的临近点在匹配之后的残差之和,若均小于预定阈值,则将所述数据块判定为关键数据块。
[0026] 根据本发明一优选实施例,所述根据所述关键数据块的变形矩阵确定出非关键数据块的变形矩阵包括:
[0027] 针对每个关键数据块,分别确定出与所述关键数据块相邻的下一关键数据块,根据所述关键数据块与所述相邻的下一关键数据块的变形矩阵,确定出位于两个关键数据块之间的各非关键数据块的变形矩阵。
[0028] 根据本发明一优选实施例,所述确定出位于两个关键数据块之间的各非关键数据块的变形矩阵包括:
[0029] 将两个关键数据块之间的变形矩阵变化,平均分配到位于两个关键数据块之间的各非关键数据块上,得到位于两个关键数据块之间的各非关键数据块的变形矩阵。
[0030] 一种三维点云道路数据融合装置,包括:获取单元、选取单元以及融合单元;
[0031] 所述获取单元,用于获取针对同一道路至少两次采集到的三维点云道路数据;
[0032] 所述选取单元,用于选取其中的一条三维点云道路数据作为基准数据;
[0033] 所述融合单元,用于针对未作为基准数据的每条三维点云道路数据,分别进行以下处理:对所述三维点云道路数据进行切割;基于所述基准数据,分别确定出切割得到的各数据块对应的变形矩阵;将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。
[0034] 根据本发明一优选实施例,所述选取单元进一步用于,在选取所述基准数据之前,对采集到的三维点云道路数据进行降噪处理。
[0035] 根据本发明一优选实施例,针对未作为基准数据的每条三维点云道路数据,所述融合单元按照预定长度,沿道路方向对所述三维点云道路数据进行切割,得到长度为所述预定长度的数据块。
[0036] 根据本发明一优选实施例,针对未作为基准数据的每条三维点云道路数据,所述融合单元将切割得到的各数据块分别与所述基准数据中的对应数据块进行点云匹配,从切割得到的各数据块中筛选出匹配效果符合要求的关键数据块,并获取所述关键数据块的变形矩阵,根据所述关键数据块的变形矩阵确定出非关键数据块的变形矩阵。
[0037] 根据本发明一优选实施例,所述融合单元针对切割得到的每个数据块,分别根据所述数据块的全球定位系统GPS位置信息,从所述基准数据中提取出所述数据块的对应数据块,将所述数据块与所述对应数据块进行点云匹配。
[0038] 根据本发明一优选实施例,所述融合单元针对切割得到的每个数据块,分别获取所述数据块与相邻的前一数据块中的临近点在匹配之后的残差之和以及所述数据块与相邻的后一数据块中的临近点在匹配之后的残差之和,若均小于预定阈值,则将所述数据块判定为关键数据块。
[0039] 根据本发明一优选实施例,所述融合单元针对每个关键数据块,分别确定出与所述关键数据块相邻的下一关键数据块,根据所述关键数据块与所述相邻的下一关键数据块的变形矩阵,确定出位于两个关键数据块之间的各非关键数据块的变形矩阵。
[0040] 根据本发明一优选实施例,所述融合单元将两个关键数据块之间的变形矩阵变化,平均分配到位于两个关键数据块之间的各非关键数据块上,得到位于两个关键数据块之间的各非关键数据块的变形矩阵。
[0041] 一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0042] 一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
[0043] 基于上述介绍可以看出,采用本发明所述方案,在获取到针对同一道路至少两次采集到的三维点云道路数据后,可选取其中的一条三维点云道路数据作为基准数据,之后可针对未作为基准数据的每条三维点云道路数据,分别对其进行切割,并基于基准数据,分别确定出切割得到的各数据块对应的变形矩阵,进而可将各数据块分别与对应的变形矩阵相乘,从而得到新的三维点云道路数据,相比于现有技术,本发明所述方案中无需人工操作,可自动地完成融合,从而减少了工作量,降低了人力成本,而且能够得到很好的融合效果,从而真实全面的反映三维道路全貌,方便了后续处理等。【附图说明】
[0044] 图1为本发明所述三维点云道路数据融合方法实施例的流程图。
[0045] 图2为本发明所述获取三维点云道路数据B中的各数据块对应的变形矩阵的方法实施例的流程图。
[0046] 图3为对某一道路进行正向采集得到的三维点云道路数据的示意图。
[0047] 图4为将正向采集得到的三维点云道路数据与反向采集得到的三维点云道路数据进行简单叠加后的示意图。
[0048] 图5为图4对应的俯视图。
[0049] 图6为融合后的两条三维点云道路数据的示意图。
[0050] 图7为图6对应的俯视图。
[0051] 图8为本发明所述三维点云道路数据融合装置实施例的组成结构示意图。
[0052] 图9示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。【具体实施方式】
[0053] 为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。
[0054] 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0055] 图1为本发明所述三维点云道路数据融合方法实施例的流程图。如图1所示,包括以下具体实现方式。
[0056] 在101中,获取针对同一道路至少两次采集到的三维点云道路数据。
[0057] 在102中,选取其中的一条三维点云道路数据作为基准数据。
[0058] 在103中,针对未作为基准数据的每条三维点云道路数据,分别按照104~106所示方式进行处理。
[0059] 在104中,对三维点云道路数据进行切割。
[0060] 在105中,基于基准数据,分别确定出切割得到的各数据块对应的变形矩阵。
[0061] 在106中,将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。
[0062] 同一道路,可利用全球定位系统(GPS,Global Positioning System)惯性测量单元(IMU,Inertial Measurement Unit)点云设备组成的采集车,采集若干次,具体次数可根据实际需要而定,通常至少为两次。
[0063] 较佳地,针对采集到的三维点云道路数据,可首先对其进行降噪处理,从而去除点云杂点,如细小的树叶等,尽量保证墙面、电杆等三维点云标志物清晰,即保留比较明显的稳定的标志物,从而便于后续处理。
[0064] 之后,可从采集到的三维点云道路数据中选出一条三维点云道路数据作为基准数据。比如,可选出GPS信号质量最优的三维点云道路数据作为基准数据。
[0065] 这样,针对未作为基准数据的每条三维点云道路数据,可分别基于基准数据来生成新的三维点云道路数据。
[0066] 比如,针对同一道路,共进行了三次采集,从而得到三条三维点云道路数据,分别为三维点云道路数据A、三维点云道路数据B和三维点云道路数据C,将三维点云道路数据A选为基准数据,针对三维点云道路数据B和三维点云道路数据C,可分别基于三维点云道路数据A,生成新的三维点云道路数据B’和三维点云道路数据C’。
[0067] 具体地,以三维点云道路数据B为例,可首先对其进行切割,之后可基于三维点云道路数据A,分别确定出切割得到的各数据块对应的变形矩阵,进而可将各数据块分别与对应的变形矩阵相乘,从而得到新的三维点云道路数据B’。
[0068] 其中,可按照预定长度,沿道路方向对三维点云道路数据B进行切割,从而得到长度为所述预定长度的一系列数据块。所述预定长度的具体取值可根据实际需要而定,较佳地,不要超过50米。
[0069] 假设道路长度为1000米,预定长度为40米,那么可沿道路方向,切割得到25个数据块。
[0070] 完成切割之后,可基于三维点云道路数据A,分别确定出三维点云道路数据B中的各数据块对应的变形矩阵。
[0071] 图2为本发明所述获取三维点云道路数据B中的各数据块对应的变形矩阵的方法实施例的流程图。如图2所示,包括以下具体实现方式。
[0072] 在201中,将三维点云道路数据B中的各数据块分别与三维点云道路数据A中的对应数据块进行点云匹配(点云配准),从各数据块中筛选出匹配效果符合要求的关键数据块。
[0073] 针对三维点云道路数据B中的每个数据块,可分别根据该数据块的GPS位置信息,从三维点云道路数据A中提取出该数据块的对应数据块,进而将该数据块与对应数据块进行点云匹配。
[0074] 比如,可根据该数据块的GPS位置信息,从三维点云道路数据A中的相应GPS位置处,提取出该数据块的对应数据块,将该数据块与对应数据块进行点云匹配。
[0075] 点云匹配,就是求两个点云之间的变形矩阵,将源点云变换到目标点云相同的坐标系下。本实施例中,三维点云道路数据B中的数据块即为源点云,三维点云道路数据A中的对应数据块为目标点云,将三维点云道路数据B中的数据块匹配到三维点云道路数据A中的对应数据块上。
[0076] 本实施例中,可采用常用的点云匹配算法,如迭代最近点(ICP,Iterative Closest Point)算法等。
[0077] 进一步地,可从三维点云道路数据B中的各数据块中筛选出匹配效果符合要求的关键数据块。
[0078] 一条道路中,通常会有一些有明显特征的地方和一些没有明显特征的地方,有特征明显(如电杆)的地方往往匹配效果较好,而没有明显特征(如只有路面)的地方往往匹配效果较差,可将匹配效果较好的数据块作为关键数据块。
[0079] 本实施例中,可以采用以下方式来判断一个数据块是否为关键数据块:获取该数据块与相邻的前一数据块中的临近点在匹配之后的残差之和以及该数据块与相邻的后一数据块中的临近点在匹配之后的残差之和,若均小于预定阈值,则可将该数据块判定为关键数据块。
[0080] 临近点即指距离比较近的点,比如,可将两个相邻的数据块中的相邻的点作为临近点,这些临近点中,每个位于其中一个数据块中的点均可在另一数据块中找到一个对应的点,匹配之后,如果这些临近点的残差之和小于预定阈值,说明匹配之后/变形之后这些点仍然离得很近,所述阈值的具体取值可根据实际需要而定。
[0081] 如果一个数据块与其相邻的前一数据块以及相邻的后一数据块均符合上述情况,那么则可判定该数据块为关键数据块,即判定为匹配效果较好的数据块。
[0082] 在202中,获取关键数据块的变形矩阵。
[0083] 如前所述,对于每个数据块,在进行点云匹配时,均可得到一个变形矩阵,可将得到的变形矩阵作为关键数据块的变形矩阵。
[0084] 在203中,根据关键数据块的变形矩阵确定出非关键数据块的变形矩阵。
[0085] 对于非关键数据块,由于其匹配效果不好,所以可不将点云匹配时得到的变形矩阵作为非关键数据块的变形矩阵,而是可根据关键数据块的变形矩阵确定出非关键数据块的变形矩阵。
[0086] 具体地,针对每个关键数据块,可分别确定出与该关键数据块相邻的下一关键数据块,根据该关键数据块与相邻的下一关键数据块的变形矩阵,确定出位于这两个关键数据块之间的各非关键数据块的变形矩阵。
[0087] 较佳地,可将两个关键数据块之间的变形矩阵变化,平均分配到位于两个关键数据块之间的各非关键数据块上,从而得到位于两个关键数据块之间的各非关键数据块的变形矩阵。
[0088] 比如,关键数据块m相邻的下一关键数据块为关键数据块n,关键数据块m和关键数据块n之间存在两个非关键数据块,分别为非关键数据块a和非关键数据块b,那么,可首先确定出关键数据块m的变形矩阵与关键数据块n的变形矩阵之间的矩阵变化,之后,可将所述矩阵变化平均分配到非关键数据块a和非关键数据块b上,从而得到非关键数据块a和非关键数据块b的变形矩阵,如可根据关键数据块m以及平均分配到非关键数据块a上的矩阵变化确定出非关键数据块a的变形矩阵,根据非关键数据块a的变形矩阵以及平均分配到非关键数据块b上的矩阵变化确定出非关键数据块b的变形矩阵等。
[0089] 按照上述方式,可分别得到三维点云道路数据B中的每个数据块(包括关键数据块和非关键数据块)的变形矩阵。
[0090] 之后,可将三维点云道路数据B中的每个数据块分别与对应的变形矩阵相乘,从而得到新的三维点云道路数据B’。
[0091] 以上是以三维点云道路数据B为例进行说明,对于三维点云道路数据C,可按照与三维点云道路数据B同样的方式,生成三维点云道路数据C’,从而完成三条三维点云道路数据的融合。
[0092] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0093] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0094] 总之,采用本发明方法实施例所述方案,无需人工操作,可自动地完成三维点云道路数据的融合,从而减少了工作量,降低了人力成本,而且能够得到很好的融合效果,从而真实全面的反映三维道路全貌,方便了后续处理等。
[0095] 图3为对某一道路进行正向采集得到的三维点云道路数据的示意图。图4为将正向采集得到的三维点云道路数据与反向采集得到的三维点云道路数据进行简单叠加后的示意图。可以看出,未进行融合前,两条三维点云道路数据中的同一个物体会有较大的误差,如同一位置处的标牌相差了18cm左右,出现无法重合的情况,肉眼可见明显的标牌重影现象。图5为图4对应的俯视图。
[0096] 而按照本发明方法实施例所述方式进行处理后,可以看到明显的改善。图6为融合后的两条三维点云道路数据的示意图。图7为图6对应的俯视图。可以看出,其中的标牌基本重合,两条三维点云道路数据之间的误差明显减少,可以达到1cm以内,同一个物体不会出现明显的分叉重影等现象。
[0097] 以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
[0098] 图8为本发明所述三维点云道路数据融合装置实施例的组成结构示意图。如图8所示,包括:获取单元801、选取单元802以及融合单元803。
[0099] 获取单元801,用于获取针对同一道路至少两次采集到的三维点云道路数据。
[0100] 选取单元802,用于选取其中的一条三维点云道路数据作为基准数据。
[0101] 融合单元803,用于针对未作为基准数据的每条三维点云道路数据,分别进行以下处理:对该三维点云道路数据进行切割;基于基准数据,分别确定出切割得到的各数据块对应的变形矩阵;将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。
[0102] 同一道路,可利用采集车采集若干次三维点云道路数据,具体次数可根据实际需要而定,通常至少为两次,如正向和反向。
[0103] 选取单元802在获取到来自获取单元801的多条三维点云道路数据之后,可首先对其进行降噪处理,从而去除点云杂点,如细小的树叶等,尽量保证墙面、电杆等三维点云标志物清晰,即保留比较明显的稳定的标志物,从而便于后续处理。
[0104] 之后,选取单元802可从多条三维点云道路数据中选出一条三维点云道路数据作为基准数据。比如,可选出GPS信号质量最优的三维点云道路数据作为基准数据。
[0105] 这样,融合单元803可针对未作为基准数据的每条三维点云道路数据,分别进行以下处理:对三维点云道路数据进行切割;基于基准数据,分别确定出切割得到的各数据块对应的变形矩阵;将各数据块分别与对应的变形矩阵相乘,得到新的三维点云道路数据。
[0106] 其中,针对未作为基准数据的每条三维点云道路数据,融合单元803可按照预定长度,沿道路方向对三维点云道路数据进行切割,从而得到长度为预定长度的数据块。较佳地,所述预定长度不要超过50米。
[0107] 进一步地,融合单元803可将切割得到的各数据块分别与基准数据中的对应数据块进行点云匹配,从切割得到的各数据块中筛选出匹配效果符合要求的关键数据块,并获取关键数据块的变形矩阵,根据关键数据块的变形矩阵确定出非关键数据块的变形矩阵。
[0108] 其中,针对切割得到的每个数据块,融合单元803可分别根据该数据块的GPS位置信息,从基准数据中提取出该数据块的对应数据块,将该数据块与对应数据块进行点云匹配。
[0109] 融合单元803还可针对切割得到的每个数据块,分别获取该数据块与相邻的前一数据块中的临近点在匹配之后的残差之和以及该数据块与相邻的后一数据块中的临近点在匹配之后的残差之和,若均小于预定阈值,则可将该数据块判定为关键数据块。
[0110] 对于每个数据块,在进行点云匹配时,均可得到一个变形矩阵,可将得到的变形矩阵作为关键数据块的变形矩阵。而对于非关键数据块,可不将点云匹配时得到的变形矩阵作为非关键数据块的变形矩阵,而是可根据关键数据块的变形矩阵确定出非关键数据块的变形矩阵。
[0111] 相应地,融合单元803可针对每个关键数据块,分别确定出与关键数据块相邻的下一关键数据块,根据关键数据块与相邻的下一关键数据块的变形矩阵,确定出位于两个关键数据块之间的各非关键数据块的变形矩阵。
[0112] 较佳地,融合单元803可将两个关键数据块之间的变形矩阵变化,平均分配到位于两个关键数据块之间的各非关键数据块上,从而得到位于两个关键数据块之间的各非关键数据块的变形矩阵。
[0113] 对于未作为基准数据的每条三维点云道路数据来说,按照上述方式,可分别得到该三维点云道路数据中的每个数据块的变形矩阵。之后,可将该三维点云道路数据中的每个数据块分别与对应的变形矩阵相乘,从而得到新的三维点云道路数据。
[0114] 图8所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
[0115] 总之,采用本发明装置实施例所述方案,无需人工操作,可自动地完成三维点云道路数据的融合,从而减少了工作量,降低了人力成本,而且能够得到很好的融合效果,从而真实全面的反映三维道路全貌,方便了后续处理等。
[0116] 图9示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图9显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0117] 如图9所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
[0118] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0119] 计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0120] 存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0121] 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0122] 计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0123] 处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1或2所示实施例中的方法。
[0124] 本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1或2所示实施例中的方法。
[0125] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0126] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0127] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0128] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0129] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0130] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0131] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0132] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0133] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。