3Dコンピュータービジョンのブーム(?)のおかげか、Pythonで点群やMeshデータを扱えるオープンソースライブラリが充実してきた。
こちらのPoint Cloud UtilsはGPLv2ライセンス。
Point Cloud Utils
Point Cloud Utils (pcu)は、点群や三角形Meshの3D処理のために以下機能を提供するユーティリティライブラリです。以下機能の使用方法に関するドキュメントはExampleのセクションを参照してください。
- 多くの一般的なMesh形式(PLY, STL, OFF, OBJ, 3DS, VRML 2.0, X3D, COLLADA)を読み書きできるユーティリティ関数。MeshLabにインポート可能な形式なら読み込み可能です!
- Mesh上でポイントサンプルを生成するための一連のアルゴリズム:
- “Parallel Poisson Disk Sampling with Spectrum Analysis on Surface“に基づいたMeshのPoisson-Disk-Sampling。
- LloydアルゴリズムによるMeshのサンプリング
- Mesh上でのモンテカルロサンプリング
- 点群をダウンサンプリングするためのユーティリティ:
- blue noise distributionを満たすダウンサンプリング
- ボクセルグリッド上でのダウンサンプリング
- 点群とMesh間の最近傍点
- 点群と三角形Meshから法線の推定
- 点群間の高速なK最近傍探索 (nanoflannベース)
- 点群間のハウスドルフ距離
- 点群間のChamfer距離
- Sinkhorn法による点群間のWasserstein距離の近似
- Fast Winding Numbersを使用した点群とMesh間の符号付距離の計算
- 点群に最も近いMesh上の点の計算
- 点群とMeshの重複頂点除去
- embreeを使用したレイ/Meshの高速な交差判定
- embreeを使用したレイ/surfelの高速な交差判定
- Meshのスムージング
- Meshのコンポーネント接続
- Meshの間引き(デシメーション)
- 点群とMesh内の重複/参照されていない頂点を削除する
- Meshの水密化 (Watertight Manifold法)
pipでインストールできる。ドキュメントはこちら。
スポンサーリンク
Examplesに簡単な使い方の例が沢山載っていますね。
スポンサーリンク
- Meshと点群の読み込み
- Meshと点群の保存
- Poisson-Disk-Samplingを使用したMesh上でのblue-noiseサンプル生成
- Mesh上でのランダムサンプル生成
- blue noise distributionによる点群のダウンサンプリング
- 点群のボクセルグリッドによるダウンサンプリング
- 点群からの法線推定
- 頂点ごとのMesh法線の計算
- フェイスごとのMesh法線の計算
- Meshのフェイスの向き
- 2つの点群間のWasserstein(Sinkhorn)距離の近似
- 2つの点群間のChamfer距離
- 2つの点群間のHausdorff距離
- 2つの点群間のK最近傍点
- Lloyd緩和法による正方形と立方体でのポイントサンプル生成
- fast winding numbersで三角形Meshまでの最短符号付き距離の計算
- Mesh上の最も近い点の計算
- 点群とMeshの重複除去
- 参照されていないMesh頂点の削除
- Meshのフェイス面積の計算
- Meshのスムージング
- 連結コンポーネントの計算
- 三角形Meshの間引き(デシメーション)
- Meshを水密化
- レイ/Meshの交差判定
- レイ/Surfelの交差判定
- Meshの曲率計算
- 三角形スープの一貫した内外計算する
ところで、MeshLabも今はPythonから叩けるPyMeshLabというインターフェイスがあるのね。
MeshLab:3Dオブジェクトの確認・変換に便利なフリーウェアMeshLab MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D tri...
スポンサーリンク
関連記事
ポリ男をリファイン
オープンソースのテクスチャマッピングシステム『Ptex』
クラスの基本
OpenGVの用語
HD画質の無駄遣い
オープンソースの顔の動作解析ツールキット『OpenFace』
ZBrushでゴジラ2001を作ってみる 頭の概形作り
Unityをレンダラとして活用する
機械学習に役立つPythonライブラリ一覧
Mixamo:人型3Dキャラクターアニメーション制作サービス
株式会社ヘキサドライブの研究室ページ
MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト
ジュラシック・パークの続編『ジュラシック・ワールド』
ポイントクラウドコンソーシアム
Autodesk Mementoでゴジラを3次元復元する
UnityのAR FoundationでARKit 3
SIGGRAPH論文へのリンクサイト
OpenCV バージョン4がリリースされた!
第25回コンピュータビジョン勉強会@関東に行って来た
ROSでガンダムを動かす
ポリ男からMetaHumanを作る
Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番
ラクガキの立体化 反省
cvui:OpenCVのための軽量GUIライブラリ
openMVG:複数視点画像から3次元形状を復元するライブラリ
Python for Unity:UnityEditorでPythonを使えるパッケージ
PyTorch3D:3Dコンピュータービジョンライブラリ
OpenMesh:オープンソースの3Dメッシュデータライブラリ
ZBrushでゴジラ2001を作ってみる 身体のシルエット出し
為替レートの読み方 2WAYプライス表示
Google App Engineのデプロイ失敗
プログラムによる景観の自動生成
Unity ARKitプラグインサンプルのドキュメントを読む
trimesh:PythonでポリゴンMeshを扱うライブラリ
Iridescence:プロトタイピング向け軽量3D可視化ライブラリ
参考書
オープンソースの物理ベースGIレンダラ『appleseed』
ZBrushで仮面ライダー3号を造る 仮面編
CreativeCOW.net
Raspberry Pi 2のGPIOピン配置
NumSharp:C#で使えるNumPyライクな数値計算ライブラリ
Google Chromecast
コメント