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 映像檔。
如何開始
- 安裝 – 依照
INSTALL.md進行手動 conda 設定,或使用docker/中的 Dockerfile(感謝 Zhaoyi Wan)。 - 下載資料 – README 連結到獲取 ZJU‑MoCap 和 People‑Snapshot 資料集的腳本,以及託管在 Google Drive 上的預訓練檢查點。
- 執行範例 – 儲存庫提供現成的 shell 腳本:
visualize.sh展示如何渲染新視角、姿勢變化的影片和網格。train.sh和test.sh說明單 GPU 和多 GPU 訓練/評估指令。
- 自訂資料 –
tools/custom資料夾說明如何將管線調整為您自己的多視角捕捉資料。
資料集與資源
- ZJU‑MoCap – 帶有 SMPL 參數(使用 EasyMocap 擬合)的多視角捕捉。儲存庫提供原始版本和較新的 SMPL 擬合集。
- People‑Snapshot – 野外影片;儲存庫包含處理腳本 (
process_snapshot.py) 和 SMPL 參數視覺化工具。 - Mobile‑Stage 和 SyntheticHuman++ 資料集於 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;未添加任何外部假設。
相關
- 專案
- 專案
- 專案
- 專案