在pytorch+CUDA中進行的Instant-NGP(僅NERF)接受了pytorch-lightning訓練(高質量的高質量)。該倉庫旨在提供簡潔的pytorch界面來促進未來的研究,如果您可以分享它,請感謝(並高度讚賞引用)!
其他代表視頻在Gallery.md中
由於對其他庫的依賴性,如果您由於硬件/軟件不匹配而遇到安裝問題,此實現的要求很嚴格,恐怕您無意支持不同的平台(歡迎您貢獻)。
git clone https://github.com/kwea123/ngp_pl克隆此倉庫
Python> = 3.8(建議通過Anaconda安裝,使用conda create -n ngp_pl python=3.8創建Conda環境並通過conda activate ngp_pl激活它)
Python圖書館
pip install torch==1.11.0 --extra-index-url https://download.pytorch.org/whl/cu113torch-scattertinycudann (Pytorch擴展)apexpip install -r requirements.txt安裝核心需求.txt CUDA擴展名:將pip升級到> = 22.1並運行pip install models/csrc/ (每次pull代碼時,請運行此)
從NSVF下載預處理數據集( Synthetic_NeRF , Synthetic_NSVF , BlendedMVS , TanksAndTemples )。不要更改文件夾名稱,因為我的數據加載程序中有一些硬編碼的修復程序。
從這裡下載數據。
對於自定義數據,運行colmap並獲取一個文件夾sparse/0 ,其中有cameras.bin , images.bin和points3D.bin 。還支持以下COLMAP格式的數據:
從這裡下載數據。為了將HDR圖像轉換為訓練的LDR圖像,運行python misc/prepare_rtmv.py <path/to/RTMV> ,它將在每個場景文件夾下創建images/文件夾,並將使用這些圖像進行訓練(和測試)。
QuickStart: python train.py --root_dir <path/to/lego> --exp_name Lego
它將訓練LEGO場景30k步驟(每個步驟有8192射線),並在末尾進行一次測試。訓練過程應在大約5分鐘內完成(保存測試圖像慢,添加--no_save_test禁用)。測試PSNR將在最後顯示。
可以在opt.py中找到更多選項。
有關其他公共數據集培訓,請參考benchmarking下的腳本。
使用test.ipynb生成圖像。樂高預算模型在這裡可用
GUI用法:運行python show_gui.py然後是訓練中使用的相同的超參數( dataset_name , root_dir等),並添加檢查點路徑添加--ckpt_path <path/to/.ckpt>
我比較了質量( Synthetic-NeRF上的平均測試PSNR)和推理速度(在Lego場景上)與並發工作火炬-NGP(默認設置)和紙張,所有這些都經過了大約5分鐘的訓練:
| 方法 | AVG PSNR | FPS | GPU |
|---|---|---|---|
| TORCH-NGP | 31.46 | 18.2 | 2080 TI |
| 礦 | 32.96 | 36.2 | 2080 TI |
| Instant-NGP紙 | 33.18 | 60 | 3090 |
至於質量,我的礦山比Torch-NGP略好,但是結果可能會在不同的跑步中波動。
至於速度,我的速度比Torch-NGP快,但仍然是Instant-NGP的一半。速度取決於場景(如果大多數場景是空的,速度將更快)。




左:Torch-NGP。對:我的。
要運行基準測試,請使用benchmarking下的腳本。
以下是我使用1 RTX 2080 Ti訓練的結果(在此處定性結果):
| 麥克風 | 榕 | 椅子 | 熱狗 | 材料 | 鼓 | 船 | 樂高 | avg | |
|---|---|---|---|---|---|---|---|---|---|
| psnr | 35.59 | 34.13 | 35.28 | 37.35 | 29.46 | 25.81 | 30.32 | 35.76 | 32.96 |
| SSIM | 0.988 | 0.982 | 0.984 | 0.980 | 0.944 | 0.933 | 0.890 | 0.979 | 0.960 |
| LPIP | 0.017 | 0.024 | 0.025 | 0.038 | 0.070 | 0.076 | 0.133 | 0.022 | 0.051 |
| FPS | 40.81 | 34.02 | 49.80 | 25.06 | 20.08 | 37.77 | 15.77 | 36.20 | 32.44 |
| 訓練時間 | 3M9 | 3M12S | 4M17 | 5m53s | 4M55 | 4M7 | 9m20s | 5m5 | 5m00 |
| 葡萄酒持有人 | Steamtrain | 蟾蜍 | 機器人 | 自行車 | 宮殿 | 飛船 | 生活方式 | avg | |
|---|---|---|---|---|---|---|---|---|---|
| psnr | 31.64 | 36.47 | 35.57 | 37.10 | 37.87 | 37.41 | 35.58 | 34.76 | 35.80 |
| SSIM | 0.962 | 0.987 | 0.980 | 0.994 | 0.990 | 0.977 | 0.980 | 0.967 | 0.980 |
| LPIP | 0.047 | 0.023 | 0.024 | 0.010 | 0.015 | 0.021 | 0.029 | 0.044 | 0.027 |
| FPS | 47.07 | 75.17 | 50.42 | 64.87 | 66.88 | 28.62 | 35.55 | 22.84 | 48.93 |
| 訓練時間 | 3M58 | 3M44 | 7m22s | 3M25 | 3M11S | 6m45s | 3M25 | 4M56 | 4M36S |
| 伊格納修斯 | 卡車 | 穀倉 | 毛蟲 | 家庭 | avg | |
|---|---|---|---|---|---|---|
| psnr | 28.30 | 27.67 | 28.00 | 26.16 | 34.27 | 28.78 |
| *fps | 10.04 | 7.99 | 16.14 | 10.91 | 6.16 | 10.25 |
*在test-traj上進行了評估
| *玉 | *噴泉 | 特點 | 雕像 | avg | |
|---|---|---|---|---|---|
| psnr | 25.43 | 26.82 | 30.43 | 26.79 | 27.38 |
| ** fps | 26.02 | 21.24 | 35.99 | 19.22 | 25.61 |
| 訓練時間 | 6m31s | 7m15s | 4M50 | 5M57 | 6M48 |
*我手動將背景從黑色切換到白色,因此該數字與論文中的數字無法直接相提並論。
**在test-traj上進行了評估