zju3dv/ENeRF

SIGGRAPH Asia 2022: Code for "Efficient Neural Radiance Fields for Interactive Free-viewpoint Video"

ENeRF – 用於互動式自由視角影片的高效神經輻射場

是什麼

  • 高效神經輻射場(ENeRF)的研究實作,一種加速基於NeRF的視角合成的方法,使互動式(≈20–50 FPS)自由視角影片成為可能。
  • 支援靜態場景(DTU、NeRF合成/LLFF)與動態人體捕捉(ZJU-MoCap),甚至作者釋出的室外資料集。

核心功能

  • 在DTU多視角資料集上訓練通用的ENeRF模型。
  • 在特定場景(例如DTU掃描、ZJU-MoCap序列或ENeRF-Outdoor「actor1」資料)上進行微調。
  • 使用標準指標(PSNR、SSIM、LPIPS、深度誤差)進行評估,並報告即時渲染速度。
  • 可選GUI,用於人體捕捉的互動式渲染。

安裝(來自README)

  1. 建立conda環境
    conda create -n enerf python=3.8
    conda activate enerf
    
  2. 安裝PyTorch 1.9.0(CUDA 11.1)及相關套件
    pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 \
        -f https://download.pytorch.org/whl/torch_stable.html
    
  3. 安裝剩餘的Python相依性
    pip install -r requirements.txt
    
  4. 設定工作區目錄(資料集、檢查點與結果將存放於此):
    export workspace=$PATH_TO_YOUR_WORKSPACE
    

資料集與預訓練模型

  • DTU(預處理的多視角資料)——用於基線模型與微調的必要項目。
  • NeRF合成與LLFF——用於標準NeRF基準測試的評估。
  • ZJU-MoCap——用於互動式GUI的人體捕捉資料。
  • ENeRF-Outdoor——作者釋出的全新室外資料集。
  • 預訓練DTU模型可下載並放置於 $workspace/trained_model/enerf/dtu_pretrain/latest.pth

典型工作流程

  1. 訓練(在DTU上訓練通用模型):
    python train_net.py --cfg_file configs/enerf/dtu_pretrain.yaml
    
    支援透過 torch.distributed 進行多GPU訓練。
  2. 微調(在特定掃描上,例如DTU掃描114):
    cd $workspace/trained_model/enerf
    mkdir dtu_ft_scan114
    cp dtu_pretrain/138.pth dtu_ft_scan114
    cd $codespace   # 包含ENeRF程式碼的目錄
    python train_net.py --cfg_file configs/enerf/dtu/scan114.yaml
    
    README指出,在i9-12900K + RTX 3090上,3k與11k次迭代分別耗時約11分鐘與40分鐘。
  3. 評估——例如在DTU上:
    python run.py --type evaluate \
        --cfg_file configs/enerf/dtu_pretrain.yaml \
        enerf.cas_config.render_if False,True \
        enerf.cas_config.volume_planes 48,8 \
        enerf.eval_depth True
    
    例子輸出顯示PSNR ≈ 27.6,SSIM ≈ 0.957,LPIPS ≈ 0.089,512×640解析度下約21.8 FPS。
  4. 互動式渲染(人體捕捉):
    python gui_human.py --cfg_file configs/enerf/interactive/zjumocap.yaml
    
    鼠標/鍵盤控制在README中有說明。

來自README的效能亮點

  • DTU評估:27.6 dB PSNR,0.957 SSIM,0.089 LPIPS,21.8 FPS。
  • ZJU-MoCap:31.48 dB PSNR,0.971 SSIM,0.042 LPIPS,49.2 FPS。
  • 在高階桌面(i9-12900K + RTX 3090)上實現即時渲染。

引用 若在研究中使用此程式碼,請引用SIGGRAPH Asia 2022論文:

@inproceedings{lin2022enerf,
  title={Efficient Neural Radiance Fields for Interactive Free-viewpoint Video},
  author={Lin, Haotong and Peng, Sida and Xu, Zhen and Yan, Yunzhi and Shuai, Qing and Bao, Hujun and Zhou, Xiaowei},
  booktitle={SIGGRAPH Asia Conference Proceedings},
  year={2022}
}

總結:ENeRF是一個完整的開源實作,支援訓練、微調、評估與互動式渲染神經輻射場,重點在於適用於自由視角影片應用的高速推論。

相關

  • 專案
  • 專案
  • 專案
  • 專案