前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AdaFit:一种对基于学习的点云法线估计方法的新思考(ICCV2021)

AdaFit:一种对基于学习的点云法线估计方法的新思考(ICCV2021)

作者头像
3D视觉工坊
发布2021-10-21 16:42:26
1K0
发布2021-10-21 16:42:26
举报
文章被收录于专栏:3D视觉从入门到精通

AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds (2021-ICCV)

代码地址:https://github.com/Runsong123/AdaFit.

在点云处理中,其中一个基本任务就是从点云中鲁棒地估计表面法线,这在许多实际应用中起着十分关键作用,例如表面重建、配准、分割、图元拟合、逆向工程和抓取。但由于存在噪声、点密度变化和结构缺失的问题,对点云的鲁棒且准确的表面法线估计任务仍然十分具有挑战性。

本文提出了一种用于对点云进行鲁棒法线估计的神经网络AdaFit,该网络可以处理具有噪声和密度变化的点云。现有的一些工作使用网络学习加权最小二乘曲面拟合的逐点权重来估计法线,这很难在复杂区域或包含噪声点的表面找到准确的法线。通过分析加权最小二乘曲面拟合的步骤,作者发现拟合曲面的多项式阶数很难确定,因此拟合的曲面对噪点很敏感。为了解决这些问题,作者提出了一个简单而有效的解决方案,它增加了一个额外的偏置预测层来提高法线估计的质量(PS:这里作者的工作在很多点云滤波方法中有类似的思路)。此外,为了利用来自不同邻域大小的点集,作者提出了一种新的级联尺度聚合层,以帮助网络更准确的预测逐点偏移和权重。大量实验表明,AdaFit在合成的PCPNet数据集和 真实SceneNN 数据集上都达到了SOTA。

主要贡献总结如下:

1)通过对加权表面拟合理论进行全面分析,发现了这些方法在法线估计中存在的两个关键问题。

2)通过预测偏移来调整相邻点的分布,从而实现法线估计的鲁棒性和准确性。

3)设计了一个包含CSA 层的AdaFit网络,可以同时结合邻域的小尺度和大尺度的优势,从而在多个数据集中实现性能提升。

图1 (a) 给定输入点云(左),输出是估计每个点的法线(右)。(b) 目前加权最小二乘曲面拟合受到欠拟合(上)、过拟合(中)或噪点(下)的严重影响,导致法线估计不准确。(c) 两种法线估计方法的误差图。第一个模型仅使用加权最小二乘曲面拟合(左),而第二个模型添加额外的偏移量来调整相邻点的分布,从而产生更准确的法线估计。(d) 使用具有权重的模型(左)和具有权重和偏移的模型(右)的法线重建表面结果。

目前法线估计最直接的方法是从邻域点上提取的特征值求法向量,然而,这种暴力的回归方式只会迫使网络记住法向量,这导致泛化能力有限。由于训练数据的稀缺,这种泛化问题在真实数据上更加明显。与直接回归不同,估计特定点的法线的更准确方法是在其相邻点上拟合几何曲面(平面或多项式曲面),然后根据估计的曲面计算法线。

基于此,作者针对当前法线估计的两个固有问题:第一个是由真实表面和拟合表面之间不一致的多项式阶数引起。不同点的拟合表面通常具有不同的多项式阶数,而现有方法总是为所有点选择一个恒定的阶数。这种不一致问题要么导致欠拟合,这会使图 1 (b) 顶部所示的邻域中的精细细节变得平滑。要么导致噪声过拟合,这会给图 1 (b) 中间所示的输出法线带来很大的方差。过拟合和欠拟合都可能导致错误的法线估计。第二个问题是加权表面拟合对噪点很敏感。通过理论分析逐点权重与最终估计法线的关系,作者发现远离拟合曲面的点上的权重对最终法线方向的影响较大。在这种情况下,由于噪声点比内点离拟合表面远得多,即使噪声点的权重很小也会严重影响估计的法线,如图 1(b)底部所示。

图2 第一行显示了不同点的最佳多项式阶数。第二行显示了不同多项式阶数的对应误差图。

为了解决上述两个问题,作者提出了一个简单而有效的解决方案,通过预测额外的逐点偏移来调整相邻点的分布。当预测表面的多项式阶数与预定义的多项式阶数不同时,阶数的调整为整个网络带来了更大的灵活性,可以将相邻点投影到具有预定义阶数的表面上。虽然得到的表面可能与ground truth不完全一致,但中心点的法线比直接加权表面拟合估计的要准确得多。同时,邻域中的噪点可以偏移到表面附近的位置,以便所有点到表面的距离相似。因此,与之前噪点权重对法线影响较大的加权曲面拟合相比,调整后的点贡献更均匀,从而产生了更鲁棒的法线估计。

另一方面,为了解决表面拟合中最佳邻域大小的选择问题,作者设计了一个Cascaded Scale Aggregation (CSA) 层,使用多个 CSA 层,既可以从大尺度提取特征,同时仅在小尺度区域上将表面与相邻点拟合。这样CSA 层进行特征提取既可以享受大尺度带来更多表面信息的好处,也可以享受小尺度带来更准确的法线估计结果。最终,作者设计一个名为 AdaFit 的网络来实现上述想法,该网络将查询点及其相邻点作为输入并输出查询点的法线。AdaFit 使用 CSA 层提取特征并同时预测逐点权重和偏移。为了验证所提出的方法,作者在PCPNet 数据集进行了大量实验。同时为了展示AdaFit 的泛化能力,作者还在两个真实世界的数据集,即室内 SceneNN数据集和室外 Semantic 3D数据集上对所提方法进行了评估。此外,作者还展示了 AdaFit 预测的法线在点云去噪和表面重建中的应用。

图3 用于法线估计的 AdaFit 网络架构。

方法核心:

1 问题描述:

给定一个点 p 和它的相邻点{pi|i=1,…,Np},我们想估计点p处的法线 np。这个法线估计问题可以通过在相邻点上拟合曲面并从拟合曲面计算法线来解决。在这里,作者采用了广泛使用的 n-jet 表面模型,该表面用多项式函数 Jn 表示:即R2→R,将坐标 (x, y) 映射到它们在切线空间中的高度 z:

其中 β是系数。为了简化符号,β表示为向量:

同时,定义

此时拟合表面的法向量表示为:

为了在方程中找到更为精确的拟合表面函数。作者在每个点上预测一个逐点权重。然后,所有点通过主成分分析(PCA)转换到切线空间,并通过加权最小二乘(WLS)拟合问题求解表面系数:

这里wi是逐点权重,(xi, yi, zi) 是 pi 在切线空间中的坐标。

2 偏移预测:

为了解决前面描述的两个主要问题,作者提出了一个简单而有效的解决方案。首先在每个点上预测一个额外的逐点偏移(∆xi, ∆yi, ∆zi)来调整点的分布。然后,将WLS 应用于这些偏置点从而寻找最佳平面。

由于偏移量预测的加入,设计的网络具有额外的灵活性来调整点以构建具有与预定义的多项式阶数相同拟合表面。从而大大减少了欠拟合或过拟合现象。同时,噪点可以通过网络偏移到拟合表面上,从而使生成的拟合表面对其权重不那么敏感。图 4 显示了两个示例,其中添加偏移预测对噪点显示出更强的鲁棒性,并避免了过度拟合或欠拟合。

图4 使用权重直接拟合曲面和使用偏移点拟合的两个示例。绿色箭头是真实的法线方向,而红色箭头表示预测的法线方向。

3 Cascaded Scale Aggregation(CAS层):

为了提取特征以进行准确的权重和偏移预测,作者提出了一个称为CSA层的新网络层。如图 5 所示,CSA 层负责从不同的邻域大小(即尺度)中提取特征。对于一个点 p,作者用一个整数 s 来定义这个点的尺度,它由一个点集 Ns 表示,该点集包括离该点最近的s个点。CSA 层采用两个尺度 (sk, sk+1) 作为输入,其中 sk+1 < sk。点 pi上特征 fk+1,i的提取结果表示为:

其中Φk和Ψk都是多层感知器(MLP),fk+1,i是点pi在sk+1尺度上的输出特征,fk,i是同一个点在尺度sk上的特征。

图5 CSA层的结构,它通过全局池化从大尺度中提取特征,并将大尺度的特征连接到小尺度点的特征作为输出。

CSA层使用更大尺度的特征来帮助完成当前尺度下的特征提取,而最终拟合只使用最小尺度。大尺度提供更多拟合表面的信息,而小尺度则包括表面拟合中最相关的点。因此,所提出的 CSA 层同时具有大尺度和小尺度的优势,可以实现精确的表面拟合。

4 Loss函数

为了训练网络,作者参考DeepFit工作中提出的相同的损失函数,该损失函数最小化预测法线N和ground truth法线 Ngt 之间的|Ngt×N|。同时,作者还采用了 DeepFit 中使用的邻域一致性损失和变换正则化损失。细节请参考DeepFit中的工作。

实验环节:

AdaFit 的 RMSE 和基准方法对比如表 1 所示,所有方法的 AUC 见图 6。结果表明 AdaFit 在所有设置中均优于传统方法和基于学习的方法,这证明了使用偏移量来调整点集的优势。特别是在密度变化的点云上,其他方法可能无法在稀疏区域上找到足够的点进行表面拟合,而 AdaFit 使用偏移量将点投影到相邻区域从而获得了更为鲁棒的表面拟合结果。

表1 PCPNet上各类方法RMSE的对比

图6 AdaFit 和其他方法的法线估计误差 AUC 曲线。X 轴为角度值,Y 轴显示给定阈值下正确估计法线的比率。

图 7 显示了 AdaFit 估计的法线效果,图 8 显示了 AdaFit 和其他对比方法在不同模型上的法线角度误差。可以看出,Lenssen等人在平坦区域上表现更好,而 DeepFit则可以更好地处理曲线区域,但对于具有尖锐边区域的法线估计不准确。相比之下, AdaFit 在所有区域和所有设置情况下(噪声或密度变化)上相对更鲁棒。

图7 AdaFit 在 PCPNet 数据集上估计的法线。

图8 PCPNet 数据集上的法线估计误差。

同时,为了测试 AdaFit 的泛化能力,作者直接在真实数据集上评估 AdaFit,包括室内 SceneNN数据集和室外 Semantic3D数据集。所有方法仅在 PCPNet 数据集上进行训练,并直接在这些数据集上进行评估。

图9 SceneNN 数据集上法线估计的误差图。

图10 Semantic 3D数据集上法线估计的结果。

同时,作者还进行了一系列的附带或不附带CSA的数据结果对比结果。

表2 PCPNet 数据集上有或没有 CSA 层的模型的法线估计RMSE结果。

最后,作者还展示了所做工作在泊松曲面重建和去噪方面的一些应用。

图11利用不同方法估计法线的泊松表面重建比较。

图12 点云去噪的定性结果。第一行显示去噪点云,而第二行显示相应的重建表面。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档