3Dコンピュータービジョンのブーム(?)のおかげか、Pythonで点群やメッシュデータを扱えるオープンソースライブラリが充実してきた。
こちらのPoint Cloud UtilsはGPLv2ライセンス。
Point Cloud Utils
Point Cloud Utils (pcu)は、点群や三角形メッシュの3D処理のために以下機能を提供するユーティリティライブラリです。以下機能の使用方法に関するドキュメントはExampleのセクションを参照してください。
- 多くの一般的なメッシュ形式(PLY, STL, OFF, OBJ, 3DS, VRML 2.0, X3D, COLLADA)を読み書きできるユーティリティ関数。MeshLabにインポート可能な形式なら読み込み可能です!
- メッシュ上でポイントサンプルを生成するための一連のアルゴリズム:
- “Parallel Poisson Disk Sampling with Spectrum Analysis on Surface“に基づいたメッシュのPoisson-Disk-Sampling。
- Lloydアルゴリズムによるメッシュのサンプリング
- メッシュ上でのモンテカルロサンプリング
- 点群をダウンサンプリングするためのユーティリティ:
- blue noise distributionを満たすダウンサンプリング
- ボクセルグリッド上でのダウンサンプリング
- 点群とメッシュ間の最近傍点
- 点群と三角形メッシュから法線の推定
- 点群間の高速なK最近傍探索 (nanoflannベース)
- 点群間のハウスドルフ距離
- 点群間のChamfer距離
- Sinkhorn法による点群間のWasserstein距離の近似
- Fast Winding Numbersを使用した点群とメッシュ間の符号付距離の計算
- 点群に最も近いメッシュ上の点の計算
- 点群とメッシュの重複頂点除去
- embreeを使用したレイ/メッシュの高速な交差判定
- embreeを使用したレイ/surfelの高速な交差判定
- メッシュのスムージング
- メッシュのコンポーネント接続
- メッシュの間引き(デシメーション)
- 点群とメッシュ内の重複/参照されていない頂点を削除する
- メッシュの水密化 (Watertight Manifold法)
pipでインストールできる。ドキュメントはこちら。
スポンサーリンク
Examplesに簡単な使い方の例が沢山載っていますね。
スポンサーリンク
- メッシュと点群の読み込み
- メッシュと点群の保存
- Poisson-Disk-Samplingを使用したメッシュ上でのblue-noiseサンプル生成
- メッシュ上でのランダムサンプル生成
- blue noise distributionによる点群のダウンサンプリング
- 点群のボクセルグリッドによるダウンサンプリング
- 点群からの法線推定
- 頂点ごとのメッシュ法線の計算
- フェイスごとのメッシュ法線の計算
- メッシュのフェイスの向き
- 2つの点群間のWasserstein(Sinkhorn)距離の近似
- 2つの点群間のChamfer距離
- 2つの点群間のHausdorff距離
- 2つの点群間のK最近傍点
- Lloyd緩和法による正方形と立方体でのポイントサンプル生成
- fast winding numbersで三角形メッシュまでの最短符号付き距離の計算
- メッシュ上の最も近い点の計算
- 点群とメッシュの重複除去
- 参照されていないメッシュ頂点の削除
- メッシュのフェイス面積の計算
- メッシュのスムージング
- 連結コンポーネントの計算
- 三角形メッシュの間引き(デシメーション)
- メッシュを水密化
- レイ/メッシュの交差判定
- レイ/Surfelの交差判定
- メッシュの曲率計算
- 三角形スープの一貫した内外計算する
ところで、MeshLabも今はPythonから叩けるPyMeshLabというインターフェイスがあるのね。
MeshLab:3Dオブジェクトの確認・変換に便利なフリーウェアMeshLab MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D tri...
スポンサーリンク
関連記事
ZBrush 4R7
タマムシっぽい質感
Multi-View Environment:複数画像から3次元形状を再構築するライブラリ
オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート
SDカードサイズのコンピューター『Intel Edison』
Unreal Engine Tokyo MeetUp!へ行ってきた
Manim:Pythonで使える数学アニメーションライブラリ
WordPressプラグインによるサイトマップの自動生成
Geogram:C++の3D幾何アルゴリズムライブラリ
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
PythonのHTML・XMLパーサー『BeautifulSoup』
ZBrush 4R8 リリース!
MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト
Mayaのポリゴン分割ツールの進化
ROSの薄い本
『PIXARのひみつ展』に行ってきた
ZBrushでアヴァン・ガメラを作ってみる 下半身のバランス調整
ラクガキの立体化 3Dプリント注文
ZBrushでゴジラ2001を作ってみる 身体のSubToolを分割
Point Cloud Consortiumのセミナー「3D点群の未来」に行ってきたよ
ZScript
ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込み・身体の形出し
Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
GeoGebra:無料で使える数学アプリ
clearcoat Shader
AndroidもopenGLも初心者さ (でもJavaは知ってるよ)
Physically Based Rendering
Mayaでリアルな布の質感を作るチュートリアル
ZBrush 2018での作業環境を整える
ZBrushで仮面ライダー3号を造る 仮面編 ZRemesher
C++始めようと思うんだ
第1回 3D勉強会@関東『SLAMチュートリアル大会』
参考になりそうなサイト
Adobe Photoshop CS4 Extendedの3Dモデル編集機能
リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
ZBrushでゴジラ2001を作ってみる 身体のバランスを探る
ZBrushの作業環境を見直す
OpenCVの超解像(SuperResolution)モジュールを試す
Runway ML:クリエイターのための機械学習ツール
映画『ジュラシック・ワールド/炎の王国』のVFXブレイクダウン まとめ
顔のモデリング
コメント