NVIDIAから3D系のディープラーニング研究のためのPyTorchライブラリが公開された。
まだベータ版だから、これからどんどん充実していくんでしょうね。読み方はカオリンで良いのかな?(なんかかわいい)
Kaolin
Kaolinは3Dディープラーニングの研究を加速させるためのPyTorchライブラリです。Kaolinは、ディープラーニングシステムで使用できる微分可能な3Dモジュールを効率的な実装で提供します。
Kaolinには一般的な公開3Dデータセットの読み込みと前処理を行ったり、メッシュ、点群、符号付き距離関数、ボクセルグリッドを操作するネイティブ関数があり、無駄な定型コードの記述を最小限に抑えています。Kaolinは、レンダリング、ライティング、シェーディング、view warpingなどの微分可能なグラフィックスモジュールをパッケージ化しています。また、Kaolinは一連の損失関数と評価指標をサポートすることでシームレスな評価を可能とし、3Dの結果をレンダリングする可視化機能も提供します。
最も重視しているのは、最先端の様々な3Dディープラーニングアーキテクチャを集めた包括的なModel Zooをキュレートし、将来の研究活動の出発点に立つ手助けとなることです。
ドキュメントのページがまだ作成されていないのか404だけど。
NVIDIAの公式ブログ↓
https://news.developer.nvidia.com/kaolin-library-research-3d/
https://blogs.nvidia.co.jp/2019/11/27/kaolin-library-research-3d/
Kaolinって名前は造形用粘土のKaolinite(カオリナイト)が由来なのね。
ベータ版の時点で何ができるのか。
機能
現在、(ベータ版)リリースには、メッシュ、ボクセル、符号付き距離関数、点群での3Dディープラーニングのための処理関数が含まれています。
一般的なデータセット(例:ShapeNet, ModelNet, SHRECなど)の読み込みもすぐにサポートされます。また、いくつかの3D変換および変換操作を実装します。
Kaolinは以下のような3Dタスクをサポートします:
- Differentiable rendering (see Neural Mesh Renderer, its PyTorch port, Soft Rasterizer, Differentiable Interpolation-based Renderer, and a modular and extensible abstract DifferentiableRenderer specification).
- Single-image based mesh reconstruction (Pixel2Mesh, GEOMetrics, OccupancyNets, and more…)
- Pointcloud classification and segmentation (PointNet, PoinNet++, DGCNN, …)
- Mesh classification and segmentation (MeshCNN, GCN)
- 3D superresolution on voxel grids (ODM, VoxelUNet, and more…)
- Basic graphics utilities (lighting, shading, etc.)
Model Zoo
Kaolinは、一般的な3Dディープラーニングアーキテクチャのリファレンス実装を含む大規模なModel Zooをキュレーションします。詳しくはこちらでご確認ください。
https://note.com/npaka/m/m85457421b99f
TensorFlowを使うならTensorFlow Graphicsがあるけど、PyTorch派ならKaolinだろうか。

あ、Siggraph 2019で発表されて話題になったMeshCNNのモデルもKaolinに含まれてるんですね。
MeshCNNのコードもPyTorchで実装されてるからまあ、すでに割と手軽ではあるんだけど。
https://github.com/ranahanocka/MeshCNN/
関連記事
UnityプロジェクトをGitHubで管理する
実写と実写の合成時の色の馴染ませテクニック
ZBrushのZmodelerとDynamic Subdiv...
U-Net:ディープラーニングによるSemantic Seg...
畳み込みニューラルネットワーク (CNN: Convolut...
UnrealCLR:Unreal Engineで.NET C...
ゴジラ(2014)のメイキング
MFnDataとMFnAttribute
Unity MonoBehaviourクラスのオーバーライド...
ZBrushでアヴァン・ガメラを作ってみる 壊れたデータの救...
世界一下品なクマと世界一紳士なクマ
AMIMOTO(PVM版)で作成したインスタンスをAMIMO...
スターウォーズ エピソードVIIの予告編
ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加
Super Resolution:OpenCVの超解像処理モ...
スクレイピング
OpenVDB:3Dボリュームデータ処理ライブラリ
Houdiniのライセンスの種類
PythonでMayaのShapeノードプラグインを作る
ZBrushでメカ物を作るチュートリアル動画
hloc:SuperGlueで精度を向上させたSfM・Vis...
AR (Augmented Reality)とDR (Dim...
ZBrushでゴジラ2001を作ってみる 姿勢の変更
3D Gaussian Splatting:リアルタイム描画...
Seleniumを使ったFXや株の自動取引
トランスフォーマーの変形パターンを覚えるのは楽しいと思うんだ
C++始めようと思うんだ
Windows10でPyTorchをインストールしてVSCo...
Open3D:3Dデータ処理ライブラリ
ドラマ『ファーストクラス』のモーショングラフィックス
ZBrushでアヴァン・ガメラを作ってみる 甲羅のバランス調...
ZBrushCoreのTransposeとGizmo 3D
ZBrushでアヴァン・ガメラを作ってみる 口内の微調整・身...
Unity Scriptコーディング→Unreal Engi...
YOLO (You Only Look Once):ディープ...
Google Colaboratoryで遊ぶ準備
viser:Pythonで使える3D可視化ライブラリ
ManuelBastioniLAB:人体モデリングできるBl...
Blenderでよく使うaddon
今年もSSII
天体写真の3D動画
ラクガキの立体化 1年半ぶりの続き



コメント