Intel Visual Computing Labが中心に開発しているらしい、まだ新しい3Dデータ処理ライブラリ。MITライセンスなので、ライセンスと著作権を表示すれば商用利用も可能。
Open3D
Open3Dは、3Dデータを扱うソフトウェアの開発をサポートするオープンソースライブラリです。Open3DはC++とPythonのフロントエンドを提供し、厳選されたデータ構造とアルゴリズムをどちらの環境でも利用できます。バックエンドは高度に最適化されており、並列処理に対応しています。
Open3Dは、依存関係を最小限に抑えられるよう考慮してゼロから開発されました。そのため、異なるプラットフォームでも最小限の労力でソースコードからコンパイル、環境構築できます。ソースコードは一貫したスタイルで整理されており、明確なコードレビューの仕組みによってメンテナンスされています。
Open3Dはすでに発表されている多くの研究プロジェクトで使用されており、クラウド上で積極的にデプロイされています。Open3Dプロジェクトでは、オープンソースコミュニティからの貢献を歓迎しています。
主な機能
- 基本的な3Dデータ構造
- 基本的な3Dデータ処理アルゴリズム
- シーンの再構築(Scene reconstruction)
- サーフェイスの整列(Surface alignment)
- 3Dビジュアリゼーション
- Pythonバインディング
対応するコンパイラ
- Linux:GCC 4.8以降
- OS X:XCode 8.0以降
- Windows:Visual Studio 2015以降
ソースコードはこちら↓
https://github.com/IntelVCL/Open3D
公式ドキュメントはこちら↓
http://www.open3d.org/docs/index.html
特に各環境でのソースコードのビルド方法はGetting Startedから。
SSII 2018のチュートリアルセッションで紹介されていたんですね↓
チュートリアルのサンプルコード↓
https://github.com/sakizuki/SSII2018_Tutorial_Open3D
いわゆるポリゴンMeshや、画像・点群も扱えるようなので、CGにもコンピュータービジョンにも利用できそう。
Tutorialの一覧をざっと眺めた限り、2D→3Dは対象としておらず、扱う画像はRGBDのような3Dデータのようだ。
最近は、3D点群データを扱うのに以前ほどPoint Cloud Libraryが使われなくなっているんだろうか。Point Cloud Libraryは依存関係の塊でビルドのハードルが高かったけど。
ここ最近のコンピュータービジョン、特に機械学習界隈はPython環境がデファクトスタンダードになっている節もあり、C++ゴリゴリのライブラリよりもPythonバインディングの充実が重要なのかも。
2020年5月 追記:ついにバージョン0.10.0まで来ましたね。
少しずつ日本語の情報も増えてきている。
http://robonchu.hatenablog.com/entry/2018/02/24/200635
http://robonchu.hatenablog.com/entry/2018/02/25/121024
http://robonchu.hatenablog.com/entry/2018/02/25/200510
https://karaage.hatenadiary.jp/entry/2018/03/12/073000
http://lang.sist.chukyo-u.ac.jp/classes/Open3D/
https://qiita.com/n_chiba_/items/fc9605cde5c19a8c7dad
公式YouTubeチャンネルもだいぶ充実してきた↓
https://www.youtube.com/channel/UCRJBlASPfPBtPXJSPffJV-w/
ただ、用途を突き詰めていくとある程度の段階でこんな感じでゲームエンジンに統合されて行くんではないかという気もする↓

関連記事
ManimML:機械学習の概念を視覚的に説明するためのライブ...
MPC社によるゴジラ(2014)のVFXブレイクダウン
Google Chromecast
Pythonのソースコードに特化した検索エンジン『Nulle...
ZBrushで基本となるブラシ
色んな三面図があるサイト
ディープラーニング
デザインのリファイン再び
3Dグラフィックスの入門書
単純に遊びに行くのはだめなのか?
機械学習手法『Random Forest』
Blender 2.8がついに正式リリース!
iPhoneで3D写真が撮れるアプリ『seene』
Google App Engineのデプロイ失敗
Unityで360度ステレオVR動画を作る
Raspberry Piでセンサーの常時稼働を検討する
OpenCVでPhotoshopのプラグイン開発
Maya には3 種類のシェーダSDKがある?
FCN (Fully Convolutional Netwo...
UnityプロジェクトをGitHubで管理する
UnityでPoint Cloudを表示する方法
書籍『ゼロから作るDeep Learning』で自分なりに学...
Swark:コードからアーキテクチャ図を作成できるVSCod...
DCGAN (Deep Convolutional GAN)...
布地のシワの法則性
VCG Library:C++のポリゴン操作ライブラリ
C++始めようと思うんだ
動的なメモリの扱い
Pythonの自然言語処理ライブラリ『NLTK(Natura...
Adobeの手振れ補正機能『ワープスタビライザー』の秘密
Physics Forests:機械学習で流体シミュレーショ...
Digital Emily Project:人間の顔をそっく...
3D映画のポストプロダクション 2D-3D変換
ROMOハッカソンに行ってきた
ManuelBastioniLAB:人体モデリングできるBl...
MFnDataとMFnAttribute
『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラク...
Paul Debevec
TensorFlowでCGを微分できる『TensorFlow...
ZBrushで人型クリーチャー
全脳アーキテクチャ勉強会
ラクガキの立体化 モールドの追加


コメント