This commit is contained in:
Jeffreytsai1004 2025-02-20 03:10:23 +08:00
parent 8a9c1de43c
commit 7d31e68700
8 changed files with 147 additions and 55 deletions

View File

@ -1 +0,0 @@
# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)

4
.gitignore vendored
View File

@ -16,8 +16,10 @@ ext/diff_gaussian_rasterization_hair/third_party
# Executable files
scripts
resource
condabin
Scripts
pkgs
envs
condabin
# Byte-compiled / optimized / DLL files
__pycache__/

View File

@ -43,11 +43,37 @@
资源目录:
```
resource/
├── NeuralHaircut/ # NeuralHaircut模型
├── Matte-Anything/ # Matte-Anything模型
├── openpose/ # OpenPose模型
├── PIXIE/ # PIXIE模型
└── hyperIQA/ # HyperIQA模型
├── hyperIQA/ # HyperIQA model
│ └── pretrained/
│ └── koniq_pretrained.pkl
├── Matte-Anything/ # Matte-Anything models
│ └── pretrained/
│ ├── groundingdino_swint_ogc.pth
│ ├── sam_vit_h_4b8939.pth
│ └── ViTMatte_B_DIS.pth
├── NeuralHaircut/ # NeuralHaircut models
│ ├── PIXIE/
│ │ └── pixie_data.tar.gz
│ └── pretrained_models/
│ ├── diffusion_prior/
│ │ ├── dif_ckpt.pth
│ │ └── wo_bug_blender_uv_00130000.pth
│ └── strand_prior/
│ └── strand_ckpt.pth
├── openpose/ # OpenPose models
│ ├── models/
│ │ ├── cameraParameters/
│ │ ├── face/
│ │ ├── hand/
│ │ ├── pose/
│ │ ├── getModels.bat
│ │ ├── getModels.sh
│ │ └── wget-log
│ └── models.tar.gz
├── PIXIE/ # PIXIE utilities and models
│ └── data/
│ ├── pixie_model.tar
│ └── utilities.zip
```
## 环境变量
@ -129,7 +155,7 @@ resource/
6. **下载预训练模型和资源**
```cmd
git clone https://gitea.cgnico.com/CGNICO/GaussianHaircut
git clone http://10.72.61.59:3000/ArtGroup/GaussianHaircut
cd GaussianHairCut
# 在PowerShell中运行:
# 脚本会自动安装gdown并下载所需资源

View File

@ -44,11 +44,37 @@ Expected output:
Resource directory:
```
resource/
├── NeuralHaircut/ # NeuralHaircut model
├── Matte-Anything/ # Matte-Anything model
├── openpose/ # OpenPose model
├── PIXIE/ # PIXIE model
└── hyperIQA/ # HyperIQA model
├── hyperIQA/ # HyperIQA model
│ └── pretrained/
│ └── koniq_pretrained.pkl
├── Matte-Anything/ # Matte-Anything models
│ └── pretrained/
│ ├── groundingdino_swint_ogc.pth
│ ├── sam_vit_h_4b8939.pth
│ └── ViTMatte_B_DIS.pth
├── NeuralHaircut/ # NeuralHaircut models
│ ├── PIXIE/
│ │ └── pixie_data.tar.gz
│ └── pretrained_models/
│ ├── diffusion_prior/
│ │ ├── dif_ckpt.pth
│ │ └── wo_bug_blender_uv_00130000.pth
│ └── strand_prior/
│ └── strand_ckpt.pth
├── openpose/ # OpenPose models
│ ├── models/
│ │ ├── cameraParameters/
│ │ ├── face/
│ │ ├── hand/
│ │ ├── pose/
│ │ ├── getModels.bat
│ │ ├── getModels.sh
│ │ └── wget-log
│ └── models.tar.gz
├── PIXIE/ # PIXIE utilities and models
│ └── data/
│ ├── pixie_model.tar
│ └── utilities.zip
```
## Environment Variables
@ -131,7 +157,7 @@ Required environment variables:
6. **Download pre-trained models and resources**
```cmd
git clone https://gitea.cgnico.com/CGNICO/GaussianHaircut
git clone http://10.72.61.59:3000/ArtGroup/GaussianHaircut
cd GaussianHairCut
# Run in PowerShell:
# The script will automatically install gdown and download required resources

View File

@ -5,32 +5,42 @@
@CALL python -m pip install --upgrade pip
@CALL python -m pip install gdown
@CALL mkdir %PROJECT_DIR%\resource\NeuralHaircut\PIXIE
@CALL mkdir %PROJECT_DIR%\resource\hyperIQA\pretrained
@CALL mkdir %PROJECT_DIR%\resource\Matte-Anything\pretrained
@CALL mkdir %PROJECT_DIR%\resource\openpose
@CALL mkdir resource\NeuralHaircut\PIXIE
@CALL mkdir resource\hyperIQA\pretrained
@CALL mkdir resource\Matte-Anything\pretrained
@CALL mkdir resource\openpose
@CALL cd %PROJECT_DIR%\resource\NeuralHaircut
echo "Downloading NeuralHaircut..."
@CALL cd resource\NeuralHaircut
@CALL python -m gdown --folder https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8
@CALL cd %PROJECT_DIR%\resource\NeuralHaircut\pretrained_models\diffusion_prior
@CALL cd ..\..
@CALL cd resource\NeuralHaircut\pretrained_models\diffusion_prior
@CALL python -m gdown 1_9EOUXHayKiGH5nkrayncln3d6m1uV7f
@CALL cd %PROJECT_DIR%\resource\NeuralHaircut\PIXIE
@CALL cd ..\..\..\..
echo "Downloading PIXIE..."
@CALL cd resource\NeuralHaircut\PIXIE
@CALL python -m gdown 1mPcGu62YPc4MdkT8FFiOCP629xsENHZf
@CALL tar -xvzf pixie_data.tar.gz ./
@CALL rm pixie_data.tar.gz
@CALL cd %PROJECT_DIR%\resource\hyperIQA\pretrained
@CALL tar -xvzf pixie_data.tar.gz
@CALL cd ..\..\..
echo "Downloading hyperIQA..."
@CALL cd resource\hyperIQA\pretrained
@CALL python -m gdown 1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE
@CALL cd %PROJECT_DIR%
@CALL cd ..\..
@CALL cd %PROJECT_DIR%\resource\Matte-Anything\pretrained
echo "Downloading Matte-Anything..."
@CALL cd resource\Matte-Anything\pretrained
@CALL curl -L -o sam_vit_h_4b8939.pth https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
@CALL curl -L -o groundingdino_swint_ogc.pth https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
@CALL python -m gdown 1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW
@CALL cd ..\..
@CALL cd %PROJECT_DIR%\resource\openpose
echo "Downloading openpose..."
@CALL cd resource\openpose
@CALL python -m gdown 1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV
@CALL tar -xvzf models.tar.gz
@CALL rm models.tar.gz
@CALL cd ..\..
echo "Download complete"

31
fetch_model.bat Normal file
View File

@ -0,0 +1,31 @@
@echo off
mkdir .\resource\PIXIE\data
echo.
echo You need to register at https://smpl-x.is.tue.mpg.de
set /P username_smplx="Username (SMPL-X): "
set /P password_smplx="Password (SMPL-X): "
echo Downloading SMPL-X 2020 (neutral SMPL-X model)...
curl -o ".\resource\PIXIE\data\SMPLX_NEUTRAL_2020.npz" --post-fields "username=%username_smplx%&password=%password_smplx%" "https://download.is.tue.mpg.de/download.php?domain=smplx&sfile=SMPLX_NEUTRAL_2020.npz&resume=1" --insecure --continue
echo.
echo You need to register at https://pixie.is.tue.mpg.de/
set /P username_pixie="Username (PIXIE): "
set /P password_pixie="Password (PIXIE): "
echo Downloading PIXIE pretrained model...
curl -o ".\resource\PIXIE\data\pixie_model.tar" --post-fields "username=%username_pixie%&password=%password_pixie%" "https://download.is.tue.mpg.de/download.php?domain=pixie&sfile=pixie_model.tar&resume=1" --insecure --continue
echo Downloading PIXIE utilities...
curl -o ".\resource\PIXIE\data\utilities.zip" --post-fields "username=%username_pixie%&password=%password_pixie%" "https://download.is.tue.mpg.de/download.php?domain=pixie&sfile=utilities.zip&resume=1" --insecure --continue
cd data
echo Extracting utilities.zip...
powershell -Command "Expand-Archive -Path 'utilities.zip' -DestinationPath '.'"
echo Extraction complete.
echo.
echo Model download and extraction completed.
pause

View File

@ -1,17 +1,18 @@
@CALL "%~dp0micromamba.exe" shell init --shell cmd.exe --prefix "%~dp0\"
@echo off
@CALL "%~dp0micromamba.exe" shell init --shell cmd.exe --prefix "%~dp0\"
@CALL SET PROJECT_DIR=%~dp0
@CALL SET MICROMAMBA_EXE=%PROJECT_DIR%\micromamba.exe
@CALL SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\"
@CALL SET BLENDER_DIR="C:\Program Files\Blender Foundation\Blender 3.6\"
@CALL SET VS_DIR="C:\Program Files\Microsoft Visual Studio\2022\Professional\"
@CALL SET VS_VCVARS="%VS_DIR%\VC\Auxiliary\Build\vcvars64.bat"
@CALL SET PATH=%CUDA_HOME%\bin;%PROJECT_DIR%\condabin;%PATH%
{{ Gaussian Splatting Hair 环境 }}
@CALL "%~dp0micromamba.exe" create -n gaussian_splatting_hair python=3.9 -c pytorch -c nvidia -c conda-forge -c anaconda -c fvcore -c iopath -c bottler -c nvidia -r "%~dp0\" -y
@CALL "%~dp0condabin\micromamba.bat" activate gaussian_splatting_hair
@CALL python -m pip install pip==23.3.1
@CALL python -m pip install pip --upgrade
@CALL python -m pip install gdown==5.2.0
@CALL python -m pip install gcc==10.4.0
@CALL python -m pip install -r requirements.txt
@CALL cd %PROJECT_DIR%\ext && git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose --depth 1
@ -27,39 +28,37 @@
@CALL cd %PROJECT_DIR%\ext && git clone --recursive https://github.com/NVIDIAGameWorks/kaolin
@CALL cd %PROJECT_DIR%\ext\kaolin && git checkout v0.15.0
@CALL cd %PROJECT_DIR%\ext && git clone https://github.com/SSL92/hyperIQA
@CALL cd %PROJECT_DIR%\ext && git clone https://github.com/yfeng95/PIXIE
@CALL copy %PROJECT_DIR%\resource\NeuralHaircut\ %PROJECT_DIR%\ext\NeuralHaircut\
@CALL copy %PROJECT_DIR%\resource\hyperIQA\pretrained %PROJECT_DIR%\ext\hyperIQA\pretrained
@CALL copy %PROJECT_DIR%\resource\openpose %PROJECT_DIR%\ext\openpose
@CALL copy %PROJECT_DIR%\resource\NeuralHaircut\* %PROJECT_DIR%\ext\NeuralHaircut\
@CALL copy %PROJECT_DIR%\resource\hyperIQA\* %PROJECT_DIR%\ext\hyperIQA\
@CALL copy %PROJECT_DIR%\resource\openpose\* %PROJECT_DIR%\ext\openpose\
@CALL copy %PROJECT_DIR%\resource\PIXIE\data\* %PROJECT_DIR%\ext\PIXIE\data\
@CALL copy %PROJECT_DIR%\resource\NeuralHaircut\PIXIE\data\* %PROJECT_DIR%\ext\NeuralHaircut\PIXIE\data\
@CALL copy %PROJECT_DIR%\resource\Matte-Anything\pretrained\* %PROJECT_DIR%\ext\Matte-Anything\pretrained\
@CALL %PROJECT_DIR%\ext\NeuralHaircut\PIXIE\data\
@CALL tar -xvzf pixie_data.tar.gz
@CALL cd %PROJECT_DIR%
@CALL "%~dp0condabin\micromamba.bat" deactivate gaussian_splatting_hair
{{ Matte Anything 环境 }}
@CALL "%~dp0micromamba.exe" create -n matte_anything ^
python=3.9 pytorch=2.0.0 pytorch-cuda=11.8 torchvision tensorboard timm=0.5.4 opencv=4.5.3 ^
mkl=2024.0 setuptools=58.2.0 easydict wget scikit-image gradio=3.46.1 fairscale ^
-c pytorch -c nvidia -c conda-forge -r "%~dp0\" -y
@CALL "%~dp0condabin\micromamba.bat" activate matte_anything
@CALL cd %PROJECT_DIR%\ext\Matte-Anything
@CALL git clone git@github.com:facebookresearch/segment-anything.git %PROJECT_DIR%\ext\Matte-Anything\segment-anything
@CALL cd %PROJECT_DIR%\ext\Matte-Anything\segment-anything && pip install -e .
@CALL cd %PROJECT_DIR%\ext\Matte-Anything
@CALL pip install git+https://github.com/facebookresearch/segment-anything.git
@CALL git clone https://github.com/conansherry/detectron2 %PROJECT_DIR%\ext\Matte-Anything\detectron2
@CALL cd %PROJECT_DIR%\ext\Matte-Anything\detectron2 && pip install -e .
@CALL cd detectron2
@CALL %VS_VCVARS% && python setup.py build develop
@CALL cd %PROJECT_DIR%\ext\Matte-Anything\GroundingDINO && pip install -e .
@CALL pip install supervision==0.22.0
@CALL cd %PROJECT_DIR%\ext\Matte-Anything && mkdir pretrained
@CALL copy %PROJECT_DIR%\resource\Matte-Anything\ %PROJECT_DIR%\ext\Matte-Anything\
@CALL cd %PROJECT_DIR%
@CALL "%~dp0condabin\micromamba.bat" deactivate matte_anything
{{ OpenPose 环境 }}
@CALL "%~dp0condabin\micromamba.bat" deactivate matte_anything
@CALL "%~dp0condabin\micromamba.bat" activate gaussian_splatting_hair
@CALL copy %PROJECT_DIR%\resource\openpose %PROJECT_DIR%\ext\openpose
@CALL "%~dp0condabin\micromamba.bat" deactivate gaussian_splatting_hair
@CALL "%~dp0condabin\micromamba.bat" deactivate
@CALL git submodule update --init --recursive --remote
@CALL "%~dp0condabin\micromamba.bat" deactivate openpose
@CALL "%~dp0micromamba.exe" create -n openpose cmake=3.20 -c conda-forge -r "%~dp0\" -y
@CALL "%~dp0condabin\micromamba.bat" activate openpose
@CALL cd %PROJECT_DIR%\ext\openpose
@ -69,21 +68,19 @@
@CALL cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 -DBUILD_PYTHON=true -DUSE_CUDNN=off
@CALL cmake --build . --config Release
@CALL cd %PROJECT_DIR%
@CALL "%~dp0condabin\micromamba.bat" deactivate openpose
@CALL "%~dp0condabin\micromamba.bat" deactivate
{{ PIXIE 环境 }}
@CALL "%~dp0micromamba.exe" create -n pixie-env python=3.8 pytorch==2.0.0 torchvision torchaudio ^
pytorch-cuda=11.8 fvcore pytorch3d==0.7.5 kornia matplotlib ^
-c pytorch -c nvidia -c fvcore -c conda-forge -c pytorch3d -r "%~dp0\" -y
@CALL "%~dp0condabin\micromamba.bat" activate pixie-env
@CALL cd %PROJECT_DIR%\ext\PIXIE
@CALL copy %PROJECT_DIR%\resource\PIXIE\pixie_data %PROJECT_DIR%\ext\PIXIE\data
@CALL pip install pyyaml==5.4.1
@CALL pip install git+https://github.com/1adrianb/face-alignment.git@54623537fd9618ca7c15688fd85aba706ad92b59
@CALL cd %PROJECT_DIR%
@CALL "%~dp0condabin\micromamba.bat" deactivate pixie-env
@CALL mkdir data
@CALL 7z x utilities.zip
@CALL tar -xf pixie_data.tar
@CALL "%~dp0condabin\micromamba.bat" deactivate

View File

@ -22,6 +22,7 @@ toml==0.10.2
tqdm==4.66.5
gdown==5.2.0
colmap==3.10
gcc==10.4.0
pysdf==0.1.9
clean-fid==0.1.35