一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

点云数据配准方法、装置、电子设备及计算机程序产品与流程

2023-04-04 11:41:47 来源:中国专利 TAG:


1.本公开涉及地理信息技术领域,具体涉及一种点云数据配准方法、装置、电子设备及计算机程序产品。


背景技术:

2.三维激光扫描技术的快速发展,使得点云数据处理变得越来越重要,而点云配准是其中最基础的一环,直接影响到后续的特征提取、三维建模等过程,具有十分重要的意义。通常情况下,由于外业扫描区域范围较广、扫描仪器的视场范围有限,再加上物体的遮挡等原因,很难通过一个视角的扫描,就能得到完整的物体表面数据。点云配准的目的是为了得到完整的场景数据,它将从多个视点获取的不同坐标系下的点云数据,转换到同一个坐标系下。该过程由于要处理海量的点云数据,不仅对计算机性能有严格的要求,而且需要大量的人工检查,手动选点等操作,因此效率低下,不适用于处理大规模点云数据。
3.因此,需要提出一种能够降低点云数据处理难度的点云数据配准方案,以便快速而自动地对点云数据进行配准。


技术实现要素:

4.本公开实施例提供一种点云数据配准方法、装置、电子设备及计算机程序产品。
5.第一方面,本公开实施例中提供了一种点云数据配准方法,其中,包括:
6.获取待配准的至少两份点云数据;所述至少两份点云数据针对同一采集区域采集得到,并且采集过程中在所述采集区域中固定放置有至少三个标定球;
7.将所述点云数据转换为图像数据;
8.从所述图像数据中识别所述标定球对应的图像区域;
9.基于所述至少三个标定球在所述图像数据中的相对位置关系,匹配所述至少两份点云数据对应的图像数据中所识别出的所述标定球;
10.基于匹配结果对所述至少两份点云数据进行配准。
11.进一步地,从所述图像数据中识别所述标定球对应的图像区域,包括:
12.通过从所述图像数据中检测圆形区域的方式识别所述标定球对应的球形候选区域;
13.基于所述标定球的属性信息从所述球形候选区域中筛选得到对应于所述标定球的图像区域。
14.进一步地,基于所述标定球的属性信息从所述球形候选区域中筛选得到对应于所述标定球的图像区域,包括:
15.基于所述标定球的颜色和/或所述标定球相对于点云数据的采集点的距离阈值将不是标定球对应的球形候选区域剔除;
16.基于所述标定球的半径,从剩余的所述球形候选区域中筛选出对应于所述标定球的图像区域。
17.进一步地,基于所述至少三个标定球在所述图像数据中的相对位置关系,匹配所述至少两份点云数据对应的图像数据中所识别出的所述标定球,包括:
18.确定所述图像数据中任意三个所述标定球的球心为顶点构成的三角形;
19.基于所述三角形的几何信息,筛选出所述至少两份点云数据对应的图像数据中相匹配的目标三角形对;
20.确定所述目标三角形对中各顶点的一一对应关系;
21.基于所述一一对应关系确定相同标定球在所述至少两份点云数据对应的所述图像数据中的位置对应关系。
22.进一步地,基于所述三角形的几何信息,筛选出所述至少两份点云数据对应的图像数据中相匹配的目标三角形对,包括:
23.计算所述三角形的平均边长,并基于所述平均边长计算所述三角形的边长误差;
24.确定所述至少两份点云数据对应的图像数据中所述边长误差相等的候选三角形对;
25.基于所述候选三角形对中两个三角形的几何信息从所述候选三角形对中筛选出所述目标三角形对。
26.进一步地,基于匹配结果对所述至少两份点云数据进行配准,包括:
27.基于相同标定球的所述位置对应关系确定所述至少两份点云数据所在坐标系之间的坐标变换参数。
28.第二方面,本发明实施例中提供了一种地图制作方法,该方法利用第一方面所述的方法对采集的点云数据进行配准,并基于配准后的点云数据制作地图。
29.第三方面,本发明实施例中提供了一种点云数据配准装置,其中,包括:
30.获取模块,被配置为获取待配准的至少两份点云数据;所述至少两份点云数据针对同一采集区域采集得到,并且采集过程中在所述采集区域中固定放置有至少三个标定球;
31.转换模块,被配置为将所述点云数据转换为图像数据;
32.识别模块,被配置为从所述图像数据中识别所述标定球对应的图像区域;
33.匹配模块,被配置为基于所述至少三个标定球在所述图像数据中的相对位置关系,匹配所述至少两份点云数据对应的图像数据中所识别出的所述标定球;
34.配准模块,被配置为基于匹配结果对所述至少两份点云数据进行配准。
35.所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
36.在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
37.第四方面,本公开实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现上述任一方面所述的方法。
38.第五方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装
置所用的计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
39.第六方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
40.本公开实施例提供的技术方案可以包括以下有益效果:
41.本公开实施例提出了一种基于标靶球的点云数据配准方法,该方法首先通过点云数据生成图像数据;然后在图像数据上进行标定球的自动探测;然后对探测到的标定球进行匹配,得到同名标定球,也即同一标定球在不同图像数据中的位置对应关系;最后根据同名标定球对多份点云数据进行配准。本公开实施例提出的上述方法并不直接处理海量的点云数据,而是将点云数据转换成图像数据后,从图像角度处理,避免了大量点云数据的处理过程;同时不同于传统的点云数据配准算法,本公开实施例不需要借助于法线、曲率等计算特征筛选具有对应关系的点对。对于海量点云数据来说,法线计算消耗资源较多,会影响数据处理性能,并且配准结果也会受到法线质量的制约。因此,本公开实施例直接对图像进行识别,进而基于从图像识别出的信息对点云数据进行配准,能够降低人工成本,并提高点云数据的处理效率,还能够提高点云数据配准的精度和效率。
42.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
43.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
44.图1示出根据本公开一实施方式的点云数据配准方法的流程图。
45.图2示出根据本公开一实施方式的高精地图制作流程示意图。
46.图3示出根据本公开一实施方式的点云数据配准装置的结构框图。
47.图4是适于用来实现根据本公开一实施方式的点云数据配准方法的电子设备的结构示意图。
具体实施方式
48.下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
49.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
50.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
51.下面通过具体实施例详细介绍本公开实施例的细节。
52.图1示出根据本公开一实施方式的点云数据配准方法的流程图。如图1所示,该点云数据配准方法包括以下步骤:
53.在步骤s101中,获取待配准的至少两份点云数据;所述至少两份点云数据针对同
一采集区域采集得到,并且采集过程中在所述采集区域中固定放置有至少三个标定球;
54.在步骤s102中,将所述点云数据转换为图像数据;
55.在步骤s103中,从所述图像数据中识别所述标定球对应的图像区域;
56.在步骤s104中,基于所述至少三个标定球在所述图像数据中的相对位置关系,匹配所述至少两份点云数据对应的图像数据中所识别出的所述标定球;
57.在步骤s105中,基于匹配结果对所述至少两份点云数据进行配准。
58.本实施例中,不同时间或者不同视角采集到的同一采集区域的多份点云数据,可以先进行配准操作,之后再将配准后的多份点云数据进行拼接,得到该采集区域较为完整且多方位的视觉数据,该视觉数据可应用于地图构建等场景。然而,已有技术对点云数据的处理效率严重地制约了相应产品如高精度地图的生成过程,已有技术中该过程通常需要人工进行大量的选点以及检查工作,人力成本较高,会影响高精度地图的生产效率,难以进行大规模的地图数据生产。为此,本公开实施例提出了一种基于标定球的点云数据配准方法。
59.本公开实施例中,待配准的至少两份点云数据可以是从同一采集区域采集到的,并且在采集过程中,可以在该采集区域中设置多个标定球,该多个标定球的位置固定不变也就是说,在采集任何一份点云数据时,多个标定球的放置位置都是固定的。
60.在一些实施例中,采集区域中可以放置至少三个标定球。
61.在一些实施例中,将待配置的每一份点云数据分别进行处理,进而转换成图像数据。在一些实施例中,该图像数据可以为强度图像。在一些实施例中,点云数据转换成图像数据的方法可以参见已有技术,在此不做具体限制。
62.在一些实施例中,待配准的任意两份点云数据可以是不同时间在同一视角下针对同一采集区域采集的点云数据,也可以是同一时间不同视角下针对同一采集区域采集的点云数据。不同视角下针对同一采集区域采集点云数据时,可以将点云数据的采集设备如激光源设置在不采集区域的不同位置处。
63.将点云数据转换成图像数据后,可以从图像数据识别标定球对应的图像区域。也就是说,从图像中识别出标定球所在的图像区域。
64.在从图像数据中识别出全部或者部分标定球所在的图像区域之后,可以确定图像数据中各个标定球之间的相对位置关系。由于不同图像数据对应的不同点云数据均来自同一采集区域,并且该采集区域中放置的标定球的位置固定不变,因此可以先确定同一图像数据中各个标定球之间的相对位置关系,进而再基于该相对位置关系,可以匹配得到不同图像数据中相同标定球的图像区域之间的位置对应关系。也就是说,相同标定球在不同图像数据中的图像区域可以确定。
65.基于相同标定球在不同图像数据中图像区域的位置对应关系可以将多份点云数据进行配准。在一些实施例中,将多份点云数据进行配准可以理解为将多份点云数据转换到同一坐标系下,在实现过程中可以通过计算多份点云数据各自坐标系之间的坐标转换参数即可实现点云数据之间的配准。
66.本公开实施例提出了一种基于标靶球的点云数据配准方法,该方法首先通过点云数据生成图像数据;然后在图像数据上进行标定球的自动探测;然后对探测到的标定球进行匹配,得到同名标定球,也即同一标定球在不同图像数据中的位置对应关系;最后根据同名标定球对多份点云数据进行配准。本公开实施例提出的上述方法并不直接处理海量的点
云数据,而是将点云数据转换成图像数据后,从图像角度处理,避免了大量点云数据的处理过程;同时不同于传统的点云数据配准算法,本公开实施例不需要借助于法线、曲率等计算特征筛选具有对应关系的点对。对于海量点云数据来说,法线计算消耗资源较多,会影响数据处理性能,并且配准结果也会受到法线质量的制约。因此,本公开实施例直接对图像进行识别,进而基于从图像识别出的信息对点云数据进行配准,能够降低人工成本,并提高点云数据的处理效率,还能够提高点云数据配准的精度和效率。
67.在本实施例的一个可选实现方式中,步骤s103,即从所述图像数据中识别所述标定球对应的图像区域的步骤,进一步包括以下步骤:
68.通过从所述图像数据中检测圆形区域的方式识别所述标定球对应的球形候选区域;
69.基于所述标定球的属性信息从所述球形候选区域中筛选得到对应于所述标定球的图像区域。
70.该可选的实现方式中,可以从图像数据中检测圆,将检测到的圆所包围的图像区域确定为标定球对应的球形候选区域。在一些实施例中,可以通过霍夫变换从图像数据中检测出圆。霍夫变换可以检测出圆的球心和半径。
71.在一些实施例中,可以先获取图像数据的直方图,该直方图可以显示图像数据的灰度分布情况;然后将上述图像进行二值化,获得图像上明显的黑白效果,同时还可以减少数据量,凸显出感兴趣的目标,如标定球。之后对获得明显黑白效果的图像数据进行先腐蚀运算再膨胀的过程,用于消除细小的物体,平滑较大物体的边界;最后再利用霍夫变换进行圆形区域的查找,为了达到较好的效果可以多次进行该过程。
72.由于在图像数据中进行圆的检测时,可以得到较多的圆,该些圆所在图像区域可以被当做标定球对应图像区域的球形候选区域。球形候选区域中可能存在并不实际对应于标定球的图像区域,因此需要将这类不是标定球对应的图像区域剔除,最终筛选得到对应于标定球的图像区域。
73.在筛选过程中,可以根据标定球的属性信息将不符合标定球属性的球形候选区域剔除,而符合标定球属性的球形候选区域可以作为标定球的图像区域保留下来。在一些实施例中,标定球的属性信息可以包括但不限于标定球的放置位置、标定球的颜色、标定球相对于采集点(也即激光源)的距离信息和/或标定球的尺寸信息等。
74.在本实施例的一个可选实现方式中,基于所述标定球的属性信息从所述球形候选区域中筛选得到对应于所述标定球的图像区域的步骤,进一步包括以下步骤:
75.基于所述标定球的颜色和/或所述标定球相对于点云数据的采集点的距离阈值将不是标定球对应的球形候选区域剔除;
76.基于所述标定球的半径,从剩余的所述球形候选区域中筛选出对应于所述标定球的图像区域。
77.该可选的实现方式中,标定球的颜色和半径可以容易获得,通常情况下标定球为白色,而标定球的半径在行业中都是固定的一种或多种,所以比较容易得知。因此,本公开实施例可以基于标定球的颜色从图像数据中检测出的球形候选区域进行第一步筛选,将颜色相匹配的球形候选区域保留下来,而将颜色不匹配的球形候选区域剔除。
78.此外,还可以基于经验预先设置标定球的球心到采集点也即激光源的距离阈值,
将与距离阈值相匹配的球形候选区域保留下来,而将与距离阈值不匹配的球形候选区域剔除。比如,通常采集某个区域的点云数据时,标定球放置在距离采集点50米左右的位置,因此可以设置一个50米左右的距离阈值范围,在从图像数据检测到的球形候选区域的球心距离视点的位置不在该距离阈值范围内时,可以将该球形候选区域剔除,否则可以保留该球形候选区域。
79.之后,还可以根据标定球的半径,对不符合标定球的半径特征的球形候选区域剔除,例如在采集过程中所使用的标定球都是大小相等的球,而如果图像数据中存在多种半径的球形候选区域,可以从中将半径不符合要求的球形候选区域剔除。在一些实施例中,可以最后使用半径进行剔除,这是因为通过颜色、距离等可以剔除大部分确定不是标定球的球形候选区域,而保留下来的球形候选区域中,可能多数都是对应于标定球的区域,如果其中有个别半径与其他球形候选区域不相等的,则可以将该个别球形候选区域进行剔除。这种实现方式中,只需要知道标定球的颜色和坐标信息,即可从图像数据中确定标定球的球心位置,不需要其他额外的信息,能够减少算法的复杂度。
80.在一些实施例中,标定球的半径也可以是已知实际半径尺寸的信息,可以直接基于该实际半径从图像数据中剔除不符合实际半径的球形候选区域。
81.在本实施例的一个可选实现方式中,步骤s104,即基于所述至少三个标定球在所述图像数据中的相对位置关系,匹配所述至少两份点云数据对应的图像数据中所识别出的所述标定球的步骤,进一步包括以下步骤:
82.确定所述图像数据中任意三个所述标定球的球心为顶点构成的三角形;
83.基于所述三角形的几何信息,筛选出所述至少两份点云数据对应的图像数据中相匹配的目标三角形对;
84.确定所述目标三角形对中各顶点的一一对应关系;
85.基于所述一一对应关系确定相同标定球在所述至少两份点云数据对应的所述图像数据中的位置对应关系。
86.该可选的实现方式中,如上文中所述,采集区域中通常会放置3个及3个以上的标定球。从图像识别出的标定球对应的图像区域为球心和半径已知的圆形区域。为了将多份点云数据进行配准,可以将该多份点云数据对应的多幅图像中任意三个标定球对应的图像区域中球心构成的三角形进行匹配。
87.也就是说,可以先确定标定球对应的图像区域的球心构成的任意三角形,进而再基于三角形的几何信息,筛选任意两幅图像之间相匹配的两两三角形组成的目标三角形对。在一些实施例中,三角形的几何信息可以包括但不限于三角形的周长、三角形的面积、角度等。
88.为了完成任意两份点云数据的配准,可以将单份点云数据对应的图像数据中的任意三个标定球组成一个三角形,该三角形的顶点为标定球的球心坐标。两份图像数据中相同三个标定球构成的三角形为全等三角形,其对应边长、对应内角、周长、面积等也相同。因此,本公开实施例中可以基于这一特征将不同图像数据中相同三个标定球构成的三角形进行匹配。也即相匹配的目标三角形对包括任意两个图像数据中相同三个标定球构成的两个三角形。
89.在匹配得到相同三个标定球构成的目标三角形对之后,可以确定该目标三角形对
中顶点之间的一一对应关系,基于该一一对应关系即可确定任意两个图像数据中同一标定球对应的图像区域之间的位置对应关系,从而可以确定相同标定球在不同图像中的位置对应关系。本实施例利用了同名的标定球在不同坐标系下的拓扑不变形这一特征,在不同图像间进行同名标定球的匹配。
90.在本实施例的一个可选实现方式中,基于所述三角形的几何信息,筛选出所述至少两份点云数据对应的图像数据中相匹配的目标三角形对的步骤,进一步包括以下步骤:
91.计算所述三角形的平均边长,并基于所述平均边长计算所述三角形的边长误差;
92.确定所述至少两份点云数据对应的图像数据中所述边长误差相等的候选三角形对;
93.基于所述候选三角形对中两个三角形的几何信息从所述候选三角形对中筛选出所述目标三角形对。
94.该可选的实现方式中,任意两个图像数据中三个相同标定球构成的目标三角形对中的两个三角形为全等三角形。本公开实施例为了提高效率,先计算每个三角形的边长误差。边长误差可以基于每个三角形的平均边长与各边长之间的差值计算得到。
95.下面介绍边长误差的一种计算方式。
96.假设三角形的三条边长分别为a、b、c,那么该三角形的平均边长avg如下计算:
97.avg=(a b c)/3;
98.则边长误差σ如下计算:
[0099][0100]
考虑搭配计算机的存储舍入误差,计算过程产生的各种误差等,可以设置一个较小的阈值,将边长误差之差在该阈值范围内的任意两个图像中的任意两个三角形确定为候选三角形对。通过边长误差的求解可以剔除不可能为目标三角形对的三角形,能够提高计算效率,并且这种方式只需要判断边长误差是否相等(或者相差是否在阈值范围内),不涉及到额外阈值,因此这种方式实现起来简单通用。
[0101]
之后,再利用候选三角形对中两个三角形的几何信息筛选出目标三角形对,比如通过比较目标三角形对中两个三角形的周长是否相等、三条对应边是否分别相等、三角形面积是否相等和/或三角形对应内角是否分别相等来筛选目标三角形对。
[0102]
在本实施例的一个可选实现方式中,步骤s105,即基于匹配结果对所述至少两份点云数据进行配准的步骤,进一步包括以下步骤:
[0103]
基于相同标定球的所述位置对应关系确定所述至少两份点云数据所在坐标系之间的坐标变换参数。
[0104]
该可选的实现方式中,如上文所述,任意两个图像数据之间相同标定球的位置对应关系已确定,该位置对应关系可以包括相同标定球的球心在任意图像数据中的位置信息。基于该位置对应关系可以计算得到任意两个图像数据之间的坐标变换参数,进而可以确定任意两个图像数据对应的点云数据之间的坐标变换参数。
[0105]
在一些实施例中,坐标变换参数可以包括但不限于平移参数、旋转参数和缩放参数。
[0106]
下面介绍一种坐标变换参数的计算实现方式。
[0107]
给定两组点对集合,每组包括任意两个图像数据中其中一个图像数据中相同标定球的球心坐标,两组点对集合中相对应的点对为相同标定球在两个图像数据中的两个球心坐标。可以通过如下公式求解坐标系变换参数:
[0108][0109]
其中,r为旋转参数,t为平移参数,c为缩放参数。xi和yi分别为相同标定球在不同图像中的球心坐标,n为总共的点对数量,也即球心坐标;e为误差。
[0110]
求解过程中,可以将两组点对集合中的球心坐标带入上述公式,求出使得e2(r,t,c)最小的情况下的上述坐标系变换参数r、t和c。
[0111]
需要说明的是,上述以两个图像数据之间的配准过程为例介绍了坐标转换参数的求解过程。而对于点云数据而言,也可以使用上述方式求解两份点云数据之间的坐标转换参数,这是因为图像数据中标定球的球心之间的一一对应关系已知的情况下,点云数据和图像数据之间每个点的对应关系已知,因此可以基于图像数据中球心之间的一一对应关系以及图像数据和点云数据中各个点之间的对应关系,从而得到两份点云数据中相同标定球的两个球心之间的对应关系。进而可以基于两份点云数据中相同标定球的两个球心之间的对应关系,以及上述求解公式可以求解得到点云数据之间的坐标转换参数。
[0112]
从上述描述中可知,本公开实施例从图像的角度出发,利用图像检测技术检测图像中的标定球,由于不需要处理大量的点云数据,因此能够提高算法的运行效率,从而简化了问题的难度。
[0113]
在一些实施例中,本公开实施例通过内存映射方式从存储设备读取点云数据,避免了传统技术中逐点读取方式的效率低下的问题。
[0114]
另外,本公开实施例只需要知道每一个点云数据的三维坐标以及颜色信息,而不需要其他额外的信息。并且标定球的匹配环节只需要用到每个标定球的球心坐标,任意三个球心点组成一个三角形,参与匹配;匹配的原则是边长误差是否相等或者是否在阈值范围内,不涉及到额外的阈值,因此更加通用。
[0115]
根据本公开一实施方式,还提出了一种地图制作方法,该地图制作方法利用上述点云数据配准方法对采集的点云数据进行配准,并基于配准后的点云数据制作地图。
[0116]
该实施例中,在制作地图时,可以针对同一采集区域采集不同视角下的多份点云数据,在采集点云数据的过程中,可以在该区域内设置至少3个标定球。采集到的多份点云数据经过上述点云数据配准方法后,可以得到多份点云数据两两之间的坐标转换参数,基于该坐标转换参数可以将多份点云数据进行拼接,进而基于拼接得到的点云数据制作到该区域内的地图数据。
[0117]
图2示出根据本公开一实施方式的高精地图制作流程示意图。如图2所示,针对某个路段采集区域制作高精地图时,可以将该路段采集区域划分成较小的局部采集区域,每个局部采集区域采用多个视角比如三个视角进行点云数据的采集。在局部采集区域周边可以设置多个用于采集点云数据的激光源,该局部采集区域还可以放置多个如3个标定球,标定球均在多个激光源的视角范围内;多个激光源的视角以能够完整覆盖该局部区域的各个位置为准。可以由每个激光源采集一份或多份点云数据。该点云数据上传至服务器,由服务
器利用上述点云数据配准方法进行配准,配准后的点云数据可以进行拼接,得到该局部区域内全方位的点云数据。基于该点云数据可以进行地图的制作。所制作的地图可以下发给高精地图使用者,比如智能驾驶车辆;还可以上传至导航服务器,以便导航服务器能够引导智能驾驶车辆在该局部区域行驶。
[0118]
下述为本公开装置实施例,可以用于执行本公开方法实施例。
[0119]
图3示出根据本公开一实施方式的点云数据配准装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,该点云数据配准装置包括:
[0120]
获取模块301,被配置为获取待配准的至少两份点云数据;所述至少两份点云数据针对同一采集区域采集得到,并且采集过程中在所述采集区域中固定放置有至少三个标定球;
[0121]
转换模块302,被配置为将所述点云数据转换为图像数据;
[0122]
识别模块303,被配置为从所述图像数据中识别所述标定球对应的图像区域;
[0123]
匹配模块304,被配置为基于所述至少三个标定球在所述图像数据中的相对位置关系,匹配所述至少两份点云数据对应的图像数据中所识别出的所述标定球;
[0124]
配准模块305,被配置为基于匹配结果对所述至少两份点云数据进行配准。
[0125]
本实施例中,不同时间或者不同视角采集到的同一采集区域的多份点云数据,需要进行配准操作,配准后的多份点云数据可以进行拼接。然而,已有技术对点云数据的处理效率严重地制约了相应产品如高精度地图的生成过程,已有技术中该过程通常需要人工进行大量的选点以及检查工作,往往需要花费大量的人力成本,严重影响着高精度地图的生产效率,很难进行大规模的地图数据生产。为此,本公开实施例提出了基于标定球的点云数据配准装置。
[0126]
本公开实施例中,待配准的至少两份点云数据可以是从同一采集区域采集到的,并且在采集过程中,可以在该采集区域中设置多个标定球,该多个标定球的位置固定不变。也就是说,在采集任何一份点云数据时,多个标定球的放置位置都是固定的。
[0127]
在一些实施例中,采集区域中可以放置至少三个标定球。
[0128]
在一些实施例中,将待配置的每一份点云数据进行处理,进而转换成图像数据。在一些实施例中,该图像数据为强度数据。在一些实施例中,点云数据转换成图像数据的装置可以参见已有技术,在此不再赘述。
[0129]
在一些实施例中,待配准的任意两份点云数据可以是不同时间在同一视角下针对同一采集区域采集的点云数据,也可以是同一时间不同视角下针对同一采集区域采集的点云数据。不同视角下针对同一采集区域采集点云数据时,可以将点云数据的采集设备如激光源设置在不采集区域的不同位置处。
[0130]
将点云数据转换成图像数据后,可以从图像数据识别标定球对应的图像区域。也就是说,从图像中识别出标定球所在的图像区域。
[0131]
在从图像数据中识别出全部或者部分标定球所在的图像区域之后,可以确定图像数据中各个标定球之间的相对位置关系。由于不同图像数据对应的不同点云数据都是针对同一采集区域所采集的数据,并且该采集区域中放置的标定球的位置固定不变,因此可以先确定同一图像数据中各个标定球之间的相对位置关系,进而再基于该相对位置关系,可
以匹配得到不同图像数据中相同标定球的图像区域之间的位置对应关系。也就是说,相同标定球在不同图像数据中的图像区域可以确定。
[0132]
基于相同标定球在不同图像数据中的图像区域可以将多份点云数据进行配准。在一些实施例中,将多份点云数据进行配准可以理解为将多份点云数据转换到同一坐标系下,在实现过程中可以通过计算多份点云数据各自的坐标系之间的坐标转换参数即可实现点云数据之间的配准。
[0133]
本公开实施例提出了一种基于标靶球的点云数据配准装置,该装置首先通过点云数据生成图像数据;然后在图像数据上进行标定球的自动探测;然后对探测到的标定球进行匹配,得到同名的标定球,也即同一标定球在不同图像数据中的位置对应关系;最后根据同名的标定球对多份点云数据进行配准。本公开实施例提出的上述装置并不直接处理海量的点云数据,而是将点云数据转换成图像数据后,从图像角度处理,避免了大量点云数据的处理过程;同时不同于传统的点云数据配准算法,本公开实施例不需要借助于法线、曲率等计算特征筛选具有对应关系的点对。对于海量点云数据来说,法线计算消耗资源较多,会影响数据处理性能,并且配准结果也会受到法线质量的制约。因此,本公开实施例直接对图像进行识别,进而基于从图像识别出的信息对点云数据进行配准,能够降低人工成本,并提高点云数据的处理效率,还能够提高点云数据配准的精度和效率。
[0134]
在本实施例的一个可选实现方式中,所述识别模块,包括:
[0135]
识别子模块,被配置为通过从所述图像数据中检测圆形区域的方式识别所述标定球对应的球形候选区域;
[0136]
第一筛选子模块,被配置为基于所述标定球的属性信息从所述球形候选区域中筛选得到对应于所述标定球的图像区域。
[0137]
该可选的实现方式中,可以从图像数据中检测圆,将检测到的圆所包围的图像区域确定为球形候选区域。在一些实施例中,可以通过霍夫变换从图像数据中检测出圆。霍夫变换可以检测出圆的球心和半径。
[0138]
在一些实施例中,可以先获取图像数据的直方图,该直方图可以显示图像数据的灰度分布情况;然后将上述图像进行二值化,获得图像上明显的黑白效果,同时还可以减少数据量,凸显出感兴趣的目标,如标定球。之后对获得明显黑白效果的图像数据进行先腐蚀运算再膨胀的过程,用于消除细小的物体,平滑较大物体的边界;最后再利用霍夫变换进行圆形区域的查找,为了达到较好的效果可以多次进行该过程。
[0139]
由于在图像数据中进行圆的检测时,可以得到较多的圆,该些圆所在图像区域可以被当做标定球对应图像区域的球形候选区域。球形候选区域中可能存在并不实际对应于标定球的图像区域,因此需要将这类不是标定球对应的图像区域剔除,最终筛选得到对应于标定球的图像区域。
[0140]
在筛选过程中,可以根据标定球的属性信息将不符合标定球属性的球形候选区域剔除,而符合标定球属性的球形候选区域可以作为标定球的图像区域保留下来。在一些实施例中,标定球的属性信息可以包括但不限于标定球的放置位置、标定球的颜色、标定球相对于采集点(也即激光源)的距离信息和/或标定球的尺寸信息等。
[0141]
在本实施例的一个可选实现方式中,所述第一筛选子模块,包括:
[0142]
剔除子模块,被配置为基于所述标定球的颜色和/或所述标定球相对于点云数据
的采集点的距离阈值将不是标定球对应的球形候选区域剔除;
[0143]
第二筛选子模块,被配置为基于所述标定球的半径,从剩余的所述球形候选区域中筛选出对应于所述标定球的图像区域。
[0144]
该可选的实现方式中,标定球的颜色和半径可以容易获得,通常情况下标定球为白色,而标定球的半径在行业中都是固定的一种或多种,所以比较容易得知。因此,本公开实施例可以基于标定球的颜色从图像数据中检测出的球形候选区域进行第一步筛选,将颜色相匹配的球形候选区域保留下来,而将颜色不匹配的球形候选区域剔除。
[0145]
此外,还可以基于经验预先设置标定球的球心到采集点也即激光源的距离阈值,将与距离阈值相匹配的球形候选区域保留下来,而将与距离阈值不匹配的球形候选区域剔除。比如,通常采集某个区域的点云数据时,标定球放置在距离采集点50米左右的位置,因此可以设置一个50米左右的距离阈值范围,在从图像数据检测到的球形候选区域的球心距离视点的位置不在该距离阈值范围内时,可以将该球形候选区域剔除,否则可以保留该球形候选区域。
[0146]
之后,还可以根据标定球的半径,对不符合标定球的半径特征的球形候选区域剔除,例如在采集过程中所使用的标定球都是大小相等的球,而如果图像数据中存在多种半径的球形候选区域,可以从中将半径不符合要求的球形候选区域剔除。在一些实施例中,可以最后使用半径进行剔除,这是因为通过颜色、距离等可以剔除了大部分不是标签的球形候选区域,而保留下来的球形候选区域中,可能多数都是对应于标定球的区域,如果其中有个别半径与其他球形候选区域不相等的,则可以将该个别球形候选区域进行剔除。这种实现方式中,只需要知道标定球的颜色和坐标信息,即可从图像数据中确定标定球的球心位置,不需要其他额外的信息,能够减少算法的复杂度。
[0147]
在一些实施例中,标定球的半径也可以是已知实际半径尺寸的信息,可以直接基于该实际半径从图像数据中剔除不符合实际半径的球形候选区域。
[0148]
在本实施例的一个可选实现方式中,所述匹配模块,包括:
[0149]
第一确定子模块,被配置为确定所述图像数据中任意三个所述标定球的球心为顶点构成的三角形;
[0150]
第三筛选子模块,被配置为基于所述三角形的几何信息,筛选出所述至少两份点云数据对应的图像数据中相匹配的目标三角形对;
[0151]
第二确定子模块,被配置为确定所述目标三角形对中各顶点的一一对应关系;
[0152]
第三确定子模块,被配置为基于所述一一对应关系确定相同标定球在所述至少两份点云数据对应的所述图像数据中的位置对应关系。
[0153]
该可选的实现方式中,如上文中所述,采集区域中通常会放置3个及3个以上的标定球。从图像识别出的标定球对应的图像区域为球心和半径已知的圆形区域。为了将多份点云数据进行配准,可以将该多份点云数据对应的多幅图像中任意三个标定球对应的图像区域中球心构成的三角形进行匹配。
[0154]
也就是说,可以先确定标定球对应的图像区域的球心构成的任意三角形,进而再基于三角形的几何信息,筛选任意两幅图像之间相匹配的两两三角形组成的目标三角形对。在一些实施例中,三角形的几何信息可以包括但不限于三角形的周长、三角形的面积、角度等。
[0155]
为了完成任意两份点云数据的配准,可以将单份点云数据对应的图像数据中的任意三个标定球组成一个三角形,该三角形的顶点为标定球的球心坐标。两份图像数据中相同三个标定球构成的三角形为全等三角形,其面积也相同。因此,本公开实施例中可以基于这一特征将不同图像数据中相同三个标定球构成的三角形进行匹配。也即相匹配的目标三角形对包括任意两个图像数据中相同三个标定球构成的两个三角形。
[0156]
在匹配得到相同三个标定球求出的目标三角形对之后,可以确定该目标三角形对中顶点之间的一一对应关系,基于该一一对应关系即可确定任意两个图像数据中同一标定球对应的图像区域,从而可以确定相同标定球在不同图像中的位置对应关系。本实施例利用了同名的标定球在不同坐标系下的拓扑不变形这一特征,在不同图像间进行同名标定球的匹配。
[0157]
在本实施例的一个可选实现方式中,所述第三筛选子模块,包括:
[0158]
计算子模块,被配置为计算所述三角形的平均边长,并基于所述平均边长计算所述三角形的边长误差;
[0159]
第四确定子模块,被配置为确定所述至少两份点云数据对应的图像数据中所述边长误差相等的候选三角形对;
[0160]
第四筛选子模块,被配置为基于所述候选三角形对中两个三角形的几何信息从所述候选三角形对中筛选出所述目标三角形对。
[0161]
该可选的实现方式中,任意两个图像数据中三个相同标定球构成的目标三角形对中的两个三角形为全等三角形。本公开实施例为了提高效率,先计算每个三角形的边长误差。边长误差可以基于每个三角形的平均边长计算得到。
[0162]
下面介绍边长误差的一种计算方式。
[0163]
假设三角形的三条边长分别为a、b、c,那么该三角形的平均边长avg如下计算:
[0164]
avg=(a b c)/3;
[0165]
则边长误差σ如下计算:
[0166][0167]
考虑搭配计算机的存储舍入误差,计算过程产生的各种误差等,可以设置一个较小的阈值,将边长误差之差在该阈值范围内的任意两个图像中的任意两个三角形确定为候选三角形对。通过边长误差的求解可以剔除不可能为目标三角形对的三角形,能够提高计算效率,并且这种方式只需要判断边长误差是否相等(或者相差是否在阈值范围内),不涉及到额外阈值,因此这种方式较为通用。
[0168]
之后,再利用候选三角形对中两个三角形的几何信息筛选出目标三角形对,比如通过比较目标三角形对中两个三角形的周长是否相等、三条对应边是否分别相等、三角形面积是否相等和/或三角形对应内角是否分别相等来筛选目标三角形对。
[0169]
在本实施例的一个可选实现方式中,所述配准模块,包括:
[0170]
第五确定子模块,被配置为基于相同标定球的所述位置对应关系确定所述至少两份点云数据所在坐标系之间的坐标变换参数。
[0171]
该可选的实现方式中,如上文所述,任意两个图像数据之间相同标定球的位置对应关系已确定,该位置对应关系可以包括相同标定球的球心在任意图像数据中的位置信
息。基于该位置对应关系可以计算得到任意两个图像数据之间的坐标变换参数,进而可以确定任意两个图像数据对应的点云数据之间的坐标变换参数。
[0172]
在一些实施例中,坐标变换参数可以包括但不限于平移参数、旋转参数和缩放参数。
[0173]
下面介绍一种坐标变换参数的计算实现方式。
[0174]
给定两组点对集合,每组包括任意两个图像数据中其中一个图像数据中相同标定球的球心坐标,两组点对集合中相对应的点对为相同标定球在两个图像数据中的两个球心坐标。可以通过如下公式求解坐标系变换参数:
[0175][0176]
其中,r为旋转参数,t为平移参数,c为缩放参数。xi和yi分别为相同标定球在不同图像中的球心坐标,n为总共的点对数量,也即球心坐标;e为误差。
[0177]
求解过程中,可以将两组点对集合中的球心坐标带入上述公式,求出使得e2(r,t,c)最小的情况下的上述坐标系变换参数r、t和c。
[0178]
需要说明的是,上述以两个图像数据之间的配准过程为例介绍了坐标转换参数的求解过程。而对于点云数据而言,也可以使用上述方式求解两份点云数据之间的坐标转换参数,这是因为图像数据中标定球的球心之间的一一对应关系已知的情况下,有点云数据和图像数据之间每个点的对应关系已知,因此可以基于图像数据中球心之间的一一对应关系以及图像数据和点云数据中各个点之间的对应关系,从而得到两份点云数据中相同标定球的两个球心之间的对应关系。进而可以基于两份点云数据中相同标定球的两个球心之间的对应关系,以及上述求解公式可以求解得到点云数据之间的坐标转换参数。
[0179]
从上述描述中可知,本公开实施例从图像的角度出发,利用图像检测技术检测图像中的标定球,由于不需要处理大量的点云数据,因此能够提高算法的运行效率,从而简化了问题的难度。
[0180]
在一些实施例中,本公开实施例通过内存映射方式从存储设备读取点云数据,避免了传统技术中逐点读取方式的效率低下的问题。
[0181]
另外,本公开实施例只需要知道每一个点云数据的三维坐标以及颜色信息,而不需要其他额外的信息。并且标定球的匹配环节只需要用到每个标定球的球心坐标,任意三个球心点组成一个三角形,参与匹配;匹配的原则是边长误差是否相等或者是否在阈值范围内,不涉及到额外的阈值,因此更加通用。
[0182]
图4是适于用来实现根据本公开一实施方式的点云数据配准方法的电子设备的结构示意图。
[0183]
如图4所示,电子设备400包括处理单元401,其可实现为cpu、gpu、fpga、npu等处理单元。处理单元401可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行本公开上述任一方法的实施方式中的各种处理。在ram403中,还存储有电子设备400操作所需的各种程序和数据。处理单元401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
[0184]
以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射
线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
[0185]
特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
[0186]
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0187]
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0188]
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
[0189]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献