こんにちは、コンテンツデザイン開発グループリアルタイムチームの菅木です。
以前SNSでご紹介した猫の3DGS生成を事例に、スマホで撮影した動画からSfM→3DGS生成→可視化・編集までの一連の手順とコツをご紹介する記事の後編です。
前編では、3DGSの生成に必要なデータの準備が完了するところまでご紹介しました。
後編は、Licht Feld Studioを用いた3DGSの生成を実施していきます。
Licht Feld Studioを用いた3DGSの生成
Licht Feld Studioについては、環境構築・使い方含めこちらがとても参考になります。
参考:LichtFeld Studioの使い方 – 3DGS生成方法と設定例
インストールは下記のビルド済みのものをダウンロードします。
https://github.com/MrNeRF/LichtFeld-Studio/releases/tag/nightly
zipを解凍して、binフォルダの中にあるLichitFeld-Studio.exeを実行することで起動できます。
Langageは日本語を選んで適当な場所ををクリックするとこのwindowは消えます。

ここにCOLMAPのUndistortionの出力で指定したフォルダごとドラッグ&ドロップします。

出力フォルダに任意の場所を指定して、読み込みを押します。

トレーニングを開始ボタンを押すと3DGSの生成が始まります。

LichtFeldStudioデフォルトのMCMCという手法は、統計的なサンプリングによる手法を用いており、画像のノイズ等に比較的強い傾向があるようです。一方で、その性質上、従来の手法と比べると、生成結果が全体的にややぼやけた印象になる場合があるようです。
因みにですが、オプションのBilateral Gridは、露出変化による影響を抑制してくれるようです。撮影時に露出変化が大きくなってしまった場合はオンにしておくとよいかもしれません。
SuperSplatでの可視化・編集
生成が完了したら、LichtFeldStudioのビューワーでも閲覧できますが、今回はSuperSplatで可視化して、斜めになっている状態を整えます。
SuperSplatの基本的な使い方については、以前のcclabの記事で紹介しておりますので、下記をご参照ください。
こちらのページを開きLichtFeldStudioで設定した出力フォルダ内にある.plyファイルをドラッグ&ドロップすることで読み込めます。
https://superspl.at/editor

トランスフォームの位置と回転を調整して猫を真ん中に持ってきます。

ネコの周りを球形に切り取りたいと思います。
ツールバーから球で選択ボタンを押して、Radiusを調整します。Setボタンを押すとガウシアンが選択されます。

次に左上の選択欄から、反転を選択すると球の外が選択できます。

Deleteキーで削除して、球で選択モードをオフにすると完成です!

編集したものは、ファイル→エクスポートから書き出せます。

SuperSplatにはレンダリング機能もあるので、簡単な動画を作ってみます。
下部のタイムラインの右で400フレームに変更します。
次にタイムラインの0に移動して、少し離れた位置で中央の+ボタンを押してキーを追加します。

次は200フレームに移動して、少し近づいたカメラ位置でキーを追加しました。

中央の再生ボタンを押すとカメラアニメーションが確認できます。
左上のレンダリングから動画を選択し、レンダリング実行ボタンを押し、保存場所を指定すると動画が出力されます。

今回はこんな感じになりました。
生成したものをSuperSplat上に公開して共有したい場合は、アカウントを作成してログインした状態ですと、ファイルから公開を選択することでアップロードした結果を下記のようにURLで共有できるようになります。
(※アカウント作成等でのトラブルは責任を負いかねますので自己責任でお願いいたします。)

こちらがアップロードした猫の生成結果です!
https://superspl.at/view?id=409d3b9f
今回の記事は以上となります。
長い内容となりましたが、ここまで読んでいただきましてありがとうございました。





