2023年12月20日(現地時間) – Jawset は、NeRFとGaussian Splatting技術を使用して動画や画像から3Dシーンを作成できる『Postshot』のベータ版を公開しました。
Postshotとは
「Postshot」は、NeRFとGaussian Splatting技術を使用して、高速でメモリ効率の高いトレーニングし、どんなカメラで撮った動画や画像からでも数分でフォトリアルな 3D シーンやオブジェクトを作成できるソフトウェアです。
Gaussian Splattingについてはこちらの記事をご参考に
煙や火の雲を作成することができるシミュレーションツール TurbulenceFD で知られるJawset が、Beta版として公開しました。
主な機能
使用手順
1. 任意のカメラで動画や 画像を撮影
撮影の際は、カメラを対象物に向け、その周りを動き回って、できるだけ多くの角度から撮影してください。サンプルビデオが用意されているので、軽いお試しで使用したい方はこのステップをスキップできます。
2. Postshotでシーンを生成
ビデオファイルをPostshotにドラッグ&ドロップします。トレーニング実行を設定できるポップアップウィンドウが表示されます。設定してImportをクリックします。
これで Postshot が動画からポイント、カメラ位置、Radiance Field が生成し3D シーンを生成できます。このプロセスには数分かかります。
3. ムービーのレンダリングまたは3Dシーンのエクスポート
3Dシーンがトレーニングされたら、それを使うためのいくつかのオプションがあります。その前に、シーンを保存することを忘れないでください。
❒ムービーのレンダリング
- Postshotでカメラを作成し、焦点距離などのプロパティを変更したり、カメラの軌跡をアニメーション化したり、ムービーをレンダリングしたりできます。レンダリングカメラがトレーニングカメラに近いほど画質が良くなることに留意してください。
❒3Dシーンのエクスポート
- Adobe After Effectsを使い、Postshotプラグインを使ってPostshotシーンを読み込むことができます。その後、After Effectsでカメラコントロールとアニメーションを使用して、シーンを合成し、レンダリングすることができます。
- Splatプロファイルを使ってシーンをトレーニングした場合、PLYファイルとしてエクスポートすることもできます。このファイルは、ガウススプラットをサポートする他のさまざまなアプリやビューアで使用できます。
キャプチャーのガイドライン
3D Radiance Fieldのキャプチャは、通常の2Dビデオまたは2D写真のセットを撮影することによって行われます。以下は、Postshotに適した画像を撮影するためのガイドラインとなります。このドキュメントは進行中であることに注意してください。この新しいテクノロジーとその周りのワークフローを探求しながら、改良されます。
シーン
■動くオブジェクト、ライト、シャドウを避ける
Postshotの現在のRadiance Field Profileは、厳密には静的なシーンを想定しています。動きに関しては、キャプチャーショットは長時間露光写真と多少似ており、画像上で動くものはすべて、輝度フィールドにぼかしやゴーストのアーティファクトを作成します。もちろん、意図的に動きを使ってこれらの効果を作り出すことも可能です。
レンズフレアもこの問題の一種です。レンズフレアは多くの場合静的なものですが、視界に依存する照明の極端な例であり、輝度フィールドに問題を引き起こす可能性があります。キャプチャーショットでフレアが発生するアングルがある場合、素早く適切に移動して取り除くことが望ましいです。
カメラ設定
■動画の長さとフレームレート
- 動画またはバースト(連写)モードの写真は1~2分程度を目安にしてください。連写モードでは約2-3 FPSを目指す。
- 標準的なトレーニングでは約400枚の画像を使用します。100枚は小さな画像セット、1000枚は大きな画像セットと考えることができます。
- トラッキングとトレーニングがうまく機能するためには、画像は少なくとも約30%重複している必要があります。一方、90%以上の重なりがある画像が多数ある場合、結果が改善される可能性は低く、処理時間が長くなります。
■焦点距離
焦点距離は、取り込む画像セット全体を通して一定でなければなりません。他のガイドラインとは異なり、このルールは必須です。被写体に近づく場合、カメラを動かす必要があります。
画像に多くの状況を持たせるために短い焦点距離が望ましい傾向にあります。手持ち撮影の場合、24mmフルフレームが良い値だと考えられています。
屋外でのドローン撮影では、被写体までの距離がすでに非常に大きい場合、より長焦点のレンズを使うことができます。
■露出とホワイトバランスを一定に保つ
自動露出と自動ホワイトバランスの使用は少ないほど良いです。したがって、可能であればHDRで撮影することが望ましいです。
カメラの動かし方
■さまざまな角度から撮影する
キャプチャーショットの撮影目標は、シーンのできるだけ多くのポイントをできるだけ多くの異なるアングルからそれぞれ記録することです。それと同時に、画像の枚数は少なく抑えることが望ましいです。
これを達成するために、カメラ軌道の適切な方法は、シーンを囲む2~5個のリングのセットで、それぞれが異なるティルト(垂直視野角)とペデスタル(地上からの高さ)を持つようにすることです。カメラが低いときは上向きに、高いときは下向きに撮影します。
部屋を撮影する場合は、壁に沿って移動し、部屋の中を最も長く撮影し物体を撮影する際は、文脈のために1つまたは複数の大きなリングを含めるとよい場合が多いです。
■常にカメラを動かす
常にカメラを動かし、カメラを動かさずにパン、チルト、ロールすることが避けてください
その理由は、カメラトラッキングは点の三角測量に基づいているからです。シーン内の任意のポイントに対して三角形を形成するには、そのポイントを見る2つのカメラポジションが必要です。そのため、極端な失敗例としては、カメラを1つの位置に固定したまま回転(パン、チルト、ロール)させることが挙げられます。
■ブレを避ける
モーションブラーとデフォーカスブラーの両方を避けるため、露光時間や 絞りを短く設定してください。照明条件によって両方を下げることができない場合は、絞りを小さくすることをお勧めします。露光時間を長くする場合は、カメラをゆっくり動かすことで補うことができます。
Radiance Fieldはブレよりもノイズを許容する傾向があるため、ISO値を高くすることも選択肢の一つでです。
アップデート情報
v0.2
2024年2月15日(現地時間)- Postshot v0.2 がリリースされました。このリリースでは、画質の向上、PostshotとAfterEffectsでのトランスフォームとクロップ編集、カメラコントロールの強化、キャプチャガイドラインの更新(上記参照)などが行われています。次の動画で新機能が簡単に紹介されています。
v0.3
2024年4月5日(現地時間)- Postshot v0.3 がリリースされました。このリリースでは、Splat を選択して削除することができるツール、Z Depthをレンダリングするオプションなどが追加されています。
v0.4
2024年8月23日(現地時間)- Postshot v0.4 がリリースされました。
このリリースでは、モデル品質とトレーニングパフォーマンスの向上、外部カメラアライメントのインポート、新しい画像ストリーミングシステム、HDR映像のトレーニング、RAW画像ファイルのサポート、カメラターゲットトラッキング、新しいコマンドラインインターフェースの追加などが行われています。
v0.5
2024年12月24日(現地時間)- Postshot v0.5 がリリースされました。
このリリースでは、レンダリングパフォーマンスの向上し、Unreal Engineとの統合、VRステレオレンダリング、複数シーンのマージ、ラディアンスフィールドシーケンス再生をサポートしました。
主な新機能リスト
レンダー
- レンダリングパフォーマンスの向上
シーン
- シーン内の複数のRdnc Fieldノードをサポート。
- シーンへの他の.pshtまたは.plyファイルのインポートをサポート。
- 暗黙のカメラパラメータを制御するためのViewport Cameraノードを追加。
- いくつかのRdnc Field/RenderパラメータをCamera/Rdnc Fieldに移動。
- スプラットモデルシーケンスの再生/レンダリングをサポート。
- スプラットモデルシーケンスの読み込み。
- 複数の.PSHTまたは.PLYファイルをインポート(ドラッグ&ドロップ)。各ファイルは1フレームに対応。
スプラット
- 「Treat Zero Alpha as Mask(ゼロアルファをマスクとして扱う)」トレーニングオプションが追加。
- Splat MCMCプロファイルでトレーニング中のスプラット数を減らすことができるように。
Unreal Engine
- Unreal Engine 5.4 および 5.5 用のプラグインが追加されました。
- Lit, Unlit, DetailLighting のビューモードで、Show/Advanced/Heterogeneous Volumes がチェックされている場合のみ、ラディアンスフィールドをレンダリングします。
- PSHT シーンごとに複数の RdncFields をサポートし、UE レベルごとに複数の PSHT シーンをサポート。
- VR ステレオ レンダリングをサポート
Unreal Engine で Postshot プロジェクトを使用する方法
- .psht ファイルを Unreal Editor の Content Browser タブにドラッグ&ドロップ
- アセットをビューポートにドラッグ&ドロップし、アウトライナー タブに表示されるアクタを作成します。
- RdncField のレンダリングオプションのいくつかは、Project Settings/Plugins/Postshot にあります。
v0.6
2025年4月22日(現地時間)- Postshot v0.6 がリリースされました。
このアップデートでは、ディテールの改善、関心領域トレーニング、正投影カメラ、レンズシフト、選択フィルター、AE シーンナビゲーションヘルパーのための新しいトレーニングプロファイル、その他多数の修正が行われています。
主な新機能リスト
After Effects
- ワールド空間でのナビゲーションを支援するために「デフォルトのトランスフォームを設定」ボタン追加
カメラ
- レンズシフトパラメータ(別名:Principal Point またはnegative Film Offset)追加
- キーフレーム上でカメラ速度が滑らかに変化しない問題を修正
- RdncFieldノードのパラメータRdnc Fields/Splat ScaleとMax Opacityをレンダータブに移動
CLI
- PLY出力パスが書き込み可能でない場合は早期に中止するように
- トレーニングのために .psht ファイルのインポートを許可(io. 明示的な画像/ポーズファイル)
- 既存の RdncField はトレーニングコンテキストなしで常にリセット(io. 確認ダイアログを表示しない)
- 終了時にクラッシュする可能性があった問題を修正
- プロセスを中止したときにクラッシュする可能性があった問題を修正
- デフォルトで推奨される num-train-images と train-steps-limit を使用(GUI と同様)
エクスポート
- SH次数が0の回転モデルをエクスポートする際にクラッシュする問題が修正
- ファイルサイズを肥大化させる PLY エクスポートからレガシービューア向けの回避策が削除
フレームワーク
- Nvidia Blackwell GPU(例:RTX 5090)のサポート追加
- 一部のケースでポイントカラーが正しく変換されていなかった問題が修正
- 古い CPU との互換性の問題が修正
- 異なるベンダーの GPU を搭載した一部のシステムで起動を妨げていた問題が修正
画像
- 画像セットを異なるファイル拡張子に再配置可能に
- 修正:ACES AP0 カラースペースの画像が正しく変換されていなかった
- 修正:TIF 画像が互換性のない fp16 形式で保存されていた
- 修正:動画ファイルへのレンダリング時にトーンマッピングが誤って適用されていた
インポート
- カメラポーズデータで異なる画像ファイル拡張子を許可
- 空の PLY ファイルをインポートする際のクラッシュが修正
- 回転画像の RC ポーズのインポートの破損が修正
インストーラー
- サイレントモード(-s CLIオプション)で実行中はアプリを自動起動しない
IO
- 修正:アニメーション化されたカメラサンプルが Alembic .abc に正しくエクスポートされていなかった
- 修正:トレーニング開始前にファイルを保存するとトレーニングコンテキストが切り捨てられていた
シーン
- .PSHT シーンのインポートでアニメーションカーブがインポートされていなかった
- カメラ/Rdnc Fields/Min Radius および Max Depth をアニメーション可能に
ビューポート
- ポイントクラウドの色が正しく表示されていなかった
スプラット
- 新しいラディアンスフィールドプロファイル「Splat3」が追加
- トレーニング中にディテールを集中させるための関心領域(egion Of Interest )パラメータが追加
- アンチエイリアシングオプションの追加
- より少ない SH 係数(視点依存の色)でのトレーニングを可能にする「Max Sph. Hrm. Degree」パラメータ追加
- Rdnc Field/Edit/Bake Transform アクションを追加
- コントロール性を向上させるために Max Opacity レンダリングパラメータを係数に変更
- トレーニング後期に発生することが多かった散発的なクラッシュ修正
- スカイモデルでトレーニングする際に一部のケースで発生していたクラッシュ修正
- 一部のケースで不十分な不透明度を引き起こしていた問題修正
- MCMC プロファイルでスプラット数を減らす際にクラッシュする可能性があった問題修正
- トレーニングプロセスがフリーズする可能性があった問題修正
- 一部のケースで誤ってモデルのリセットが必要とされていた問題修正
- 修正:「Depth as Grayscale」モードで切り抜かれたモデルのアーティファクト
Unreal Engine
- シーケンサーまたはブループリントを介したシーケンス再生を駆動するための RdncField/Sequence Frame パラメータを追加
- シーケンサーを介して RdncField/Scale および Opacity をアニメーション可能に
- パラメータ Plugin Settings/Postshot/Splat Scale および Max Opacity を RdncFieldComponent/RdncField に移動
- Postshot シーンのロードに失敗した場合にエラー通知を表示
- ゲームモードで過度のメモリ使用とフレームレートの低下を引き起こしていた問題を修正
- Postshot シーンがムービーレンダーに表示されない問題を修正
- 修正:Rdnc Field Actor のトランスフォームが一部のケースで正しく更新されていなかった
- 修正:RdncFieldActor が一部のケースで正しく表示/非表示されていなかった(例:nDisplay の「Content Hidden from …」設定)
- 修正:一部のケースでレンダリングのアスペクト比が誤っていた
UI
- 正投影ビューポートカメラ(右、上、正面など)を追加
- フルスクリーンモードを追加(ウィンドウ/フルスクリーン切り替えおよびF11ショートカット)
- トレーニング構成に「’Advanced」パラメータグループを追加
- ImageSetNode/Actions/Relocate Files を追加
- Max Opacity 選択フィルターを追加
- 選択ツールに Min Radius パラメータを追加
- 「Viewport Camera」が「Default Camera」に改名
- スプラット選択ノードをツールダイアログに置き換え
- 選択ツールがアクティブな間は、選択に Delete ショートカットを使用(io. ノードの削除)
- 選択ツールがアクティブな間は、選択を解除するために Escape ショートカットを使用
- ノードのコピー/カット/ペーストを許可(例:アニメーションカーブ付きのカメラをコピー)
- 空でないシーンでインポート/トレーニングを通じて新しい RdncField を作成可能に
- アニメーションキーフレームの移動を許可
- メニューとステータスバーのヘルプメッセージにキーボードショートカットを表示
- カメラが変化したときにホバーされたスプラットを更新
- 一部のケースでシステムスリープモードへの移行または解除時に発生していたクラッシュが修正
- インポートされた Rdnc Field ノードの編集時に発生していたクラッシュが修正
- 一部のケースで UI 入力を受信するまでトレーニングが中断されていた問題が修正
- コマンドラインから GUI アプリを実行する際に一部のケースで起動に失敗していた問題が修正
- 修正:ノードの名前を変更するとカメラビューポートウィジェットが消えていた
- 修正:カメラの解像度がビューポートと一致しない場合、選択ブラシがマウスを追跡していなかった
- 修正:非表示の RdncField にも選択ツールが適用されていた
すべてのアップデート内容の確認はこちら
ダウンロード
Postshotは、Windows 8.1以降、Nvidia GPU RTX 2060以上で利用できます。
Postshotは現在ベータ版です。まだ機能が完全ではなく安定していない段階なため、無料で自由に利用することができます。
ダウンロードはこちらから
コメント