AIによる3Dデータ生成
- SHARE

近年OpenAIのChatGPTやGoogleのBardのような会話形式で様々な文章を生成するAIや、Stable DiffusionやDALL-Eといった自然言語から高クオリティな画像を生成するAIなどが登場し、AI市場はますます盛り上がっています。
特にChatGPTなどは各企業が業務効率化のために導入を進めるなど、人間の仕事をAIにより効率化するなど様々な分野で活用が進んでいます。自然言語や画像データに関して盛り上がっているAIですが、3Dデータに関しても近年技術開発が進められており、今後活用が進むと考えられます。現在どの程度の3Dデータが生成できるのか調査しました。

奥野 正寛
変革エンジニア

藤原 洋介
Human & Information AIテクノロジスト

渋谷 謙吾
モノを動かすエンジニア
3Dデータの生成AIの活用が期待される領域
最近はデバイスや技術の発展により、ARやVRといった技術が一般消費者向けだけでなく業務でも活用されることが増えつつあります。例えば製造業においては工場へ設備導入する際に動線や作業スペースが確保できるか事前に現場でARを活用して確認したり、VR空間で機器メンテナンスのトレーニングを行う、建設業界ではバーチャル空間に建物を再現して設計・デザインの検討や合意形成に活用するといった事例があります。
そういったサービス、アプリケーションを開発するためには3Dデータが必要不可欠であり、現在はマーケットプレイスなどで取得することもできますが、必要に応じて3Dデータを新たに作成することがあります。
3Dデータの作成には専門的なスキルが必要で多くの人的リソースが必要なことから、AIによって3Dデータを作成できるようになると大幅に効率化できることが期待されます。また専門的なスキルを持たない人でもAIによって簡易的に必要とする3Dデータを作成できるようになると、営業シーンにおけるイメージの共有や、設計・デザインにおけるシミュレーションなど、幅広いシーン・用途で3Dデータの活用が広がる可能性があります。
研究開発が盛り上がる3Dデータの生成AI
近年、3Dデータの生成AIは様々な手法が登場しており、特にGoogleがDreamFieldsを発表した2022年頃から急速に研究開発が進んで多くの論文が発表されています。
インプットデータや機能によって、以下のように分類しました。本記事では各手法についての説明は割愛しますが、これらはほとんどが2022年以降に発表されたもので、やはり急速に研究が進んでいることが分かります。
(生成AIの手法は日々新しいものが登場しており、調査時点で対象とした手法についてのみ記載しております)
■Text to 3D生成
何かしらの文字列入力をインプットに、3Dデータを生成する手法です。
モデルによって単語だけでなく、プロンプト入力にも対応してます。
【手法例】
・DreamFields
・ClipMesh
・DreamFusion
・Stable Dream Fusion
・Magic3D
・Latent NeRF
・Text2Mesh
・Score Jacobian Chaining
・Prolific Dreamer
・ATT3D
■2D to 3D生成
画像データから3Dデータを生成する手法です。
【手法例】
・Point-E:
テキストまたは画像データから点群データを生成
・Shape-E:
テキストまたは画像データから点群データを生成
・Zero1to3:
1つの画像データから複数視点の画像を合成し、3Dデータを再構成
■その他3Dデータ生成AI
特殊な入出力やその他3Dデータ生成に関する機能を持つ手法を分類してます。
【手法例】
・Get3D:
学習済みの特定ドメイン(車やバイクなど)のAIモデルにより
そのドメインの様々な3Dデータを複数個生成
・Drag3D:
3Dモデルの特定ポイントをドラッグ&ドロップすることで
インタラクティブに3Dモデルを編集・生成ができる
・pix2pix3D:
エッジのみの画像入力から3Dデータを生成
3Dデータの生成AIに活用される技術
今回調査した3Dデータの生成AIの多くの手法が様々な技術を組み合わせて実現されており、主に活用されている技術について紹介します。
■NeRF(Neural Radiance Fields)
2020年に発表された、複数視点からの画像から新規視点の画像を合成する手法で、多くの3Dデータ生成AIに活用されています。
教師データとして3Dデータは不要で、レンダリングされる画像と入力画像の差分が最小になるようニューラルネットワークが学習します。NeRFでは学習の性質上ボリュームレンダリングという手法で結果がレンダリングされるため、出力結果をゲームエンジンなどのツールで使いやすい3DデータとするためにはMarchingCubes等の手法でメッシュの作成が必要です。
■テキストー画像のマルチモーダルモデル
テキストデータと画像それぞれの大規模なデータセットから学習されたAIモデルで、例えばOpenAIが公開しているCLIPなどがあります。
テキストと画像それぞれを特徴ベクトルでペアリングされており、訓練データがなくても画像分類ができるゼロショット学習を実現しています。
■Diffusion Model(拡散モデル)
画像に対してランダムノイズをあてて、完全にノイズになったものからノイズを取り除く際に、元の画像との差分を小さくするよう学習するモデルです。
この拡散モデルと前述のマルチモーダルモデルを組み合わせることで近年盛り上がっている高精度な画像生成AIが実現されており、例えばOpenAIが発表しているDALL-E2ではCLIPと拡散モデルを組み合わせて精細な画像を生成できるAIを実現しています。
https://cdn.openai.com/papers/dall-e-2.pdf
■3Dデータの生成AI実現方法
例えばGoogle Researchが発表しているDreamFieldsはNeRFとテキストー画像のマルチモーダルモデルのCLIPを組み合わせ、またDreamFusionではNeRFと画像生成の拡散モデルであるImagenを組み合わせて実現されています。
同様にScore Jacobian ChainingやLatent-NeRFなどはNeRFと拡散モデルを組み合わせて実現されるなど、多くの手法がNeRF、マルチモーダルモデル、拡散モデルの組み合わせによって実現されています。
3Dデータの生成AIを試してみた!
今回いくつかの手法について実際どんなデータが生成できるのか検証しましたので、結果を紹介します。基本的に公開されているコードや、HuggingFace上のデモをそのまま実行した結果であり、パラメーターのチューニングなどによって精度を高められる可能性がある点をご留意ください。
■Daream Fields(Text to 3D)
フルーツボールや花瓶は、なんとなく雰囲気が分かるものが出力されました。
プロンプトを色々調整して試したいところでしたが、Google Colab Pro+環境で1つにつき4時間ほどかかってしまうため、多くは試していません。
■Stable Dreamfusion(Text to 3D)
Dreamfusionはコードが公開されていないため、Pytorch実装として公開されているStable Dreamfusionを試しました。高精細ではないですが、ある程度対象が分かるデータが出力されました。実行時間はColab Pro+環境で1つ1時間程度です。
■Score Jacobian Chaining(Text to 3D)
Dream Fusionなどと同様にNeRFと画像生成の拡散モデルを組み合わせたものです。
実行時間はColab Pro+環境で1つ1時間弱程でした。
こちらは出力される様々な角度の画像の一部で、NeRFによる3D再構築前のものとなるため、3Dデータ化した際にもう少し品質が落ちると想定されます。
「a dog and a cat」と入力すると、犬と猫が混ざったものが1体生成されたので、複数の対象物を1度に生成するのは難しいと考えられます。
■Point-E(Text to 3D)
OpenAIが発表した手法で、インプットにテキストと画像データどちらも利用できますが、こちらはテキストインプットの結果です。点群データで出力されますが、同梱のAIモデルでメッシュ化も出来ます。
Colab Pro+環境で1つ30秒程度と高速に生成できました。
掲載しているものは左が点群、右がメッシュ化した様子です。
対象物が何であるか分かる結果ではありますが、あまり解像度が高くありません。
「Bouquet of flower」のようにメッシュ化すると、穴抜けが発生することも見られました。
■Get3D
NVIDIAが発表した、学習済みの特定ドメインについて複数の3Dデータをランダムに生成するモデルです。
こちらはサンプルとして用意されていたMotorBikeについて実行した結果で、20台のバイクの3Dデータが出力されました。
Blenderで確認すると高精細とは言えないですが、タイヤを支えるフォークやエンジン、ハンドルなど各部が分かる程度の精度のモデルであることが分かります。
検証した結果と今後の期待
今回様々な手法を実際に動かしてみて、それぞれが簡単なインプットを与えるだけで3Dデータが生成させることが確認できました。こうしたAIにより専門的なスキルがない人でも簡単に3Dデータを作ることができます。
しかし現時点ではほとんどの手法がまだ高精細な3Dデータを生成できるわけではなく、ゲームや高クオリティなXRアプリで使用されているような3Dデータの品質にはまだ達していないことも分かりました。
ただし3Dデータの生成AIは日々新しい手法が発表されており、精度向上が加速的に進んでいます。例えば今年5月にTsinghua UniversityとRenmin University of Chinaから発表されたProlific Dreamerという手法では非常に高精細でフォトリアルな3Dデータの生成が期待されます。
また各企業の動向としてNVIDIAはPicassoという生成AIサービスを発表しており、その中に3Dデータ生成も含まれています。
ゲーム開発エンジンであるUnreal Engineはプロシージャルに大規模なワールド生成ができるProcedural Content Generation frameworkを発表し、UnityはMuseという3Dデータを作成・編集できるAI機能を発表しています。
このように研究機関や企業による3Dデータ生成AIの開発が活発に進められていることから、近い将来には業務で十分利用可能な精度のデータを生成できる手法やサービスが出てくると期待されます。
イノラボでは継続的に3Dデータ生成AIの動向をキャッチし、様々なユースケースでこういった最新技術を活用することを検討していきます。
お問い合わせ
お問い合わせは以下よりお願いします。


