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というインターフェイスがあるのね。

関連記事
ZBrushでゴジラ2001を作ってみる 身体のアタリを作る
画像生成AI Stable Diffusionで遊ぶ
ZBrushの練習 手のモデリング
3Dモデルを立体視で確認できるVRアプリを作っている
ZBrushからBlenderへモデルをインポート
1枚の画像からマテリアルを作成できる無料ツール『Materi...
ZBrush 2018へのアップグレード
為替レートの読み方 2WAYプライス表示
IronPythonを使ってUnity上でPythonのコー...
Physically Based Rendering
Seleniumを使ったFXや株の自動取引
MPC社によるゴジラ(2014)のVFXブレイクダウン
UnityのMonoBehaviourクラスをシングルトン化...
Unityで360度ステレオVR動画を作る
Vancouver Film Schoolのデモリール
注文してた本が届いた
ラクガキの立体化 目標設定
NeRF (Neural Radiance Fields):...
DCGAN (Deep Convolutional GAN)...
ポリ男をリファイン
OpenGVのライブラリ構成
ラクガキの立体化 胴体の追加
CGレンダラ研究開発のためのフレームワーク『Lightmet...
Pythonのソースコードに特化した検索エンジン『Nulle...
Verilog HDL
COLMAP:オープンソースのSfM・MVSツール
書籍『仕事ではじめる機械学習』を読みました
iPhone x ロボットハッカソン~RomoのiPhone...
シン・ゴジラのファンアート
CGWORLD CHANNEL 第21回ニコ生配信は『シン・...
ZBrushでゴジラ2001を作ってみる 側頭部のボリューム...
Transformers ”Reference & Buli...
Blender 2.81でIntel Open Image ...
OpenCV 3.3.0-RCでsfmモジュールをビルド
今年もSSII
Live CV:インタラクティブにComputer Visi...
顔のモデリング
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を...
pythonもかじってみようかと
C++始めようと思うんだ
網元AMIで作ったWordpressサイトのインスタンスをt...


コメント