1.本发明涉及汽车智能驾驶技术,特别涉及用于标记由激光雷达获取的点云数据的方法、实施上述方法的装置以及计算机可读存储介质。
背景技术:2.通过感知环节采集周围环境的基本信息是自动驾驶的基础。通常采用诸如摄像头、毫米波雷达和激光雷达之类的传感器来感知环境。由于激光雷达具有远距离测量能力强、分辨率高、误报率低和温度适应性强等优点,其在业界已经成为感知环节的主流技术。
3.激光雷达又称光学雷达,其工作原理为:首先向目标发射激光束,然后根据反射激光的接收时间和强度信息确定目标物体的距离和反射率。典型的激光雷达包括激光发射器、扫描部件以及光接收部件。在车辆行驶过程中,激光雷达以相对于车辆的稳定角速度转动,同时不断向周围发射激光束并探测周围的物体,记录反射点信息(例如反射点距离、实时时间和水平角度等)以获得环境信息。激光雷达采集到的所有反射点的信息的集合即构成点云。
4.由于点云的数据量大且无序,因此为了提高处理速度,大部分的处理算法是先将点云数据网格化,然后再作进一步的处理(例如地面点云的分割等)。然而网格尺寸的选取是一个难点,其需要在分割精度和处理速度之间作出权衡。
5.由上可见,需要提供一种能够解决上述问题的点云数据处理方法和装置。
技术实现要素:6.本发明的一个目的是提供用于标记由激光雷达获取的点云数据的方法、装置以及计算机可读存储介质,其能够避免网格尺寸选取时如何在分割精度和处理速度之间作出权衡的困扰。
7.按照本发明一个实施例的用于标记由激光雷达获取的点云数据的方法包含下列步骤:
8.a)基于点云数据的疏密性特征,在当前点云数据帧中分割出地面点集合和非地面点集合;
9.b)由所述地面点集合确定道路点集合;以及
10.c)基于所述道路点集合标记可行驶区域。
11.可选地,在上述方法中,步骤a)包括:
12.a1)以所述当前点云数据帧中的每个点相对于激光雷达的水平角度和竖直角度为索引值来构建二维环视索引空间;以及
13.a2)在所述二维环视索引空间中,基于所述当前点云数据帧中的每个点相对于相邻行中的点的空间距离与间距阈值的比较结果,将该点归入所述地面点集合或非地面点集合。
14.可选地,在上述方法中,所述间距阈值的初始值基于激光雷达的线束分布参数和
安装高度确定,并且基于先前的点云数据帧更新所述间距阈值。
15.可选地,在上述方法中,进一步包括:
16.d1)利用随机抽样一致性算法,基于所述地面点集合中的至少一部分地面点生成地面参数;以及
17.d2)以所述地面参数更新所述间距阈值以用于后续的点云数据帧中的地面点集合和非地面点集合的分割。
18.可选地,在上述方法中,在所述步骤b)中,基于道路的连通性特征确定所述道路点集合。
19.可选地,在上述方法中,步骤b)包括:
20.b1)通过在所述二维环视索引空间内标记所述地面点集合和非地面点集合分别得到地面掩膜和障碍物掩膜;
21.b2)在所述地面点集合中随机选取靠近车辆的地面点作为种子点;
22.b3)以所述种子点在所述二维环视索引空间内的投影点为起点,在所述地面掩膜内进行区域生长以得到道路掩膜;以及
23.b4)由所述道路掩膜确定所述道路点集合并由所述障碍物掩膜确定障碍物点集合。
24.可选地,在上述方法中,步骤c)包括:基于所述道路点集合标记可行驶区域并且基于所述障碍物点集合标记不可行驶区域。
25.可选地,在上述方法中,在步骤c)中,所述可行驶区域和不可行驶区域在栅格图内标记,并且以属于同一激光线束的相邻两个地面点为起点和终点,一次标记一条线段的栅格区域。
26.按照本发明另一个实施例的用于标记由激光雷达获取的点云数据的装置包含:
27.存储器;
28.处理器;以及
29.存储在所述存储器上并可在所述处理器上运行的计算机程序,该计算机程序的运行使得下列步骤被执行:
30.a)基于点云数据的疏密性特征,在当前点云数据帧中分割出地面点集合和非地面点集合;
31.b)由所述地面点集合确定道路点集合;以及
32.c)基于所述道路点集合标记可行驶区域。
33.按照本发明另一个方面的计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时实现如上所述的方法。
34.在按照本发明的一些实施例中,通过利用点云数据的结构特征或疏密性特征,从中直接分割得到地面点云和非地面点云,因而避免了网格尺寸选取的困扰。此外,在按照本发明的一些实施例中,基于激光雷达的参数来精确刻画点云的疏密性特征,进而分割出地面点云和非地面点云,这种方式的算法复杂度低,能够满足实时性要求。再者,在本发明的一些实施例中,可以利用已经得到的分割结果来估计车辆姿态和更新分割算法的参数,从而消除车辆行驶过程中的姿态变化对点云分割产生的影响。
附图说明
35.本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:
36.图1为按照本发明一个实施例的用于标记由激光雷达获取的点云数据的装置的示意性框图。
37.图2为按照本发明另一个实施例的用于标记由激光雷达获取的点云数据的方法的流程图。
38.图3为按照本发明另一个实施例的用于分割出地面点集合和非地面点集合的方法的流程图。
39.图4为按照本发明另一个实施例的用于确定道路点集合的方法的流程图。
40.图5为按照本发明另一个实施例的用于更新间距阈值的方法的流程图。
41.图6a和6b分别为依照图3所述方式分割得到的地面点云和非地面点云的示意图。
42.图7a和7b分别为基于地面点云和非地面点云得到的地面掩膜和障碍物掩膜的示意图。
43.图8为示例性的道路掩膜示意图。
44.图9为示例性的经过标记处理后的栅格图。
45.图10为示例性的行驶环境状态的示意图。
具体实施方式
46.下面参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,以将本发明的保护范围更为全面地传达给本领域技术人员。
47.在本说明书中,诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
48.除非特别说明,诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
49.对于地面和障碍物来说,利用激光雷达采集的点云数据存在密度上的差异。按照本发明的一个方面,基于地面点云和非地面点云的疏密性或其在密度上的差异,直接从点云数据中分割出地面点云(以下又称为“地面点集合”)和非地面点云(以下又称为“非地面点集合”)。由于无需网格化的预处理步骤,因而避免了网格尺寸选取的困扰,并且提高了标记处理的速度。
50.对于点云数据帧中的每个点,其具有相对于激光雷达的水平角度和竖直角度。在本发明的一些实施例中,以每个点的水平角度和竖直角度为索引值来构建二维环视索引空间。示例性地,该二维环视索引空间可以矩阵形式表示。由此,点云的密度可以每个点与其相邻行中的点的空间距离来刻画,并通过将该空间距离与间距阈值进行比较来确定该点所属的点云类别(地面点云或非地面点云)。
51.对于间距阈值,其可以是固定不变的设定值,也可以是动态更新值。在本发明的一
些实施例中,可以基于激光雷达的线束分布参数和安装高度来确定间距阈值的初始值,并且随后基于对先前点云数据帧的分割结果来更新间距阈值,该更新的间距阈值被用于当前点云数据帧的地面点云与非地面点云的分割。由于先前的一个或多个点云数据帧通常包含了反映当前车辆行驶状态和激光雷达工作状态(例如车辆姿态和激光雷达角速度误差等)对点云数据采集的影响的信息,因此基于前一个或前几个点云数据帧的数据来更新间距阈值可以消除状态变化对点云分割产生的影响。
52.可选地,可以按照下列方式来更新间距阈值。首先,利用随机抽样一致性算法,基于当前帧中的地面点集合中的至少一部分地面点生成地面参数。随后,以所生成的地面参数来更新间距阈值以用于后续的点云数据帧中的地面点集合和非地面点集合的分割。
53.按照本发明的另一个方面,可以利用道路的连通性特征,由地面点集合确定或分割出道路点云或道路点集合。在本发明的一些实施例中,可以采用下列方式确定道路点集合。首先,在当前点云数据帧的地面点集合中以随机方式选取靠近车辆(例如靠近车胎)的地面点作为种子点。随后以种子点为起点进行区域生长。具体而言,如上所述,可以为当前点云数据帧构建二维环视索引空间,该空间中的每个点以该点相对于激光雷达的水平角度和竖直角度为索引值,由此可以种子点在二维环视索引空间内的投影点为起点,在地面点集合所对应的地面掩膜内进行区域生长,从而得到道路掩膜。在得到道路掩膜之后,可由道路掩膜确定道路点集合。
54.通过区域生长可以将较小的像素区域扩展为较大的区域。在本技术的一些实施例中,以种子点作为当前区域的初始集合,通过将邻近区域内与种子点在一个或多个属性方面(例如包括但不限于强度、灰度级和纹理颜色等)具有相似性的像素归并到当前区域内而实现区域的生长。
55.按照本发明的另一个方面,可将道路点集合标记为可行驶区域,并将非地面点集合标记为非行驶区域。这里所述的非行驶区域包括不可行驶区域(例如存在障碍物的区域)和未知区域(例如无法确定是否为可行驶道路的区域)。可选地,在栅格图内标记可行驶区域和非行驶区域,并且以属于同一激光线束的相邻两个地面点为起点和终点,一次标记一条线段的栅格区域,由此可以大幅提高栅格图收敛的速度。
56.图1为按照本发明一个实施例的用于标记由激光雷达获取的点云数据的装置的示意性框图。
57.图1所示的装置(例如图像处理装置)10包括存储器110、处理器120(例如图形处理器、微处理器等)、存储在存储器110内并可在处理器120上运行的计算机程序130和通信接口140。可选地,存储器110、处理器120和通信接口140接入装置内部的总线150以实现彼此之间的数据传送。
58.示例性地,通信接口140(例如可以以太网卡的形式实施)与激光雷达20相连,以接收激光雷达采集的点云数据帧并将点云数据帧传送至存储器110加以存储。处理器120通过执行计算机程序130以标记点云数据并且将标记结果输出至例如车辆控制系统。有关点云数据标记的方法将在下面作进一步的描述。
59.车辆控制系统可包含多个经网关通信的控制器,这些控制器例如包括但不限于整车域控制器、自动驾驶域控制器和智能座舱域控制器等。本实施例的装置10可以集成在车辆控制系统内,例如集成到自动驾驶域控制器。另一方面,本实施例的装置10也可以是独立
于车辆控制系统的单元。可选地,装置10可以与激光雷达集成在一起。
60.图2为按照本发明另一个实施例的用于标记由激光雷达获取的点云数据的方法的流程图。示例性地,下面描述的方法借助图1所示的装置来实现。例如,处理器120可通过执行存储器110内的计算机程序来执行下面将要描述的各个步骤。
61.如图2所示,在步骤s201,经通信接口140接收激光雷达采集的点云数据帧。示例性地,可以每次接收一个点云数据帧,并且随后借助下面描述的步骤对该点云数据帧进行标记。可选地,也可以一次性地接收多个点云数据帧,随后借助下列步骤对接收的每个点云数据帧执行下面描述的步骤。
62.随后进入步骤s202,基于点云数据的疏密性特征,在待处理的当前点云数据帧中分割出地面点集合和非地面点集合。有关地面点集合和非地面点集合的分割方法将在下面借助图3作进一步的描述。
63.接着进入步骤s203,利用道路的连通性特征,由地面点集合确定道路点集合。有关道路点集合的确定方法将在下面借助图4作进一步的描述。
64.在执行步骤s203之后,图2所示的方法流程转至步骤s204。在该步骤中,将步骤s203中确定的道路点集合标记为可行驶区域。可选地,在步骤s204,还将步骤s201中确定的非地面点集合标记为非行驶区域。如上所述,非行驶区域包括不可行驶区域和未知区域。
65.如上所述,可以通过将点云的密度与间距阈值进行比较来确定该点所属的点云类别,并且该间距阈值是动态更新值。在本实施例中,可选地,图2所示的方法还可包含步骤s205,在该步骤中,基于点云数据帧的分割结果来更新间距阈值,该更新的间距阈值可被用于后续点云数据帧的地面点云与非地面点云的分割。有关间距阈值更新的方法将借助图5作进一步的描述。
66.需要指出的是,虽然图2所示步骤s206在s205之后执行,但是这并非必需的顺序。实际上,步骤s206在分割出地面点集合和非地面点集合的步骤s202之后执行即可。
67.图3为按照本发明另一个实施例的用于分割出地面点集合和非地面点集合的方法的流程图。本实施例的方法可应用于图2中的步骤s202。
68.示例性地,在本实施例中假设在点云数据帧中分割地面点云和非地面点云所用的间距阈值是动态更新值。
69.如图3所示,在步骤s301,确定待处理的当前点云数据帧是否为激光雷达采集到的点云数据的初始帧。如果是,图3所示的方法流程则进入步骤s302,否则进入步骤s303。
70.在步骤s302,基于激光雷达的线束分布参数和安装高度确定用于当前点云数据帧的间距阈值。
71.在步骤s303,将基于先前点云数据帧的分割结果得到的间距阈值的更新值作为当前点云数据帧的间距阈值。
72.在执行步骤s302和s303之后,图3所示的方法流程均进入步骤s304。在步骤s304,对于点云数据帧中的每个点,以该点的水平角度和竖直角度作为索引值,从而构建得到当前点云数据帧的二维环视索引空间。
73.接着进入步骤s305~s307,遍历二维环视索引空间中的每个点,基于每个点的空间距离与间距阈值的比较结果来确定其所属的点云类别。
74.具体而言,在步骤s305,按照设定的顺序(例如逐行或逐列)在二维环视索引空间
中选择其中一个点并计算该点与其相邻行中的点的空间距离。
75.随后在步骤s306,将步骤s305中计算得到的空间距离与间距阈值进行比较,如果空间距离大于间距阈值,则将该点归类为地面点集合,即,在点云数据帧中将该点标记为地面点云,否则,则归类为非地面点集合,即,在点云数据帧中将该点标记为非地面点云。
76.接着进入步骤s307,判断是否已经遍历二维环视索引空间中的所有点,如果已经遍历,则完成地面点云和非地面点云的分割,因此进入图2所示方法中的步骤s203,否则返回步骤s305,对尚未处理的点进行标记。
77.图6a和6b分别为依照图3所述方式分割得到的地面点云和非地面点云的示意图。
78.图4为按照本发明另一个实施例的用于确定道路点集合的方法的流程图。本实施例的方法可应用于图2中的步骤s203。
79.如图4所示,在步骤s401,在二维环视索引空间内标记地面点和非地面点,由此得到如图7a和7b所示的地面掩膜和障碍物掩膜。
80.随后进入步骤s402,从地面点集合中随机选取靠近车辆(例如靠近车胎)的地面点作为种子点。
81.接着,在步骤s403,以种子点在二维环视索引空间内的投影点为起点,在地面掩膜内进行区域生长以得到道路掩膜。图8为示例性的道路掩膜示意图。
82.在步骤s403之后,图4所示的方法流程进入步骤s404。在该步骤中,由道路掩膜确定道路点集合,并由障碍物掩膜确定障碍物点集合。
83.当采用图3和4所述实施例实现图2中的步骤s202和s203时,在步骤s204中,可基于道路点集合标记可行驶区域并且基于障碍物点集合标记不可行驶区域。可选地,在步骤s204中,可行驶区域、障碍物区域和位置区域在栅格图内标记,并且以属于同一激光线束的相邻两个地面点为起点和终点,一次标记一条线段的栅格区域。
84.图9为示例性的经过步骤s204的标记处理后的栅格图,其对应于图10所示的行驶环境状态。在图9中,白色区域表示可行驶区域,黑色区域表示障碍物区域,并且灰色区域表示未知区域。
85.图5为按照本发明另一个实施例的用于更新间距阈值的方法的流程图。本实施例的方法可应用于图2中的步骤s205。
86.如图5所示,在步骤s501中,从步骤s202确定的地面点集合中选择一个地面点的范围。该范围的选取可以是随机的,并且范围的大小(对应的地面区域的面积)可以根据应用场合和经验确定。
87.随后进入步骤s502,利用随机抽样一致性(ransac)算法,基于所选择范围内的地面点生成地面参数。
88.接着进入步骤s503,将生成的地面参数确定为间距阈值的更新值。该更新值可被用于后续的点云数据帧中的地面点集合和非地面点集合的分割。
89.按照本发明的另一方面,还提供了一种计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时可实现上面借助图2-10所述的方法中包含的步骤。
90.提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本发明。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本发明
的各个方面或者将本发明局限于所公开的精确形式。