見出し画像

建築ビジュアルCG AI活用法⑤ 3Dモデル生成 ~LumaAI UE5 Plugin~

こんにちは。STUDIO55技術統括の入江です。

今回から数回にわたり、建築ビジュアルCGにおけるAI活用法「AIによる3Dモデリング」に焦点を当てて詳しくお話ししていきます。


ジェネレーティブAI (SD-A 1111) によるイメージ画像

ジェネレーティブAIはビジュアルコンテンツ制作においてすでに大きな変革をもたらしており、近い将来、3DCGのすべての制作工程をAIが担う可能性もあります。AI技術は急速に進化しており、モデルの生成、テクスチャリング、アニメーション、レンダリングなど、多くの工程でAIが利用されています。これにより、制作時間の短縮やコストの削減が実現し、クリエイティブなプロジェクトのハードルが下がっています。

ただし、完全にAIがすべてを担うまでには、まだ技術的な課題や人間の創造性を超えることができない部分もあります。現在のAIは、クリエイターのサポートツールとして機能し、人間のデザイナーやアーティストのスキルを補完する役割を果たしています。しかし、技術が進歩するにつれ、AIの能力はますます向上し、3DCG制作におけるAIの役割がさらに拡大することは間違いありません。

3Dモデル生成の最先端技術

Image Creatorで作った生成画像

今年に入って3Dモデル生成の技術が急速な展開を見せています。これまではまだ先と思っていたことが、いよいよ現実味を帯びてきました。

3Dモデル生成に関するプラットフォームについて話す前に、先ずモデル生成に関わる最先端の技術について、知っておくべき重要な単語があります。

  1. マルチモーダルAI

  2. NeRF (ナーフ)

  3. Gaussian Splatting (ガウス スプラッティング)

難しそうに聞こえますが、実際にはさまざまな場面でよく目にするワードです。世の中で起こっていることを理解するためにも、「魔法のようなことが起こっている!」と感じるだけでなく、具体的に認識しておくと、点と点がつながって理解が深まります。

まだご存じない方のために、できるだけ分かりやすくまとめましたので、何がすごいのかを理解するために、まずはこちらからご覧ください。


1. マルチモーダルAI

2つ以上の異なるデータの種類(モダリティ)から情報を収集し、統合して処理する人工知能(AI)システムのことです。異なるモダリティ情報を組み合わせることで、より深い理解と洞察が可能となり、シングルモーダルAIでは対応できないタスクを処理できます。
テキスト、画像、音声、動画、コードなどを同時に処理する人工知能(AI)は、もはや人間に近いレベルにまで達しており、現在さまざまな業界で応用開発が進んでいます。

今年の5月中旬、OpenAI社の「ChatGPT-4o (Omni)」や、Googleのプロジェクト「アストラ」「Veo」が一気にリリースされ、大きな話題となりました。これらは、いわゆるマルチモーダルAIです。

モバイル端末と普通に会話している様子は、AIと話しているとは思えないほど自然で、まるで人間そのものです。それに加えて、さまざまな役割をこなす自由度の高さもあり、もはや「人間超え」のレベルに達しています。

このように、別のモダリティを1つに処理するマルチモーダルAIの展開が、今後さらに進んでいくことが予想されています。


2. NeRF (ナーフ)

ナーフ(NeRF)は、一連の2D画像から3次元シーンを生成する機械学習技術(ニューラルネットワーク)のことです。医療では、MRIなどの2D画像から体組織や臓器のリアルな生成、仮想現実や都市計画では衛星画像からのリアリティキャプチャ(RC)に役立ちます。

昨年(2023年)初頭、アメリカのマクドナルドが世界で初めてNeRFを使ったTVコマーシャルを放送して話題になったのも記憶に新しいところです。


3. Gaussian Splatting (ガウス スプラッティング)

3Dガウス・スプラッティング(3DGS)は、NeRF同様、複数の視点から撮影した画像(映像フッテージ)から3Dシーンを生成する技術です。ただ、NeRFと異なり、高品質な生成が可能でありながら、コスト(時間と機械学習)のリスクが少ないため、現在、業界のトレンドとして注目されています。

昨年の 「SIGGRAPH 2023(シーグラフ 2023)で研究発表されてから、わずか数カ月で3D生成技術が急速に進化した要因がここにあります。

SIGGRAPH 2023 で発表された研究論文
「3D Gaussian Splatting for Real-Time Radiance Field Rendering」
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

3DGS(3D ガウス・スプラッティング)は点群データでもなく、ポリゴンやメッシュでもない独自の形式による3Dデータをリアルタイムで高速に自動生成します。この技術では、「ガウス(色情報)」を画面内に「スプラッティング(重ね塗り)」することで、高速描画を実現しています。

今年のシーグラフ 2024は、7月28日から8月1日まで、アメリカのコロラド州デンバーで開催予定です。

6月27日付けで、今年のテクニカルペーパーがビデオ公開されています。最新デジタル技術の一端を、こちらで先行して伺うことができます。

今年のシーグラフ アジア 2024は、12月3日から6日まで東京国際フォーラムで開催です。昨年はシドニー国際会場での開催でしたので、今回は直接会場に行けることもあり、さらに楽しみですね。

SIGGRAPH Asia 2024:https://asia.siggraph.org/2024/ja/

3D生成 「LumaAI」

これらの技術の発展により、3D生成モデルの実用性が急速に向上しています。その中でも特に注目されているのが、LumaAI(ルマ エーアイ)です。

LumaAIのページ画面

LumaAIは、マルチモーダル基盤NeRFGaussian Splattingを利用し、携帯カメラで撮影した映像を高速で3Dモデルに変換する Interactive Scenes機能を使用しています。

さらに、テキストから任意のポリゴン数でクァッドメッシュとマテリアルを生成できるGenie(ジェニー)をリリースしており、“10秒以内に4つのモデルを生成” と、こちらも高速3Dモデル生成が可能です。

また、先月の6月13日に、新たに高品質な動画生成AIDream Machine(ドリーム マシーン)が発表されました。すでにSora超えのレベルの高さが評判となっています。

x (旧 Twitter) の ”Dream Machine” 告知画面

LumaAI データ検証

先日の休日、愛犬と花博記念公園鶴見緑地を散歩しました。その際、公園にある自動販売機を撮影しましたので、それを使って、生成するモデルデータを比較検証してみたいと思います。

花博記念公園鶴見緑地で撮影した自販機

LumaAIで生成処理されたデータは、Luma WebGL Libraryで表示されます。
未来感たっぷりな3DGSの生成動画を、こちらから直接ご覧ください。

(補足解説)
単純に自動販売機を一周して撮影しただけの映像で、これほどのクオリティが得られます。自販機の上面まで正確に生成するには、携帯にアームを装着するなどの工夫が必要になります。


Luma WebGL Library 動画編集

LumaAIには、Luma WebGL Libraryの動画編集機能が付いています。Web上で簡単にスプラット動画を編集・作成でき、次世代感のあるエキサイティングな動画を作ることが可能です。

WebGL Three.jsベースの表示ライブラリLuma WebGL Libraryについての詳細は、こちらからご覧ください

Luma WebGL Libraryページ

GLTF・OBJ・360image 検証

生成した3Dデータは、PLYを始め各種形式で取り出すことができます。

Downloads画面

ダウンロードデータ内訳
オブジェクトデータ : GLTFUSDZOBJ (low、medium、high poly)
シーンデータ : PLY(Point cloud、full mesh)
360度データ : JPG (jpg)

では、先ずGLTFで比較検証します。

GLTF : 3種類のLOD

ローポリは省いて、ミディアムとハイポリで比較した結果がこちらです。
どちらかというとミディアムの方が無難な見た目で、ハイポリは少しエグみが強くなっています。

GLTF : ミディアム vs ハイポリ

ハイポリメッシュはミディアムの約3倍のメッシュ量。Mesh VRAMはミディアムに対して約6倍 近くになっています。その割に、見た目のハイポリ効果は感じられないので、ミディアムポリで十分といったところでしょうか。

データ容量は、ミディアムで13.2MB。ハイポリが46.8MBです。

(左)medium                                              (右) high

OBJデータの場合も同様の結果です。
OBJのデータ量は100MBを超える容量になってきますので、アセットデータとしては考えものです。

OBJ : ミディアム vs ハイポリ

参考まで、objマテリアルの設定がどうなっているのか載せておきます。
この場合、マルチサブが32ノード。すごい数です。(笑)

スレートマテリアルエディタ

360 imageデータに関しては、このようなエクイレクタンギュラーのjpg保存です。

360image

Premier ProでVR処理画面で見てみると、このような感じ。

Premier Pro画面

とりあえず、各種データの検証についてはこの程度ですが、ここまではあくまで前提に過ぎません。

本当に知りたいのは、plyクオリティがどのぐらいのレベルかです。

LumaAI Unreal Engineプラグイン

LumaAIの注目すべき点は、UE5のプラグインとして使用できることです。これにより、VFXから建築ビジュアルの分野に至るまで幅広い活用が期待されています。

LumaAIのUEプラグインは、2023年4月のアルファ版から始まり、今年に入ってLuma Unreal Engine Plugin v0.41が新たにリリースされました。

今回のアップデートにより、UE5のすべてのバージョンで使用可能になった(以前はUE5.1のみでした)のと、幅広いプラットフォーム向けに簡単にビルドできるようになり、シンプルな編集ツールを備えたガウス スプラットのサポートも追加されました。

Luma Unreal Engine Plugin (0.41) (notion.site):Documentation & Sample Projects

Luma Unreal Engine Plugin (v0.41) のドキュメントの解説には、次のようにあります。

Download a Luma Field (.luma) or Interactive Scene (”Splat”, which comes as a zipped .ply file) from one of your captures on https://captures.lumalabs.ai/me . We recommend downloading the more recent “Splat” representation for better performance and higher quality rendering. 

(直訳)
https://captures.lumalabs.ai/me のキャプチャの 1 つから Luma フィールド (.luma) またはインタラクティブ シーン (zip 形式の .ply ファイルとして提供される「Splat」) をダウンロードします。 パフォーマンスとレンダリング品質を向上させるために、より新しい「Splat」表現をダウンロードすることをお勧めします。

Luma Unreal Engine Plugin(0.41)より

これまで LumaAIのUE用のダウンロードファイルは、フィールド ファイルしかありませんでした。

以前のUE用のダウンロード項目の画面

ガウス スプラッティング はまだ世に出て間もない技術ですので、それが今回の更新で、早くもダウンロード可能になりました。

“お勧め” にあるように、スプラットのクォリティをフィールドと比較して確認していきます。

ダウンロード項目のGaussian Splat & Unreal Engineから、Field(フィールド)Splat(スプラット)のデータをダウンロードします。

Downloads 画面

Epic Games Launcherのマーケットプレイスで、LumaAIをインストールします。

マーケットプレイス画面

先ほどのドキュメントから「Basic start project」をダウンロードして起動します。
※Luma AI Plugin がアクティブになっている必要があります。

UE5 プラグイン設定画面

Field(.luma)データ

ダウンロードした Field(フィールド) をUEコンテンツブラウザにドラッグ&ドロップします。すると、自動でBlueprintsフォルダが生成され、6種類データとして格納されます。

Fieldをインポートした画面

「Dynamic_with_Enviroment」 を画面に反映したのが次の画像です。

Dynamic_with_Enviroment

データ名が示す通り「Dynamic_with_Enviroment」はUEプロジェクトシーンのダイナミック ライトが反映するデータになります。
それに対して「Baked」はUEのライトが反映されないデータです。

Dynamic_with_EnviromentでUE5のDirectionalLightをコントロールすると、このように光の影響を受けるのが確認できます。

Dynamicデータの照明変化のテスト

Splat(.ply)データ

では、スプラットを取り込んで、今のフィールドと比較します。

.plyをinteractive sceneフォルダに読み込ませると、計4種類のデータが自動配置されます。

Splatをインポートした画面

データ内容は、「Dynamic」Baked」の2種と「No_TAA」の内訳です。
それぞれのデータの特性については、最後に解説として記載しますので、そちらで確認して下さい。

PlyのDynamic データ反映の画面

結論

スプラットを使用した感想としては、従来の3次元スキャンで見られるサーフェイスエッジの崩れや細かなディテールの再現が難しいといった弱点を感じませんでした。モデルデータというよりは、画像そのものを映しているような印象です。

先ほどのフィールドと比較した画像を見ても(下図参照)、右側のスプラットがほぼ写真のように見えることがお分かりいただけるかと思います。

Field vs Splat

遠景の見え方の違いにおいても、スプラットの鮮明さは明確です。

Field vs Splat

(補足解説)
スプラットでの背景が途中から消えているのは、“With Environment” がないためです。そのため、キャプチャ映像から生成するEnvironment(環境)がスプラットではクリップされています。


CropBox-CullBox 機能

スプラットには「CropBox」「CullBox」といった機能があります。これらはモデルをクロップ編集するための機能です。

CropboxとCullBox

不要な部分をクロップしたり、必要な部分だけを残すなど、シーン内を必要最小限の範囲に限定するために使われます。

リサイクルボックスをクロップした例

商用利用について

LumaAIは基本的に商用利用可能ですが、詳しくはこちらの利用規約をご確認ください。


補足解説・データ種類

Baked
映像を撮影した時の照明が含まれたブループリントデータ。影や照明がベイクされた状態。

Dynamic
UEのライティングの影響を受けるデータ。

Cropped
キャプチャの中心にあるオブジェクトが自動的に切り取られたデータ(撮影方法による)
※今回でいえば自動販売機がクロップされる形になります。横にあったオレンジカラーのリサイクルボックスがない点に注目です。

Cropped 参考

With Environment
キャプチャ映像に映らなかった空環境の領域を適切に生成処理したデータ。

No_TAA
TAA(Temporal Anti-aliasing)設定なしの意味。UE標準AAと違う設定にしたパフォーマンスが必要な場合に使用するモデルデータ。


今回は少し長めの記事になりましたが、3Dモデル生成AIがいかに革新的であるかをお分かりいただけたかと思います。

次回も引き続き、ガウス(Gaussian Splatting)関連の話題を取り上げますので、お楽しみに!