HTML
-
本文中的算法,需要设定的参量只有k,k表示选取临近点的数目,k值大小的意义在于点密度的衡量标准。k值很小, 话点密度由最近的较少点决定,增加了特殊值出现的情况,如某个信号点恰好周围最近的几个点较稀疏,或者某个噪声点最近的几个点距离很近等;k值很大, 会使信号点与噪声点的密度分割线较为模糊,虽然可以额外保留分布特殊的信号点,但也容易保留较多的噪声点。
本文中的数据来源是美国NASA提供的MABEL实际飞行数据,目标区域是位于美国加州Sierras-Forest地区,采用2010年12月飞行试验的532nm波段第50通道的观测数据进行实验。坐标转化后的数据总共有169511个点,其中噪声数据点有123280个,目标点云有46231个。
本文中选取不同k值代入算法进行运算,去噪后的点云数据如表 1所示。
k 8 12 16 25 38 50 70 100 noise point 7309 5592 5309 7205 8064 9411 9859 11044 signal point 40008 40575 40867 42741 42231 42674 42283 42822 Table 1. Point cloud data after denoising
此外还借助2个参考标准衡量k值对去噪结果的影响。一个是滤波精度N,其公式如下:
式中,Nc表示正确区分的信号点数目,Nt表示信号点总数。滤波精度N主要描述了点云正确识别率,但没有考虑噪声的影响。基于此,本文中还采用交并比U来描述信号点与噪声点的关系,公式如下:
式中, A表示实际信号点云数据集,B表示去噪后点云数据集,(A∩B)表示的是去噪后保留的点云数,(A∪B)表示的是实际信号点云数据和去噪后保留的噪声数据之和。一般来说,在计算机检测任务中,U>0.5的结果就是可以接受的,U越大,则点云图的质量也就越好。具体数据如表 2所示。
k 8 12 16 25 38 50 70 100 N/% 86.6 87.8 88.4 92.5 91.2 92.3 91.5 92.6 U/% 74.7 78.3 79.3 80.0 77.8 76.7 75.4 74.8 Table 2. The relationship between k value and N, U
从表 1可知,k值和去噪后的信号点和噪声点数目均呈正相关,这和上面对k值的分析相符。由表 2可知,随着k值的增长,N的增长率逐渐接近于0,而U却逐渐降低,表明噪声点的增长率大于信号点的增长率,继续增大k值得不偿失。总体上来看,U保持在75%~80%左右,表明k值的适当选取对点云图质量影响不是很大,符合本文中算法参量自适应的要求。
-
由第3节中分析可知,本文中的算法参量具有参量自适应强的特点,k值对最终结果的影响并不是很大,因此令k=23,首先将数据由大地坐标系转换到空间直角坐标系,并将坐标系原点平移到数据最小处,然后应用本文中的算法进行去噪。去噪后,剩余噪声点为6290个,保留的目标点为41733个,滤波精度N=90.27%,交并比U=79.5%。
图 3是坐标转换且进行平移后的原始数据。其中黑色是噪声,细线是山脉。从图中可以看出, 噪声点的数量远大于信号点数量。图 4是粗去噪的结果。从图中可以看出,大量的噪声点已经被去掉,可以近似看出山脉的轮廓。图 5和图 6是精去噪的结果图。其中图 5是利用改进DBSCAN算法进行二次去噪后的结果,图中极大部分明显的团状噪声点已经被去除。图 6是应用统计滤波处理后的最终去噪结果,目标主体附近的离散噪声点云也有了明显的去除。图 7是部分放大后的场景图。从中可以看出,目标细节有了更多的保留,山坡上的树木也可以分辨。
-
半径滤波算法也是常用的滤波算法,其原理是假定数据集中每一个点在给定的半径r内至少存在k个点,符合假定条件的作为信号点保存下来,不符合条件的作为噪声点除去,其中半径r以及数值k由人工指定。为了优化结果,事先选取数值k=30,半径r在密度阈值附近多个范围内取值,观察不同参量下的半径滤波结果,并与本文中去噪算法结果进行比较。
在k=30时,计算出的r=21。由于r值越大,保留的噪声点就越多,因此对于参量r主要选取小于21的值。令r为3, 6, 9, 12, 15, 18, 21和24,去噪后数据如表 3所示,去噪效果较好的结果如图 8所示。
r 3 6 9 12 15 18 21 24 signal point 9542 32291 40673 44049 45481 45990 46165 46198 noise point 29 1522 5652 10425 19011 31771 44969 58410 U/% 20.62 67.62 78.39 77.74 69.71 58.96 50.61 44.14 Table 3. Radius filtering data
结合图 8和表 3可以发现,在不同的参量下,半径滤波的结果起伏非常大。半径滤波的准确性建立在较为苛刻的先验知识上,需要人为地设定参量,不具备普遍适用性,最好的参量情况下,其结果达到78.39%。
参考文献[12]中提出的去噪算法也采用滤波精度作为衡量算法的指标,该文献中滤波精度分别达到90.26%以及96.11%。本文中算法在输入参量k>20后,其滤波精度均达到90%左右,点云去噪结果较好,且可选参量范围较广,突出本文中算法参量自适应能力强的特点。