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

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

2022年8月9日

はじめに

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

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

Open3d-Radius outlier removal

Radius based outlier filter

Radius based outlier filterでは、注目点を中心とした球の内部にある点の個数としきい値によってノイズを除去します。

注目点をxi、球の半径をr、しきい値をnthとします。

しきい値を10とすると下の図の例では、球の内部にある点の数は7個なのでしきい値以下となり、xiは外れ値として除去されます。

ni=7 < nth=10なのでxiは外れ値

Open3Dでの実装

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

nb_points:球の内部に存在する最小の点の個数(しきい値)

radius:球の半径

print("Radius oulier removal")
cl, ind = voxel_down_pcd.remove_radius_outlier(nb_points=16, radius=0.05)
display_inlier_outlier(voxel_down_pcd, ind)

おすすめ参考書