| On this page | |
| Since | 21.0 |
Gaussian Splatsとは、拡張ポイントクラウドの一種であり、非常に複雑な環境を効率良く作成して表現することができます。
このノードは、文献でよく使用されている表現形式をHoudiniのGSplatレンダリングに対応した形式に変換することができます。
デフォルト設定では、文献でよく使用されている.plyファイルをHoudini互換のGaussian Splatsに変換することができます。
入力アトリビュートには、ベクトル形式または展開形式のいずれかを指定することができます。
例えば、ベクトル形式のf_dcは、3つの浮動小数点で構成されたf_dcアトリビュートになります。
展開形式のf_dcは、f_dc0、f_dc1、f_dc2となります。
入力アトリビュート
f_dc
3個の浮動小数点。 カラーの定数項。
rot
4個の浮動小数点。 向きを表したクォータニオン。
opacity
1個の浮動小数点。 アルファ値で、シグモイド変換が必要です。
scale
3個の浮動小数点。 ローカル軸のサイズで、対数変換が必要です。
f_rest
45個の浮動小数点。 球面調和関数の係数。
出力アトリビュート
Cd
3個の浮動小数点。 カラー。
scale
3個の浮動小数点。 ローカル軸のスケール。
orient
4個の浮動小数点。 向きの正規化されたクォータニオン。
restorient
4個の浮動小数点。 元の向き。 これによって、連続したトランスフォーム操作を追跡することができます。
GS_Alpha
1個の浮動小数点。 不透明度。 これはGaussian Splatsであることを示したフラグとしても使用されます。
GS_SPH_R
16個の浮動小数点。 赤コンポーネントの球面調和関数項。
GS_SPH_G
16個の浮動小数点。 緑コンポーネントの球面調和関数項。
GS_SPH_B
16個の浮動小数点。 青コンポーネントの球面調和関数項。
データ処理 ¶
Gaussian Splatsを用いたモデル再構築には、そのモデルを異なる視点から捉えた一連の写真が必要になります。 次に、画像から元のカメラデータを抽出して、位置、カラー、向き、サイズなどのデータを取得します。 こうして得られるのがポイントクラウドです。 ここまでの手順がフォトグラメトリ処理です。 Gaussian Splatsの特長は、この手法が3D空間におけるポイントの分布を最適化することにあります。 このアルゴリズムは、反復学習によって最適な分布を導き出そうと試みます。
画像の枚数や解像度によっては、この学習処理に非常に長い時間がかかる場合があります。 ほとんどの場合、この処理はGPU上で実行されるので、ハードウェアの性能も重要な要素となります。
Note
Houdiniはポイントクラウドの作成や最適化を行なうことが できない ので、専用の外部アプリケーションが必要になります。
最適化の後には、必要なアトリビュートや情報がすべて含まれたポイントクラウドが得られます。 このポイントクラウドをPLYファイルとして保存することができます。
セットアップ ¶
インポートと抽出の処理は、SOPネットワーク内で行ないます。
これはHoudiniの obj レベルで行なうことができます。
File SOPはPLYファイルを読み込むことができます。
一方、Bake GSplat Splat SOPは、そこに含まれている情報を抽出して、Karma XPUで使用できるように準備します。
その後、そのBake GSplat SOPの出力を例えばSOP Import LOPを使用してSolarisにインポートします。
別の方法としては、
SOP Create LOP内でSolaris stage 上で直接そのSOP処理を行なうこともできます。
再構築されたオブジェクトをレンダリングするには、 stage レベルにいる必要があります。 ビューポートの右上にある1番目のドロップダウンメニュー(デフォルトでは Persp に設定されています)から Karma XPU を選択します。 Storm や Karma CPU などの他のデリゲートでは、再構築されたオブジェクトではなく色付きのポイントクラウドのみが表示されます。しばらくすると、その結果が表示されるはずです。
パラメータ ¶
Linearize Color
Cdアトリビュートは、Houdiniではscene:linearカラー空間である必要があるものの、
sRGBで学習されることが多いので、このオプションはそのカラーをリニアにします。
Compute GSplat
一般的なGSplatアトリビュートを生成します。 これらのアトリビュートが存在すると、HoudiniでGSplatレンダリングが発動されます。
Compute SPH Coefficients
Gaussian Splatsは単純な楕円体だけでなく、高次元のビュー依存なライティング情報を持つことができます。
このオプションは、restorientと共にこれらの追加項を加えて、あらゆるトランスフォームを処理できるようにします。
Delete Original Attributes
ソースから使用されているアトリビュートは削除され、Houdini固有のアトリビュートのみが残ります。
Disable Shadow Casting in Karma
通常、Gaussian Splatsは影を落とさず、影を落とすと非常に遅くなります。 このオプションは、KarmaがGaussian Splatsから影を落とさないようにする特別なDetailアトリビュートを追加します。