・Kaolinは、3Dモデルをニューラルネットワークの領域に移行させる新しい包括的なPyTorchライブラリである。
・レンダリング、シェーディング、ライトニングなど、多くのグラフィック要素を搭載。
・ディープラーニングのための3Dモデルを作成する作業を、300行のコードからわずか5行に削減する。
3Dディープラーニングは、AR(拡張現実)、自動運転車、ロボット工学などの複雑なタスクにおける関連性が高いため、最近注目を集めています。強力なグラフィックカード【パソコンのグラフィック処理を担当する拡張ボード】とディープラーニング手法の登場により、これまで困難だった大規模な3Dデータの解析が可能になりました。
それでも、この分野で実験を行うことは非常に困難な作業です。というのも、研究者が一般的な3Dデータセットを簡単にロードし、機械学習のアーキテクチャを学習・評価するための標準的なシステムがないからです。
そこでNVIDIA【アメリカの半導体メーカー】の研究チームは、3Dモデルをニューラルネットワークの領域へと移行させるツール「Kaolin」を開発しました。これは、ディープラーニング研究を加速するためのPyTorchライブラリです。
Kaolinという名前は、3Dモデルの彫刻に使われることもある塑像(粘土)の一種、Kaolinite(カオリナイト)に由来します。
初心者にも経験豊富な開発者にも価値あるツール
この包括的なライブラリを実装することで、ユーザーはディープラーニング用の3Dモデルを作成する作業を、300行のコードからわずか5行に削減することができます。
Kaolinは、様々な3Dデータセットのロードと前処理を行う機能と、ポイントクラウド、ボクセルグリッド、メッシュといった様々な表現を制御するローカル関数を提供します。また、不要な定型コードの使用を削減します。
PointNet++による飛行機と自動車の分類器の学習とテストに必要な5行のコードの例
このライブラリには、レンダリングやシェーディング【陰影付け】からビューのワーピング【歪み補正】まで、様々なグラフィック要素が搭載されています。また、シームレスな評価のための評価指標と損失関数のセットをサポートしているほか、3D結果をレンダリングするための可視化モジュールもあります。
Kaolinは、ほとんどすべての一般的な3Dタスクのほか、次の点をサポートしています。
1.基本的なグラフィックユーティリティ(シェーディング、ライティングなど)
2.微分可能レンダリング
3.単一画像ベースのメッシュ再構築
4.メッシュの分類とセグメンテーション
5.ボクセルグリッド上の3D超解像
現実の世界での応用
分類:通常、複雑なプロセスの最初のステップは、3Dシーン内のオブジェクトを識別することです。
3Dパーツのセグメンテーション:Kaolinは、3Dモデルの様々な部分を自動的に識別することで、3Dモデルのカスタマイズや、アニメーション用のキャラクターのリギング【キャラクターを動かすための仕組み(リグ)を作ること】を容易にします。
画像から3Dへ:学習済みニューラルネットワークによって検出された製品画像から3Dモデルを構築することもできます。
研究チームは、このようなタスクのソースコードと、標準的なベンチマークで事前に学習済みのモデルを公開しています。Kaolinを中心とした強力なオープンソースコミュニティを育成するつもりです。他の研究者や実務家からの貢献は大歓迎です。