The discrete Laplacian operator holds a crucial role in 3D geometry processing, yet it is still challenging to define it on point clouds. Previous works mainly focused on constructing a local triangulation around each point to approximate the underlying manifold for defining the Laplacian operator, which may not be robust or accurate. In contrast, we simply use the K-nearest neighbors (KNN) graph constructed from the input point cloud and learn the Laplacian operator on the KNN graph with graph neural networks (GNNs). However, the ground-truth Laplacian operator is defined on a manifold mesh with a different connectivity from the KNN graph and thus cannot be directly used for training. To train the GNN, we propose a novel training scheme by imitating the behavior of the ground-truth Laplacian operator on a set of probe functions so that the learned Laplacian operator behaves similarly to the ground-truth Laplacian operator. We train our network on a subset of ShapeNet and evaluate it across a variety of point clouds. Compared with previous methods, our method reduces the error by an order of magnitude and excels in handling sparse point clouds with thin structures or sharp features. Our method also demonstrates a strong generalization ability to unseen shapes. With our learned Laplacian operator, we further apply a series of Laplacian-based geometry processing algorithms directly to point clouds and achieve accurate results, enabling many exciting possibilities for geometry processing on point clouds. The code and trained models are available at https://github.com/IntelligentGeometry/NeLo.
翻译:离散拉普拉斯算子在三维几何处理中具有关键作用,然而在点云上定义该算子仍具挑战。先前工作主要侧重于围绕每个点构建局部三角化以逼近底层流形,进而定义拉普拉斯算子,但此类方法在鲁棒性与准确性方面存在不足。与此不同,我们仅利用输入点云构建的K近邻图,并通过图神经网络学习该图上的拉普拉斯算子。然而,真实拉普拉斯算子定义于具有不同连接关系的流形网格上,无法直接用于训练。为训练图神经网络,我们提出一种新颖的训练方案:通过模拟真实拉普拉斯算子在探针函数集上的行为,使习得的算子与真实算子具有相似特性。我们在ShapeNet子集上训练网络,并在多种点云上进行评估。与现有方法相比,我们的方法将误差降低了一个数量级,且在处理具有薄壁结构或尖锐特征的稀疏点云时表现优异。该方法对未见过的形状也展现出强大的泛化能力。借助习得的拉普拉斯算子,我们进一步将一系列基于拉普拉斯的几何处理算法直接应用于点云并获得精确结果,为点云几何处理开辟了广阔前景。代码与训练模型发布于https://github.com/IntelligentGeometry/NeLo。