From 7d31e68700760a8149e2661be6c72e8e19a69776 Mon Sep 17 00:00:00 2001 From: Jeffreytsai1004 Date: Thu, 20 Feb 2025 03:10:23 +0800 Subject: [PATCH] Update --- .cursorignore | 1 - .gitignore | 4 +++- README.md | 38 +++++++++++++++++++++++++++----- README_EN.md | 38 +++++++++++++++++++++++++++----- download_resource.bat | 38 ++++++++++++++++++++------------ fetch_model.bat | 31 ++++++++++++++++++++++++++ install.bat | 51 ++++++++++++++++++++----------------------- requirements.txt | 1 + 8 files changed, 147 insertions(+), 55 deletions(-) delete mode 100644 .cursorignore create mode 100644 fetch_model.bat diff --git a/.cursorignore b/.cursorignore deleted file mode 100644 index 6f9f00f..0000000 --- a/.cursorignore +++ /dev/null @@ -1 +0,0 @@ -# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv) diff --git a/.gitignore b/.gitignore index 9928f75..4bddcc0 100644 --- a/.gitignore +++ b/.gitignore @@ -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__/ diff --git a/README.md b/README.md index 7ac978c..d39c014 100644 --- a/README.md +++ b/README.md @@ -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并下载所需资源 diff --git a/README_EN.md b/README_EN.md index ced0756..8b12a78 100644 --- a/README_EN.md +++ b/README_EN.md @@ -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 diff --git a/download_resource.bat b/download_resource.bat index 73e2ce4..f1c9169 100644 --- a/download_resource.bat +++ b/download_resource.bat @@ -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" diff --git a/fetch_model.bat b/fetch_model.bat new file mode 100644 index 0000000..1aff395 --- /dev/null +++ b/fetch_model.bat @@ -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 \ No newline at end of file diff --git a/install.bat b/install.bat index 1cdcbc2..6abafb6 100644 --- a/install.bat +++ b/install.bat @@ -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 diff --git a/requirements.txt b/requirements.txt index b100102..baf9320 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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