This commit is contained in:
Jeffreytsai1004 2025-02-15 14:31:02 +08:00
parent 69ed834388
commit cb0d73da0e
4 changed files with 103 additions and 57 deletions

View File

@ -6,9 +6,8 @@ globs:
# 项目规则 # 项目规则
- 使用中文回复 - 使用中文回复
- 先查看Reference文件夹下的代码参考, 参考虚拟环境的创建和管理和使用,并按照 Readme.md 来查Readme和install.sh和run.sh以及Reference路径下参考代码来协助用户完成项目 - 并按照 Readme.md 来查Readme和install.sh和run.sh来协助用户完成项目
- 完善Readme.md - 完善Readme.md
- Reference文件夹仅作为参考而不参与项目运行
- 将该项目改成Windows平台应用, 代码必须考虑可在windows运行, 使用micromamba.exe来拿新建和管理虚拟环境 - 将该项目改成Windows平台应用, 代码必须考虑可在windows运行, 使用micromamba.exe来拿新建和管理虚拟环境
- 对于不同的环境分别创建activate的bat文件,虚拟环境分别有gaussian_splatting_hair, matte_anything, openpose, pixie-env对应的文件有activate_gaussian_splatting_hair.bat, activate_matte_anything.bat, activate_openpose.bat, activate_pixie-env.bat - 对于不同的环境分别创建activate的bat文件,虚拟环境分别有gaussian_splatting_hair, matte_anything, openpose, pixie-env对应的文件有activate_gaussian_splatting_hair.bat, activate_matte_anything.bat, activate_openpose.bat, activate_pixie-env.bat
- 将原本部署的install.sh改写成install.bat文件,不删除原本的install.sh文件 - 将原本部署的install.sh改写成install.bat文件,不删除原本的install.sh文件

View File

@ -71,6 +71,7 @@
1. **安装 CUDA 11.8** 1. **安装 CUDA 11.8**
- 从 https://developer.nvidia.com/cuda-11-8-0-download-archive 下载并安装 - 从 https://developer.nvidia.com/cuda-11-8-0-download-archive 下载并安装
- 默认安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8 - 默认安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
- 确保CUDA版本与系统兼容
2. **安装 Blender 3.6** 2. **安装 Blender 3.6**
- 从 https://www.blender.org/download/lts/3-6 下载并安装 - 从 https://www.blender.org/download/lts/3-6 下载并安装
@ -83,33 +84,38 @@
4. **安装 COLMAP** 4. **安装 COLMAP**
- 从 https://github.com/colmap/colmap/releases 下载并安装 - 从 https://github.com/colmap/colmap/releases 下载并安装
- 下载最新的Windows安装包(例如COLMAP-3.8-windows-cuda.zip) - 下载CUDA版本的COLMAP (例如COLMAP-3.8-windows-cuda.zip)
- 解压到一个不含空格的路径(例如C:\COLMAP) - 解压到不含空格的路径 (例如C:\COLMAP)
- 确保CUDA版本与系统安装的CUDA 11.8匹配 - 将COLMAP目录添加到系统PATH:
- 将解压目录(C:\COLMAP)添加到系统环境变量PATH中:
1. 打开"系统属性" > "环境变量" 1. 打开"系统属性" > "环境变量"
2. 在"系统变量"中找到"Path" 2. 在"系统变量"中找到"Path"
3. 点击"编辑" > "新建" 3. 点击"编辑" > "新建"
4. 添加COLMAP目录路径(C:\COLMAP) 4. 添加COLMAP目录路径
5. 点击"确定"保存更改 5. 点击"确定"保存
- 重启PowerShell或CMD以使PATH更改生效 - 重启终端使PATH生效
- 验证安装:
```cmd
colmap -h
```
如果显示帮助信息,则安装成功
5. **安装 micromamba** 5. **安装 micromamba**
- 从 https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html 下载并安装 - 从 https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html 下载
6. **克隆仓库并运行安装脚本** 6. **下载预训练模型和资源**
```cmd
# 在PowerShell中运行:
.\download_resource.bat
```
这将下载并解压以下资源到resource目录:
```
resource/
├── NeuralHaircut/ # Neural Haircut预训练模型
├── Matte-Anything/ # SAM和GroundingDINO模型
├── openpose/ # OpenPose模型
└── hyperIQA/ # 图像质量评估模型
```
7. **克隆仓库并运行安装脚本**
```cmd ```cmd
git clone git@github.com:eth-ait/GaussianHaircut.git git clone git@github.com:eth-ait/GaussianHaircut.git
cd GaussianHaircut cd GaussianHaircut
# 在CMD中运行: # 在PowerShell中运行:
install.bat
# 或在PowerShell中运行:
.\install.bat .\install.bat
``` ```

38
download_resource.bat Normal file
View File

@ -0,0 +1,38 @@
@echo off
setlocal enabledelayedexpansion
REM 创建resource目录结构
mkdir resource\NeuralHaircut\diffusion_prior 2>nul
mkdir resource\NeuralHaircut\PIXIE 2>nul
mkdir resource\Matte-Anything 2>nul
mkdir resource\openpose\models 2>nul
mkdir resource\hyperIQA\pretrained 2>nul
REM 下载 Neural Haircut 文件
cd resource\NeuralHaircut
gdown --folder https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8
cd diffusion_prior
gdown 1_9EOUXHayKiGH5nkrayncln3d6m1uV7f
cd ..\PIXIE
gdown 1mPcGu62YPc4MdkT8FFiOCP629xsENHZf
tar -xf pixie_data.tar.gz
del pixie_data.tar.gz
REM 下载 Matte-Anything 文件
cd ..\..\Matte-Anything
curl -LO https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
curl -LO https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
gdown 1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW -O model.pth
REM 下载 OpenPose 模型
cd ..\openpose
gdown 1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV -O models.tar.gz
tar -xf models.tar.gz -C models
del models.tar.gz
REM 下载 hyperIQA 模型
cd ..\hyperIQA\pretrained
gdown 1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE
cd ..\..
echo Download completed!

View File

@ -124,9 +124,9 @@ git clone https://github.com/SSL92/hyperIQA
REM 创建环境 REM 创建环境
CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair python=3.8 pytorch=2.0.0 torchvision pytorch-cuda=11.8 cmake ninja setuptools=58.2.0 -c pytorch -c nvidia -c conda-forge -y CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair python=3.8 pytorch=2.0.0 torchvision pytorch-cuda=11.8 cmake ninja setuptools=58.2.0 -c pytorch -c nvidia -c conda-forge -y
CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\matte_anything 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 -y CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\matte_anything 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 supervision==0.22.0 -c pytorch -c nvidia -c conda-forge -y
CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\openpose python=3.8 cmake=3.20 -c conda-forge -y CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\openpose python=3.8 cmake=3.20 -c conda-forge -y
CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\pixie-env python=3.8 pytorch=2.0.0 torchvision pytorch-cuda=11.8 fvcore pytorch3d==0.7.5 kornia matplotlib -c pytorch -c nvidia -c fvcore -c conda-forge -c pytorch3d -c bottler -c iopath -y CALL "%MICROMAMBA_EXE%" create -p %MAMBA_ROOT_PREFIX%\envs\pixie-env python=3.8 pytorch=2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 fvcore pytorch3d==0.7.5 kornia matplotlib -c pytorch -c nvidia -c fvcore -c conda-forge -c pytorch3d -c bottler -c iopath -y
REM 安装 gaussian_splatting_hair 环境 REM 安装 gaussian_splatting_hair 环境
CALL "%MICROMAMBA_EXE%" activate -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair CALL "%MICROMAMBA_EXE%" activate -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair
@ -143,55 +143,58 @@ cd %PROJECT_DIR%\ext\kaolin
pip install -e . pip install -e .
cd %PROJECT_DIR% cd %PROJECT_DIR%
REM 检查resource目录
IF NOT EXIST "%PROJECT_DIR%\resource" (
echo ERROR: resource directory not found
echo Please ensure the resource directory exists with required files:
echo.
echo resource/
echo ├── NeuralHaircut/
echo │ ├── diffusion_prior/
echo │ └── PIXIE/
echo ├── Matte-Anything/
echo │ ├── sam_vit_h_4b8939.pth
echo │ ├── groundingdino_swint_ogc.pth
echo │ └── model.pth
echo └── openpose/
echo └── models/
exit /b 1
)
REM 下载 Neural Haircut 文件 REM 下载 Neural Haircut 文件
cd %PROJECT_DIR%\ext\NeuralHaircut cd %PROJECT_DIR%\ext\NeuralHaircut
gdown --folder https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8 xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\*" .
cd pretrained_models\diffusion_prior cd pretrained_models\diffusion_prior
gdown 1_9EOUXHayKiGH5nkrayncln3d6m1uV7f xcopy /Y "%PROJECT_DIR%\resource\NeuralHaircut\diffusion_prior\*" .
cd ..\..\PIXIE cd ..\..\PIXIE
gdown 1mPcGu62YPc4MdkT8FFiOCP629xsENHZf xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\*" .
tar -xf pixie_data.tar.gz
del pixie_data.tar.gz
REM 安装 Matte-Anything 环境 REM 安装 Matte-Anything 环境
CALL activate_matte_anything.bat CALL activate_matte_anything.bat
cd %PROJECT_DIR%\ext\Matte-Anything cd %PROJECT_DIR%\ext\Matte-Anything
REM 修改pytorch文件以支持Windows REM 安装SAM和detectron2
IF EXIST "%CONDA_PREFIX%\Lib\site-packages\torch\include\torch\csrc\jit\runtime\argument_spec.h" (
echo Patching argument_spec.h...
powershell -Command "(gc '%CONDA_PREFIX%\Lib\site-packages\torch\include\torch\csrc\jit\runtime\argument_spec.h') -replace 'static constexpr size_t DEPTH_LIMIT = 128;', 'static const size_t DEPTH_LIMIT = 128;' | Out-File -encoding ASCII '%CONDA_PREFIX%\Lib\site-packages\torch\include\torch\csrc\jit\runtime\argument_spec.h'"
)
IF EXIST "%CONDA_PREFIX%\Lib\site-packages\torch\include\pybind11\cast.h" (
echo Patching cast.h...
powershell -Command "(gc '%CONDA_PREFIX%\Lib\site-packages\torch\include\pybind11\cast.h') -replace 'explicit operator type&\(\) { return \*\(this->value\); }', 'explicit operator type&() { return *((type*)this->value); }' | Out-File -encoding ASCII '%CONDA_PREFIX%\Lib\site-packages\torch\include\pybind11\cast.h'"
)
REM 安装SAM
pip install git+https://github.com/facebookresearch/segment-anything.git pip install git+https://github.com/facebookresearch/segment-anything.git
pip install 'git+https://github.com/facebookresearch/detectron2.git'
REM 安装detectron2 cd GroundingDINO
pip install 'git+https://github.com/facebookresearch/detectron2.git@v0.6' pip install -e .
pip install -e GroundingDINO
pip install supervision==0.22.0
mkdir pretrained
cd pretrained
curl -LO https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
curl -LO https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
cd .. cd ..
gdown 1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW pip install supervision==0.22.0
REM 安装 OpenPose mkdir pretrained 2>nul
CALL activate_openpose.bat cd pretrained
xcopy /Y "%PROJECT_DIR%\resource\Matte-Anything\*" .
cd ..
xcopy /Y "%PROJECT_DIR%\resource\Matte-Anything\model.pth" .
REM 安装 OpenPose 模型
cd %PROJECT_DIR%\ext\openpose cd %PROJECT_DIR%\ext\openpose
gdown 1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV xcopy /E /I /Y "%PROJECT_DIR%\resource\openpose\models\*" models\
tar -xf models.tar.gz
del models.tar.gz REM 复制 hyperIQA 模型
mkdir build cd %PROJECT_DIR%\ext\hyperIQA
cd build mkdir pretrained 2>nul
CALL "%VS2019_VCVARS%" xcopy /Y "%PROJECT_DIR%\resource\hyperIQA\pretrained\*" pretrained\
cmake .. -DBUILD_PYTHON=true -DUSE_CUDNN=off -G "Visual Studio 16 2019" -A x64
cmake --build . --config Release
REM 安装 PIXIE 环境 REM 安装 PIXIE 环境
CALL activate_pixie-env.bat CALL activate_pixie-env.bat