pointfilter论文知识点记录

什么是点云

点云是指由一系列的点构成的三维空间数据集合。每个点都具有三维坐标(x, y, z),代表了点在空间中的位置。点云可以用来描述物体的形状、表面的细节以及环境的结构。

点云通常是通过激光扫描(LiDAR)、立体相机、深度传感器等设备获取的。在激光扫描中,激光束被发射出去,然后反射回来,激光传感器测量反射回来的时间和强度,从而确定点的位置和其他属性。立体相机和深度传感器则通过观察场景中的像素强度和深度信息来获取点云数据。

点云在许多领域中被广泛应用。在计算机图形学中,点云可以用于建模、渲染和动画等方面。在计算机视觉和机器人领域,点云可用于三维重建、物体识别、障碍物检测和自主导航等任务。此外,点云还在地质勘探、医学图像处理和虚拟现实等领域中发挥着重要作用。

处理点云数据的方法包括滤波、分割、配准、特征提取和模型拟合等。这些方法旨在提取有用的信息并对点云进行分析和处理,以满足具体应用的需求。

编码器-解码器

编码器-解码器是一种常见的模型结构,广泛应用于许多机器学习任务,特别是在语音处理、图像处理和自然语言处理等领域。

**编码器-解码器结构的基本思想是将输入数据转换为潜在表示(编码),然后从潜在表示中重构出原始数据(解码)。**编码器负责将输入数据映射到一个低维表示空间,捕获输入数据的关键特征。解码器则从潜在表示中恢复原始数据,尽可能精确地还原输入数据。

在语音处理中,编码器-解码器可以用于语音识别任务。编码器接受输入的语音信号,将其转换为一个潜在的语义表示,然后解码器将这个语义表示转换回文字或其他形式的输出。

在图像处理中,编码器-解码器结构被广泛应用于图像生成、图像压缩和图像降噪等任务。编码器将输入图像转换为一个低维表示,然后解码器从这个表示中重构出原始图像。

在自然语言处理中,编码器-解码器结构主要用于机器翻译任务。编码器接受源语言句子并生成一个潜在表示,然后解码器从这个表示中生成目标语言的翻译结果。

编码器-解码器结构通常基于神经网络模型,如循环神经网络(RNN)、卷积神经网络(CNN)或变换器(Transformer)。这种结构的优势在于能够学习输入数据的抽象表示,并且可以适应不同长度和复杂度的输入。通过端到端的训练方式,编码器-解码器模型可以自动学习输入和输出之间的映射关系,从而在多种任务上展现出强大的表达能力。

摘要

Point cloud filtering is a fundamental problem in geometry modeling and processing. Despite of significant advancement in recent
years, the existing methods still suffer from two issues: 1) they are
either designed without preserving sharp features or less robust in
feature preservation; and 2) they usually have many parameters
and require tedious parameter tuning. In this paper, we propose
a novel deep learning approach that automatically and robustly
filters point clouds by removing noise and preserving their sharp
features. Our point-wise learning architecture consists of an encoder and a decoder. The encoder directly takes points (a point and
its neighbors) as input, and learns a latent representation vector
which goes through the decoder to relate the ground-truth position with a displacement vector. The trained neural network can
automatically generate a set of clean points from a noisy input.
Extensive experiments show that our approach outperforms the
state-of-the-art deep learning techniques in terms of both visual
quality and quantitative error metrics. The source code and dataset
can be found at https://github.com/dongbo-BUAA-VR/Pointfilter.

翻译

点云滤波是几何建模和几何处理中的一个基本问题。
尽管近年来取得了很大的进步,但现有方法仍然存在两个问题:
1)设计时没有保留尖锐特征或特征保留的鲁棒性较差;
2)它们通常有很多参数,需要繁琐的参数调整。
在本文中,我们提出了一种新的深度学习方法,通过去除噪声并保留其尖锐特征来自动鲁棒地过滤点云。(论文的创新点)
我们的逐点学习架构由一个编码器和一个解码器组成。编码器直接将点(一个点及其相邻点)作为输入并学习一个潜在的表示向量,该表示向量通过解码器将真地位置与位移向量联系起来训练后的神经网络可以从噪声输入中自动生成一组干净点

keywords

Automatic point cloud filtering, deep learning, autoEncoder, featurepreserving

翻译

自动点云滤波,深度学习,自动编码器,特征保持

INTRODUCTION

As the output of 3D scanning processes, point clouds are widely used in geometry processing, autonomous driving and robotics.

Many point clouds, especially the ones obtained from consumerlevel depth sensors, are corrupted with noise. Therefore, point cloud filtering is a necessary preprocessing step for the downstream applications.

The last two decades have witnessed significant progress in point cloud filtering. Many elegant algorithms have been proposed. The LOP (Locally Optimal Projection) methods including LOP [Lipman et al 2007], WLOP (weighted LOP) [Huang et al 2009] and CLOP (continuous LOP) [Preiner et al 2014]), are robust to noise and outliers. RIMLS (robust implicit moving least squares) [Öztireli et al 2009] and GPF (GMM-inspired Feature-preserving Point Set Filtering) [Lu et al 2018] can preserve sharp features. Nevertheless, these techniques still suffer from either feature smearing or less robustness in filtering. For example, the LOP family [Huang et al

2009; Lipman et al 2007; Preiner et al 2014] are not designed for preserving sharp features, because of their inherent isotropic nature.

RIMLS [Öztireli et al 2009] and GPF [Lu et al 2018] depend heavily on normal filters and are not robust for large noise or non-uniform sampling. Furthermore, it is not easy for GPF [Lu et al 2018] to find a proper radius that balances noise removal and gaps near edges, and it is also slow due to high computational cost of ExpectationMaximization (EM) optimization. Finally, they all need careful trialand-error parameter tuning which is tedious and time-consuming.

Deep learning has proven highly effective in processing regular data, such as images and videos [He et al 2015; Simonyan and Zisserman 2015]. However, it is non-trivial to apply deep learning techniques to irregular data, such as point clouds. To our knowledge, point cloud filtering with resorting to deep learning has been rarely studied so far, such as EC-Net [Yu et al 2018a], PCN [Rakotosaona et al 2019] and TotalDenoising [Hermosilla et al 2019].

These data-driven approaches avoid the tedious parameter tuning, however, they still generate limited results with either smoothing out sharp features or poor generalization, which diminishes their usages in real-world applications. In this paper, we propose a novel deep learning approach to overcome the above issues. Motivated by the successes of AutoEncoder and PointNet [Charles et al 2017; Schmidhuber 2015], we design an end-to-end neural network, called Pointfilter, for point cloud filtering. Our network is an encoder-decoder based architecture which straightforwardly takes the raw neighboring points of each noisy point as input, and regresses a displacement vector to push this noisy point back to its ground truth position. In designing the loss function, we also take sharp features into account so that sharp features can be preserved by this network. Given a noisy point cloud as input, our trained model can automatically and robustly predict a corresponding clean point cloud, by removing noise and preserving sharp features. Various experiments demonstrate that our method achieves better performance than the state-of-the-art techniques (or comparable to optimization based methods like RIMLS and GPF which require decent normals and trial-and-error parameter tuning), in terms of visual quality and error metrics. Our method is fast and avoids manual parameter tuning. We show the main features of the existing techniques and our method in Table 1.

翻译

点云作为三维扫描过程的输出,在几何处理、自动驾驶、机器人等领域有着广泛的应用。

许多点云,特别是从消费者级深度传感器获得的点云,都被噪声破坏了。因此,点云滤波是后续应用的必要预处理步骤。

近二十年来,点云滤波技术取得了重大进展。已经提出了许多优雅的算法。LOP(局部最优投影)方法包括LOP [Lipman et al . 2007]、WLOP(加权LOP) [Huang et al . 2009]和CLOP(连续LOP) [Preiner et al . 2014]),对噪声和异常值具有鲁棒性。RIMLS(鲁棒隐式移动最小二乘)[Öztireli等人2009]和GPF(基于gmm的特征保持点集滤波)[Lu等人2018]可以保留尖锐的特征。然而,这些技术仍然存在特征模糊或滤波鲁棒性较差的问题。例如,LOP家族[Huang et al .

2009;Lipman et al . 2007;Preiner等[2014]并不是为了保留尖锐特征而设计的,因为它们固有的各向同性。

RIMLS [Öztireli等人2009]和GPF [Lu等人2018]严重依赖普通滤波器,对于大噪声或非均匀采样不具有鲁棒性。此外,GPF [Lu et al . 2018]不容易找到一个适当的半径来平衡噪声去除和边缘附近的间隙,并且由于ExpectationMaximization (EM)优化的高计算成本,它也很慢。最后,它们都需要仔细的试错参数调优,这既繁琐又耗时。

深度学习已被证明在处理常规数据(如图像和视频)方面非常有效[He et al . 2015;Simonyan and Zisserman 2015]。然而,将深度学习技术应用于不规则数据(如点云)并非易事。据我们所知,到目前为止,利用深度学习进行点云滤波的研究很少,例如EC-Net [Yu等人2018a], PCN [Rakotosaona等人2019]和TotalDenoising [Hermosilla等人2019]。

**这些数据驱动的方法避免了繁琐的参数调优,然而,它们仍然产生有限的结果,要么平滑尖锐的特征,要么泛化不良,这减少了它们在实际应用程序中的使用。**在本文中,我们提出了一种新的深度学习方法来克服上述问题。受AutoEncoder和PointNet成功的激励[Charles et al . 2017;Schmidhuber 2015],我们设计了一个端到端神经网络,称为Pointfilter,用于点云过滤。
**我们的网络是一个基于编码器-解码器的架构,它直接将每个有噪声点的原始相邻点作为输入,并回归一个位移向量,将这个有噪声的点推回到它的真实位置。在设计损失函数时,我们还考虑了尖锐特征,使得该网络能够保留尖锐特征。在给定噪声点云作为输入的情况下,我们的训练模型可以通过去除噪声和保留尖锐特征来自动和鲁棒地预测相应的干净点云。**各种实验表明,在视觉质量和误差指标方面,我们的方法比最先进的技术(或与基于优化的方法(如RIMLS和GPF)相比,需要适当的法线和试错参数调整)实现了更好的性能。
该方法速度快,避免了手动参数调优。我们在表1中展示了现有技术和我们的方法的主要特点。

Table 1:

Comparison of the main characteristics (CHs) between the state-of-the-art point set filtering techniques and our method. For the normal independence, we only consider the inference stage for learning-based techniques. ✓ and × denote YES and NO, respectively. ✓∖ indicates an “intermediate” level between YES and NO.

表1:

最先进的点集滤波技术和我们的方法之间的主要特征(CHs)的比较。对于正常的独立性,我们只考虑基于学习的技术的推理阶段。✓和x分别表示YES和NO。“✓”表示“是”和“否”之间的“中间”级别。
在这里插入图片描述

We first review the methods for point cloud filtering, and then discuss the existing deep learning techniques for point clouds.

我们首先回顾了点云滤波的方法,然后讨论了现有的点云深度学习技术。

2.1 Point Cloud Filtering Point cloud filtering can be generally classified into two types: two-step based techniques and projection-based methods.

Two-step based Methods. The two-step based framework consists of at least two steps: normal smoothing and point position update under the guidance of the filtered normals. To preserve sharp features, Avron et al [Avron et al 2010] and Sun et al [Sun et al 2015] introduced L1 and L0 optimization for point set filtering, respectively. Recently, with sharp feature skeletons, a point cloud smoothing technique [Zheng et al 2017] was presented based on the guided filter and was extended to point clouds via a multinormal strategy. Zheng et al [Zheng et al 2018] extended the rolling guidance filter to point set filtering and designed a new point position updating strategy to overcome sharp edge shrinkage. Lu et al

[Lu et al 2018] proposed a two-step geometry filtering approach for both meshes and point clouds. Although these two-step methods achieve promising results in point cloud filtering, they rely highly on normal estimation which is typically sensitive to heavy noise and non-uniform sampling. Most point set filtering methods achieve filtered results through projecting the input point set onto the underlying point set surface.

Projection-based Methods. One popular category of this type is moving least squares and its variants [Alexa et al 2003, 2001; Amenta and Kil 2004; Fleishman et al 2005; Levin 1998; Levin 2004; Öztireli et al 2009]. The moving least squares (MLS) has been seminally formulated by Levin [Levin 1998; Levin 2004]. Some works defined moving least squares (MLS) and extremal surfaces [Alexa et al 2003, 2001; Amenta and Kil 2004]. Later, two different variants have been presented for projection: statistics-based and robust implicit moving least squares (RIMLS) [Fleishman et al 2005; Öztireli et al 2009]. Although RIMLS can preserve share features to some extent, it is not easy to find a proper support radius, which makes it difficult to noisy input. Lange et al [Lange and Polthier 2005] developed a method for anisotropic fairing of a point sampled surface using an anisotropic geometric mean curvature flow. Recently, the LOP (locally optimal projection) based methods have become increasingly popular. For example, Lipman et al [Lipman et al 2007] proposed the locally optimal projection operator (LOP) which is parameterization free. Later, Huang et al [Huang et al 2009] presented a weighted LOP (WLOP), which enhances the uniform distribution of the input points. A kernel LOP has also been proposed to speed up the computation of LOP [Liao et al 2013]. More recently, a continuous LOP (CLOP) has been presented to reformulate the data term to be a continuous representation of the input point set and arrives at a fast speed [Preiner et al 2014]. The LOP-based methods cannot preserve sharp features/edges, due to lack of consideration of sharp information. Note that a few projection-based methods utilize smoothed normals as prior to preserve sharp features, such as EAR [Huang et al 2013] and GPF [Lu et al 2018]. Since these methods contain a number of parameters, careful trial-and-error parameter tuning is required to obtain decent results, especially for complex models.

2.1点云滤波点云滤波一般分为两种:基于两步的方法和基于投影的方法。

基于两步的方法。**(两步法)**基于两步的框架至少包括两个步骤:法线平滑和在过滤后的法线指导下的点位置更新。为了保持鲜明的特征,Avron等[Avron et al 2010]和Sun等[Sun et al 2015]分别对点集滤波引入L1和L0优化。最近,针对尖锐的特征骨架,提出了一种基于引导滤波的点云平滑技术[Zheng et al . 2017],并通过多正态策略扩展到点云。Zheng等[Zheng et al . 2018]将滚动制导滤波扩展到点集滤波,设计了一种新的点位置更新策略来克服锐边收缩。
Lu等人[Lu et al . 2018]提出了一种针对网格和点云的两步几何滤波方法。**虽然这两步方法在点云滤波中取得了很好的效果,但它们高度依赖于正态估计,而正态估计通常对重噪声和非均匀采样敏感。**大多数点集滤波方法通过将输入点集投影到底层点集表面来实现滤波结果。
(ps:知识点补充:什么是点云中的法线
在点云中,法线(Normals)是指每个点所关联的方向向量,用于表示该点所在位置的表面的朝向。法线在点云处理和计算机图形学中起着重要的作用,可以提供有关点云表面的几何信息。
对于点云中的每个点,法线向量指示了该点所在位置的表面在该点处的朝向。法线通常垂直于表面,在平滑的曲面上法线会沿着曲面的方向变化,而在尖锐的角或边缘处法线可能会发生不连续性。
计算点云的法线可以有多种方法,其中一种常见的方法是使用邻域信息。对于每个点,可以选择一定范围内的邻近点,然后通过拟合最佳平面或曲面来计算该点的法线。常用的算法包括最小二乘法、主成分分析(PCA)和基于协方差矩阵的方法等。
法线在点云处理中有广泛的应用。它们可以用于表面重建、曲面平滑、形状分析、物体识别、点云配准和渲染等任务。例如,在表面重建中,通过估计点云中每个点的法线,可以更好地重建出平滑的表面模型。在物体识别中,法线可以帮助区分不同物体的朝向和形状特征。
总而言之,点云中的法线提供了关于表面几何和朝向的重要信息,可以用于许多点云处理任务中的几何分析和计算。

ps:知识点补充:什么是两步法。
在点云滤波中,“两步法”(Two-Step Method)可以指一种常用的滤波方法,用于对点云数据进行去噪和平滑处理。
该两步法通常包括以下两个主要步骤:
1.点云预处理:在这一步骤中,点云数据被预处理以去除离群点和异常值。常见的预处理方法包括统计滤波(如均值滤波、中值滤波)、基于距离的滤波(如半径滤波、K近邻滤波)或基于密度的滤波(如统计局部离群因子、基于DBSCAN的滤波)等。这些方法根据点的邻域信息或统计特征进行点云数据的筛选和滤波,以去除噪声点和离群点。
2.平滑滤波:在预处理后,通过应用平滑滤波方法对点云进行进一步平滑处理。
平滑滤波有助于减少噪声的影响,同时保留点云的整体形状和特征。
常见的平滑滤波方法包括高斯滤波、移动平均滤波、曲面拟合滤波等。
这些方法通过在点的邻域中进行加权平均或曲面拟合来平滑点云数据,从而消除噪声和局部不规则性。
通过这两个步骤的组合,两步法能够较好地进行点云的去噪和平滑处理,提高点云数据的质量和可用性。具体选择适当的预处理和平滑滤波方法,以及相应的参数设置,需要根据点云数据的特点和应用需求进行调整。

Projection-based方法。(投影法)
这种类型的一个流行类别是移动最小二乘及其变体[Alexa等人2003,2001;Amenta and Kil 2004;Fleishman等人2005;莱文1998;莱文2004;Öztireli et al . 2009]。移动最小二乘(MLS)是由Levin [Levin 1998;莱文2004]。一些研究定义了移动最小二乘(MLS)和极值曲面[Alexa等,2003,2001;Amenta and Kil 2004]。后来,针对投影提出了两种不同的变体:基于统计的和鲁棒隐式移动最小二乘(RIMLS) [Fleishman et al . 2005;Öztireli et al . 2009]。
虽然RIMLS可以在一定程度上保留共享特征,但它不容易找到合适的支持半径,这给噪声输入带来了困难。
Lange等人[Lange and Polthier 2005]开发了一种利用各向异性几何平均曲率流对点采样表面进行各向异性整流的方法。近年来,基于局部最优投影(LOP)的方法越来越受欢迎。例如,Lipman等[Lipman et al 2007]提出了无参数化的局部最优投影算子(LOP)。后来,Huang等[Huang et al 2009]提出了加权LOP (WLOP),增强了输入点的均匀分布。为了加快LOP的计算速度,还提出了一个核LOP [Liao et al . 2013]。最近,连续LOP (CLOP)被提出,将数据项重新表述为输入点集的连续表示,并以较快的速度到达[Preiner et al . 2014]。由于缺乏对锐度信息的考虑,基于lop的方法不能保留锐度特征/边缘。请注意,一些基于投影的方法像以前一样利用平滑法线来保留清晰的特征,例如EAR [Huang等人2013]和GPF [Lu等人2018]。由于这些方法包含许多参数,因此需要仔细的试错参数调优才能获得满意的结果,特别是对于复杂的模型。
解释:
在点云滤波中的投影法中,最小二乘法(Least Squares Method)可以用于拟合投影后的点云数据,并进行滤波处理。
最小二乘法是一种常见的优化方法,用于拟合数据点与某个函数或模型之间的最佳拟合。在投影法中,最小二乘法可用于在投影平面上拟合点云数据,并估计平面参数,从而进行滤波操作。

以下是使用最小二乘法进行投影滤波的一般步骤:

1. 投影:将三维点云数据投影到所选的平面上,得到二维点集。

2. 平面拟合:在二维点集上应用最小二乘法,拟合一个平面模型来近似点集。最小二乘法的目标是使点集到拟合平面的垂直距离之和最小化。

3. 滤波:根据平面拟合结果,计算每个点到拟合平面的距离,并根据距离阈值或其他规则来决定是否保留或滤除该点。通常,距离小于阈值的点被保留,而距离大于阈值的点被滤除。

最小二乘法的优化过程可以通过迭代方法或解析方法实现。在迭代方法中,可以使用梯度下降或其他优化算法来逐步调整平面模型的参数,以使拟合误差最小化。在解析方法中,可以使用线性代数方法直接计算出最佳拟合的平面参数。

通过最小二乘法进行投影滤波可以去除点云中的离群点或噪声,并保留平坦表面的特征。
然而,**最小二乘法的性能和效果受到数据质量、参数选择和初始条件的影响。**因此,在实际应用中,需要根据具体情况进行参数调整和评估,以获得满意的滤波结果。

Deep Learning on Point Clouds

Point-based Network Architecture. Qi et al. [Charles et al. 2017]
proposed the pioneering network architecture, named PointNet,
which can consume raw points without voxelization or rendering.
In contrast to the conventional CNNs that rely on convolution operators, PointNet adopts the multi-layer perceptrons for feature
extraction, hereby working well for irregular domains. PointNet
is simple and elegant, and provides a unified framework for shape
classification and segmentation. However, PointNet processes the
points individually, and cannot characterize local structures which
are crucial for high-level semantic understanding. To overcome this
limitation, Qi et al. developed an improved version, PointNet++,
which aggregates local structures in a hierarchical way [Qi et al.2017]. Following PointNet and PointNet++, lots of network architectures applied on raw point clouds emerged. For instance, based on dynamic local neighborhood graph structure, Wang et al [Wang et al 2019] designed an EdgeConv block to capture the relationships both in spatial and feature space. At the same time, an alternative convolutional framework, SpiderCNN [Xu et al 2018], was proposed to aggregate neighboring features by a special family of parameterized weighted functions instead of MLPs. Leveraging the spatial-locally correlation, a novel block, named X-Conv [Li et al

2018], is proposed to tackle the degradation of shape information and variance to point ordering caused by directly applying convolution kernels on point clouds. Inspired by the Scale Invariance Feature Transform [Lowe 2004] (SIFT) which is a robust 2D representation, the SIFT-like module [Jiang et al 2018] was developed to encode information of different orientations and scales and could be flexibly incorporated into PointNet-style networks. Besides shape classification and segmentation tasks, there are few point input network architectures applied on upsampling [Yifan et al 2019; Yu et al 2018b], local shape properties estimation [Guerrero et al 2018; Lu et al 2020] and so on.

基于点的网络架构。Qi等人[Charles et al . 2017]提出了一种名为PointNet的开创性网络架构,它可以在没有体素化或渲染的情况下消耗原始点。

与传统的依赖卷积算子的cnn相比,PointNet采用多层感知器进行特征提取,可以很好地处理不规则域。PointNet简单而优雅,为形状分类和分割提供了统一的框架。然而,PointNet单独处理这些点,不能表征对高级语义理解至关重要的局部结构。为了克服这一限制,Qi等人开发了一个改进版本PointNet++,它以分层的方式聚合局部结构[Qi等人 ]
继PointNet和PointNet++之后,出现了许多应用于原始点云的网络架构。例如,Wang等人[Wang et al 2019]基于动态局部邻域图结构设计了一个EdgeConv块来捕获空间和特征空间中的关系。同时,提出了一种替代卷积框架SpiderCNN [Xu et al . 2018],该框架通过一组特殊的参数化加权函数代替mlp来聚合相邻特征。利用空间-局部相关性,一个名为X-Conv的新块[Li等人]

[2018],用于解决直接在点云上应用卷积核导致的形状信息和方差对点排序的退化问题。受到尺度不变性特征变换[Lowe 2004] (SIFT)的启发,SIFT是一种鲁棒的2D表示,类似SIFT的模块[Jiang等人2018]被开发用于编码不同方向和尺度的信息,并可以灵活地纳入pointnet风格的网络。除了形状分类和分割任务外,很少有点输入网络架构应用于上采样[Yifan et al . 2019;Yu et al . 2018b],局部形状属性估计[Guerrero et al . 2018;Lu et al . 2020]等。
(这一段主要介绍了一下点云上深度学习的运用。)

Deep Learning on Point Cloud Filtering.

As for point cloud filtering, Roveri et al [Roveri et al 2018] proposed a filtering network, PointProNet, designed for consolidating raw point clouds corrupted with noise. Benefiting from powerful 2D convolution, PointProNet transfers 3D point clouds consolidation into 2D height map filtering. To preserve sharp edges while filtering, Yu et al

[Yu et al 2018a] introduced a novel edge-aware network architecture, called EC-Net, by incorporating a joint loss function. It works well for models with sharp features, but training EC-Net requires manually labelling sharp edges. Combining with [Guerrero et al 2018], a two-stage network architecture, PointCleanNet (PCN) [Rakotosaona et al 2019], was developed for removing outliers and denoisnig separately. Recently, Hermosilla et al [Hermosilla et al 2019] proposed an unsupervised method to filter noisy point clouds. By imposing priors, the method can directly train on noisy data without needing ground truth examples or even noisy pairs.

However, this method cannot preserve share features due to lack of sharp feature information during the training stage. Duan et al

[Duan et al 2019] presented a neural-network-based framework, named NPD, to smooth 3D noisy point clouds via projecting noisy points onto the reference planes. Since it handles points individually, NPD cannot exploit the local information which is important for projection. Also, the global L2 loss is not effective for feature preservation.

点云过滤的深度学习。

对于点云滤波,Roveri et al [Roveri et al 2018]提出了一种滤波网络PointProNet,用于整合被噪声破坏的原始点云。得益于强大的2D卷积,PointProNet将3D点云整合转换为2D高度图过滤。为了在滤波时保持锐利的边缘,Yu等[Yu等人2018a]通过合并联合损失函数引入了一种新的边缘感知网络架构,称为EC-Net。
它适用于具有尖锐特征的模型,但训练EC-Net需要手动标记尖锐边缘(指出缺点)。结合[Guerrero等人2018],开发了一种两阶段网络架构PointCleanNet (PCN) [Rakotosaona等人2019],用于分别去除异常值和去噪。最近,Hermosilla等[Hermosilla et al 2019]提出了
一种无监督的方法来过滤有噪声的点云
。通过施加先验,该方法可以直接在有噪声的数据上进行训练,而不需要ground truth样例甚至不需要噪声对。
然而,该方法在训练阶段缺乏清晰的特征信息,无法保留共享特征。Duan等
[Duan等人2019]提出了一种名为NPD的基于神经网络的框架,通过将噪声点投影到参考平面上来平滑3D噪声点云由于它单独处理点,NPD不能利用对投影很重要的局部信息。此外,全局L2损失对于特征保存也不是有效的。

知识点补充:
L0、L1 和 L2 是指在优化问题中常见的正则化项。

1. L0 正则化:L0 正则化是指对模型参数进行稀疏化的正则化方法。在优化问题中,L0 正则化通过最小化模型参数的非零元素数量来约束模型的复杂度。它鼓励模型选择尽可能少的非零特征或参数。L0 正则化项通常用于特征选择或稀疏表示问题,但它的优化和求解是一个非凸和 NP-hard 的问题。

2. L1 正则化:L1 正则化是指对模型参数进行稀疏化并推动参数值趋近于零的正则化方法。在优化问题中,L1 正则化通过最小化模型参数的绝对值之和来约束模型的复杂度。它具有稀疏性惩罚和特征选择的效果,可以使一些参数变为零,从而实现特征选择和模型简化。L1 正则化项在许多机器学习任务中都有应用,如线性回归、逻辑回归和稀疏表示问题。

3. L2 正则化:L2 正则化是指对模型参数进行平滑化并控制参数幅度的正则化方法。在优化问题中,L2 正则化通过最小化模型参数的平方和来约束模型的复杂度。它鼓励模型参数趋向于较小的值,有助于防止过拟合。L2 正则化项在许多机器学习算法中被广泛应用,如线性回归、逻辑回归、神经网络等。

**L1 正则化和 L2 正则化是常见的正则化方法,用于控制模型的复杂度和泛化能力。****它们通过在损失函数中引入正则化项,平衡了拟合数据和控制模型复杂度的目标。**L1 正则化可以导致稀疏解,而 L2 正则化则倾向于参数较小的平滑解。具体选择使用哪种正则化项取决于具体问题、数据特征和任务需求。

知识点:什么是正则化项。

在机器学习和统计学中,正则化项(Regularization Term)是用于约束模型复杂度和控制过拟合的一种技术。它是在损失函数中添加的额外项,用于惩罚模型的某些属性或参数,以防止模型过度拟合训练数据。

正则化项通常是一种模型参数的范数(Norm)或其他衡量模型复杂度的度量。通过在损失函数中引入正则化项,可以在优化过程中平衡模型的拟合程度和复杂度,以避免过拟合并提高模型的泛化能力。

常见的正则化项包括:

L1 正则化项:也称为Lasso正则化项,它是模型参数的L1范数,即参数绝对值之和。它倾向于使一些参数变为零,从而实现特征选择和模型简化。

L2 正则化项:也称为岭回归(Ridge Regression)的正则化项,它是模型参数的L2范数,即参数平方和的平方根。它有助于平滑参数,并控制参数的幅度,防止过拟合。

Elastic Net 正则化项:Elastic Net 是 L1 正则化项和 L2 正则化项的线性组合。它综合了 L1 正则化和 L2 正则化的优点,既可以实现特征选择,又可以平滑参数。

正则化项的系数(或超参数)用于控制正则化的强度,即约束模型复杂度的程度。通过调整正则化项的系数,可以在模型的拟合性能和复杂度之间进行权衡。

通过正则化项的引入,优化过程会同时考虑最小化损失函数和正则化项,从而找到更简单和更鲁棒的模型。这有助于防止模型对训练数据过度拟合,提高模型的泛化能力,并减少在未见过的数据上的误差。

点波过滤器的结构
Figure 1: Pointfilter architecture: given a noisy patch with N points (generated by the preprocessing step), we use PCA for alignment and feed the aligned patch into the neural network. Normalized input passes through the shared multi-layer perceptrons (MLPs) to extract local features and then aggregates each point feature by a max pooling layer. The MLPs consist of 5 hidden layers with neuron sizes 64, 128, 256, 512, and 1024, respectively. Following the aggregated features, three fully connected layers, with neuron sizes 512, 256, 3, are used to regress a displacement vector between the noisy point and the underlying surface. All layers except the last one adopt BatchNorm and ReLU, whereas the last layer only uses the activation function tanh to constrain the displacement vector space.

图1:**点滤波器架构:**给定一个带有N个点的带噪声的patch(由预处理步骤生成),我们使用PCA进行对齐,并将对齐后的patch输入神经网络。归一化输入通过共享多层感知器(mlp)提取局部特征,然后通过最大池化层对每个点特征进行聚合。mlp由5个隐藏层组成,神经元大小分别为64、128、256、512和1024。在聚合特征之后,使用神经元大小为512、256、3的三个完全连接层来回归噪声点与下表面之间的位移向量。除最后一层外,其余层均采用BatchNorm和ReLU,而最后一层仅使用激活函数tanh约束位移向量空间。
(知识点补充:patch(补丁):

在点云中,“patch”(补丁)通常指的是局部区域或局部数据块,由一组相邻的点组成。这些相邻点在空间上是接近的,并且具有一定的连续性或相关性。

在点云处理中,使用补丁可以对点云数据进行局部分析、特征提取和处理。补丁可以是固定大小的区域,也可以根据需要动态选择。

补丁在点云中的应用有很多,例如:

1. 特征提取:通过提取补丁的特征,如表面法线、曲率、颜色直方图等,可以获得局部区域的描述和表征。这些特征可以用于点云配准、分类、分割和识别等任务。

2. 点云滤波:在点云滤波中,可以使用补丁来计算每个点的邻域信息,例如邻域点的统计特征,如平均值或中值。这些信息可用于噪声去除、离群点检测和平滑滤波等。

3. 局部分析:通过对补丁进行局部分析,可以获得局部的几何结构、局部曲率变化等信息,从而理解点云数据的局部形状和特征。

4. 点云配准:在点云配准中,补丁可以用于提取局部特征,并用于匹配、对齐或估计点云之间的变换关系。

补丁的大小和形状可以根据具体的任务和应用需求进行选择和定义。在某些情况下,固定大小的正方形或立方体补丁是常见的选择,而在其他情况下,可以根据点云的局部密度和形状自适应地选择补丁。

总之,补丁在点云处理中起着重要的作用,可以提供对点云数据局部信息的分析、特征提取和处理。它们有助于理解点云的局部特征、几何结构和局部关系,并支持各种点云处理任务的实现。
**(**知识点补充:什么是PCA?
PCA(Principal Component Analysis)翻译为‘主成分分析’。
是一种常用的降维技术和数据分析方法。它用于将高维数据集转换为低维表示,同时保留数据集中最重要的信息。

PCA的目标是通过线性变换将原始数据映射到一个新的坐标系统,使得在新坐标系下数据的方差最大化。
这个新的坐标系统由一组称为主成分(Principal Components)的向量组成,它们是原始数据中方差最大的方向。主成分是数据中最具代表性的方向,其排名依次表示它们的重要性。

PCA的基本步骤如下:

1. 数据中心化:将每个特征的均值减去,以使数据集的均值为零。

2. 协方差矩阵计算:计算数据集的协方差矩阵,它描述了数据之间的线性关系。

3. 特征值分解:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。

4. 特征值排序:将特征值按降序排序,选择前k个特征值对应的特征向量作为主成分。

5. 数据投影:使用选定的主成分,将数据投影到新的低维空间中。

**PCA可以用于降低数据维度,从而减少数据集中的冗余信息和噪声,并提取数据中的主要特征。**降维后的数据可以更方便地可视化、处理和分析,并且在某些情况下可以提高模型的效果和计算效率。

除了降维外,PCA还可以用于数据预处理、特征选择、异常检测和数据可视化等领域。它在数据分析、模式识别、计算机视觉和信号处理等领域得到广泛应用。
在这里插入图片描述
Figure 2: Pre-processing of Pointfilter: given a noisy point cloud (left) and a clean point cloud (right), we create a pair of noisy and clean patches (colored in blue). The preprocessing results are shown in the middle (clean patch is colored in yellow)

**图2:Pointfilter的预处理:**给定一个噪声点云(左)和一个干净点云(右),我们创建一对噪声点云和干净点云(蓝色)。预处理结果显示在中间(干净的部分以黄色表示)

3 METHOD

3.1 Overview

Given a noisy point cloud, we aim to restore its clean version by our
Pointfilter in a manner of supervised learning. Before introducing
details of our Pointfilter framework, we first formulate a noisy point
cloud as follows:
在这里插入图片描述
where Pˆ = {pˆ1, … , pˆn | pˆi ∈ R
3
,i = 1 … n} is an observed point
cloud corrupted with noise, P is the corresponding clean point
cloud (underlying surface) and N is the additive noise. In this work,
we address the filtering problem in a local way, which means the
filtered result of a noisy point only depends on its neighboring
structure.As we know, point cloud filtering is an ill-posed problem
and it is difficult to straightforwardly regress the additive noise
for each noisy point like image filtering. As an alternative, we
handle point cloud filtering by projecting each noisy point onto the
underlying surface. More specifically, we treat the additive noise N
as displacement vectors between the noisy point cloud Pˆ and the
clean point cloud P, and learn the displacement vector for each noisy
point. To achieve this, we propose an encoder-decoder architecture
network, named Pointfilter, to regress the additive noise N, shown
in Fig. 1. We briefly introduce a pre-processing step for the input
data in Section 3.2, and then show how to model our Pointfilter in
Section 3.3. We finally explain how we train our network in Section
3.4 and how we make inference with the trained network in Section
3.5.

给定一个有噪声的点云,我们的目标是通过我们的Pointfilter以监督学习的方式恢复其干净的版本。在介绍Pointfilter框架的细节之前,我们首先建立一个嘈杂的点云,如下所示:
在这里插入图片描述
其中P P = {P P 1,…, p n | p i∈R 3,i = 1…n}为被噪声破坏的观测点云,P为对应的干净点云(下垫面),n为加性噪声。在这项工作中,我们以局部方式解决滤波问题,这意味着噪声点的滤波结果仅取决于其邻近结构。
而像图像滤波那样对每个噪声点的加性噪声进行直接回归是困难的。
作为一种替代方案,我们通过将每个有噪声的点投影到底层表面来处理点云滤波。更具体地说,我们将加性噪声N作为带噪声点云P +与干净点云P之间的位移向量,并学习每个带噪声点的位移向量。
为了实现这一点,我们提出了一个编码器-解码器架构网络,名为Pointfilter,用于回归加性噪声N,如图1所示。我们将在第3.2节中简要介绍输入数据的预处理步骤,然后在第3.3节中展示如何对Pointfilter建模。最后,我们将在3.4节中解释如何训练我们的网络,并在3.5节中解释如何使用训练好的网络进行推理。

知识点补充:图像滤波:
图像滤波(Image filtering)是一种对图像进行空间域处理的技术,用于改变图像的特性或减少图像中的噪声。

图像滤波的基本原理是在图像的像素上应用一个滤波器(也称为卷积核或卷积矩阵),通过对每个像素周围的邻域进行计算和加权来修改像素的值。滤波器通常是一个小的矩阵,它可以在图像上滑动并与图像的局部区域进行卷积运算。

常见的图像滤波技术包括:

1. 均值滤波(Mean Filtering):使用滤波器中的像素平均值来替代每个像素的值,可以平滑图像并减少噪声。

2. 中值滤波(Median Filtering):使用滤波器中像素的中值来替代每个像素的值,对于去除椒盐噪声等非局部异常值非常有效。

3. 高斯滤波(Gaussian Filtering):使用高斯函数生成的滤波器对图像进行卷积,可以实现平滑效果,并降低噪声的影响。

4. 边缘增强滤波(Edge-Enhancement Filtering):通过增强图像中的边缘和细节来改善图像的清晰度和对比度。

5. 锐化滤波(Sharpening Filtering):通过增强图像中的高频成分,使图像细节更加清晰和突出。

6. 双边滤波(Bilateral Filtering):结合图像的空间距离和像素强度差异来平滑图像,同时保持边缘的细节。

这些滤波技术可以单独应用于图像,也可以结合使用以获得更好的结果。滤波操作可以应用于灰度图像和彩色图像,并且可以在二维空间上操作(2D滤波)或在图像的每个颜色通道上分别操作。

图像滤波在图像处理中具有广泛的应用,包括去噪、平滑、边缘检测、图像增强、特征提取等。具体选择何种滤波方法取决于应用的需求和图像的特性。)
知识点补充:点云中的加性噪声:
点云中的加性噪声(Additive Noise)是指随机干扰信号被添加到原始点云数据中,导致点云中出现随机的偏移或扰动。

加性噪声在点云中的出现可能是由于传感器噪声、数据采集过程中的干扰、测量误差或环境条件等因素引起的。它会对点云的几何形状和特征造成影响,使得点云的质量下降和数据变得不准确。

点云中的加性噪声可以表现为点位置的随机偏移、点密度的不均匀性或局部形状的扭曲等。它会导致点云的细节模糊、边缘不清晰,并可能对后续的点云处理和分析任务产生负面影响。

为了减少加性噪声对点云数据的影响,可以使用点云去噪技术。常见的点云去噪方法包括:

1. 统计滤波(Statistical Filtering):例如,平均滤波、中值滤波或高斯滤波等,通过计算邻域点的统计特征来滤除噪声点。

2. 基于距离的滤波(Distance-based Filtering):例如,最近邻滤波、法线滤波等,通过比较点之间的距离或法线差异来滤除异常或噪声点。

3. 基于形状的滤波(Shape-based Filtering):例如,基于曲率的滤波、基于平面拟合的滤波等,通过分析点云的局部形状来滤除噪声或异常点。

4. 学习-based滤波(Learning-based Filtering):例如,使用机器学习或深度学习方法来训练模型,对点云进行去噪。

这些去噪方法可以根据点云的特点和应用需求进行选择和应用。去噪过程可能需要权衡保留点云细节和减少噪声的目标,同时要考虑运行时间和计算复杂性。

值得注意的是,点云去噪是一个有挑战性的问题,因为点云数据的复杂性和噪声的多样性。因此,在应用去噪技术时,需要根据具体情况进行合适的方法选择和参数调整,以获得满意的去噪效果。

Preprocessing

Given a pair of point clouds P and Pˆ, the noisy patch Pˆ
i and its
corresponding ground truth patch Pi are defined as follows
ˆPi = {pˆj
| ∥pˆj − pˆi∥ < r }, Pi = {pj
| ∥pj − pˆi∥ < r }, (2)
where pˆi
, pˆj ∈ Pˆ, pj ∈ P and r is the patch radius. Once patches are
generated, two issues need to be addressed in point cloud filtering:
(1) how to avoid unnecessary degrees of freedom from observed
space? (2) how to guarantee our Pointfilter is insensitive to certain
geometric transformations (e.g. rigid transformations)? For the first
issue, an immediate remedy is to translate patches into origin and
then scale them into unit length, i.e., ˆPi = (
ˆPi −pˆi)/r. Similarly, the
ground truth patch Pi does the same thing, i.e., Pi = (Pi −pˆi)/r. To
be invariant to rigid transformations (e.g., rotations), a few methods
[Charles et al. 2017; Qi et al. 2017] attempted to predict rotation
matrix R ∈ SO(3) via an additive spatial transformer network,
while it has been proven to be fragile to rotations without massive
data augmentation [You et al. 2018]. We align the input patches
by aligning their principle axes of the PCA with the Cartesian
space. Specifically, we first align the last principle axis with the
z-axis, and then align the second principle axis with the x-axis.
The alignment process is illustrated in Fig. 2. To effectively tune
network parameters with batches, the number of points in each
input patch should be the same. In our experiments, we empirically
set the default value |
ˆPi
| = 500. We pad the origin for patches
with insufficient points (< 500) and do random downsampling for
patches with sufficient points (> 500). We set the patch radius r to
5% of the model’s bounding box diagonal length.

给定一对点云P和P},噪声patch P} i及其对应的地真值patch Pi定义如下

其中,p i, pj∈p, pj∈p, r为patch半径。一旦生成补丁,在点云滤波中需要解决两个问题:(1)如何避免对观测空间产生不必要的自由度?(2)如何保证我们的Pointfilter是不敏感的某些几何变换(如刚性变换)?对于第一个问题,一个直接的补救措施是将补丁转换为原点,然后将它们缩放为单位长度,即,π = (π−π i)/r。类似地,地面真值patch Pi做同样的事情,即Pi = (Pi−p i)/r。为了对刚性变换(例如旋转)保持不变,有一些方法[Charles等人2017;Qi等人(2017)试图通过加性空间变压器网络预测旋转矩阵R∈SO(3),但事实证明,如果没有大量数据增强,该网络对旋转很脆弱[You等人(2018)]。我们通过将PCA的主轴与笛卡尔空间对齐来对齐输入patch。具体来说,我们首先将最后一个主轴与z轴对齐,然后将第二个主轴与x轴对齐。

对准过程如图2所示。为了有效地批量调整网络参数,每个输入patch中的点数应该相同。在我们的实验中,我们经验地设置默认值| Pi | = 500。对于点数不足(< 500)的patch,我们填充原点,对于点数充足(> 500)的patch,我们随机下采样。我们将patch半径r设置为模型边界框对角线长度的5%。

The Pointfilter Framework

The architecture of our point cloud filtering framework is demonstrated in Fig. 1. The key idea of our Pointfilter is to project each noisy point onto the underlying surface according to its neighboring structure. To achieve this, we design our Pointfilter network as an encoder-decoder network. Specifically, the encoder consists of two main parts: (1) feature extractors (i.e., MLPs) that are used to extract different scales of features; (2) a collector that is used to aggregate the features (N × 1024) as a latent vector z ∈ R 1024. The encoder module attempts to obtain a compact representation for an input patch. In the decoder module, a regressor is employed to evaluate the displacement vectors with the latent representation vector z as input. In this work, we adopt the recent PointNet [Charles et al

2017] as the backbone in our Pointfilter. In practice, the extractors and collector are realised by the shared MLPs and max pooling layer, respectively, and the regressor is constructed by three fully connected layers. Details of our Pointfilter network are shown in Fig. 1. At the beginning of our Pointfiler, a PCA-induced rotation matrix R is applied to transform the input patch to a canonical space. Therefore, at the end of our Pointfiler, an inverse matrix R −1 should be multiplied by the evaluated displacement vector to get the final displacement vector.

Loss function. To enable the filtered point cloud approximating the underlying surface while preserving sharp features, the loss function should be elaborately defined. A simple option for measuring the filtered point cloud would be the L2 distance, which has been used in [Rakotosaona et al 2019]. As shown in Fig. 3, compared with the L2-based distance (4 (b)) which is sampling dependent, a more general alternative is to project noisy points onto the underlying surface (4 ©, (d)). Moreover, the L2-based distance does not specifically consider feature information, since it simply finds the closest points on the ground truth, regardless of feature points or non-feature points. It leads to less sharp feature results (see Fig. 4 ©). Thus, the loss should be capable of measuring the projection distance. Inspired by [Kolluri 2008], our projection loss is defined as

Pointfilter框架

我们的点云过滤框架架构如图1所示。
我们的Pointfilter的关键思想是根据相邻的结构将每个有噪声的点投影到底层表面上。
为了实现这一点,我们将Pointfilter网络设计为编码器-解码器网络。
具体来说,编码器由两个主要部分组成:
(1)特征提取器(即mlp),用于提取不同尺度的特征;
(2)收集器,将特征(N × 1024)作为潜在向量z∈r1024进行聚合。
编码器模块试图获得输入补丁的紧凑表示。
在解码器模块中,使用回归器以潜在表示向量z作为输入来评估位移向量。在这项工作中,我们采用了最近的PointNet [Charles等人]作为我们的Pointfilter的主干。

在实践中,提取器和收集器分别由共享mlp和最大池化层实现,回归器由三个完全连接的层构建。我们的Pointfilter网络的细节如图1所示。在Pointfiler的开头,应用pca诱导的旋转矩阵R将输入patch转换为正则空间。因此,在Pointfiler的末尾,一个逆矩阵R - 1应该乘以计算的位移向量来得到最终的位移向量。

损失函数。
为了使过滤后的点云能够在保持清晰特征的同时逼近下垫面,需要详细定义损失函数。测量过滤后的点云的一个简单选择是L2距离,该方法已在[Rakotosaona等人2019]中使用。如图3所示,与采样相关的基于l2的距离(4 (b))相比,更一般的替代方法是将噪声点投影到下垫面(4 ©, (d))。此外,基于l2的距离并没有特别考虑特征信息,因为它只是在地面上寻找最接近的点,而不考虑特征点或非特征点。这导致特征结果不太清晰(见图4 ©)。因此,损耗应该能够测量投影距离。受[Kolluri 2008]的启发,我们的投影损失定义为

(知识点补充:MLP
MLP(Multilayer Perceptron)是一种基于人工神经网络的前馈式(Feedforward)神经网络模型。

MLP由多个神经元层组成,其中每个神经元层都与前一层和后一层完全连接。每个神经元都接收来自前一层的输入,并将其通过权重和激活函数进行加权和变换,然后传递给下一层。

MLP的网络结构包括以下几个关键组件:

输入层(Input Layer):接收输入特征的层,每个输入特征对应一个输入神经元。
隐含层(Hidden Layers):包括一个或多个中间层,每个中间层由多个神经元组成。隐含层负责对输入进行非线性变换和特征提取。
输出层(Output Layer):最后一个层,输出模型的预测结果。输出层的神经元数量取决于任务的要求,如二分类问题可能只有一个神经元,多分类问题可能有多个神经元。
权重(Weights)和偏置(Biases):连接神经元之间的参数,用于调节输入和激活函数之间的关系和强度。
激活函数(Activation Functions):在每个神经元中,激活函数对加权输入进行非线性变换,并产生输出。常见的激活函数包括Sigmoid、ReLU、tanh等,用于引入非线性特性和增强模型的表达能力。

MLP通过前向传播(Forward Propagation)来计算输入样本的预测值,并通过反向传播(Backpropagation)来优化权重和偏置,以最小化预测误差。反向传播使用梯度下降等优化算法,通过计算梯度来更新网络参数。

MLP是一种通用的非线性函数逼近模型,具有强大的表达能力,可以用于解决分类、回归和其他机器学习任务。通过调整网络结构、激活函数和优化算法等参数,MLP可以适应不同的问题和数据特征,提供灵活和强大的建模能力。

(知识点补充:最大池化层:
最大池化层(Max Pooling Layer)是卷积神经网络(CNN)中常用的一种操作层。它用于减少特征图的空间尺寸,并提取特征的空间不变性。

最大池化层的作用是将输入的特征图划分为不重叠的区域,并从每个区域中选择最大值作为输出。这样可以有效地减少特征图的尺寸,并提取出显著的特征。

最大池化层的基本操作步骤如下:

  1. 定义池化窗口的大小:指定池化区域的大小,例如2x2的窗口。

  2. 滑动窗口:从输入的特征图中按照步长(Stride)移动窗口,每次移动一个步长。

  3. 提取最大值:在每个池化区域内,选择窗口中的最大值作为输出。

  4. 输出特征图:将提取的最大值组成的特征图作为最大池化层的输出。

最大池化层的优点是它能够减少特征图的维度,降低计算量,并且具有一定的平移不变性。通过提取每个池化区域内的最大值,它能够保留图像中的主要特征,同时对位置的微小变化具有一定的鲁棒性。

最大池化层在卷积神经网络中通常与卷积层交替使用,用于提取特征并减少空间维度。它常用于图像分类、目标检测和图像分割等任务中,可以帮助网络学习到更具鲁棒性和抽象性的特征表示。

投影损失
(这个是投影损失)

where p¯i is the filtered point of the noisy point pˆi , and npj is the ground-truth normal of the point pj , and ϕ(∥p¯i −pj∥) is a Gaussian function giving larger weights to the points near p¯i , defined as

其中p¯i是噪声点p¯i的滤波点,npj是点pj的真地法向,φ(∥p¯i - pj∥)是一个高斯函数,给p¯i附近的点更大的权重,定义为

权重
The kernel size σp is defined as σp = 4 diaд/m, where diaд is the length of the diagonal of the bounding box of patch Pi and m = | ˆPi | [Huang et al 2009]. Besides approximating the underlying surface, we also expect the filtered points are distributed uniformly.

To achieve this goal, we adopt a repulsion term that penalizes point aggregation. Overall, we formulate the loss function as

核大小σp定义为σp = 4 diag/m,其中diaд为patch Pi的边界框对角线的长度,m = | Pi | [Huang et al . 2009]。除了近似下垫面外,我们还期望滤波点均匀分布。

为了达到这个目标,我们采用一个排斥项来惩罚点聚集。总的来说,我们将损失函数表示为
损失函数
where η is a trade-off parameter to control the repulsion force in the filtering process, and we empirically set η = 0.97 in our training stage.

We found that the projection loss L a proj tends to blur sharp features (see Fig. 4 (b)). We address this issue by considering normal similarity in our loss function, in which we introduce a bilateral mechanism to construct the projection distance formula (Eq. (3)).

Specifically, the function is defined as the normal similarity between the current point and its neighboring points in the patch.

For simplicity, the function is θ(np¯i , npj ) = exp  − 1 − n T ¯pi npj 1 − cos(σn)  [Huang et al 2013], where np¯i is the normal of the filtered point ¯pi and σn is the support angle (default to 15◦ ). Therefore, our final projection function is defined as

其中η为过滤过程中控制排斥力的权衡参数,我们在训练阶段经验设置η = 0.97。

我们发现投影损失L a投影容易模糊尖锐特征(见图4 (b))。我们通过考虑损失函数中的正态相似性来解决这个问题,其中我们引入了一个双边机制来构建投影距离公式(Eq.(3))。

具体来说,该函数被定义为patch中当前点与其相邻点之间的法向相似度。

为简单起见,函数为θ(np¯i, npj) = exp−1−n T¯pi npj 1−cos(σn)[Huang et al 2013],其中np¯i为过滤点¯pi的法线,σn为支撑角(默认为15◦)。因此,我们的最后投影函数定义为
最终的投影函数
For efficiency and simplicity, the normal of the filtered point np¯i is assigned by the normal of the ground truth point which is nearest to the filtered point. It is worth noting that Pointfilter only requires ground-truth point normals in the training stage.

We chose the encoder-decoder structure because: (1) it is stable and mature; (2) it can learn complex and compact representations of a point cloud; (3) the learned latent representations are helpful to regress the displacement vector according to the input noisy patch.

为了效率和简单起见,滤波点np¯i的法向由离滤波点最近的真实点的法向分配。值得注意的是,Pointfilter在训练阶段只需要ground-truth点法线。

我们选择编码器-解码器结构是因为:(1)它是稳定和成熟的;(2)可以学习点云的复杂和紧凑的表示;(3)学习到的潜在表示有助于根据输入的噪声块回归位移向量。

三种投影函数的效果

Figure 3: Illustrating different loss functions on a toy model which simulates the side view of two planes. (a) We draw the ground-truth points in green and the noisy points in red, and the underlying surface by dashed purple lines. (b) The L2 loss function (i.e., closest point here) is sampling dependent since it directly maps noisy points back to the closest sampled points.

© The L a proj loss would blur sharp edges (dashed curved red lines), though it could project noisy points onto the surface (hollow circles). (d) Our proposed L b proj projects each noisy point onto the underlying surface (hollow circles) with considering normal information, hereby is more effective in preserving sharp features. See the close-up windows for the differences.

图3:模拟两架飞机侧视图的玩具模型上的不同损失函数。(a)地面真实点用绿色表示,噪声点用红色表示,下垫面用紫色虚线表示。(b) L2损失函数(即这里最近的点)是采样相关的,因为它直接将噪声点映射回最近的采样点。

© L a投影损失会模糊锐利的边缘(虚线弯曲的红线),尽管它可以将噪声点投射到表面(空心圆圈)。(d)我们提出的bl方案在考虑法向信息的情况下,将每个有噪声的点投影在下面的表面(空心圆)上,从而更有效地保留了尖锐特征。看一下特写窗口的区别。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值