1. 简介
点云作为一种重要的三维数据表示形式,在多个领域都具有极高的重要性和应用价值。随着技术的不断进步和应用场景的不断拓展,点云已成为研究重点,法向量作为点云的重要几何属性之一,发挥着重要作用。精确且高质量的法向信息有助于大量点云处理算法,比如点云重建、分割、渲染和特征描述等。近些年来,尽管涌现出许多法向估计算法,但在处理尖锐特征点时,仍存在不小的挑战。此类特征点的邻域通常是由二个或二个以上的光滑曲面拼接构成,导致所估计的法向出现明显偏差。若法向估计不够准确,在点云处理过程中,曲面的细节特征可能会丢失,从而致使重建模型难以保持原始模型的结构特性。
点云的法向估计算法主要可以分为:基于Voronoi/Delaunay算法[1]-[3]、基于法向修正的算法[4]-[6]、基于深度学习的算法[7]-[10]和基于局部邻域拟合的算法。
基于Voronoi/Delaunay算法是借助点云构建Voronoi图或Delaunay三角剖分所形成的独特几何拓扑结构,从错综复杂的三角面片的内在几何特性出发,深入分析点之间的关联性,以此为理论基础来估计点云的法向信息。这种算法在处理具有特定几何规则、相对规整的点云时,能够展现较高的法向估计精度。然而,构建和处理这些复杂的Voronoi图和Delaunay三角剖分结构需要消耗大量的计算资源与时间成本,当点云存在噪声干扰或不规则变化时,不能够估计高质量法向。
基于法向修正的算法通常以初始估计法向为根基,充分考量点云的局部曲率变化、相邻点之间的一致性程度等多维度信息,运用迭代优化的策略对法向量进行逐步优化调整。在面对有一定噪声干扰或局部几何结构呈现不规则状态的点云时,通过迭代修正使得法向能够更加贴合实际的几何形态,最大限度地去恢复物体表面的真实几何特征。但该算法的局限性在于,迭代过程易陷入局部最优解的困境,陷入后优化易偏离正确方向,使得最终所得法向与理想状态有偏差,难以契合高精度应用需求。例如,在尖锐特征区域,输入的法向量往往会受到平滑效应和噪声干扰,导致基于法向修正的算法难以有效保持原始模型的尖锐几何特征。
基于深度学习的点云法向估计不需要构建复杂的几何拓扑结构,而是通过多层神经网络自动学习点云局部邻域的特征关联。这种学习机制显著降低了计算复杂度,尤其适用于较复杂的点云场景。同时,网络通过大量训练数据可自适应识别噪声模式,在非均匀采样或噪声干扰情况下仍能保持鲁棒性。对于法向修正算法面临的局部最优问题,深度学习通过全局上下文感知能力,在尖锐特征区域(如边缘、棱角)可有效识别突变特征,避免传统迭代优化中因初始法向偏差导致的特征平滑现象。比如,通过聚合多尺度邻域信息实现特征保持,从而构建出基于图卷积网络的法向预测模型[10]。但该算法存在对标注数据具有强依赖性、数据训练需高端硬件支持且耗时久和易出现过拟合且对不同场景数据分布适应性差等缺点。
基于局部邻域拟合的算法针对点云中的每个点,通过提取目标点周围的局部邻域点集进行曲面拟合,进而得出该点的法向信息。Hoppe等[11]最早提出基于主成分分析(Principal Component Analysis, PCA)的局部切平面拟合方法。该方法是通过分析邻域内所有点集的空间分布特征,采用最小二乘法优化策略构造局部切平面,进而推导出该点的法向量方向。PCA在光滑曲面区域具有较高的计算精度,能够有效提取规则点云数据的法向特征。然而,在处理尖锐特征点时,由于其邻域内通常存在多个不连续曲面,在拟合时因跨曲面采样导致法向估计产生平滑效应。为提高复杂特征区域的几何表达能力,Guennebaud等[12]和Cazals等[13]采用球面或二次曲面拟合来替代平面近似。Pauly等[14]设计距离加权策略优化邻域点贡献度,有效抑制远端噪声对法向量计算的干扰,从而显著提升尖锐几何特征区域的曲面重建精度。Mitra等[15]提出了一种自适应邻域选择算法,动态调整邻域大小以平衡噪声、曲率与采样密度的影响,然而,由于该算法受限于各向同性处理策略,在尖锐特征处仍存在法向量模糊现象。Wang等[16]结合鲁棒法向估计算法(Robust Normal Estimation, RNE) [17]与自适应权重函数。在处理过程中,对于和当前点距离较近且法向差异较小的邻域点,赋予其一个更高的权重值,从而增强局部平滑区域的拟合稳定性。但由于该算法没有解决邻域各向异性采样问题,会出现法向估计结果向采样点较密一侧偏移的情况。针对这一问题,Zhang、Liu等[18] [19]创新性地将子空间分割思想应用到法向估计中,利用邻域点间的法向差异来刻画子空间结构,将特征点邻域分割为若干个光滑子区域,通过选取最优子邻域来实现精确的切平面拟合。该算法在处理非均匀点云分布时展现出较强鲁棒性,能够较好地刻画大尺度尖锐特征。进一步地,Zhang等[18]融合子空间分割与局部曲面拟合思想,设计了协同一致性投票机制(Pair Consistency Voting, PCV)用于法向估计。即使在有噪声和非均匀采样的情况下,该方法仍能够准确地保留点云的结构信息,显著提升估计的点云法向质量。然而,上述算法在描述点对之间的结构信息时,仅考虑了点对的法向差异,而忽略了点对之间的距离信息,导致在细小特征处估计的法向不够准确。如图1,若只考虑到橙色点对法向相似度高的情况下,会将该点对误判为处于同一面片。
![]()
Figure 1. Schematic diagram of selecting candidate point pairs in PCV
图1. PCV选取候选点对示意图
2. 本文算法
对于给定的噪声点云
(其中
为采样点总数,
),本文提出一种基于点对距离差异性的点云法向估计算法,在PCV算法的基础上,点云的结构信息中加入点对之间的距离差异,当点对距离较大时,我们利用高斯权函数赋予一个较小的点对距离权重,使得远距离点对在候选平面投票中贡献较少。该算法在一定程度上可以抑制拟合平面的偏移程度,能够更准确地刻画复杂结构的细节。
首先,针对获取的各采样点数据,本文研究运用主成分分析(PCA)算法计算出每个点的初始法向,通过分析协方差矩阵特征值的分布特征,来刻画每个采样点与尖锐特征的距离远近程度。基于这一分析结果构建分类判别准则:若某个点与尖锐特征的距离较远,其邻域呈现单一曲面特性,这类点被定义为光滑点;而当某个点与尖锐特征距离较近时,其邻域呈现多曲面交集特性,此类点则被定义为候选点[20]。
然后,提出了基于点对距离差异性的点云法向估计算法。在考虑点对法向一致性的基础上,加入表示点对之间欧式距离的权重函数参与投票过程,使得法向一致性较高且空间距离较近的点对在法向估计中产生更大的影响。基于这一思路,我们提出了一种新的投票方案来进行法向估计。
最后,我们针对不同类型的点采用不同的法向估计策略。对于那些被判定为光滑可靠的点,由于其邻域具有较好的几何一致性,我们继续采用传统的PCA算法来计算其法向。而对于候选点,我们则运用上述改进后的投票算法进行法向估计,通过综合考虑法向一致性和点对之间的欧式距离,更准确地确定其法向量。
2.1. 估算初始法向量并进行候选点筛选与分类
我们首先计算每个点的初始法线,并将所有点划分为光滑点和候选点两类。为使我们的论文自成体系,我们做如下简要介绍,具体过程见文献[21]-[23]。
对于每个点
,协方差矩阵定义为:
(1)
其中
为点
的邻域,
为
的大小,
为其邻域点的平均值。PCA计算的初始法线
为
的最小特征值
所对应的特征向量。对于每个点
,特征权重
计算为:
其中
为协方差矩阵
的奇异值。然后,我们将
归一化为[0, 1]。系数
衡量的是
点与尖锐特征的接近程度。尖锐特征附近的点的系数大于光滑区域中的点的系数。因此,如果
大于给定的阈值
,我们将
作为候选点。用
表示特征权重
的分布,并最小化以下目标函数:
其中
为权衡参数,
是一阶差分矩阵;
和
分别为
范数和
范数,阈值
定义为
的第一个峰值后的平缓点[18]。
2.2. 基于点对距离差异性的点云法向估计算法
PCV算法利用点对来进行法向估计,通过考虑点对之间的法向差异,减少尖锐特征附近点的影响,引入了一种新的目标函数进行最大化
(2)
其中,
为
与
之间的夹角,
和
都是高斯权函数的带宽参数。
定义为
,其中
通过邻域
中光滑点残差分布的中位值均值进行自适应。
和
是可自定义的参数。
是一个递减函数,
代表一个平面,
是候选点,定义
为
个近邻的邻域点,
是密度权值。其中
是用于描述点对法向差异的一个高斯权函数。如果点对法向量的相似性高,则
数值大;反之,
数值小。
(a) 传统PCV算法仅考虑法向一致性(同色点构成强点对):距离较远的橙色点对跨不同面片导致错误拟合平面(紫色线)。(b) 改进算法综合考虑法向一致性与点对距离差异:橙色点对为同时满足法向一致性(颜色相同)和邻近性要求的正确强点对,紫色实线为优化后的平面拟合结果。
(a) (b)
Figure 2. Comparative schematic of strong point pair screening
图2. 强点对筛选对比示意图
然而,PCV算法在点对相似度方面只考虑到点对之间的法向差异,而忽略了点对的距离差异。在处理一些细小结构时,难以得到高质量的法向信息,进而导致拟合平面出现偏差。如图2(a)所示,依据法向一致性使得相同颜色的点构成强点对。此时,橙色点对中存在距离较远且位于不同面片上的点对,但由于其法向差异较小,则被错误判断为强点对,进而导致这些点对误判为属于同一平面。由此可见,若只考虑点对法向差异会导致选择的邻域可能会包含二个或二个以上面片上的点,引发拟合平面出现偏差,从而忽略一些细小特征。
为克服上一问题,本文算法在点对相似性的描述中加入了刻画候选点对之间的距离信息,基于点对距离差异进行点云法向估计,我们的优化模型为:
(3)
其中,
是
与
之间的距离,
是
与
距离差异影响的权值,
通过赋不同的
值而改变结果,我们选取最合适的
值,从而得到最优值。从定义
中,它增强了距离较近的点对在计算中的影响力。具体来说,如果
和
之间的距离较近,那么在公式(3)中,权重
值会较大。因此,距离较近的点对在计算过程中的作用更大,即在寻找最优值时欧式距离越小的点对贡献越大。
基于点对距离差异的法向估计算法可以有效筛选掉点对距离较大的错误点,优化邻域选择,从而更好地拟合平面来提高法向量估计的准确性。如图2(b)所示,邻域选择过程中,在保证点对法向差异较小的基础上,能够筛选掉欧式距离较大的点对。图中橙色点对视作满足要求的强点对,紫色线为使用该强点对选择的邻域拟合出来的平面。与图2(a)作对比,我们的方法可以有效地筛选掉点对距离较大的错误点,更好地构造强点对,确保邻域内点集均来自同一表面的几何面片。这一机制显著抑制了拟合平面的倾斜偏差,在细小特征区域能够精准区分不同平面结构,并保留复杂几何的细节特征。
3. 实验结果及分析
为了全面评估本文提出的点云法向估计算法性能,将其与PCA [11]和PCV [18]算法进行定量定性的对比分析。其中,PCV算法采用的是由其作者提供的已训练好的PCV模型,该模型使用100 K的邻域尺度。据以往实验结果可知,PCV算法在计算性能和效率方面表现出显著优势。基于这一特点,本文选取 PCV算法作为对比对象之一,以便更有效地凸显本文算法的特点与性能表现。在实验中,邻域大小
,
通过选取不同的
值对不同模型和噪声进行自适应,其余的相关参数均采用默认值。
本文测试包含多种模型:Cup (34,100 K)、column_head (100 K)、star_halfsmooth (100 K)、Boxy_smooth (100 K)和Liberty (100 K)。Cup模型是一个高精度的杯子模型,该模型细节丰富,包含平面和圆柱面,适合于测试算法在高密度点云下的性能表现。column_head模型是一个柱头模型,较为复杂,特征较多,该模型由多个平面、圆柱面和弧面构成,可以用来测试算法在中等密度点云中对复杂几何的处理能力。star_halfsmooth模型是一个星形模型,主要由圆锥面组成,特征包含多个圆锥面的顶点以及交接的钝角、锐角等,可测试算法在混合特征点云中的表现。Boxy_smooth模型是一个光滑的盒子模型,该模型表面光滑,主要由平面组成,其特征包含尖锐边、平缓边和直角等,适合用于测试算法在光滑曲面上的表现。Liberty模型具有高多样性的几何结构,包括锐边、孔洞、薄壁,适用于验证算法在极端几何多样性、稀疏采样和高噪声场景下的泛化能力与鲁棒性。选择的这五种模型涵盖了从高密度到中等密度、从复杂几何到光滑曲面的多种特征,适合用于验证点云处理算法在不同场景下的鲁棒性和准确性。在这些模型中,为模拟噪声环境,我们添加了中心高斯噪声。具体来说,高斯噪声的标准差分别被设置为形状包围盒对角线长度的0.0025倍和0.012倍,以此来定义噪声水平。其中,当标准差为0.0025被认为是低噪声的;当标准差为0.012时视为是高噪声的;无噪声即标准差为0。
3.1. 参数的选择
:候选点的邻域点个数。
:光滑点的邻域点个数。
:到第
近邻点的距离。
算法中其他相关参数均设置成为默认值。
3.2. 评价函数
借鉴PCV算法的思路,本文采用带阈值的均方根误差(
)对计算结果进行定量评价[24],
定义为
其中,
为法向量之间夹角,
是
处的参考法向,
是估计法向。本文中取
,即
与
的值大于或等于
时,则认为估计的法向质量较差。这一评价函数能够有效地量化算法对细小特征的刻画情况。
3.3. 结果分析
表1和图3分别展示了五种模型在不同算法下
值的比较及
均值。表2展示了五种模型在不同噪声下与PCV算法的时间比较。图4为不同模型在本文算法下的可视化呈现。
即便在非均匀采样的情况下,PCA算法对于光滑曲面区域的法向量仍能够保持一定的准确性。然而,在尖锐特征区域,该算法所估计的法向量呈现出过度平滑的现象,其
值相较于其他的算法偏高。这主要归因于PCA算法是采用整个邻域内的点进行平面拟合,而复杂结构的特征点邻域往往是由二个或多个光滑曲面拼接而成的。当多个曲面的点共同参与平面拟合时,跨曲面干扰会导致协方差矩阵特征向量偏移,最终引发尖锐特征处的法向估计偏差。
Table 1. Data comparison table of
values for different models under various noises and algorithms
表1. 不同模型在不同噪声和算法下
值的数据比较表格
模型 |
Noise |
PCA |
PCV |
Ours |
Cup (34,100 K) |
No |
0.627 |
0.430 |
0.425 |
Low |
0.627 |
0.409 |
0.408 |
Average |
0.627 |
0.420 |
0.416 |
column_head(100 K) |
No |
1.201 |
0.990 |
0.985 |
Low |
1.201 |
1.013 |
1.008 |
Average |
1.201 |
1.001 |
0.997 |
star_halfsmooth(100 K) |
No |
0.701 |
0.482 |
0.454 |
Low |
0.714 |
0.551 |
0.548 |
Average |
0.708 |
0.516 |
0.501 |
Boxy_smooth(100 K) |
No |
0.561 |
0.486 |
0.471 |
Low |
0.571 |
0.462 |
0.456 |
Average |
0.566 |
0.474 |
0.464 |
Liberty (100 K) |
No |
1.286 |
1.167 |
1.163 |
Low |
1.298 |
1.234 |
1.233 |
Average |
1.292 |
1.200 |
1.198 |
Table 2. Data comparison table of time for different models under various noises and algorithms
表2. 不同模型在不同噪声和算法下时间的数据比较表格
模型 |
Noise |
PCV |
Ours |
Cup (34,100 K) |
No |
742 |
719 |
Low |
724 |
785 |
Average |
733 |
752 |
column_head (100 K) |
No |
1873 |
1881 |
Low |
1856 |
1907 |
Average |
1865 |
1894 |
star_halfsmooth (100 K) |
No |
842 |
871 |
Low |
779 |
784 |
Average |
811 |
827 |
Boxy_smooth (100 K) |
No |
829 |
806 |
Low |
846 |
808 |
Average |
838 |
807 |
Liberty (100 K) |
No |
964 |
985 |
Low |
686 |
754 |
Average |
825 |
870 |
Figure 3. The mean value of
on different models
图3. 不同模型上的
均值
Figure 4. Visualization of normal estimation results based on point pair distance differences for different models
图4. 不同模型在基于点对距离差异的法向估计结果的可视化
本文算法引入点对之间的距离信息后,在面对不同模型或噪声干扰时,均展现出较好的性能。如表1所示,不同的模型在无噪声和低噪声的情况下,得到的
值均低于PCV算法与PCA算法。从图3来看,对于具有尖锐特征和光滑球面的模型,得到的均值都比PCV算法要低一些。表2展示了不同模型在不同噪声和算法下的时间比较。所有实验所使用的电脑配置为Intel(R) Core(TM) i5-5350U CPU@1.80GHz。本文算法在计算耗时上与PCV算法进行比较,尽管整体平均时间增加约1.2%,但综合性能和效率平衡来看,本方法在
均值上取得显著提升的同时,仅以可接受的时间代价为交换,证明本文算法具备有效性。如图4可视化分析所示,本文算法不仅在一些光滑曲面(如Cup模型)重构任务中展现显著优势,而且在细小结构(如column_head模型)处理时能够突破传统局限,有效地保持模型几何特征的完整性。
4. 结论
本文提出了一种基于点对距离差异性的点云法向估计算法。我们的算法是在PCV算法的基础上,加入了点对距离差异的影响因素,让距离较近的点对在法向估计中占据更大的权重,从而提高邻域点位于同一局部表面上的可能性,以此来提升点云法向量估计的精度。本文算法在处理复杂点云数据时展现出强鲁棒性,能够更为精准地捕捉点云局部几何特征。通过实验结果表明,针对不同类型的点云数据集,该算法均能使法向估计误差降低,减少因法向估计不准确导致的后续处理偏差。并且在处理包含大量细节的点云场景中,也能够准确地估算法向量。然而,该算法也具有一定的局限性。尽管本文方法缓解了尖锐特征区域的偏差,但在超高频曲率或点云缺失严重的极端情况下,仍面临挑战。在处理大规模的点云数据时,计算量较大,导致运算时间较长,这在对实时性要求较高的应用场景中可能会成为阻碍。未来,可通过优化算法结构、引入并行计算等手段,提升其计算效率,使其在更多领域得到广泛应用。
基金项目
国家自然科学基金(62076115);辽宁省教育厅基金面上项目(LJKMZ20221434)。
NOTES
*通讯作者。