CN113705617B - 点云数据的处理方法、装置、计算机设备和存储介质 - Google Patents
点云数据的处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113705617B CN113705617B CN202110874434.4A CN202110874434A CN113705617B CN 113705617 B CN113705617 B CN 113705617B CN 202110874434 A CN202110874434 A CN 202110874434A CN 113705617 B CN113705617 B CN 113705617B
- Authority
- CN
- China
- Prior art keywords
- point
- points
- cloud data
- data set
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 114
- 230000001154 acute effect Effects 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004579 scanning voltage microscopy Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种点云数据的处理方法、装置、计算机设备和存储介质。所述方法通过获取原始点云数据集合,并对原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合,再根据预设条件识别候选点云数据集合中的拖点。正是由于预先对原始点云数据集合中的点进行去除平面和斜面的聚类,将原始点云数据集合中属于真正平面和斜面的点进行聚类,使聚类后得到的候选点云数据集合中并不包含真正平面和斜面的点,将不属于拖点的点进行了保护,使候选点云数据集合中包含真正的拖点,因此后期基于候选点云数据集合可以准确的确定拖点,相比于传统拖点检测方法因无法正确判断斜面上的拖点导致拖点误检,极大的降低了检测拖点的误检率。
Description
技术领域
本申请涉及激光雷达***技术领域,特别是涉及一种点云数据的处理方法、装置、计算机设备和存储介质。
背景技术
激光雷达是一种主动成像***,通过向多个方向发射激光,并从发出到返回信号的时间差来计算当前方向上目标物体距离自身的距离,由于发出的方向较多,形成点云,从而达到对环境进行一定程度的探测的目的。
目前,通过激光雷达探测得到的点云数据中,存在一些拖点,即,当较近的物体边缘遮挡较远物体,且两个表面距离较小时,两个表面之间明明没有物体,却显示有点存在,这就是拖点。拖点会明显影响对前方环境的判断,会使得两个面空空的区域像有个斜面一样,从而影响了基于激光雷达点云数据探测的准确性和真实性。
因此,如何而提高获取激光雷达点云数据的准确性成为了当下激光雷达探测亟待解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高获取激光雷达点云数据的准确性的点云数据的处理方法、装置、计算机设备和存储介质。
第一方面,一种点云数据的处理方法,所述方法包括:
获取原始点云数据集合;
对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合;
根据预设条件识别所述候选点云数据集合中的拖点。
第二方面,一种点云数据的处理装置,所述装置包括:
获取模块,用于获取原始点云数据集合;
聚类模块,用于对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合;
确定模块,用于根据预设条件识别所述候选点云数据集合中的拖点。第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述点云数据的处理方法。
第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述点云数据的处理方法。
上述点云数据的处理方法、装置、计算机设备和存储介质,通过获取原始点云数据集合,并对原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合,再根据预设条件识别候选点云数据集合中的拖点。正是由于预先对原始点云数据集合中的点进行去除平面和斜面的聚类,将原始点云数据集合中属于真正平面和斜面的点进行聚类,使聚类后得到的候选点云数据集合中并不包含真正平面和斜面的点,将不属于拖点的点进行了保护,使候选点云数据集合中包含真正的拖点,因此后期基于候选点云数据集合可以准确的确定拖点,相比于传统的拖点检测方法因无法正确判断斜面上的拖点导致拖点误检,极大的降低了点云数据检测拖点的误检率。另外,先将原始点云数据集合进行聚类,将属于平面点和斜面点去除,得到候选点云数据集合,可以缩小后期基于候选点云数据集合进行处理的数据量,提高点云数据处理的速度。
附图说明
图1为一个实施例中点云数据的处理方法的应用环境图;
图2为一个实施例中点云数据的处理方法的流程示意图;
图3为图2实施例S104的一种实现方法的流程示意图;
图4为图2实施例S102的一种实现方法的流程示意图;
图5为图4实施例S201的一种实现方法的流程示意图;
图6为图4实施例S202的一种实现方法的流程示意图;
图6A为一个实施例中一种聚类方法的示意图;
图7为图3实施例S1041的一种实现方法的流程示意图;
图8为图3实施例S1041的一种实现方法的流程示意图;
图9为图3实施例S1041的一种实现方法的流程示意图;
图10为图3实施例S1042的一种实现方法的流程示意图;
图11为图3实施例S1042的一种实现方法的流程示意图;
图12为图3实施例S1042的一种实现方法的流程示意图;
图13为图3实施例S1042的一种实现方法的流程示意图;
图14为一个实施例中点云数据的处理装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在实际应用中,当激光雷达是一种主动成像***,通过向多个方向发射激光,通过从发出的返回信号的时间差来计算出当前方向目标到自身的距离,由于发出的方向较多,形成点云,从而达到对环境进行一定程度的探测的目的。基站在接收到激光雷达采集到的点云数据后,可以进一步的基于点云数据成像,形成探测环境的图像。然而,在环境的图像上,存在一种现象,较近的物体边缘遮挡较远的物体处,且两个表面的距离较小时,两个表面之间明明没有物体,却显示有点存在,这种点称为拖点,拖点会明显影响对前方环境的判断,会使得两个面空空的区域像个斜面一样。因此,在现有的拖点检测方法中,往往因为这一特点,发生误检,将真正属于斜面上的点确定为拖点,导致拖点的误检率极高,进而将真正的斜面去除掉,进过拖点滤除处理后反而降低了处理后的图像的质量,或者使处理后的图像与点云数据对应的图像之间出现了误差。针对上述问题,提出了本申请所述的点云数据的处理方法,以准确的滤除拖点。下面实施例将具体说明本申请所述方法。
本申请提供的点云数据的处理方法,可以应用于如图1所示的应用环境中。其中,激光雷达102通过网络与基站进行通信。激光雷达用于扫描周围环境进而输出点云数据,并发送给基站;基站用于对接收到的点云数据进行去除拖点的数据处理,并根据去除拖点后的点云数据实现周围环境中目标物体的识别。其中,激光雷达可以是路侧激光雷达,也可以是其它类型的激光雷达。基站可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,基站还可以是独立的服务器或者是多个服务器组成的服务器集群来实现。
本领域技术人员可以理解,图1中示出的应用环境的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的应用环境的限定,具体的应用环境可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,如图2所示,提供了一种点云数据的处理方法,以该方法应用于图1中的基站为例进行说明,包括以下步骤:
S101,获取原始点云数据集合。
其中,原始点云数据集合为待处理的点云数据集合,原始点云数据集合为激光雷达扫描周围环境后得到的点云数据,用于表征周围环境中各物体的距离信息。激光雷达可以是各种类型的激光雷达,当激光雷达采集到周围环境中的点云数据时,激光雷达将采集到的点云数据传输至基站,以使基站对点云数据进行处理后进行成像、或地图生成、或周围环境探测等操作。
本实施例中,当激光雷达扫描周围环境后得到点云数据集合时,即可将得到的点云数据集合实时的传送至基站,基站在接收到激光雷达发送的点云数据集合后,即可将接收到的点云数据集合作为待处理的原始点云数据集合进行处理;可选的,当激光雷达扫描周围环境后得到点云数据集合时,激光雷达也可以将扫描得到的点云数据集合实时的上传至云数据库,当基站需要获取原始点云数据集合时,即可从该云数据库中直接下载得到原始点云数据集合。
S102,对原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,候选点云数据集合。
其中,聚类用于去除原始点云数据集合中属于平面和斜面的点,即将原始点云数据集合中真正属于平面和斜面上的点去除。聚类后的结果包括原始点云数据集合中不属于平面和斜面的点,即聚类结果为包含散点的点集合,因此,候选点云数据集合为包括原始点云数据集合中不属于平面和斜面的点,即为包含散点的点集合。
本实施例中,当基站获取到原始点云数据集合时,可以先对原始点云数据集合中的点进行聚类,以去除点云集合中属于平面和斜面的点。需要说明的是,对原始点云数据集合中的各点进行聚类时可以具体采用现有的非平面点和非斜面点的聚类算法;可选的,对原始点云数据集合中的点进行聚类也可以采用训练好的识别网络对输入的原始点云数据集合进行非平面点和非斜面点识别,识别出原始点云数据集合中不属于平面的点和属于斜面的点,得到候选点云数据集合。可选的,基站也可以对原始点云数据集合中的各点进行聚类时具体采用现有的平面点和斜面点的聚类算法,或者采用训练好的识别网络对输入的原始点云数据集合进行平面点和斜面点识别,识别出原始点云数据集合中属于平面的点和属于斜面的点,得到包含属于平面和斜面的点的集合。再将属于平面和斜面的点的集合从原始点云数据集合中去除,剩余的点集合即为候选点云数据集合。其中,由于预先将原始点云数据集合中属于真正平面和斜面的点进行了去除,因此去除平面点和斜面点的候选点云数据集合中若包含拖点,则该拖点即为真正的拖点。
S103,根据预设条件识别候选点云数据集合中的拖点。
其中,预设条件用于筛选拖点,用于将符合拖点特征的点从候选点云数据集合中筛选出来。预设条件可以为具体的拖点识别算法,也可以是用于识别拖点的拖点识别网络,还可以是符合拖点特征的识别条件。
本实施例中,当基站获取到候选点云数据集合时,可以先确定预设条件,若预设条件为具体的拖点识别算法,则基站即可采用拖点识别算法基于候选点云数据集合中的点的特征进行分析,实现对候选点云数据集合中的点的分类,以确定候选点云数据集合中的拖点;若预设条件为已训练好的拖点识别网络,则基站即可将候选点云数据集合直接输入至拖点识别网络进行拖点识别,确定出候选点云数据集合中的拖点;若预设条件是符合拖点特征的识别条件,则基站即可通过比较分析的方式将候选点云数据集合中于拖点特征一致的点筛选出来确定为拖点。
上述点云数据的处理方法,通过获取原始点云数据集合,并对原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合,再根据预设条件识别候选点云数据集合中的拖点。正是由于预先对原始点云数据集合中的点进行去除平面和斜面的聚类,将原始点云数据集合中属于真正平面和斜面的点进行聚类,使聚类后得到的候选点云数据集合中并不包含真正平面和斜面的点,将不属于拖点的点进行了保护,使候选点云数据集合中包含真正的拖点,因此后期基于候选点云数据集合可以准确的确定拖点,相比于传统的拖点检测方法因无法正确判断斜面上的拖点导致拖点误检,极大的降低了点云数据检测拖点的误检率。另外,先将原始点云数据集合进行聚类,将属于平面点和斜面点去除,得到候选点云数据集合,可以缩小后期基于候选点云数据集合进行处理的数据量,提高点云数据处理的速度。
在一个实施例中,提供了上述S104的一种具体实现方式,如图3所示,上述S104“根据预设条件识别候选点云数据集合中的拖点”,包括:
S1041,对候选点云数据集合中每个点进行特征计算,得到每个点对应的特征值。
其中,每个点的特征值包括比值类型的特征值、距离类型的特征值和极值类型的特征值中的至少一种。
本实施例中,当基站获取到候选点云数据集合时,说明该候选点云数据集合中可能包含拖点,基于此,基站需要进一步的对候选点云数据集合中的每个点进行拖点识别,那么本实施例涉及基站识别候选点云数据集合中的各点是否为拖点的方法,即先计算候选点云数据集合中每个点的特征值,再根据每个点的特征值确定对应点是否为拖点。具体在计算每个点的特征值时,可以通过比较每个点与候选点云数据集合中其它任意点之间的距离的方式,确定每个点的特征值;可选的,也可以通过比较每个点与候选点云数据集合中的目标点之间的距离的方式,确定每个点的特征值,而目标点可以是与每个点相邻的点,也可以是与每个点在同一行中的任意点,还可以是候选点云数据集合中的原点。
S1042,根据每个点对应的特征值,确定每个点是否为拖点。
当基站计算得到候选点云数据集合中每个点的特征值时,即可根据每个点的特征值的大小确定每个点是否为拖点。具体的,当基站计算得到的每个点的特征值为一种类型的特征值时,基站直接根据每个点的特征值确定每个点是否为拖点,比如,假设计算得到一个点的特征值为第一特征值时,且该第一特征值小于预设阈值,则确定该点为拖点;当基站计算得到的每个点的特征值为多种类型的特征值时,基站可以通过比较每个点的多种类型的特征值,确定每个点是否为拖点,比如,假设计算得到一个点的三种类型的特征值为第一特征值、第二特征值和第三特征值,若第一特征值小于第一预设阈值,第二特征值小于第二预设阈值,第三特征值小于第三预设阈值,确定该点为拖点,若不满足上述条件则确定该点为正常点。
进一步的,当基站执行完上述S1042步骤之后,即确定了候选点云数据集合中的拖点之后,还需要对原始点云数据集合进行处理,以去除原始点云数据集合中的拖点,具体执行步骤:去除点云数据集合中的拖点,得到处理后的点云数据集合。
当基站确定了候选点云数据集合中的拖点后,即可将这些拖点从原始点云数据集合中去除,并将包含剩余点的原始点云数据集合确定为处理后的点云数据集合。之后,基站即可基于处理后的点云数据进行成像、或地图生成、或周围环境探测等操作。
上述点云数据的处理方法,采用计算每个点的特征值的方法确定每个点是否为拖点,实现了对每个点的特征进行量化,能够更加准确的判定每个点是否为拖点。因此,本申请提供的点云数据的处理方法能够准确的滤除点云数据集合中的拖点。
在一个实施例中,提供了上述S101的一种具体实现方式,如图4所示,上述S102“对原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合”,包括:
S201,对原始点云数据集合中的点进行去除属于平面上的点的聚类,得到第一散点集合。
本实施例涉及对原始点云数据集合中不属于平面上的点进行聚类的方法,在实际应用中,基站可以采用相应的非平面点聚类算法对原始点云数据集合中不属于平面上的点进行聚类处理;可选的,基站也可以预先基于点云样本数据集合训练一个非平面点识别网络,使该非平面点识别网络可以识别原始点云样本数据集合中不属于平面上的点,在使用时,基站获取到原始点云数据集合后,直接将该原始点云数据集合输入至训练好的非平面点识别网络,得到非平面点识别网络输出的识别结果,即识别出的不属于平面上的点,最后将识别出的不属于平面上的点的集合作为第一散点集合。可选的,基站也可以采用相应的平面点聚类算法对原始点云数据集合中属于平面上的点进行聚类处理;可选的,基站也可以预先基于点云样本数据集合训练一个平面点识别网络,使该平面点识别网络可以识别原始点云样本数据集合中属于平面上的点,在使用时,基站获取到原始点云数据集合后,直接将该原始点云数据集合输入至训练好的平面点识别网络,得到平面点识别网络输出的识别结果,即识别出的属于平面上的点,最后将识别出的属于平面上的点的集合从原始点云数据集合中去除,并将原始点云数据集合中剩余的点的集合作为第一散点集合。
可选的,如图5所示,上述步骤S201具体可以通过下述方式实现:
S2011,选取原始点云数据集合中的一个点作为当前点。
具体的可以选取原始点云数据集合中的任意点作为当前点,当前点为处理原始点云数据集合中每个点时的参考点,原始点云数据集合中的第一个点。
S2012,将与当前点相邻的下一个点作为待聚类点。
其中,与当前点相邻的下一个点为距离当前点最近的下一个扫描点。待聚类点为原始点云数据集合中当前要做聚类处理的点。
S2013,对待聚类点执行第一聚类操作之后,将待聚类点重新作为新的当前点,并返回执行将与当前点相邻的点作为待聚类点的步骤,重新执行第一聚类操作,直到遍历完原始点云数据集中的所有点为止,得到原始点云数据集合中各点所在集合。
本实施例通过循环遍历原始点云数据集合中的每个点,以实现对原始点云数据集合中的每个点进行第一聚类操作,进而将原始点云数据集合中的每个点进行是否属于平面的点的聚类,得到聚类后的各集合。
其中,第一聚类操作包括:计算当前点与待聚类点之间的距离,并根据当前点与待聚类点之间的距离,确定待聚类点所在集合。
具体的,判断当前点与待聚类点之间的距离是否小于预设阈值,若当前点与待聚类点之间的距离小于预设阈值,则将待聚类点归类至当前点所在集合;若当前点与待聚类点之间的距离不小于预设阈值,则构建新的集合,并将待聚类点归类至新的集合。
需要说明的是,第一个当前点所在集合为基站预先为第一个点构建的集合。
S2014,根据原始点云数据集合中各点所在集合确定第一散点集合。
当基站执行上述步骤确定了原始点云数据集合中各点所在集合后,即可得到多个点云数据集合,这多个点云数据集合为将原始点云数据集合中的各点进行平面聚类后对应的各类的数据集合。
进一步的,基站在执行上述S2014时,具体执行:将集合中包含点数目小于预设数目阈值的各点所在集合进行合并,构成第一散点集合。
其中,预设数目阈值可以根据实际应用需求确定,用于衡量集合中的点是否属于同一平面上的点的标准数目。当集合中的点的数目小于预设数目阈值时,说明该集合中包含的点为散点,不属于平面上的点;当集合中的点的数目不小于预设数目阈值时,说明该集合中包含的点为属于同一平面上的点。
当基站确定了原始点云数据集合中各点所在集合后,即可判断各点所在集合是否为可能包含拖点的集合,具体的判断方法为:由于包含点数目小于预设数目阈值的集合中的点为散点,因此将集合中包含点数目小于预设数目阈值的各点所在集合进行合并,构成第一散点集合,第一散点集合中包含不属于平面的点,即可能包含真正的拖点。
示例性说明上述S2011-S2014的方法,假设原始点云数据集合P为:P={P1,P2,P3,.........,Pm},实现对原始点云数据集合P中属于平面上的点进行聚类的过程包括步骤:
步骤1:选取原始点云数据集合P中的第一个点P1作为当前点,将与P1相邻的下一个点P2作为待聚类点。
步骤2:计算P1与P2之间的距离d1,并判断d1是否小于预设阈值d0,若d1小于预设阈值d0,则将P2划分到P1所在集合;P1所在集合为预先为P1划分好的集合;若d1不小于预设阈值d0,则构建新的集合,并将P2划分到构建的新的集合,确定为P2所在集合。
步骤3:将P2作为新的当前点,将与P2相邻的下一个点P3作为新的待聚类点,按照上述步骤1-步骤2所述的方法确定点P3所在集合。
步骤4:按照步骤1-步骤3所述的方法遍历原始点云数据集合P的所有点,以得到原始点云数据集合P中各点(P1,P2,P3,.........,Pm)所在集合。
步骤5:判断原始点云数据集合P中各点(P1,P2,P3,.........,Pm)所在集合中包含的点的数目是否小于预设数目阈值N,并将集合中包含点数目小于预设数目阈值N的各点所在集合进行合并,合并后的集合为第一散点集合,比如,基于步骤4得到三个集合U1={P1,P2,P3};U2={P4,P9...P20,P30};U2={P21...P29,P31...Pm},假设预设数目阈值为10,确定集合U1中包含的点的数目3小于预设数目阈值10,集合U2中包含的点的数目16大于预设数目阈值10,集合U3中包含的点的数目大于预设数目阈值10,则确定U1为第一散点集合。
S202,对原始点云数据集合中的点进行去除属于斜面上的点的聚类,得到第二散点集合。
本实施例涉及对原始点云数据集合中不属于斜面上的点进行聚类的方法,在实际应用中,基站可以采用相应的非斜面点聚类算法对原始点云数据集合中不属于斜面上的点进行聚类处理;可选的,基站也可以预先基于点云样本数据集合训练一个非斜面点识别网络,使该非斜面点识别网络可以识别原始点云样本数据集合中属于非斜面上的点,在使用时,基站获取到原始点云数据集合后,直接将该原始点云数据集合输入至训练好的非斜面点识别网络,得到非斜面点识别网络输出的识别结果,即识别出的不属于斜面上的点,最后将识别出的不属于斜面上的点的集合作为第二散点集合。可选的,基站也可以采用相应的斜面点聚类算法对原始点云数据集合中属于斜面上的点进行聚类处理;可选的,基站也可以预先基于点云样本数据集合训练一个斜面点识别网络,使该斜面点识别网络可以识别原始点云样本数据集合中属于斜面上的点,在使用时,基站获取到原始点云数据集合后,直接将该原始点云数据集合输入至训练好的斜面点识别网络,得到斜面点识别网络输出的识别结果,即识别出的属于斜面上的点,最后将识别出的属于斜面上的点的集合从原始点云数据集合中去除,并将原始点云数据集合中剩余的点的集合作为第二散点集合。
可选的,如图6所示,上述步骤S202具体可以通过下述方式实现:
S2021,选取原始点云数据集合中的一个点作为当前点。
具体的可以选取原始点云数据集合中的任意点作为当前点,当前点为处理原始点云数据集合中每个点时的参考点,比如,原始点云数据集合中的第一个点。
S2022,若当前点为原始点云数据集合中的第一个点,则将与当前点相邻的下一个点归类至当前点所在集合;若当前点非原始点云数据集合中的第一个点,则执行斜面聚类步骤,得到原始点云数据集合中各点所在集合。
本实施例通过循环遍历原始点云数据集合中的每个点,以实现对原始点云数据集合中的每个点进行斜面聚类操作,进而将原始点云数据集合中的每个点进行是否属于斜面的点的分类,得到分类后的各集合。
其中,斜面聚类步骤包括:将与当前点相邻的上一个点作为已聚类点,并将与当前点相邻的下一个点作为待聚类点;对待聚类点执行第二聚类操作之后,将待聚类点重新作为新的当前点,并返回执行将与当前点相邻的上一个点作为已聚类点,并将与当前点相邻的下一个点作为待聚类点的步骤,重新执行第二聚类操作,直到遍历完原始点云数据集中的所有点为止,得到原始点云数据集合中各点所在集合;
其中,与当前点相邻的下一个点为距离当前点最近的下一个扫描点。待聚类点为点云数据集合中当前要做聚类处理的点。与当前点相邻的上一个点为距离当前点最近的上一个扫描点。已聚类点为处理点云数据集合中每个待聚类点时的参考点。
第二聚类操作包括:连接当前点与已聚类点形成第一直线,连接当前点与待聚类点形成第二直线,确定第一直线与第二直线相交形成的锐角,并根据锐角确定待聚类点所在集合。
可选的,基站在具体根据锐角确定待聚类点所在集合时,可以判断锐角是否小于预设角度阈值,若锐角小于预设角度阈值,则将待聚类点归类至所述当前点所在集合;若锐角不小于预设角度阈值,则构建新的集合,并将待聚类点归类至新的集合。
S2023,根据原始点云数据集合中各点所在集合确定第二散点集合。
当执行上述步骤确定了原始点云数据集合中各点所在集合后,得到了多个点云数据集合,这多个点云数据集合为将原始点云数据集合中的各点进行斜面聚类后对应的各类的数据集合。
进一步的,基站在执行上述S2023时,具体执行:将集合中包含点数目小于预设数目阈值的各点所在集合进行合并,构成第二散点集合。
其中,预设数目阈值可以根据实际应用需求确定,用于衡量集合中的点是否属于同一斜面上的点的标准数目,当集合中的点的数目小于预设数目阈值时,说明该集合中包含的点为散点,不属于斜面上的点;当集合中的点的数目不小于预设数目阈值时,说明该集合中包含的点为属于同一斜面上的点。需要说明的是,本实施例中的预设数目阈值与前述S2014实施例中的预设数目阈值可以相同,也可以不同。
当基站确定了原始点云数据集合中各点所在集合后,即可判断各点所在集合是否为可能包含拖点的集合,具体的判断方法为:由于包含点数目小于预设数目阈值的集合中的点为散点,因此将集合中包含点数目小于预设数目阈值的各点所在集合进行合并,构成第二散点集合,第二散点集合中包含不属于斜面的点,即可能包含真正的拖点。
示例性说明上述S2021-S2023的方法,如图6A所示,假设原始点云数据集合P为:P={P1,P2,P3,.........,Pm},实现对原始点云数据集合P中属于斜面上的点进行聚类的过程包括步骤:(说明:图6A仅是给出了点P1,点P2,点P3,点P4作为示意说明,并不构成对点数目的限定)
步骤1:选取原始点云数据集合P中的第一个点P2作为当前点,将与P2相邻的上一个点P1作为已聚类点,将与P2相邻的下一个点P3作为待聚类点。
步骤2:连接当前点P2与已聚类点P1形成第一直线l1,连接当前点P2与待聚类点P3形成第二直线l2,确定第一直线l1和第二直线l2相交形成的锐角θ1,并判断锐角θ1是否小于预设角度阈值θth,若锐角θ1小于预设角度阈值θth,则认为P1、P2、P3位于同一条直线上,基于此,将待聚类点P3划分到当前点P2所在集合。当前点P2所在集合为预先构建的集合,为与P1所在的同一集合。若锐角θ1不小于预设角度阈值θth,则认为P1、P2、P3不在同一条直线上,基于此,构建新的集合,并将P3划分到构建的新的集合,确定为P3所在集合。
步骤3:将P3作为新的当前点,将与P3相邻的上一个点P2作为新的已聚类点,将与P3相邻的下一个点P4作为新的待聚类点,并连接当前点P3与待聚类点P4形成第三直线l3,确定已聚类点P2与当前点P3形成第二直线l2和第三直线l3相交形成的锐角θ2,并判断锐角θ2是否小于预设角度阈值θth,若锐角θ2小于预设角度阈值θth,则认为P2、P3、P4位于同一条直线上,基于此,将待聚类点P4划分到当前点P3所在集合。若锐角θ2不小于预设角度阈值θth,则构建新的集合,并将P4划分到构建的新的集合,确定为P4所在集合。
步骤4:按照步骤1-步骤3所述的方法遍历原始点云数据集合P的所有点,以得到原始点云数据集合P中各点(P1,P2,P3,.........,Pm)所在集合。
步骤5:判断原始点云数据集合P中各点(P1,P2,P3,.........,Pm)所在集合中包含的点的数目是否小于预设数目阈值N,并将集合中包含点数目小于预设数目阈值N的各点所在集合进行合并,合并后的集合为第二散点集合,比如,基于步骤4得到三个集合U1={P1,P2,P3};U2={P4,P9...P20,P30};U2={P21...P29,P31...Pm},假设预设数目阈值为10,确定集合U1中包含的点的数目3小于预设数目阈值10,集合U2中包含的点的数目16大于预设数目阈值10,集合U3中包含的点的数目大于预设数目阈值10,则确定U1为第二散点集合。
S203,将第一散点集合和第二散点集合进行合并,得到候选点云数据集合。
当基站基于前述S201和S202的步骤获取到第一散点集合和第二散点集合时,由于第一散点集合中不包括属于平面上的点,第一散点集合中可能包括成为真正拖点的点,第二散点集合中不包括属于斜面上的点,第二散点集合中可能包括成为真正拖点的点,因此,将第一散点集合和第二散点集合进行合并,形成不包含属于平面和斜面上的点,也即形成可能包括拖点的数据集合,即候选点云数据集合。
当基站基于前述方法确定了候选点云数据集合后,接下来即可确定候选点云数据集合中的每个点是否为拖点,下面实施例将具体说明各种确定拖点的方法。
在一个实施例中,基站在执行图2实施例中的S102的方法时,可以具体根据候选点云数据集合中每个点与相关点之间的距离,计算得到每个点对应的特征值。
其中,相关点包括候选点云集合中与每个点相邻的相邻点、与每个点在同一行的其它点和原点中的至少两种。与每个点在同一行的其它点是指与每个点在同一行的所有点,也可以是指与每个点在同一行的部分点,当其它点为部分点时,其它点的数量和位置可以根据实际需求预先确定,比如,选择与每个点在同一行中每相隔一个点的点作为其它点。原点是指获取原始点云数据集合的激光雷达的原点。
本实施例中,基站在执行上述S102的具体步骤时,可以根据不同类型的特征值,选择不同的特征计算方法,对候选点云数据集合中每个点进行特征计算,得到每个点对应的特征值。基于此,特征值包括比值类型的特征值、距离类型的特征值和极值类型的特征值中的至少一种。当特征值的类型不同时,相关点也不同,对应的,根据候选点云数据集合中每个点与相关点之间的距离计算得到每个点对应的特征值的方法也不同,比如,当特征值为比值类型的特征值或距离类型的特征值时,相关点包括每个点相邻的相邻点和原点;当特征值为极值类型的特征值时,相关点包括与每个点在同一行的其它点和原点。
下面实施例介绍几种计算候选点云数据集合中每个点对应特征值的具体方法。
第一种方法:若特征值包括比值类型的特征值,则基站执行上述S102的具体方法,即“根据候选点云数据集合中每个点与相关点之间的距离,计算得到每个点对应的特征值”,如图7所示,包括:
S301,针对每个点,计算点与相邻点之间的第一距离。
S302,计算点与原点之间的第二距离。
其中,原点为激光雷达的原点。
S303,计算相邻点与原点之间的第三距离。
S304,若第二距离大于第三距离,则将第一距离和第三距离之和与第二距离的比值确定为点的比值类型的特征值;若第二距离不大于第三距离,则将第一距离和第二距离之和与第三距离的比值确定为点的比值类型的特征值。
示例性说明上述S301-S304的方法,假设候选点云数据集合P为:P={P1,P2,P3,.........,Pm},实现对候选点云数据集合中每个点进行特征计算,得到每个点对应的比值类型的特征值,该计算过程包括步骤:
步骤1:选取候选点云数据集合P中的P1为当前要计算的点,P2为相邻点。假设P0为原点。
步骤2:计算P1与P2之间的第一距离d1,计算原点P0与P1之间的第二距离d2,计算原点P0与P2之间的第三距离d3。
步骤3:比较第二距离d2和第三距离d3,若第二距离d2大于第三距离d3,则将第一距离d1和第三距离d3之和与第二距离d2的比值确定为点P1的比值类型的特征值,即比值类型的特征值T1为:若第二距离d2不大于第三距离d3,则将第一距离d1和第二距离d2之和与第三距离d3的比值确定为点P1的比值类型的特征值,即比值类型的特征值T1为:
步骤4:按照步骤1-步骤3所述的方法计算得到候选点云数据集合中每个点对应的比值类型的特征值TI。
对应的,基站按照图7实施例所述的方法计算得到每个点对应的比值类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,可以具体执行:将比值类型的特征值小于预设比值阈值的点确定为拖点。
其中,预设比值阈值可以由基站预先根据实际应用需求确定,用于评估数据集合中的点是否为拖点的一种评价标准。
本实施例中,当基站按照上述步骤1-步骤4所述的方法计算得到候选点云数据集合中每个点对应的比值类型的特征值TI时,可以进一步的根据每个点对应的比值类型的特征值TI,确定每个点是否为拖点。具体的,判断每个点对应的比值类型的特征值TI是否小于预设比值阈值Tth,若比值类型的特征值TI小于预设比值阈值Tth,则确定该比值类型的特征值TI对应的点为拖点;若比值类型的特征值TI不小于预设比值阈值Tth,则确定该比值类型的特征值TI对应的点为正常点。
第二种方法:若特征值包括距离类型的特征值,则基站执行上述S102的具体方法,即“根据候选点云数据集合中每个点与相关点之间的距离,计算得到每个点对应的特征值”,如图8所示,包括:
S401,针对每个点,计算点与相邻点之间的第一距离。
S402,计算点与原点之间的第二距离。
S403,将第一距离和第二距离的比值确定为点的距离类型的特征值。
示例性说明上述S301-S304的方法,假设候选点云数据集合P为:P={P1,P2,P3,.........,Pm},实现对候选点云数据集合中每个点进行特征计算,得到每个点对应的距离类型的特征值,该计算过程包括步骤:
步骤1:选取候选点云数据集合P中的P1为当前要计算的点,P2为相邻点。假设P0为原点。
步骤2:计算P1与P2之间的第一距离d1,计算原点P0与P1之间的第二距离d2。
步骤3:将第一距离d1和第二距离d2的比值确定为点P1的距离类型的特征值,即距离类型的特征值T1为:
步骤4:按照步骤1-步骤3所述的方法计算得到候选点云数据集合中每个点对应的距离类型的特征值TI。
对应的,基站按照图8实施例所述的方法计算得到每个点对应的距离类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,可以具体执行:将距离类型的特征值小于预设距离阈值的点确定为拖点。
其中,预设距离阈值可以由基站预先根据实际应用需求确定,用于评估数据集合中的点是否为拖点的一种评价标准。
本实施例中,当基站按照上述步骤1-步骤4所述的方法计算得到候选点云数据集合中每个点对应的距离类型的特征值TI时,可以进一步的根据每个点对应的距离类型的特征值TI,确定每个点是否为拖点。具体的,判断每个点对应的距离类型的特征值TI是否小于预设距离阈值Tth,若距离类型的特征值TI小于预设距离阈值Tth,则确定该距离类型的特征值TI对应的点为拖点;若距离类型的特征值TI不小于预设距离阈值Tth,则确定该距离类型的特征值TI对应的点为正常点。
第三种方法:若特征值包括极值类型的特征值,则基站执行上述S102的方法,即“根据候选点云数据集合中每个点与相关点之间的距离,计算得到每个点对应的特征值”,如图9所示,包括:
S501,针对每个点,计算点和同一行中其它点分别与原点之间的距离。
S502,确定点与原点之间的距离大于其它点与原点之间的距离的次数。
S503,将次数确定为点对应的极值类型的特征值。
示例性说明上述S501-S503的方法,假设候选点云数据集合P为:P={P1,P2,P3,.........,Pm},实现对候选点云数据集合中每个点进行特征计算,得到每个点对应的极值类型的特征值,该计算过程包括步骤:
步骤1:选取候选点云数据集合P中的P1为当前要计算的点,P2,P3,.........,Pm和P1为同一行中的点,假设P0为原点。
步骤2:计算P1,P2,P3,.........,Pm分别与原点P0之间的距离di,计算P1与原点P0之间的距离d0。
步骤3:比较距离d0与每个距离di,并记录距离d0大于距离di的次数N,并将次数N确定为点P1对应的极值类型的特征值。
步骤4:按照步骤1-步骤3所述的方法计算得到候选点云数据集合中每个点对应的极值类型的特征值TI。
对应的,基站按照图9实施例所述的方法计算得到每个点对应的极值类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,可以具体执行:将极值类型的特征值小于预设次数阈值的点确定为拖点。
其中,预设次数阈值可以由基站预先根据实际应用需求确定,用于评估数据集合中的点是否为拖点的一种评价标准。
本实施例中,当基站按照上述步骤1-步骤4所述的方法计算得到候选点云数据集合中每个点对应的极值类型的特征值TI时,可以进一步的根据每个点对应的极值类型的特征值TI,确定每个点是否为拖点。具体的,判断每个点对应的极值类型的特征值TI是否小于预设次数阈值Tth,若极值类型的特征值TI小于预设次数阈值Tth,则确定该极值类型的特征值TI对应的点为拖点;若极值类型的特征值TI不小于预设次数阈值Tth,则确定该极值类型的特征值TI对应的点为正常点。
在一种应用场景中,当基站按照图7和图8实施例所述的方法计算得到每个点对应的比值类型的特征值和距离类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,如图10所示,可以具体执行:
S601,针对每个点,将点的比值类型的特征值与预设比值阈值进行比较,若点的比值类型的特征值小于预设比值阈值,则执行步骤S602,若点的比值类型的特征值不小于预设比值阈值,则执行步骤S603。
当基站对候选数据集合中的每个点进行特征计算,且计算出的每个点的特征值为两种类型的特征值,即比值类型的特征值和距离类型的特征值时,可以通过将这两种类型的特征值分别与预设比值阈值和预设距离阈值的方法确定每个点是否为拖点。具体的,首先将每个点的比值类型的特征值与预设比值阈值进行比较,若点的比值类型的特征值小于预设比值阈值,则说明该比值类型的点可能成为拖点的概率极高,需要进一步的确定该点是否为拖点;若点的比值类型的特征值不小于预设比值阈值,则说明该比值类型的点不是拖点,为正常点。
S602,将点的距离类型的特征值与预设距离阈值进行比较,若点的距离类型的特征值小于预设距离阈值,则执行S604,若点的距离类型的特征值不小于预设距离阈值,则执行S603。
S603,确定点为正常点。
S604,确定点为拖点。
本实施例涉及基站确定点的比值类型的特征值小于预设比值阈值的情况,在此情况下,基站进一步的将每个点的距离类型的特征值与预设距离阈值进行比较,若点的距离类型的特征值小于预设距离阈值,则说明该距离类型的点为拖点;若点的距离类型的特征值不小于预设距离阈值,则说明该距离类型的点不是拖点,为正常点。
在另一种应用场景中,当基站按照图7和图9实施例所述的方法计算得到每个点对应的比值类型的特征值和极值类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,如图11所示,可以具体执行:
S701,针对每个点,将点的比值类型的特征值与预设比值阈值进行比较,若点的比值类型的特征值小于预设比值阈值,则执行步骤S602,若点的比值类型的特征值不小于预设比值阈值,则执行步骤S703。
当基站对候选数据集合中的每个点进行特征计算,且计算出的每个点的特征值为两种类型的特征值,即比值类型的特征值和极值类型的特征值时,可以通过将这两种类型的特征值分别与预设比值阈值和预设极值阈值的方法确定每个点是否为拖点。具体的,首先将每个点的比值类型的特征值与预设比值阈值进行比较,若点的比值类型的特征值小于预设比值阈值,则说明该比值类型的点可能成为拖点的概率极高,需要进一步的确定该点是否为拖点;若点的比值类型的特征值不小于预设比值阈值,则说明该比值类型的点不是拖点,为正常点。
S702,将点的极值类型的特征值与预设极值阈值进行比较,若点的极值类型的特征值小于预设极值阈值,则执行S704,若点的极值类型的特征值不小于预设极值阈值,则执行S703。
S703,确定点为正常点。
S704,确定点为拖点。
本实施例涉及基站确定点的比值类型的特征值小于预设比值阈值的情况,在此情况下,基站进一步的将每个点的极值类型的特征值与预设极值阈值进行比较,若点的极值类型的特征值小于预设极值阈值,则说明该极值类型的点为拖点;若点的极值类型的特征值不小于预设极值阈值,则说明该极值类型的点不是拖点,为正常点。
在一种应用场景中,当基站按照图8和图9实施例所述的方法计算得到每个点对应的距离类型的特征值和极值类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,如图12所示,可以具体执行:
S801,针对每个点,将点的距离类型的特征值与预设距离阈值进行比较,若点的距离类型的特征值小于预设距离阈值,则执行步骤S802,若点的距离类型的特征值不小于预设距离阈值,则执行步骤S803。
当基站对候选数据集合中的每个点进行特征计算,且计算出的每个点的特征值为两种类型的特征值,即距离类型的特征值和极值类型的特征值时,可以通过将这两种类型的特征值分别与预设距离阈值和预设极值阈值的方法确定每个点是否为拖点。具体的,首先将每个点的距离类型的特征值与预设距离阈值进行比较,若点的距离类型的特征值小于预设距离阈值,则说明该距离类型的点可能成为拖点的概率极高,需要进一步的确定该点是否为拖点;若点的距离类型的特征值不小于预设距离阈值,则说明该距离类型的点不是拖点,为正常点。
S802,将点的极值类型的特征值与预设极值阈值进行比较,若点的极值类型的特征值小于预设极值阈值,则执行S804,若点的极值类型的特征值不小于预设极值阈值,则执行S803。
S803,确定点为正常点。
S804,确定点为拖点。
本实施例涉及基站确定点的距离类型的特征值小于预设距离阈值的情况,在此情况下,基站进一步的将每个点的极值类型的特征值与预设极值阈值进行比较,若点的极值类型的特征值小于预设极值阈值,则说明该极值类型的点为拖点;若点的极值类型的特征值不小于预设极值阈值,则说明该极值类型的点不是拖点,为正常点。
上述图10-图12实施例均是计算得到两种类型的特征值,并通过先后比较两种类型的特征值与对应预设阈值的方法确定拖点,相比于根据一种类型的特征值确定拖点的方法更为准确。需要说明的是,上述图10-图12实施例中先后比较不同类型的特征值的顺序,仅是一种示例性说明,不对先后比较不同类型的特征值的顺序进行限定,比如,图10实施例中是先比较比值类型的特征值,再比较距离类型的特征值,在实际应用中也可以先比较距离类型的特征值,再比较比值类型的特征值。
在一种应用场景中,当基站按照图7、图8、图9实施例所述的方法计算得到每个点对应的比值类型的特征值、距离类型的特征值和极值类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,如图13所示,可以具体执行:
S901,针对每个点,将点的比值类型的特征值与预设比值阈值进行比较,若点的比值类型的特征值小于预设比值阈值,则执行步骤S902,若点的比值类型的特征值不小于预设比值阈值,则执行步骤S903。
当基站对候选数据集合中的每个点进行特征计算,且计算出的每个点的特征值为三种类型的特征值,即比值类型的特征值、距离类型的特征值和极值类型的特征值时,可以通过将这三种类型的特征值分别与预设比值阈值、预设距离阈值和预设极值类型的特征值的方法确定每个点是否为拖点。具体的,首先将每个点的比值类型的特征值与预设比值阈值进行比较,若点的比值类型的特征值小于预设比值阈值,则说明该比值类型的点可能成为拖点的概率极高,需要进一步的确定该点是否为拖点;若点的比值类型的特征值不小于预设比值阈值,则说明该比值类型的点不是拖点,为正常点。
S902,将点确定为候选拖点,并将候选拖点的距离类型的特征值与预设距离阈值进行比较,若候选拖点的距离类型的特征值小于预设距离阈值,则执行S904,若候选拖点的距离类型的特征值不小于预设距离阈值,则执行S905。
本实施例涉及基站确定点的比值类型的特征值小于预设比值阈值的情况,在此情况下,基站将该点确定为候选拖点,并将候选拖点的距离类型的特征值与预设距离阈值进行比较,若候选拖点的距离类型的特征值小于预设距离阈值,则说明该候选拖点为拖点,直接将该候选拖点确定为真正的拖点。若候选拖点的距离类型的特征值不小于预设距离阈值,说明该候选拖点还不能确定是否为拖点,需要再进一步的再确认是否为拖点。
S903,确定点为正常点。
S904,确定候选拖点为拖点。
S905,将候选拖点的极值类型的特征值与预设极值阈值进行比较,若候选拖点的极值类型的特征值小于预设极值阈值,则执行S904,若候选拖点的极值类型的特征值不小于预设极值阈值,则执行S906。
S906,确定候选拖点为正常点。
本实施例涉及基站确定候选拖点的距离类型的特征值不小于预设距离阈值的情况,在此情况下,基站进一步的将候选拖点的极值类型的特征值与预设极值阈值进行比较,若候选拖点的极值类型的特征值小于预设极值阈值,则说明该候选拖点为拖点;若候选拖点的极值类型的特征值不小于预设距离阈值,则说明该候选拖点不是拖点,为正常点。
在一种应用场景中,当基站按照图7、图8、图9实施例所述的方法计算得到每个点对应的比值类型的特征值、距离类型的特征值和极值类型的特征值后,基站执行图3实施例中的步骤S1042以确定每个点是否为拖点时,可以具体执行:将每个点对应的比值类型的特征值、距离类型的特征值和极值类型的特征值输入至预设的分类网络进行分类,确定每个点是否为拖点。
本实施例提供了另一种基于三种类型的特征值确定点是否为拖点的方法,具体的,基站在获取到候选点云数据集合中每个点对应的比值类型的特征值、距离类型的特征值和极值类型的特征值后,基站可以将每个点对应的比值类型的特征值、距离类型的特征值和极值类型的特征值输入至预先训练好的分类网络中,该分类网络可以输出分类结果,即确定每个点是否为拖点的分类结果。其中,分类网络可以选择很多种,比如,决策树、逻辑回归、SVM、神经网络等分类器。分类网路可以由基站预先训练得到。
本申请提供的点云数据的处理方法,通过对点云数据集合先进行平面和斜面聚类处理,在缩小后期处理数据量的同时,将真正属于平面和斜面的点从点云数据集合中去除,并计算包含剩余点的候选点云数据集合中每个点的特征值,再根据计算得到的不同类型的特征值判断每个点是否为拖点,且在计算得到多种类型的特征值时,可以根据多种类型的特征值共同判断每个点是否为拖点,提高了根据特征值确定拖点的准确性,可以避免传统的直接基于点云数据集合中的每个点检测拖点的方法因无法正确判断真正斜面上的点,导致将真正斜面上的点误检为拖点的问题,因此极大的降低了点云数据检测拖点的误检率。而且,本申请通过每个点的多种类型的特征值共同确定每个点是否为拖点,极大的提高了确定拖点的准确性,进而提高了后期基站滤除点云数据集合中拖点的准确性,从而提高了最终激光雷达成像的图像质量。
应该理解的是,虽然图2-13的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-13中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图14所示,提供了一种点云数据的处理装置,包括:
获取模块11,用于获取原始点云数据集合;
聚类模块12,用于对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合。
确定模块13,用于根据预设条件识别所述候选点云数据集合中的拖点。
关于点云数据的处理装置的具体限定可以参见上文中对于点云数据的处理方法的限定,在此不再赘述。上述点云数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储点云数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种点云数据的处理方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取原始点云数据集合;
对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合;
根据预设条件识别所述候选点云数据集合中的拖点。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取原始点云数据集合;
对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合;
根据预设条件识别所述候选点云数据集合中的拖点。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (24)
1.一种点云数据的处理方法,其特征在于,所述方法包括:
获取原始点云数据集合;
对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合;
根据预设条件识别所述候选点云数据集合中的拖点;
所述根据预设条件识别所述候选点云数据集合中的拖点,包括:
对所述候选点云数据集合中每个点进行特征计算,得到所述每个点对应的特征值;
根据所述每个点对应的特征值,确定所述每个点是否为拖点;
所述对所述候选点云数据集合中每个点进行特征计算,得到所述每个点对应的特征值,包括:
根据所述候选点云数据集合中每个点与相关点之间的距离,计算得到所述每个点对应的特征值;所述相关点包括所述候选点云数据集合中与每个点相邻的相邻点、与每个点在同一行的其它点和原点中的至少两种。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点之后,所述方法还包括:
去除所述点云数据集合中的拖点,得到处理后的点云数据集合。
3.根据权利要求1所述的方法,其特征在于,所述对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合,包括:
对所述原始点云数据集合中的点进行去除属于平面上的点的聚类,得到第一散点集合;
对所述原始点云数据集合中的点进行去除属于斜面上的点的聚类,得到第二散点集合;
将所述第一散点集合和所述第二散点集合进行合并,得到所述候选点云数据集合。
4.根据权利要求3所述的方法,其特征在于,所述对所述原始点云数据集合中的点进行去除属于平面上的点的聚类,得到第一散点集合,包括:
选取所述原始点云数据集合中的一个点作为当前点;
将与所述当前点相邻的下一个点作为待聚类点;
对所述待聚类点执行第一聚类操作之后,将所述待聚类点重新作为新的当前点,并返回执行所述将与所述当前点相邻的点作为待聚类点的步骤,重新执行所述第一聚类操作,直到遍历完所述原始点云数据集中的所有点为止,得到所述原始点云数据集合中各点所在集合;
根据所述原始点云数据集合中各点所在集合确定所述第一散点集合;
其中,所述第一聚类操作包括:计算所述当前点与所述待聚类点之间的距离,并根据所述当前点与所述待聚类点之间的距离,确定所述待聚类点所在集合。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前点与所述待聚类点之间的距离,确定所述待聚类点所在集合,包括:
若所述当前点与所述待聚类点之间的距离小于预设阈值,则将所述待聚类点归类至所述当前点所在集合;
若所述当前点与所述待聚类点之间的距离不小于预设阈值,则构建新的集合,并将所述待聚类点归类至所述新的集合。
6.根据权利要求4所述的方法,其特征在于,所述根据所述点云数据集合中各点所在集合确定所述第一散点集合,包括:
将集合中包含点数目小于预设数目阈值的各点所在集合进行合并,构成所述第一散点集合。
7.根据权利要求3所述的方法,其特征在于,所述对所述原始点云数据集合中的点进行去除属于斜面上的点的聚类,得到第二散点集合,包括:
选取所述原始点云数据集合中的一个点作为当前点;
若所述当前点为所述原始点云数据集合中的第一个点,则将与所述当前点相邻的下一个点归类至所述当前点所在集合;若所述当前点非所述原始点云数据集合中的第一个点,则执行斜面聚类步骤,得到所述原始点云数据集合中各点所在集合;
根据所述原始点云数据集合中各点所在集合确定所述第二散点集合;
其中,所述斜面聚类步骤包括:将与所述当前点相邻的上一个点作为已聚类点,并将与所述当前点相邻的下一个点作为待聚类点;对所述待聚类点执行第二聚类操作之后,将所述待聚类点重新作为新的当前点,并返回执行所述将与所述当前点相邻的上一个点作为已聚类点,并将与所述当前点相邻的下一个点作为待聚类点的步骤,重新执行所述第二聚类操作,直到遍历完所述原始点云数据集中的所有点为止,得到所述原始点云数据集合中各点所在集合;
所述第二聚类操作包括:连接所述当前点与所述已聚类点形成第一直线,连接所述当前点与所述待聚类点形成第二直线,确定所述第一直线与所述第二直线相交形成的锐角,并根据所述锐角确定所述待聚类点所在集合。
8.根据权利要求7所述的方法,其特征在于,所述根据所述锐角确定所述待聚类点所在集合,包括:
若所述锐角小于预设角度阈值,则将所述待聚类点归类至所述当前点所在集合;
若所述锐角不小于预设角度阈值,则构建新的集合,并将所述待聚类点归类至所述新的集合。
9.根据权利要求7所述的方法,其特征在于,所述根据所述点云数据集合中各点所在集合确定所述第二散点集合,包括:
将集合中包含点数目小于预设数目阈值的各点所在集合进行合并,构成所述第二散点集合。
10.根据权利要求1所述的方法,其特征在于,若所述特征值包括比值类型的特征值,则所述根据所述候选点云数据集合中每个点与相关点之间的距离,计算得到所述每个点对应的特征值,包括:
针对所述每个点,计算所述点与所述相邻点之间的第一距离;
计算所述点与所述原点之间的第二距离;
计算所述相邻点与所述原点之间的第三距离;
若所述第二距离大于所述第三距离,则将所述第一距离和所述第三距离之和与所述第二距离的比值确定为所述点的比值类型的特征值;若所述第二距离不大于所述第三距离,则将所述第一距离和所述第二距离之和与所述第三距离的比值确定为所述点的比值类型的特征值。
11.根据权利要求10所述的方法,其特征在于,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
将所述比值类型的特征值小于预设比值阈值的点确定为所述拖点。
12.根据权利要求1所述的方法,其特征在于,若所述特征值包括距离类型的特征值,则所述根据所述候选点云数据集合中每个点与相关点之间的距离,计算得到所述每个点对应的特征值,包括:
针对所述每个点,计算所述点与所述相邻点之间的第一距离;
计算所述点与所述原点之间的第二距离;
将所述第一距离和所述第二距离的比值确定为所述点的距离类型的特征值。
13.根据权利要求12所述的方法,其特征在于,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
将所述距离类型的特征值小于预设距离阈值的点确定为所述拖点。
14.根据权利要求1所述的方法,其特征在于,若所述特征值包括极值类型的特征值,则所述根据所述候选点云数据集合中每个点与相关点之间的距离,计算得到所述每个点对应的特征值,包括:
针对所述每个点,计算所述点和所述其它点分别与所述原点之间的距离;
确定所述点与所述原点之间的距离大于所述其它点与所述原点之间的距离的次数;
将所述次数确定为所述点对应的极值类型的特征值。
15.根据权利要求14所述的方法,其特征在于,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
将所述极值类型的特征值小于预设次数阈值的点确定为所述拖点。
16.根据权利要求1所述的方法,其特征在于,若所述特征值包括比值类型的特征值和距离类型的特征值,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
针对所述每个点,将所述点的比值类型的特征值与预设比值阈值进行比较;
若所述点的比值类型的特征值小于所述预设比值阈值,则将所述点的距离类型的特征值与预设距离阈值进行比较,若所述点的距离类型的特征值小于所述预设距离阈值,则确定所述点为所述拖点;若所述点的距离类型的特征值不小于所述预设距离阈值,则确定所述点为正常点;
若所述点的比值类型的特征值不小于所述预设比值阈值,则确定所述点为正常点。
17.根据权利要求1所述的方法,其特征在于,若所述特征值包括比值类型的特征值和极值类型的特征值,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
针对所述每个点,将所述点的比值类型的特征值与预设比值阈值进行比较;
若所述点的比值类型的特征值小于所述预设比值阈值,则将所述点的极值类型的特征值与预设极值阈值进行比较,若所述点的极值类型的特征值小于所述预设极值阈值,则确定所述点为所述拖点;若所述点的极值类型的特征值不小于所述预设极值阈值,则确定所述点为正常点;
若所述点的比值类型的特征值不小于所述预设比值阈值,则确定所述点为正常点。
18.根据权利要求1所述的方法,其特征在于,若所述特征值包括距离类型的特征值和极值类型的特征值,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
针对所述每个点,将所述点的距离类型的特征值与预设距离阈值进行比较;
若所述点的距离类型的特征值小于所述预设距离阈值,则将所述点的极值类型的特征值与预设极值阈值进行比较,若所述点的极值类型的特征值小于所述预设极值阈值,则确定所述点为所述拖点;若所述点的极值类型的特征值不小于所述预设极值阈值,则确定所述点为正常点;
若所述点的距离类型的特征值不小于所述预设距离阈值,则确定所述点为正常点。
19.根据权利要求1所述的方法,其特征在于,若所述特征值包括比值类型的特征值、距离类型的特征值和极值类型的特征值,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
针对所述每个点,将所述点的比值类型的特征值与预设比值阈值进行比较;
若所述点的比值类型的特征值小于所述预设比值阈值,则将所述点确定为候选拖点,并将所述候选拖点的距离类型的特征值与预设距离阈值进行比较,以及根据比较结果确定所述候选拖点是否为所述拖点;
若所述点的比值类型的特征值不小于所述预设比值阈值,则确定所述点为正常点。
20.根据权利要求19所述的方法,其特征在于,所述根据比较结果确定所述候选拖点是否为所述拖点,包括:
若所述候选拖点的距离类型的特征值小于所述预设距离阈值,则确定所述候选拖点为所述拖点;
若所述候选拖点的距离类型的特征值不小于所述预设距离阈值,则将所述候选拖点的极值类型的特征值与预设极值阈值进行比较,若所述候选拖点的极值类型的特征值小于所述预设极值阈值,则确定所述候选拖点为所述拖点;若所述候选拖点的极值类型的特征值不小于所述预设极值阈值,则确定所述候选拖点为正常点。
21.根据权利要求1所述的方法,其特征在于,若所述特征值包括比值类型的特征值、距离类型的特征值和极值类型的特征值,所述根据所述每个点对应的特征值,确定所述每个点是否为拖点,包括:
将所述每个点对应的比值类型的特征值、距离类型的特征值和极值类型的特征值输入至预设的分类网络进行分类,确定所述每个点是否为拖点。
22.一种点云数据的处理装置,其特征在于,所述装置包括:
获取模块,用于获取原始点云数据集合;
聚类模块,用于对所述原始点云数据集合中的点进行去除属于平面和斜面的点的聚类,得到候选点云数据集合;
确定模块,用于根据预设条件识别所述候选点云数据集合中的拖点;
所述根据预设条件识别所述候选点云数据集合中的拖点,包括:
对所述候选点云数据集合中每个点进行特征计算,得到所述每个点对应的特征值;
根据所述每个点对应的特征值,确定所述每个点是否为拖点;
所述对所述候选点云数据集合中每个点进行特征计算,得到所述每个点对应的特征值,包括:
根据所述候选点云数据集合中每个点与相关点之间的距离,计算得到所述每个点对应的特征值;所述相关点包括所述候选点云数据集合中与每个点相邻的相邻点、与每个点在同一行的其它点和原点中的至少两种。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至21中任一项所述方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至21中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874434.4A CN113705617B (zh) | 2021-07-30 | 2021-07-30 | 点云数据的处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874434.4A CN113705617B (zh) | 2021-07-30 | 2021-07-30 | 点云数据的处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113705617A CN113705617A (zh) | 2021-11-26 |
CN113705617B true CN113705617B (zh) | 2024-06-21 |
Family
ID=78651051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110874434.4A Active CN113705617B (zh) | 2021-07-30 | 2021-07-30 | 点云数据的处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705617B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116930931A (zh) * | 2022-04-11 | 2023-10-24 | 上海禾赛科技有限公司 | 评估激光雷达点云拖点程度的方法、测试装置及激光雷达 |
CN116224304B (zh) * | 2023-05-10 | 2023-07-28 | 中国汽车技术研究中心有限公司 | 车载激光雷达的测试方法、设备和介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10345483B2 (en) * | 2015-06-10 | 2019-07-09 | Escaype | Observer-based meteorology and image identification |
CN108345822B (zh) * | 2017-01-22 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种点云数据处理方法及装置 |
CN109961512B (zh) * | 2019-03-19 | 2023-03-31 | 汪俊 | 地形机载点云提取方法及装置 |
CN110427986B (zh) * | 2019-07-16 | 2022-02-01 | 浙江大学 | 一种基于毫米波雷达点云特征的核支持向量机目标分类方法 |
CN110515054B (zh) * | 2019-08-23 | 2021-07-23 | 斯坦德机器人(深圳)有限公司 | 滤波方法和装置、电子设备、计算机存储介质 |
CN110889828A (zh) * | 2019-11-07 | 2020-03-17 | 浙江大华技术股份有限公司 | 预定场景中的栈板识别方法、终端设备、计算机存储介质 |
CN111461023B (zh) * | 2020-04-02 | 2023-04-18 | 山东大学 | 基于三维激光雷达的四足机器人自主跟随领航员的方法 |
CN112883820B (zh) * | 2021-01-26 | 2024-04-19 | 上海应用技术大学 | 基于激光雷达点云的道路目标3d检测方法及*** |
-
2021
- 2021-07-30 CN CN202110874434.4A patent/CN113705617B/zh active Active
Non-Patent Citations (2)
Title |
---|
Push and Drag: An Active Obstacle Separation Method for Fruit Harvesting Robots;Ya Xiong;《2020 IEEE International Conference on Robotics and Automation (ICRA)》;全文 * |
基于高斯混合模型聚类的Kinect深度数据分割;杜廷伟;刘波;;计算机应用与软件(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113705617A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287932B (zh) | 基于深度学习图像语义分割的道路阻断信息提取方法 | |
CN113705617B (zh) | 点云数据的处理方法、装置、计算机设备和存储介质 | |
Ker | Batch steganography and pooled steganalysis | |
CN101702200B (zh) | 一种机载激光雷达点云数据的自动分类方法 | |
CN112966696A (zh) | 一种处理三维点云的方法、装置、设备以及存储介质 | |
US10121245B2 (en) | Identification of inflammation in tissue images | |
CN106886980B (zh) | 一种基于三维激光雷达目标识别的点云密度增强的方法 | |
CN109961057A (zh) | 一种车辆位置获得方法及装置 | |
CN111723815B (zh) | 模型训练方法、图像处理方法、装置、计算机***和介质 | |
CN105549009A (zh) | 一种基于超像素的sar图像cfar目标检测方法 | |
CN114897773A (zh) | 一种基于图像处理的扭曲木材检测方法及*** | |
CN114386466A (zh) | 一种用于脉冲星搜寻中候选体信号挖掘的并行的混合聚类方法 | |
KR20200036079A (ko) | 적응적 비최대억제 방법을 이용하는 딥러닝기반 영상객체 탐지를 위한 장치 및 방법 | |
CN107992495B (zh) | 高维数据集的数据可视化分析方法及装置 | |
CN111738319A (zh) | 一种基于大规模样本的聚类结果评价方法及装置 | |
CN113835078B (zh) | 基于局部三维栅格的信号级联合检测方法及装置 | |
US11468572B2 (en) | Image processing device, image recognition device, image processing program, and image recognition program | |
CN112560856B (zh) | 车牌检测识别方法、装置、设备及存储介质 | |
CN113436223A (zh) | 点云数据的分割方法、装置、计算机设备和存储介质 | |
Khudov et al. | The Choice of Quality Indicator for the Image Segmentation Evaluation | |
CN117710403A (zh) | 目标跟踪检测方法、装置、设备和存储介质 | |
CN113011376B (zh) | 海上船舶遥感分类方法、装置、计算机设备及存储介质 | |
CN113065604B (zh) | 一种基于dtw-dbscan算法的空中目标分群方法 | |
Promsuk et al. | Numerical Reader System for Digital Measurement Instruments Embedded Industrial Internet of Things. | |
CN107230201B (zh) | 基于样本自标定elm的在轨sar图像变化检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231127 Address after: 430000, 7th Floor, Building 3, Phase II, Modern Service Industry Demonstration Base, Huazhong University of Science and Technology Park, Guandong Street, Donghu New Technology Development Zone, Wuhan, Hubei Province Applicant after: Wuhan Wanji Photoelectric Technology Co.,Ltd. Address before: 100193 area a, building 12, Zhongguancun Software Park, Haidian District, Beijing Applicant before: BEIJING WANJI TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |