APP下载

层次化点云去噪算法

2020-08-05赵夫群周明全

光学精密工程 2020年7期
关键词:碎块云中张量

赵夫群,周明全

(1.西安财经大学 信息学院,陕西 西安 710010;2.西北大学 信息科学与技术学院,陕西 西安 710127)

1 引 言

三维激光扫描技术是获取物体空间点云数据信息的重要手段之一,并在多种领域发挥着重要的作用[1-4]。但是受仪器测量误差、物体反射、遮挡、光照以及环境变化等因素的影响,扫描获取的初始点云数据模型中往往含有大量的噪声点。这些噪声点的数量越多,密度越大,对点云质量的影响也就越大,因此需要采取合适的去噪算法将其加以删除。

近年来,国内外学者对点云去噪算法进行了较为深入地研究。Polat N等[5]提出一种LiDAR数据去噪算法,该算法性能可以根据地区地形特征的变化而变化,可以有效滤除非地面点,是一种有效的点云去噪算法;徐少平等[6]提出一种基于卷积神经网络的去噪算法,该算法首先通过训练卷积神经网络模型构成NLAF特征矢量,然后利用增强的BP(Back Propagation)神经网络预测模型将NLAF特征矢量映射为噪声水平值,最后以估计值的中值作为噪声水平值的最终估计结果,该去噪算法具有较高的准确性和执行效率;Xu Z等[7]提出一种基于局部坐标系下多个各向异性估计的点云去噪算法,该估计对点云表面的形状保持具有自适应性,既可保持点云尖锐的特征点,也可以保留点云中的光滑区域;赵凯等[8]提出一种基于栅格划分的点云离群噪声点去除算法,该算法通过对点云进行体素栅格划分降低了点在邻域中的搜索范围,有效分离了目标点云和离群点,加快了点云处理的效率。

为了在去噪同时有效保持点云的几何特征信息,进一步提高点云去噪的精度和速度,本文提出一种层次化的点云去噪算法。首先计算点云中的点及其邻域点的张量投票矩阵,并计算该矩阵的特征值和特征向量;然后利用各向异性滤波方程对点云进行光顺处理,实现点云初始去噪;最后计算点云的曲率特征,根据曲率值进一步删除点云中的噪声点,并通过计算点云熵值对算法定量评价。

2 基于张量投票的初始去噪

点云P={pi}(i=1,2,…,NP,NP表为点云P中点的数目)上任意一点pi都可以表示为一个3×3的对称半正定矩阵。假设Nk(pi)为点pi的k个邻域点集,那么点pi及其邻域点集Nk(pi)的张量投票矩阵T为[9]:

(1)

本文通过建立张量矩阵T和点云中点的几何特征的关系来实现点云初始粗去噪。 假设λ1,λ2,λ3表示张量矩阵T的三个特征值,并且满足λ1≥λ2≥λ3,e1,e2,e3表示三个特征值λ1,λ2,λ3对应的特征向量。那么,由点的几何特征与张量投票矩阵特征值的分布的关系可知:当λ1≥λ2≈λ3≈0时,点pi为点云中的点;当λ1≈λ2≥λ3≈0时,点pi为点云边界上的点;当λ1≈λ2≈λ3≥0时,点为点云上的角点或孤立点。

基于张量投票和点的几何特征的关系,该点云初始粗去噪算法的基本步骤描述如下:

Step 1:对于噪声点云P={pi},首先利用KD tree算法搜索点pi的k个最近邻域点集Nk(pi);

Step 2:利用式(1)计算点pi及其邻域点集Nk(pi) 的张量投票矩阵T,并求解T的特征值λ1,λ2,λ3和特征向量e1,e2,e3;

Step 3:根据λ1,λ2,λ3和e1,e2,e3构造扩散张量矩阵D,D定义为:

(2)

式中Dij(1≤i,j≤3)定义为:

(3)

式中参数μ1,μ2,μ3分别定义为:

μ1=α,

(4)

(5)

(6)

Step 4:基于扩散张量D,利用各向异性扩散方程[10]对点云进行循环滤波去噪,直到滤波次数的值大于给定阈值时为止。各向异性滤波方程的定义式为:

(7)

式中:Jp是点云的结构张量,其表示点云的局部信息特征;D是扩散张量,其特征值代表点云在三个主特征方向上的扩散速率,I0(x,y,z)是初始输入的点云数据。

从上述基于张量投票的点云去噪算法可见,结构张量可以保留点云的局部信息特征,尤其是点云的尖锐几何特征,有效剔除点云中的大尺度噪声(距离主体点云较远的噪声)和部分混杂在主体点云中的小尺度噪声,从而实现点云的初始粗去噪。接下来采用基于曲率特征的去噪算法进一步去除混在主体点云中的其余的噪声。

3 基于曲率特征的精确去噪

在对点云进行进一步精确去噪时,主要是去除点云主体中混杂的小尺度噪声,本文通过提取曲率几何特征来实现点云小尺度噪声的精确去噪。点云的曲率能够较好地反映点云的表面特征,它可以通过在离散点集拓扑结构的基础上进行曲面拟合计算得到。本文通过搜索点云中各离散点的k邻域点来建立点云的拓扑结构,可以有效提高空间分布不均匀的海量离散点集的空间搜索效率。

3.1 计算曲率

BY=D,

(8)

(9)

式中h是一个距离常数。

建立如式(10)所示的约束准则,即:

(10)

由式(10)约束准则可得:

BTQBY=0,

(11)

(12)

3.2 精确去噪算法

由于点云表面不同点的曲率各不相同,结合以上点云中点的曲率和法向量计算方法,基于曲率特征的点云精确去噪步骤具体描述如下:

Step 3:判断每点曲率,若大于给定阈值ε,则判断该点为噪声点,将其删除。

通过上述步骤即可实现点云噪声的最终精确删除。

目前已有点云去噪算法大多缺少对去噪结果的定量评价,为了描述去噪算法对点云特征的保持程度,本文采用信息熵理论[13]对点云去噪结果进行定量评价。信息熵理论可以描述去噪后点云的特征信息,点云中某点的熵值越大,表明该点的信息量越大,细节表现越精确。

定义点云中某点的信息熵Hi为:

(13)

那么,点云P′的熵H为:

(14)

通常,点云熵值H越大,其所包含的特征信息量就越大,对点云的细节表现就越精确。

4 实验结果与分析

4.1 公共点云去噪

在公共点云数据去噪实验中,采用网络上公开的Bunny和Dragon点云数据模型,通过对其进行加噪来验证本文去噪算法,加噪的公共点云模型如图1所示。对于图1的公共点云噪声模型,采用本文提出的层次化点云去噪算法进行去噪,首先采用基于张量投票的去噪算法进行初始粗去噪,粗去噪结果如图2所示;然后采用基于曲率的去噪算法进行精确去噪,最终去噪结果如图3 所示。实验中,参数k的值取16,具体取值跟点云类型和密度等有一定的关系,密度越大,取值越小,通常建议取值在8~28之间。

(a)加噪Bunny(a)Noisy Bunny

(b)加噪Dragon(b)Noisy Dragon图1 待去噪公共点云模型Fig.1 Common point cloud model to be denoised

(a)Bunny去噪结果(a)Bunny denoising result

(b)Dragon去噪结果(b)Dragon denoising result图2 本文算法对公共点云的粗去噪结果Fig.2 Coarse denoising results of public point clouds with proposed algorithm

(a)Bunny去噪结果(a)Bunny denoising result

(b)Dragon去噪结果(b)Dragon denoising result图3 本文算法对公共点云的精确去噪结果Fig.3 Fine denoising results of public point clouds with proposed algorithm

从图2和图3的去噪结果可见,基于张量投票的去噪算法可以有效剔除公共点云中的大尺度噪声和部分小尺度噪声,实现点云的初始粗去噪。而基于曲率的去噪算法可以对点云中的小尺度噪声进行进一步地精确提出。同时,本文算法可以较好地保留公共点云模型的原始几何特征,是一种有效的点云去噪算法。

为了进一步验证本文去噪算法的性能,对图1的公共点云噪声模型再分别采用文献[14]、文献[15]和文献[7]的算法进行去噪,去噪结果分别如图4、图5、图6和表1所示。

(a)Bunny去噪结果(a)Bunny denoising result

(b)Dragon去噪结果(b)Dragon denoising result图4 文献[14]算法对公共点云的去噪结果Fig.4 Denoising results of public point clouds with reference [14] algorithm

(a)Bunny去噪结果(a)Bunny denoising result

(b)Dragon去噪结果(b)Dragon denoising result图5 文献[15] 算法对公共点云的去噪结果Fig.5 Denoising results of public point clouds with reference [15] algorithm

(a)Bunny去噪结果(a)Bunny denoising result

(b)Dragon去噪结果(b)Dragon denoising result图6 文献[7]算法对公共点云的去噪结果Fig.6 Denoising results of public point clouds with reference [7] algorithm

从图3、图4、图5和图6的去噪结果可见,本文算法在对点云数据去噪的同时能够更好地保留原始细节特征,算法具有更高的可行性。从表1算法的运行参数可见,本文算法的误差最小,耗时最短,而且熵值较文献[14]算法、文献[15]算法和文献[7]算法都要大,因此本文算法是一种更加精确快速的点云模型去噪算法。

表1 不同算法对公共点云的去噪结果Tab.1 Denoising results of different algorithms forpublic point clouds

4.2 文物点云去噪

在文物点云模型的去噪实验中,采用了5个含噪声的陶质文物碎块的点云数据模型来验证本文算法,如图7所示。利用本文提出的层次化点云去噪算法,首先采用基于张量投票的去噪算法对文物碎块的点云模型进行初始粗去噪,粗去噪结果如图8所示;然后基于粗去噪的结果,采用基于曲率的去噪算法进行精确去噪,最终去噪结果如图9所示。实验中,参数k的值取16。

从图8和图9的去噪结果可见,基于张量投票的去噪算法可以有效剔除公共点云中的大尺度噪声和部分小尺度噪声,实现点云的初始粗去噪。而基于曲率的去噪算法可以对点云中的小尺度噪声进行进一步的精确提出。同时,本文去噪算法在对文物点云数据模型去噪的同时,能够较好地保留模型的原始几何特征信息,是一种有效的文物点云模型去噪算法。

为了进一步验证本文去噪算法的性能,对图7 所示的文物碎块点云模型再分别采用文献[14]算法、文献[15]算法和文献[7]算法分别进行去噪处理,其去噪结果分别如图10、图11、图12和表2所示。

(a)碎块1(a)Fragment 1

(b)碎块2(b)Fragment 2

(c)碎块3(c)Fragment 3

(d)碎块4(d)Fragment 4

(e)碎块5(e)Fragment 5

(a)碎块1(a)Fragment 1

(b)碎块2(b)Fragment 2

(c)碎块3(c)Fragment 3

(d)碎块4(d)Fragment 4

(e)碎块5(e)Fragment 5图8 本文算法对文物点云的初始去噪结果Fig.8 Initial denoising results of cultural relics point clouds with the proposed algorithm

(a)碎块1(a)Fragment 1

(b)碎块2(b)Fragment 2

(c)碎块3(c)Fragment 3

(d)碎块4(d)Fragment 4

(e)碎块5(e)Fragment 5图9 本文算法对文物点云的精确去噪结果Fig.9 Accurate denoising results of cultural relics point clouds with the proposed algorithm

(a)碎块1(a)Fragment 1

(b)碎块2(b)Fragment 2

(c)碎块3(c)Fragment 3

(d)碎块4(d)Fragment 4

(a)碎块1(a)Fragment 1

(b)碎块2(b)Fragment 2

(c)碎块3(c)Fragment 3

(d)碎块4(d)Fragment 4

(e)碎块5(e)Fragment 5图11 文献[15]算法对文物点云的去噪结果Fig.11 Denoising results of cultural relics point clouds with reference [15] algorithm

(a)碎块1(a)Fragment 1

(b)碎块2(b)Fragment 2

(c)碎块3(c)Fragment 3

(d)碎块4(d)Fragment 4

(e)碎块5(e)Fragment 5图12 文献[7]算法对文物点云的去噪结果Fig.12 Denoising results of cultural relics point clouds with reference [7] algorithm

表2 不同算法对文物点云的去噪结果Tab.2 Denoising results of different algorithms for cultural relic point clouds

从图9、图10、图11、图12的去噪结果可见,本文算法在对点云数据去噪的同时能够更好地保留原始细节特征,算法具有更高的可行性。从表2的算法运行参数同样可见,本文算法的去噪平均误差最低,耗时最短,而且熵值较文献[14]算法、文献[15]算法和文献[7]算法都要大,包含的特征信息量更大,对点云的细节表现更加精确。因此说,本文算法是一种精度高、速度快,且能有效保持点云几何特征信息的有效点云去噪算法。

5 结 论

点云去噪是点云预处理的一个重要环节,有效的点云去噪算法应该在去噪的同时能够保持原始点云数据的几何特征信息,并且算法具有较低的复杂度和较高的执行效率。本文提出一种层次化的点云去噪算法,首先采用基于张量投票的去噪算法对点云进行初始粗去噪,然后采用基于曲率特征的去噪算法对点云进行精确去噪,该算法对公共点云和文物点云数据模型均具有良好的去噪效果,是一种有效的点云去噪算法。

猜你喜欢

碎块云中张量
基于内表面特征的碗状碎块匹配方法
阿来《云中记》的死亡言说及其反思
希腊遗址
定义在锥K上的张量互补问题解集的性质研究*
偶数阶张量core逆的性质和应用
四元数张量方程A*NX=B 的通解
一类结构张量方程解集的非空紧性
“一个人”的村庄:阿来《云中记》解读
云中歌
云中笛音