3D コンピューター ビジョンと AI 分野の研究成果は、2 棟の超高層ビルのように隣り合わせに積み上げられてきました。しかし、そそり立つ両塔を行き来するには、何十もの階段を上り下りする必要がありました。
この隔たりを埋めるため、NVIDIA はこのたび、3D モデルをニューラルネットワークの世界に数ステップで処理する Kaolin をリリースしました。
Kaolin は PyTorch のライブラリとして実装されており、3D モデルをディープラーニング用に準備する処理を、300 行のコードからたった 5 行に削減できます。
複雑な 3D データセットも、それがどう表現されていて、どうレンダリングされるかにかかわらず、機械学習のフレームワークに読み込めます。
このようなツールは、ロボティクス、自動運転車、医用画像、仮想現実といったさまざまな分野の研究者の役に立つでしょう。
3D モデルへの関心は高まっており、Kaolin は大きなインパクトを与えることができます。3D 画像を撮影できる深度カメラの推定 3000 万台が、研究室からリビング ルームに至るまで世界のあらゆる所で利用されており、オンライン リポジトリにはすでに多数の 3D データセットが存在します。
これまで研究者には、ディープラーニング ツールで、このようなモデルをすぐに使えるようにするための優れたユーティリティが不足していました。また、ディープラーニングのツールも急速に進化しています。そのため、研究者は相当な時間をかけて、定型的なコードであるべきものを一から書かざるを得えませんでした。
研究を加速するインターフェイス
Kaolin の中核は、3D コンテンツの操作を可能にする、効率的なジオメトリ関数のセットで構成されています。Kaolin は、ポリゴン メッシュ、点群、符号付き距離関数、ボクセル グリッドとして実装された 3D データセットを、PyTorch のテンソルにラップできます。
研究者は、ディープラーニング用の3D データセットを用意すれば、Kaolin が提供するコレクションの中から、ニューラルネットワーク モデルを選択できます。このインターフェイスは、分類、セグメンテーション、3D 再構成、超解像、その他に使えるモデルを、基本的なものや最新のものも含め、豊富なレジストリを提供します。
実世界への応用例:
Classification (分類)は、3D シーン内のアイテムを識別するものであり、通例、以下に挙げるようなもっと複雑なプロセスの最初のステップに当たります。
3D part segmentation (3D パーツ セグメンテーション)は、3D モデルの異なるパーツを自動的に識別し、アニメーション用にキャラクターをリギングしたり、オブジェクトのバリエーションを生成するためモデルをカスタマイズしたりするのに使われます。
Image to 3D (画像から 3D)は、学習済みニューラルネットワークが認識した製品の画像から、3D モデルを構成します。この 3D モデルは、たとえばベンダーのカタログから最も一致する3D モデル データベースを検索することに使えるかもしれません。
ソース コードに加え、こうしたタスクを一般的なベンチマーク上で行うための、事前学習済みモデルもリリースします。モデル比較の作業負担を減らし、未来の研究のベースラインとして役立つでしょう。
Kaolin はモジュラー アプローチをとっているため、ユーザーは 3D ディープラーニング分野の最新技術である、微分可能なレンダリングを簡単に行うことができるようになるでしょう。レンダラー全体を一から書くのではなく、インターフェイスが提供する各コンポーネントをただ書き換えるだけでいいのです。
AI を 3D とともに舞台に乗せる
NVIDIA では、数多くの 3D 関連の研究を行っています。私たちは時折、他の人々が書いたオープンソースのコードを何日もかけて調べ、最適なものを見つけ出し、社内で使用するために1 つのライブラリにまとめていました。
いくつかの社内プロジェクトのために定型的なコードを書いた後、インターンの 1 人が、PyTorch 向けにもっと包括的なものを作ってはどうかと勧めてくれました。研究者たちは、以前から 2D 画像用にそのようなユーティリティを使用していました。3D 用のユーティリティがあれば、さらに広いコミュニティの役に立てるかもしれないというのです。
Kaolin という名前は、造形用粘土の一種であるカオリナイトにちなんで付けられました。カオリナイトは 3D モデルを造形するのによく使われ、造形後のモデルがデジタル化されます。大勢の、現在そして新しい 3D 研究者たちが、AI を使って素晴らしいものを創るのに、Kaolin が役立つことを願っています。
Kaolin ライブラリは、GitHub でダウンロードいただけます。