杆状地图元素的建模方法、装置、设备及存储介质与流程
未命名
07-12
阅读:79
评论:0

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.第五方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
45.第六方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
46.本公开实施例提供的技术方案可以包括以下有益效果:
47.本公开实施例提供一种杆状地图元素的建模方法,该方法首先将采集得到的杆状物点云数据,在纵向方向上切分成多段点云数据;然后将多段点云数据中的每一段分别进行圆拟合,也即每一段点云数据拟合成一个圆;之后对多个拟合圆的圆心进行直线拟合,得到该杆状地图元素的杆中心轴线,进而再基于杆中心轴线以及该杆状物点云数据对杆状地图元素进行建模。本公开实施提供的上述建模方法,通过对杆状物点云数据进行分段圆拟合,由于分段拟合得到的大多数圆的圆心接近于真实杆状物的杆中心轴线,因此基于这些圆心进行直线拟合,可以得到准确率更高的杆中心轴线,之后对该杆状地图元素进行分段建模,每一段建模数据对应圆心位于该杆中心轴线的圆,且该圆的半径由该段建模数据对应的杆状物点云数据确定,因此基于上述分段建模数据可以得到接近于真实杆状物的外表面数据,从而能够得到精度高、鲁棒性好的杆状地图元素的模型数据。
48.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
49.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
50.图1示出根据本公开一实施方式的杆状地图元素的建模方法的流程图;
51.图2示出根据本公开一实施方式的杆状地图元素的建模的一种实现示意图;
52.图3示出根据本公开一实施方式的杆状地图元素的建模装置的结构框图;
53.图4是适于用来实现根据本公开一实施方式的杆状地图元素的建模方法的电子设备的结构示意图。
具体实施方式
54.下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
55.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
56.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
57.下面通过具体实施例详细介绍本公开实施例的细节。
58.图1示出根据本公开一实施方式的杆状地图元素的建模方法的流程图。如图1所示,该杆状地图元素的建模方法包括以下步骤:
59.在步骤s101中,获取杆状物点云数据;
60.在步骤s102中,沿着所述杆状物点云数据的纵向方向,将所述杆状物点云数据进行分段,得到至少两段第一点云数据;
61.在步骤s103中,基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数;
62.其中,所述参数至少包括:圆心;
63.在步骤s104中,对所述第一拟合圆的圆心进行直线拟合,得到所述杆状地图元素的杆中心轴线;
64.在步骤s105中,基于所述杆中心轴线以及所述杆状物点云数据,建模所述杆状地图元素对应的杆状地图元素。
65.本实施例中,该杆状地图元素的建模方法可以在地图制作服务器上执行。杆状地图元素可以是高精地图中对应于现实世界杆状物的模型元素。例如杆状地图元素可以对应于现实世界中的交通标志杆,如路灯杆、摄像头杆、红绿灯杆、挂牌杆等。
66.在对杆状地图元素建模之前,可以先通过点云采集车采集现实道路两侧出现的杆状物如交通标志杆等的杆状物点云数据。需要说明的是,本公开实施例中的杆状物点云数据可以包括但不限于装载在点云采集车上的激光雷达采集得到的点云数据,以及安装在点云采集车上的图像采集设备采集的图像,经过图像处理后生成的视觉点云数据。
67.相关技术中,基于该杆状物点云数据采用最小二乘、拟合算法(random sample consensus,ransac)、霍夫变换等方法,进行杆状地图元素模型的拟合,以得到杆状地图元素的建模数据。然而,由于现实中的杆状物不是严格的圆柱模型,其形状往往上细下宽,中间还会偶尔挂载其他物件,即是一个主体上细下粗的柱状物,且有其他不确定形状附着物的不规则形状,使得杆状地图元素模型的整体拟合方法受到杆状地图元素的形状不规则、
其上附着物噪声的影响,从而导致现有拟合方法的拟合精度不高,且鲁棒性较差。因此,本公开实施例提出了一种杆状地图元素的建模方法。
68.在一些实施例中,本公开实施例提供的杆状地图元素的建模方法可以用于高精地图中杆状地图元素建模的场景中。
69.在一些实施例中,杆状物点云数据可以由点云采集车在采集道路信息时,通过激光等数据采集设备扫描道路两侧的杆状物的表面而获得。
70.在一些实施例中,杆状物点云数据可以是用来表示三维空间中杆状物表面信息的一种数据形式,具体可以表示为杆状物表面上某个位置点的三维坐标(如经度,维度,高度)。
71.在一些实施例中,可以沿着杆状物点云数据的纵向方向,将杆状物点云数据切分成至少两段第一点云数据,每段为一组第一点云数据。在一些实施例中,可以按照相同或者不同的高度对该杆状物点云数据进行切分。也就是说,在杆状物点云数据的纵向方向上,可以将杆状物点云数据平均切分成多段高度相同的第一点云数据,或者,将杆状物点云数据切分成不同高度的多段第一点云数据,具体可以根据实际情况确定,本公开实施例对此不作限定。应理解的是,该实施例中的纵向方向是与水平方向垂直的方向,也可以理解为是杆状物的高度方向。
72.在一些实施例中,可以将多段第一点云数据中的每一段分别拟合成对应的第一拟合圆,多段第一点云数据可以对应拟合得到多个第一拟合圆的参数,该参数至少包括圆心。在一些实施例中,由于每一段第一点云数据中各点具有相同或不同的高度,因此可以通过将该段第一点云数据中的所有三维点投影至垂直于纵向方向的一个平面上的方式得到二维点,进而再基于该二维点拟合得到对应的第一拟合圆及该第一拟合圆的圆心。拟合算法例如可以采用ransac算法,当然可以理解的是,也可以采用其他拟合算法,本公开实施例对此不作限定。
73.在一些实施例中,将基于杆状物点云数据分段得到的至少两段第一点云数据分别拟合成第一拟合圆之后,可以采用拟合算法,例如ransac算法,对多个第一拟合圆的圆心进行直线拟合,得到的拟合直线则可以作为该杆状物的杆中心轴线。通过这种先分段拟合得到圆,再基于这些圆的圆心拟合直线而得到杆状物的杆中心轴线的方式,能够过滤杆上附着物、杆分支等不规则形状对杆状地图元素模型的拟合带来的噪声,并且具有较好的鲁棒性。
74.在一些实施例中,在确定了杆状物的杆中心轴线之后,可以基于杆中心轴线以及杆状物点云数据建模得到该杆状物对应的杆状地图元素。在一些实施例中,可以将杆状地图元素建模成以杆中心轴线为中心线的柱状模型,并且该柱状模型的外表面基于采集到的杆状物点云数据进行建模,因此能够拟合出接近于现实世界中对应的杆状物的真实形状。
75.本公开实施例提供一种杆状地图元素的建模方法,该方法首先将采集得到的杆状物点云数据,在纵向方向上切分成多段点云数据;然后将多段点云数据中的每一段分别进行圆拟合,也即每一段点云数据拟合成一个圆;之后对多个拟合圆的圆心进行直线拟合,得到该杆状物的杆中心轴线,进而再基于杆中心轴线以及该杆状物点云数据对杆状地图元素进行建模。本公开实施提供的上述建模方法,通过对杆状物点云数据进行分段圆拟合,由于分段拟合得到的大多数圆的圆心接近于真实杆状物的杆中心轴线,因此基于这些圆心进行
直线拟合,可以得到准确率更高的杆中心轴线,之后对该杆状地图元素进行分段建模,每一段建模数据对应圆心位于该杆中心轴线的圆,且该圆的半径由该段建模数据对应的杆状物点云数据确定,因此基于上述分段建模数据可以得到接近于真实杆状物的外表面数据,从而能够得到精度高、鲁棒性好的杆状地图元素的模型数据。
76.在本实施例的一个可选实现方式中,步骤s103,即基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心的步骤,进一步可以包括以下步骤:
77.将每段所述第一点云数据投影到垂直于所述纵向方向的一个平面上,得到该段第一点云数据对应的二维点云数据;
78.对所述二维点云数据进行圆形拟合,得到所述第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心。
79.该可选的实现方式中,如上文中所述,第一点云数据是三维点云,通过将切分得到的每一段上的全部或者部分第一点云数据投影到垂直于纵向方向的一个平面上之后,可以得到位于该一平面上的一组二维点云,也就是说相当于将切分得到的每一段上的三维点云投影到一个平面,进而采用圆形拟合算法对得到的二维点云数据进行圆形拟合,可以得到第一拟合圆,每一段第一点云数据对应一个第一拟合圆。在得到多个第一拟合圆之后,也同样可以得到每个第一拟合圆的参数,例如该参数包括圆心。在一些实施例中,该圆形拟合算法例如为ransac算法。
80.在一些实施例中,不同段的第一点云数据可以投影于相同的投影平面,或者投影于不同的投影平面。
81.在本实施例的一个可选实现方式中,所述将每段所述第一点云数据投影到垂直于所述纵向方向的一个平面上,得到该段第一点云数据对应的二维点云数据的步骤,进一步可以包括以下步骤:
82.将每段所述第一点云数据中的高度设置为所述平面的高度,得到对应的所述二维点云数据。
83.在一些实施例中,可以将同一段第一点云数据中的高度设置为一个平面的高度,比如该高度为0或者其他数值。
84.可以理解的是,在分段拟合圆的过程中,对于每段第一点云数据,通过将三维点云压缩到二维空间,可以极大的增加点云的密度,从而克服了因点云稀疏导致的拟合不准确的问题。
85.本公开实施例在分段拟合圆时,将每一段的第一点云数据从三维点云压缩到二维空间后进行圆形拟合,而并未直接使用切分得到的每一段的第一点云数据拟合圆柱,从而减少了拟合参数的个数,也降低了拟合难度,对于点数较少的情况,具有更好的鲁棒性。
86.在本实施例的一个可选实现方式中,所述参数进一步包括第一拟合圆的边缘线;在步骤s103之后,即基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数的步骤之后,所述方法还可以进一步包括以下步骤:
87.确定每段所述第一点云数据中每一个点云数据在垂直于所述纵向方向的水平方向上至对应的所述第一拟合圆的边缘线的矢量距离;
88.基于每段所述第一点云数据对应的所述矢量距离确定对应的所述第一拟合圆的
拟合残差;
89.将所述拟合残差不满足残差阈值条件的所述第一拟合圆,从多个所述第一拟合圆中剔除。
90.该可选的实现方式中,如上文中所述,现实道路上的杆状物通常不是规则的圆柱形,并且其上可能会有一些附着物,分段圆拟合得到的第一拟合圆的圆心不一定在该杆状物的实际杆中心轴线上,如果基于该些第一拟合圆的圆心进行直线拟合确定杆状物的实际杆中心轴线,可能会带来较多噪声,从而导致拟合得到的杆中心轴线与杆状物的实际杆中心轴线偏差较大。为此,本实施例在拟合得到第一拟合圆之后,需要对得到的第一拟合圆进行噪声滤除,也即将圆心大概率不在杆状物的实际杆中心轴线上的第一拟合圆剔除,而保留圆心在杆状物的实际杆中心轴线上的第一拟合圆,并进行下一步的直线拟合。
91.在一些实施例中,通过第一拟合圆的拟合残差进行噪声滤除,可以预先确定拟合残差阈值,在第一拟合圆的拟合残差大于该预先确定的拟合残差阈值时,认为该第一拟合圆不符合上述要求,作为噪声被滤除。
92.在一些实施例中,第一拟合圆的拟合残差可以如下计算:在圆拟合时,针对同一段的第一点云数据,将同一段第一点云数据中的每一个点云数据投影于垂直于纵向方向的一个平面上,得到一组二维点云数据,并基于该一组二维点云数据进行圆拟合得到第一拟合圆。本实施例中,拟合得到第一拟合圆后,还可以确定该一组二维点云数据中每一个二维点云数据分别至该第一拟合圆的边缘线的矢量距离,并将该一组二维点云数据对应的多个矢量距离相加后再除以该一组二维点云数据的点云数量,可以得到该第一拟合圆的拟合残差。可以理解的是,第一拟合圆的拟合残差不限于上述一种计算方式,本公开实施例对此不作限定。
93.在一些实施例中,拟合残差阈值可以设置为2cm、1cm或其他数值,本公开实施例对此不作限定。
94.在一些实施例中,拟合残差大于或等于拟合残差阈值,可以理解为拟合残差不满足残差阈值条件。
95.该可选的实现方式中,在得到每个第一拟合圆的拟合残差之后,通过判断拟合残差是否满足残差阈值条件,来判断对应的第一拟合圆是否合格;在拟合残差不满足残差阈值条件时,可以确定该第一拟合圆不合格,从而可以将该第一拟合圆从多个第一拟合圆中剔除,并将剩余的第一拟合圆保留下来,即剩余的第一拟合圆是合格的。这种通过第一拟合圆的拟合残差将不合格的第一拟合圆剔除的方式,可以筛选出符合要求的第一拟合圆,从而降低了噪声干扰,提高了拟合精度。
96.在本实施例的一个可选实现方式中,在步骤s103之后,即基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数的步骤之后,所述方法还可以进一步包括以下步骤:
97.基于所述第一点云数据对应的二维点云数据,沿所述第一拟合圆的边缘线所覆盖的长度与所述第一拟合圆的周长的比值确定点云覆盖度;
98.将所述点云覆盖度不满足覆盖度阈值条件的所述第一拟合圆,从多个所述第一拟合圆中剔除。
99.该可选的实现方式中,如上文中所述,现实道路上的杆状物通常不是规则的圆柱
形,并且其上可能会有一些附着物,分段圆拟合得到的第一拟合圆的圆心不一定在该杆状物的实际杆中心轴线上,如果基于该些第一拟合圆的圆心进行直线拟合确定杆状物的实际杆中心轴线,可能会带来较多噪声,从而导致拟合得到的杆中心轴线与杆状物的实际杆中心轴线偏差较大。为此,本实施例在拟合得到第一拟合圆之后,需要对得到的第一拟合圆进行噪声滤除,也即将圆心大概率不在杆状物的实际杆中心轴线上的第一拟合圆剔除,而保留圆心在杆状物的实际杆中心轴线上的第一拟合圆,并进行下一步的直线拟合。
100.在一些实施例中,通过点云数据对于所拟合得到的第一拟合圆的点云覆盖度进行噪声滤除,可以预先确定覆盖度阈值,在第一拟合圆的点云覆盖度小于或等于该预先确定的覆盖度阈值时,认为该第一拟合圆不符合上述要求,作为噪声被滤除。
101.在一些实施例中,第一拟合圆的点云覆盖度可以理解为用于拟合第一拟合圆的二维点云数据,沿该第一拟合圆的边缘线所覆盖的长度与该第一拟合圆的周长的比值。如图2所示,在中间靠下区域示出了一组二维点云数据和第一拟合圆的覆盖关系,假设该图中二维点云数据沿该第一拟合圆的边缘线所覆盖的长度为l,基于该第一拟合圆的半径r得到该第一拟合圆的周长为2πr,该第一拟合圆的点云覆盖度为l/2πr。在该实施例中,覆盖度阈值可以设置为1/2、2/3或其他可能的数值,具体根据实际建模精度的要求来定,本公开实施例对此不作限定。
102.在另一些可选实施例中,第一拟合圆的点云覆盖度还可以理解为用于拟合该第一拟合圆的二维点云数据在该第一拟合圆的圆周上的覆盖率,例如可以将第一拟合圆的点云覆盖度确定为二维点云数据覆盖第一拟合圆的圆周度数。如图2所示,在中间靠下区域示出了点云数据和第一拟合圆的覆盖关系,该图中点云数据覆盖了第一拟合圆超过一半的圆周,也即该第一拟合圆的点云覆盖度超过了180度。在一些实施例中,覆盖度阈值可以设置为120度、180度或其他可能的度数,具体根据实际建模精度的要求来定,本公开实施例对此不作限定。
103.在一些实施例中,点云覆盖度小于或等于覆盖度阈值,可以理解为点云覆盖度不满足覆盖度阈值条件。
104.该可选的实现方式中,在得到每个第一拟合圆的点云覆盖度之后,通过判断点云覆盖度是否满足覆盖度阈值,以判断对应的第一拟合圆是否合格;在点云覆盖度不满足覆盖度阈值时,可以确定该第一拟合圆是不合格的,从而将该第一拟合圆从多个第一拟合圆中剔除,并将剩余的第一拟合圆保留下来,即剩余的第一拟合圆是合格的。这种通过第一拟合圆的拟合残差将不合格的第一拟合圆剔除的方式,可以筛选出符合要求的第一拟合圆,从而降低了噪声干扰,提高了拟合精度。
105.在一些实施例中,可以在第一拟合圆的拟合残差不满足残差阈值条件、和/或第一拟合圆的点云覆盖度不满足覆盖度阈值条件时,将该第一拟合圆从多个第一拟合圆中剔除,从而利用保留下来的第一拟合圆的圆心进行直线拟合,得到杆状物的杆中心轴线。
106.在本实施例的一个可选实现方式中,步骤s105,即基于所述杆中心轴线以及所述杆状物点云数据,建模所述杆状物对应的杆状地图元素的步骤,进一步可以包括以下步骤:
107.基于每段第一点云数据,拟合得到每段第一点云数据对应的第二拟合圆,所述第二拟合圆的圆心位于所述杆中心轴线上;
108.将所述第一点云数据对应的所述第二拟合圆的半径以及圆心,确定为所述杆状地
图元素的建模数据。
109.该可选的实现方式中,在拟合得到杆状地图元素的杆中心轴线之后,可以利用采集的第一点云数据以及该杆中心轴线拟合该杆状地图元素的建模数据。为此,在一些实施例中,可以针对之前切分得到的至少两段第一点云数据中每一段重新进行圆形拟合,在重新拟合圆时,可以预先将该圆的圆心设置在该杆中心轴线上,并基于圆拟合算法如最小二乘法等拟合得到对应的第二拟合圆。这种方式得到的所有第二拟合圆都以杆中心轴线上的点为圆心,而其圆半径取决于该段第一点云数据的分布,其大致与现实道路上的杆状物的圆柱形表面相符合。需要说明的是,在拟合第二拟合圆时,可以将一段第一点云数据投影到同一投影平面之后,将该杆中心轴线与该投影平面的交点作为该段第一点云数据对应的第二拟合圆的圆心,之后再基于该圆心以及该段第一点云数据拟合得到第二拟合圆的圆半径。最终,所有第一点云数据对应的第二拟合圆以及每个第二拟合圆的圆半径可以作为杆状地图元素的建模数据,从而在渲染地图时可以渲染出与现实道路上的对应杆状物外形一致的元素模型。
110.在本实施例的一个可选实现方式中,步骤s105,即基于所述杆中心轴线以及所述杆状物点云数据建模所述杆状地图元素的步骤,进一步可以包括以下步骤:
111.在所述杆状物点云数据的纵向方向上,将所述杆状物点云数据重新进行分段,得到至少两段第二点云数据;
112.基于每段第二点云数据,拟合得到每段第二点云数据对应的第三拟合圆,所述第三拟合圆的圆心位于所述杆中心轴线上;
113.将所述第二点云数据对应的所述第三拟合圆的半径以及圆心,确定为所述杆状地图元素的建模数据。
114.该可选的实现方式中,在拟合得到杆状地图元素的杆中心轴线之后,可以利用采集的第一点云数据以及该杆中心轴线拟合该杆状地图元素的建模数据。为此,在一些实施例中,可以在杆状物点云数据的纵向方向上,对该杆状物点云数据进行重新切分,切分后得到的多段第二点云数据的高度可以相同或不同。然后,针对重新切分后得到的多段第二点云数据中的每一段第二点云数据进行圆形拟合,在拟合圆时,可以预先将圆的圆心设置在杆中心轴线上,并基于圆拟合算法如最小二乘法等拟合得到对应的第三拟合圆。这种方式得到的所有第三拟合圆都以杆中心轴线上的点为圆心,而其圆半径取决于该段第二点云数据的分布,其大致与现实道路上的杆状物的圆柱形表面相符合。需要说明的是,在拟合第三拟合圆时,可以将一段第二点云数据投影到同一投影平面之后,将该杆中心轴线与该投影平面的交点作为该段第二点云数据对应的第三拟合圆的圆心,之后再基于该圆心以及该段第二点云数据拟合得到第三拟合圆的圆半径。最终,所有第二点云数据对应的第三拟合圆以及每个第三拟合圆的圆半径可以作为杆状地图元素的建模数据,从而在渲染地图时可以渲染出与现实道路上的对应杆状物外形一致的元素模型。
115.在该实施例中,可以基于模型拟合精度的不同需求,对杆状物点云数据重新进行切分。可以理解为是,对杆状物点云数据重新进行切分得到的多段第二点云数据和上述实施中前次切分得到的多段第一点云数据的段数和高度均不同。在模型拟合精度要求较高时,可以切分出高度较低的第二点云数据,也即相较于前次切分得到多段第一点云数据的过程而言,重新切分得到多段第二点云数据的切分粒度更细,拟合得到的第三拟合圆更多,
基于该第三拟合圆和杆中心轴线建模得到的杆状地图元素的模型精度更高;而在模型拟合精度要求较低时,可以切分出高度较高的第二点云数据,也即相较于前次切分得到多段第一点云数据的过程而言,重新切分得到多段第二点云数据的切分粒度更大,拟合得到的第三拟合圆更少,基于该第三拟合圆和杆中心轴线建模得到的杆状地图元素的模型精度更低,但是能够提高计算效率。
116.需要说明的是,在拟合得到杆状地图元素的杆中心轴线之后,无论是直接使用切分得到的多段第一点云数据中每一段重新进行圆形拟合,还是对杆状物点云数据进行重新切分得到多段第二点云数据,并基于该多段第二点云数据中每一段进行圆形拟合,最终都可以得到该杆状地图元素的建模数据。为此,通过这种分段圆拟合的方式,可以使得杆状地图元素被表示成共享中心轴的多段圆柱模型,从而可以克服因真实世界中杆状物的形状上下部分粗细不一而导致的拟合难度高、拟合精度差的问题。
117.通过上述实施例提供的杆状地图元素的建模方法,使得对于真实世界中杆状物例如交通杆状物中的挂牌杆、路灯杆、摄像头杆等竖杆能达到2cm内的模型拟合精度,且成功率高达98%。
118.根据本公开一实施方式,还提出了一种地图制作方法,该方法利用上述杆状地图元素的建模方法对地图中的杆状地图元素进行建模,并基于建模后的所述杆状地图元素制作地图。
119.该实施例中,杆状物作为现实道路上必不可少的交通设施,需要在电子地图上制作对应的杆状地图元素。本公开实施例中,针对现实道路上的杆状物可以基于上文中的杆状地图元素的建模方法进行建模,并将该杆状地图元素对应的建模数据与电子地图中的其他地图元素的建模数据关联存储。在地图渲染时,可以基于杆状地图元素的建模数据将该杆状地图元素渲染在地图页面的当前区域。
120.杆状地图元素的建模细节可以参见上文中对杆状地图元素的建模方法的描述,在此不再赘述。
121.图2示出根据本公开一实施方式的杆状地图元素的建模的一种实现示意图。如图2所示,最左侧的第一个子图为对现实道路中的杆状物的真实效果示意图。本实施例通过数据采集车扫描该杆状物后采集得到杆状物点云数据,并在该杆状物点云数据的纵向方向上,将该杆状物点云数据切分成至少两段第一点云数据,如图2中第二个子图和第三个子图所示,第三个子图中示出了其中三段第一点云数据对应的图像,而中间其他段用省略号代替。在第一拟合圆的拟合阶段,本实施例将切分得到的每段第一点云数据投影于一个平面上得到一组二维平面点云,并通过ransac方法对该组二维平面点云进行圆形拟合得到对应的第一拟合圆。为了滤除噪声,还检查每个第一拟合圆的拟合残差和点云覆盖度,将拟合残差和点云覆盖度不符合要求的第一拟合圆剔除,从而得到如图2中第五个子图所示的合格的多个第一拟合圆。针对保留下来的合格的第一拟合圆,再进行杆中心轴线的拟合,该过程中可以利用保留下来的所有第一拟合圆的圆心进行直线拟合,得到杆中心轴线。从该第五个子图可以看出,少量的第一拟合圆的圆心与多数的第一拟合圆的圆心不在同一条直线上,但是拟合得到的杆中心轴线依然与杆状物的实际杆中心轴线基本重合。在杆中心轴线确定后,可以基于该杆中心轴线以及该杆状物点云数据建模杆状地图元素,即建模得到如图2中最右侧的以杆中心轴线为圆心,以黑色箭头为半径的多个第二拟合圆(或第三拟合
圆),该些第二拟合圆(或第三拟合圆)的圆心以及半径即可作为杆状地图元素的建模数据记录在地图数据中,从而在渲染地图时,可以基于该建模数据渲染出与现实道路上的杆状物的外形相符合的杆状地图元素。
122.下述为本公开装置实施例,可以用于执行本公开方法实施例。
123.图3示出根据本公开一实施方式的杆状地图元素的建模装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,该建模装置包括:
124.获取模块301,被配置为获取杆状物点云数据;
125.切分模块302,被配置为沿着所述杆状物点云数据的纵向方向,将所述杆状物点云数据进行分段,得到至少两段第一点云数据;
126.第一拟合模块303,被配置为基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心;
127.第二拟合模块304,被配置为对所述第一拟合圆的圆心进行直线拟合,得到所述杆状地图元素的杆中心轴线;
128.建模模块305,被配置为基于所述杆中心轴线以及所述杆状物点云数据,建模所述杆状物对应的杆状地图元素。
129.本实施例中,该杆状地图元素的建模装置可以在地图制作服务器上执行。杆状地图元素可以是高精地图中对应于现实世界杆状物的模型元素。例如杆状地图元素可以对应于现实世界中的交通标志杆,如路灯杆、摄像头杆、红绿灯杆、挂牌杆等。
130.在对杆状地图元素建模之前,可以先通过点云采集车采集现实道路两侧出现的杆状物如交通标志杆等的杆状物点云数据。需要说明的是,本公开实施例中的杆状物点云数据可以包括但不限于装载在点云采集车上的激光雷达采集得到的点云数据,以及安装在点云采集车上的图像采集设备采集的图像,经过图像处理后生成的视觉点云数据。
131.相关技术中,基于该杆状物点云数据采用最小二乘、拟合算法(random sample consensus,ransac)、霍夫变换等装置,进行杆状地图元素模型的拟合,以得到杆状地图元素的建模数据。然而,由于现实中的杆状物不是严格的圆柱模型,其形状往往上细下宽,中间还会偶尔挂载其他物件,即是一个主体上细下粗的柱状物,且有其他不确定形状附着物的不规则形状,使得杆状地图元素模型的整体拟合装置受到杆状地图元素的形状不规则、其上附着物噪声的影响,从而导致现有拟合装置的拟合精度不高,且鲁棒性较差。因此,本公开实施例提出了一种杆状地图元素的建模装置。
132.在一些实施例中,本公开实施例提供的杆状地图元素的建模装置可以用于高精地图中杆状地图元素建模的场景中。
133.在一些实施例中,杆状物点云数据可以由点云采集车在采集道路信息时,通过激光等数据采集设备扫描道路两侧的杆状物的表面而获得。
134.在一些实施例中,杆状物点云数据可以是用来表示三维空间中杆状物表面信息的一种数据形式,具体可以表示为杆状物表面上某个位置点的三维坐标(如经度,维度,高度)。
135.在一些实施例中,可以沿着杆状物点云数据的纵向方向,将杆状物点云数据切分成至少两段第一点云数据,每段为一组第一点云数据。在一些实施例中,可以按照相同或者
不同的高度对该杆状物点云数据进行切分。也就是说,在杆状物点云数据的纵向方向上,可以将杆状物点云数据平均切分成多段高度相同的第一点云数据,或者,将杆状物点云数据切分成不同高度的多段第一点云数据,具体可以根据实际情况确定,本公开实施例对此不作限定。应理解的是,该实施例中的纵向方向是与水平方向垂直的方向,也可以理解为是高度方向。
136.在一些实施例中,可以将多段第一点云数据中的每一段分别拟合成对应的第一拟合圆,多段第一点云数据可以对应拟合得到多个第一拟合圆的参数,该参数至少包括圆心。在一些实施例中,由于每一段第一点云数据中各点具有相同或不同的高度,因此可以通过将该段第一点云数据中的所有三维点投影至垂直于纵向方向的一个平面上的方式得到二维点,进而再基于该二维点拟合得到对应的第一拟合圆及该第一拟合圆的圆心。拟合算法例如可以采用ransac算法,当然可以理解的是,也可以采用其他拟合算法,本公开实施例对此不作限定。
137.在一些实施例中,将基于杆状物点云数据分段得到的至少两段第一点云数据分别拟合成第一拟合圆之后,可以采用拟合算法,例如ransac算法,对多个第一拟合圆的圆心进行直线拟合,得到的拟合直线则可以作为该杆状物的杆中心轴线。通过这种先分段拟合得到圆,再基于这些圆的圆心拟合直线而得到杆状物的杆中心轴线的方式,能够过滤杆上附着物、杆分支等不规则形状对杆状地图元素模型的拟合带来的噪声,并且具有较好的鲁棒性。
138.在一些实施例中,在确定了杆状物的杆中心轴线之后,可以基于杆中心轴线以及杆状物点云数据建模得到该杆状物对应的杆状地图元素。在一些实施例中,可以将杆状地图元素建模成以杆中心轴线为中心线的柱状模型,并且该柱状模型的外表面基于采集到的杆状物点云数据进行建模,因此能够拟合出接近于现实世界中对应的杆状物的真实形状。
139.本公开实施例提供一种杆状地图元素的建模装置,该装置首先将采集得到的杆状物点云数据,在纵向方向上切分成多段点云数据;然后将多段点云数据中的每一段分别进行圆拟合,也即每一段点云数据拟合成一个圆;之后对多个拟合圆的圆心进行直线拟合,得到该杆状物的杆中心轴线,进而再基于杆中心轴线以及该杆状物点云数据对杆状地图元素进行建模。本公开实施提供的上述建模装置,通过对杆状物点云数据进行分段圆拟合,由于分段拟合得到的大多数圆的圆心接近于真实杆状物的杆中心轴线,因此基于这些圆心进行直线拟合,可以得到准确率更高的杆中心轴线,之后对该杆状地图元素进行分段建模,每一段建模数据对应圆心位于该杆中心轴线的圆,且该圆的半径由该段建模数据对应的杆状物点云数据确定,因此基于上述分段建模数据可以得到接近于真实杆状物的外表面数据,从而能够得到精度高、鲁棒性好的杆状地图元素的模型数据。
140.在本实施例的一个可选实现方式中,所述第一拟合模块,具体被配置为:
141.将每段所述第一点云数据投影到垂直于所述纵向方向的一个平面上,得到该段第一点云数据对应的二维点云数据;
142.对所述二维点云数据进行圆形拟合,得到所述第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心。
143.该可选的实现方式中,如上文中所述,第一点云数据是三维点云,通过将切分得到的每一段上的全部或者部分第一点云数据投影到垂直于纵向方向的一个平面上之后,可以
得到位于该一平面上的一组二维点云,也就是说相当于将切分得到的每一段上的三维点云投影到一个平面,进而采用圆形拟合算法对得到的二维点云数据进行圆形拟合,可以得到第一拟合圆,每一段第一点云数据对应一个第一拟合圆。在得到多个第一拟合圆之后,也同样可以得到每个第一拟合圆的参数,例如该参数为圆心。在一些实施例中,该圆形拟合算法例如为ransac算法。
144.在一些实施例中,不同段的第一点云数据可以投影于相同的投影平面,或者投影于不同的投影平面。
145.在本实施例的一个可选实现方式中,所述第一拟合模块,具体被配置为:
146.将每段所述第一点云数据中的高度设置为所述平面的高度,得到对应的所述二维点云数据。
147.在一些实施例中,可以将同一段第一点云数据中的高度设置为一个平面的高度,比如该高度为0或者其他数值。
148.可以理解的是,在分段拟合圆的过程中,对于每段第一点云数据,通过将三维点云压缩到二维空间,可以极大的增加点云的密度,从而克服了因点云稀疏导致的拟合不准确的问题。
149.本公开实施例在分段拟合圆时,将每一段的第一点云数据从三维点云压缩到二维空间后进行圆形拟合,而并未直接使用切分得到的每一段的第一点云数据拟合圆柱,从而减少了拟合参数的个数,也降低了拟合难度,对于点数较少的情况,具有更好的鲁棒性。
150.在本实施例的一个可选实现方式中,所述建模装置还包括:
151.第一确定模块,被配置为确定每段所述第一点云数据中每一个点云数据在垂直于所述纵向方向的水平方向上至对应的所述第一拟合圆的边缘线的矢量距离;
152.第二确定模块,被配置为基于每段所述第一点云数据对应的所述矢量距离确定对应的所述第一拟合圆的拟合残差;
153.第一剔除模块,被配置为将所述拟合残差不满足残差阈值条件的所述第一拟合圆,从多个所述第一拟合圆中剔除。
154.该可选的实现方式中,如上文中所述,现实道路上的杆状物通常不是规则的圆柱形,并且其上可能会有一些附着物,分段圆拟合得到的第一拟合圆的圆心不一定在该杆状物的实际杆中心轴线上,如果基于该些第一拟合圆的圆心进行直线拟合确定杆状物的实际杆中心轴线,可能会带来较多噪声,从而导致拟合得到的杆中心轴线与杆状物的实际杆中心轴线偏差较大。为此,本实施例在拟合得到第一拟合圆之后,需要对得到的第一拟合圆进行噪声滤除,也即将圆心大概率不在杆状物的实际杆中心轴线上的第一拟合圆剔除,而保留圆心在杆状物的实际杆中心轴线上的第一拟合圆,并进行下一步的直线拟合。
155.在一些实施例中,通过第一拟合圆的拟合残差进行噪声滤除,可以预先确定拟合残差阈值,在第一拟合圆的拟合残差大于该预先确定的拟合残差阈值时,认为该第一拟合圆不符合上述要求,作为噪声被滤除。
156.在一些实施例中,第一拟合圆的拟合残差可以如下计算:在圆拟合时,针对同一段的第一点云数据,将同一段第一点云数据中的每一个点云数据投影于垂直于纵向方向的一个平面上,得到一组二维点云数据,并基于该一组二维点云数据进行圆拟合得到第一拟合圆。本实施例中,拟合得到第一拟合圆后,还可以确定该一组二维点云数据中每一个二维点
云数据分别至该第一拟合圆的边缘线的矢量距离,并将该一组二维点云数据对应的多个矢量距离相加后再除以该一组二维点云数据的点云数量,可以得到该第一拟合圆的拟合残差。可以理解的是,第一拟合圆的拟合残差不限于上述一种计算方式,本公开实施例对此不作限定。
157.在一些实施例中,拟合残差阈值可以设置为2cm、1cm或其他数值,本公开实施例对此不作限定。
158.在一些实施例中,拟合残差大于或等于拟合残差阈值,可以理解为拟合残差不满足残差阈值条件。
159.该可选的实现方式中,在得到每个第一拟合圆的拟合残差之后,通过判断拟合残差是否满足残差阈值条件,来判断对应的第一拟合圆是否合格;在拟合残差不满足残差阈值条件时,可以确定该第一拟合圆不合格,从而可以将该第一拟合圆从多个第一拟合圆中剔除,并将剩余的第一拟合圆保留下来,即剩余的第一拟合圆是合格的。这种通过第一拟合圆的拟合残差将不合格的第一拟合圆剔除的方式,可以筛选出符合要求的第一拟合圆,从而降低了噪声干扰,提高了拟合精度。
160.在本实施例的一个可选实现方式中,所述建模装置还包括:
161.第三确定模块,被配置为基于所述第一点云数据对应的二维点云数据,沿所述第一拟合圆的边缘线所覆盖的长度与所述第一拟合圆的周长的比值确定点云覆盖度;
162.第二剔除模块,被配置为将所述点云覆盖度不满足覆盖度阈值条件的所述第一拟合圆,从多个所述第一拟合圆中剔除。
163.该可选的实现方式中,如上文中所述,现实道路上的杆状物通常不是规则的圆柱形,并且其上可能会有一些附着物,分段圆拟合得到的第一拟合圆的圆心不一定在该杆状物的实际杆中心轴线上,如果基于该些第一拟合圆的圆心进行直线拟合确定杆状物的实际杆中心轴线,可能会带来较多噪声,从而导致拟合得到的杆中心轴线与杆状物的实际杆中心轴线偏差较大。为此,本实施例在拟合得到第一拟合圆之后,需要对得到的第一拟合圆进行噪声滤除,也即将圆心大概率不在杆状物的实际杆中心轴线上的第一拟合圆剔除,而保留圆心在杆状物的实际杆中心轴线上的第一拟合圆,并进行下一步的直线拟合。
164.在一些实施例中,通过点云数据对于所拟合得到的第一拟合圆的点云覆盖度进行噪声滤除,可以预先确定覆盖度阈值,在第一拟合圆的点云覆盖度小于或等于该预先确定的覆盖度阈值时,认为该第一拟合圆不符合上述要求,作为噪声被滤除。
165.在一些实施例中,第一拟合圆的点云覆盖度可以理解为用于拟合第一拟合圆的二维点云数据,沿该第一拟合圆的边缘线所覆盖的长度与该第一拟合圆的周长的比值。如图2所示,在中间靠下区域示出了一组二维点云数据和第一拟合圆的覆盖关系,假设该图中二维点云数据沿该第一拟合圆的边缘线所覆盖的长度为l,基于该第一拟合圆的半径r得到该第一拟合圆的周长为2πr,该第一拟合圆的点云覆盖度为l/2πr。在该实施例中,覆盖度阈值可以设置为1/2、2/3或其他可能的数值,具体根据实际建模精度的要求来定,本公开实施例对此不作限定。
166.在另一些可选实施例中,第一拟合圆的点云覆盖度还可以理解为用于拟合该第一拟合圆的二维点云数据在该第一拟合圆的圆周上的覆盖率,例如可以将第一拟合圆的点云覆盖度确定为二维点云数据覆盖第一拟合圆的圆周度数。如图2所示,在中间靠下区域示出
了点云数据和第一拟合圆的覆盖关系,该图中点云数据覆盖了第一拟合圆超过一半的圆周,也即该第一拟合圆的点云覆盖度超过了180度。在一些实施例中,覆盖度阈值可以设置为120度、180度或其他可能的度数,具体根据实际建模精度的要求来定,本公开实施例对此不作限定。
167.在一些实施例中,点云覆盖度小于或等于覆盖度阈值,可以理解为点云覆盖度不满足覆盖度阈值条件。
168.该可选的实现方式中,在得到每个第一拟合圆的点云覆盖度之后,通过判断点云覆盖度是否满足覆盖度阈值,以判断对应的第一拟合圆是否合格;在点云覆盖度不满足覆盖度阈值时,可以确定该第一拟合圆是不合格的,从而将该第一拟合圆从多个第一拟合圆中剔除,并将剩余的第一拟合圆保留下来,即剩余的第一拟合圆是合格的。这种通过第一拟合圆的拟合残差将不合格的第一拟合圆剔除的方式,可以筛选出符合要求的第一拟合圆,从而降低了噪声干扰,提高了拟合精度。
169.在一些实施例中,可以在第一拟合圆的拟合残差不满足残差阈值条件、和/或第一拟合圆的点云覆盖度不满足覆盖度阈值条件时,将该第一拟合圆从多个第一拟合圆中剔除,从而利用保留下来的第一拟合圆的圆心进行直线拟合,得到杆状物的杆中心轴线。
170.在本实施例的一个可选实现方式中,所述建模模块,具体被配置为:
171.基于每段第一点云数据,拟合得到每段第一点云数据对应的第二拟合圆,所述第二拟合圆的圆心位于所述杆中心轴线上;
172.将所述第一点云数据对应的所述第二拟合圆的半径以及圆心,确定为所述杆状地图元素的建模数据。
173.该可选的实现方式中,在拟合得到杆状地图元素的杆中心轴线之后,可以利用采集的第一点云数据以及该杆中心轴线拟合该杆状地图元素的建模数据。为此,在一些实施例中,可以针对之前切分得到的至少两段第一点云数据中每一段重新进行圆形拟合,在重新拟合圆时,可以预先将该圆的圆心设置在该杆中心轴线上,并基于圆拟合算法如最小二乘法等拟合得到对应的第二拟合圆。这种方式得到的所有第二拟合圆都以杆中心轴线上的点为圆心,而其圆半径取决于该段第一点云数据的分布,其大致与现实道路上的杆状物的圆柱形表面相符合。需要说明的是,在拟合第二拟合圆时,可以将一段第一点云数据投影到同一投影平面之后,将该杆中心轴线与该投影平面的交点作为该段第一点云数据对应的第二拟合圆的圆心,之后再基于该圆心以及该段第一点云数据拟合得到第二拟合圆的圆半径。最终,所有第一点云数据对应的第二拟合圆以及每个第二拟合圆的圆半径可以作为杆状地图元素的建模数据,从而在渲染地图时可以渲染出与现实道路上的对应杆状物外形一致的元素模型。
174.在本实施例的一个可选实现方式中,所述建模模块,具体被配置为:
175.在所述杆状物点云数据的纵向方向上,将所述杆状物点云数据重新进行分段,得到至少两段第二点云数据;
176.基于每段第二点云数据,拟合得到每段第二点云数据对应的第三拟合圆,所述第三拟合圆的圆心位于所述杆中心轴线上;
177.将所述第二点云数据对应的所述第三拟合圆的半径以及圆心,确定为所述杆状地图元素的建模数据。
178.该可选的实现方式中,在拟合得到杆状地图元素的杆中心轴线之后,可以利用采集的第一点云数据以及该杆中心轴线拟合该杆状地图元素的建模数据。为此,在一些实施例中,可以在杆状物点云数据的纵向方向上,对该杆状物点云数据进行重新切分,切分后得到的多段第二点云数据的高度可以相同或不同。然后,针对重新切分后得到的多段第二点云数据中的每一段第二点云数据进行圆形拟合,在拟合圆时,可以预先将圆的圆心设置在杆中心轴线上,并基于圆拟合算法如最小二乘法等拟合得到对应的第三拟合圆。这种方式得到的所有第三拟合圆都以杆中心轴线上的点为圆心,而其圆半径取决于该段第二点云数据的分布,其大致与现实道路上的杆状物的圆柱形表面相符合。需要说明的是,在拟合第三拟合圆时,可以将一段第二点云数据投影到同一投影平面之后,将该杆中心轴线与该投影平面的交点作为该段第二点云数据对应的第三拟合圆的圆心,之后再基于该圆心以及该段第二点云数据拟合得到第三拟合圆的圆半径。最终,所有第二点云数据对应的第三拟合圆以及每个第三拟合圆的圆半径可以作为杆状地图元素的建模数据,从而在渲染地图时可以渲染出与现实道路上的对应杆状物外形一致的元素模型。
179.在该实施例中,可以基于模型拟合精度的不同需求,对杆状物点云数据重新进行切分。可以理解为是,对杆状物点云数据重新进行切分得到的多段第二点云数据和上述实施中前次切分得到的多段第一点云数据的段数和高度均不同。在模型拟合精度要求较高时,可以切分出高度较低的第二点云数据,也即相较于前次切分得到多段第一点云数据的过程而言,重新切分得到多段第二点云数据的切分粒度更细,拟合得到的第三拟合圆更多,基于该第三拟合圆和杆中心轴线建模得到的杆状地图元素的模型精度更高;而在模型拟合精度要求较低时,可以切分出高度较高的第二点云数据,也即相较于前次切分得到多段第一点云数据的过程而言,重新切分得到多段第二点云数据的切分粒度更大,拟合得到的第三拟合圆更少,基于该第三拟合圆和杆中心轴线建模得到的杆状地图元素的模型精度更低,但是能够提高计算效率。
180.需要说明的是,在拟合得到杆状地图元素的杆中心轴线之后,无论是直接使用切分得到的多段第一点云数据中每一段重新进行圆形拟合,还是对杆状物点云数据进行重新切分得到多段第二点云数据,并基于该多段第二点云数据中每一段进行圆形拟合,最终都可以得到该杆状地图元素的建模数据。为此,通过这种分段圆拟合的方式,可以使得杆状地图元素被表示成共享中心轴的多段圆柱模型,从而可以克服因真实世界中杆状物的形状上下部分粗细不一而导致的拟合难度高、拟合精度差的问题。
181.通过上述实施例提供的杆状地图元素的建模装置,使得对于真实世界中杆状物例如交通杆状物中的挂牌杆、路灯杆、摄像头杆等竖杆能达到2cm内的模型拟合精度,且成功率高达98%。
182.图4是适于用来实现根据本公开一实施方式的杆状地图元素的建模方法的电子设备的结构示意图。
183.如图4所示,电子设备400包括处理单元401,其可实现为cpu、gpu、fpga、npu等处理单元。处理单元401可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行本公开上述任一方法的实施方式中的各种处理。在ram403中,还存储有电子设备400操作所需的各种程序和数据。处理单元401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
184.以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
185.特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
186.附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
187.描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
188.作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
189.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
技术特征:
1.一种杆状地图元素的建模方法,其中,所述方法包括:获取杆状物点云数据;沿着所述杆状物点云数据的纵向方向,将所述杆状物点云数据进行分段,得到至少两段第一点云数据;基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心;对所述第一拟合圆的圆心进行直线拟合,得到所述杆状地图元素的杆中心轴线;基于所述杆中心轴线以及所述杆状物点云数据,建模所述杆状物对应的杆状地图元素。2.根据权利要求1所述的方法,其中,所述基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心,包括:将每段所述第一点云数据投影到垂直于所述纵向方向的一个平面上,得到该段第一点云数据对应的二维点云数据;对所述二维点云数据进行圆形拟合,得到所述第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心。3.根据权利要求2所述的方法,其中,所述将每段所述第一点云数据投影到垂直于所述纵向方向的一个平面上,得到该段第一点云数据对应的二维点云数据,包括:将每段所述第一点云数据中的高度设置为所述平面的高度,得到对应的所述二维点云数据。4.根据权利要求1-3任一项所述的方法,其中,所述参数进一步包括第一拟合圆的边缘线;所述基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数之后,所述方法还包括:确定每段所述第一点云数据中每一个点云数据在垂直于所述纵向方向的水平方向上至对应的所述第一拟合圆的边缘线的矢量距离;基于每段所述第一点云数据对应的所述矢量距离确定对应的所述第一拟合圆的拟合残差;将所述拟合残差不满足残差阈值条件的所述第一拟合圆,从多个所述第一拟合圆中剔除。5.根据权利要求2所述的方法,其中,所述基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数之后,所述方法还包括:基于所述第一点云数据对应的二维点云数据,沿所述第一拟合圆的边缘线所覆盖的长度与所述第一拟合圆的周长的比值确定点云覆盖度;将所述点云覆盖度不满足覆盖度阈值条件的所述第一拟合圆,从多个所述第一拟合圆中剔除。6.根据权利要求1-3任一项述的方法,其中,所述基于所述杆中心轴线以及所述杆状物点云数据,建模所述杆状物对应的杆状地图元素,包括:基于每段第一点云数据,拟合得到每段第一点云数据对应的第二拟合圆,所述第二拟合圆的圆心位于所述杆中心轴线上;将所述第一点云数据对应的所述第二拟合圆的半径以及圆心,确定为所述杆状地图元
素的建模数据。7.根据权利要求1-3任一项所述的方法,其中,所述基于所述杆中心轴线以及所述杆状物点云数据,建模所述杆状物对应的杆状地图元素,包括:在所述杆状物点云数据的纵向方向上,将所述杆状物点云数据重新进行分段,得到至少两段第二点云数据;基于每段第二点云数据,拟合得到每段第二点云数据对应的第三拟合圆,所述第三拟合圆的圆心位于所述杆中心轴线上;将所述第二点云数据对应的所述第三拟合圆的半径以及圆心,确定为所述杆状地图元素的建模数据。8.一种杆状地图元素的建模装置,其中,所述建模装置包括:获取模块,被配置为获取杆状物点云数据;切分模块,被配置为沿着所述杆状物点云数据的纵向方向,将所述杆状物点云数据进行分段,得到至少两段第一点云数据;第一拟合模块,被配置为基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数,所述参数至少包括:圆心;第二拟合模块,被配置为对所述第一拟合圆的圆心进行直线拟合,得到所述杆状地图元素的杆中心轴线;建模模块,被配置为基于所述杆中心轴线以及所述杆状物点云数据,建模所述杆状物对应的杆状地图元素。9.一种电子设备,其中,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1至7中任一项所述的方法。
技术总结
本公开实施例公开了一种杆状地图元素的建模方法、装置、设备及存储介质,所述方法包括:获取杆状物点云数据;沿着杆状物点云数据的纵向方向,将杆状物点云数据进行分段,得到至少两段第一点云数据;基于每段第一点云数据,拟合得到每段第一点云数据对应的第一拟合圆的参数;对第一拟合圆的圆心进行直线拟合,得到杆状地图元素的杆中心轴线;基于杆中心轴线以及杆状物点云数据,建模杆状物对应的杆状地图元素。该方法通过对杆状物点云数据进行分段拟合,可以得到接近于真实杆状物的杆中心轴线,再基于该杆中心轴线以及杆状物点云数据建模整个杆状地图元素模型,得到接近于真实杆状物的外表面数据,从而能够得到精度高、鲁棒性好的模型数据。好的模型数据。好的模型数据。
技术研发人员:王演成 包鑫 孙志明 葛增晔 罗玮绮 李剑锋 庄庭达 赵锟
受保护的技术使用者:高德软件有限公司
技术研发日:2023.03.27
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/