見出し画像

建築ビジュアルCG AI活用法⑥ 3Dモデル生成 ~スーパー スプラット~

こんにちは。STUDIO55技術統括の入江です。
今回はSplat(スプラット)データを編集する方法についてお話しします。

前回のコラム記事では、最先端の3D生成について、ガウス・スプラッティングのSplatデータとともに紹介しました。まだご覧になっていない方は、ぜひ参考にしてください。

3D Gaussian Splatting(3DGS)の登場により、3Dモデル生成が飛躍的に進化しました。従来のモバイル端末に搭載されたLiDAR(ライダー)フォトグラメトリーは、サーフェイスのエッジや細かなディテール再現における点群密度のクォリティから、建築ビジュアルでの活用は限られていました。しかし、3DGSの登場により、3Dモデル生成への注目が高まっています。


LiDERとフォトグラメトリー

補足として、これまでの2種の3Dスキャン技術について簡潔に解説します。前回の最先端技術の説明と合わせて、こちらも3DGSの理解につながるものですので、参考にして下さい。

ジェネレーティブAIによるイメージ画像

LiDAR(Light Detection And Ranging) 

LiDAR(ライダー) は、レーザースキャンで距離を正確に測定する技術です。そのため、生成したジオリファレンスを空間、オブジェクト、ランドスケープのデータとして構築するのに有効です。どちらかというとビジュアル面より測量技術向きで、現場での使用で期待されています。
モバイル端末での有効照射距離は一般的に約5メートルが限界とされており、広範囲をスキャンする際には端末を大きく上下左右に動かす必要があります。そのため、高い建物では5メートル以上の高さをスキャンできないという制約があります。

フォトグラメトリー(Photogrammetry)

フォトグラメトリーは、レーザーではなく画像を基に3Dモデルを生成するプロセスです。画像をオーバーラップ処理して精密な空間モデルを生成するため、測定というより調査資料マッピングを目的としたデジタルデータになります。
モバイル端末のカメラの解像度が高いほど、詳細な3Dモデルを生成できますが、高解像度の写真はデータ量が増えるため、処理速度やストレージ容量に影響を及ぼすことがあります。
また、多角的な視点から写真を撮ることが求めらます。不十分な視点からの撮影は、正確な3Dモデルの生成を妨げる可能性があります。


この2つの手法はお互いに特徴があり、得意な面と不得意な面があります。
そこで、この2つを組み合わせたアプリケーションというのも、いくつか存在します。これらのアプリケーションは、両方の技術の利点を活かして、高精度かつ詳細な3Dモデルを生成することができます。
いくつかの代表的なアプリを紹介しておきます。

LiDAR+フォトグラメトリー アプリケーション

  1. Polycam

    • 機能:PolycamはLiDARとフォトグラメトリーの両方をサポートするアプリです。LiDARを使用して高速かつ精密なスキャンを行い、フォトグラメトリーを利用してテクスチャの詳細を補完します。

    • プラットフォーム:iOS

  2. 3D Scanner App

    • 機能:このアプリはLiDARを活用して3Dスキャンを行い、フォトグラメトリーで詳細なテクスチャを生成します。ユーザーはスキャン後、クラウド処理でさらに詳細なモデルを生成することも可能です。

    • プラットフォーム:iOS

  3. SiteScape

    • 機能:主に建築や建設分野向けで、LiDARを使用して現場の詳細な3Dスキャンを行い、フォトグラメトリーを利用して色やテクスチャを追加します。これにより、正確な現場の再現が可能です。

    • プラットフォーム:iOS

  4. Metascan

    • 機能:Metascanは、LiDARスキャニングとフォトグラメトリーを組み合わせた高度な3Dスキャンを行うことができます。簡単な操作で高精度の3Dモデルを作成できます。

    • プラットフォーム:iOS

それぞれのアプリが提供する具体的な機能やユーザーインターフェースは異なるため、ニーズに合ったものを選ぶと良いでしょう。

PIX4Dcatch

昨年1月にPix4D社が無償提供を開始した『PIX4Dcatch』というアプリがあります。
PIX4Dcatchは、LiDARとフォトグラメトリーの両方の技術を効果的に活用し、詳細かつ精度の高い3Dモデルを生成するための強力なツールです。建築や建設、インフラ管理など、多くの分野での利用が期待できるため、これらの技術を組み合わせたアプリを探している場合には非常におすすめです。

PIX4Dcatch RTK ページ

ドローンを使用せずにSfM(Structure from Motion)処理用の写真撮影が可能で、撮影した写真やLiDARの深度データを用いてRTK測位の画像処理も実現できます。

これまで高額で手が出せなかったLiDER搭載のスキャン機材を必要とせず、手軽に手持ちの携帯で使用ができる画期的な商品です。

建設、建築、インフラ管理、文化遺産保存など、さまざまな分野で利用されており、現場のスキャン、進捗管理、デジタルツインの作成などに役立ちます。

建築・土木にご興味のある方は、こちらの動画も合わせてご覧ください。

ドローンを使った観測と合わせて現場ワークフローの効率化が著しく進められている現状の一端としてお伝えしました。


用語解説

RTK(リアルタイムキネマティック) 
国土交通省推奨の、高精度な位置情報を測定する技術。高額なレーザースキャナなしに3次元測量を実現する。地上に設置した基準局からの位置情報データをわずか数センチの誤差の高精度で実現する。

SfM (Structure from Motion)
ドローンやカメラの写真解析によって3次元形状を復元するソフトウェアのこと。
沖縄の首里城の復元プロジェクトでも利用された技術。

『みんなの首里城デジタル復元プロジェクト』 ページ

Splat(スプラット)データ編集

ガウス・スプラッティングは、これまでの LiDAR(ライダー) や フォトグラメトリー のスキャン技術と異なり、手持ちの携帯の録画映像からハイクォリティな3Dシーンを生成する事が可能な技術です。
その手軽さや処理能力の高さ、また群を抜いたクォリティを提供する革新的3D生成技術は、今後の応用展開に大いに期待が集まっています。

建築やゲームなどの分野において、ハイクオリティなスキャンモデルが使用可能になることで、これまでにない効率化が期待されます。

問題としては、不要な部分のスキャンデータの整理です。
生成したままの状態ではビジュアルシーンでの利用が難しいため、スプラットのデータ編集が可能かどうかを確認する必要があります。

そこで、前回LumaAIで生成した自販機モデルを使い、スプラットを編集して必要なデータだけを取り出す方法をご紹介します。

SUPER SPLAT(スーパー スプラット)

昨年11月に公開されたSUPER SPLATは、英国のWill EastcottとDonovan Hutchenceによって開発されたPLAY CANVASというWebベースのゲームエンジンで実行するように設計されています。(ブログ参照)

オンライン スプラット エディターのSupaerSplatは、バージョン1.67.0で3DGSをサポートに追加し、独自のスプラットデータ圧縮アプローチを導入しました(ソース参照)。

開始するには .plyファイルをこのwebページにドラッグするだけです。

SuperSplat画面

(画面操作)
左マウスドラッグ : 回転
右マウスドラッグ : パンニング
中ボタンスクロール : 拡大/縮小


自販機のSplatを読み込んだ画面がこちら。

Splatを読み込んだ状態

スキャンした360°の全体球が映っている状態なので、この球の中に入ります。

👉 目的のオブジェクトがみつからない場合は、基本的に座標軸の0地点に被写体があるので基点で探せば良いです。

3次元ガウスのポイントスプラットを重ねて見ることが可能な画面設計になっています。

自販機のSplatを読み込んだ状態の画面

見えにくい場合には、Splat Size : 0 で、ポイント表示をなくすことができます。

Splat Size 調整

スプラットの選択編集

効果的なブラシツールや長方形の選択機能を使って、スプラットのポイントを選択して削除します。

以下、作業要領を含めた手順としてお伝えします。

先ず長方形(Rect)選択で、残したいモデルを囲みます。

選択された箇所が黄色くハイライト表示

Invertで反転。

選択を反転する

Delete Selected Splatsで、削除。

Delete Selected Splats

後はBrush(ブラシ)を使って、部分的に選択しながら削除していきます。

Brushでの選択作業

最終的に整理した状態がこちら。

とりあえず、自販機の横にあるリサイクルボックスは残しておきました。

👉 前回のフィールドファイルのCroppedデータではリサイクルボックスはクロップされていましたので、このように任意に必要箇所を取り出せるのはとても便利です。

このデータを、改めて保存し直します。
以前の保存形式(v0.16.0)は、以下のようにエクスポートとして一覧表記されていました。

v0.16.0 EXPORT TO 項目

これだと、どの項目で保存したらよいか戸惑う場合があるかも知れません。

そこで、最新版 SUPERSPLAT v0.19.2では、サイドバーのデータアイコンから保存方法を選択する形に変更されています。

保存(Save)は、「PLY file」として保存されます。

v0.19.2 Save項目

「Compressed Ply」「Splat file」は、それぞれエクスポート項目として区別されています。

v0.19.0 Export項目

データ形式を理解していれば問題ありませんが、データの区別ができていない場合には、今回のアップデートによる項目分けは非常に役立ちます。

👉 Export項目に分けられたSplat形式の保存は、スキャンデータを整理した内容が反映されない元データのままの保存になります。また、Compressed Plyファイルの圧縮データは、UE5では反映されませんので、ご注意ください。


以下に、各データ保存形式についての内容説明を追記しておきますので、参考にしてください。

保存形式 解説

"Splat保存""Ply保存"は、3Dデータの保存方法に関する異なるアプローチを指します。

  1. Compressed Plyファイル

    • 説明:PLY(Polygon File Format)は、主に3Dスキャンデータを保存するために使われるフォーマットです。Compressed Plyファイルは、データサイズを削減するために圧縮された形式です。これにより、ストレージスペースの節約とデータ転送の効率化が図られます。

  2. Splatファイル

    • 説明:Splatファイルは、ガウススプラッティング技術で生成された3Dモデルのデータを保存するための形式です。この形式は、点群データを効率的に表現し、視覚的に滑らかで高品質なレンダリングを実現します。

  3. PLYファイル

    • 説明:PLYファイルは、三角形メッシュや点群データを含む3Dオブジェクトの標準的な保存形式です。テキスト形式またはバイナリ形式で保存でき、広範な3Dモデリングアプリケーションでサポートされています。


UnrealEngineに3DGSをアセット配置

Epicマーケットプレイスで5月の無料コンテンツだった「Tokyo Stylized Environment」の空間に配置してみます。
『LumaAI Unreal Engine Plugin v0.41』でスプラットデータをUE5にインポートします。

Epicマーケットプレイス : Tokyo Stylized Environment

シーン配置した画面がこちらです。

なかなかリアルです(笑)

このように、必要な範囲だけを編集してシーンにアセットとして配置できれば、スプラットの自由度が向上し、CG制作におけるモデリングフローでの活用が可能となります。モデル制作の効率化につながり、リアル表現のレベルアップにもつながります。

更に、近所の公園でスキャンした滑り台も追加してみます。

滑り台のSplatデータ
滑り台をUE5のシーン配置

ちなみに、フィールドのクロップデータとスプラットの見え方の比較も、参考に掲載しておきます。

左:Luma(Field) 右:.ply(Splat)

今回はスプラットデータの編集方法について紹介しました。
スプラットの編集に関しては、SUPER SPLAT に限らず、他のツールで行うことも可能です。
 
次回はその点も含めて、UNITYでの使用方法について詳細にご紹介します。お楽しみに!