基于改进邻域搜索的统计和双边滤波点云去噪方法

文档序号:28917145发布日期:2022-02-16 11:36阅读:269来源:国知局
基于改进邻域搜索的统计和双边滤波点云去噪方法

1.本发明属于3d点云数据处理技术领域,具体涉及一种基于改进领域搜索的统计和双边滤波的点云去噪方法。


背景技术:

2.随着三维重建技术的发展,3d点云数据在重建过程中得到越来越广泛的应用。而非接触式的点云数据采集方法因其高精度和高分辨率以及采样速度,在人工智能、工业生产、医学等领域有着非常重要的应用。利用三维激光扫描设备得到的点云数据呈现出无序散乱的状态,另外由于目标对象表面粗糙度、设备精度、环境光照等因素的影响,获得的3d点云不可避免地受到噪声点的影响。噪声点严重影响不仅会严重影响后续的特征提取及匹配、重构精度及点云数据识别率的高低。因此,去除点云数据中的噪声点,同时获得完整可用的点云一直是人们研究的重点。
3.对于无序点云或者部分有序点云,去噪相关的滤波算法也有很多。统计滤波算法是通过计算点到其k邻域内点云间的平均距离的计算,在一定范围之外点,可以视为离群点剔除,但是对于点云内部的小尺度噪声不能很好的去除。双边滤波主要是使点云的数据点沿着法向量向其边缘移动,这样能够去除一些点云内部噪声,使其向表面移动同时增强边缘信息,以此来平滑噪声。但是对离群孤立噪声点的去噪效果并不好。另外,传统统计滤波算法在对点云邻域搜索时,利用空间上的栅格化进行搜索,计算量大、搜索速率慢。


技术实现要素:

4.本发明的目的是,提供一种基于改进邻域搜索的统计和双边滤波点云去噪方法,该方法将点云数据投影到平面并进行网格划分,在相邻的9个矩形进行搜索,这样解决了传统统计滤波算法搜索邻域速度慢、计算量大的问题,以及仅仅使用统计滤波或者双边滤波时,对于不同尺度的噪声点不能够较好去除的局限的问题。
5.为了实现上述目的,本发明采用如下技术方案予以解决:
6.一种基于改进邻域搜索的统计和双边滤波点云去噪方法,具体包括以下步骤:
7.步骤1,利用基于改进领域搜索的统计滤波算法对点云数据进行处理,得到处理后的点云数据:包括如下子步骤:
8.步骤1.1,根据点云数据中大尺度离群噪声点的分布情况,选择侧视图或者俯视图的投影方向,获得点云二维平面投影图;
9.步骤1.2,在点云二维平面投影图中对点云数据进行网格划分,得到多个矩形;
10.步骤1.3,若p点所在矩形的点的个数小于该点所在矩形的所有相邻矩形内的点的个数总和,则将p点作为离群点剔除;
11.步骤1.4,计算任意点p与其所在矩形的相邻矩形内的所有点的平均距离;
12.步骤1.5,对步骤1.3得到的全体点云数据中的每个点,计算平均距离μ和标准差σ:
13.步骤1.6,根据平均距离μ和标准差σ,利用公式4计算得到最大阈值d
max
,比较每个
点与其所在矩形的相邻矩形内的所有点的平均距离与最大阈值d
max
,将超过最大阈值的点作为离群噪声点去除;
14.步骤2,对步骤1得到的处理后的点云数据进行双边滤波,得到滤波后的点云数据,包括如下子步骤:
15.步骤2.1,对于步骤1得到的处理后的点云数据,搜索得到每个数据点pi的k邻域的集合nk(pi),估算得到每个数据点pi的法向量;
16.步骤2.2,计算得到高斯核函数wc(x)和ws(y);
17.步骤2.3,根据高斯核函数wc(x)和ws(y),计算双边滤波因子λ;
18.步骤2.4,计算双边滤波后的数据点,利用得到的数据点对步骤1得到的点云数据中的对应点进行更新,直到更新所有的数据点。
19.进一步的,所述步骤1.4中,采用利用公式(1)计算任意点p与其所在矩形的相邻矩形内的所有点的平均距离dk;
[0020][0021]
其中,dj为任意点p到其所在矩形的相邻矩形内的每个点的距离,k为点p所在矩形的所有相邻矩形内的点的个数的总和。
[0022]
进一步的,所述步骤1.5中,利用公式2和公式3计算平均距离μ和标准差σ:
[0023][0024][0025]
其中,n为步骤1.3得到的点云数据总数,实施例中n=1920040;d
ki
为第i个点与其所在矩形的相邻矩形内的所有点的平均距离,由步骤1.4获得。
[0026]
进一步的,所述步骤1.6中,利用公式4计算得到最大阈值d
max

[0027]dmax
=μ+α
×
σ
ꢀꢀ
(4)
[0028]
其中,α为比例系数,α=0.1。
[0029]
进一步的,所述步骤2.1中,利用kdtree邻域搜索得到每个数据点pi的k邻域的集合nk(pi);
[0030]
通过基于主元分析方法估算得到每个数据点pi的法向量;操作具体如下:
[0031]
利用公式5构建协方差矩阵c,并计算协方差矩阵c的最小特征根λ对应的特征向量v,并将其作为数据点pi的法向量的近似估计。
[0032][0033]
其中,ps为步骤1得到的处理后的点云数据中的任一点,ps为数据点pi的k邻域中的任一点,k为点p的k邻域中的点的个数。
[0034]
进一步的,所述步骤2.2中,由公式6和公式7计算得到高斯核函数wc(x)和ws(y)。它们分别对应着空间域来控制光顺平滑和频域来控制边缘保持;
[0035][0036]
其中,σc是控制点云平滑光顺的参数,取为被测点k邻域的半径;
[0037][0038]
其中,σs是控制点云特征保持的参数,取为被测点的邻域点的标准偏差。
[0039]
进一步的,所述步骤2.3中,利用公式8计算双边滤波因子λ:
[0040][0041]
其中,pj为pi的k邻域中的任一点,ni,nj分别为点pi和点pj的法向量。
[0042]
进一步的,利用公式9计算双边滤波后的数据点:
[0043]
p
l
=pi+λniꢀꢀ
(9)
[0044]
其中,pi为步骤1处理后得到的点云数据中的第i个点,λ是双边滤波因子,ni是该点的法向量,p
l
是更新后的数据点。
[0045]
相较于现有技术,本发明的有益效果如下:
[0046]
与传统统计滤波算法的邻域搜索方法相比,本发明的方法的计算量明显降低,搜素速率加快;与双边滤波算法结合处理点云数据,不仅去除了大尺度离群的噪音点,还去除了点云内部的小尺度噪声点,解决了两种算法单独使用的局限性。
附图说明
[0047]
图1是本发明实施例中点云数据原始图;
[0048]
图2是本发明实施例中经过基于改进邻域搜索中的点云侧视图;
[0049]
图3是本发明实施例中经过基于改进邻域搜索的统计滤波算法的去噪效果图;
[0050]
图4是本发明实施例中经过双边滤波算法的去噪效果图;
[0051]
图5是本发明实施例中经过基于改进邻域搜索的统计和双边滤波算法的去噪效果图。
具体实施方式
[0052]
下面结合附图和具体实施方式对本发明进行详细说明。
[0053]
本发明基于改进邻域搜索的统计和双边滤波点云去噪方法,如图1所示,具体按照以下步骤实施:
[0054]
步骤1,利用基于改进领域搜索的统计滤波算法对点云数据进行处理,得到处理后的点云数据,具体按照以下步骤实施:
[0055]
步骤1.1,根据点云数据中大尺度离群噪声点的分布情况,选择侧视图或者俯视图的投影方向,获得点云二维平面投影图,如图2所示。
[0056]
步骤1.2,在点云二维平面投影图中对点云数据进行网格划分,得到多个矩形;
[0057]
由上,对点云数据进行网格划分得到矩形后,在搜索点云数据中任意点的k邻域点
时,就可以在该点所在矩形或其相邻矩形内共9个矩形进行搜索,相较于传统的空间内进行邻域搜索,计算量降低且效率明显提高。
[0058]
步骤1.3,若任意点p所在矩形的点的个数小于该点所在矩形的所有相邻矩形内的点的个数总和,则将p点作为离群点剔除;
[0059]
步骤1.4,利用公式(1)计算任意点p与其所在矩形的相邻矩形内的所有点的平均距离dk;
[0060][0061]
其中,dj为任意点p到其所在矩形的相邻矩形内的每个点的距离,k为点p所在矩形的所有相邻矩形内的点的个数的总和;
[0062]
步骤1.5,对步骤1.3得到的全体点云数据中的第i个点,分别利用公式2和公式3计算平均距离μ和标准差σ:
[0063][0064][0065]
其中,n为步骤1.3得到的点云数据总数,实施例中n=1920040;d
ki
为第i个点与其所在矩形的相邻矩形内的所有点的平均距离,由步骤1.4获得;
[0066]
步骤1.6,根据平均距离μ和标准差σ,利用公式4计算得到最大d
max
,比较每个点与其所在矩形的相邻矩形内的所有点的平均距离与最大阈值d
max
,将超过最大阈值的点作为离群噪声点去除;
[0067]dmax
=μ+α
×
σ
ꢀꢀ
(4)
[0068]
其中,α为比例系数,α=0.1。
[0069]
经过步骤1的改进邻域搜索的统计滤波算法得到处理后的点云数据,能够过滤掉大尺度离群点,如图3所示,对比原始点云可以看到,大尺度离群点已经被快速过滤,并且点云的边缘信息得到了很好的保留。
[0070]
步骤2,为了得到满意的点云数据,对步骤1得到的处理后的点云数据进行双边滤波,得到滤波后的点云数据。具体按照以下步骤实施:
[0071]
步骤2.1,对于步骤1得到的处理后的点云数据,利用kdtree邻域搜索得到每个数据点pi的k邻域的集合nk(pi),通过基于主元分析方法(pca)估算得到每个数据点pi的法向量;主元分析方法的操作具体如下:
[0072]
利用公式5构建协方差矩阵c,并计算协方差矩阵c的最小特征根λ对应的特征向量v,并将其作为数据点pi的法向量的近似估计。
[0073][0074]
其中,ps为步骤1得到的处理后的点云数据中的任一点,ps为数据点pi的k邻域中的任一点,k为点p的k邻域中的点的个数;
[0075]
步骤2.2,由公式6和公式7计算得到高斯核函数wc(x)和ws(y)。它们分别对应着空间域来控制光顺平滑和频域来控制边缘保持;
[0076][0077]
其中,σc是控制点云平滑光顺的参数,取为被测点k邻域的半径。其反映了双边滤波在距离空间中的占比,其值越大则点云越平滑。
[0078][0079]
其中,σs是控制点云特征保持的参数,取为被测点的邻域点的标准偏差。其表示法向量角度对双边滤波的影响,其值越大,则表明对边缘特性保持越好。
[0080]
步骤2.3,根据高斯核函数wc(x)和ws(y),利用公式8计算双边滤波因子λ:
[0081][0082]
其中,pj为pi的k邻域中的任一点,ni,nj分别为点pi和点pj的法向量;
[0083]
步骤2.4,利用公式9计算双边滤波后的数据点,利用得到的数据点对步骤1得到的点云数据中的对应点进行更新,直到更新所有的数据点:
[0084]
p
l
=pi+λniꢀꢀ
(9)
[0085]
其中,pi为步骤1处理后得到的点云数据中的第i个点,λ是双边滤波因子,ni是该点的法向量,p
l
是更新后的数据点。
[0086]
由上,步骤2对步骤1得到的点云数据进行双边滤波,效果如图5所示,可以看到,一些干扰在点云内部的小尺度噪音得到了较好的去除,并且点云边缘更加平滑,得到了比较满意的效果。
[0087]
为了验证本发明的方法的有效性,选取20个不同的点云数据集进行对比处理。
[0088]
由表1可以看到,对比仅仅使用传统滤波算法或双边滤波算法,不能够对小尺度和大尺度的点云噪声同时去除,本发明方法的效果明显优于这两种算法,例如比传统的统计滤波算法速率平均提高了1.25s。
[0089]
表1本发明中的统计滤波与传统的统计滤波的时长对比
[0090][0091]
由表2可以看出,相较于传统的统计滤波和双边滤波方法,本发明的方法的去噪效果比统计滤波平均提高了10.4%,比双边滤波算法去噪效果平均提高了6.3%。
[0092]
表2本发明的方法与统计滤波及双边滤波的滤波后点数对比
[0093]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1