1.一种各项异性扩散滤波的三维散乱点云平滑去噪方法,其特征在于该方法包括以下步骤:
步骤1,输入三维散乱点云数据P={p1,...,pn},pi为其中的一个采样点,确定其邻域点个数k;
步骤2,运用K-D树算法搜索邻域点:设邻域点集Ni={pi1,pi2,pi3,...,pik},i=1,2,...,n,k≤n;
步骤3,对采样点和邻域点进行张量投票,得到结构张量矩阵T,采样点pi和其邻域点集Ni进行张量投票得到的结构张量矩阵T如式(1)所示:
T = Σ k ∈ N i μ k ( T 3 - υ → k υ → k T | | υ → k υ → k T | | ) - - - ( 1 ) ]]>
其中T3为3×3的位矩阵,为采样点pi与其邻域点pik连线的方向向量,σ为自定义参数;结构张量矩阵T的特征值和特征向量的表示形式如式(2)所示:
T = Σ i = 1 3 λ i e i e i T = e 1 e 2 e 3 λ 1 0 0 0 λ 2 0 0 0 λ 3 e 1 T e 2 T e 3 T - - - ( 2 ) ]]>
式中,λ1,λ2,λ3分别代表了采样点的结构张量矩阵T的3个不同的特征值,令λ1≥λ2≥λ3≥0,e1,e2,e3分别代表了不同特征值对应的特征向量,同时也代表了采样点的三个主特征方向;
步骤4,构造扩散张量矩阵D:扩散张量矩阵D为3×3的对称矩阵,如式(3)所示:
D = D 11 D 12 D 13 D 21 D 22 D 23 D 31 D 32 D 33 - - - ( 3 ) ]]>
扩散张量矩阵D的特征值和特征向量的表示形式如式(4)所示:
D = u 1 e 1 e 1 T + u 2 e 2 e 2 T + u 3 e 3 e 3 T - - - ( 4 ) ]]>
扩散张量矩阵D的特征向量和结构张量矩阵T的特征向量相同都为e1、e2和e3,所以只需要根据点云的方向结构特征设计相应的特征值u1,u2,u3,并且u1,u2,u3的值都属于[0,1];
步骤5,为了区分采样点的结构张量矩阵T的特征值的大小定义了采样点的相干系数,如式(5)所示:
k 12 = ( λ 1 - λ 2 ) 2 k 13 = ( λ 1 - λ 3 ) 2 k 23 = ( λ 2 - λ 3 ) 2 - - - ( 5 ) ]]>
步骤6,根据相干系数的大小对扩散张量矩阵D的特征值进行设计,设计方法如式(6)所示,其中α是用于控制扩散速率的因子;
u 1 = α u 2 = α i f k 12 = 0 α + ( 1 - α ) exp ( - 1 k 12 ) e l s e u 3 = α i f k 23 = 0 α + ( 1 - α ) exp ( - 1 k 23 ) e l s e - - - ( 6 ) ]]>
步骤7,利用所设计的扩散张量矩阵D的特征值μ1、μ2和μ3与结构张量矩阵T的特征向量e1、e2和e3来重构扩散张量矩阵D,得到重构后的扩散张量矩阵D如式(7)所示:
D 11 = μ 1 e 11 2 + μ 2 e 21 2 + μ 3 e 31 2 D 22 = μ 1 e 12 2 + μ 2 e 22 2 + μ 3 e 32 2 D 33 = μ 1 e 13 2 + μ 2 e 23 2 + μ 3 e 33 2 D 12 = μ 1 e 11 2 e 12 2 + μ 2 e 21 2 e 22 2 + μ 3 e 31 2 e 32 2 D 11 = μ 1 e 11 2 e 13 2 + μ 2 e 21 2 e 23 2 + μ 3 e 31 2 e 33 2 D 11 = μ 1 e 12 2 e 13 2 + μ 2 e 22 2 e 23 2 + μ 3 e 32 2 e 33 2 - - - ( 7 ) ]]>
步骤8,将重构后的扩散张量矩阵D带入式(8),求解过程如下:
∂ I ∂ t = d i v [ D ▿ I ] I ( x , y , z , 0 ) = I 0 ( x , y , z ) - - - ( 8 ) ]]>
式中,j1、j2和j3表示为通量,具体是
在式(8)中div表示散度,则式(8)的右侧可以表示为式(9):
d i v [ D ▿ I ] = ∂ x j 1 + ∂ y j 1 + ∂ z j 1 - - - ( 9 ) ]]>
式(8)的左侧利用差分代替微分来计算,展开后如式(10)所示:
∂ I ∂ t = I x , y , z k + 1 - I x , y , z k τ - - - ( 10 ) ]]>
其中,和分别为I(x,y,z,τ)在时刻(k+1)τ和时刻kτ的位置坐标信息;τ为时间步长因子;式(8)的离散可以表示为式(11):
I ( x , y , z ) k + 1 = I ( x , y , z ) k + τ d i v ( D ▿ I ) - - - ( 11 ) ]]>
步骤9,对所有采样点重复步骤2-步骤8,得到去噪后的点云模型。