Setting Up and Executing GauHuman on Windows Environments
Repository Initialization
Clone the upstream project directory and navigate into it:
git clone https://github.com/skhu101/GauHuman.git
cd GauHuman
Environment Configuration
Ensure Visual Studio 2019 toolchains are installed and referenced within the system PATH variable. Additionally, provision a pre-compiled Windows binary for Ninja. Extract version 1.11.1 from the official repository releases and append its root directory to PATH.
Provision a isolated Conda runtime:
conda create -n gauhuman_env python=3.8
conda activate gauhuman_env
Install PyTorch components that align with your local CUDA toolkit. Assuming CUDA 12.1 is detected:
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=12.1 -c pytorch -c nvidia
Verify version compatibility at the official archive before continuing.
Compile core rasterization utilities:
pip install ./submodules/diff-gaussian-rasterization
pip install ./submodules/simple-knn
Platform-Specific Compilation
The knn_cuda extension requires manual construction due to cross-platform constraints. Fetch the Windows-adapted branch:
git clone --branch windows https://github.com/blukaz/KNN_CUDA
cd KNN_CUDA
Initialize Chocolatey via elevated PowerShell:
Get-ExecutionPolicy
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Launch an administrative Command Prompt, return to the cloned source, activate the environment, and trigger compilation:
conda activate gauhuman_env
make
If the build terminates during file transfer, open the Makefile and comment out the target responsible for copying ninja.exe. Manually place the executable into %WINDIR%\System32, then resume with:
make install
Third-Party Module Integration
The mmhuman3d package frequently fails during standard ingestion. Isolate its entry in requirements.txt, then execute:
git clone https://github.com/Wei-Chen-hub/mmhuman3d.git
cd mmhuman3d
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
Return to the parent workspace and install residual dependencies:
cd ../..
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
Asset and Model Preparation
Acquire the motion capture sequences following upstream documentation. For the skeletal rig, rename the extracted definition file to SMPL_NEUTRAL.pkl.
Sanitize mesh assets using the SMPL-X utility suite:
git clone https://github.com/vchoutas/smplx.git
cd smplx
pip install chumpy
python tools/clean_ch.py --input-models <path-to-pkl>/*.pkl --output-folder <temp-output-dir>
Replace placeholders with actual paths. Because the cleanup script targets Python 2 syntax, inject encoding='utf-8' parameters during serialization if operating with in a Python 3 runtime. Transfer the cleaned artfiacts into GauHuman/assets.
Execution Workflow
Shell scripts require conversion to Windows batch format to operate correctly. The following launcher adapts the original training sequence for cmd.exe:
@echo off
setlocal enabledelayedexpansion
:: Target sequence identifiers
set TARGET_SEQS=my_377 my_386 my_387 my_392 my_393 my_394
:: Iterate and launch optimization loops
for %%A in (%TARGET_SEQS%) do (
set ACTUAL=%%A
set RUN_PATH=data\zju_mocap_refine\!ACTUAL!
call python train.py ^
-s !RUN_PATH! ^
--eval ^
--exp_name zju_mocap_refine\!ACTUAL!_100_pose_correction_lbs_offset_split_clone_merge_prune ^
--motion_offset_flag ^
--smpl_type smpl ^
--actor_gender neutral ^
--iterations 1200
)
endlocal
Save this configuration as launch_training.bat and invoke it from the project root terminal. The orchestrator will sequentially process each annotated capture sequence through the refinement pipeline.
Reference Implementations
- GauHuman: CVPR 2024 Articulated Gaussian Splatting Framework
- HumanNeRF: Monocular Video to Free-Viewpoint Reconstruction
- MMHuman3D: Single-View Motion Capture Toolkit
- Windows-KNN-CUDA Build Instructions