Pc-Trace

<< 2024年11月 >>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30






Pc-Trace
PC-Trace

< next 2023年9月の記事 prev >

日曜日のCoffee Break..

無意味に「Blender・NeRF」

https://github.com/maximeraafat/BlenderNeRF

少し逸れるが、こちらも参考になる。
https://qiita.com/live2d_dev/items/7e1628670f299036cf5f

次はこれか!



Blender json ファイル生成テスト:
カメラ PLAY COS(調整無し)実行時の様子
レンズ50mm、半径4m、100フレーム


プラグイン・Documents(抜粋)

メソッドの使用方法
アドオンのプロパティ パネルは、以下で使用できます3D View > N panel > BlenderNeRF( N パネルは、 を押すと 3D ビューポートでアクセスできますN)。3 つのメソッド ( SOF、TTC 、およびCOSBlenderNeRF shared UI ) はすべて、以下にリストされている制御可能なプロパティを含む共通のタブを共有します。

Train(デフォルトで有効) : トレーニングデータ (レンダリング + カメラ情報) を登録するかどうか
Test(デフォルトで有効) : テストデータ(カメラ情報のみ)を登録するかどうか
AABB(デフォルトでは4に設定されています): インスタント NGP で説明されている aabb スケール パラメーター (詳細は以下を参照)
Render Frames(デフォルトで有効) : フレームをレンダリングするかどうか
Save Log File(デフォルトでは無効) : BlenderNeRF の実行に関する再現性情報を含むログ ファイルを保存するかどうか
File Format(デフォルトではNGP ) : インスタント NGP またはデフォルトの NeRF ファイル形式規則でカメラ ファイルをエクスポートするかどうか
Save Path(デフォルトでは空) : データセットが作成される出力ディレクトリへのパス
AABBは 2 の整数乗に制限されており、NeRF が光線を追跡するバウンディング ボックス ボリュームの辺の長さを定義します。このプロパティは、NVIDIA のInstant NGPバージョンの NeRF で導入されました。

プロパティはNGPまたはNeRFFile Formatのいずれかになります。NGPファイル形式の規則はNeRFの規則と同じですが、Instant NGPでアクセスできる追加パラメーターがいくつかあります。

各メソッドには、データセット名とそれぞれのメソッドで作成されたZIPNameファイル名に対応する固有のプロパティ (デフォルトで に設定)があることに注意してください。スペースや などのサポートされていない文字は、自動的にアンダースコアに置き換えられることに注意してください。dataset#/

以下に、各メソッドに固有のプロパティについて説明します (Nameすでに上で説明したため、プロパティは省略されています)。

SOFのやり方
Frame Step(デフォルトでは3に設定されています) : N (設定セクションで定義) = トレーニング フレームが登録される頻度
Camera(常にアクティブなカメラに設定されます) : トレーニングおよびテスト データの登録に使用されるカメラ
PLAY SOF: Subset of Framesメソッド オペレータを再生して NeRF データをエクスポートします

TTCのやり方
Frames(デフォルトでは100に設定されています) : トレーニング カメラから使用されるトレーニング フレームの数
Train Cam(デフォルトでは空) : トレーニングデータの登録に使用されるカメラ
Test Cam(デフォルトでは空) : テストデータの登録に使用されるカメラ
PLAY TTC:カメラのトレーニングとテストメソッド オペレーターを再生して、NeRF データをエクスポートします。
FramesTrain Camシーンの開始フレームから開始して、オブジェクトを使用してトレーニング フレームの量がキャプチャされます。

COSのやり方
Camera(常にアクティブなカメラに設定されます) : テストデータの登録に使用されるカメラ
Location(デフォルトでは0 mベクトルに設定されています) : カメラ ビューがサンプリングされるトレーニング球の中心位置
Rotation(デフォルトでは0°ベクトルに設定されています) : カメラ ビューがサンプリングされるトレーニング球の回転
Scale(デフォルトでは1ベクトルに設定されています) : xyz 軸のトレーニング球のスケール ベクトル
Radius(デフォルトでは4 mに設定されています) : トレーニング球の半径スカラー
Lens(デフォルトでは50 mmに設定されています) : トレーニング カメラの焦点距離
Seed(デフォルトでは0に設定されます) : ランダムなカメラビューのサンプリング手順を初期化するためのシード
Frames(デフォルトでは100に設定されています): トレーニング球からサンプリングおよびレンダリングされたトレーニング フレームの数
Sphere(デフォルトでは無効) : ランダムなビューがサンプリングされるトレーニング球を表示するかどうか
Camera(デフォルトでは無効) : 学習データの登録に使用したカメラを表示するかどうか
Upper Views(デフォルトでは無効) : 上部トレーニング半球のみからビューをサンプリングするかどうか (回転バリアント)
Outwards(デフォルトでは無効) : カメラをトレーニング球の外側に向けるかどうか
PLAY COS: Camera on Sphereメソッド オペレータを再生して NeRF データをエクスポートします
SphereプロパティとCameraプロパティをアクティブにすると、それぞれBlenderNeRF Sphere空のオブジェクトとBlenderNeRF Cameraカメラ オブジェクトが作成されることに注意してください。アドオンの機能が壊れる可能性があるため、これらの名前のオブジェクトを手動で作成しないでください。

FramesBlenderNeRF Cameraシーンの開始フレームから開始して、オブジェクトを使用してトレーニング フレームの量がキャプチャされます。最後に、トレーニング カメラは所定の位置にロックされており、手動で移動できないことに注意してください。

最適な結果を得るためのヒント
NVIDIA は、 Instant NGPを使用して NeRF モデルをトレーニングする方法に関する役立つヒントをいくつか提供しています。さらに詳しいサポートが必要な場合は、お気軽にリポジトリにアクセスしてください。以下は、個人的な経験から得た、最適なナーフのための簡単なヒントです。

NeRF は 50 〜 150 枚の画像で最適にトレーニングします
テスト ビューはトレーニング ビューから大きく逸脱してはなりません
シーンの動き、モーションブラー、またはブラーアーティファクトにより、再構築の品質が低下する可能性があります
キャプチャされたシーンはカメラから少なくとも 1 つの Blender ユニット離れている必要があります
AABBシーンのスケールにできるだけ近づけてください。値が大きいとトレーニングが遅くなります。
AABB再構成の品質がぼやけて見える場合は、 2 のべき乗を維持しながら調整してください。
アニメーション中にカメラの焦点距離を調整することは避けてください。通常の NeRF メソッドは複数の焦点距離をサポートしていません。
極端な焦点距離は避けてください。実際には 30 mm 〜 70 mm の値が適切です。
カメラVerticalセンサーのフィットにより、NeRF ボリュームが歪む場合があります。可能であれば回避してください。

NeRFのやり方
NVIDIA GPU にアクセスできる場合は、リポジトリに記載されている手順に従って、最適なユーザー エクスペリエンスを得るために自分のデバイスにInstant NGPをインストールするとよいでしょう。それ以外の場合は、Google アカウントを使用して、Google GPU 上の COLAB ノートブックで NeRF を無料で実行できます。

このCOLAB ノートブック(こちらからもダウンロード可能) を開き、指示に従います。

備考
このアドオンは、主に macOS 上で、数か月および Blender のバージョンをかけて楽しいサイド プロジェクトとして開発されています。プラグインの機能で問題が発生した場合は、問題の明確な説明、問題が発生したBlenderNeRF のバージョン、および関連する場合は詳細情報を添えて、お気軽に GitHub のイシューを開いてください。

現実世界のデータ
この拡張機能は合成データセットの作成を目的としていますが、現実世界のカメラからモーション トラッキング データをインポートするための既存のツールも利用できます。そのような例の 1 つがShopifyのTrackyです。これは、オープンソース iOS アプリと、iPhone 上の ARKit セッションからのモーション トラッキング データを記録する隣接する Blender プラグインです。ただし、追跡データにはドリフトや不正確性が生じる可能性があり、結果として得られる NeRF 再構成の品質に影響を与える可能性があることに注意してください。

引用
このリポジトリが研究に役立つと思われる場合は、上の専用の GitHub ボタンを使用してBlenderNeRFを引用することを検討してください。この拡張機能を芸術的なプロジェクトに使用した場合は、ソーシャル メディアのハッシュタグを使用して作品の一部を自由に共有してください#blendernerf。:)
添付ファイル 添付ファイル


< next prev >