一种激光点云数据处理方法及装置与流程



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.通过基于密度的含噪声应用空间聚类dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇。
34.作为本技术实施例一种可选的实施方式,所述通过dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇,包括:
35.步骤一、随机从所述激光点云数据中选取一个未标记的数据点作为初始点;
36.步骤二、对所述初始点进行标记,并判断所述初始点的邻域内的数据点的数量是否大于或等于阈值数量,若否,则返回步骤一;若是,则将所述初始点和所述初始点的邻域内的数据点添加到一个点序列中;其中,任一数据点的邻域为以该数据点为圆心、预设值为半径的区域;
37.步骤三、遍历所述点序列,对所述点序列中未标记的数据点进行标记,并判断所述点序列中未标记的数据点的邻域内的数据点的数量是否大于或等于所述阈值数量,以及在所述任一数据点的邻域内的数据点的数量大于或等于所述阈值数量时,将该数据点的邻域内的数据点添加到所述点序列中,直到所述点序列中不存在未标记的数据点时,将所述点序列中的所有数据点聚类为一个点簇;
38.重复上述步骤一至步骤三,直到所述激光点云数据中不存在未标记的数据点。
39.第二方面,本技术实施例提供一种激光点云数据处理装置,包括:
40.获取单元,用于获取目标图像和目标图像对应的激光点云数据;
41.处理单元,用于对所述目标图像进行语义分割,将所述目标图像分割为至少一个图形区域;并通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点云簇;
42.分析单元,用于根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点;
43.删除单元,用于删除所述激光点云数据中的膨胀点。
44.作为本技术实施例一种可选的实施方式,所述处理单元,具体用于根据所述至少一个图像区域对应的语义对象将所述至少一个图像区域分类为第一类别的图像区域、第二类别的图像区域以及第三类别的图像区域,所述第一类别的图像区域包括反射率大于或等于阈值反射率的语义对象对应的图像区域,所述第二类别的图像区域包括反射率小于所述阈值反射率的语义对象对应的图像区域,所述第三类别的图像区域包括语义为背景的语义对象对应的图像区域;
45.根据所述至少一个图像区域、所述至少一个图像区域的类别以及所述至少一个点簇确定所述激光点云数据中的膨胀点。
46.作为本技术实施例一种可选的实施方式,所述处理单元,还用于确定各个所述第一类别的图像区域对应的内点集和点簇,任一图像区域对应的内点集为所述激光点云数据中位于该图像区域对应的点云区域内的数据点组成的集合,任一图像区域对应的点簇为位于该图像区域对应的点云区域内的数据点所属的点簇;
47.根据各个所述第一类别的图像区域对应的内点集和点簇,获取各个所述第一类别的图像区域对应的外点集,任一图像区域对应的外点集为属于该图像区域对应的点簇且不
属于该图像区域对应的内点集的数据点组成的集合;
48.获取各个所述外点集中的各个数据点的类别,任一数据点的类别为该数据点对应的像素点所属的图像区域的类别;
49.根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点。
50.作为本技术实施例一种可选的实施方式,所述处理单元,还用于当所述外点集中的第一数据点的类别为所述第三类别时,将所述第一数据点确定为膨胀点。
51.作为本技术实施例一种可选的实施方式,所述处理单元,还用于当所述外点集中的第二数据点的类别为所述第二类别时,获取所述第二数据点对应的第一深度值和第二深度值,所述第二数据点对应的第一深度值为所述第二数据点对应的像素点集合中的像素点的平均深度值;所述第二数据点对应的像素点集合为属于所述第二数据点对应的像素点所属的图像区域且不属于所述第二数据点所属的外点集对应的图像区域的像素点组成的集合,所述第二数据点对应的第二深度值为所述第二数据点对应的内点集中的数据点的平均深度值;
52.根据所述第二数据点对应的第一深度值和第二深度值,确定所述第二数据点是否为膨胀点。
53.作为本技术实施例一种可选的实施方式,所述处理单元,还用于获取所述第二数据点对应的深度差值,所述第二数据点对应的深度差值为所述第二数据点对应的第一深度值和所述第二数据点对应的第二深度值的差值的绝对值;
54.判断所述第二数据点对应的深度差值是否小于阈值差值;
55.若否,则确定所述第二数据点为膨胀点。
56.作为本技术实施例一种可选的实施方式,所述处理单元,还用于基于语义分割模型对所述目标图像进行语义分割,以将所述目标图像分割为至少一个图像区域;
57.其中,所述语义分割模型为基于样本数据对预设机器学习模型进行训练获取的模型,所述样本数据包括多个样本图像以及各个样本图像对应的语义分割结果。
58.作为本技术实施例一种可选的实施方式,所述处理单元,还用于通过基于密度的含噪声应用空间聚类dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇。
59.作为本技术实施例一种可选的实施方式,所述处理单元,还用于通过 dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇,包括:
60.步骤一、随机从所述激光点云数据中选取一个未标记的数据点作为初始点;
61.步骤二、对所述初始点进行标记,并判断所述初始点的邻域内的数据点的数量是否大于或等于阈值数量,若否,则返回步骤一;若是,则将所述初始点和所述初始点的邻域内的数据点添加到一个点序列中;其中,任一数据点的邻域为以该数据点为圆心、预设值为半径的区域;
62.步骤三、遍历所述点序列,对所述点序列中未标记的数据点进行标记,并判断所述点序列中未标记的数据点的邻域内的数据点的数量是否大于或等于所述阈值数量,以及在所述任一数据点的邻域内的数据点的数量大于或等于所述阈值数量时,将该数据点的邻域内的数据点添加到所述点序列中,直到所述点序列中不存在未标记的数据点时,将所述点序列中的所有数据点聚类为一个点簇;
63.重复上述步骤一至步骤三,直到所述激光点云数据中不存在未标记的数据点。
64.本技术实施例提供的激光点云数据处理方法,首先获取目标图像和所述目标图像对应的激光点云数据;其次对所述目标图像进行语义分割,然后将所述目标图像分割为至少一个图像区域;通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点簇;根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点;删除所述激光点云数据中的膨胀点。由于本技术实施例提供的激光点云数据处理方法可以对图像进行语义分割的分割结果以及对所述激光点云数据中的数据点进行聚类的聚类结果确定所述激光点云数据中的膨胀点,并删除所述激光点云数据中的膨胀点,因此本技术实施例可以避免激光点云中的膨胀点影响激光点云数据的质量,从而激光点云数据的质量。
附图说明
65.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
66.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
67.图1为本技术实施例提供的激光点云数据处理方法的步骤流程图之一;
68.图2为本技术实施例提供的至少一个图像区域的示意图;
69.图3为本技术实施例提供的激光点云数据处理方法的步骤流程图之二;
70.图4为本技术实施例提供的数据点的领域内的数据点的示意图;
71.图5为本技术实施例提供的图像区域对应的内点集和点簇的示意图;
72.图6为本技术实施例提供的图像区域对应的外点集的示意图;
73.图7为本技术实施例提供的外点集中的数据点所属的图像区域的示意图;
74.图8为本技术实施例提供的激光点云数据处理装置的结构示意图;
75.图9为本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
76.为了能够更清楚地理解本技术的上述目的、特征和优点,下面将对本技术的方案进行进一步描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
77.在下面的描述中阐述了很多具体细节以便于充分理解本技术,但本技术还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本技术的一部分实施例,而不是全部的实施例。
78.需要说明的是,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。例如:第一特征和第二特征仅仅是为了区分不同的特征,而不是在对特征的顺序等进行限定。
79.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本
申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
80.本技术实施例提供了一种激光点云数据处理方法,参照图1所示,该激光点云数据处理方法包括如下步骤s101-s105:
81.s101、获取目标图像和所述目标图像对应的激光点云数据。
82.在一种可选的实施方式中,可以分别通过图像采集装置和激光测距装置对同一场景进行图像采集和激光点云数据采集,并将采集的激光点云数据与图像进行空间对准以及时间同步,从而获取目标图像和所述目标图像对应的激光点云数据。
83.示例性的,激光测距装置具体可以为激光雷达。
84.s102、对所述目标图像进行语义分割,将所述目标图像分割为至少一个图像区域。
85.示例性的,可以对所述目标图像进行语义分割,将目标图像分割为天空、建筑物、路灯杆、路面、树木、标示牌、护栏、车辆、行人、自行车等自动驾驶场景下的语义对象。
86.示例性的,参照图2所示,对目标图像进行语义分割得到的至少一个图像区域包括:语义对象“天空”对应的图像区域21、语义对象“建筑物1”对应的图像区域22、语义对象“建筑物2”对应的图像区域23、语义对象“建筑物3”对应的图像区域24、语义对象“行人”对应的图像区域25、语义对象“树木”对应的图像区域26、语义对象“地面”对应的图像区域27、语义对象“指示牌”对应的图像区域28等。
87.在一种可选的实施方式中,对所述目标图像进行语义分割的方式可以为:基于语义分割模型对所述目标图像进行语义分割,以将所述目标图像分割为至少一个图像区域。
88.其中,所述语义分割模型为基于样本数据对预设机器学习模型进行训练获取的模型,所述样本数据包括多个样本图像以及各个样本图像对应的语义分割结果。
89.在上述实施方式中,所述机器学习模型可以为:卷积神经网络(cnn)模型、循环神经网络(rnn)模型、全连接神经网络(fcn)模型等,本技术实施例在此不作具体限制。
90.示例性的,所述机器学习模型采用卷积神经网络(cnn)学习模型,对所述卷积神经网络学习模型进行训练。首先,获取大量样本图像以及各个样本图像对应的语义分割结果,然后样本图像以及各个图像对应的语义分割结果组成的样本数据输入卷积神经网络学习模型中进行机器模型中进行模型训练,得到能够准确对图像进行语义分割的图像语义分割模型。
91.s103、通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点簇。
92.作为一种可选的实施方式,上述步骤s103(通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点簇),包括:
93.通过基于密度的含噪声应用空间聚类(density-based spatial clustering ofapplications with noise)dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇。
94.s104、根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点。
95.作为一种可选的实施方式,上步骤s104(根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点),包括如下步骤1和步骤2:
96.步骤1、根据所述至少一个图像区域对应的语义对象将所述至少一个图像区域分类为第一类别的图像区域、第二类别的图像区域以及第三类别的图像区域。
97.其中,所述第一类别的图像区域包括反射率大于或等于阈值反射率的语义对象对应的图像区域,所述第二类别的图像区域包括反射率小于所述阈值反射率的语义对象对应的图像区域,所述第三类别的图像区域包括语义为背景的语义对象对应的图像区域。
98.需要说明的是,由于第一类别的图像区域为反射率大于或等于阈值反射率的语义对象对应的图像区域,所述第二类别的图像区域为反射率小于所述阈值反射率的语义对象对应的图像区域,所述第三类别的图像区域为语义为背景的语义对象对应的图像区域,因此第一类别的图像区域也可以称为高反射率区域,第二类别的图像区域也可以称为非高反射率区域,第三类别的图像区域也可以称为背景区域。
99.示例性的,可以将指示牌、路灯杆、三角指示牌、汽车牌照等反射率较高的语义对象对应的图像区域分类第一类别的图像区域,将行人、建筑、树木等反射率较低的语义对象对应的图像区域分类第二类别的图像区域,将天空等背景对应的图像区域分类第三类别的图像区域。
100.示例性的,在图2所示示例的基础上,图2所示示例中分割得到的图像区域、各个图像区域对应的语义对象以及各个语义对象对应的图像类别如下表1 所示:
101.表1
[0102][0103]
则,由表1中的内容将图2所示示例中分割得到的图像区域分类为第一类别的图像区域、第二类别的图像区域以及第三类别的图像区域,可得:
[0104]
第一类别的图像区域包括:图像区域28等图像区域。
[0105]
第一类别的图像区域包括:图像区域22、图像区域23等图像区域。
[0106]
第一类别的图像区域包括:图像区域21等图像区域。
[0107]
步骤2、根据所述至少一个图像区域、所述至少一个图像区域的类别以及所述至少
一个点簇确定所述激光点云数据中的膨胀点。
[0108]
s105、删除所述激光点云数据中的膨胀点。
[0109]
本技术实施例提供的激光点云数据处理方法,首先获取目标图像和所述目标图像对应的激光点云数据;其次对所述目标图像进行语义分割,然后将所述目标图像分割为至少一个图像区域;通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点簇;根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点;删除所述激光点云数据中的膨胀点。由于本技术实施例提供的激光点云数据处理方法可以对图像进行语义分割的分割结果以及对所述激光点云数据中的数据点进行聚类的聚类结果确定所述激光点云数据中的膨胀点,并删除所述激光点云数据中的膨胀点,因此本技术实施例可以避免激光点云中的膨胀点影响激光点云数据的质量,从而激光点云数据的质量。
[0110]
作为对上述实施例的扩展和细化,本技术实施例提供了另一种激光点云数据处理方法,参照图3所示,该激光点云数据处理方法包括如下步骤s301至 s309:
[0111]
s301、获取目标图像和所述目标图像对应的激光点云数据。
[0112]
s302、对所述目标图像进行语义分割,将所述目标图像分割为至少一个图像区域。
[0113]
s303、根据所述至少一个图像区域对应的语义对象将所述至少一个图像区域分类为第一类别的图像区域、第二类别的图像区域以及第三类别的图像区域。
[0114]
上述步骤s301至步骤s303的具体内容可以分别参见上述实施例对应的步骤,为避免赘述在此不作详细说明。
[0115]
s304、通过dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇。
[0116]
作为本技术实施例一种可选的实施方式,上步骤s203(通过dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇)包括:
[0117]
步骤一、随机从所述激光点云数据中选取一个未标记的数据点作为初始点。
[0118]
步骤二、对所述初始点进行标记并判断所述初始点的邻域内的数据点的数量是否大于或等于阈值数量,若否,则返回步骤一;若是,则将所述初始点和所述初始点的邻域内的数据点添加到一个点序列中。
[0119]
其中,任一数据点的邻域为以该数据点为圆心、预设值为半径的区域。
[0120]
进一步的,dbscan算法具有相关定义:
[0121]
ε邻域:给定对象半径为ε内的区域称为该对象的ε邻域;
[0122]
核心对象:如果给定对象ε邻域内的样本点数大于等于minpts,则称该对象为核心对象;
[0123]
直接密度可达:对于样本集合d,如果样本点q在p的ε邻域内,并且p 为核心对象,那么对象q从对象p直接密度可达;
[0124]
基于dbscan算法相关定义上述步骤二即为:首先将步骤一中选取的初始点标记为已访问的数据点,然后判断初始点是否为核心对象,以及在初始点为核心对象的情况下,将初始点以及与初始点直接密度可达的数据点放入一个点序列,在初始点不为核心对象的情况下,返回步骤一,重新从所述激光点云数据中选取一个未标记的数据点作为初始点。
[0125]
示例性的,参照图4所示,图4中以步骤一中选取的初始点为激光点云数据中的数
据点q0,且预设值为r,阈值数量为10为例对上实施例进行说明。如图4所示,以q0为圆形、r为半径的区域(q0的r邻域)内包括数据点q1、 q2、q3、q4、q5、q6、q7、q8、q9、q10、q11以及q12,共12个数据点,由于初始点的邻域内的数据点的数量12大于阈值数量10,因此将q0、q1、q2、 q3、q4、q5、q6、q7、q8、q9、q10、q11以及q12添加到一个点序列中。
[0126]
步骤三、遍历所述点序列,对所述点序列中未标记的数据点进行标记,并判断所述点序列中未标记的数据点的邻域内的数据点的数量是否大于或等于所述阈值数量,以及在所述任一数据点的邻域内的数据点的数量大于或等于所述阈值数量时,将该数据点的邻域内的数据点添加到所述点序列中,直到所述点序列中不存在未标记的数据点时,将所述点序列中的所有数据点聚类为一个点簇。
[0127]
承上图4所示示例,当前点序列包括:q0、q1、q2、q3、q4、q5、q6、q7、q8、q9、q10、q11以及q12,且仅有q0为已标记的数据点,其它数据点均为未标记的数据点,因此从q1开始遍历,首先将q1的状态标记为已访问状态,并判断以q1为圆心、r为半径的区域(q1的r邻域)内的数据点的数量,是否大于或等于10,在q1的r邻域内的数据点的数量大于或等于所述阈值数量时,将q1的r邻域内的数据点添加到所述点序列中。
[0128]
示例性的,当q1的r邻域内的数据点包括:q0、q13、q14、q15、q16、q17、 q18、q19、q20、q21、q22,共11个数据点时,由于q1的r邻域内数据点的数量大于阈值数量(q1为核心对象),因此将q1的r邻域内数据点也添加到当前点序列中,结束q1的遍历。结束q1的遍历时,当前点序列包括:q0、q1、q2、q3、q4、q5、q6、q7、q8、q9、q10、q11、q12、q13、q14、q15、q16、 q17、q18、q19、q20、q21、q22,基于当前点序列继续进行以下一个未标记的数据点的遍历,直到所述点序列中不存在未标记的数据点时,将所述点序列中的所有数据点聚类为一个点簇。
[0129]
示例性的,当q1的r邻域内的数据点包括:q0、q13、q14、q15时,由于 q1的r邻域内的数据点的数量小于阈值数量(q1不是核心对象),结束对q1 的遍历。结束q1的遍历时,当前点序列仍包括:q0、q1、q2、q3、q4、q5、 q6、q7、q8、q9、q10、q11、q12,基于当前点序列继续进行以下一个未标记的数据点的遍历,直到所述点序列中不存在未标记的数据点时,将所述点序列中的所有数据点聚类为一个点簇。
[0130]
重复上步骤一至步骤三,直到所述激光点云数据中不存在未标记的数据点。
[0131]
在一种可选的实施方式中,可以不属于任何一个点簇的点标记为所述激光点云数据中的噪声点,并进行相应处理。
[0132]
s305、确定各个所述第一类别的图像区域对应的内点集和点簇。
[0133]
其中,任一图像区域对应的内点集为所述激光点云数据中位于该图像区域对应的点云区域内的数据点组成的集合,任一图像区域对应的点簇为位于该图像区域对应的点云区域内的数据点所属的点簇。
[0134]
示例性的,如图5所示,图5中区域51为目标图像的图像区域,区域52 为目标图像对应的激光点云数据的点云区域,由于目标图像与目标图像对应的激光点云数据是对相同场景分别进行图像采集和激光点云数据得到的,因此区域51与区域52的尺寸、形状相同。区域51的子区域511为目标图像的一个第一类别的图像区域,子区域511在区域52中对应的区域为子区域521,且子区域521中的数据点均属于由子区域522中的所有数据点聚类得到的点簇。由于所述激光点云数据中与子区域511对应的点云区域为子区域521,因此子区域521
内的数据点组成的集合即为子区域511对应的内点集,又因为子区域 521内的数据点所属的点簇为子区域522中的所有数据点聚类得到的点簇,因此子区域522中的所有数据点聚类得到的点簇为子区域511对应的点簇。
[0135]
s306、根据各个所述第一类别的图像区域对应的内点集和点簇,获取各个所述第一类别的图像区域对应的外点集。
[0136]
其中,任一图像区域对应的外点集为属于该图像区域对应的点簇且不属于该图像区域对应的内点集的数据点组成的集合。
[0137]
在图5所示示例的基础上,参照图6所示,图6中区域60内的数据点属于子区域511对应的点簇(子区域522中的所有数据点聚类得到的点簇)且不属于子区域511对应的内点集(子区域521内的数据点组成的集合)的数据点,因此区域60内的数据点组成的集合即为图像区域51对应的外点集。
[0138]
s307、获取各个所述外点集中的各个数据点的类别。
[0139]
其中,任一数据点的类别为该数据点对应的像素点所属的图像区域的类别。
[0140]
示例性的,参照图7所示,第一类别的图像区域71的外点集72中的数据点qd对应的像素点qf所属的图像区域为图像区域73,因此数据点qd的类别为图像区域73的类别;当图像区域73的类别为第一类别时,数据点qd的类别为第一类别,当图像区域73的类别为第二类别时,数据点qd的类别为第二类别,当图像区域73的类别为第三类别时,数据点qd的类别为第三类别。
[0141]
s308、根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点。
[0142]
作为本技术实施例一种可选的实施方式,上述步骤s208(根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点)包括:
[0143]
当所述外点集中的第一数据点的类别为所述第三类别时,将所述第一数据点确定为膨胀点。
[0144]
其中,所述第一数据点为任一第一类别的图像区域对应的外点集中的任意一个数据点。
[0145]
即,当外点集中的任一数据点为语义为背景的语义对象对应的图像区域时,将该数据点确定为膨胀点。
[0146]
承上图7所示,若图像区域73的类别为第三类别,数据点qd的类别为第三类别,则确定数据点qd为膨胀点。
[0147]
作为本技术实施例一种可选的实施方式,上述步骤s208(根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点)还包括如下步骤a和步骤b:
[0148]
步骤a、当所述外点集中的第二数据点的类别为所述第二类别时,获取所述第二数据点对应的第一深度值和第二深度值。
[0149]
其中,所述第二数据点对应的第一深度值为所述第二数据点对应的像素点集合中的像素点的平均深度值;所述第二数据点对应的像素点集合为属于所述第二数据点对应的像素点所属的图像区域且不属于所述第二数据点所属的外点集对应的图像区域的像素点组成的集合,所述第二数据点对应的第二深度值为所述第二数据点对应的内点集中的数据点的平均深度值。
[0150]
本发明实施例中,任一数据点对应的内点集是指属于数据点所属的点簇的内点集。
[0151]
承上图7所示,外点集72中的数据点qd对应的像素点qf所属的图像区域为图像区域73,数据点qd所属的外点集72对应的图像区域为图像区域74,因此属于图像区域73且不属于图像区域74的像素点(图像区域75内的像素点)组成为集合为数据点qd对应的像素点集合,图像区域75内的像素点的平均深度值为数据点qd对应的第一深度值;数据点qd对应的内点集71中的数据点的平均深度值为数据点qd对应的第二深度值。
[0152]
步骤b、根据所述第二数据点对应的第一深度值和第二深度值,确定所述第二数据点是否为膨胀点。
[0153]
在一些实施例中,上述步骤b(根据所述第二数据点对应的第一深度值和第二深度值,确定所述第二数据点是否为膨胀点)包括如下步骤b1至步骤b3:
[0154]
步骤b1、获取所述第二数据点对应的深度差值。
[0155]
其中,所述第二数据点对应的深度差值为所述第二数据点对应的第一深度值和所述第二数据点对应的第二深度值的差值的绝对值。
[0156]
设:数据点qi对应的第一深度值为数据点qi对应的第二深度值为数据点数据点qi的深度差值为则有:
[0157][0158]
步骤b2、判断所述第二数据点对应的深度差值是否小于阈值差值。
[0159]
本技术实施例中不限定阈值差值的具体大小,实际使用中可以根据需求进行设定。
[0160]
在上步骤b3中,若所述第二数据点对应的深度差值大于或等于所述阈值差值,则执行如下步骤b3:
[0161]
步骤b3、确定所述第二数据点为膨胀点。
[0162]
s309、删除所述激光点云数据中的膨胀点。
[0163]
基于同一发明构思,作为对上述方法的实现,本技术实施例还提供了一种激光点云数据处理装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的激光点云数据处理装置能够对应实现前述方法实施例中的全部内容。
[0164]
本技术实施例提供了一种激光点云数据处理装置,图8为该激光点云数据处理装置的结构示意图,如图8所示,该激光点云数据处理装置800包括:
[0165]
获取单元801,用于获取目标图像和目标图像对应的激光点云数据;
[0166]
处理单元802,用于对所述目标图像进行语义分割,将所述目标图像分割为至少一个图形区域;并通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点云簇;
[0167]
分析单元803,用于根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点;
[0168]
删除单元804,用于删除所述激光点云数据中的膨胀点。
[0169]
作为本技术实施例一种可选的实施方式,所述处理单元802,具体用于根据所述至少一个图像区域对应的语义对象将所述至少一个图像区域分类为第一类别的图像区域、第二类别的图像区域以及第三类别的图像区域,所述第一类别的图像区域包括反射率大于或等于阈值反射率的语义对象对应的图像区域,所述第二类别的图像区域包括反射率小于所述阈值反射率的语义对象对应的图像区域,所述第三类别的图像区域包括语义为背景的语义对象对应的图像区域;
[0170]
根据所述至少一个图像区域、所述至少一个图像区域的类别以及所述至少一个点簇确定所述激光点云数据中的膨胀点。
[0171]
作为本技术实施例一种可选的实施方式,所述处理单元802,还用于确定各个所述第一类别的图像区域对应的内点集和点簇,任一图像区域对应的内点集为所述激光点云数据中位于该图像区域对应的点云区域内的数据点组成的集合,任一图像区域对应的点簇为位于该图像区域对应的点云区域内的数据点所属的点簇;
[0172]
根据各个所述第一类别的图像区域对应的内点集和点簇,获取各个所述第一类别的图像区域对应的外点集,任一图像区域对应的外点集为属于该图像区域对应的点簇且不属于该图像区域对应的内点集的数据点组成的集合;
[0173]
获取各个所述外点集中的各个数据点的类别,任一数据点的类别为该数据点对应的像素点所属的图像区域的类别;
[0174]
根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点。
[0175]
作为本技术实施例一种可选的实施方式,所述处理单元802,还用于当所述外点集中的第一数据点的类别为所述第三类别时,将所述第一数据点确定为膨胀点。
[0176]
作为本技术实施例一种可选的实施方式,所述处理单元802,还用于当所述外点集中的第二数据点的类别为所述第二类别时,获取所述第二数据点对应的第一深度值和第二深度值,所述第二数据点对应的第一深度值为所述第二数据点对应的像素点集合中的像素点的平均深度值;所述第二数据点对应的像素点集合为属于所述第二数据点对应的像素点所属的图像区域且不属于所述第二数据点所属的外点集对应的图像区域的像素点组成的集合,所述第二数据点对应的第二深度值为所述第二数据点对应的内点集中的数据点的平均深度值;
[0177]
根据所述第二数据点对应的第一深度值和第二深度值,确定所述第二数据点是否为膨胀点。
[0178]
作为本技术实施例一种可选的实施方式,所述处理单元802,还用于获取所述第二数据点对应的深度差值,所述第二数据点对应的深度差值为所述第二数据点对应的第一深度值和所述第二数据点对应的第二深度值的差值的绝对值;
[0179]
判断所述第二数据点对应的深度差值是否小于阈值差值;
[0180]
若否,则确定所述第二数据点为膨胀点。
[0181]
作为本技术实施例一种可选的实施方式,所述处理单元802,还用于基于语义分割模型对所述目标图像进行语义分割,以将所述目标图像分割为至少一个图像区域;
[0182]
其中,所述语义分割模型为基于样本数据对预设机器学习模型进行训练获取的模型,所述样本数据包括多个样本图像以及各个样本图像对应的语义分割结果。
[0183]
作为本技术实施例一种可选的实施方式,所述处理单元802,还用于通过基于密度
的含噪声应用空间聚类dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇。
[0184]
作为本技术实施例一种可选的实施方式,所述处理单元802,还用于通过 dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇,包括:
[0185]
步骤一、随机从所述激光点云数据中选取一个未标记的数据点作为初始点;
[0186]
步骤二、对所述初始点进行标记,并判断所述初始点的邻域内的数据点的数量是否大于或等于阈值数量,若否,则返回步骤一;若是,则将所述初始点和所述初始点的邻域内的数据点添加到一个点序列中;其中,任一数据点的邻域为以该数据点为圆心、预设值为半径的区域;
[0187]
步骤三、遍历所述点序列,对所述点序列中未标记的数据点进行标记,并判断所述点序列中未标记的数据点的邻域内的数据点的数量是否大于或等于所述阈值数量,以及在所述任一数据点的邻域内的数据点的数量大于或等于所述阈值数量时,将该数据点的邻域内的数据点添加到所述点序列中,直到所述点序列中不存在未标记的数据点时,将所述点序列中的所有数据点聚类为一个点簇;
[0188]
重复上述步骤一至步骤三,直到所述激光点云数据中不存在未标记的数据点。本实施例提供的激光点云数据处理装置可以执行上述方法实施例提供的激光点云数据处理方法,其实现原理与技术效果类似,此处不再赘述。
[0189]
基于同一发明构思,本技术实施例还提供了一种电子设备。图9为本技术实施例提供的电子设备的结构示意图,如图9所示,本实施例提供的电子设备包括:存储器901和处理器902,所述存储器901用于存储计算机程序;所述处理器902用于在调用计算机程序时执行上述实施例提供的激光点云数据方法。
[0190]
基于同一发明构思,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当计算机程序被处理器执行时,使得所述计算设备实现上述实施例提供的激光点云数据处理方法。
[0191]
基于同一发明构思,本技术实施例还提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算设备实现上述实施例提供的激光点云数据处理方法。
[0192]
本领域技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
[0193]
处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列 (field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0194]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读
介质的示例。
[0195]
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
[0196]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。

技术特征:


1.一种激光点云数据处理方法,其特征在于,包括:获取目标图像和所述目标图像对应的激光点云数据;对所述目标图像进行语义分割,将所述目标图像分割为至少一个图像区域;通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点簇;根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点;删除所述激光点云数据中的膨胀点。2.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点,包括:根据所述至少一个图像区域对应的语义对象将所述至少一个图像区域分类为第一类别的图像区域、第二类别的图像区域以及第三类别的图像区域,所述第一类别的图像区域包括反射率大于或等于阈值反射率的语义对象对应的图像区域,所述第二类别的图像区域包括反射率小于所述阈值反射率的语义对象对应的图像区域,所述第三类别的图像区域包括语义为背景的语义对象对应的图像区域;根据所述至少一个图像区域、所述至少一个图像区域的类别以及所述至少一个点簇确定所述激光点云数据中的膨胀点。3.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个图像区域、所述至少一个图像区域的类别以及所述至少一个点簇确定所述激光点云数据中的膨胀点,包括:确定各个所述第一类别的图像区域对应的内点集和点簇,任一图像区域对应的内点集为所述激光点云数据中位于该图像区域对应的点云区域内的数据点组成的集合,任一图像区域对应的点簇为位于该图像区域对应的点云区域内的数据点所属的点簇;根据各个所述第一类别的图像区域对应的内点集和点簇,获取各个所述第一类别的图像区域对应的外点集,任一图像区域对应的外点集为属于该图像区域对应的点簇且不属于该图像区域对应的内点集的数据点组成的集合;获取各个所述外点集中的各个数据点的类别,任一数据点的类别为该数据点对应的像素点所属的图像区域的类别;根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点。4.根据权利要求3所述的方法,其特征在于,所述根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点,包括:当所述外点集中的第一数据点的类别为所述第三类别时,将所述第一数据点确定为膨胀点。5.根据权利要求3所述的方法,其特征在于,所述根据各个所述外点集中的各个数据点的类别确定所述激光点云数据中的膨胀点,包括:当所述外点集中的第二数据点的类别为所述第二类别时,获取所述第二数据点对应的第一深度值和第二深度值,所述第二数据点对应的第一深度值为所述第二数据点对应的像素点集合中的像素点的平均深度值;所述第二数据点对应的像素点集合为属于所述第二数据点对应的像素点所属的图像区域且不属于所述第二数据点所属的外点集对应的图像区域的像素点组成的集合;所述第二数据点对应的第二深度值为所述第二数据点对应的内点集中的数据点的平均深度值;
根据所述第二数据点对应的第一深度值和第二深度值,确定所述第二数据点是否为膨胀点。6.根据权利要求5所述的方法,其特征在于,所述根据所述第二数据点对应的第一深度值和第二深度值,确定所述第二数据点是否为膨胀点,包括:获取所述第二数据点对应的深度差值,所述第二数据点对应的深度差值为所述第二数据点对应的第一深度值和所述第二数据点对应的第二深度值的差值的绝对值;判断所述第二数据点对应的深度差值是否小于阈值差值;若否,则确定所述第二数据点为膨胀点。7.根据权利要求1-6任一项所述的方法,其特征在于,所述对所述目标图像进行语义分割,将所述目标图像分割为至少一个图像区域,包括:基于语义分割模型对所述目标图像进行语义分割,以将所述目标图像分割为至少一个图像区域;其中,所述语义分割模型为基于样本数据对预设机器学习模型进行训练获取的模型,所述样本数据包括多个样本图像以及各个样本图像对应的语义分割结果。8.根据权利要求1-6任一项所述的方法,其特征在于,所述通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点簇,包括:通过基于密度的含噪声应用空间聚类dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇。9.根据权利要求8所述的方法,其特征在于,所述通过dbscan算法对所述激光点云数据中的数据点进行聚类,获取所述至少一个点簇,包括:步骤一、随机从所述激光点云数据中选取一个未标记的数据点作为初始点;步骤二、对所述初始点进行标记,并判断所述初始点的邻域内的数据点的数量是否大于或等于阈值数量,若否,则返回步骤一;若是,则将所述初始点和所述初始点的邻域内的数据点添加到一个点序列中;其中,任一数据点的邻域为以该数据点为圆心、预设值为半径的区域;步骤三、遍历所述点序列,对所述点序列中未标记的数据点进行标记,并判断所述点序列中未标记的数据点的邻域内的数据点的数量是否大于或等于所述阈值数量,以及在所述任一数据点的邻域内的数据点的数量大于或等于所述阈值数量时,将该数据点的邻域内的数据点添加到所述点序列中,直到所述点序列中不存在未标记的数据点时,将所述点序列中的所有数据点聚类为一个点簇;重复上述步骤一至步骤三,直到所述激光点云数据中不存在未标记的数据点。10.一种激光点云数据处理装置,其特征在于,包括:获取单元,用于获取目标图像和目标图像对应的激光点云数据;处理单元,用于对所述目标图像进行语义分割,将所述目标图像分割为至少一个图形区域;并通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点云簇;分析单元,用于根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点;删除单元,用于删除所述激光点云数据中的膨胀点。

技术总结


本申请实施例提供了一种激光点云数据处理方法及装置,涉及计算机视觉算法领域。该方法包括:获取目标图像和所述目标图像对应的激光点云数据;对所述目标图像进行语义分割,将所述目标图像分割为至少一个图像区域;通过基于密度的聚类算法对所述激光点云数据中的数据点进行聚类,获取至少一个点簇;根据所述至少一个图像区域和所述至少一个点簇确定所述激光点云数据中的膨胀点;删除所述激光点云数据中的膨胀点。本申请实施例用于识别并删除激光点云中的膨胀点,从而提升激光点云数据的质量。量。量。


技术研发人员:

单佳炜 郑睿童 沈罗丰 李洪鹏

受保护的技术使用者:

探维科技(北京)有限公司

技术研发日:

2022.06.10

技术公布日:

2022/12/22

本文发布于:2024-09-22 03:52:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/46728.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   据点   图像   区域
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议