PCPnet文章简单翻译

论文
代码

因为对于曲率法线等没有专业研究,有些专业名词看不懂,因此只翻译了主要网络部分,初学者有些地方理解不好

引言
形状分析中的一个基本问题是直接从原始点云中稳健地估计局部形状的性质。虽然这个问题已经得到了广泛的研究,但一种在各种数据缺陷(如变化噪声水平、采样密度、细节水平、缺失数据等)下具有鲁棒性的统一方法仍然难以捉摸。
在连续曲面的背景下,法线和曲率等局部曲面性质是经典的微分几何概念,并已知能唯一地描述局部几何,直至刚性变换。 在离散曲面(例如多边形网格)的背景下,估计方法大致分为两组:使用离散微分几何算子评估法线/曲线,或者使用局部原语拟合和使用拟合原语的属性“读出”法线/曲线。
在点云的情况下,第一个挑战是缺乏连接信息。 此外,在实际采集装置中(例如,使用深度相机),数据通常是噪声的、不完整的,并且通常表现出不同的采样密度(基于扫描方向)。通常的方法是首先使用一个 r为半径的球来定义一个邻居,然后将局部原语(例如平面或二次曲面)拟合到相邻点。 虽然该方法简单且经常使用,但在实践中,挑战是适当地选择各种参数。例如选择一个小的r值,以避免平滑掉尖锐信息。在存在噪音的情况下,相同的参数可能会导致不同的结果。大的r值虽然能更加稳定,但是会过渡平滑局部特征。这种基于拟合的方法的关键挑战在于基于取决于形状中(未知)特征分布和(未知)噪声边缘的各种参数手动设置不同的参数。(略)
概括
从有噪声的点云中估计局部曲面特性,如法线或曲率是一个难题,传统上是通过从拟合到点云的局部块的平滑曲面中提取这些特性来解决的。然而,这些方法对参数设置很敏感,如邻域大小,或拟合表面的程度,这在实践中需要仔细设置。取而代之,我们提出了一种替代方法,基于在相对较小的形状上训练的深度神经网络,以适应相对较小的形状。
给定一个点云P,我们的PCPnet是作用于以Pi为中心的局部点云块(patch),这个局部块是以固定的r为半径的边框范围。然后,我们估计这些块中心点的局部形状属性。我们网络的架构是受最近的PointNet的启发,适应局部r邻域块,而不是整个点云。网络在局部块邻域中学习一组k个非线性函数,可以直观地理解为块不同区域的一组密度估计器。这些给出了每个块的k维特征向量,然后可以用来回归各种局部特征。
计算
我们在这项工作中的目标是从一个近似采样的未知表面的点云重建局部表面性质。在现实世界中,这些点云通常源于扫描或立体重建,并遭受各种恶化的条件,如噪音和不同的采样密度。传统的恢复曲面属性的几何方法在正确的参数设置下通常表现得相当好,但找到这些设置是一个依赖于数据的任务,而且通常是一个困难的任务。另一方面,深度学习方法的成功的部分原因是,它们可以在单一的超参数设置下对各种条件具有鲁棒性,这似乎很自然地适合这个问题。目前缺乏深度学习解决方案可能是由于难以将深度网络应用于非结构化输入,如点云。简单地输入点作为一个列表,将使后续的计算依赖于输入的顺序。
最近Point Net提出了解决这一问题的可能办法,提出将输入点与对称函数相结合,以实现顺序独立性。然而,Point Net被全局应用于整个点云,虽然作者也演示了局部表面性质的估计,但这些结果受该方法的全局性质的影响。 Point Net在点云中计算两种类型的特征:整个点云的单个全局特征向量和每个点的一组局部特征向量。局部特征向量是基于单个点的位置,但是没有包含任何邻居信息。依靠全部局部或者全部全局特征向量去估计邻域的信息特征是非常困难的。
相反,我们提出计算描述点周围局部邻域的局部特征向量。这些特征更适合于估计局部表面性质。在本节中,我们提供了Point Net架构的另一种分析,并显示了该方法的变化,可以应用于局部块,而不是全局在整个点云上获得强大的性能提高,优于目前的先进水平。
预处理
给定一个点云,局部块 Pri是以点Pi为中心的包含了所有距离中心距离小于r的点。我们对这个块的目标是获得局部的表面特征,比如法线(normal)和主要曲率值。为了去除不必要的自由度,我们将这个块单位化,将其半径乘以1/r进行归一化。由于曲率值取决于尺度,我们通过乘以r将输出曲率转换为点云的原始尺度。我们的网络以固定数量的点作为输入。点太少的块被填充为零(块中心),我们为点太多的块选择一个随机子集。
结构
我们的单尺度网络遵循Point Net体系结构,有两个变化:我们将第一个空间变换网络约束到旋转域,并将max对称函数变成sum函数。该架构的概述如图2所示。我们现在将描述为什么选择这种结构。在这里插入图片描述
四元空间变换
这个结构的第一步就是把输入变成合适的位置(STN),这种转换是对训练进行了优化,使用空间变换网络。我们限制了这种转换到旋转域,不是生成一个3*3的矩阵,而是一个四元数。这样做有两个原因:第一,与语义分类不同,我们的输出是对块的转换很敏感的几何特性。这导致了早期实验中不稳定的收敛行为,其中缩放将导致极值。仅旋转约束稳定收敛。其次,我们必须将这个变换的逆应用于最终的表面性质,并且计算旋转的逆是不重要的。
点函数和对称运算
该网络的一个重要特性是,它应该对输入点的顺序是不变的,Qi证明这可以通过应用一组函数{h1,……}共享参数,然后使用对称操作组合每个点的结果值(详见Point net):在这里插入图片描述
Hl(Pri)是这个块的特征,hl叫做点函数,它们是标量值函数,在块的局部坐标系中定义。函数Hl可以直观地理解为hl给出的区域的密度估计量。它们的响应越强,在hl的非零区域中的点就越多。与Qi等人提出的使用最大值作为对称运算相比,我们的sum没有显著的性能差异;然而,我们决定使用sum来给我们的点函数一个简单的概念解释作为密度估计。点函数hl的计算方法为:在这里插入图片描述
FNN2是一个三层的全连接层,STN2是第二个空间转换。函数g可以理解为一组不太复杂的点函数,因为它们在网络中处于较浅的深度,它们的计算结果类似于h。
第二个空间转换
第二个空间转换操作在特征向量g={g1(pj),…,g64(pj)}上,给出一个64×64变换矩阵。通过将转换解释为一个完全连接的层,可以从一个块中所有点的g特征向量中计算出来的权重作为全连接层的权重的变换中得出一些信息。这将全局信息引入到点函数中,提高了网络的性能。
输出回归法
在一个训练过的模型中,补丁特征向量H={(H1(Pri)),…}提供了对补丁的丰富描述。可以从这个特征向量中回归各种表面性质。我们使用一个三层全连通的网络来执行这种回归。
多刻度
我们将在结果中表明,上述体系结构对噪声强度和样本密度的变化非常稳健。为了获得额外的鲁棒性,我们实验了该体系结构的多尺度版本。我们没有使用单个块作为输入,而是输入了三个具有不同半径的块Pr1i、Pr2I和Pr1I。由于我们的块的规模标准化,这些补丁被缩放到相同的大小,但包含不同大小的点云区域。这允许所有的点函数集中在同一区域。我们还将点函数的数量增加了三倍,但将每个函数应用于所有三个块。 然而,和是分别计算在每个块。 这导致块特征函数H增加九倍,然后用于回归输出属性。 图2用两个块说明了这个架构的一个简单版本。
评估和讨论
在本节中,我们在不同的设置下评估我们的方法,并将其与当前最先进的方法进行比较。特别地,我们将我们的曲率估计与渗透射流法和基线PCA方法进行了比较,并将正常估计与Point Net和Boulch等人的正常估计方法进行了比较。我们测试了这些方法在不同噪声水平和采样率的形状上的性能,如下所述。 对于Boulch等人的方法,我们使用作者提供的代码和经过训练的网络。Point Net有代码,但没有预先训练好的网络可以进行正常估计,所以我们在数据集上重新训练。对于其他方法,我们在CGAL中使用该实现。
通过训练不同的输出值,PCPnet可以被训练用于输出3D法线、曲率,或同时包含两者。当分别对法线和曲率进行训练或联合使用单一网络进行两种输出时,我们会评估网络的性能。我们还比较了使用两个曲率值训练的网络与为单个曲率值训练的网络的性能。
数据集
在点云块而不是完全形状的点云上训练网络的优点之一是我们可以从每个形状中采样大量的块,两个靠近中心点的块在它们所包含的结构类型方面可能仍然存在显著的不同,如边缘、角等。因此,我们可以使用一个相对较小的标记形状的数据集来有效地训练我们的网络。图5显示了我们的数据集中的形状。在这里插入图片描述
我们的训练数据集包含8个形状,其中一半是人做的物体或具有平面和锐角的几何结构,另一半是对雕像(兔子、龙和海龟)的扫描。所有形状都给出了三角形网格。我们用10万点均匀地对每个网格的面进行采样,以生成一个点云。这10万点都可以用作块中心。我们用它采样的面的法线来标记每个点。我们还估计了顶点上的κ1和κ2曲率值,并为每个采样点插值它们。曲率估计是用鲁辛基维奇提出的方法进行的。对于每个网格,我们都会生成一个无噪声的点云和三个标准差为0.0025,0.012和0.024的边界框对角线的形状的高斯噪声点云。这些示例见图6所示。噪声被添加到点位置,但没有改变地面真值法线和曲率,因为其目标是恢复网格的原始法线和曲率。总共,我们的训练数据集包含每个网格的4个变体,或者总共包含32个点云。在这里插入图片描述
我们的测试集包含19个形状的小雕像和人造物体。我们还包括3种从可微曲面的解析构造和采样的形状,这些曲面到处都有明确定义的法线和曲率。对于这些形状,法线和曲率是用来精确地计算每个采样点的,而不是用网格的面和顶点来近似。
除了我们上面描述的三个噪声变体之外,我们还为每个具有不同密度的网格生成两个点云,这样与其他区域相比,形状的某些区域被稀疏采样(见图6)。 这使我们在测试集中总共有90个点云。
评估指标
作为训练过程中的损失函数,为了评估我们的结果,我们计算了预测的法线和/或曲率与形状的地面真实数据的偏差。对于法线,我们实验了欧氏距离和在估计的正常值和地面正常值之间角差。在训练过程中,平均平方欧几里德距离略有改善,但为了更好的可解释性,我们使用均方根角差来评估我们在测试集上的结果。
训练和评估设置
我们的网络可以分别进行法线和曲率的训练,也可以同时联合输出。在联合网络中,在训练期间结合损失函数。我们用这两种变量进行实验,以测试关于曲率的信息是否有助于正常估计,反之亦然,因为这两者是相关的。我们为每个变体训练单尺度和多尺度网络,每个网络都有1024点函数h(?)。
我们的网络的变体是通过在100K个点云中随机选择点作为中心点来训练的。块的半径相对于点云的边界框的长度。单规模网络的块大小为0.05,多规模网络的块大小为0.01、0.03和0.07。我们每个块使用固定数量的500个点。如果块半径内点较少,我们使用零(块中心)填充。该网络可以很容易地学习忽略这些填充点。如果在半径内有更多的点,我们会选择一个随机的子集。一种更复杂的子采样方法可以在未来的工作中实现,这可能特别有利于处理不同的采样密度。
下略,详见原文。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部