APP下载

非结构点云的几何与学习协同法线估计

2022-03-26周杞鑫邹春喜程琳

电子元器件与信息技术 2022年1期
关键词:法线面片线图

周杞鑫,邹春喜,程琳

(1.中航西安飞机工业集团股份有限公司,陕西 西安 710089;2.中航西安飞机工业集团股份有限公司,陕西 西安 710089;3.中航西安飞机工业集团股份有限公司,陕西 西安 710089)

0 引言

近几十年来,出现了各种各样的三维激光扫描仪和深度相机,使得点云成为许多实际应用的焦点,如机器人抓取[20]、三维重建[11]和自动驾驶[24]。通常,扫描的点云只包含与噪声、不完全性和采样不规则性相关的点空间位置信息,而缺乏点法线等局部曲面几何属性。精准的法线可以促进大量的下游任务,例如点云合并[10]、曲面重建[13]和模型分割[8]。因此,对非结构化点云进行法线估计是一项不可避免的重要任务。

点云法线估计问题已被广泛研究,可以将现有的法线估计技术大致分为两类:传统方法和基于学习的方法。传统的方法通常利用一些精心设计的规则来保持或恢复尖锐的特征,而基于学习的方法则追求从噪声输入到真实值的一般映射。传统的方法中最简单和最著名的法线估计方法是主成分分析法(PCA)[17],通过分析点邻域的局部结构的协方差,将法线定义为最小特征值对应的特征向量。在这项工作之后,文献[23,7,14]提出了许多变体,Mitra等人[23]分析了邻域大小、曲率、采样密度和噪声对法线估计的影响。另一种法线估计方法是基于Voronoi cells[2,12,1,22]的,然而这种方法不能很好地估计尖锐特征或附近点的法线。文献[19,32,30,31]认为位于不同曲面的邻近点应该被放弃,应该只从位于同一曲面的点中选择一个近似邻域来估计法线。[3,28,9]假设曲面通常是由分段的平面组成的,通过基于稀疏性的方法在锐利的特征保持方面得到了非常好的结果。其他一些方法,如霍夫变换[5]也得到了很好的结果。基于学习的方法近年来才在法线估计方面崭露头角。Boulch等人[6]提出将一个表示法向的离散霍夫空间投射到一个适合于CNN深度学习的结构上,Roveri等人[26]为CNN定义了一个网格状的规则输入以学习理想的法线结果。Ben-Shabat等人[4]提出了一种方法,该方法使用点式、3D修正的多尺度Fisher Vector代表近似局部法线,并将这种代表输入到深度三维CNN结构中,他们还用一种混合专家结构来学习邻域大小,以最小化法线估计误差。这三种方法主要在于将非结构化点云参数化为规则域,然后直接应用到CNN结构。另一种点云学习框架PointNet[25]在3D领域非常流行,因为它可以直接从点数据中学习特征。基于对PointNet结构的修改,Guerrero等人[15]提出了一种在噪声点云中估计法线和主曲率值的统一方法,其中他们特别强调在给定的中心点周围提取局部属性。Hashimoto等人[16]利用PointNet和3DCNN,提出了一种能够从点云中准确推测法线的联合网络。基于PointNet结构,Zhou等人[33]引入了额外的特征约束机制和多尺度邻域选择策略来估计三维点云的法线。

然而,没有一种现有的算法可以作为法线估计的万能方法,原因在于:(1)传统方法总是严重依赖参数调整,如平面拟合的邻域尺度[31,32];(2)基于学习的方法,使用卷积神经网络(CNN)结构[6,4]或PointNet结构[15,33],两者都受到特征表示能力的限制。因此,特别是在尖锐的特征区域,很难学习从严重退化的输入到真实法线的直接映射。

基于这些问题,本文提出了一种非结构化三维点云的两阶段法线估计方法。该方法的核心思想是通过两个子步骤来解决法线估计的不确定问题:(1)用几何估计器计算尽可能保留特征的次优中间法线场;(2)将最终法线恢复过程作为一个回归函数,将中间法线结果映射到真实值。具体来说,为了降低在具有挑战性的区域进行法线学习的难度,提出了一种多尺度拟合块选择法来帮助估计次优法线,这在特征保持方面有更大的贡献。由于在一些参数难以调整的困难区域,初始法线仍然是不完美的,因此本文设计了一个基于法线的高度图和法线图网络,它利用上述估计的法线和局部曲面信息来获得最终的最优法线。实验证明,几何估计器方案和基于学习的恢复方案的组合效果优于两者中任一个。

1 算法介绍

本文提出了一种基于几何估计和深度网络的两步法线估计方法。图1展示出了所提议的方法的算法流程。它包括以下两个主要步骤:多尺度次优法线估计和基于法线的高度图和法线图网络。首先,对每个接近尖锐特征区域的候选点提出了一个多尺度邻域选择来计算其次优法线,同时对远离尖锐特征区域的光滑点用主成分分析法获得其次优法线。然后,基于这些计算出的法线,用双边法线滤波器为每个点定义一个多尺度点描述符,作为后续网络的输入。最终,通过基于法线的高度图和法线图网络恢复出最优法线,该网络包含两个子模块,分别是基于高度图和法线图的改进模块和收集模块。

图1 算法流程

1.1 多尺度次优法线估计

在计算每个点的初始法线之前,首先用局部协方差分析(sec.4.2[32]),将所有点分为接近尖锐特征的候选点和远离尖锐特征的光滑点。用主成分分析法可以简单地计算出光滑点的法线。

为了估计候选点的法线,一种常见的策略是随机选择三个非共线点来构造一组候选平面,并选择一个最能描述潜在面的平面。典型的方法是RNE[19]和PCV[31],它们引入剩余带宽来评估候选平面到潜在面的接近度。然而,当输入有噪声时,用于检测候选平面的目标点的邻域往往会被相交面的点所破坏,这导致所选平面偏离真实表面。

输出的次优法线将用于以下基于法线的高度图和法线图网络中,该网络可以保留尖锐区域的几何特征。与直接使用原始法线(PCA)作为输入相比,这些初始法线增强了网络的性能。

图2 多尺度方法

1.2 基于法线的高度图和法线图网络

接下来将介绍算法流程中的学习部分。网络架构如图1所示。首先,引入多尺度描述符,然后解释如何将其输入到接下来的两阶段学习模块中,该模块将输出最终的法线。

1.2.1 多尺度描述符

神经网络的输入数据应该是结构化的,在Wang等人[29]的工作启发下,通过组滤波法线加上局部高度图和法线图来定义其多尺度描述符,以协同提高学习效果。根据第4节中估计的法线,通过双边滤波计算每个点的滤波法线,并根据相应的滤波法线构造高度图和法线图。

高度图构造:点 以及它的一个滤波法线定义一个切面,在该平面上构建高度图面片。假设有格子的矩阵用来描述局部点的位置,每个格子中心位于 。与[10]类似,通过加权平均每个格子中心的球邻域中的点的高度距离来填充每个格子。

法线图构造:同高度图构造类似,点 以及它的一个滤波法线定义一个切面,在该平面上构建法线图面片。假设有格子的矩阵用来描述局部点的位置,每个格子中心位于 。通过加权平均每个格子中心的球邻域中的点的次优法线来填充每个格子。

将所有滤波法线、高度图面片和法线图面片组合起来,得到每个点的多尺度描述符:

各向不变性:为了保持多尺度描述符的旋转不变性,需要同时考虑法线不变性、高度图面片和法线图面片不变性。首先,对多尺度描述符的法线分量应用全局旋转,使其对刚性变换保持不变。具体地说,通过 的每个滤波法线计算法线张量 来构造旋转矩阵是由 的三个特征向量(按特征值排序)定义的矩阵,将 中的所有法线旋转到Z轴。此外,如果一条法线在负Z轴方向,将其反转为正,同样的旋转矩阵也应用于法线的真实值。对于多尺度描述符的高度图面片和法线图面片分量,其局部坐标系的Z轴也由矩阵 旋转,X轴和Y轴由旋转后的法线与两个最小特征值对应的特征向量的叉积计算。

1.2.2 基于法线的高度图和法线图网络架构

本文的网络架构如图1所示,它以滤波法线、高度图和法线图作为输入。首先,应用文献[29]中基于聚类的方法来促进学习。网络由两个模块组成:基于高度图面片和法线图面片的改进模块和收集模块。其核心思想是利用高度图面片和法线图面片学习一个3×3变换矩阵,该矩阵用于利用输入的法线并将两个模块连接在一起。然后,收集改进模块的每个分支,并输出最终的法线。

基于高度图和法线图的改进模块:高度图和法线图作为整个网络开始时的输入。改进模块包含与多尺度描述符中的对相对应的个独立分支,每个分支接收单个高度图面片和法线图面片的链接,并使用多个卷积层和最大池化层对其进行处理,输出矩阵 。该模块的细节如图3所示。输出的矩阵作为转换矩阵,将用于收集模块。这种相同分支的设计是为了更好地保留与先前双边滤波器的可变参数相关联的局部特征。

图3 改进模块

图4 收集模块

2 实验与分析

本文使用[29]中的数据集进行训练,提供了包含点样本和法线合成的三角网格模型。训练集的真实值点云共有21个模型,其中包括6个CAD模型、8个光滑模型和7个特征丰富的模型。对每一个真实值点云添加高斯噪声来获得噪声点云,其标准偏差为包围盒对角线长度的0.1%、0.2%和0.3%。最终的训练集包含63个噪声点云的150万个点。

在构造多尺度描述符时,多尺度描述符包括9组法线、高度图和法线图,即在基于高度图和法线图的改进模块中有9个独立的分支。对于高度图和法线图的构造,使用7×7的网格,使用pytorch在单个NVIDIA Geforce RTX 2080 Ti GPU上训练网络。

为了能够定量地评估,使用估计的法线和它们的真实值之间的平均角度误差作为评估度量,用于法线精度比较。本文主要从文献[29]和文献[31]的合成网格模型测试集的数据来获取基准数据。该数据集包括11个特征尖锐的模型、8个特征丰富的模型、8个表面光滑的模型和8个强噪声的模型这4种类别,每个类别都包含具有挑战性几何特征和不同采样密度的点云。为了扩充数据,特征尖锐和表面光滑类别中的每个点云都受到高斯噪声的干扰,其标准偏差为包围盒对角线长度的0.05%、0.1%和0.15%,对于特征丰富类别添加0.05%、0.1%、0.15%和0.2%的噪声,对于强噪声类别添加0.2%、0.3%、0.4%和0.5%的噪声,最终基准数据集总共包含121个点云。将本文的方法在只用尺度面片选择模块与使用完整的网络结构两种情况与几种最新的方法进行了比较:PCA[17],HF[5],LRR[32],PCV[31],HoughCNN[6],PCPNet[15]和Nesti-Net[4],并且用本文的数据集对HoughCNN、PCPNet和Nesti-Net进行了再训练。其中HoughCNN有使用单尺度、3尺度和5尺度的三个版本,PCPNet有单尺度和多尺度两个版本,本文对所有情况都进行了评估。比较上述方法时,对于特征尖锐、特征丰富和表面光滑三个类别中令单尺度方法的邻近点的数量为K=100,HoughCNN的3尺度版本使用其原文推荐的50、100和200这3种邻近点数量,HoughCNN的5尺度版本用K=32、64、128、256、512,本文的多尺度方法在多尺度面片选择时将邻近点的数量设置为K=50、100、150。对于强噪声类别,将每种方法的对应邻近点数量加倍,所有其他参数均按默认值设置。结果通过图5中的条形图说明,本文的方法在所有方面都优于其他方法,尤其在强噪声模型上更为突出。

图5 不同方法的误差对比

本文的方法也在文献[29]中用微软Kinect v1扫描的真实点云数据集上进行了测试。在图6中展示了彩色渲染后的法线估计的视觉效果比较。真实的扫描数据更加具有挑战性,如来自于Kinect相机的投影表面上的起伏。非高斯噪声和非连续噪声干扰了估计器对真实面的恢复,通过训练这些扫描数据,本文的网络能够从扫描噪声获取几何特征。同时,如表1所示在法线精度方面,本文的方法优于所有其它方法。在表1中记录了图6和图8中所有模型的误差和时间数据,本文的方法的运行时间是包括所有步骤的总测试时间。

图6 真实点云视觉效果比较

此外,本文还展示了文献[27]提供的几个真实扫描的室内场景的定性结果。用同一个数据集训练所有网络,以便进行公平比较,从图7来看,PCA、HF、HoughCNN和PCV可以保留微小的细节,但是同时也会保留噪声。Nesti-Net可以很好地平滑噪声表面,但会过度平滑几何特征。在表1中记录了图6和图8中所有模型的误差和时间数据,本文的方法的运行时间是包括所有步骤的总测试时间。

图7 真实扫描的室内场景对比

本文进行消融实验来验证本文网络的每个模块的有效性,对所提出的学习方法与其另外三种变体进行了比较。方案1只训练由次优法线构造高度图和法线图,并输出变换矩阵来改善法线。方案2是在不使用收集模块的情况下,对由滤波法线构造的高度图和法线图进行训练。方案3只使用滤波法线构造高度图和法线图进行训练。此外,还记录了次优法线和平均滤波法线的误差。表2总结了在合成数据上法线估计结果的总误差。通过将滤波法线和局部结构信息相结合,本文提出的方法可以得到更可靠、更精确的结果。

表2 消融实验结果

估计良好的法线可以提高许多点云处理任务的效果,如去噪和曲面重建。为了进一步验证本文方法的优点,使用相同的点更新算法,但不同的法线估计方法来显示去噪结果。图8展示去噪和重建结果的视觉效果,可以看出本文的法线估计结果有助于产生更好的去噪和重建结果。

图8 去噪和重建结果的视觉效果

3 结语

在本文中,针对次优法线估计问题,提出了一种多尺度拟合面片选择方案;然后,对次优法线进行双边滤波得到滤波法线,用滤波法线及其构造高度图和法线图组成多尺度描述符;最后,设计了一种包括两个不同学习模块的基于法线的高度图和法线图网络,用于进一步改进法线估计。本文的方法是几何方法和基于学习的方法的结合,与其他方法相比取得了更好的结果。

猜你喜欢

法线面片线图
基于定位法线的工件自由度判定方法及应用
一些图运算的调和指标与调和多项式的线图∗
预测瘢痕子宫阴道试产失败的风险列线图模型建立
椭圆法线定理的逆定理
河沿面片
河沿面片
甜面片里的人生
浅谈切线空间法线贴图在三维建模中的应用
青海尕面片
一类图及其线图的Wiener指数