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

用于检测路牙的方法、装置、电子设备和介质与流程

2022-05-21 03:10:06 来源:中国专利 TAG:


1.本公开的实施例涉及计算机技术领域,具体涉及用于检测路牙的方法、装置、电子设备和介质。


背景技术:

2.在自动驾驶领域,路牙(也称为路肩)是与自动驾驶技术落地交互非常频繁的元素。目前检测路牙技术主要分成两类:其一是逐帧处理激光点云数据,通过判断地面点云中的弯曲率检测出路牙元素;其二是结合图像深度学习方法和传统图像处理技术进行目标检测,再进一步提取边缘从而拟合出路牙轮廓。
3.但现有技术中,基于逐帧处理的激光雷达点云中的斜率信息识别路牙技术很容易受到环境因素的影响,例如当有车辆停放在路牙或者在采集车附近遮挡到激光雷达的情况时,由于该方法是实时运行的,无法对路牙没被检测到的部分进行补充,因而会导致最终检测到的马路牙精度下降。基于图像检测的路牙检测算法由于从三维点云转换为二维图像,信息存在丢失;而且摄像头和激光雷达两者均存在外参,通过反投影和位姿变换转换到三维空间内时会存在累计误差,影响最终的精度。


技术实现要素:

4.本公开的实施例提出了用于检测路牙的方法、装置、终端、电子设备和介质。
5.第一方面,本公开的实施例提供了一种用于检测路牙的方法,该方法包括:对预先获取的三维地面点云进行栅格化,生成目标栅格图,其中,三维地面点云中包括用于表征路牙的点云数据,目标栅格图包括以下至少一项:高度栅格图,密度栅格图;根据与三维地面点云对应的轨迹点对目标栅格图进行切片,生成目标栅格图切片图像;根据目标栅格图切片图像提取路牙的骨架信息;对路牙的骨架信息进行后处理,生成路牙的矢量信息,其中,路牙的矢量信息用于指示表征路牙的点云数据。
6.在一些实施例中,上述目标栅格图还包括强度栅格图;以及上述根据目标栅格图切片图像提取路牙的骨架信息,包括:将目标栅格图对应的切片图像进行融合,形成第一数目个通道的目标栅格图切片图像;将目标栅格图切片图像输入至预先训练的深度学习模型,生成路牙的切片掩码图;将所生成的路牙的切片掩码图按照对应的坐标进行拼接,形成路牙的掩码图;根据路牙的掩码图寻找连通域以及对连通域进行腐蚀操作,提取路牙的骨架信息。
7.在一些实施例中,上述目标栅格图包括高度栅格图和密度栅格图;以及上述对路牙的骨架信息进行后处理,生成路牙的矢量信息,包括:根据路牙的骨架信息所指示的路牙端部和基于canny算子检测得到的边缘,从路牙的骨架信息中确定目标路牙像素点对;以及执行以下路牙确定步骤:根据所确定的目标路牙像素点对在密度栅格图上的位置,确定路牙的梯度方向;根据像素点周围的像素值,确定从目标像素点沿路牙的梯度方向选取的第二数目个候选像素点对应的梯度值,其中,目标像素点为目标路牙像素点对中的一个像素
点;根据所确定的梯度值,从目标像素点的两侧分别选取像素点作为目标候选像素点;根据目标候选像素点在高度栅格图上的位置,选取与目标像素点对应的目标候选像素点作为路牙内边缘像素点;响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点存在,将目标路牙像素点和下一个像素点组成新的目标路牙像素点对,继续执行路牙确定步骤;响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点不存在,根据所生成的路牙内边缘像素点,生成路牙的矢量信息。
8.在一些实施例中,上述根据所确定的梯度值,从目标像素点的两侧分别选取像素点作为目标候选像素点,包括:响应于确定所确定的梯度值中的最大值大于预设梯度阈值,将所确定的梯度值中的最大值对应的像素点确定为目标候选像素点之一;筛除与所确定的目标候选像素点的距离小于预设第一距离阈值的像素点;从筛除后保留的像素点中选取梯度值的最大值对应的像素点作为另一个目标候选像素点。
9.在一些实施例中,上述对预先获取的三维地面点云进行栅格化,生成目标栅格图,包括:获取三维点云数据集,其中,三维点云数据集中包括用于表征路牙的点云数据;使用形态学滤波对三维点云进行地面分离,得到第一准地面三维点云;根据第一准地面三维点云中的点云数据所指示的位置和与三维点云对应的轨迹点的距离,滤除距离超过预设第二距离阈值的点云数据,得到第二准地面三维点云数据;对第二准地面三维点云数据进行减小窗口面积的形态学滤波,得到第三准地面三维点云数据;对第三准地面三维点云数据进行统计学滤波,生成地面点云;对地面点云进行栅格化,生成以下至少一项:高度栅格图,密度栅格图作为目标栅格图。
10.第二方面,本公开的实施例提供了一种用于检测路牙的装置,该装置包括:栅格化单元,被配置成对预先获取的三维地面点云进行栅格化,生成目标栅格图,其中,三维地面点云中包括用于表征路牙的点云数据,目标栅格图包括以下至少一项:高度栅格图,密度栅格图;切片单元,被配置成根据与三维地面点云对应的轨迹点对目标栅格图进行切片,生成目标栅格图切片图像;提取单元,被配置成根据目标栅格图切片图像提取路牙的骨架信息;后处理单元,被配置成对路牙的骨架信息进行后处理,生成路牙的矢量信息,其中,路牙的矢量信息用于指示表征路牙的点云数据。
11.在一些实施例中,上述目标栅格图还包括强度栅格图;以及上述提取单元进一步被配置成:将目标栅格图对应的切片图像进行融合,形成第一数目个通道的目标栅格图切片图像;将目标栅格图切片图像输入至预先训练的深度学习模型,生成路牙的切片掩码图;将所生成的路牙的切片掩码图按照对应的坐标进行拼接,形成路牙的掩码图;根据路牙的掩码图寻找连通域以及对连通域进行腐蚀操作,提取路牙的骨架信息。
12.在一些实施例中,上述目标栅格图包括高度栅格图和密度栅格图;以及上述后处理单元包括:确定模块,被配置成根据路牙的骨架信息所指示的路牙端部和基于canny算子检测得到的边缘,从路牙的骨架信息中确定目标路牙像素点对;执行模块,被配置成执行以下路牙确定步骤:根据所确定的目标路牙像素点对在密度栅格图上的位置,确定路牙的梯度方向;根据像素点周围的像素值,确定从目标像素点沿路牙的梯度方向选取的第二数目个候选像素点对应的梯度值,其中,目标像素点为目标路牙像素点对中的一个像素点;根据所确定的梯度值,从目标像素点的两侧分别选取像素点作为目标候选像素点;根据目标候选像素点在高度栅格图上的位置,选取与目标像素点对应的目标候选像素点作为路牙内边
缘像素点;响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点存在,将目标路牙像素点和下一个像素点组成新的目标路牙像素点对,继续执行上述路牙确定步骤;生成模块,被配置成响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点不存在,根据所生成的路牙内边缘像素点,生成路牙的矢量信息。
13.在一些实施例中,上述执行模块被进一步配置成:响应于确定所确定的梯度值中的最大值大于预设梯度阈值,将所确定的梯度值中的最大值对应的像素点确定为目标候选像素点之一;筛除与所确定的目标候选像素点的距离小于预设第一距离阈值的像素点;从筛除后保留的像素点中选取梯度值的最大值对应的像素点作为另一个目标候选像素点。
14.在一些实施例中,上述栅格化单元被进一步配置成:获取三维点云数据集,其中,三维点云数据集中包括用于表征路牙的点云数据;使用形态学滤波对三维点云进行地面分离,得到第一准地面三维点云;根据第一准地面三维点云中的点云数据所指示的位置和与三维点云对应的轨迹点的距离,滤除距离超过预设第二距离阈值的点云数据,得到第二准地面三维点云数据;对第二准地面三维点云数据进行减小窗口面积的形态学滤波,得到第三准地面三维点云数据;对第三准地面三维点云数据进行统计学滤波,生成地面点云;对地面点云进行栅格化,生成以下至少一项:高度栅格图,密度栅格图作为目标栅格图。
15.第三方面,本公开的实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
16.第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
17.本公开的实施例提供的用于检测路牙的方法、装置、电子设备和介质,通过对地面点云进行栅格化以及生成切片图像,再根据切片图像提取路牙的骨架,以及对路牙的骨架进行后处理,最终生成路牙的矢量信息。从而提供了与现有技术并不相同的路牙检测方法。并且,通过点云与图像检测的结合,以及先生成骨架再进行后处理的流程,可以生成更加精细的路牙边缘,有助于提升路牙检测方法的有效性。
附图说明
18.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
19.图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
20.图2是根据本公开的用于检测路牙的方法的一个实施例的流程图;
21.图3是根据本公开的实施例的用于检测路牙的方法的一个应用场景的示意图;
22.图4是根据本公开的用于检测路牙的方法的又一个实施例的流程图;
23.图5是根据本公开的用于检测路牙的装置的一个实施例的结构示意图;
24.图6是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
25.下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了
便于描述,附图中仅示出了与有关发明相关的部分。
26.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
27.图1示出了可以应用本公开的用于检测路牙的方法或用于检测路牙的装置的示例性架构100。
28.如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
29.终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101可以是硬件,也可以是软件。当终端设备101为硬件时,可以是安装有激光雷达、惯性导航单元和导航系统的地图采集车。当终端设备101为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
30.服务器103可以是提供各种服务的服务器,例如为终端设备101所采集的点云数据进行处理的后台服务器。后台服务器可以对接收到的点云数据进行分析处理,并生成的处理结果(如路牙的矢量信息)。
31.需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
32.需要说明的是,本公开的实施例所提供的用于检测路牙的方法一般由服务器103执行,相应地,用于检测路牙的装置一般设置于服务器103中。
33.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
34.继续参考图2,示出了根据本公开的用于检测路牙的方法的一个实施例的流程200。该用于检测路牙的方法包括以下步骤:
35.步骤201,对预先获取的三维地面点云进行栅格化,生成目标栅格图。
36.在本实施例中,用于检测路牙的方法的执行主体(如图1所示的服务器103)可以通过有线连接方式或者无线连接方式预先获取三维地面点云。其中,上述三维地面点云中可以包括用于表征路牙的点云数据。
37.作为示例,上述三维地面点云可以是通过地图数据采集车上的激光雷达获取的三维激光点云经过地面点分割后所形成的点云。通常,上述地图数据采集车上还可以安装有惯性导航单元和卫星导航系统。上述激光雷达可以用于采集车辆行驶过程中周围的环境信息。上述惯性导航单元可以包含角速度计和线加速度计,用于与卫星导航系统相配合,估计上述地图数据采集车的6自由度位姿。根据上述所估计的位姿拼接每个时刻的激光雷达点云数据,最终得到完整的三维激光点云。之后,对上述完整的三维激光点云进行地面点分割(例如采用rand-la-net深度学习模型),得到三维地面点云。
38.在本实施例中,上述执行主体可以通过各种方式对上述预先获取的三维地面点云进行栅格转换操作,从而生成以下至少一项作为目标栅格图:高度栅格图,密度栅格图。其
中,上述高度栅格图用于表征上述三维地面点云数据的高度分布。上述密度栅格图用于表征上述三维地面点云数据的密度分布。
39.在本实施例的一些可选的实现方式中,上述目标栅格图还可以包括强度栅格图。上述强度栅格图用于表征上述三维地面点云数据的反射强度分布。
40.步骤202,根据与三维地面点云对应的轨迹点对目标栅格图进行切片,生成目标栅格图切片图像。
41.在本实施例中,根据与步骤201预先获取的三维地面点云对应的轨迹点对目标栅格图进行切片,上述执行主体可以通过各种方式生成目标栅格图切片图像。其中,上述与三维地面点云对应的轨迹点通常为采集上述地面点云的设备(例如安装有激光雷达点地图数据采集车)的轨迹点。
42.在本实施例中,作为示例,上述执行主体可以每隔5米选取一个轨迹点,这样使得每个切片之间不会有太大的重合区域。而后,上述执行主体可以以所选取的轨迹点的位置作为矩形框的中心,在上述目标栅格图内框选一个预设大小(例如960*640分辨率)的区域,从而生成目标栅格图切片图像。
43.需要说明的是,由于切片的原理是将轨迹点投影到栅格图上。因而,当上述目标栅格图为高度栅格图或密度栅格图时,上述所生成的目标栅格图切片图像即为单通道的图像,像素范围是0-255。当上述目标栅格图为高度栅格图和密度栅格图时,上述所生成的目标栅格图切片图像即为双通道的图像。
44.步骤203,根据目标栅格图切片图像提取路牙的骨架信息。
45.在本实施例中,根据上述步骤202所生成的目标栅格图切片图像,上述执行主体可以通过各种方式提取路牙的骨架信息。其中,上述路牙的骨架信息用于指示路牙的主体及其所在的位置。作为示例,上述路牙的骨架信息所指示的路牙的骨架可以是经过多个点的折线段。
46.作为示例,上述执行主体可以利用预先训练的图像检测模型从上述步骤202所生成的目标栅格图切片图像中确定路牙所在的位置(例如检测框)。而后,上述执行主体可以进一步从上述检测框中识别关键点,再将所识别的关键点进行连接,从而生成路牙的骨架信息。
47.在本实施例的一些可选的实现方式中,基于目标栅格图还包括强度栅格图,上述执行主体可以按照以下步骤根据目标栅格图切片图像提取路牙的骨架信息:
48.第一步,将目标栅格图对应的切片图像进行融合,形成第一数目个通道的目标栅格图切片图像。
49.在这些实现方式中,上述执行主体可以将步骤201所生成的目标栅格图对应的切片图像进行融合,形成第一数目个通道的目标栅格图切片图像。
50.在这些实现方式中,上述执行主体可以将高度栅格图对应的切片图像、密度栅格图对应的切片图像、强度栅格图对应的切片图像中的至少两者进行融合,形成第一数目个通道的目标栅格图切片图像。其中,上述第一数目可以为2,也可以为3。
51.第二步,将目标栅格图切片图像输入至预先训练的深度学习模型,生成路牙的切片掩码图。
52.在这些实现方式中,上述执行主体可以将上述第一步所形成的目标栅格图切片图
像输入至预先训练的深度学习模型,生成路牙的切片掩码图。其中,上述深度学习模型可以是各种用于检测路牙的图像检测模型,例如deeplabv3模型。deeplabv3模型可以通过对输入的图像进行级联空洞卷积和空间金字塔池化的方式,获取更大的感受野,从而获取多尺度信息,提升分割精度。
53.第三步,将所生成的路牙的切片掩码图按照对应的坐标进行拼接,形成路牙的掩码图。
54.在这些实现方式中,上述执行主体可以将上述第二步所生成的、与多个目标栅格图切片图像对应的路牙的切片掩码图按照对应的坐标进行拼接,形成路牙的掩码图。其中,上述对应的坐标例如可以是三维地面点云数据进行栅格化时所使用的。作为示例,上述掩码图可以是10800*10800像素的。
55.第四步,根据路牙的掩码图寻找连通域以及对连通域进行腐蚀操作,提取路牙的骨架信息。
56.在这些实现方式中,上述执行主体可以对上述第三步所形成的路牙的掩码图寻找连通域。其中,每个连通域可以用于表征一条完整的路牙线段。之后,上述执行主体可以对所寻找到的每个连通域进行腐蚀操作,从而提取出路牙的骨架信息。
57.基于上述可选的实现方式,本方案可以将高度栅格图、密度栅格图中的至少一种和强度栅格图作为预先训练的深度学习模型的输入,以得到路牙的切片掩码图,再通过寻找连通域、腐蚀操作等提取路牙的骨架信息,从而提供了一种路牙骨架提取方法,丰富了路牙骨架的提取方式,并且由于采用栅格图与深度学习模型的结合,提升了提取的精度。
58.步骤204,对路牙的骨架信息进行后处理,生成路牙的矢量信息。
59.在本实施例中,上述执行主体可以通过各种方式对步骤203所提取的路牙的骨架信息进行后处理,生成路牙的矢量信息。其中,上述路牙的矢量信息可以用于指示表征路牙的点云数据。其可以包括表征路牙的点云数据的位置的信息,即从三维地面点云中分离出路牙点云。
60.作为示例,上述执行主体可以采用canny算子生成路牙的边缘。而后,上述执行主体可以根据步骤203所提取的路牙的骨架信息对上述采用canny算子生成路牙的边缘进行修正,例如补充断点或修正方向等等,从而生成路牙的矢量信息。
61.在本实施例的一些可选的实现方式中,上述执行主体可以按照如下步骤对路牙的骨架信息进行后处理,生成路牙的矢量信息:
62.s1、根据路牙的骨架信息所指示的路牙端部和基于canny算子检测得到的边缘,从路牙的骨架信息中确定目标路牙像素点对。
63.在这些实现方式中,根据步骤203所提取的路牙的骨架信息所指示的路牙端部和基于canny算子检测得到的边缘,上述执行主体可以通过各种方式从上述路牙的骨架信息中确定目标路牙像素点对。作为示例,上述执行主体可以从上述步骤203所提取的路牙的骨架信息所指示的路牙端部(例如首部)顺序选取两个像素点。而后,上述执行主体可以基于canny算子检测得到的边缘对上述所选取的两个像素点进行调整。例如,分别以所选取的像素点为中心扩展3
×
3像素区域,分别从上述所扩展的像素区域中选取落在上述基于canny算子检测得到的边缘上的像素点,从而形成目标路牙像素点对。
64.s2、执行以下路牙确定步骤:
65.s21、根据所确定的目标路牙像素点对在密度栅格图上的位置,确定路牙的梯度方向。
66.在这些实现方式中,根据步骤s1所确定的目标路牙像素点对在密度栅格图上的位置,上述执行主体可以通过各种方式确定路牙的梯度方向。作为示例,上述执行主体可以在上述密度栅格图中计算出与上述目标路牙像素点对中的两个像素点间连线垂直的方向作为马路牙的梯度方向(垂直于马路牙的方向)。假设目标路牙像素点对中的两个像素点p1、p2坐标分别为(x1,y1)和(x2,y2),则路牙的单位梯度方向可以按照公式(1)、(2)得到:
[0067][0068][0069]
s22、根据像素点周围的像素值,确定从目标像素点沿路牙的梯度方向选取的第二数目个候选像素点对应的梯度值。
[0070]
在这些实现方式中,根据像素点周围的像素值,上述执行主体可以通过各种方式确定从目标像素点沿路牙的梯度方向选取的第二数目个候选像素点对应的梯度值。其中,上述目标像素点为上述目标路牙像素点对中的一个像素点。
[0071]
作为示例,上述执行主体可以在上述目标像素点的周围沿着梯度和梯度反方向寻找第二数目个候选像素点。例如,当设置寻找的步长为1,范围为5时,上述第二数目可以为10。
[0072]
之后,上述执行主体可以各种方式确定上述候选像素点对应的梯度值。作为示例,对于上述第二数目个候选像素点中的候选像素点,上述执行主体可以沿着梯度方向找到该候选像素点p
candidate
附近(例如距离为1个像素)的m(例如2)个像素点p
neighbor1
和p
neighbor2
,然后计算分别以p
candidate
,p
neighbor1
和p
neighbor2
为中心的预设区域(例如3
×
3像素)的像素值之和,例如分别为k1、k2、k3。之后,根据公式(3)确定该候选像素点p
candidate
的梯度值v为:
[0073][0074]
从而,上述执行主体可以确定上述第二数目个候选像素点对应的梯度值。
[0075]
s23、根据所确定的梯度值,从目标像素点的两侧分别选取像素点作为目标候选像素点。
[0076]
在这些实现方式中,根据步骤s22所确定的梯度值,上述执行主体可以通过各种方式从上述目标像素点的两侧分别选取像素点作为目标候选像素点。作为示例,上述执行主体可以从上述目标像素点的两侧(即梯度方向和梯度反方向)分别选取梯度值最大的像素点作为目标候选像素点。
[0077]
s24、根据目标候选像素点在高度栅格图上的位置,选取与目标像素点对应的目标候选像素点作为路牙内边缘像素点。
[0078]
在这些实现方式中,根据上述步骤s23所选取的目标候选像素点在高度栅格图上的位置,上述执行主体可以通过各种方式选取与目标像素点对应的目标候选像素点作为路牙内边缘像素点。其中,上述新的路牙像素点可以用于指示靠近道路侧的路牙边缘。作为示例,上述执行主体可以根据上述高度栅格图所指示的高度,选取高度较小的目标候选像素点作为路牙内边缘像素点。作为又一示例,上述执行主体还可以同样基于梯度信息,采用与
上述类似的方式选取高度较小的目标候选像素点作为路牙内边缘像素点。例如,上述执行主体可以分别对上述两个目标候选像素点在高度栅格图下沿着梯度方向和反方向选取n个像素点(例如按照步长为1、范围为10采样)。之后,上述执行主体可以对所选取的n个像素点的高度值求和,然后选取高度值较小的像素点作为上述路牙内边缘像素点。
[0079]
需要说明的是,通过上述步骤s23所选取的目标候选像素点通常分别位于路牙的两个边缘。即,两个边缘分别在靠近路面一侧和远离路面(例如贴近人行道)的一侧。由于路牙存在高度信息,因此激光雷达在扫描时,会有数量更多的点打在路牙处。因此在密度栅格图上,路牙像素与两侧有明显差异。同样,在高度栅格图上,路牙像素与两侧相比也有明显不同。
[0080]
s3、响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点存在,将目标路牙像素点和下一个像素点组成新的目标路牙像素点对,继续执行路牙确定步骤。
[0081]
在这些实现方式中,响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点存在,上述执行主体可以将目标路牙像素点和下一个像素点组成新的目标路牙像素点对,继续执行路牙确定步骤。即,上述执行主体可以通过在上述路牙的骨架信息所指示的骨架上进行移动,通过重新计算根据骨架信息所选取的目标路牙像素点对所形成的梯度,为下一个路牙内边缘像素点的确定提供参考。
[0082]
s4、响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点不存在,根据所生成的路牙内边缘像素点,生成路牙的矢量信息。
[0083]
在这些实现方式中,响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点不存在(即已经移动到路牙的骨架信息所指示的骨架的另一端),上述执行主体可以根据所生成的路牙内边缘像素点,生成路牙的矢量信息。通过循环迭代,上述执行主体可以确定出与上述路牙的骨架信息所指示的骨架相匹配的路牙内边缘像素点所组成的路牙边缘,从而生成路牙的矢量信息。
[0084]
基于上述可选的实现方式,本方案创新性地利用了在栅格图中路牙的梯度方向与马路牙矢量方向恰好相垂直的原理,通过梯度方向筛选和移动路牙骨架上的点的方式,根据密度栅格图上的梯度信息实现对路牙的边界的识别,从而提高了路牙的边界的识别准确性和稳定性。
[0085]
可选地,基于上述可选的实现方式,根据所确定的梯度值,上述执行主体还可以按照以下步骤从目标像素点的两侧分别选取像素点作为目标候选像素点:
[0086]
s231、响应于确定所确定的梯度值中的最大值大于预设梯度阈值,将所确定的梯度值中的最大值对应的像素点确定为目标候选像素点之一。
[0087]
在这些实现方式中,响应于确定所确定的梯度值中的最大值大于预设梯度阈值,证明上述目标像素点周围存在表征路牙的像素点。
[0088]
s232、筛除与所确定的目标候选像素点的距离小于预设第一距离阈值的像素点。
[0089]
在这些实现方式中,作为示例,上述预设第一距离可以是2个像素,即筛除距离上述所确定的目标候选点之一1个像素的像素点。
[0090]
s233、从筛除后保留的像素点中选取梯度值的最大值对应的像素点作为另一个目标候选像素点。
[0091]
在这些实现方式中,由于上述步骤s232筛除了与所确定的目标候选像素点的距离
小于预设第一距离阈值的像素点,因而上述目标路牙像素点对中的像素点通常位于上述步骤s231所确定的目标候选像素点与上述步骤s233所确定的另一个目标候选像素点之间。
[0092]
可选地,若上述步骤s231所确定的目标候选像素点与上述步骤s233所确定的另一个目标候选像素点落在上述目标路牙像素点对中的像素点的同一侧,通常提示上述预设第一距离应设定得更大一些。
[0093]
基于上述可选的实现方式,本方案提供了根据密度栅格图上像素的梯度所指示的方向来确定路牙内外两侧的边界的方法,从而提升了路牙边缘的确定精度。
[0094]
继续参见图3,图3是根据本公开的实施例的用于检测路牙的方法的应用场景的一个示意图。在图3的应用场景中,点云数据采集车301可以将包含路牙的点云数据的三维点云302发送至服务器303。服务器303可以从三维点云302中提取三维地面点云并对其进行栅格化,生成目标栅格图(例如密度栅格图)304。之后,服务器303根据与三维地面点云对应的点云数据采集车301的轨迹点对目标栅格图304进行切片,生成目标栅格图切片图像(例如密度栅格图切片图像)305。接下来,服务器303根据目标栅格图切片图像305提取路牙的骨架信息306。最后,服务器303对提取的路牙的骨架信息306进行后处理,生成路牙的矢量信息307。
[0095]
目前,现有技术之一通常是仅根据点云数据的弯曲率检测出路牙元素或结合深度学习将路牙元素整体框选出来,导致分割效果受环境因素影响严重,因而路牙的检测效果不够稳定且不够细致。而本公开的上述实施例提供的方法,通过对地面点云进行栅格化以及生成切片图像,再根据切片图像提取路牙的骨架,以及对路牙的骨架进行后处理,最终生成路牙的矢量信息。从而提供了与现有技术并不相同的路牙检测方法。并且,通过点云与图像检测的结合,以及先生成骨架再进行后处理的流程,可以生成更加精细的路牙边缘,有助于提升路牙检测方法的有效性。
[0096]
进一步参考图4,其示出了用于检测路牙的方法的又一个实施例的流程400。该用于检测路牙的方法的流程400,包括以下步骤:
[0097]
步骤401,获取三维点云数据集。
[0098]
在本实施例中,用于检测路牙的方法的执行主体(例如图1所示的服务器103)可以通过各种方式获取三维点云数据集。其中,上述三维点云数据集中可以包括用于表征路牙的点云数据。上述三维点云数据集的具体获取方式可以参考前述实施例中步骤201的相关描述,此处不再赘述。
[0099]
步骤402,使用形态学滤波对三维点云进行地面分离,得到第一准地面三维点云。
[0100]
在本实施例中,上述执行主体可以首先使用形态学滤波对三维点云进行地面分离,得到第一准地面三维点云。作为示例,上述执行主体可以首先根据步骤401所获取的三维点云数据集中的数据点的高度信息,选取高度信息小于高度阈值的数据点形成第一准地面三维点云,从而大致区分出三维地面点云和非地面点云。
[0101]
步骤403,根据第一准地面三维点云中的点云数据所指示的位置和与三维点云对应的轨迹点的距离,滤除距离超过预设第二距离阈值的点云数据,得到第二准地面三维点云数据。
[0102]
在本实施例中,根据第一准地面三维点云中的点云数据所指示的位置和与三维点云对应的轨迹点的距离,上述执行主体可以通过各种方式滤除距离超过预设第二距离阈值
的点云数据,得到第二准地面三维点云数据。
[0103]
作为示例,上述执行主体可以首先计算上述第一准地面三维点云中的每帧点云与该帧对应的轨迹点在x-y平面的距离值。而后,上述执行主体可以滤除掉与对应的轨迹点距离超过预设第二距离阈值(例如20米)的点。从而,本方案可以去除采集时距离该时刻的激光雷达位置较远的激光点,进而减少稀疏数据的影响。
[0104]
可选地,上述预设第二距离阈值与道路有效宽度相关,例如与道路的有效宽度一致。从而,本方案可以过滤掉因距离较远而可靠性较差的离散点,为后续点云数据的进一步处理提供基础。
[0105]
步骤404,对第二准地面三维点云数据进行减小窗口面积的形态学滤波,得到第三准地面三维点云数据。
[0106]
在本实施例中,上述执行主体可以通过各种方式对上述步骤403所得到的第二准地面三维点云数据进行减小窗口面积的形态学滤波,得到第三准地面三维点云数据。从而可以更加精细地筛选出地面点。
[0107]
步骤405,对第三准地面三维点云数据进行统计学滤波,生成地面点云。
[0108]
在本实施例中,上述执行主体可以通过各种方式对步骤404所得到的第三准地面三维点云数据进行统计学滤波,生成地面点云。作为示例,上述执行主体可以计算上述第三准地面三维点云数据中的数据点与预设数目(例如50)邻域点云的平均距离值。而后,上述执行主体可以根据所计算的平均距离值剔除离群点,从而将所保留的数据点组成上述地面点云。作为示例,上述离群点例如可以是平均距离值大于预设距离阈值的点。作为又一示例,上述离群点还可以是平均距离值在标准范围之外的数据点。上述标准范围例如可以是根据上述第三准地面三维点云数据计算的平均距离所确定的高斯分布,其形状由均值和标准差决定。
[0109]
步骤406,对地面点云进行栅格化,生成以下至少一项:高度栅格图,密度栅格图作为目标栅格图。
[0110]
在本实施例中,上述执行主体可以通过各种方式对步骤405所生成的地面点云进行栅格化。例如,可以参考前述实施例中步骤201的相关描述,此处不再赘述。
[0111]
步骤407,根据与三维地面点云对应的轨迹点对目标栅格图进行切片,生成目标栅格图切片图像;
[0112]
步骤408,根据目标栅格图切片图像提取路牙的骨架信息。
[0113]
步骤409,对路牙的骨架信息进行后处理,生成路牙的矢量信息。
[0114]
上述步骤407、步骤408、步骤409分别与前述实施例中的步骤202、步骤203、步骤204及其可选的实现方式一致,上文针对步骤202、步骤203、步骤204及其可选的实现方式的描述也适用于步骤407、步骤408、步骤409,此处不再赘述。
[0115]
从图4中可以看出,本实施例中的用于检测路牙的方法的流程400体现了通过形态学滤波、滤除与轨迹点较远的点、减小窗口面积的形态学滤波、统计学滤波等一系列方式的有机结合,实现了对地面点云数据的分离,从而提高了地面点云的分离效果。进而,使得地面栅格数据更加“干净”,对深度学习模型的训练和应用以及数据后处理等产生积极影响。
[0116]
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了用于检测路牙的装置的一个实施例,该装置实施例与图2或图4所示的方法实施例相对应,该装置具体可以
应用于各种电子设备中。
[0117]
如图5所示,本实施例提供的用于检测路牙的装置500包括栅格化单元501、切片单元502、提取单元503和后处理单元504。其中,栅格化单元501,被配置成对预先获取的三维地面点云进行栅格化,生成目标栅格图,其中,三维地面点云中包括用于表征路牙的点云数据,目标栅格图包括以下至少一项:高度栅格图,密度栅格图;切片单元502,被配置成根据与三维地面点云对应的轨迹点对目标栅格图进行切片,生成目标栅格图切片图像;提取单元503,被配置成根据目标栅格图切片图像提取路牙的骨架信息;后处理单元504,被配置成对路牙的骨架信息进行后处理,生成路牙的矢量信息,其中,路牙的矢量信息用于指示表征路牙的点云数据。
[0118]
在本实施例中,用于检测路牙的装置500中:栅格化单元501、切片单元502、提取单元503和后处理单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202、步骤203和步骤204的相关说明,在此不再赘述。
[0119]
在本实施例的一些可选的实现方式中,上述目标栅格图还可以包括强度栅格图。上述提取单元503可以进一步被配置成:将目标栅格图对应的切片图像进行融合,形成第一数目个通道的目标栅格图切片图像;将目标栅格图切片图像输入至预先训练的深度学习模型,生成路牙的切片掩码图;将所生成的路牙的切片掩码图按照对应的坐标进行拼接,形成路牙的掩码图;根据路牙的掩码图寻找连通域以及对连通域进行腐蚀操作,提取路牙的骨架信息。
[0120]
在本实施例的一些可选的实现方式中,上述目标栅格图可以包括高度栅格图和密度栅格图。上述后处理单元504可以包括:确定模块(图中未示出),被配置成根据路牙的骨架信息所指示的路牙端部和基于canny算子检测得到的边缘,从路牙的骨架信息中确定目标路牙像素点对;执行模块(图中未示出),被配置成执行以下路牙确定步骤:根据所确定的目标路牙像素点对在密度栅格图上的位置,确定路牙的梯度方向;根据像素点周围的像素值,确定从目标像素点沿路牙的梯度方向选取的第二数目个候选像素点对应的梯度值,其中,目标像素点可以为目标路牙像素点对中的一个像素点;根据所确定的梯度值,从目标像素点的两侧分别选取像素点作为目标候选像素点;根据目标候选像素点在高度栅格图上的位置,选取与目标像素点对应的目标候选像素点作为路牙内边缘像素点;响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点存在,将目标路牙像素点和下一个像素点组成新的目标路牙像素点对,继续执行上述路牙确定步骤;生成模块(图中未示出),被配置成响应于确定沿路牙的骨架信息选取的目标路牙像素点的下一个像素点不存在,根据所生成的路牙内边缘像素点,生成路牙的矢量信息。
[0121]
在本实施例的一些可选的实现方式中,上述执行模块可以被进一步配置成:响应于确定所确定的梯度值中的最大值大于预设梯度阈值,将所确定的梯度值中的最大值对应的像素点确定为目标候选像素点之一;筛除与所确定的目标候选像素点的距离小于预设第一距离阈值的像素点;从筛除后保留的像素点中选取梯度值的最大值对应的像素点作为另一个目标候选像素点。
[0122]
在本实施例的一些可选的实现方式中,上述栅格化单元501可以被进一步配置成:获取三维点云数据集,其中,三维点云数据集中可以包括用于表征路牙的点云数据;使用形态学滤波对三维点云进行地面分离,得到第一准地面三维点云;根据第一准地面三维点云
中的点云数据所指示的位置和与三维点云对应的轨迹点的距离,滤除距离超过预设第二距离阈值的点云数据,得到第二准地面三维点云数据;对第二准地面三维点云数据进行减小窗口面积的形态学滤波,得到第三准地面三维点云数据;对第三准地面三维点云数据进行统计学滤波,生成地面点云;对地面点云进行栅格化,生成以下至少一项:高度栅格图,密度栅格图作为目标栅格图。
[0123]
本公开的上述实施例提供的装置,通过栅格化单元501对地面点云进行栅格化以及切片单元502生成切片图像,再通过提取单元503根据切片图像提取路牙的骨架,以及后处理单元504对路牙的骨架进行后处理,最终生成路牙的矢量信息。从而提供了与现有技术并不相同的路牙检测方法。并且,通过点云与图像检测的结合,以及先生成骨架再进行后处理的流程,可以生成更加精细的路牙边缘,有助于提升路牙检测方法的有效性。
[0124]
下面参考图6,其示出了适于用来实现本技术实施例的电子设备(例如图1中的服务器)600的结构示意图。图6示出的终端设备/服务器仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0125]
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0126]
通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd,liquid crystal display)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
[0127]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom 602被安装。在该计算机程序被处理装置601执行时,执行本技术的实施例的方法中限定的上述功能。
[0128]
需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其
结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(radio frequency,射频)等等,或者上述的任意合适的组合。
[0129]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:对预先获取的三维地面点云进行栅格化,生成目标栅格图,其中,三维地面点云中包括用于表征路牙的点云数据,目标栅格图包括以下至少一项:高度栅格图,密度栅格图;根据与三维地面点云对应的轨迹点对目标栅格图进行切片,生成目标栅格图切片图像;根据目标栅格图切片图像提取路牙的骨架信息;对路牙的骨架信息进行后处理,生成路牙的矢量信息,其中,路牙的矢量信息用于指示表征路牙的点云数据。
[0130]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”、python语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0131]
附图中的流程图和框图,图示了按照本公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0132]
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括栅格化单元、切片单元、提取单元和后处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,栅格化单元还可以被描述为“对预先获取的三维地面点云进行栅格化,生成目标栅格图的单元,其中,三维地面点云中包括用于表征路牙的点云数据,目标栅格图包括以下至少一项:高度栅格图,密度栅格图”。
[0133]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人
员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献