CloudCompareで点群編集
最近はスマホで気軽に点群が撮れるようになった。撮った点群を共有したいけどその前に切り抜いたりノイズを除去したりしたい。CloudCompareを使って点群のノイズ除去、間引き、切り分け、書き出し等簡単な作業をまとめてみた。
- 関連記事
- CloudCompareのインストール
- 点群の読み込み
- ノイズ除去
- DB Treeの見方
- 点群の間引き
- 視点移動
- 点群の切り分け
- 点の数と中心位置
- 点の位置
- 点群の書き出し
- メッシュ化
- おしまい
- 参考
関連記事
元々VRで点群が見たくてCloudCompareを使い始めたので、今回の使い方記事は下記記事の副産物。点群撮影ができるスマホアプリの紹介もあるのでよかったら見て。
CloudCompareのインストール
点群の編集にCloudCompareを使用する。下記サイトのdownloadからダウンロードできる。今回はv2.11.1を使用した。
点群の読み込み
画面左上のフォルダマークをクリックして読み込みたいファイルを選択。点群データによっては位置と色だけでなく反射強度とか法線とか色々登録されてたりする。左右の項目が合ってるか確認できたらApply。
ノイズ除去
センサーノイズや動くものの映り込みによって物がない場所にも点が入ってしまうことがある。邪魔なのでSOR filterで除去する。
画面上のSOR filterをクリック。Standard deviationでどれくらい外れた位置にある点を許容するか決められる。つまり値が大きいほど除去される点は少なくなる。
除去前
除去後
お店の奥にあった点が消えている。画像じゃわかりにくいけど道の上にもポツポツあった点が消えてていい感じ。あまり減らしすぎると点数が少なくなっちゃうので多めに残しといた。
DB Treeの見方
編集した点群が左のDB Treeに追加されていく仕組み。編集や保存もここで選択したデータを対象に行われるので何を選択しているか、チェックを入れているか気をつけながら作業するのがおすすめ。
点群の間引き
画面左上の赤と青のSub Samplingマークをクリック。methodをspaceにしてmin. space between pointsで指定した距離内に密集してる点が削除される。点群の密度も均一になって見栄えもよくなるはず。
視点移動
左側の立方体マークをクリックすると真上や真下などから見れる。次に紹介する点群の切り分け作業で便利。
点群の切り分け
画面上のはさみのSegmentマークをクリック。Rectangular selectionで四角く選択できる。赤い五角形のSegment inをクリックすることで、選択した範囲の内側が残る。チェックマークのconfirmをクリックして切り分け完了。
点の数と中心位置
画面左側のPropertiesで色々情報が見れる。Shifted box centerが点群の中心位置。Pointsが点数。点群はスキャンし始めた位置を基準に位置が決まるので、中心が0というわけじゃない。
点の位置
点群をダブルクリックすると点の位置が左下に表示される。決まったある場所を原点にしたい場合この数値を使うといいかも。
点群の書き出し
左上のフロッピーマークで保存。あとで自分で書いたスクリプトで処理したいので今回はASCII cloudを選択。
設定はよくわからないけどこんな感じ。orderはPTS。OKを押して保存。
メッシュ化
当たり判定用とかに点群からメッシュを作りたい場合もあるかも。こちらの記事の手順でできました。
おしまい
他にも点群を結合したりできて色々楽しそう。いつか写真くらいカジュアルに3Dデータをみんなで共有できる日が来るのかな。