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

停车场的点云特征提取方法、装置、设备及介质与流程

2022-10-26 15:49:48 来源:中国专利 TAG:


1.本公开实施例涉及点云处理技术领域,尤其涉及一种停车场的点云特征提取方法、装置、设备及介质。


背景技术:

2.目前高精地图主要集中于高速与部分普通道路场景,并无停车场的高精地图,而自动驾驶最后一公里自动泊车却对高精地图有所诉求。而且在网约车领域,火车站、机场等上车点通常在地下停车场,现有标准地图(简称sd地图)也无法满足快速准确的司乘需求。在地下停车场中,由于全球定位系统(global positioning system,简称gps)信号遮蔽以及限高等限制,现有高精地图生成方案无法直接复用于地下停车场,因此,亟需一种停车场的点云特征提取方法,以满足停车场高精地图的建图需求。


技术实现要素:

3.为了解决上述技术问题,本公开实施例提供了一种停车场的点云特征提取方法、装置、设备及介质。
4.本公开实施例的第一方面提供了一种停车场的点云特征提取方法,该方法包括:获取停车场的点云数据和图像;从点云数据中提取得到车位线的点云数据,从图像中提取得到车位编号;根据车位线的点云数据中包含的三维点之间的相对位置关系,从车位线的点云数据中分离得到单条车位线的点云数据;根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给单条车位线的点云数据。
5.本公开实施例的第二方面提供了一种点云特征提取装置,该装置包括:
6.获取模块,用于获取停车场的点云数据和图像;
7.提取模块,用于从点云数据中提取得到车位线的点云数据,以及从图像中提取得到车位编号;
8.点云分离模块,用于根据车位线的点云数据中包含的三维点之间的相对位置关系,从车位线的点云数据中分离得到单条车位线的点云数据;
9.编号赋予模块,用于根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给该单条车位线的点云数据。
10.本公开实施例的第三方面提供了一种计算机设备,该计算机设备包括存储器和处理器,其中,存储器中存储有计算机程序,当该计算机程序被处理器执行时,可以实现上述第一方面的方法。
11.本公开实施例的第四方面提供了一种计算机可读存储介质,其中,该存储介质中存储有计算机程序,当该计算机程序被计算机设备执行时,使得计算机设备执行上述第一方面的方法。
12.本公开实施例的第五方面提供了一种计算机程序产品,该程序产品存储在存储介质中,当该程序产品被计算机设备的处理器执行时,使得处理器执行上述第一方面的方法。
13.本公开实施例提供的技术方案与现有技术相比具有如下优点:
14.本公开实施例,在获取到停车场的点云数据和图像后,通过从点云数据中提取车位线的点云数据,根据车位线的点云数据中包含的三维点之间的相对位置关系,能够准确的从点云数据中分离出单条车位线的点云数据;通过从图像中识别车位编号,根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给单条车位线的点云数据,能够准确建立车位编号和车位线点云数据之间的对应关系,使得车位线的点云数据具备编号属性,通过编号属性可提高车位线点云数据的可区分性,在将具备编号属性的车位线点云数据作为停车场高精地图的制作资料时,可提高停车场高精地图建图的准确性。
附图说明
15.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
16.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1是本公开实施例提供的一种点云特征提取场景的示意图;
18.图2是本公开实施例提供的一种停车场的点云特征提取方法的流程图;
19.图3是本公开实施例提供的一种示例性的数据划分方法的示意图;
20.图4是本公开实施例提供的一种提取车位线点云数据的方法的流程图;
21.图5是本公开实施例提供的一种点云分类方法的示意图;
22.图6是本公开实施例提供的一种提取车位线的点云数据的方法示意图;
23.图7是本公开实施例提供的一种车位线拟合方法的示意图;
24.图8是本公开实施例提供的一种车位线拟合的场景示意图;
25.图9是本公开实施例提供的一种点云特征提取装置的结构示意图;
26.图10是本公开实施例中的一种计算机设备的结构示意图。
具体实施方式
27.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
28.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
29.相关技术在停车场高精地图建图过程中通常采用如下方法提取停车场的特征:
30.方法一、通过计算机视觉算法对相机拍摄的照片进行去畸变处理,然后将去畸变后的照片转换成正摄影像,进而从正摄影像中提取出车位线。这种方法受到相机轨迹精度、照片畸变参数计算精度等影响,不能满足高精度需求。并且照片成像容易受到光线影响,无法保证车位线提取的准确性。
31.方法二、利用激光雷达在停车场检测到的点云数据进行地面拟合处理,得到地面点云数据,然后从地面点云数据中提取车位线的特征。这种方式得到的各条车位线的特征过于类似,区分性较弱,不利于后续建图过程中的特征匹配。
32.方法三、将停车场照片去畸变后转换成正摄影像,然后通过激光点云聚类来获取车辆的凸包,通过把车辆凸包投影到正摄影像中,以去掉照片中车辆的干扰。进而在照片中提取出车位信息。这种方式主要还是利用照片来提取车道线,仍然会受到畸变参数精度和相机轨迹精度的影响,精度较低。另外,基于激光点云的车辆凸包检测,容易误检,进而导致照片信息误删除,影响特征提取的准确性。
33.针对相关技术存在的问题以及停车场场景的建图需求,本公开实施例提供了一种停车场的点云特征提取方法。示例的,图1是本公开实施例提供的一种点云特征提取场景的示意图,如图1所示,该方法从停车场的点云数据中提取车位线的点云数据,从停车场的图像中提取停车场中包含的车位编号,然后根据车位线的点云数据中包含的三维点之间的相对位置关系,将彼此之间距离小于预设聚类距离的相邻三维点聚类到一条车位线上,得到停车场中包含的单条车位线的点云数据,进而根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给该条车位线的点云数据,使得车位线的点云数据具备编号属性。
34.该方法在提取出车位线的点云数据后,根据三维点之间的相对位置关系,能够准确的分离出单条车位线的点云数据,通过将车位编号赋值给与其距离小于预设距离的单条车位线的点云数据,使得车位线的点云数据具备编号属性,能够提高车位线点云数据的可区分性。另外,通过点云数据提取车位线的特征,能够避免基于照片提取车位线的方法存在的精度低的问题。
35.需要说明的是,图1仅是一种示例性的实施场景,而不是唯一场景,例如,在其他实施场景中车位线点云数据的提取和车位编号的提取也可以是顺序执行的。在顺序执行时车位线点云数据提取可以在前,车位编号提取在后,也可以车位编号提取在前,车位线点云数据提取在后。
36.为了更好的理解本公开实施例的方案,下面结合示例性的实施例对本公开实施例的方案进行说明。
37.图2是本公开实施例提供的一种停车场的点云特征提取方法的流程图,该方法可以由一种计算机设备执行,该计算机设备可以被理解为诸如台式电脑、笔记本电脑、服务器等具有计算和处理能力的设备。如图2所示,该方法包括:
38.步骤201、获取停车场的点云数据和图像。
39.其中,点云数据可以理解为通过采集车上搭载的激光传感器(比如,激光雷达)向空间中某个点发射激光,并测量其反射光强度(又称为反射率)和反射回来的时间,从而获得这个点的空间位置信息、材料信息(比如,颜色、材质、粗糙度等)等。将这样测量出的大量空间点聚在一起形成的空间点集合,被称为激光点云数据,简称点云数据。
40.停车场的图像可以通过采集车上搭载的拍摄设备(比如,rgb摄像头、深度摄像头等)在停车场中采集得到。
41.在本公开实施例的一种示例性的实施方式中,采集车可以在停车场中按照预设的轨迹行驶,并在行驶的过程中采集周围环境的点云数据和图像。在每个采集位置(即轨迹
点)上,采集车同时对点云数据和图像进行采集。也就是说本公开实施例的点云数据和图像在采集位置和采集时间上具有关联关系。
42.采集车采集到的点云数据和图像可以被关联存储在预设的数据源中,该数据源比如可以是硬盘、数据库、业务服务器等具有数据存储能力的设备。在执行本公开实施例的方法时可以从数据源中获取停车场的点云数据和图像。
43.需要说明的是,本公开实施例从数据源中获取到的点云数据和图像可以是整个停车场的点云数据和图像,也可以是停车场中部分区域的点云数据和图像。比如,在停车场被划分为多个分区时,可以先获取某一个分区的点云数据和图像,然后采用本公开实施例的特征提取方法对该分区的点云数据进行特征提取。例如在停车场包括a、b、c、d四个分区的情况下,可以先任意获取一个分区(比如a分区)的点云数据和图像进行特征提取,处理完之后再获取另一个分区,比如b分区的点云数据和图像进行特征提取,直到完成整个停车场的点云特征提取为止。
44.在一次性获取整个停车场的点云数据和图像的场景下,也可以对停车场的点云数据和图像,按照区域分区处理。在这种情况下,需要对停车场的点云数据和图像进行划分,然后根据划分结果,获取停车场部分区域的点云数据和图像进行处理。其中,数据划分的依据可以是采集轨迹的高程波动幅度,比如可以将高程波动小于预设阈值的连续轨迹上采集到的点云数据和图像化为一段,从而保证每段数据对应的地面高度是平稳的,确保每个分段特征提取的准确性。或者在其他实施方式中,数据划分的依据也可以是停车场自身的区域划分,将停车场中每个分区的点云数据和图像划为一段,以保证每段数据中的车位编号是的连续性。例如,停车场包括a、b、c、d四个分区,则可以将a区的点云数据和图像划分为一段,将b区的点云数据和图像划分为一段、将c区的点云数据和图像划分为一段、将d区的点云数据和图像划分为一段。
45.当然上述两种数据划分方式仅为示例性的方式而不是唯一方式,实际上,在其他实施方式中也可以将上述两种数据划分方式结合起来使用。比如,图3是本公开实施例提供的一种示例性的数据划分方法的示意图。在图3所示的方法中,在获取到停车场的点云数据和图像之后,可以先基于预设的转换关系,将停车场的图像转换成正摄影像,然后,基于预设的字符识别方法(比如,光学字符识别(optical character recognition,简称ocr),但不局限于ocr)识别出正摄影像中的车位编号。由于实际中,停车场的车位编号一般都具有分区信息,比如a区的车位编号可能是a####的格式,b区的车位编号可能是b####的格式。因此,根据提取的车位编号中的分区信息可以确定出属于同一分区的车位编号,然后根据图像与轨迹点之间的对应关系,将车位编号与对应的轨迹点进行关联,并根据轨迹点与点云数据之间的对应关系,确定出属于同一分区的点云数据。进一步的,根据同一分区中轨迹点的高程波动情况,如果同一分区的高程波动小于预设阈值,则不用进一步进行划分,如果同一分区的高程波动大于或等于预设阈值,则可以根据高程波动情况,进一步的,对同一分区的点云数据和图像进行划分,将同一分区中高程波动小于预设阈值的子区域中点云数据和图像划为一个分段。
46.在图3所示的数据划分方法中,通过车位编号中的分区信息,将同一分区的点云数据和图像划分到一起,然后根据采集轨迹的高程变化,在同一分区中将高程波动小于预设阈值的区域的点云数据和图像划为一段,不但能够保证同一分段中的地面的高度稳定,还
能够保证同一分段中的车位编号的连续性,为提高特征提取的准确性提供了数据保障。
47.步骤202、从点云数据中提取得到车位线的点云数据,以及从图像中提取得到车位编号。
48.本公开实施例从点云数据中提取车位线点云数据的方法有多种。
49.比如在一种示例性的方法中,可以将点云数据输入到预设的第一模型中,通过第一模型从点云数据中提取得到车位线的点云数据。其中,第一模型可以理解为一种具有车位线点云提取能力的模型,该模型可以采用相关技术中的模型训练方法训练得到,其训练过程本公开实施例不做限定。
50.再比如,在另一种示例性的方法中,还可以根据预设的地面参考高度从点云数据中提取出地面参考高度周围预设范围内的点云数据作为地面点云数据,然后通过预设的第二模型从地面点云数据中提取出车位线的点云数据。通过从停车场的点云数据中提取出地面点云数据,再通过第二模型从地面点云数据中提取车位线的点云数据,可以提高车位线点云数据提取的准确性。
51.当然上述两种车位线点云数据的提取方法仅是两种示例性的方法而不是唯一方法。
52.示例的,在本公开实施例中,提取车位编号的方法也可以有多种,比如在一种方式中,可以通过预设的编号提取模型从停车场的图像中提取车位编号。在另一种方式中也可以通过字符识别的方法,比如ocr,从图像中识别出车位编号。实际中,可以根据需要选择相应的车位编号提取方法,本公开实施例在这里不再一一列举。
53.步骤203、根据车位线的点云数据中包含的三维点之间的相对位置关系,从车位线的点云数据中分离得到单条车位线的点云数据。
54.实际中,位于同一条车位线上的两个相邻的三维点之间的距离比较紧密,而位于不同车位线上的三维点之间的距离比较大。基于此,在本公开实施例的一种实施方式中,对聚类距离(为了便于区分以下简称第二聚类距离)进行了设置,然后根据车位线的点云数据中包含的三维点之间的相对位置关系,将彼此之间距离小于第二聚类距离的相邻三位点聚类到同一个车位线上,进而使得车位线的点云数据中单条车位线的点云数据被分离出来。
55.在本公开实施例的另一种实施方式中,还可以根据车位线的点云数据中包含的三维点之间的相对位置关系,确定三维点和三维点之间的距离,并根据距离与紧密程度之间的映射关系,确定三维点之间的紧密程度(距离越近紧密程度越高),进而根据三维点之间的紧密程度,在车位线的点云数据中统计出三维点分布密集的区域,将单个分布密集区域中的点云数据确定为单条车位线的点云数据。
56.步骤204、根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给该条车位线的点云数据。
57.实际中,一个车位由四条车位线组成,示例的,这四条车位线中可以包括竖直方向上长度较长的两条长边线和水平方向上长度较短的两条短边线。本公开实施例所称的单条车位线可以理解为上述车位中的一条长边线或短边线。
58.本公开实施例预先对同一个车位中的车位编号和车位线(包括车位中竖直方向上的长边线和/或水平方向上的短边线)之间的距离关系进行统计,然后根据统计结果设定车位编号与车位线中的长边线和/或短边线之间的距离阈值(即预设距离)。
59.在一个实施方式中,基于步骤202和步骤203的方法得到单条车位线的点云数据以及停车场中的车位编号之后,可以根据提取出该车位编号的图像的图像坐标系与预设的三维空间(比如停车场所在的三维空间)的三维坐标系之间的映射关系,将车位编号投影到三维空间中得到车位编号在三维空间中的位置,然后根据车位编号和单条车位线在该三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给该条车位线的点云数据,使得该条车位线的点云数据具备编号属性。
60.在又一个实施方式中,对于某个单条车位线来说,如果其周围没有与其距离小于预设距离的车位编号,则可以分别从该条车位线的两侧(比如左右两侧,或上下两侧)查找与其距离最近,且具有车位编号的车位线,然后根据查找到的这两条车位线的编号进行插值处理,得到插值编号,从而将插值编号赋予该条车位线。比如,某条车位线c左侧距离其最近的车位线对应的车位编号是a123,右侧距离其最近的车位线对应的车位编号是a125,则插值结果为a124,将a124赋予给车位线c。
61.在单条车位线周围没有与其距离小于预设距离的车位编号时,通过对其两侧与其距离最近的两个车位线的编号进行插值,并将插值得到的编号赋予给该条车位线,能够解决车位编号被遮挡时的车位线赋值问题,提高车位线点云数据编号赋值的准确性。
62.本公开实施例,在获取到停车场的点云数据和图像后,通过从点云数据中提取车位线的点云数据,根据车位线的点云数据中包含的三维点之间的相对位置关系,能够准确的从点云数据中分离出单条车位线的点云数据;通过从图像中识别车位编号,根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给单条车位线的点云数据,能够准确建立车位编号和车位线点云数据之间的对应关系,使得车位线的点云数据具备编号属性,通过编号属性可提高车位线点云数据的可区分性,在将具备编号属性的车位线点云数据作为停车场高精地图的制作资料时,可提高停车场高精地图建图的准确性。
63.图4是本公开实施例提供的一种提取车位线点云数据的方法的流程图,如图4所示,该方法包括:
64.步骤401、对点云数据进行分类处理,得到地面点云数据和立面点云数据。
65.其中,本实施例中所称的点云数据可以示例性的理解为停车场中部分区域的点云数据,该区域的高程波动小于预设阈值和/或属于停车场的同一分区。
66.本公开实施例中所称的立面点云数据可以理解为伫立在地面上的平面的点云数据。
67.在本公开实施例中,点云数据的分类方法可以包括多种,为了方便理解,下面以几种示例性的分类方式进行示例说明:
68.方式一,可以通过预设的分类模型从停车场的点云数据提取得到地面点云数据和立面点云数据。
69.方式二,通过平面拟合的方法在停车场的点云数据进行平面拟合,将拟合得到的面积大于预设面积,且法线方向朝向地面上方的平面确定为地面,将法线方向朝向水平方向的平面确定为立面,从而地面上的点云数据即为地面点云数据,立面上的点云数据即为立面点云数据。
70.方式三,可以将点云数据分割成多个体素,其中,体素是体积元素(volume pixel)
的简称,包含体素的立体可以通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来,体素是三维空间分割上的最小单位。通过对体素进行主成分分析(principle component analys,简称pca)得到体素中点云分布最多的三个方向,然后根据体素中的点云数据在上述三个方向上的分布波动情况,从多个体素中提取出平面体素,其中,平面体素是指其中一个方向上的波动幅度与其他两个方向上的波动幅度的差值绝对值大于或等于预设幅度的体素。进一步的,在平面体素中,波动幅度最小的方向,即法向方向,朝向地面上方的平面体素可以确定为地面体素,波动幅度最小的方向朝向水平方向的平面体素可以确定为立面体素,从而地面体素中的点云数据即为地面点云数据,立面体素中的点云数据即为立面点云数据。
71.举例来说,图5是本公开实施例提供的一种点云分类方法的示意图,如图5所示,在对点云数据进行分类之前,可以先从点云数据的采集轨迹上确定出一个轨迹点作为参考轨迹点。其中,在确定参考轨迹点时,可以从点云数据对应的采集轨迹上任意选取一点,也可以根据预设的规则来选择符合规则的轨迹点作为参考轨迹点,比如在一种示例性的实施方式中可以根据点云数据对应的采集轨迹的位置,确定出包含采集轨迹的多边形区域,该多边形区域可以示例性的理解为包含该采集轨迹的最小多边形区域,但不局限于最小多边形区域。进一步的,可以将采集轨迹上与该多边形区域的中心点距离最近的轨迹点确定为参考轨迹点。将采集设备(比如、激光雷达)自身在参考轨迹点上的坐标系作为参考坐标系,从而通过将点云数据全部转换到参考坐标系中,以减少地面起伏对地面点云数据和立面点云数据识别的干扰。其中,对于坐标转换后的点云数据,本公开实施例根据采集设备的高度将高度高于采集设备的点云数据删除掉,以减少点云数据的数据量。对于剩余的点云数据,可以通过预设的体素大小,对剩余点云数据的分布空间进行分割,得到多个体素,其中,每个体素可以理解为一个预设大小的立方体,立方体中包括被该立方体分割的点云数据。在每个体素中,可以通过pca的方法确定出点云分布最多的三个方向,比如,记为x方向,y方向和z方向。假设体素中的点云分布在x方向上的波动幅度与y方向上的波动幅度的差值绝对值大于或等于预设幅度,且x方向上的波动幅度与z方向上的波动幅度的差值绝对值也大于或等于预设幅度,则确定该体素为平面体素。进一步的,如果三个方向中波动幅度最小的方向x是朝向地面上方的,则确定该平面体素是地面体素,如果方向x是朝向水平方向的,则确定该体素是立面体素。地面体素中的点云数据即为地面点云数据,立面体素中的点云数据即为立面点云数据。
72.通过将点云数据划分成多个体素,再根据每个体素中的点云分布情况,对地面点云数据和立面点云数据进行分类,缩小了点云数据分类的粒度,提高了点云数据分类的精度。
73.步骤402、根据地面点云数据中包含的三维点的反射强度信息,从地面点云数据中提取得到反射强度大于阈值强度的三维点作为车位线的点云数据。
74.示例的,图6是本公开实施例提供的一种提取车位线的点云数据的方法示意图,如图6所示,在本公开实施例的一种实施方式中,可以根据地面点云数据中包含的三维点的反射强度信息,建立地面反射强度直方图,直方图的横坐标为反射强度,纵坐标为点云数量。然后根据地面反射强度直方图,采用最大类间方差法(也称ostu),确定得到本公开实施例所称的阈值强度,将地面点云数据中反射强度大于阈值强度点的云数据确定为车位线的点
云数据。其中,采用最大类间方差法确定阈值强度的具体方法可以参见相关技术,在这里不再赘述。
75.通过确定地面反射强度直方图,采用最大类间方差法确定用于判断车位线点云数据的阈值强度,能够提高阈值强度对于当前停车场场景的针对性,进而提高车位线点云数据识别的准确性。
76.示例的,在本公开实施例的一种实施方式中,在从地面点云数据中提取得到单条车位线的点云数据,并为单条车位线的点云数据赋值车位编号之后,还可以根据立面点云数据与单条车位线之间的距离,将距离立面点云数据距离最近的单条车位线所对应的车位编号赋值给立面点云数据。
77.通过将车位编号赋值给立面点云数据,能够进一步增加点云数据的可区分性,清晰标记车位附近立面的信息,为地图建图过程中的特征匹配提供了数据保障。
78.示例的,在本公开实施例的一些实施方式中,在将地面点云数据中反射强度大于阈值强度的三维点作为车位线的点云数据之后,还可以包括对车位线的点云数据进行分组的步骤。具体包括:
79.s11、基于预设的第一聚类距离,对车位线的点云数据进行欧式聚类处理,得到至少一个车位线点云组。
80.考虑到,实际停车场中,同一排上一般包括多个连续的车位,且位于同一排的连续的多个车位的车位编号一般也是连续的。为了将位于同一排的多个连续车位的车位线点云数据被划分到同一车位线点云组中,提高点云特征提取的准确性,本公开实施例对对第一聚类距离进行了设置,使得基于第一聚类距离对车位线的点云数据进行欧式聚类之后,位于同一排的连续多个车位的车位线点云数据能够被聚类到同一个车位线点云组。具体的,可以基于第一聚类距离对车位线点云数据中的每个三维点周围的环境进行判断,将三维点周围第一聚类距离内的三维点划分到同一分组,然后将组间存在重叠部分的分组合并到一起形成一个分组,最终得到连续排列的多个车位的车位线点云组。
81.s12、删除点云数量小于预设数量的车位线点云组。
82.通过将连续排列的车位的车位线点云数据聚类到一个车位线点云组中,将点云数量小于预设数量的车位线点云组删除掉,能够去除误识别的车位线点云组,进而基于剩余的车位线点云组中包含的三维点之间的相对位置关系,即可准确识别出车位线点云组中包含的单条车位线的点云数据。
83.示例的,在本公开实施例的又一些实施方式中,在根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋予给该条车位线的点云数据之前,还可以包括拟合车位线的步骤,示例的,图7是本公开实施例提供的一种车位线拟合方法的示意图。如图7所示,该方法包括:
84.s21、在车位线点云组中,根据车位编号两侧距离车位编号距离最近的两条车位线之间的距离,确定单位车位宽度。
85.s22、基于车位编号两侧距离车位编号距离最远的两条车位线之间的距离,确定车位线点云组中包括的多个车位的总宽度。
86.s23、基于多个车位的总宽度和单位车位宽度,确定车位线点云组中包括的车位数量和车位线数量。
87.s24、响应于车位线点云组中分离出的单条车位线的数量小于车位线数量,在车位线点云组中拟合车位线,使得车位线点云组中的所有车位线到达拟合出的车位线的距离最近。
88.举例来说,图8是本公开实施例提供的一种车位线拟合的场景示意图,如图8所示,车位线l1、l2是车位编号“a####”两侧距离车位编号“a####”最近的两条车位线,l1和l2之间的距离h1即为单位车位宽度。l3和l4是车位编号“a####”两侧距离车位编号“a####”最远的两条车位线,l3和l4之间的距离h2为车位线点云组中包括的所有车位的总宽度,假设h2是h1的四倍,则图8中包括4个车位,对应的应该有5条竖直方向的车位线。但是实际中图8中紧包括4条车位线,缺少一条,这种情况可能是因为物体遮挡导致一条车位线没有采集到。为了解决遮挡等原因导致的车位线缺失,可以在图8所示的车位线点云组中进行车位线拟合,使得图8中的4条车位线到达该条车位线的距离最近,得到图8中用虚线表示的车位线。
89.通过在车位线缺失的情况下拟合车位线,对缺失的车位线进行补足,能够保证车位线点云数据的完整性,提高高精地图建图的准确性。
90.图9是本公开实施例提供的一种点云特征提取装置的结构示意图,该装置可以示例性的理解为上述计算机设备或者计算机设备中的部分功能模块。如图9所示,点云特征提取装置90,包括:
91.获取模块91,用于获取停车场的点云数据和图像;
92.提取模块92,用于从所述点云数据中提取得到车位线的点云数据,以及从所述图像中提取得到车位编号;
93.点云分离模块93,用于根据所述车位线的点云数据中包含的三维点之间的相对位置关系,从所述车位线的点云数据中分离得到单条车位线的点云数据;
94.编号赋予模块94,用于根据所述车位编号和所述单条车位线在三维空间中的距离,将与所述单条车位线距离小于预设距离的车位编号赋值给所述单条车位线的点云数据。
95.在一种实施方式中,获取模块91,可以用于获取停车场中部分区域的点云数据和图像,所述部分区域的高程波动小于预设阈值和/或所述部分区域属于所述停车场的同一分区。
96.在一种实施方式中,提取模块92可以包括:
97.分类子模块,用于对所述点云数据进行分类处理,得到地面点云数据和立面点云数据;
98.提取子模块,用于根据所述地面点云数据中包含的三维点的反射强度信息,从所述地面点云数据中提取得到反射强度大于阈值强度的三维点作为车位线的点云数据。
99.在一种实施方式中,编号赋予模块94,还用于将距离所述立面点云数据距离最近的单条车位线所对应的车位编号赋值给所述立面点云数据。
100.在一种实施方式中,点云特征提取装置90,还可以包括:第一处理模块,用于从所述点云数据的采集轨迹中确定一个轨迹点作为参考轨迹点;将采集设备在所述参考轨迹点上的坐标系作为参考坐标系,并将所述点云数据转换到所述参考坐标系中,得到转换后的点云数据;对转换后高程高于所述采集设备的点云数据进行删除处理,得到剩余的点云数据。
101.在一种实施方式中,第一处理模块,具体用于:基于所述点云数据的采集轨迹,确定包含所述采集轨迹的多边形区域;从所述采集轨迹中确定与所述多边形区域的中心点距离最近的轨迹点作为参考轨迹点。
102.在一种实施方式中,分类子模块,具体用于:基于预设的体素大小,将剩余的点云数据分割成多个体素;
103.针对每个体素,基于所述体素中的点云分布,确定所述体素中点云分布最多的三个方向;根据所述体素中的点云数据在所述三个方向上的分布波动情况,从所述多个体素中提取出平面体素,其中,所述平面体素是指其中一个方向上的波动幅度与其他两个方向上的波动幅度的差值绝对值大于或等于预设幅度的体素;将法向方向朝向地面上方的平面体素确定为地面体素,以及将法向方向朝向水平方向的平面体素确定为立面体素;将所述地面体素中的点云数据确定为地面点云数据,将所述立面体素中的点云数据确定为立面点云数据。
104.在一种实施方式中,点云特征提取装置90,还可以包括:
105.生成模块,用于基于所述地面点云数据中包含的三维点的反射强度信息,生成地面反射强度直方图;
106.确定模块,用于根据所述地面反射强度直方图,采用最大类方差间法,确定所述阈值强度。
107.在一种实施方式中,点云特征提取装置90,还可以包括:第二处理模块,用于基于预设的第一聚类距离,对所述车位线的点云数据进行欧式聚类处理,得到至少一个车位线点云组;删除点云数量小于预设数量的车位线点云组;
108.点云分离模块93,用于根据剩余车位线点云组中包含的三维点之间的相对位置关系,将彼此之间距离小于第二聚类距离的相邻三维点聚类到同一车位线上,得到所述车位线点云组中包含的单条车位线的点云数据。
109.在一种实施方式中,点云特征提取装置90,还可以包括:拟合模块,用于:
110.在所述车位线点云组中,根据车位编号两侧距离所述车位编号距离最近的两条车位线之间的距离,确定单位车位宽度;
111.基于所述车位编号两侧距离所述车位编号距离最远的两条车位线之间的距离,确定所述车位线点云组中包括的多个车位的总宽度;
112.基于所述多个车位的总宽度和所述单位车位宽度,确定所述车位线点云组中包括的车位数量和车位线数量;
113.响应于所述车位线点云组中分离出的单条车位线的数量小于所述车位线数量,在所述车位线点云组中拟合车位线,使得所述车位线点云组中的所有车位线到达拟合出的车位线的距离最近。
114.在一种实施方式中,编号赋予模块94,还用于获取所述单条车位线两侧距离所述单条车位线距离最近,且具有车位编号的车位线的车位编号;基于获取到的车位编号进行线性插值处理,得到插值编号;将所述插值编号赋值给所述单条车位线的点云数据。
115.本公开实施例提供的装置可以执行上述任一方法实施例,其执行方式和有益效果类似,在这里不再赘述。
116.本公开实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,其中,
所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时可以实现上述任一方法实施例的方法。
117.示例的,图10是本公开实施例中的一种计算机设备的结构示意图。下面具体参考图10,其示出了适于用来实现本公开实施例中的计算机设备1400的结构示意图。本公开实施例中的计算机设备1400可以包括但不限于诸如笔记本电脑、pad(平板电脑)、台式计算机、服务器等具有计算和数据处理能力的设备。图10示出的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
118.如图10所示,计算机设备1400可以包括处理装置(例如中央处理器、图形处理器等)1401,其可以根据存储在只读存储器(rom)1402中的程序或者从存储装置1408加载到随机访问存储器(ram)1403中的程序而执行各种适当的动作和处理。在ram 1403中,还存储有计算机设备1400操作所需的各种程序和数据。处理装置1401、rom 1402以及ram 1403通过总线1404彼此相连。输入/输出(i/o)接口1405也连接至总线1404。
119.通常,以下装置可以连接至i/o接口1405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1406;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1407;包括例如磁带、硬盘等的存储装置1408;以及通信装置1409。通信装置1409可以允许计算机设备1400与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的计算机设备1400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
120.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1404从网络上被下载和安装,或者从存储装置1408被安装,或者从rom 1402被安装。在该计算机程序被处理装置1401执行时,执行本公开实施例的方法中限定的上述功能。
121.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
122.上述计算机可读介质可以是上述计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。
123.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算机设备执行时,使得该计算机设备:获取停车场的点云数据和图像;从点云数据中提取得到车位线的点云数据,从图像中提取得到车位编号;根据车位线的点云数据中包含的三维点之间的相对位置关系,从车位线的点云数据中分离得到单条车位线的点云数据;根据车位编号和单条车位线在三维空间中的距离,将与单条车位线距离小于预设距离的车位编号赋值给单条车位线的点云数据。
124.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
125.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
126.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
127.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
128.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
129.本公开实施例还提供一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时可以实现上述图2-图8中任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
130.本公开实施例还提供一种计算机程序产品,所述程序产品存储在存储介质中,当所述程序产品被计算机设备的处理器执行时,使得所述处理器执行图2-图8中任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
131.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
132.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

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

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

相关文献