Initial snapshot: hand motion pipeline (Dyn-HaMR + dex-retargeting + SPIDER)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 14:13:49 +08:00
commit 7e4ef6f98b
7002 changed files with 1452249 additions and 0 deletions
Executable
+49
View File
@@ -0,0 +1,49 @@
#!/bin/bash
# HandFlow inference + render environment (training deps excluded)
# Usage: bash setup_env.sh [env_name=handflow] [python=3.10]
set -e
ENV_NAME=${1:-handflow}
PYTHON_VERSION=${2:-3.10}
echo "=========================================="
echo "HandFlow inference environment setup: $ENV_NAME (Python $PYTHON_VERSION)"
echo "=========================================="
# Create conda environment
eval "$(conda shell.bash hook)"
if ! conda env list | grep -qE "^${ENV_NAME} "; then
conda create -y -n "$ENV_NAME" "python=$PYTHON_VERSION"
fi
conda activate "$ENV_NAME"
echo ""
echo "Installing PyTorch 2.7.0 + CUDA 12.8..."
pip install torch==2.7.0+cu128 torchvision==0.22.0+cu128 \
--index-url https://download.pytorch.org/whl/cu128
echo ""
echo "Installing HaMeR backbone (submodule, includes its deps smplx/yacs etc.)..."
pip install -e third_party/hamer
echo ""
echo "Installing HandFlow inference + render deps..."
pip install numpy scipy omegaconf tqdm opencv-python "imageio[ffmpeg]" matplotlib
pip install ultralytics manopth
echo ""
echo "Installing pytorch3d (Phong renderer; build from source — needs nvcc, matches torch 2.7+cu128)..."
pip install "git+https://github.com/facebookresearch/pytorch3d.git@v0.7.8"
echo ""
echo "=========================================="
echo "Inference environment ready: conda activate $ENV_NAME"
echo "=========================================="
echo ""
echo "Next — set the weight-path environment variables (see README for weight downloads):"
echo " export HAMER_CKPT=/path/to/hamer.ckpt"
echo " export DETECTOR_CKPT=/path/to/detector.pt # from WiLoR"
echo " export MANO_ROOT=/path/to/mano # MANO model"
echo " export HANDFLOW_NORMALIZATION_STATS=/path/to/normalization_stats.npz"
echo ""
echo "Optional — for moving-camera world trajectory (demo.py without --fix_camera): bash setup_vipe_env.sh"