CN117934324B - 激光点云数据的去噪方法、装置和雷达扫描装置 - Google Patents
激光点云数据的去噪方法、装置和雷达扫描装置 Download PDFInfo
- Publication number
- CN117934324B CN117934324B CN202410341995.1A CN202410341995A CN117934324B CN 117934324 B CN117934324 B CN 117934324B CN 202410341995 A CN202410341995 A CN 202410341995A CN 117934324 B CN117934324 B CN 117934324B
- Authority
- CN
- China
- Prior art keywords
- target
- point cloud
- data
- cloud data
- point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 78
- 238000001914 filtration Methods 0.000 claims abstract description 55
- 230000014759 maintenance of location Effects 0.000 claims abstract description 50
- 230000002146 bilateral effect Effects 0.000 claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims description 110
- 238000003860 storage Methods 0.000 claims description 20
- 238000004321 preservation Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 19
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Abstract
本申请提供了一种激光点云数据的去噪方法、装置和雷达扫描装置,该方法包括:将第一点云数据进行分割得到多个第二点云数据;根据第一点云数据通过KD tree算法对第一点云数据进行划分得到多个第三点云数据;根据目标半径和第三点云数据通过DBSCAN算法依次对第二点云数据进行聚类得到第四点云数据;基于第四点云数据确定各数据点的第一目标邻域,根据第一目标邻域计算空间距离权重因子和特征保持因子并根据第一目标邻域拟合得到目标平面;根据空间距离权重因子、特征保持因子和目标平面通过双边滤波算法对第四点云数据进行过滤得到目标点云数据。该方法解决了现有技术中缺乏一种高速精准的点云数据去噪方法的问题。
Description
技术领域
本发明涉及图像识别技术领域,具体而言,涉及一种激光点云数据的去噪方法、装置、计算机可读存储介质和雷达扫描装置。
背景技术
激光雷达在获得隔离开关点云数据时会不可避免地混杂各种噪声,尤其是在雨雪、大雾、沙尘等恶劣天气环境下更容易产生噪声干扰,对激光雷达点云数据进行去噪可以提高数据质量,减少噪声干扰,对提高点云数据精度以及隔离开关姿态的正确识别具有极其重要的作用。
经典的点云聚类算法有DBSCAN算法、OPTICS算法、k-means算法等。DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇;OPTICS算法结合了聚类的自动性和交互性,先生成聚类的次序,可以对不同的聚类设置不同的参数,来得到满意的聚类结果;k-means是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据。
点云数据去噪的滤波方法包括双边滤波、高斯滤波、体素滤波、半径滤波等。双边滤波将距离和空间结构结合去噪,效果较好,但只适用于有序点云;高斯滤波适用于呈正态分布的数据,考虑到离群点的特征,则可以定义某处点云小于某个密度,即点云无效,计算每个点到其最近的k个点平均距离。则点云中所有点的距离应构成高斯分布,给定均值与方差,可剔除噪点;体素滤波中体素的概念类似于像素,使用AABB包围盒将点云数据体素化,一般体素越密集的地方信息越多,噪音点及离群点可通过体素网格去除,另一方面如果使用高分辨率相机等设备对点云进行采集,往往点云会较为密集。过多的点云数量会对后续分割工作带来困难,体素滤波器可以达到向下采样同时不破坏点云本身几何结构的功能,半径滤波较为简单,即以某点为中心画一个圆计算落在该圆中点的数量,当数量大于给定值时,则保留该点,数量小于给定值则剔除该点。此算法运行速度快,依序迭代留下的点一定是最密集的,但是圆的半径和圆内点的数目都需要人工指定。
综上所述,目前点云去噪中常见的滤波算法存在着一些不足,例如高斯滤波和中值滤波,在去除噪声的同时,可能会破坏点云的细节信息,特别是对于边缘和细小结构的保留效果有限。如双边滤波和最近邻滤波,对噪声具有一定的抑制效果,但可能会模糊尖锐特征,导致平滑效果过度。通过使用泊松方程重建点云表面,可以一定程度上消除噪声,但它在处理高密度点云和大规模数据时,计算复杂度较高。在基于深度学习的点云去噪方法中,例如基于卷积神经网络的方法可以通过训练具有自编码器或生成对抗网络结构的神经网络,实现点云去噪。但这些方法可能受限于训练样本的质量和数量,对少数类别的点云噪声处理效果可能不佳。基于图网络的方法是利用图卷积网络或消息传递机制对点云进行噪声去除。然而,这些方法的计算复杂度较高,对大规模点云处理不够高效。例如K-means算法在对于不规则形状或非球状分布的点云数据进行去噪时,K-means算法可能效果不佳,且对于高维数据和噪声较多的情况,去噪结果可能产生偏差。Alpha Shapes方法可能会在点云边界处产生不准确的凸包,从而导致在去噪过程中过度删除了有效的数据点。此外,对于高噪声和非凸点云数据,凸包方法可能不够鲁棒。
可见,现有技术中缺乏一种在保证点云去噪的精度的前提下进行快速运算的方法。
发明内容
本申请的主要目的在于提供一种激光点云数据的去噪方法、装置、计算机可读存储介质和雷达扫描装置,以至少解决现有技术中缺乏一种高速精准的点云数据去噪方法的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种激光点云数据的去噪方法,包括:获取第一点云数据和目标半径,将所述第一点云数据进行分割得到多个第二点云数据,所述第一点云数据为通过激光雷达对目标对象进行扫描得到的点云数据,多个所述第二点云数据与所述目标对象的部位一一对应;根据所述第一点云数据通过KD tree算法对所述第一点云数据进行划分得到多个第三点云数据;根据所述目标半径和所述第三点云数据通过DBSCAN算法依次对所述第二点云数据进行聚类得到第四点云数据;基于所述第四点云数据确定所述第四点云数据中各数据点的第一目标邻域,根据各所述数据点对应的所述第一目标邻域计算空间距离权重因子和特征保持因子并根据各所述数据点对应的所述第一目标邻域拟合得到对应的目标平面;根据所述空间距离权重因子、所述特征保持因子和所述目标平面通过双边滤波算法对所述第四点云数据进行过滤得到目标点云数据。
可选地,获取目标半径,包括:根据所述第一点云数据计算多个第一目标距离,所述第一目标距离为任意两个所述数据点之间的距离;将所述第一目标距离的最小值确定为区间下界并将所述第一目标距离的最大值确定为区间上界得到第一目标区间,将所述第一目标区间等分为第一预设数量的第二目标区间;根据各所述第二目标区间确定对应的目标数量,所述目标数量为所述第二目标区间中包括的所述数据点的数量;将对应所述目标数量最大值的所述第二目标区间的下界确定为所述目标半径。
可选地,根据所述第一点云数据通过KD tree算法对所述第一点云数据进行划分得到多个第三点云数据,包括:第一确定步骤,基于所述第一点云数据中任意一个所述数据点为原点建立三维坐标系,并确定各所述数据点的三维坐标得到多个目标坐标;第二确定步骤,基于所述目标坐标确定目标参数组,所述目标参数组包括所述目标坐标分别在x、y和z轴的中位数坐标;第一分割步骤,根据所述目标参数组中的最大值将所述第一点云数据分为第五点云数据和第六点云数据,所述第五点云数据中包括对应所述目标坐标大于所述目标参数组中的最大值的数据点,所述第六点云数据中包括对应所述目标坐标小于所述目标参数组中的最大值的数据点;第三确定步骤,根据所述第五点云数据和所述第六点云数据分别确定对应的所述目标参数组,并根据对应的所述目标参数组分别对所述第五点云数据和所述第六点云数据进行分割;重复所述第三确定步骤至少一次直至迭代次数达到目标次数,根据所述第五点云数据或所述第六点云数据确定所述第三点云数据,一个所述第三点云数据中包括一个所述第五点云数据或所述第六点云数据中的所有所述数据点。
可选地,根据所述目标半径和所述第三点云数据通过DBSCAN算法依次对所述第二点云数据进行聚类得到第四点云数据,包括:第四确定步骤,将所述第二点云数据中任意一个所述数据点确定为第一目标数据点并将所述第一目标数据点所属的所述第三点云数据确定为目标第三点云数据;第五确定步骤,根据所述目标第三点云数据和各所述第三点云数据确定第二目标距离和第三目标距离,所述第二目标距离为所述第三点云数据中的所述数据点与所述第一目标数据点之间所述第一目标距离的最大值,所述第三目标距离为所述第三点云数据中的所述数据点与所述第一目标数据点之间所述第一目标距离的最小值;第六确定步骤,在所述第二目标距离小于或等于所述目标半径的情况下确定所述第三点云数据中的所有数据点属于所述第一目标数据点的第二目标邻域,在所述第三目标距离大于或等于所述目标半径的情况下确定所述第三点云数据中的所有数据点不属于所述第一目标数据点的第二目标邻域;第一计算步骤,在所述第二目标距离大于所述目标半径且所述第三目标距离小于所述目标半径的情况下,确定所述第三点云数据中对应与所述第一目标数据点之间的所述第一目标距离小于或等于所述目标半径的所述数据点属于所述第一目标数据点的所述第二目标邻域;第七确定步骤,在所述第一目标数据点的所述第二目标邻域中的所述数据点的数量大于或等于预设值的情况下,将所述第一目标数据点确定为目标核心点,将所述第二目标邻域中除所述第一目标数据点之外的所述数据点确定为目标边界点;第八确定步骤,将所述目标核心点与对应的所述目标边界点确定为备选聚类簇,在所述备选聚类簇中存在所述目标边界点为所述目标核心点的情况下将各所述目标核心点对应的所述备选聚类簇合并得到第一聚类簇,在所述备选聚类簇中不存在所述目标边界点为所述目标核心点的情况下将所述备选聚类簇确定为所述第一聚类簇;依次重复所述第四确定步骤、所述第五确定步骤、所述第六确定步骤、所述第一计算步骤、所述第七确定步骤和所述第八确定步骤至少一次,直至确定所有所述第一聚类簇,将所有所述第一聚类簇中的所述数据点确定为所述第四点云数据。
可选地,基于所述第四点云数据确定所述第四点云数据中各数据点的第一目标邻域,包括:第九确定步骤,根据所述第四点云数据中的所述数据点的数量确定第二预设数量,所述第二预设数量为各所述数据点对应的所述第一目标邻域中包括的所述数据点的数量;第十确定步骤,将所述第四点云数据中的任意一个所述数据点确定为第二目标数据点,并确定与所述第二目标数据点之间对应所述第一目标距离从小到大的第二预设数量个所述数据点属于所述第二目标数据点对应的所述第一目标邻域;重复所述第十确定步骤至少一次,直至确定所述第四点云数据中所有所述数据点对应的所述第一目标邻域。
可选地,根据各所述数据点对应的所述第一目标邻域计算空间距离权重因子和特征保持因子并根据各所述数据点对应的所述第一目标邻域拟合得到对应的目标平面,包括:第二计算步骤,将所述第二目标数据点和所述第二目标数据点对应的所述第一目标邻域中的所有数据点对应的所述目标坐标代入第一预设公式求解所述数据点对应的所述目标平面的拟合系数,根据所述拟合系数确定所述目标平面;重复所述第二计算步骤至少一次,直至确定所述第四点云数据中所有的数据点对应的所述目标平面;第三计算步骤,将所述第四点云数据中任意一个所述数据点确定为第二目标数据点,计算所述第二目标数据点与对应的所述第一目标邻域中的所有数据点之间的距离得到多个第四目标距离;第四计算步骤,根据所述第四目标距离计算方差得到目标方差,根据所述第四目标距离计算均值得到第一目标均值,并根据所述第四目标距离确定第五目标距离和第六目标距离,所述第五目标距离为所述第四目标距离的最小值,所述第六目标距离为所述第四目标距离的最大值;第五计算步骤,获取第二目标均值,在所述目标方差大于所述第二目标均值的情况下,将所述第五目标距离和所述第六目标距离代入第二预设公式计算所述空间距离权重因子,在所述目标方差小于所述第二目标均值的情况下,将各所述第四目标距离和所述第二预设数量代入第三预设公式计算所述空间距离权重因子,所述第二目标均值为各所述数据点对应的所述目标方差的均值;第六计算步骤,将各所述第四目标距离、所述第一目标均值和所述第二预设数量代入第四预设公式计算所述特征保持因子;依次重复所述第三计算步骤、所述第四计算步骤、第五计算步骤和第六计算步骤至少一次,直至得到所述第四点云数据中的所有数据点对应的所述空间距离权重因子和所述特征保持因子。
可选地,根据所述空间距离权重因子、所述特征保持因子和所述目标平面通过双边滤波算法对所述第四点云数据进行过滤得到目标点云数据包括:第七计算步骤,将所述第二目标数据点对应的任意一个所述第四目标距离和所述空间距离权重因子代入第五预设公式得到空间距离权重;第八计算步骤,根据所述第四目标距离对应的所述数据点与所述第二目标数据点之间的向量和所述第二目标数据点对应的目标平面的法向量计算内积得到目标值,将所述目标值和所述特征保持因子代入第六预设公式得到特征保持权重;依次重复所述第七计算步骤和所述第八计算步骤至少一次,直至得到所述第二目标数据点对应的所有所述空间距离权重和所述特征保持权重,将所述空间距离权重和所述特征保持权重代入第七预设公式计算双边滤波因子;第九计算步骤,将所述第二目标数据点对应的所述目标坐标、所述法向量和所述双边滤波因子代入第八预设公式得到第三目标数据点;第十计算步骤,计算所述第四点云数据中所有所述数据点对应的所述第三目标数据点得到所述目标点云数据。
根据本申请的另一方面,提供了一种激光点云数据的去噪装置,所述装置包括:获取第一点云数据和目标半径,将所述第一点云数据进行分割得到多个第二点云数据,所述第一点云数据为通过激光雷达采对目标对象进行扫描得到的点云数据,多个所述第二点云数据与所述目标对象的部位一一对应;根据所述第一点云数据通过KD tree算法对所述第一点云数据进行划分得到多个第三点云数据;根据所述目标半径和所述第三点云数据通过DBSCAN算法依次对所述第二点云数据进行聚类得到第四点云数据;基于所述第四点云数据确定所述第四点云数据中各数据点的第一目标邻域,根据各所述数据点对应的所述第一目标邻域计算空间距离权重因子和特征保持因子并根据各所述数据点对应的所述第一目标邻域拟合得到对应的目标平面;根据所述空间距离权重因子、所述特征保持因子和所述目标平面通过双边滤波算法对所述第四点云数据进行过滤得到目标点云数据。
根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。
根据本申请的又一方面,提供了一种雷达扫描系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
应用本申请的技术方案,在上述激光点云数据的去噪方法中,首先,获取第一点云数据和目标半径,将上述第一点云数据进行分割得到多个第二点云数据,上述第一点云数据为通过激光雷达对目标对象进行扫描得到的点云数据,多个上述第二点云数据与上述目标对象的部位一一对应;然后,根据上述第一点云数据通过KD tree算法对上述第一点云数据进行划分得到多个第三点云数据;之后,根据上述目标半径和上述第三点云数据通过DBSCAN算法依次对上述第二点云数据进行聚类得到第四点云数据;之后,基于上述第四点云数据确定上述第四点云数据中各数据点的第一目标邻域,根据各上述数据点对应的上述第一目标邻域计算空间距离权重因子和特征保持因子并根据各上述数据点对应的上述第一目标邻域拟合得到对应的目标平面;最后,根据上述空间距离权重因子、上述特征保持因子和上述目标平面通过双边滤波算法对上述第四点云数据进行过滤得到目标点云数据。本申请基于改进后的DBSCAN聚类算法对激光点云数据进行初过滤去除点云数据中的噪声点,其中根据KD tree算法对DBSCAN聚类算法进行改进,简化了DBSCAN算法初始聚类过程中计算量,进一步的为解决聚类算法在过滤过程中会导致点云数据精度下降的问题,本申请通过改进后的双边滤波算法对点云数据进行进一步过滤,修正DBSCAN算法处理后的点云数据,该方法解决了现有技术中缺乏一种高速精准的点云数据去噪方法的问题。
附图说明
图1示出了根据本申请的实施例中提供的一种激光点云数据的去噪方法的移动终端的硬件结构框图;
图2示出了根据本申请的实施例提供的一种激光点云数据的去噪方法的流程示意图;
图3示出了根据本申请的实施例提供的一种激光点云数据的去噪装置的结构框图。
其中,上述附图包括以下附图标记:
102、处理器;104、存储器;106、传输设备;108、输入输出设备。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
正如背景技术中所介绍的,现有技术中缺乏一种在保证点云去噪的精度的前提下进行快速运算的方法,为解决现有技术中缺乏一种高速精准的点云数据去噪方法的问题,本申请的实施例提供了一种激光点云数据的去噪方法、装置、计算机可读存储介质和雷达扫描装置。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种激光点云数据的去噪方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的激光点云数据的去噪方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本申请实施例的激光点云数据的去噪方法的流程图。如图2所示,该方法包括以下步骤:
步骤S201,获取第一点云数据和目标半径,将上述第一点云数据进行分割得到多个第二点云数据,上述第一点云数据为通过激光雷达对目标对象进行扫描得到的点云数据,多个上述第二点云数据与上述目标对象的部位一一对应;
在一种实施例中,以隔离开关为例进行说明,根据隔离开关所在区域布置激光雷达,采集目标对象的初始点云数据集得到上述第一点云数据,由于本申请拟采用DBSCAN算法进行聚类,该算法计算复杂度较高,为简化计算过程,本申请设置对激光点云数据根据隔离开关的绝缘支柱、动静触头、拐臂、底座等特征将第一点云数据进行裁剪得到多个上述第二点云数据。
步骤S202,根据上述第一点云数据通过KD tree算法对上述第一点云数据进行划分得到多个第三点云数据;
具体地,由于DBSCAN算法在聚类过程中,需要计算任意两个数据点之间的距离,即便对第一点云数据进行分解之后,计算量仍旧较大,因此本申请设置对初始点云数据通过KD tree算法进行归类,建立对应的搜索树,即将初始点云数据分为多个上述第三点云数据,每个第三点云数据对应一个搜索树的分支,进而根据搜索树的分支对对应的数据点进行聚类,只需要对部分分支的数据点之间的距离进行计算,大大简化了计算过程。
步骤S203,根据上述目标半径和上述第三点云数据通过DBSCAN算法依次对上述第二点云数据进行聚类得到第四点云数据;
具体地,本身年轻为保证聚类结果的准确性,设置自适应半径,即上述目标半径。然后根据目标半径和搜索树的分支对分解后的初始点云数据进行聚类去除其中的噪声点得到上述第四点云数据。
步骤S204,基于上述第四点云数据确定上述第四点云数据中各数据点的第一目标邻域,根据各上述数据点对应的上述第一目标邻域计算空间距离权重因子和特征保持因子并根据各上述数据点对应的上述第一目标邻域拟合得到对应的目标平面;
具体地,基于上述第四点云数据,对各上述第四点云数据中数据点分别确定对应的邻域,并将邻域中的数据点进行拟合得到对应与该邻域所属数据点的上述目平面。并根据邻域中的点对上述空间距离权重因子和特征保持因子进行求解。
步骤S205,根据上述空间距离权重因子、上述特征保持因子和上述目标平面通过双边滤波算法对上述第四点云数据进行过滤得到目标点云数据。
具体地,基于上述空间距离权重因子和特征保持因子,求解双边滤波因子,基于上述目标平面求解每个点对应的法向量,进而根据法向量和双边滤波因子进行滤波,的得到去噪后的上述目标点云数据。
通过本实施例,首先,获取第一点云数据和目标半径,将上述第一点云数据进行分割得到多个第二点云数据,上述第一点云数据为通过激光雷达对目标对象进行扫描得到的点云数据,多个上述第二点云数据与上述目标对象的部位一一对应;然后,根据上述第一点云数据通过KD tree算法对上述第一点云数据进行划分得到多个第三点云数据;之后,根据上述目标半径和上述第三点云数据通过DBSCAN算法依次对上述第二点云数据进行聚类得到第四点云数据;之后,基于上述第四点云数据确定上述第四点云数据中各数据点的第一目标邻域,根据各上述数据点对应的上述第一目标邻域计算空间距离权重因子和特征保持因子并根据各上述数据点对应的上述第一目标邻域拟合得到对应的目标平面;最后,根据上述空间距离权重因子、上述特征保持因子和上述目标平面通过双边滤波算法对上述第四点云数据进行过滤得到目标点云数据。本申请基于改进后的DBSCAN聚类算法对激光点云数据进行初过滤去除点云数据中的噪声点,其中使用KD tree算法对DBSCAN聚类算法进行辅助运算,通过自适应计算半径对DBSCAN算法进行了改进,简化了DBSCAN算法初始聚类过程中计算量,进一步的为解决聚类算法在过滤过程中会导致点云数据精度下降的问题,本申请通过改进后的双边滤波算法对点云数据进行进一步过滤,修正DBSCAN算法处理后的点云数据,该方法解决了现有技术中缺乏一种高速精准的点云数据去噪方法的问题。
为了得到上述目标半径,在一种可选的实施方式中,上述步骤S201包括:
步骤S2011,根据上述第一点云数据计算多个第一目标距离,上述第一目标距离为任意两个上述数据点之间的距离;
具体地,根据上述第一点云数据中的任意一个数据点建立三维坐标系,进而确定每一个数据点的三维坐标,代入预设公式求解两点之间距离得到上述第一目标距离:/>,其中,/>、/>和/>为点/>的三维坐标,/>、/>和/>为点/>的三维坐标。
步骤S2012,将上述第一目标距离的最小值确定为区间下界并将上述第一目标距离的最大值确定为区间上界得到第一目标区间,将上述第一目标区间等分为第一预设数量的第二目标区间;
具体地,根据公式计算上述第一目标区间/>,然后,根据上述第一预设数量对区间进行等分,得到多个第二目标区间。上述第一预设数量根据第一点云数据的规模决定。
步骤S2013,根据各上述第二目标区间确定对应的目标数量,上述目标数量为上述第二目标区间中包括的上述数据点的数量;
具体地,统计各上述第二目标区间中的数据点出现频率,得到上述目标数量。
步骤S2014,将对应上述目标数量最大值的上述第二目标区间的下界确定为上述目标半径。
具体地,将上述目标数量的最大值的上述第二目标区间确定为目标区间,进而取目标区间的最小值作为DBSCAN算法进行聚类时的半径,以保证聚类的精度和计算速度。
为了得到上述搜索树,在一种可选的实施方式中,上述步骤S202包括:
步骤S2021,第一确定步骤,基于上述第一点云数据中任意一个上述数据点为原点建立三维坐标系,并确定各上述数据点的三维坐标得到多个目标坐标;
具体地,基于上述第一点云数据中的任意一个数据点为原点,构建上述三维坐标系,并根据上述三维坐标系,以及每个数据点与原点对应的数据点之间的相对位置关系,确定每一个数据点的三维坐标,得到上述目标坐标。
步骤S2022,第二确定步骤,基于上述目标坐标确定目标参数组,上述目标参数组包括上述目标坐标分别在x、y和z轴的中位数坐标;
具体地,根据各数据点对应的三维坐标在x轴、y轴和z轴对应的坐标数据分别进行排序,并取中位数得到上述目标参数组。
步骤S2023,第一分割步骤,根据上述目标参数组中的最大值将上述第一点云数据分为第五点云数据和第六点云数据,上述第五点云数据中包括对应上述目标坐标大于上述目标参数组中的最大值的数据点,上述第六点云数据中包括对应上述目标坐标小于上述目标参数组中的最大值的数据点;
具体地,根据三个中位数中最大的一个为基准,对数据点进行划分,得到两个点云数据集,即上述第五点云数据和上述第六点云数据。
步骤S2024,第三确定步骤,根据上述第五点云数据和上述第六点云数据分别确定对应的上述目标参数组,并根据对应的上述目标参数组分别对上述第五点云数据和上述第六点云数据进行分割;
具体地,分别基于上述第五点云数据和上述第六点云数据重复上述第一确定步骤的操作得到对应的上述目标参数组,并根据对应的上述目标参数组重复上述第一分割步骤的操作进行点云分割。
步骤S2025,重复上述第三确定步骤至少一次直至迭代次数达到目标次数,根据上述第五点云数据或上述第六点云数据确定上述第三点云数据,一个上述第三点云数据中包括一个上述第五点云数据或上述第六点云数据中的所有上述数据点。
具体地,重复上述第三确定步骤对分割得到的点云数据不断进行分割直至分割次数达到预设次数,得到的点云数据集即为上述第三点云数据。
为了去除上述第二点云数据中的噪声点,在一种可选的实施方式中,上述步骤S203包括:
步骤S2031,第四确定步骤,将上述第二点云数据中任意一个上述数据点确定为第一目标数据点并将上述第一目标数据点所属的上述第三点云数据确定为目标第三点云数据;
具体地,选择任意一个上述第二点云数据,进而在上述第二点云数据中随机选择一个数据点,得到上述第一目标数据点,将上述第一目标数据点所属的搜索树的分支,即上述第三点云数据,得到上述目标第三点云数据。
步骤S2032,第五确定步骤,根据上述目标第三点云数据和各上述第三点云数据确定第二目标距离和第三目标距离,上述第二目标距离为上述第三点云数据中的上述数据点与上述第一目标数据点之间上述第一目标距离的最大值,上述第三目标距离为上述第三点云数据中的上述数据点与上述第一目标数据点之间上述第一目标距离的最小值;
具体地,根据上述第一目标数据点,在搜索树所属的分支,与其他分支进行对比,确定其他分支中数据点与上述第一目标数据点之间的最大距离得到上述第二目标距离,确定其他分支中数据点与上述第一目标数据点之间的最小距离得到上述第三目标距离。
步骤S2033,第六确定步骤,在上述第二目标距离小于或等于上述目标半径的情况下确定上述第三点云数据中的所有数据点属于上述第一目标数据点的第二目标邻域,在上述第三目标距离大于或等于上述目标半径的情况下确定上述第三点云数据中的所有数据点不属于上述第一目标数据点的第二目标邻域;
具体地,根据上述第二目标距离和上述第三目标距离对对应分支中的数据点进行划分。在上述第二目标距离小于或等于上述目标半径的情况下,确定对应分支中的数据点与上述第一目标数据点之间的最大距离小于领域半径,该分支中的数据点均属于第一目标数据点对应的邻域,同理在上述第三目标距离大于或等于上述目标半径的情况下,对应分支中的所有数据点不属于第一目标数据点对应的邻域。
步骤S2034,第一计算步骤,在上述第二目标距离大于上述目标半径且上述第三目标距离小于上述目标半径的情况下,确定上述第三点云数据中对应与上述第一目标数据点之间的上述第一目标距离小于或等于上述目标半径的上述数据点属于上述第一目标数据点的上述第二目标邻域;
具体地,在上述第二目标距离大于上述目标半径且上述第三目标距离小于上述目标半径的情况下,将计算上述第一目标数据点与对应的分支中的所有数据点之间的距离得到上述第一目标距离。进而根据公式,对数据断点进行划分,其中,/>为上述目标半径,/>为上述第一目标数据点对应的邻域,/>为第二点云数据,/>为搜索树中分支中的数据点。
步骤S2035,第七确定步骤,在上述第一目标数据点的上述第二目标邻域中的上述数据点的数量大于或等于预设值的情况下,将上述第一目标数据点确定为目标核心点,将上述第二目标邻域中除上述第一目标数据点之外的上述数据点确定为目标边界点;
具体地,在邻域划分完成之后,根据邻域中的数据点数量对上述第一目标数据点进行标记,在邻域中的上述数据点的数量大于或等于预设值的情况下,将第一目标数据点确定为核心点,将该核心点的邻域中的其他数据点确定为边界点。
步骤S2036,第八确定步骤,将上述目标核心点与对应的上述目标边界点确定为备选聚类簇,在上述备选聚类簇中存在上述目标边界点为上述目标核心点的情况下将各上述目标核心点对应的上述备选聚类簇合并得到第一聚类簇,在上述备选聚类簇中不存在上述目标边界点为上述目标核心点的情况下将上述备选聚类簇确定为上述第一聚类簇;
具体地,将上述目标核心点与对应的上述目标边界点确定为备选聚类簇,并对备选聚类簇中的边界点重新进行判定,确定边界点是否为另一聚类簇的核心点,若是,将两个备选聚类簇进行合并,直至每一个备选聚类簇中的每一个边界点均不是核心点,将备选聚类簇保存。若均不是,则将备选聚类簇保存。
步骤S2037,依次重复上述第四确定步骤、上述第五确定步骤、上述第六确定步骤、上述第一计算步骤、上述第七确定步骤和上述第八确定步骤至少一次,直至确定所有上述第一聚类簇,将所有上述第一聚类簇中的上述数据点确定为上述第四点云数据。
具体地,重复上述第四确定步骤、上述第五确定步骤、上述第六确定步骤、上述第一计算步骤、上述第七确定步骤和上述第八确定步骤对未标记数据点进行验证,直至所有的数据点均验证完毕,将未被标记的点确定为噪声点,删除噪声点之后,得到的所有数据点即为第四点云数据。
为了得到上述第一目标邻域,在一种可选的实施方式中,上述步骤S204包括:
步骤S20401,第九确定步骤,根据上述第四点云数据中的上述数据点的数量确定第二预设数量,上述第二预设数量为各上述数据点对应的上述第一目标邻域中包括的上述数据点的数量;
具体地,根据上述第四点云数据的规模确定上述第二预设数量,即根据上述第四点云数据的规模确定上述第一目标邻域的规模。
需要注意的是,上述第一目标邻域的规模越大,滤波的准确性越高,但是计算复杂度随之上升。
步骤S20402,第十确定步骤,将上述第四点云数据中的任意一个上述数据点确定为第二目标数据点,并确定与上述第二目标数据点之间对应上述第一目标距离从小到大的第二预设数量个上述数据点属于上述第二目标数据点对应的上述第一目标邻域;
具体地,在上述第四点云数据中的任意一个数据点确定为上述第二目标数据点,进而,根据上述第二目标数据点以及最近的上述第二预设数量个数据点,构成上述第一目标邻域。
步骤S20403,重复上述第十确定步骤至少一次,直至确定上述第四点云数据中所有上述数据点对应的上述第一目标邻域。
具体地,对第四点云数据中的所有数据点重复上述操作,确定每一个数据点对应的上述第一目标邻域。
为了得到上述空间距离权重因子和特征保持因子以及目标平面,在一种可选的实施方式中,上述步骤S204还包括:
步骤S20404,第二计算步骤,将上述第二目标数据点和上述第二目标数据点对应的上述第一目标邻域中的所有数据点对应的上述目标坐标代入第一预设公式求解上述数据点对应的上述目标平面的拟合系数,根据上述拟合系数确定上述目标平面;
具体地,通过最小二乘法在数据点的上述第一目标邻域/>上拟合一个平面。即,根据构建/>:/>。将上述第一目标邻域中的点均代入公式,构建方程组:/>,其中,k为邻域中数据点的个数,根据方程组求解参数/>,得到上述目标平面。
步骤S20405,重复上述第二计算步骤至少一次,直至确定上述第四点云数据中所有的数据点对应的上述目标平面;
具体地,对每一个数据点重复上述第二计算步骤,得到对应的目标平面。
步骤S20406,第三计算步骤,将上述第四点云数据中任意一个上述数据点确定为第二目标数据点,计算上述第二目标数据点与对应的上述第一目标邻域中的所有数据点之间的距离得到多个第四目标距离;
具体地,根据公式计算上述第二目标数据点与对应的上述第一目标邻域中的所有数据点之间的距离,得到多个上述第四目标距离。
步骤S20407,第四计算步骤,根据上述第四目标距离计算方差得到目标方差,根据上述第四目标距离计算均值得到第一目标均值,并根据上述第四目标距离确定第五目标距离和第六目标距离,上述第五目标距离为上述第四目标距离的最小值,上述第六目标距离为上述第四目标距离的最大值;
具体地,根据上述第四目标距离计算方差得到目标方差,根据上述第四目标距离计算均值得到第一目标均值/>,并确定第五目标距离/>和第六目标距离。
步骤S20408,第五计算步骤,获取第二目标均值,在上述目标方差大于上述第二目标均值的情况下,将上述第五目标距离和上述第六目标距离代入第二预设公式计算上述空间距离权重因子,在上述目标方差小于上述第二目标均值的情况下,将各上述第四目标距离和上述第二预设数量代入第三预设公式计算上述空间距离权重因子,上述第二目标均值为各上述数据点对应的上述目标方差的均值;
具体地,根据目标方差计算方差均值得到第二目标均值,将上述参数根据方差和方差均值之间的关系代入预设公式:
。
步骤S20409,第六计算步骤,将各上述第四目标距离、上述第一目标均值和上述第二预设数量代入第四预设公式计算上述特征保持因子;
具体地,将各上述第四目标距离、上述第一目标均值和上述第二预设数量代入第四预设公式计算上述特征保持因子:,其中,/>为点/>对应的/>,k为上述第二预设数量。
步骤S20410,依次重复上述第三计算步骤、上述第四计算步骤、第五计算步骤和第六计算步骤至少一次,直至得到上述第四点云数据中的所有数据点对应的上述空间距离权重因子和上述特征保持因子。
具体地,重复上述第三计算步骤、上述第四计算步骤、第五计算步骤和第六计算步骤,计算所有数据点对应的上述空间距离权重因子和上述特征保持因子。
为了得到上述目标点云数据,在一种可选的实施方式中,上述步骤S205包括:
步骤S2051,第七计算步骤,将上述第二目标数据点对应的任意一个上述第四目标距离和上述空间距离权重因子代入第五预设公式得到空间距离权重;
具体地,将上述第二目标数据点对应的任意一个上述第四目标距离和上述空间距离权重因子代入第五预设公式,计算该点/>对应的空间距离权重,。
步骤S2052,第八计算步骤,根据上述第四目标距离对应的上述数据点与上述第二目标数据点之间的向量和上述第二目标数据点对应的目标平面的法向量计算内积得到目标值,将上述目标值和上述特征保持因子代入第六预设公式得到特征保持权重;
具体地,根据公式计算上述点/>对应的特征保持权重,其中,。
步骤S2053,依次重复上述第七计算步骤和上述第八计算步骤至少一次,直至得到上述第二目标数据点对应的所有上述空间距离权重和上述特征保持权重,将上述空间距离权重和上述特征保持权重代入第七预设公式计算双边滤波因子;
具体地,重复上述第七计算步骤和上述第八计算,计算任意一个上述第二目标数据点对应的所有上述空间距离权重和上述特征保持权重。然后,将上述空间距离权重和上述特征保持权重代入公式:。
步骤S2054,第九计算步骤,将上述第二目标数据点对应的上述目标坐标、上述法向量和上述双边滤波因子代入第八预设公式得到第三目标数据点;
具体地,将上述第二目标数据点带入,得到第三目标数据点,其中/>为第三目标数据点,/>为上述目标平面的法向量。
步骤S2055,第十计算步骤,计算上述第四点云数据中所有上述数据点对应的上述第三目标数据点得到上述目标点云数据。
具体地,对上述第四点云数据中的每一个数据点重复上述操作,即得到上述目标点云数据。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种激光点云数据的去噪装置,需要说明的是,本申请实施例的激光点云数据的去噪装置可以用于执行本申请实施例所提供的用于激光点云数据的去噪方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
以下对本申请实施例提供的激光点云数据的去噪装置进行介绍。
图3是根据本申请实施例的激光点云数据的去噪装置的结构框图。如图3所示,该装置包括:
获取单元10,用于获取第一点云数据和目标半径,将上述第一点云数据进行分割得到多个第二点云数据,上述第一点云数据为通过激光雷达对目标对象进行扫描得到的点云数据,多个上述第二点云数据与上述目标对象的部位一一对应;
在一种实施例中,以隔离开关为例进行说明,根据隔离开关所在区域布置激光雷达,采集目标对象的初始点云数据集得到上述第一点云数据,由于本申请拟采用DBSCAN算法进行聚类,该算法计算复杂度较高,为简化计算过程,本申请设置对激光点云数据根据隔离开关的绝缘支柱、动静触头、拐臂、底座等特征将第一点云数据进行裁剪得到多个上述第二点云数据。
第一计算单元20,用于根据上述第一点云数据通过KD tree算法对上述第一点云数据进行划分得到多个第三点云数据;
具体地,由于DBSCAN算法在聚类过程中,需要计算任意两个数据点之间的距离,即便对第一点云数据进行分解之后,计算量仍旧较大,因此本申请设置对初始点云数据通过KD tree算法进行归类,建立对应的搜索树,即将初始点云数据分为多个上述第三点云数据,每个第三点云数据对应一个搜索树的分支,进而根据搜索树的分支对对应的数据点进行聚类,只需要对部分分支的数据点之间的距离进行计算,大大简化了计算过程。
第二计算单元30,用于根据上述目标半径和上述第三点云数据通过DBSCAN算法依次对上述第二点云数据进行聚类得到第四点云数据;
具体地,本身年轻为保证聚类结果的准确性,设置自适应半径,即上述目标半径。然后根据目标半径和搜索树的分支对分解后的初始点云数据进行聚类去除其中的噪声点得到上述第四点云数据。
第三计算单元40,用于基于上述第四点云数据确定上述第四点云数据中各数据点的第一目标邻域,根据各上述数据点对应的上述第一目标邻域计算空间距离权重因子和特征保持因子并根据各上述数据点对应的上述第一目标邻域拟合得到对应的目标平面;
具体地,基于上述第四点云数据,对各上述第四点云数据中数据点分别确定对应的邻域,并将邻域中的数据点进行拟合得到对应与该邻域所属数据点的上述目平面。并根据邻域中的点对上述空间距离权重因子和特征保持因子进行求解。
第四计算单元50,用于根据上述空间距离权重因子、上述特征保持因子和上述目标平面通过双边滤波算法对上述第四点云数据进行过滤得到目标点云数据。
具体地,基于上述空间距离权重因子和特征保持因子,求解双边滤波因子,基于上述目标平面求解每个点对应的法向量,进而根据法向量和双边滤波因子进行滤波,的得到去噪后的上述目标点云数据。
通过本实施例,获取单元获取第一点云数据和目标半径,将上述第一点云数据进行分割得到多个第二点云数据,上述第一点云数据为通过激光雷达对目标对象进行扫描得到的点云数据,多个上述第二点云数据与上述目标对象的部位一一对应;第一计算单元根据上述第一点云数据通过KD tree算法对上述第一点云数据进行划分得到多个第三点云数据;第二计算单元根据上述目标半径和上述第三点云数据通过DBSCAN算法依次对上述第二点云数据进行聚类得到第四点云数据;第三计算单元基于上述第四点云数据确定上述第四点云数据中各数据点的第一目标邻域,根据各上述数据点对应的上述第一目标邻域计算空间距离权重因子和特征保持因子并根据各上述数据点对应的上述第一目标邻域拟合得到对应的目标平面;第四计算单元根据上述空间距离权重因子、上述特征保持因子和上述目标平面通过双边滤波算法对上述第四点云数据进行过滤得到目标点云数据。本申请基于改进后的DBSCAN聚类算法对激光点云数据进行初过滤去除点云数据中的噪声点,其中使用KDtree算法对DBSCAN聚类算法进行辅助计算,通过自适应计算半径对DBSCAN算法进行了改进,简化了DBSCAN算法初始聚类过程中计算量,进一步的为解决聚类算法在过滤过程中会导致点云数据精度下降的问题,本申请通过改进后的双边滤波算法对点云数据进行进一步过滤,修正DBSCAN算法处理后的点云数据,该方法解决了现有技术中缺乏一种高速精准的点云数据去噪方法的问题。
为了得到上述目标半径,在一种可选的实施方式中,上述第一计算单元包括:
第一计算模块,用于根据上述第一点云数据计算多个第一目标距离,上述第一目标距离为任意两个上述数据点之间的距离;
具体地,根据上述第一点云数据中的任意一个数据点建立三维坐标系,进而确定每一个数据点的三维坐标,代入预设公式求解两点之间距离得到上述第一目标距离:/>,其中,/>、/>和/>为点/>的三维坐标,/>、/>和/>为点/>的三维坐标。/>
第二计算模块,用于将上述第一目标距离的最小值确定为区间下界并将上述第一目标距离的最大值确定为区间上界得到第一目标区间,将上述第一目标区间等分为第一预设数量的第二目标区间;
具体地,根据公式计算上述第一目标区间/>,然后,根据上述第一预设数量对区间进行等分,得到多个第二目标区间。上述第一预设数量根据第一点云数据的规模决定。
第一确定模块,用于根据各上述第二目标区间确定对应的目标数量,上述目标数量为上述第二目标区间中包括的上述数据点的数量;
具体地,统计各上述第二目标区间中的数据点出现频率,得到上述目标数量。
第二确定模块,用于将对应上述目标数量最大值的上述第二目标区间的下界确定为上述目标半径。
具体地,将上述目标数量的最大值的上述第二目标区间确定为目标区间,进而取目标区间的最小值作为DBSCAN算法进行聚类时的半径,以保证聚类的精度和计算速度。
为了得到上述搜索树,在一种可选的实施方式中,上述第一计算单元包括:
第三确定模块,用于执行第一确定步骤,基于上述第一点云数据中任意一个上述数据点为原点建立三维坐标系,并确定各上述数据点的三维坐标得到多个目标坐标;
具体地,基于上述第一点云数据中的任意一个数据点为原点,构建上述三维坐标系,并根据上述三维坐标系,以及每个数据点与原点对应的数据点之间的相对位置关系,确定每一个数据点的三维坐标,得到上述目标坐标。
第四确定模块,用于执行第二确定步骤,基于上述目标坐标确定目标参数组,上述目标参数组包括上述目标坐标分别在x、y和z轴的中位数坐标;
具体地,根据各数据点对应的三维坐标在x轴、y轴和z轴对应的坐标数据分别进行排序,并取中位数得到上述目标参数组。
第五确定模块,用于执行第一分割步骤,根据上述目标参数组中的最大值将上述第一点云数据分为第五点云数据和第六点云数据,上述第五点云数据中包括对应上述目标坐标大于上述目标参数组中的最大值的数据点,上述第六点云数据中包括对应上述目标坐标小于上述目标参数组中的最大值的数据点;
具体地,根据三个中位数中最大的一个为基准,对数据点进行划分,得到两个点云数据集,即上述第五点云数据和上述第六点云数据。
第六确定模块,用于执行第三确定步骤,根据上述第五点云数据和上述第六点云数据分别确定对应的上述目标参数组,并根据对应的上述目标参数组分别对上述第五点云数据和上述第六点云数据进行分割;
具体地,分别基于上述第五点云数据和上述第六点云数据重复上述第一确定步骤的操作得到对应的上述目标参数组,并根据对应的上述目标参数组重复上述第一分割步骤的操作进行点云分割。
第一重复模块,用于重复上述第三确定步骤至少一次直至迭代次数达到目标次数,根据上述第五点云数据或上述第六点云数据确定上述第三点云数据,一个上述第三点云数据中包括一个上述第五点云数据或上述第六点云数据中的所有上述数据点。
具体地,重复上述第三确定步骤对分割得到的点云数据不断进行分割直至分割次数达到预设次数,得到的点云数据集即为上述第三点云数据。
为了去除上述第二点云数据中的噪声点,在一种可选的实施方式中,上述第二计算单元包括:
第七确定模块,用于执行第四确定步骤,将上述第二点云数据中任意一个上述数据点确定为第一目标数据点并将上述第一目标数据点所属的上述第三点云数据确定为目标第三点云数据;
具体地,选择任意一个上述第二点云数据,进而在上述第二点云数据中随机选择一个数据点,得到上述第一目标数据点,将上述第一目标数据点所属的搜索树的分支,即上述第三点云数据,得到上述目标第三点云数据。
第八确定模块,用于执行第五确定步骤,根据上述目标第三点云数据和各上述第三点云数据确定第二目标距离和第三目标距离,上述第二目标距离为上述第三点云数据中的上述数据点与上述第一目标数据点之间上述第一目标距离的最大值,上述第三目标距离为上述第三点云数据中的上述数据点与上述第一目标数据点之间上述第一目标距离的最小值;
具体地,根据上述第一目标数据点,在搜索树所属的分支,与其他分支进行对比,确定其他分支中数据点与上述第一目标数据点之间的最大距离得到上述第二目标距离,确定其他分支中数据点与上述第一目标数据点之间的最小距离得到上述第三目标距离。
第九确定模块,用于执行第六确定步骤,在上述第二目标距离小于或等于上述目标半径的情况下确定上述第三点云数据中的所有数据点属于上述第一目标数据点的第二目标邻域,在上述第三目标距离大于或等于上述目标半径的情况下确定上述第三点云数据中的所有数据点不属于上述第一目标数据点的第二目标邻域;
具体地,根据上述第二目标距离和上述第三目标距离对对应分支中的数据点进行划分。在上述第二目标距离小于或等于上述目标半径的情况下,确定对应分支中的数据点与上述第一目标数据点之间的最大距离小于领域半径,该分支中的数据点均属于第一目标数据点对应的邻域,同理在上述第三目标距离大于或等于上述目标半径的情况下,对应分支中的所有数据点不属于第一目标数据点对应的邻域。
第三计算模块,用于执行第一计算步骤,在上述第二目标距离大于上述目标半径且上述第三目标距离小于上述目标半径的情况下,确定上述第三点云数据中对应与上述第一目标数据点之间的上述第一目标距离小于或等于上述目标半径的上述数据点属于上述第一目标数据点的上述第二目标邻域;
具体地,在上述第二目标距离大于上述目标半径且上述第三目标距离小于上述目标半径的情况下,将计算上述第一目标数据点与对应的分支中的所有数据点之间的距离得到上述第一目标距离。进而根据公式,对数据断点进行划分,其中,/>为上述目标半径,/>为上述第一目标数据点对应的邻域,/>为第二点云数据,/>为搜索树中分支中的数据点。
第十确定模块,用于执行第七确定步骤,在上述第一目标数据点的上述第二目标邻域中的上述数据点的数量大于或等于预设值的情况下,将上述第一目标数据点确定为目标核心点,将上述第二目标邻域中除上述第一目标数据点之外的上述数据点确定为目标边界点;
具体地,在邻域划分完成之后,根据邻域中的数据点数量对上述第一目标数据点进行标记,在邻域中的上述数据点的数量大于或等于预设值的情况下,将第一目标数据点确定为核心点,将该核心点的邻域中的其他数据点确定为边界点。
第十一确定模块,用于执行第八确定步骤,将上述目标核心点与对应的上述目标边界点确定为备选聚类簇,在上述备选聚类簇中存在上述目标边界点为上述目标核心点的情况下将各上述目标核心点对应的上述备选聚类簇合并得到第一聚类簇,在上述备选聚类簇中不存在上述目标边界点为上述目标核心点的情况下将上述备选聚类簇确定为上述第一聚类簇;
具体地,将上述目标核心点与对应的上述目标边界点确定为备选聚类簇,并对备选聚类簇中的边界点重新进行判定,确定边界点是否为另一聚类簇的核心点,若是,将两个备选聚类簇进行合并,直至每一个备选聚类簇中的每一个边界点均不是核心点,将备选聚类簇保存。若均不是,则将备选聚类簇保存。
第二重复模块,用于依次重复上述第四确定步骤、上述第五确定步骤、上述第六确定步骤、上述第一计算步骤、上述第七确定步骤和上述第八确定步骤至少一次,直至确定所有上述第一聚类簇,将所有上述第一聚类簇中的上述数据点确定为上述第四点云数据。
具体地,重复上述第四确定步骤、上述第五确定步骤、上述第六确定步骤、上述第一计算步骤、上述第七确定步骤和上述第八确定步骤对未标记数据点进行验证,直至所有的数据点均验证完毕,将未被标记的点确定为噪声点,删除噪声点之后,得到的所有数据点即为第四点云数据。
为了得到上述第一目标邻域,在一种可选的实施方式中,上述第三计算单元包括:
第十二确定模块,用于执行第九确定步骤,根据上述第四点云数据中的上述数据点的数量确定第二预设数量,上述第二预设数量为各上述数据点对应的上述第一目标邻域中包括的上述数据点的数量;
具体地,根据上述第四点云数据的规模确定上述第二预设数量,即根据上述第四点云数据的规模确定上述第一目标邻域的规模。
需要注意的是,上述第一目标邻域的规模越大,滤波的准确性越高,但是计算复杂度随之上升。
第十三确定模块,用于执行第十确定步骤,将上述第四点云数据中的任意一个上述数据点确定为第二目标数据点,并确定与上述第二目标数据点之间对应上述第一目标距离从小到大的第二预设数量个上述数据点属于上述第二目标数据点对应的上述第一目标邻域;
具体地,在上述第四点云数据中的任意一个数据点确定为上述第二目标数据点,进而,根据上述第二目标数据点以及最近的上述第二预设数量个数据点,构成上述第一目标邻域。
第三重复模块,用于重复上述第十确定步骤至少一次,直至确定上述第四点云数据中所有上述数据点对应的上述第一目标邻域。
具体地,对第四点云数据中的所有数据点重复上述操作,确定每一个数据点对应的上述第一目标邻域。
为了得到上述空间距离权重因子和特征保持因子以及目标平面,在一种可选的实施方式中,上述第三计算单元还包括:
第四计算模块,用于执行第二计算步骤,将上述第二目标数据点和上述第二目标数据点对应的上述第一目标邻域中的所有数据点对应的上述目标坐标代入第一预设公式求解上述数据点对应的上述目标平面的拟合系数,根据上述拟合系数确定上述目标平面;
具体地,通过最小二乘法在数据点的上述第一目标邻域/>上拟合一个平面。即,根据构建/>:/>。将上述第一目标邻域中的点均代入公式,构建方程组:/>,其中,k为邻域中数据点的个数,根据方程组求解参数/>,得到上述目标平面。
第四重复模块,用于重复上述第二计算步骤至少一次,直至确定上述第四点云数据中所有的数据点对应的上述目标平面;
具体地,对每一个数据点重复上述第二计算步骤,得到对应的目标平面。
第五计算模块,用于执行第三计算步骤,将上述第四点云数据中任意一个上述数据点确定为第二目标数据点,计算上述第二目标数据点与对应的上述第一目标邻域中的所有数据点之间的距离得到多个第四目标距离;
具体地,根据公式计算上述第二目标数据点与对应的上述第一目标邻域中的所有数据点之间的距离,得到多个上述第四目标距离。
第六计算模块,用于执行第四计算步骤,根据上述第四目标距离计算方差得到目标方差,根据上述第四目标距离计算均值得到第一目标均值,并根据上述第四目标距离确定第五目标距离和第六目标距离,上述第五目标距离为上述第四目标距离的最小值,上述第六目标距离为上述第四目标距离的最大值;
具体地,根据上述第四目标距离计算方差得到目标方差,根据上述第四目标距离计算均值得到第一目标均值/>,并确定第五目标距离/>和第六目标距离。
第七计算模块,用于执行第五计算步骤,获取第二目标均值,在上述目标方差大于上述第二目标均值的情况下,将上述第五目标距离和上述第六目标距离代入第二预设公式计算上述空间距离权重因子,在上述目标方差小于上述第二目标均值的情况下,将各上述第四目标距离和上述第二预设数量代入第三预设公式计算上述空间距离权重因子,上述第二目标均值为各上述数据点对应的上述目标方差的均值;
具体地,根据目标方差计算方差均值得到第二目标均值,将上述参数根据方差和方差均值之间的关系代入预设公式:/>
。
第八计算模块,用于执行第六计算步骤,将各上述第四目标距离、上述第一目标均值和上述第二预设数量代入第四预设公式计算上述特征保持因子;
具体地,将各上述第四目标距离、上述第一目标均值和上述第二预设数量代入第四预设公式计算上述特征保持因子:,其中,/>为点/>对应的/>,k为上述第二预设数量。
第五重复模块,用于依次重复上述第三计算步骤、上述第四计算步骤、第五计算步骤和第六计算步骤至少一次,直至得到上述第四点云数据中的所有数据点对应的上述空间距离权重因子和上述特征保持因子。
具体地,重复上述第三计算步骤、上述第四计算步骤、第五计算步骤和第六计算步骤,计算所有数据点对应的上述空间距离权重因子和上述特征保持因子。
为了得到上述目标点云数据,在一种可选的实施方式中,上述步骤S205包括:
第九计算模块,用于执行第七计算步骤,将上述第二目标数据点对应的任意一个上述第四目标距离和上述空间距离权重因子代入第五预设公式得到空间距离权重;
具体地,将上述第二目标数据点对应的任意一个上述第四目标距离和上述空间距离权重因子代入第五预设公式,计算该点/>对应的空间距离权重,。
第十计算模块,用于执行第八计算步骤,根据上述第四目标距离对应的上述数据点与上述第二目标数据点之间的向量和上述第二目标数据点对应的目标平面的法向量计算内积得到目标值,将上述目标值和上述特征保持因子代入第六预设公式得到特征保持权重;
具体地,根据公式计算上述点/>对应的特征保持权重,其中,。
第六重复模块,用于依次重复上述第七计算步骤和上述第八计算步骤至少一次,直至得到上述第二目标数据点对应的所有上述空间距离权重和上述特征保持权重,将上述空间距离权重和上述特征保持权重代入第七预设公式计算双边滤波因子;
具体地,重复上述第七计算步骤和上述第八计算,计算任意一个上述第二目标数据点对应的所有上述空间距离权重和上述特征保持权重。然后,将上述空间距离权重和上述特征保持权重代入公式:。/>
第十一计算模块,用于执行第九计算步骤,将上述第二目标数据点对应的上述目标坐标、上述法向量和上述双边滤波因子代入第八预设公式得到第三目标数据点;
具体地,将上述第二目标数据点带入,得到第三目标数据点,其中/>为第三目标数据点,/>为上述目标平面的法向量。
第十二计算模块,用于执行第十计算步骤,计算上述第四点云数据中所有上述数据点对应的上述第三目标数据点得到上述目标点云数据。
具体地,对上述第四点云数据中的每一个数据点重复上述操作,即得到上述目标点云数据。
上述激光点云数据的去噪装置包括处理器和存储器,上述获取单元、第一计算单元、第二计算单元、第三计算单元和第四计算单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高点云数据去噪的效率和准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述激光点云数据的去噪方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述激光点云数据的去噪方法。
本发明实施例提供了一种雷达扫描系统,雷达扫描系统包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少上述激光点云数据的去噪方法的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少上述激光点云数据的去噪方法步骤的程序。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
本申请的激光点云数据的去噪方法,基于改进后的DBSCAN聚类算法对激光点云数据进行初过滤去除点云数据中的噪声点,其中根据KD tree算法对DBSCAN聚类算法进行改进,简化了DBSCAN算法初始聚类过程中计算量,进一步的为解决聚类算法在过滤过程中会导致点云数据精度下降的问题,本申请通过改进后的双边滤波算法对点云数据进行进一步过滤,修正DBSCAN算法处理后的点云数据,该方法解决了现有技术中缺乏一种高速精准的点云数据去噪方法的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种激光点云数据的去噪方法,其特征在于,包括:
获取第一点云数据和目标半径,将所述第一点云数据进行分割得到多个第二点云数据,所述第一点云数据为通过激光雷达对目标对象进行扫描得到的点云数据,多个所述第二点云数据与所述目标对象的部位一一对应;
根据所述第一点云数据通过KD tree算法对所述第一点云数据进行划分得到多个第三点云数据;
根据所述目标半径和所述第三点云数据通过DBSCAN算法依次对所述第二点云数据进行聚类得到第四点云数据;
基于所述第四点云数据确定所述第四点云数据中各数据点的第一目标邻域,根据各所述数据点对应的所述第一目标邻域计算空间距离权重因子和特征保持因子并根据各所述数据点对应的所述第一目标邻域拟合得到对应的目标平面;
根据所述空间距离权重因子、所述特征保持因子和所述目标平面通过双边滤波算法对所述第四点云数据进行过滤得到目标点云数据;根据所述第一点云数据通过KD tree算法对所述第一点云数据进行划分得到多个第三点云数据,包括:第一确定步骤,基于所述第一点云数据中任意一个所述数据点为原点建立三维坐标系,并确定各所述数据点的三维坐标得到多个目标坐标;第二确定步骤,基于所述目标坐标确定目标参数组,所述目标参数组包括所述目标坐标分别在x、y和z轴的中位数坐标;第一分割步骤,根据所述目标参数组中的最大值将所述第一点云数据分为第五点云数据和第六点云数据,所述第五点云数据中包括对应所述目标坐标大于所述目标参数组中的最大值的数据点,所述第六点云数据中包括对应所述目标坐标小于所述目标参数组中的最大值的数据点;第三确定步骤,根据所述第五点云数据和所述第六点云数据分别确定对应的所述目标参数组,并根据对应的所述目标参数组分别对所述第五点云数据和所述第六点云数据进行分割;重复所述第三确定步骤至少一次直至迭代次数达到目标次数,根据所述第五点云数据或所述第六点云数据确定所述第三点云数据,一个所述第三点云数据中包括一个所述第五点云数据或所述第六点云数据中的所有所述数据点;根据所述目标半径和所述第三点云数据通过DBSCAN算法依次对所述第二点云数据进行聚类得到第四点云数据,包括:第四确定步骤,将所述第二点云数据中任意一个所述数据点确定为第一目标数据点并将所述第一目标数据点所属的所述第三点云数据确定为目标第三点云数据;第五确定步骤,根据所述目标第三点云数据和各所述第三点云数据确定第二目标距离和第三目标距离,所述第二目标距离为所述第三点云数据中的所述数据点与所述第一目标数据点之间所述第一目标距离的最大值,所述第三目标距离为所述第三点云数据中的所述数据点与所述第一目标数据点之间所述第一目标距离的最小值;第六确定步骤,在所述第二目标距离小于或等于所述目标半径的情况下确定所述第三点云数据中的所有数据点属于所述第一目标数据点的第二目标邻域,在所述第三目标距离大于或等于所述目标半径的情况下确定所述第三点云数据中的所有数据点不属于所述第一目标数据点的第二目标邻域;第一计算步骤,在所述第二目标距离大于所述目标半径且所述第三目标距离小于所述目标半径的情况下,确定所述第三点云数据中对应与所述第一目标数据点之间的所述第一目标距离小于或等于所述目标半径的所述数据点属于所述第一目标数据点的所述第二目标邻域;第七确定步骤,在所述第一目标数据点的所述第二目标邻域中的所述数据点的数量大于或等于预设值的情况下,将所述第一目标数据点确定为目标核心点,将所述第二目标邻域中除所述第一目标数据点之外的所述数据点确定为目标边界点;第八确定步骤,将所述目标核心点与对应的所述目标边界点确定为备选聚类簇,在所述备选聚类簇中存在所述目标边界点为所述目标核心点的情况下将各所述目标核心点对应的所述备选聚类簇合并得到第一聚类簇,在所述备选聚类簇中不存在所述目标边界点为所述目标核心点的情况下将所述备选聚类簇确定为所述第一聚类簇;依次重复所述第四确定步骤、所述第五确定步骤、所述第六确定步骤、所述第一计算步骤、所述第七确定步骤和所述第八确定步骤至少一次,直至确定所有所述第一聚类簇,将所有所述第一聚类簇中的所述数据点确定为所述第四点云数据。
2.根据权利要求1所述的方法,其特征在于,获取目标半径,包括:
根据所述第一点云数据计算多个第一目标距离,所述第一目标距离为任意两个所述数据点之间的距离;
将所述第一目标距离的最小值确定为区间下界并将所述第一目标距离的最大值确定为区间上界得到第一目标区间,将所述第一目标区间等分为第一预设数量的第二目标区间;
根据各所述第二目标区间确定对应的目标数量,所述目标数量为所述第二目标区间中包括的所述数据点的数量;
将对应所述目标数量最大值的所述第二目标区间的下界确定为所述目标半径。
3.根据权利要求1所述的方法,其特征在于,基于所述第四点云数据确定所述第四点云数据中各数据点的第一目标邻域,包括:
第九确定步骤,根据所述第四点云数据中的所述数据点的数量确定第二预设数量,所述第二预设数量为各所述数据点对应的所述第一目标邻域中包括的所述数据点的数量;
第十确定步骤,将所述第四点云数据中的任意一个所述数据点确定为第二目标数据点,并确定与所述第二目标数据点之间对应所述第一目标距离从小到大的第二预设数量个所述数据点属于所述第二目标数据点对应的所述第一目标邻域;
重复所述第十确定步骤至少一次,直至确定所述第四点云数据中所有所述数据点对应的所述第一目标邻域。
4.根据权利要求3所述的方法,其特征在于,根据各所述数据点对应的所述第一目标邻域计算空间距离权重因子和特征保持因子并根据各所述数据点对应的所述第一目标邻域拟合得到对应的目标平面,包括:
第二计算步骤,将所述第二目标数据点和所述第二目标数据点对应的所述第一目标邻域中的所有数据点对应的所述目标坐标代入第一预设公式求解所述数据点对应的所述目标平面的拟合系数,根据所述拟合系数确定所述目标平面;
重复所述第二计算步骤至少一次,直至确定所述第四点云数据中所有的数据点对应的所述目标平面;
第三计算步骤,将所述第四点云数据中任意一个所述数据点确定为第二目标数据点,计算所述第二目标数据点与对应的所述第一目标邻域中的所有数据点之间的距离得到多个第四目标距离;
第四计算步骤,根据所述第四目标距离计算方差得到目标方差,根据所述第四目标距离计算均值得到第一目标均值,并根据所述第四目标距离确定第五目标距离和第六目标距离,所述第五目标距离为所述第四目标距离的最小值,所述第六目标距离为所述第四目标距离的最大值;
第五计算步骤,获取第二目标均值,在所述目标方差大于所述第二目标均值的情况下,将所述第五目标距离和所述第六目标距离代入第二预设公式计算所述空间距离权重因子,在所述目标方差小于所述第二目标均值的情况下,将各所述第四目标距离和所述第二预设数量代入第三预设公式计算所述空间距离权重因子,所述第二目标均值为各所述数据点对应的所述目标方差的均值;
第六计算步骤,将各所述第四目标距离、所述第一目标均值和所述第二预设数量代入第四预设公式计算所述特征保持因子;
依次重复所述第三计算步骤、所述第四计算步骤、第五计算步骤和第六计算步骤至少一次,直至得到所述第四点云数据中的所有数据点对应的所述空间距离权重因子和所述特征保持因子。
5.根据权利要求4所述的方法,其特征在于,根据所述空间距离权重因子、所述特征保持因子和所述目标平面通过双边滤波算法对所述第四点云数据进行过滤得到目标点云数据包括:
第七计算步骤,将所述第二目标数据点对应的任意一个所述第四目标距离和所述空间距离权重因子代入第五预设公式得到空间距离权重;
第八计算步骤,根据所述第四目标距离对应的所述数据点与所述第二目标数据点之间的向量和所述第二目标数据点对应的目标平面的法向量计算内积得到目标值,将所述目标值和所述特征保持因子代入第六预设公式得到特征保持权重;
依次重复所述第七计算步骤和所述第八计算步骤至少一次,直至得到所述第二目标数据点对应的所有所述空间距离权重和所述特征保持权重,将所述空间距离权重和所述特征保持权重代入第七预设公式计算双边滤波因子;
第九计算步骤,将所述第二目标数据点对应的所述目标坐标、所述法向量和所述双边滤波因子代入第八预设公式得到第三目标数据点;
第十计算步骤,计算所述第四点云数据中所有所述数据点对应的所述第三目标数据点得到所述目标点云数据。
6.一种激光点云数据的去噪装置,其特征在于,所述装置包括:
获取第一点云数据和目标半径,将所述第一点云数据进行分割得到多个第二点云数据,所述第一点云数据为通过激光雷达采对目标对象进行扫描得到的点云数据,多个所述第二点云数据与所述目标对象的部位一一对应;
根据所述第一点云数据通过KD tree算法对所述第一点云数据进行划分得到多个第三点云数据;
根据所述目标半径和所述第三点云数据通过DBSCAN算法依次对所述第二点云数据进行聚类得到第四点云数据;
基于所述第四点云数据确定所述第四点云数据中各数据点的第一目标邻域,根据各所述数据点对应的所述第一目标邻域计算空间距离权重因子和特征保持因子并根据各所述数据点对应的所述第一目标邻域拟合得到对应的目标平面;
根据所述空间距离权重因子、所述特征保持因子和所述目标平面通过双边滤波算法对所述第四点云数据进行过滤得到目标点云数据;第一计算单元包括:第三确定模块,用于执行第一确定步骤,基于所述第一点云数据中任意一个所述数据点为原点建立三维坐标系,并确定各所述数据点的三维坐标得到多个目标坐标;第四确定模块,用于执行第二确定步骤,基于所述目标坐标确定目标参数组,所述目标参数组包括所述目标坐标分别在x、y和z轴的中位数坐标;第五确定模块,用于执行第一分割步骤,根据所述目标参数组中的最大值将所述第一点云数据分为第五点云数据和第六点云数据,所述第五点云数据中包括对应所述目标坐标大于所述目标参数组中的最大值的数据点,所述第六点云数据中包括对应所述目标坐标小于所述目标参数组中的最大值的数据点;第六确定模块,用于第三确定步骤,根据所述第五点云数据和所述第六点云数据分别确定对应的所述目标参数组,并根据对应的所述目标参数组分别对所述第五点云数据和所述第六点云数据进行分割;第一重复模块,用于重复所述第三确定步骤至少一次直至迭代次数达到目标次数,根据所述第五点云数据或所述第六点云数据确定所述第三点云数据,一个所述第三点云数据中包括一个所述第五点云数据或所述第六点云数据中的所有所述数据点;第二计算单元包括:第七确定模块,用于执行第四确定步骤,将所述第二点云数据中任意一个所述数据点确定为第一目标数据点并将所述第一目标数据点所属的所述第三点云数据确定为目标第三点云数据;第八确定模块,用于执行第五确定步骤,根据所述目标第三点云数据和各所述第三点云数据确定第二目标距离和第三目标距离,所述第二目标距离为所述第三点云数据中的所述数据点与所述第一目标数据点之间所述第一目标距离的最大值,所述第三目标距离为所述第三点云数据中的所述数据点与所述第一目标数据点之间所述第一目标距离的最小值;第九确定模块,用于执行第六确定步骤,在所述第二目标距离小于或等于所述目标半径的情况下确定所述第三点云数据中的所有数据点属于所述第一目标数据点的第二目标邻域,在所述第三目标距离大于或等于所述目标半径的情况下确定所述第三点云数据中的所有数据点不属于所述第一目标数据点的第二目标邻域;第三计算模块,用于第一计算步骤,在所述第二目标距离大于所述目标半径且所述第三目标距离小于所述目标半径的情况下,确定所述第三点云数据中对应与所述第一目标数据点之间的所述第一目标距离小于或等于所述目标半径的所述数据点属于所述第一目标数据点的所述第二目标邻域;第十确定模块,用于执行第七确定步骤,在所述第一目标数据点的所述第二目标邻域中的所述数据点的数量大于或等于预设值的情况下,将所述第一目标数据点确定为目标核心点,将所述第二目标邻域中除所述第一目标数据点之外的所述数据点确定为目标边界点;第十一确定模块,用于执行第八确定步骤,将所述目标核心点与对应的所述目标边界点确定为备选聚类簇,在所述备选聚类簇中存在所述目标边界点为所述目标核心点的情况下将各所述目标核心点对应的所述备选聚类簇合并得到第一聚类簇,在所述备选聚类簇中不存在所述目标边界点为所述目标核心点的情况下将所述备选聚类簇确定为所述第一聚类簇;第二重复模块,用于依次重复所述第四确定步骤、所述第五确定步骤、所述第六确定步骤、所述第一计算步骤、所述第七确定步骤和所述第八确定步骤至少一次,直至确定所有所述第一聚类簇,将所有所述第一聚类簇中的所述数据点确定为所述第四点云数据。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至5中任意一项所述的方法。
8.一种雷达扫描系统,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410341995.1A CN117934324B (zh) | 2024-03-25 | 激光点云数据的去噪方法、装置和雷达扫描装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410341995.1A CN117934324B (zh) | 2024-03-25 | 激光点云数据的去噪方法、装置和雷达扫描装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117934324A CN117934324A (zh) | 2024-04-26 |
CN117934324B true CN117934324B (zh) | 2024-06-11 |
Family
ID=
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629367A (zh) * | 2012-01-17 | 2012-08-08 | 安徽建筑工业学院 | 基于KDTree的点云数据双边滤波去噪的方法 |
CN111985322A (zh) * | 2020-07-14 | 2020-11-24 | 西安理工大学 | 一种基于激光雷达的道路环境要素感知方法 |
WO2022199472A1 (zh) * | 2021-03-23 | 2022-09-29 | 长沙智能驾驶研究院有限公司 | 障碍物检测方法、车辆、设备及计算机存储介质 |
CN115222625A (zh) * | 2022-07-15 | 2022-10-21 | 桂林理工大学 | 一种基于多尺度噪声的激光雷达点云去噪方法 |
CN115421150A (zh) * | 2022-09-01 | 2022-12-02 | 中国船舶集团有限公司第七一一研究所 | 基于激光雷达点云数据的船岸距离计算方法及系统 |
CN115546522A (zh) * | 2022-01-14 | 2022-12-30 | 深圳元戎启行科技有限公司 | 运动目标的识别方法以及相关装置 |
WO2023024241A1 (zh) * | 2021-08-25 | 2023-03-02 | 中车株洲电力机车研究所有限公司 | 一种基于激光雷达点云的小障碍物检测方法及装置 |
CN116109601A (zh) * | 2023-02-20 | 2023-05-12 | 重庆邮电大学 | 一种基于三维激光雷达点云的实时目标检测方法 |
CN116359928A (zh) * | 2022-12-17 | 2023-06-30 | 浙江零跑科技股份有限公司 | 基于预置地图的终端定位方法和智能汽车 |
CN116469092A (zh) * | 2022-11-28 | 2023-07-21 | 宜昌测试技术研究所 | 基于DBSCAN算法的自适应Alpha Shapes轮廓提取方法 |
CN116486371A (zh) * | 2023-04-13 | 2023-07-25 | 潍柴动力股份有限公司 | 基于激光点云的障碍物检测方法和障碍物检测装置 |
CN116485674A (zh) * | 2023-04-24 | 2023-07-25 | 智道网联科技(北京)有限公司 | 激光点云数据的实时去噪方法、装置及电子设备、存储介质 |
CN117518189A (zh) * | 2023-12-15 | 2024-02-06 | 上海木蚁机器人科技有限公司 | 基于激光雷达的相机处理方法、装置、电子设备以及介质 |
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629367A (zh) * | 2012-01-17 | 2012-08-08 | 安徽建筑工业学院 | 基于KDTree的点云数据双边滤波去噪的方法 |
CN111985322A (zh) * | 2020-07-14 | 2020-11-24 | 西安理工大学 | 一种基于激光雷达的道路环境要素感知方法 |
WO2022199472A1 (zh) * | 2021-03-23 | 2022-09-29 | 长沙智能驾驶研究院有限公司 | 障碍物检测方法、车辆、设备及计算机存储介质 |
WO2023024241A1 (zh) * | 2021-08-25 | 2023-03-02 | 中车株洲电力机车研究所有限公司 | 一种基于激光雷达点云的小障碍物检测方法及装置 |
CN115546522A (zh) * | 2022-01-14 | 2022-12-30 | 深圳元戎启行科技有限公司 | 运动目标的识别方法以及相关装置 |
CN115222625A (zh) * | 2022-07-15 | 2022-10-21 | 桂林理工大学 | 一种基于多尺度噪声的激光雷达点云去噪方法 |
CN115421150A (zh) * | 2022-09-01 | 2022-12-02 | 中国船舶集团有限公司第七一一研究所 | 基于激光雷达点云数据的船岸距离计算方法及系统 |
CN116469092A (zh) * | 2022-11-28 | 2023-07-21 | 宜昌测试技术研究所 | 基于DBSCAN算法的自适应Alpha Shapes轮廓提取方法 |
CN116359928A (zh) * | 2022-12-17 | 2023-06-30 | 浙江零跑科技股份有限公司 | 基于预置地图的终端定位方法和智能汽车 |
CN116109601A (zh) * | 2023-02-20 | 2023-05-12 | 重庆邮电大学 | 一种基于三维激光雷达点云的实时目标检测方法 |
CN116486371A (zh) * | 2023-04-13 | 2023-07-25 | 潍柴动力股份有限公司 | 基于激光点云的障碍物检测方法和障碍物检测装置 |
CN116485674A (zh) * | 2023-04-24 | 2023-07-25 | 智道网联科技(北京)有限公司 | 激光点云数据的实时去噪方法、装置及电子设备、存储介质 |
CN117518189A (zh) * | 2023-12-15 | 2024-02-06 | 上海木蚁机器人科技有限公司 | 基于激光雷达的相机处理方法、装置、电子设备以及介质 |
Non-Patent Citations (3)
Title |
---|
保持特征的散乱点云数据去噪;崔鑫;闫秀天;李世鹏;;光学精密工程;20171215(第12期);全文 * |
基于混合滤波和DBSCAN的点云去噪算法;杨洋;李明;;计量与测试技术;20200430(04);全文 * |
结合统计滤波与密度聚类的矿山地面点云提取算法;杨鹏;刘德儿;刘靖钰;张荷苑;;激光与光电子学进展;20201231(第02期);全文 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115222625A (zh) | 一种基于多尺度噪声的激光雷达点云去噪方法 | |
CN112785710B (zh) | Osgb三维模型建筑物快速单体化方法、系统、存储器及设备 | |
CN112669463A (zh) | 三维点云的曲面重建方法、计算机设备和计算机可读存储介质 | |
CN111275633A (zh) | 基于图像分割的点云去噪方法、系统、装置和存储介质 | |
Papagiannopoulos et al. | How to teach neural networks to mesh: Application on 2-D simplicial contours | |
CN111652855A (zh) | 一种基于存活概率的点云精简方法 | |
CN113177897A (zh) | 一种无序3d点云的快速无损滤波方法 | |
CN115546440A (zh) | 一种曲面重建方法、装置、设备及存储介质 | |
CN106683105B (zh) | 图像分割方法及图像分割装置 | |
CN110991534A (zh) | 点云数据处理方法、装置、设备及计算机可读存储介质 | |
CN117934324B (zh) | 激光点云数据的去噪方法、装置和雷达扫描装置 | |
CN115147433A (zh) | 点云配准方法 | |
CN113052892A (zh) | 一种车辆货物体积计算方法、装置及存储介质 | |
CN117934324A (zh) | 激光点云数据的去噪方法、装置和雷达扫描装置 | |
CN106934853A (zh) | 一种基于点云模型的汽车工件表面法向量的求取方法 | |
CN115131384B (zh) | 基于边缘保持的仿生机器人3d打印方法、装置及介质 | |
CN106373192A (zh) | 一种非拓扑一致性三维网格块体追踪算法 | |
CN115511731A (zh) | 一种噪声处理方法和噪声处理设备 | |
CN114463512B (zh) | 点云数据的处理方法、矢量化方法及装置 | |
Iglesias et al. | A bat algorithm for polynomial Bezier surface parameterization from clouds of irregularly sampled data points | |
Vetsch et al. | Neuralmeshing: Differentiable meshing of implicit neural representations | |
Yang et al. | Developing a semantic-driven hybrid segmentation method for point clouds of 3D shapes | |
CN113744323A (zh) | 点云数据处理方法和装置 | |
Kalayeh et al. | Adaptive relaxation labeling | |
CN106652048B (zh) | 基于3d-susan算子的三维模型感兴趣点提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |