Kaolin:3Dディープラーニング用のPyTorchライブラリ

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/

関連記事

MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト

geometry3Sharp:Unity C#で使えるポリゴン操作ライブラリ

物理ベースレンダリングのためのマテリアル設定チートシート

CEDEC 3日目

オープンソースの顔の動作解析ツールキット『OpenFace』

ZBrushで仮面ライダー3号を造る 仮面編 PolyGroup作成に再挑戦

映画『ジュラシック・ワールド』のVFXメイキング

viser:Pythonで使える3D可視化ライブラリ

写真から3Dメッシュの生成・編集ができる無料ツール『Autodesk Memento』

ZBrushのZScript入門

Mayaのレンダリング アトリビュート

ZBrushで仮面ライダー3号を造る 仮面編 Dam Standardブラシでディティールを彫る

ディープラーニング

Paul Debevec

SculptrisとBlenderで作ったGodzilla 2014 (Fan Made)

Kubric:機械学習用アノテーション付き動画生成パイプライン

BGSLibrary:OpenCVベースの背景差分ライブラリ

UnityからROSを利用できる『ROS#』

CNN Explainer:畳み込みニューラルネットワーク可視化ツール

ZBrush用トポロジー転送プラグイン『ZWrap Plugin for ZBrush』

まだ続くブログの不調

トランスフォーマー :リベンジのメイキング (デジタルドメイン)

PSPNet (Pyramid Scene Parsing Network):ディープラーニングによ...

3DCGのモデルを立体化するサービス

ZBrushでアヴァン・ガメラを作ってみる

FCN (Fully Convolutional Network):ディープラーニングによるSema...

Physics Forests:機械学習で流体シミュレーションを近似する

NVIDIA Quadro OpenGL DriverのDeep Color不具合の対処方法

Shader.jp:リアルタイム3DCG技術をあつかうサイト

ニンテンドー3DSのGPU PICA200

Point Cloud Libraryに動画フォーマットが追加されるらしい

ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエットをリファレンスに合わせる

布のモデリング

HD画質の無駄遣い

オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート

オープンソースのプリント基板設計ツール『KiCad』

ドラマ『ファーストクラス』のモーショングラフィックス

OpenCVで平均顔を作るチュートリアル

CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー

ZBrushで仮面ライダーBLACK SUNを作る 頭部~バストの概形

Digital Emily Project:人間の顔をそっくりそのままCGで復元する

Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方

コメント