スキャンデバイスから取得された点群は、ノイズによって乱されることが多く、表面の再構成や分析などのダウンストリームタスクに影響を与えます。ノイズの多い点群の分布は、ノイズのないサンプルのセットp(x)の分布と見なすことができ、ノイズモデルnで畳み込まれ、(p * n)(x)のモードが基礎となるクリーンな表面になります。ノイズの多い点群のノイズを除去するために、勾配上昇を介して各点の対数尤度をp * nから増加させることを提案します。つまり、各点の位置を繰り返し更新します。 p * nはテスト時に不明であり、勾配上昇を実行するために必要なのはスコア(つまり、対数確率関数の勾配)のみであるため、与えられたp*nのスコアを推定するニューラルネットワークアーキテクチャを提案します。入力としてノイズの多い点群。ネットワークをトレーニングするための目的関数を導出し、推定スコアを活用してノイズ除去アルゴリズムを開発します。実験は、提案されたモデルがさまざまなノイズモデルの下で最先端の方法よりも優れていることを示し、点群のアップサンプリングなどの他のタスクに適用される可能性を示しています。コードはhttps://github.com/luost26/score-denoiseで入手できます。
Point clouds acquired from scanning devices are often perturbed by noise, which affects downstream tasks such as surface reconstruction and analysis. The distribution of a noisy point cloud can be viewed as the distribution of a set of noise-free samples p(x) convolved with some noise model n, leading to (p * n)(x) whose mode is the underlying clean surface. To denoise a noisy point cloud, we propose to increase the log-likelihood of each point from p * n via gradient ascent -- iteratively updating each point's position. Since p * n is unknown at test-time, and we only need the score (i.e., the gradient of the log-probability function) to perform gradient ascent, we propose a neural network architecture to estimate the score of p * n given only noisy point clouds as input. We derive objective functions for training the network and develop a denoising algorithm leveraging on the estimated scores. Experiments demonstrate that the proposed model outperforms state-of-the-art methods under a variety of noise models, and shows the potential to be applied in other tasks such as point cloud upsampling. The code is available at https://github.com/luost26/score-denoise.