PCLで点群処理

PCLで点群処理したあれこれを書いていきます。

点群処理技術1:フィルタリング

目 的

点群処理技術の1つであるフィルタリングについて、PCL公式サイトを和訳しつつ記載する。

 

はじめに

実世界からセンサーを利用して取得した点群には、常にノイズが含まれる。

ノイズの大きさはセンサーの性質に左右され、また、ノイズの許容量は特徴抽出器等アルゴリズムによって左右される。

いずれにせよ、より正確に点群を処理するためには、ノイズの除去が不可欠である。

 

点群処理技術の1つであるフィルタリングは、このノイズを除去する技術であり、点群処理における必須項目である。

 

本 筋

 以下、PCLの説明の和訳

 (和訳)

pcl_filtersライブラリは、3次元点群データのフィルタリングアプリケーション用に、外れ値やノイズを除去するメカニズムが含まれています。

 

ノイズ除去の例は以下の図のとおりです。

 

測定誤差により、特定のデータセットには大量のシャドウポイント(ノイズ)が含まれます。

シャドウポイントは、局所点群の3次元特徴の推定を複雑にします。

これらの外れ値の一部は、各点の近傍に統計分析を行い、一定の基準を満たさないものをトリミング(除去)することによってフィルタリングすることができます。

PCLでのまばらな外れ値除去の実装は、入力データセット内の近傍点間距離の分布(分散)の計算に基づいています。

各点について、その全ての近傍点との平均距離が計算されます。
 得られた分布が平均値と標準偏差を持つガウス分布であると仮定する。

これにより、グローバル距離が平均値と標準偏差によって定義された間隔よりも、その平均距離が外側にあるすべての点は、外れ値と見なし、データセットからトリミングすることができます。

 (原文)

 The pcl_filters library contains outlier and noise removal mechanisms for 3D point cloud data filtering applications.

 An example of noise removal is presented in the figure below.

 Due to measurement errors, certain datasets present a large number of shadow points.

 This complicates the estimation of local point cloud 3D features.

 Some of these outliers can be filtered by performing a statistical analysis on each point's neighborhood, and trimming those which do not meet a certain criteria.

 The sparse outlier removal implementation in PCL is based on the computation of the distribution of point to neighbors distances in the input dataset.
 For each point, the mean distance from it to all its neighbors is computed.
 By assuming that the resulted distribution is Gaussian with a mean and a standard deviation, all points whose mean distances are outside an interval defined by the global distances mean and standard deviation can be considered as outliers and trimmed from the dataset.

 つまり、PCLにおいては、点同士の距離を算出した後、一定のしきい値で判定することにより、フィルタリングを行っている。

 

おわりに

点群のフィルタリングは、外れ値を除去するものである。

PCLにおいては、点同士の距離を用いたフィルタリングを行う。

 

引用元

Point Cloud Library (PCL): Module filters