ホームページ > 記事 > テクノロジー周辺機器 > 人工知能テクノロジーに基づいて 3D モデルを迅速に構築
翻訳者|Zhu Xianzhong
査読者|Sun Shujuan
図 1: 表紙
3D モデルの生成には時間がかかる場合があります。を消費するか、多数の参照イメージが必要になります。この問題を解決する 1 つの方法は、人工知能による画像生成方法である Neural Radiance Field (NeRF) を使用することです。 NERF の主なアイデアは、撮影したオブジェクトまたはシーンの 2D 画像の小さなセットを取得し、これらの 2D 画像を使用して 3D 表現を効率的に構築することです。これは、既存の画像間の変換を学習することで実現されます。このジャンプ (「補間」とも呼ばれる) テクニックは、オブジェクトに対する新しい視点のイメージを作成するのに役立ちます。
いいですね?小さな画像セットを使用して、3D モデルを作成できます。これは、写真を生成するために膨大な画像ライブラリを必要とする標準の写真測量よりもうまく機能します (あらゆる角度からのショットが必要です)。ただし、NVIDIA は当初、NeRF が高速であると約束していましたが、最近までそうではありませんでした。以前は、NeRF は一連の画像を 3D モデルに変換する方法を学習するのに長い時間がかかる傾向がありました。
しかし今日では、これは当てはまりません。最近、NVIDIA は、GPU ハードウェアを利用して必要な複雑な計算を実行するインスタント NeRF ソフトウェアを開発しました。このアプローチにより、モデルの作成に必要な時間が数日から数秒に短縮されます。 NVIDIA は、Instant-NGP ソフトウェアの使いやすさと速度について、多くの刺激的な主張を行っています。さらに、彼らが提供した結果と例も非常に印象的です。
##図 2: NeRF 画像表示 - NVIDIA には素晴らしいロボティクス ラボがありますこのデモに感銘を受けないわけにはいきません。素晴らしく見えます。そこで、これを自分の画像に転送して、独自の NeRF モデルを生成することがどれほど簡単になるかを確認したいと思いました。そこで、このソフトウェアを自分でインストールして使用することにしました。この記事では、私の実験体験と、私が作成したモデルの詳細について説明します。 主な任務部門それでは、どうすればいいでしょうか?大まかに段階的に設定されたタスクは次のように分類されます。ビデオ と warehouse リソース を参照することを心からお勧めします。
それ以外は、このプロセスは順調に進んでいます。公式は、キャプチャしたビデオを画像に変換し、その後モデルとビデオに変換する手順をガイドする Python スクリプトも提供しています。 実験1: レゴカー最初に、オフィスにある小さなレゴカーをNeRF化してみました。意味のある画像をまったく作成できず、自分の写真スキルが十分ではないと感じました。ただの奇妙な3Dの傷です。それは忘れて、NVIDIA が提供する例を見てみましょう。写真内のカメラの位置に注意してください:図 3: NVIDIA が提供する掘削機のデフォルト NeRF モデルの「カメラ」位置
トレーニングに適した準備設定の 1 つは、シーン内に「カメラ」を配置することです。上の図に記載されています。これらのカメラは、ビデオを撮影するときにソフトウェアが向いていると判断する角度です。素敵なサークルになるといいですね。もちろん、私が最初に作ったレゴ車はまったくこんな形ではなく、潰れた半円でした。
最初の実験から学ぶために、完全に可動性のあるテーブルを見つけ、より大きなレゴ カーを見つけました。私も、以前よりも長時間写真を撮るように心がけています。最後に、あらゆる角度から滑らかな 1 分間のビデオを撮影しました。モデルのトレーニングにかかる時間は合計 30 秒もかかりませんでした。 720p で 4 時間レンダリングして作成したビデオは次のとおりです:
図 4: 2 番目の NeRF モデル – レゴ テクニック カー!
結果は、上記の実験 2 がより優れており、少なくとも技術的には実現可能であることを証明しています。しかし、まだ奇妙な霧があり、それは確かに非常に厄介ではありません。次の実験では、さらに後方から撮影してみました(霧は、AI がそこにあるものについて「混乱」していることが原因であると推測しています)。 aabc_scale パラメーター (シーンの大きさを測定する) をより詳細に制御して、数分間トレーニングしようとしています。レンダリングの最後に、以下に示すビデオ結果が得られます。
図 5: リビング ルームのテーブル上の植物から作成した NeRF モデル
### ずっといい!かぎ針編みの植木鉢や木の溝、葉などの繊細な表現がとても緻密に表現されているのが印象的です。木の葉の上を急降下するカメラを見てください! テスト 4: さて、テスト結果はますます良くなってきています。でも、屋外の動画が欲しいです。私はアパートの外で 2 分未満のビデオを撮影し、処理を開始しました。これは、レンダリング/トレーニングの場合に特に面倒です。ここでの私の推測では、aabc_scale 値がかなり高い (8) ため、レンダリング「レイ」が非常に遠くまで到達する必要がある (つまり、レンダリングしたいものの数がより多くなる) と考えられます。そのため、480p に切り替え、レンダリング FPS を 30 から 10 に下げる必要がありました。設定パラメータの選択がレンダリング時間に影響を与えることがわかりました。 8 時間のレンダリングの後、最終的に次のようになりました。 図 6: アパートの外で使用した NeRF モデル ただし、私は次のように考えています。 3番目のトライアルは今でも私のお気に入りです。 4回目のトライアルはもう少しうまくできたと思います。ただし、レンダリング時間が非常に長くなると、バージョンを繰り返したり、さまざまなレンダリング設定やトレーニング設定を試したりすることが困難になります。レンダリングのためのカメラアングルを設定することさえ難しくなり、プログラムが非常に遅くなってしまいました。 ただし、使用したビデオ データは 1 ~ 2 分だけなので、これは本当に驚くべき出力です。ついに、詳細でリアルな 3D モデルが完成しました。 メリットとデメリットの分析最も印象的だったのは、写真測量のトレーニングを全く受けていない人 (私) でも、1 ~ 2 分の撮影で実用的な 3D モデルを作成できたことです。このプロセスにはある程度の技術的なノウハウが必要ですが、すべてをセットアップしてしまえば、簡単に使用できます。 Python スクリプトを使用してビデオを画像に変換すると、うまく機能します。これが完了するとAIへの入力がスムーズに進みます。 ただし、この点で Nvidia を責めるのは難しいですが、この点については取り上げるべきだと思います。これにはかなり強力な GPU が必要です。私のラップトップには T500 が入っていますが、このタスクはそれを絶対的な限界まで押し上げただけです。実際、トレーニング時間は宣伝されている 5 秒よりもはるかに長く、1080p でレンダリングしようとするとプログラムがクラッシュします (私は 135*74 インジケーター付近で動的にレンダリングすることにしました)。以前の NeRF モデルの実験には数日かかったため、これは依然として大幅な改善です。 このようなプロジェクトでは、誰もが 3090p デバイスを持っているわけではないと思うので、簡単に説明する価値があります。コンピューターのパフォーマンスが低いため、特にビデオのレンダリングに適したセットアップを行うためにカメラを「飛行」させようとした場合に、プログラムの使用が困難になりました。それでも、このプロセスの結果は印象的です。また、私が直面したもう 1 つの問題は、レンダリング ファイル render.py が見つからないことでした (ご想像のとおり、これはビデオのレンダリングに重要です)。非常に奇妙なことに、ほとんどの広告記事やその他のドキュメントで頻繁に言及されているにもかかわらず、公式に提供されているオープン ソース コード リポジトリには含まれていません。したがって、リンク https://www.php.cn/link/b943325cc7b7422d2871b345bf9b067f からこの宝を掘り出さなければなりません。
最後に、上記の 3D モデルを .obj ファイルに変換したいと思います。もしかしたら今ならそれが可能かもしれません。
図 7: キツネの GIF アニメーション - これは私が作ったものではなく、NVIDIA が作成したものです。悪くないですよね?
原題: Using AI to Generate 3D Models, Fast! 、著者: Andrew Blance
以上が人工知能テクノロジーに基づいて 3D モデルを迅速に構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。