※当サイトはPRを含みます

【3D点群処理】ノイズ除去_Static based outlier filter

はじめに

3D点群データのノイズ除去についてみていきます。今回はStatic based outlier filterというアルゴリズムについて解説します。

Static based outlier filterはOpen3Dにも実装されています。

Open3d-Static based outlier removal

Static based outlier filter

Static based outlier filterは、K近傍点との平均距離を各点で算出し、算出した距離を使って統計的に外れ値を取り除く手法です。

注目点xiと近傍点(k個)の距離dを計算し、平均μを求めます。

すべての点xで上記の平均μを求めます。その後、各点における平均μから全体の平均と標準偏差を求めます。

注目点から近傍点までの平均距離μが平均+(定数×標準偏差)以上の場合に外れ値とします。

Open3Dでの実装

Open3Dを使うと下記のコードで実装できます。

nb_neighbor:近傍点の個数

std_ratio:標準偏差にかける定数

print("Statistical oulier removal")
cl, ind = voxel_down_pcd.remove_statistical_outlier(nb_neighbors=20,
                                                    std_ratio=2.0)
display_inlier_outlier(voxel_down_pcd, ind)

おすすめ参考書