NVIDIA は、わずか 5 行のコードで画像を 3D モデルに変換する 3D ディープラーニング ツール Kaolin をリリースしました。

NVIDIA は、わずか 5 行のコードで画像を 3D モデルに変換する 3D ディープラーニング ツール Kaolin をリリースしました。

近年、3D コンピューター ビジョンと人工知能はともに急速に進歩していますが、両者の効果的な組み合わせを実現するにはまだ長い道のりがあります。これを踏まえて、NVIDIA は本日、Kaolin PyTorch ライブラリをリリースしました。このライブラリを使用すると、わずか数ステップで 3D モデルをニューラル ネットワークのアプリケーション範囲に移行できます。

さらに、Kaolin ライブラリを使用すると、ディープラーニング用の 3D モデルを準備する作業負荷が大幅に軽減され、コードが 300 行からわずか 5 行にまで削減されます。

3D ディープラーニング研究を加速するために設計された PyTorch ライブラリとして、Kaolin はディープラーニング システムで使用するための微分可能な 3D モジュールの効率的な実装を提供します。 Kaolin は、一般的な 3D データセットを読み込んで前処理できるだけでなく、メッシュ、ポイント クラウド、符号付き距離関数、ボクセル グリッドを操作するためのネイティブ関数も備えているため、不要な定型コードの記述が削減されます。

Kaolin ライブラリには、レンダリング、ライティング、シェーディング、ビューワーピングなどのさまざまなグラフィック モジュールが含まれています。さらに、Kaolin ライブラリは、シームレスな評価のためのさまざまな損失関数と評価メトリックをサポートし、3D 効果をレンダリングするための視覚化機能を提供します。重要なのは、NVIDIA が将来の研究の出発点として、現在最も優れた 3D ディープラーニング アーキテクチャの多くを含むモデル ズーを作成したことです。

こうしたツールは、ロボット工学、自動運転、医療用画像処理、仮想現実など、さまざまな分野の研究者に役立つ可能性があります。 3D モデルへの関心が高まるにつれ、Nvidia の Kaolin ライブラリがこの分野に大きな影響を与える可能性があります。現在、世界中で使用されている 3D 画像を撮影できる深度カメラが 3,000 万台と推定されており、オンライン リポジトリ (レポ) には多くの 3D データセットがホストされています。

GitHub アドレス: https://github.com/NVIDIAGameWorks/kaolin/

では、カオリンライブラリの具体的な表示効果は何でしょうか? NVIDIA は次のような実用的なアプリケーション例を示しています。

3D シーンでは、オブジェクトは分類によって識別されます (この画像では椅子が識別されています)

3D コンポーネント セグメンテーションは、3D モデルのさまざまなコンポーネントを自動的に識別し、アニメーション キャラクターを「リギング」したり、モデルをカスタマイズしてオブジェクトのバリエーションを生成したりすることを容易にします (左側の 3D モデルは、右側の服や靴などを身に着けています)

画像から 3D 機能を使用すると、トレーニングされたニューラル ネットワークによって認識された画像に基づいて 3D モデルを構築できます (右側に椅子の 3D モデルが生成されます)

NVIDIA が現在リリースしている Kaolin ライブラリのベータ版には、メッシュ、ボクセル、符号付き距離関数、ポイント クラウドでの 3D ディープラーニング用の処理関数がいくつか含まれています。 ShapeNet、ModelNet、SHREC などの一般的なデータセットがすぐにロードされます。さらに、NVIDIA はいくつかの 3D 移行および変換操作を実装しました。

Kaolin ライブラリでサポートされている 3D タスクは次のとおりです。

  • 微分可能レンダラー(ニューラル メッシュ レンダラー、ソフト ラスタライザー、微分可能補間ベース レンダラー、およびモジュール式で拡張可能な抽象微分可能レンダラー仕様)
  • 単一の画像に基づくメッシュ再構築 (Pixel2Mesh、GEOMetrics、OccupancyNets など)。
  • ポイントクラウドの分類とセグメンテーション(PointNet、PoinNet++、DGCNN など)
  • メッシュの分類とセグメンテーション。
  • ボクセルグリッドの 3D 超解像度。
  • 基本的な画像処理(ハイライト、シャドウなど)。

Kaolinライブラリのインストールと使用

サポートされているプラ​​ットフォーム

Kaolin は Linux プラットフォームで正式にサポートされており、Ubuntu 18 でビルドおよびテストされています。 Windows および Mac プラットフォームでの実験的なサポートも検討する必要があります。

インストール手順

NVIDIA は、ユーザーが Kaolin ライブラリを仮想環境 (conda または virtualenv を使用して作成された仮想環境など) にインストールすることを推奨しています。 Kaolin には Python バージョン 3.6 以上が必要であり、現在ビルド時には CUDA 対応マシン (つまり、nvcc がインストールされている必要があります) が必要です。

まず仮想環境を作成します。次の例は、Kaolin ライブラリをインストールするための conda 仮想環境を作成する方法を示しています。

  1. $ conda create --name kaolin python= 3.6 $ conda activate kaolin

次に、関連する依存関係 (numpy と torch) をインストールします。構成ファイルでは、これら 2 つの依存関係を自動的にインストールできないことに注意してください。

  1. conda numpy をインストール

次に、Pytorch をインストールして、Kaolin ライブラリをインストールできるようにします。最後に、リポジトリのルート ディレクトリ (README ファイルを含むディレクトリ) から、次のコマンドを実行します。

  1. $ python setup.py をインストール

インストール中に、packman パッケージ マネージャーは、Universal Scene Description (USD) ファイルの読み取りと書き込みに必要なパッケージを含む nv-usd パッケージを ~/packman-repo/ にダウンロードします。

インストールの確認

Kaolin ライブラリがインストールされていることを確認するには、ユーザーは Python インタープリターを起動し、次のコマンドを実行します。

  1. >>> kaolin を kal としてインポートします>>> print(kal.__version)

ドキュメントを作成する

Kaolin ライブラリを詳細に調査するために、ユーザーはドキュメントを作成できます。リポジトリのルート ディレクトリ (README ファイルを含むディレクトリ) から、次のコマンドを実行します。

  1. $ cd docs $ sphinx-build . _build

ユニットテストの実行

ユニット テストを実行するには、ユーザーはリポジトリのルート ディレクトリ (README ファイルを含むディレクトリ) から次のコマンドを実行します。

  1. $ pytest テスト/

Kaolinライブラリの主な機能モジュール

repo: サポートされている 3D アセット表現には、三角形メッシュ、四辺形メッシュ、ボクセル グリッド、ポイント クラウド、符号付き距離関数が含まれます。

変換: すべての一般的な 3D 表現の変換をサポートします。
実装されたモデルは次のとおりです。

  • DGCNN (https://arxiv.org/abs/1801.07829v1)
  • DIB-R (https://arxiv.org/abs/1908.01210)
  • GEOMetrics (https://arxiv.org/abs/1901.11461)
  • Image2Mesh (https://arxiv.org/abs/1711.10669)
  • 占有ネットワーク (https://arxiv.org/abs/1812.03828)
  • Pixel2Mesh (https://arxiv.org/abs/1804.01654)
  • ポイントネット (https://arxiv.org/abs/1612.00593)
  • ポイントネット++ (https://arxiv.org/abs/1706.02413)
  • MeshEncoder: シンプルなメッシュ エンコーダー アーキテクチャ。
  • GraphResNet: 残余接続を持つ MeshEncoder。
  • 占有ネットワーク (https://arxiv.org/abs/1812.03828)
  • 他の

グラフィックス: ライブラリは、差別化可能なレンダラーを構築するための柔軟なモジュール フレームワークを提供し、個々のコンポーネントの実装と置き換えを容易にします。さらに、Kaolin ライブラリは、次の微分可能レンダラーの実装を提供します。

DIB-R (https://arxiv.org/abs/1908.01210)

ソフトRas (https://arxiv.org/abs/1904.01786)

ニューラル 3D メッシュ レンダラー (https://arxiv.org/abs/1711.07566)

メトリクス: 実装されたメトリクスと損失関数は次のとおりです。

メッシュ: 三角形の距離、面取りの距離、エッジの長さの正規化、ラプラシアン正規化、点と面の距離、法線の一貫性

点群: 辺距離、面取り距離、方向距離

ボクセル グリッド: 交差和 (3D IoU)、F スコア

<<:  GACの第2世代Trumpchi GS4が発売され、WeChat車載バージョンは安全で効率的な車内通信を実現

>>:  ストーリーを伝えれば、動画が編集されます。AI による動画編集の自動化により、パンダの目を持つ編集者が解放されます。

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

IBMがAIチップNorthPoleを発売:内蔵メモリを搭載し、「人間の脳の働きをシミュレート」できると主張

▲ 画像出典: IBM IBM Researchは10月24日、人間の脳の動作にヒントを得たというA...

組織内の AI スキルを向上させる 3 つのステップ

[[350689]]今日、ほとんどの組織は人工知能が遍在する世界に向けて準備を進めています。この進化...

AI+CRMの啓示:人工知能は、アプリケーションシナリオに実装された場合にのみ、大きな可能性を発揮できます。

[51CTO.comより] 両会期中の政府活動報告に人工知能が盛り込まれた。万鋼科学技術部長は、中...

AIがフィンテックを変える4つの方法

[[432805]]金融業界の企業は、人工知能 (AI) を使用して複数のソースからのデータを分析お...

危険なAIアルゴリズムを識別し、倫理原則に従ったビッグデータモデルを作成する方法

人工知能がもたらす脅威について議論するとき、スカイネット、マトリックス、ロボットによる終末の世界とい...

AI アバターはブランドエンゲージメントを深める鍵となるのでしょうか?

マーケティングとは、提供される製品やサービスに関する広告、販売、提供、話題作りを組み合わせたものです...

説明可能な AI とは何ですか?

説明可能な人工知能 (XAI) とブロックチェーン技術の融合は、分散型エコシステムにおける取引の監査...

...

プログラミング面接で学ぶべきアルゴリズム概念トップ10のまとめ

コーディング面接でよく聞かれるアルゴリズム関連の概念トップ 10 を紹介します。簡単な例を使ってこれ...

東京オリンピックでAI技術を披露:「人工」から「人工知能」へ

「人工」から「人工知能」への移行は、時代の急速な進歩と科学技術の急速な発展です。今こそ、今回のオリン...

あなたの脳は寝ている間に本当に学習します!初めての人間実験証拠:再生速度が1~4倍に

寝る前に本を数ページ読んだり、数語読んだりするだけで、目覚めたときに深い感銘を受けていることに気づき...

1 つの記事で TensorFlow ディープラーニングをマスターする

[[200803]] EnsorFlow ディープラーニングフレームワークGoogle はビッグデー...

人工知能業界を理解するにはどうすればいいのでしょうか?まず知っておくべき知識は何でしょうか?

人工知能の発展を理解したい場合、または人工知能の基本的な応用を理解したい場合は、まずいくつかの基本的...

...

機械学習から最も恩恵を受ける4つの業界

機械学習は、将来性が最も高く、業界に最大のメリットをもたらす AI の分野です。関連レポートによると...