1. 引言
点云是通过扫描仪器对目标物体进行数据采集得到目标物体表面特征的点集合。点云运用领域非常广泛,如:自动驾驶[1]、逆向工程[2]、三维重建[3]和室内场景建模[4]等。在点云的获取过程中,由于光线、震动、扫描仪器自身误差等干扰因素,获得的点云数据通常是伴有噪声的,这会对点云表面重建、分析等下游任务产生干扰[5]。因此,点云降噪常被认为是数字几何处理中非常重要的第一步。
点云的降噪方法大致可以分为传统的点云降噪方法和基于深度学习的点云降噪方法。传统的点云降噪方法[6]-[18]主要是通过将点云视为光滑的曲面,再将噪声点云投影到拟合的光滑曲面上来得到干净的点云,这种方法不仅需要繁琐的人工调整过程[14]-[18],而且对噪声和异常值表现敏感,在噪声过大或者尖锐细节处会有过度平滑的现象。
近年来,深度神经网络[19] [20]在图像处理中的成功应用推动了其在点云降噪任务中的发展。基于深度学习的点云降噪方法[21]-[32]可以避免参数调整,在细节保留和去噪有效性之间取得更好的平衡。南京航天航空大学的lu等[21]通过最小二乘拟合估计切平面方向,通过向切平面投影获得二维高度图;然后将高度图作为深度网络的输入,估计法向信息更新点的位置。文献[22]则使用深度神经网络预测每个点的切平面获得二维高度图,通过对有噪声的二维高度图进行光滑实现三维点云的降噪。然而,这些工作尝试将非结构化点云投射到规则域中,使得点云特征信息遭到压缩或丢失,从而导致特征提取的损失。
随着深度学习的不断发展,一些学者尝试通过网络直接对点云进行特征学习,实现点云降噪。文献[23]使用pointnet预测每个点的切平面,并将点投影到切平面获得干净的点云数据。文献[24]和[25]则通过pointnet网络框架或其变体,预测当前点移动到采样曲面的位移。文献[26]利用图卷积神经网络,提高预测噪声点移动到真实采样曲面位移的效率。香港中文大学的huang等[27]将特征空间的近邻信息加入到编码网络中,实现非局部相似信息的相互作用,提高去噪准确性。文献[28]则利用网络学习到的特征估计梯度上升方向,迭代更新每一点的位置。wang等[29]则通过学习邻域点的滤波权重,获得对应的降噪点。然而,这些工作都是以局部邻域整体作为网络输入,在特征的提取过程中没有考虑局部异常值或特征可能会被错误地视为有效数据的一部分,从而加大了特征提取的难度,导致降噪结果不理想。如图1所示,红色点为查询点,如果不对其邻域加以筛选,直接以整个局部邻域直接作为输入,那么当邻域较小时(图1中紫色虚线),局部邻域结构受噪声影响,结构过于模糊,不利于特征的提取;而当邻域较大时(图1中棕色虚线),较远处的特征结构也会对特征提取造成干扰。因此,为每一个查询点筛选出更精确的邻域(图1中红色虚线)对后续的特征提取和降噪都是十分必要的。
figure 1. diagram of neighborhood filter
图1. 邻域筛选图
文献[30] (dmr)和[31] (pcdnf)设计了邻域筛选网络,通过输入的位置信息与法向信息对每一邻域点预测一个权值,评估其与当前点位于同一几何结构的概率。然后筛选具有较大权值的点构成新的输入邻域用于降噪学习。但是上述方法在权重的学习过程中并没有对权重进行直接约束和引导。因此对于一些复杂的邻域结构,其预测的权值仍存在较大误差,如实验中的图3第三行第一列所示,这在一定程度上限制了后续降噪网络的性能。
因此,为了进一步提高邻域筛选的有效性,提升后续网络的特征提取能力,优化现有的降噪效果。本文设计了法向权重引导与距离权重引导来对邻域点与当前点位于同一几何结构的可能性进行预判,约束邻域筛选网络的权重学习[33]。这一权重引导可以与现有的诸多邻域筛选网络相结合,提高网络的学习能力。本文将其与pcdnf框架相结合,提出了基于权重引导的点云降噪及法向估计网络。实验结果表明,该权重引导的加入可以提高权重学习的准确性,获得更高质量的降噪结果。
2. 算法流程
本文网络的输入为带有噪声的点云
及其相应的原始法向
。输出为降噪后的点云
以及对应的估计法向
。在pcdnf的架构下,本文通过设计法向和距离权重引导,对邻域筛选进行优化从而提高网络的特征提取能力,提升算法的降噪能力。在2.1节中,先对权重引导的构造进行介绍;然后详细阐述了本文的整体网络框架(见2.2节);最后描述了如何利用权重引导优化损失函数,从而使得最终的邻域筛选更加可信,提升网络的点云降噪和法向估计效果。
2.1. 权重引导
对于给定当前点
,以当前点
为中心的邻域
定义为集合
,邻域点所对应的初始输入法向构成集合
。在本文的实现中,邻域尺度
figure 2. diagram of algorithm flow
图2. 算法流程图
,初始的输入法向由噪声点云通过主成分分析法(pca) [34]估计所得。
. (1)
权重引导在计算中需要计算当前点
的降噪点与邻域点之间的属性差异,权重引导
在下文公式(19)中对预测权重进行约束。在下文中将
通过网络前向传播获得的降噪点记为
。
2.1.1. 法向权重引导
法向权重引导利用法向对局部结构进行刻画,通过降噪点
与邻域点
真实法向之间的角度差异刻画邻域点与当前点位于同一局部结构的可能性,法向权重的计算公式为:
, (2)
其中,
是降噪点
的真实法向,
为邻域点
的真实法向,
表示内积,
表示绝对值运算。
在法向权重引导中
为
与
的内积再取绝对值,即
的法向与其邻域点法向之间夹角余弦值的绝对值。该值越大,则表明法向之间的夹角越小,即邻域点
与当前点具有相似的局部结构。根据公式(2),这样的邻域点将被赋予较大权值,如图2c中的绿点所示。
2.1.2. 距离权重引导
距离权重引导假设距离较近的点位于同一几何结构的概率较大,其利用降噪点
与邻域点
之间的距离对邻域点与当前点位于同一几何结构的可能性进行预判,距离权重的计算公式为:
, (3)
其中,
,
为向量的二范数,
为邻域点到降噪点的平均距离。
根据公式(3),当邻域点
与降噪点的距离
较小,
将被赋予较大的权值。即其与当前点位于同一几何结构的概率较大,如图2b内的绿点所示。
法向权重引导通过当前点与邻域点的法向差异对邻域点是否与当前点处于同一几何结构进行预判。若只考虑法向权重引导,则会导致距离较远而法向相近的点被选中,如图2c中最右侧的绿点所示。距离权重引导通过计算邻域点与当前点的距离评估它们位于同一几何结构的可能性。然而,当降噪点距离特征边较近时,若仅考虑距离权重引导,则可能会导致跨特征边的邻域点被选中,如图2b中特征边右侧绿点所示。因此,公式(1)通过综合利用两种权重的预判信息,实现对邻域点所处局部几何结构的精准判断,如图2a中绿点所示。该权重引导可以对邻域筛选网络的权重学习实现有效的约束,提高网络权重学习的质量,如实验部分的图4所示。
2.2. 网络构架
为了更好体现权重引导对点云降噪和法向估计的影响,本文使用与pcdnf相同的网络架构,具体流程如图2所示。法向估计可视为辅助任务,用以帮助网络实现点云降噪。对于噪声点
,网络的输入为
的邻域
及其对应的法向
。
首先,通过多尺度特征提取器得到每一邻域点
的粗点特征
和粗法向特征
,其对应集合分别为
,
。具体来说,对于任意的点
,为了捕获
的多尺度几何信息,先构建两个不同大小的k近邻(k-nn)图,运用边缘卷积[35]计算点
的局部邻域特征:
(4)
(5)
其中,
和
分别表示点
的尺度大小为
[35] (
),并通过mlp得到
的粗点特征
:
(7)
其对应的集合为
。类似的,可以得到点
的粗法向特征
,其对应集合为
。除此之外,还对每一邻域点计算了角度几何特征
,用来刻画当前点与邻域点的法向差异;以及距离几何特征
,用来刻画当前点与邻域点的距离信息,其对应集合分别记为
及
。
然后,在形状感知器中,将所得的粗点特征
、粗法向特征
、角度几何特征
和距离几何特征
经过全连接层后进行串联;再通过mlp以及最大池化操作,对每一邻域点
与当前点
位于同一局部几何结构的可能性进行评价:
(8)
其中,fc为全连接层,s为sigmoid函数。将所有邻域点的权重值记为集合
。然后,将
中最高的k (本文中
)个分值对应的索引记为集合
,利用
获取对应的相似点特征集合
及相似点法向特征集合
,具体的筛选过程详见图2中的形状感知器部分。
接下来,在特征细化模块中进行特征增强和特征融合,从而更好地保留小尺度几何特征及细节。首先,对相似点特征集
和相似点法向特征集
通过扩大感受野进行特征增强:
(9)
(10)
其中,
为
的邻域点个数,
为公式(8)所得的权重。其次,由于点特征更适用于恢复局部几何处的特征,法向特征更适用于恢复尖锐边缘和平滑过渡区域的特征,而全局特征可以更好描述邻域的整体结构。因此,对点特征、法向特征以及全局特征进行特征融合:
(11)
(12)
其中,
和
分别是粗点特征集
和粗法向特征集
经由最大池化后所得的邻域
的全局特征。最后,对坐标和法向进行解码。在坐标回归中,输入点细化特征
,通过mlp、最大池化以及全连接层操作获得当前点
的位移矢量,加到当前点坐标上得到降噪点坐标。在法向回归[36]中,输入法向细化特征
,通过mlp、边缘卷积[35]、最大池化及全连接层操作直接获得预测法向。
2.3. 损失函数
在pcdnf中,设计了三种类型的损失函数对网络进行优化:点降噪损失函数、法向估计损失函数、正交性损失函数。点降噪损失函数由降噪项和均匀分布项组成。降噪项[25]用于刻画降噪点到真实曲面的距离:
, (13)
其中,
和
分别是关于
和
递减的函数,
是高斯函数,
。均匀分布项[9] [25] [37]用来惩罚距离过近的点,具体形式为:
. (14)
最终得到的函数表达式为:
(15)
其中,
为平衡降噪项和均匀分布项的参数。法向估计损失函数定义为估计法向
与真实法向
之间欧几里得距离的平方:
. (16)
正交性损失函数一方面希望降噪点沿着估计法向方向移动;另一方面确保连接降噪点及其邻域点的边与估计法向之间的正交性,其定义为:
. (17)
最终得到的联合损失函数定义为:
, (18)
其中
,这三个参数用于平衡每一项损失函数的作用。
在pcdnf中,由于缺乏对预测权重
的约束,导致网络估计的权重准确性不高,如图4中的第一列。在此基础上,本文利用2.1节中设计的权重引导对预测权重进行约束,以进行更准确的邻域筛选:
, (19)
其中
、
分别为点
的权重引导和预测权重。从实验结果上看,权重引导损失函数的加入有效提高了权重学习的质量,如图4中的第四列。
添加权重引导损失函数以后,本文最终得到的联合损失函数为:
. (20)
3. 实验
首先在3.1节和3.2节中描述了用于实验的数据库和评价指标;基于此在3.3节和3.4节中展示了本文算法的降噪性能,与几种传统算法和基于深度学习的算法进行了比较,给出了定量结果和定性结果;在3.5节中对不同策略的权重引导的有效性和准确性进行了讨论,其中包括只有法向权重引导、只有距离权重引导以及本文使用的法向与距离权重引导相结合的策略。算法在pytorch上实现,并在单个nvidia gtx 1080ti上进行训练和测试。
3.1. 数据库
对于训练数据,本文选用了与pcdnf算法中相同的训练集,即来自[25]的数据集样本。该数据集由11个cad模型和11个非cad模型组成,每个模型的采样点数量均为100k,这些模型分别添加了均值为零,标准差为边框直径的0.25%、0.5%、1%、1.5%、2.5%的高斯噪声,从而生成了22个无噪声点云(具有真实法向)及其相应的110个噪声点云(输入法向通过pca计算)。与算法pcdnf相比,本文在训练过程中添加了点云之间距离以及法向之间角度差异的计算量,增加了额外的训练时间,这些计算量是一些很小的额外量,在存储空间可接受范围内。总之,本文的改进在时间和空间复杂度上可接受。
对于测试数据,由于pcdnf并未公布,本文从modelnet-40数据库中收集了12个不同的类,每类含有三个不同的网格。随机采样5万个点生成干净点云,对生成的干净点云进行归一化,然后利用高斯噪声对点云进行干扰以合成相应的噪声模型,标准差分别定义为0.25%、0.5%、1%和1.5%。最终,生成一个包含144个模型的测试数据集。在测试部分,本文与算法pcdnf采用相同的模型,无额外的时间及空间上的复杂度。
table 1. comparison of cd and p2s values of different noise reduction algorithms
表1. 不同降噪算法的cd以及p2s值比较
算法 |
0.25% |
0.5% |
1% |
1.5% |
cd |
p2s |
cd |
p2s |
cd |
p2s |
cd |
p2s |
平均滤波 |
0.45 |
0.41 |
0.45 |
0.43 |
0.44 |
0.45 |
0.48 |
0.54 |
双边滤波[10] |
0.44 |
0.41 |
0.44 |
0.42 |
0.44 |
0.45 |
0.48 |
0.54 |
dmr [30] |
0.33 |
0.35 |
0.34 |
0.36 |
0.37 |
0.41 |
0.44 |
0.51 |
pcdnf [31] |
0.26 |
0.25 |
0.33 |
0.32 |
0.41 |
0.40 |
0.44 |
0.44 |
本文 |
0.25 |
0.24 |
0.31 |
0.31 |
0.38 |
0.38 |
0.43 |
0.43 |
注:粗体表示最优值。
table 2. the rmse value estimated by algorithm is compared with that by pcdnf method
表2. 本文算法与pcdnf算法在四种噪声尺度下法向估计的rmse值比较
算法 |
0.25% |
0.5% |
1% |
1.5% |
pcdnf [31] |
24.02 |
25.00 |
26.57 |
28.54 |
本文 |
22.95 |
24.02 |
25.47 |
27.22 |
3.2. 评价指标
为了对算法的降噪性能进行定量分析,本文使用降噪点云与真实点云之间的倒角距离(cd) [24] [38]和降噪点云与底层曲面之间的距离(p2s)对算法的降噪效果进行评价。倒角距离cd为:
(21)
其中,
为真实点云,
表示集合中所包含元素的个数。第一项是每个输出点到真实点云曲面的距离,第二项直观地奖励了输出点云在目标曲面的分布。点到曲面的距离p2s为:
. (22)
这两个评价指标评估的是预测点云到真实点云的距离。二者均是值越低则表示降噪效果越好。
对于法向估计,本文使用无定向的均方根误差(rmse) [39] [40]作为评价指标:
(23)
其中
为
对应的真实法向,
为
对应的估计法向,
为
与
之间的角度。
3.3. 定量比较
将本文算法与传统的降噪算法,包括平均滤波和双边滤波[10],以及基于深度学习的降噪算法,包括dmr [30]和pcdnf [31],进行了比较。其中对于dmr,本文使用了降噪效果更好的监督版本。表1给
figure 3. visualization of noise reduction results by different algorithms
图3. 不同算法降噪结果的可视化
出了各种算法在不同噪声尺度下的降噪结果。从表1中可以看出,传统的降噪算法无论在cd还是p2s值上都没有基于深度学习的降噪算法结果好,甚至可以达到最高0.2的差距。而在基于深度学习的算法中,pcdnf的降噪结果在各个噪声尺度下均优于dmr的降噪结果。虽然本文算法与pcdnf算法采用相同的网络框架,但由于本文添加了权重引导对邻域筛选进行优化,因此其可以获得更好的降噪效果和更低的cd及p2s值,这也证实了本文提出的法向及距离权重引导的有效性。除此之外,在表2中还对本文算法与pcdnf算法在不同噪声尺度下的法向估计结果进行了比较。表中可以看出,本文算法得到的法向估计误差在四种噪声尺度下均低于pcdnf算法得到的误差,尤其是在最大噪声尺度1.5%下,rmse误差大幅度降低了1.32,这说明本文添加的法向以及距离权重引导提高了网络进行法向估计的质量,并且针对大噪声数据鲁棒性更强。
3.4. 定性比较
图3展示了在1%和1.5%两种噪声尺度下多种降噪算法的可视化结果。其中点的颜色表示点到真实底层曲面的距离,距离过大的点标为红色,否则标为绿色。从图中可以看出,传统的平均滤波和双边滤波算法在平坦区域取得的降噪效果较好,但是在尖锐特征区域误差较大。dmr算法在尖锐特征区域的降噪效果优于平均滤波以及双边滤波,但在平坦区域误差值相对较大。pcdnf算法的降噪效果相比于上述算法有较大提高,但是在特征边(图3中第四列)和细节(图3中第三、六列)处,pcdnf算法的误差值仍然较大。而本文算法在加入了法向及距离权重引导后,在这些区域得到了更优异的降噪效果,在细节处点的降噪误差更低。
figure 4. visualization of weight learning results under different weight guidance strategies
图4. 不同权重引导策略下权重学习结果的可视化
figure 5. comparison of noise reduction results under defferent guidance strategies
图5. 不同权重引导策略下降噪结果的对比
figure 6. comparison of normal estimation results under pcdnf and different weight guidance strategies
图6. pcdnf及不同权重引导策略下法向估计结果的对比
3.5. 烧灼实验
权重引导的设计为本文的重点。本节将针对文中涉及到的三种不同权重引导策略对降噪结果的影响进行讨论:第一种为只有法向权重引导的策略;第二种为只有距离权重引导的策略;第三种为本文所使用的法向与距离权重引导相结合的策略。图4展示了在不同邻域结构以及不同权重引导策略下,网络学习到的权重的可视化结果。
如图4所示,由于pcdnf没有对学习的权重进行任何直接约束,其得到的权值不具有统一的规律,并不能对邻域点是否与当前点位于同一的局部结构做出正确的判断(图4第一列)。当加入距离权重引导或法向权重引导后,网络学习到的权重质量明显提高了。这种现象对于特征区域尤其明显,见图4的第二行和第三行。虽然对于平坦区域,加入距离权重后权重较大的点主要集中在降噪点附近,与邻域结构有一定的差异(邻域中每一点都与当前点具有相同的局部结构,应赋予相同的权值),但这并不影响邻域的筛选。因为邻域中每一点都与当前点具有相同的局部结构,因此按照学习到的权值筛选出来的邻域点都是正确的。
但对于复杂的邻域结构,只使用距离权重引导或法向权重引导都是不足够的(见图4第三行的第二列和第三列)。两种权重引导的融合可以获得更精确的权重(见图4第三行的第四列),从而实现更高质量的邻域筛选和降噪。
图5展示了不同权重引导下,算法的降噪结果。如图中所示,对于平坦区域,不同引导策略得到的结果基本相同。但对于特征边(图5中蓝框及紫框对应区域)及角点(图5中红框及黄框对应区域),两种权重引导联合的方式要优于单独使用一种权重引导。而且,这种提升,在角点处体现得更为明显。这充分说明了两种权重引导的联合,对于复杂结构的分析是有利的。
图6显示了在不同噪声尺度下,不同权重引导策略与pcdnf法向估计效果对比,可以看出距离权重引导及法向权重引导的加入均对pcdnf的法向估计效果有促进作用。相比于距离权重引导,法向权重引导的提升效果要更明显一些。这可能是在法向估计中,切平面信息要比距离信息更可靠的缘故。虽然将两种权重相结合在小噪声数据上的法向估计结果的rmse较单独使用法向权重引导的rmse略有提高,但对于较大的噪声尺度,其法向估计结果的rmse还是要低于仅使用法向权重引导的结果。这说明将两种权重相结合,更适合质量较低的扫描数据,具有更高的实用性。
4. 结语
本文提出了一种基于权重引导的点云降噪及法向估计网络。该网络在pcdnf网络架构的基础上加入了权重引导,利用法向和欧几里得距离的差异对邻域点与当前点位于同一几何结构的可能性进行预判,并利用该预判对pcdnf的邻域筛选网络的权重学习进行约束,提升网络权重学习的准确性,进而提高网络点云降噪及法向估计的质量。实验表明,本文添加了权重引导以后,可以获得更好的降噪结果,尤其在特征边缘及尖锐区域有明显的降噪优势。除此之外,本文算法在法向估计结果上也有提升,对大噪声尺度下的数据鲁棒性更强。
对于未来工作,首先将对更多权重引导形式的有效性进行讨论,优化权重引导的质量,提升邻域筛选能力;其次尝试将权重引导与更多点云降噪或法向估计网络相结合,进一步提升现有的点云降噪网络及法向估计网络性能。
基金项目
国家自然科学基金(62076115, 61702245);辽宁省教育厅基金面上项目(ljkmz20221434)。
notes
*通讯作者。