Vincent Sitzmann*、Julien NP Martel*、Alexander W. Bergman、David B. Lindell、Gordon Wetzstein
スタンフォード大学 *は、平等な貢献を示しています
これは、「定期的な活性化関数を伴う暗黙の神経表現」という論文の公式実装です。
サイレンを試したい場合は、コラブを書きました。それは非常に包括的であり、飾り気のない、サイレンのドロップインの実装が付属しています。何もインストールする必要はなく、次の実験 /サイレンプロパティを経ます。
また、こちらのTensorflowプレイグラウンドを介して、ブラウザで直接、直接、小さなサイレンでアロンドをプレイすることもできます。これを実装してくれたDavid Catoに感謝します!
論文に示されているすべての結果(ベースラインを含む)を再現したい場合は、ビデオ、ポイントクラウド、およびオーディオファイルをここにあります。
その後、次のようなすべての依存関係を使用してコンドラ環境を設定できます。
conda env create -f environment.yml
conda activate siren
コードは次のように整理されています。
ディレクトリexperiment_scripts
は、論文に実験ごとに1つのスクリプトが含まれています。
進捗状況を監視するために、トレーニングコードはテンソルボードの概要をlogging_rootの「要約」「サブディレクトリに書き込みます。
画像実験は再現できます
python experiment_scripts/train_img.py --model_type=sine
論文の数字は、テンソルボードの概要から画像を抽出することによって作成されました。例コードこれを行う方法は、make_figures.pyスクリプトにあります。
このGitHubリポジトリには、./dataの下の「カウント」と「バッハ」オーディオクリップの両方が付属しています。
彼らはで訓練することができます
python experiment_scipts/train_audio.py --model_type=sine --wav_path=<path_to_audio_file>
「バイク」ビデオシーケンスにはScikit-Videoが付属しているため、ダウンロードする必要はありません。猫のビデオは、上記のリンクでダウンロードできます。
モデルをビデオに適合させるには、実行します
python experiment_scipts/train_video.py --model_type=sine --experiment_name bikes_video
ポアソン実験には、3つの個別のスクリプトがあります。1つは勾配(train_poisson_grad_img.py)から画像を再構築するためのlaplacian(train_poisson_lapl_image.py)から、2つの画像(train_poisson_gradcomp_img.py)を組み合わせます。
いくつかの実験は、BSD500データストを使用して実行され、こちらからダウンロードできます。
Sirenを使用した署名距離関数(SDF)を適合させるには、最初に表面法線を含む.xyz形式のPointCloudが必要です。 Mesh / Plyファイルのみがある場合、これはオープンソースツールMeshlabで達成できます。
結果を再現するために、3Dスタンフォードモデルリポジトリのタイ像の両方のモデルと、ここからダウンロードするために私たちの論文で使用されているリビングルームを提供します。
サイレンのトレーニングを開始するには、実行してください。
python experiments_scripts/train_single_sdf.py --model_type=sine --point_cloud_path=<path_to_the_model_in_xyz_format> --batch_size=250000 --experiment_name=experiment_1
これにより、スクリプトのrootpathによって指定されたディレクトリのチェックポイントを定期的に保存します。 batch_sizeは通常、GPUのメモリ全体に適合するように調整されます。私たちの実験では、256、3の隠れ層サイレンでは、12GBメモリを備えたNVIDIA GPUのバッチサイズが230〜250'000を設定できることが示されています。
3DポイントクラウドにフィットしたSDFを検査するには、SDFのゼロレベルセットからメッシュを作成する必要があります。これは、マーチングキューブアルゴリズム(DeepSDF GitHub Repoから編集)を使用し、.plyファイル形式で保存されたメッシュを作成する別のスクリプトで実行されます。で呼ぶことができます:
python experiments_scripts/test_single_sdf.py --checkpoint_path=<path_to_the_checkpoint_of_the_trained_model> --experiment_name=experiment_1_rec
これにより、.plyファイルは「reconstruction.ply」として「experiment_1_rec」(忍耐強く、行進キューブのメッシュステップに時間がかかります;)として保存されます。)再構成に使用するマシンに十分なRAMがない場合、test_sdfを実行しています。スクリプトはおそらくフリーズします。この場合は、上記のコマンドライン(デフォルトで1600に設定)でオプション-Resolution = 512を使用して、より低い空間解像度でメッシュを再構築します。
.plyファイルは、meshlab(3DモデルのクロスプラットフォームVisualizerおよびエディター)などのソフトウェアを使用して視覚化できます。
HelmholtzおよびWave方程式の実験は、train_wave_equation.pyおよびtrain_helmholtz.pyスクリプトで再現できます。
優れたトーチェマを使用して、ハイパーネットワークを実装しています。引用するのを忘れた技術レポートがあることに気付きました。カメラ対応バージョンになります。
私たちの研究があなたの研究で役立つと思うなら、引用してください:
@inproceedings{sitzmann2019siren,
author = {Sitzmann, Vincent
and Martel, Julien N.P.
and Bergman, Alexander W.
and Lindell, David B.
and Wetzstein, Gordon},
title = {Implicit Neural Representations
with Periodic Activation Functions},
booktitle = {arXiv},
year={2020}
}
ご質問がある場合は、著者にお気軽にメールでお問い合わせください。