This commit is contained in:
Jeffreytsai1004 2025-02-16 16:51:05 +08:00
parent 30dbf101b1
commit 15438b139f
2 changed files with 75 additions and 116 deletions

View File

@ -14,37 +14,22 @@ IF EXIST "openpose" rmdir /s /q "openpose"
IF EXIST "hyperIQA" rmdir /s /q "hyperIQA" IF EXIST "hyperIQA" rmdir /s /q "hyperIQA"
REM 定义模型信息 REM 定义模型信息
SET "MODEL_NEURAL_HAIRCUT_NAME=Neural Haircut模型" SET "NEURAL_HAIRCUT_FOLDER_URL=1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8"
SET "MODEL_NEURAL_HAIRCUT_PATH=resource\NeuralHaircut\pretrained_models\diffusion_prior\model.pt" SET "PIXIE_MODEL_URL=1mPcGu62YPc4MdkT8FFiOCP629xsENHZf"
SET "MODEL_NEURAL_HAIRCUT_URL=1_9EOUXHayKiGH5nkrayncln3d6m1uV7f" SET "MATTE_MODEL_URL=1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW"
SET "SAM_MODEL_URL=https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth"
SET "DINO_MODEL_URL=https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth"
SET "OPENPOSE_MODEL_URL=1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV"
SET "HYPERIQA_MODEL_URL=1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE"
SET "MODEL_PIXIE_NAME=PIXIE模型数据" REM 定义文件路径
SET "MODEL_PIXIE_PATH=resource\NeuralHaircut\PIXIE\pixie_data.tar.gz" SET "NEURAL_HAIRCUT_FOLDER_PATH=resource\NeuralHaircut"
SET "MODEL_PIXIE_URL=1mPcGu62YPc4MdkT8FFiOCP629xsENHZf" SET "PIXIE_PATH=resource\NeuralHaircut\PIXIE\pixie_data.tar.gz"
SET "MATTE_PATH=resource\Matte-Anything\model.pth"
SET "MODEL_PIXIE_FACE_NAME=PIXIE Face模型" SET "SAM_PATH=resource\Matte-Anything\sam_vit_h_4b8939.pth"
SET "MODEL_PIXIE_FACE_PATH=resource\NeuralHaircut\PIXIE\pixie_data\pixie_data" SET "DINO_PATH=resource\Matte-Anything\groundingdino_swint_ogc.pth"
SET "MODEL_PIXIE_FACE_URL=https://github.com/yfeng95/PIXIE/raw/master/fetch_model.sh" SET "OPENPOSE_PATH=resource\openpose\models\pose\coco\pose_iter_584000.caffemodel"
SET "HYPERIQA_PATH=resource\hyperIQA\pretrained\hyperIQA.pth"
SET "MODEL_MATTE_NAME=Matte-Anything模型"
SET "MODEL_MATTE_PATH=resource\Matte-Anything\model.pth"
SET "MODEL_MATTE_URL=1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW"
SET "MODEL_SAM_NAME=SAM模型"
SET "MODEL_SAM_PATH=resource\Matte-Anything\sam_vit_h_4b8939.pth"
SET "MODEL_SAM_URL=https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth"
SET "MODEL_DINO_NAME=GroundingDINO模型"
SET "MODEL_DINO_PATH=resource\Matte-Anything\groundingdino_swint_ogc.pth"
SET "MODEL_DINO_URL=https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth"
SET "MODEL_OPENPOSE_NAME=OpenPose模型"
SET "MODEL_OPENPOSE_PATH=resource\openpose\models\pose\coco\pose_iter_584000.caffemodel"
SET "MODEL_OPENPOSE_URL=1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV"
SET "MODEL_HYPERIQA_NAME=hyperIQA模型"
SET "MODEL_HYPERIQA_PATH=resource\hyperIQA\pretrained\hyperIQA.pth"
SET "MODEL_HYPERIQA_URL=1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE"
REM 下载设置 REM 下载设置
SET "RETRY_COUNT=3" SET "RETRY_COUNT=3"
@ -113,6 +98,7 @@ REM 创建resource目录结构
mkdir resource 2>nul mkdir resource 2>nul
cd resource cd resource
mkdir NeuralHaircut\pretrained_models\diffusion_prior 2>nul mkdir NeuralHaircut\pretrained_models\diffusion_prior 2>nul
mkdir NeuralHaircut\pretrained_models\strand_prior 2>nul
mkdir NeuralHaircut\PIXIE 2>nul mkdir NeuralHaircut\PIXIE 2>nul
mkdir Matte-Anything 2>nul mkdir Matte-Anything 2>nul
mkdir openpose\models\pose\coco 2>nul mkdir openpose\models\pose\coco 2>nul
@ -121,32 +107,42 @@ mkdir hyperIQA\pretrained 2>nul
REM 验证已有文件 REM 验证已有文件
echo 正在检查已有资源文件... echo 正在检查已有资源文件...
SET MISSING_FILES=0 SET MISSING_FILES=0
SET /A TOTAL_FILES=6 SET /A TOTAL_FILES=8
SET /A EXISTING_FILES=0 SET /A EXISTING_FILES=0
SET MISSING_LIST= SET MISSING_LIST=
REM Neural Haircut 模型检查 REM Neural Haircut Diffusion Prior 检查
IF EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" ( IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\model.pt" (
echo [√] %MODEL_NEURAL_HAIRCUT_NAME%已存在 echo [√] Neural Haircut Diffusion Prior已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少%MODEL_NEURAL_HAIRCUT_NAME% echo [×] 缺少Neural Haircut Diffusion Prior
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!%MODEL_NEURAL_HAIRCUT_NAME%, SET MISSING_LIST=!MISSING_LIST!Neural Haircut Diffusion Prior,
)
REM Neural Haircut Strand Prior 检查
IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\model.pt" (
echo [√] Neural Haircut Strand Prior已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少Neural Haircut Strand Prior
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!Neural Haircut Strand Prior,
) )
REM PIXIE 模型检查 REM PIXIE 模型检查
IF EXIST "%MODEL_PIXIE_PATH%" ( IF EXIST "%PIXIE_PATH%" (
echo [√] %MODEL_PIXIE_NAME%已存在 echo [√] PIXIE模型已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少%MODEL_PIXIE_NAME% echo [×] 缺少PIXIE模型
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!%MODEL_PIXIE_NAME%, SET MISSING_LIST=!MISSING_LIST!PIXIE模型,
) )
REM SAM 模型检查 REM SAM 模型检查
IF EXIST "%MODEL_SAM_PATH%" ( IF EXIST "%SAM_PATH%" (
echo [√] %MODEL_SAM_NAME%已存在 echo [√] %MODEL_SAM_NAME%已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
@ -156,7 +152,7 @@ IF EXIST "%MODEL_SAM_PATH%" (
) )
REM GroundingDINO 模型检查 REM GroundingDINO 模型检查
IF EXIST "%MODEL_DINO_PATH%" ( IF EXIST "%DINO_PATH%" (
echo [√] %MODEL_DINO_NAME%已存在 echo [√] %MODEL_DINO_NAME%已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
@ -166,7 +162,7 @@ IF EXIST "%MODEL_DINO_PATH%" (
) )
REM OpenPose 模型检查 REM OpenPose 模型检查
IF EXIST "%MODEL_OPENPOSE_PATH%" ( IF EXIST "%OPENPOSE_PATH%" (
echo [√] %MODEL_OPENPOSE_NAME%已存在 echo [√] %MODEL_OPENPOSE_NAME%已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
@ -176,7 +172,7 @@ IF EXIST "%MODEL_OPENPOSE_PATH%" (
) )
REM hyperIQA 模型检查 REM hyperIQA 模型检查
IF EXIST "%MODEL_HYPERIQA_PATH%" ( IF EXIST "%HYPERIQA_PATH%" (
echo [√] %MODEL_HYPERIQA_NAME%已存在 echo [√] %MODEL_HYPERIQA_NAME%已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
@ -209,14 +205,8 @@ IF DEFINED HTTP_PROXY (
REM 下载 Neural Haircut 文件 REM 下载 Neural Haircut 文件
cd resource\NeuralHaircut cd resource\NeuralHaircut
IF EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" ( echo 正在下载Neural Haircut预训练文件夹...
echo 跳过%MODEL_NEURAL_HAIRCUT_NAME%下载... python -m gdown --folder "%NEURAL_HAIRCUT_FOLDER_URL%"
) ELSE (
echo 正在下载%MODEL_NEURAL_HAIRCUT_NAME%...
cd pretrained_models\diffusion_prior
python -m gdown "%MODEL_NEURAL_HAIRCUT_URL%"
cd ..\..
)
REM 下载 PIXIE 文件 REM 下载 PIXIE 文件
cd NeuralHaircut\PIXIE cd NeuralHaircut\PIXIE
@ -224,65 +214,27 @@ IF EXIST "pixie_data.tar" (
echo PIXIE模型已存在跳过下载... echo PIXIE模型已存在跳过下载...
) ELSE ( ) ELSE (
echo 正在下载PIXIE模型... echo 正在下载PIXIE模型...
python -m gdown "%MODEL_PIXIE_URL%" python -m gdown "%PIXIE_MODEL_URL%"
echo 正在下载PIXIE Face模型... tar -xvzf pixie_data.tar.gz ./
curl -L "%MODEL_PIXIE_FACE_URL%" -o fetch_model.sh del pixie_data.tar.gz
bash fetch_model.sh
) )
REM 下载 Matte-Anything 文件 REM 下载 Matte-Anything 文件
cd ..\..\Matte-Anything cd ..\..\Matte-Anything
echo 正在下载Matte-Anything文件... echo 正在下载Matte-Anything文件...
IF EXIST "%MODEL_SAM_PATH%" ( curl %CURL_OPTS% -o "%SAM_PATH%" "%SAM_MODEL_URL%"
echo %MODEL_SAM_NAME%已存在,跳过下载... curl -L --retry 5 -C - -o "%DINO_PATH%" "%DINO_MODEL_URL%"
) ELSE ( python -m gdown "%MATTE_MODEL_URL%" -O model.pth
echo 正在下载%MODEL_SAM_NAME%...
curl %CURL_OPTS% -o "%MODEL_SAM_PATH%" "%MODEL_SAM_URL%"
IF %ERRORLEVEL% NEQ 0 (
echo 错误:下载%MODEL_SAM_NAME%失败
exit /b 1
)
)
IF EXIST "%MODEL_DINO_PATH%" (
echo %MODEL_DINO_NAME%已存在,跳过下载...
) ELSE (
echo 正在下载%MODEL_DINO_NAME%...
curl -L --retry 5 -C - -o "%MODEL_DINO_PATH%" "%MODEL_DINO_URL%"
)
IF EXIST "%MODEL_MATTE_PATH%" (
echo %MODEL_MATTE_NAME%已存在,跳过下载...
) ELSE (
echo 正在下载%MODEL_MATTE_NAME%...
python -m gdown "%MODEL_MATTE_URL%" -O model.pth
)
REM 下载 OpenPose 模型 REM 下载 OpenPose 模型
cd ..\openpose\models\pose\coco cd ..\openpose
echo 正在下载OpenPose模型... python -m gdown "%OPENPOSE_MODEL_URL%" -O models.tar.gz
IF EXIST "%MODEL_OPENPOSE_PATH%" ( tar -xvzf models.tar.gz
echo %MODEL_OPENPOSE_NAME%已存在,跳过下载...
) ELSE (
echo 正在下载OpenPose模型...
python -m gdown "%MODEL_OPENPOSE_URL%" -O models.tar.gz
IF NOT EXIST models.tar.gz (
echo 错误下载models.tar.gz失败
exit /b 1
)
7z x models.tar.gz -y
7z x models.tar -y -omodels
del models.tar.gz del models.tar.gz
del models.tar
)
REM 下载 hyperIQA 模型 REM 下载 hyperIQA 模型
cd ..\..\..\..\..\hyperIQA\pretrained cd ..\hyperIQA\pretrained
echo 正在下载hyperIQA模型... python -m gdown "%HYPERIQA_MODEL_URL%"
IF EXIST "%MODEL_HYPERIQA_PATH%" (
echo %MODEL_HYPERIQA_NAME%已存在,跳过下载...
) ELSE (
echo 正在下载%MODEL_HYPERIQA_NAME%...
python -m gdown "%MODEL_HYPERIQA_URL%"
)
cd ..\..\.. cd ..\..\..
echo. echo.
@ -304,18 +256,25 @@ echo 正在验证下载文件...
cd %PROJECT_DIR% cd %PROJECT_DIR%
SET VERIFY_FAILED=0 SET VERIFY_FAILED=0
IF NOT EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" ( IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\model.pt" (
echo [×] 缺少%MODEL_NEURAL_HAIRCUT_NAME% echo [×] 缺少Neural Haircut Diffusion Prior
SET /A VERIFY_FAILED+=1 SET /A VERIFY_FAILED+=1
) ELSE ( ) ELSE (
echo [√] %MODEL_NEURAL_HAIRCUT_NAME%验证成功 echo [√] Neural Haircut Diffusion Prior验证成功
) )
IF NOT EXIST "%MODEL_PIXIE_PATH%" echo 警告:缺少%MODEL_PIXIE_NAME% IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\model.pt" (
IF NOT EXIST "%MODEL_SAM_PATH%" echo 警告:缺少%MODEL_SAM_NAME% echo [×] 缺少Neural Haircut Strand Prior
IF NOT EXIST "%MODEL_DINO_PATH%" echo 警告:缺少%MODEL_DINO_NAME% SET /A VERIFY_FAILED+=1
IF NOT EXIST "%MODEL_OPENPOSE_PATH%" echo 警告:缺少%MODEL_OPENPOSE_NAME% ) ELSE (
IF NOT EXIST "%MODEL_HYPERIQA_PATH%" echo 警告:缺少%MODEL_HYPERIQA_NAME% echo [√] Neural Haircut Strand Prior验证成功
)
IF NOT EXIST "%PIXIE_PATH%" echo 警告缺少PIXIE模型
IF NOT EXIST "%SAM_PATH%" echo 警告缺少SAM模型
IF NOT EXIST "%DINO_PATH%" echo 警告缺少GroundingDINO模型
IF NOT EXIST "%OPENPOSE_PATH%" echo 警告缺少OpenPose模型
IF NOT EXIST "%HYPERIQA_PATH%" echo 警告缺少hyperIQA模型
IF %VERIFY_FAILED% GTR 0 ( IF %VERIFY_FAILED% GTR 0 (
echo. echo.

View File

@ -153,7 +153,9 @@ IF NOT EXIST "%PROJECT_DIR%\resource" (
echo resource/ echo resource/
echo ├── NeuralHaircut/ echo ├── NeuralHaircut/
echo │ ├── pretrained_models/ echo │ ├── pretrained_models/
echo │ │ └── diffusion_prior/ echo │ │ ├── diffusion_prior/
echo │ │ │ └── model.pt
echo │ │ └── strand_prior/
echo │ │ └── model.pt echo │ │ └── model.pt
echo │ └── PIXIE/ echo │ └── PIXIE/
echo │ └── pixie_data/ echo │ └── pixie_data/
@ -176,20 +178,18 @@ REM 复制模型文件到对应位置
echo 正在复制模型文件... echo 正在复制模型文件...
REM 创建必要的目录 REM 创建必要的目录
mkdir "%PROJECT_DIR%\ext\NeuralHaircut\pretrained_models\diffusion_prior" 2>nul mkdir "%PROJECT_DIR%\ext\NeuralHaircut" 2>nul
mkdir "%PROJECT_DIR%\ext\PIXIE" 2>nul mkdir "%PROJECT_DIR%\ext\PIXIE" 2>nul
mkdir "%PROJECT_DIR%\ext\Matte-Anything\pretrained" 2>nul mkdir "%PROJECT_DIR%\ext\Matte-Anything\pretrained" 2>nul
mkdir "%PROJECT_DIR%\ext\openpose\models\pose\coco" 2>nul mkdir "%PROJECT_DIR%\ext\openpose\models\pose\coco" 2>nul
mkdir "%PROJECT_DIR%\ext\hyperIQA\pretrained" 2>nul mkdir "%PROJECT_DIR%\ext\hyperIQA\pretrained" 2>nul
REM Neural Haircut REM Neural Haircut
xcopy /Y "%PROJECT_DIR%\resource\NeuralHaircut\pretrained_models\diffusion_prior\model.pt" "%PROJECT_DIR%\ext\NeuralHaircut\pretrained_models\diffusion_prior\" xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\*" "%PROJECT_DIR%\ext\NeuralHaircut\"
REM PIXIE REM PIXIE
cd "%PROJECT_DIR%\ext\PIXIE" cd "%PROJECT_DIR%\ext\PIXIE"
7z x "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\pixie_data.tar.gz" -y xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\*" .
7z x pixie_data.tar -y
del pixie_data.tar
REM Matte-Anything REM Matte-Anything
xcopy /Y "%PROJECT_DIR%\resource\Matte-Anything\sam_vit_h_4b8939.pth" "%PROJECT_DIR%\ext\Matte-Anything\pretrained\" xcopy /Y "%PROJECT_DIR%\resource\Matte-Anything\sam_vit_h_4b8939.pth" "%PROJECT_DIR%\ext\Matte-Anything\pretrained\"