zju3dv/neuralbody

Code for "Neural Body: Implicit Neural Representations with Structured Latent Codes for Novel View Synthesis of Dynamic Humans" CVPR 2021 best paper candidate

Neural Body – 用於動態人體的隱式神經表示

簡介

  • 這是一個研究代碼庫,透過多視角影片學習移動人體的連續 3D 表示。它使用 隱式神經場(一種將 3‑D 座標映射到顏色/佔用率的神經網路)以及編碼姿勢相關幾何結構的 結構化潛在編碼
  • 目標是 新視角合成:給定幾個校準過的攝影機,模型可以從任何新視角渲染人物,即使是訓練期間未見過的姿勢。

主要功能

  • 訓練 支援兩個公開資料集:
    • ZJU‑MoCap – 單一演員執行多種動作的多視角捕捉資料。
    • People‑Snapshot – 不同人物的短影片集合。
  • 推論 支援:
    • 渲染單一影格的新視角。
    • 從固定或旋轉攝影機渲染移動人物的影片。
    • 在任何影格提取身體網格。
  • 支援 未見過的姿勢(泛化到新動作)和 白底渲染
  • 透過 PyTorch 的 torch.distributed 進行分散式訓練,並提供可直接使用的 Docker 映像檔。

如何開始

  1. 安裝 – 依照 INSTALL.md 進行手動 conda 設定,或使用 docker/ 中的 Dockerfile(感謝 Zhaoyi Wan)。
  2. 下載資料 – README 連結到獲取 ZJU‑MoCap 和 People‑Snapshot 資料集的腳本,以及託管在 Google Drive 上的預訓練檢查點。
  3. 執行範例 – 儲存庫提供現成的 shell 腳本:
    • visualize.sh 展示如何渲染新視角、姿勢變化的影片和網格。
    • train.shtest.sh 說明單 GPU 和多 GPU 訓練/評估指令。
  4. 自訂資料tools/custom 資料夾說明如何將管線調整為您自己的多視角捕捉資料。

資料集與資源

  • ZJU‑MoCap – 帶有 SMPL 參數(使用 EasyMocap 擬合)的多視角捕捉。儲存庫提供原始版本和較新的 SMPL 擬合集。
  • People‑Snapshot – 野外影片;儲存庫包含處理腳本 (process_snapshot.py) 和 SMPL 參數視覺化工具。
  • Mobile‑StageSyntheticHuman++ 資料集於 2024 年 1 月發布(提供 Google 表單連結以供存取)。

典型工作流程

# 1. 準備資料 (例如, People‑Snapshot)
python tools/process_snapshot.py --input path/to/video

# 2. 訓練 (單 GPU)
python train_net.py --cfg_file configs/snapshot_exp/snapshot_f3c.yaml \
    exp_name female3c resume False

# 3. 視覺化影格的新視角
python run.py --type visualize \
    --cfg_file configs/snapshot_exp/snapshot_f3c.yaml \
    exp_name female3c vis_novel_view True num_render_views 144

# 4. 渲染網格
python run.py --type visualize \
    --cfg_file configs/snapshot_exp/snapshot_f3c.yaml \
    exp_name female3c vis_mesh True

適用對象

  • 研究神經渲染、人體形狀/姿勢建模或新視角合成的研究人員。
  • 需要從稀疏多攝影機設定生成照片級真實感虛擬化身的開發人員。
  • 對從影片中提取可動畫 3‑D 網格感興趣的任何人。

引用 如果您使用此代碼或預訓練模型,請引用 CVPR 2021 和 TPAMI 2023 論文(BibTeX 包含在 README 中)。


以上所有資訊均直接取自儲存庫的 README;未添加任何外部假設。

相關

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