From 15438b139f434885760e7d9656d5cdb39a1f94f7 Mon Sep 17 00:00:00 2001 From: Jeffreytsai1004 Date: Sun, 16 Feb 2025 16:51:05 +0800 Subject: [PATCH] Update --- download_resource.bat | 179 ++++++++++++++++-------------------------- install.bat | 12 +-- 2 files changed, 75 insertions(+), 116 deletions(-) diff --git a/download_resource.bat b/download_resource.bat index a499162..a93fff5 100644 --- a/download_resource.bat +++ b/download_resource.bat @@ -14,37 +14,22 @@ IF EXIST "openpose" rmdir /s /q "openpose" IF EXIST "hyperIQA" rmdir /s /q "hyperIQA" REM 定义模型信息 -SET "MODEL_NEURAL_HAIRCUT_NAME=Neural Haircut模型" -SET "MODEL_NEURAL_HAIRCUT_PATH=resource\NeuralHaircut\pretrained_models\diffusion_prior\model.pt" -SET "MODEL_NEURAL_HAIRCUT_URL=1_9EOUXHayKiGH5nkrayncln3d6m1uV7f" +SET "NEURAL_HAIRCUT_FOLDER_URL=1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8" +SET "PIXIE_MODEL_URL=1mPcGu62YPc4MdkT8FFiOCP629xsENHZf" +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模型数据" -SET "MODEL_PIXIE_PATH=resource\NeuralHaircut\PIXIE\pixie_data.tar.gz" -SET "MODEL_PIXIE_URL=1mPcGu62YPc4MdkT8FFiOCP629xsENHZf" - -SET "MODEL_PIXIE_FACE_NAME=PIXIE Face模型" -SET "MODEL_PIXIE_FACE_PATH=resource\NeuralHaircut\PIXIE\pixie_data\pixie_data" -SET "MODEL_PIXIE_FACE_URL=https://github.com/yfeng95/PIXIE/raw/master/fetch_model.sh" - -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 定义文件路径 +SET "NEURAL_HAIRCUT_FOLDER_PATH=resource\NeuralHaircut" +SET "PIXIE_PATH=resource\NeuralHaircut\PIXIE\pixie_data.tar.gz" +SET "MATTE_PATH=resource\Matte-Anything\model.pth" +SET "SAM_PATH=resource\Matte-Anything\sam_vit_h_4b8939.pth" +SET "DINO_PATH=resource\Matte-Anything\groundingdino_swint_ogc.pth" +SET "OPENPOSE_PATH=resource\openpose\models\pose\coco\pose_iter_584000.caffemodel" +SET "HYPERIQA_PATH=resource\hyperIQA\pretrained\hyperIQA.pth" REM 下载设置 SET "RETRY_COUNT=3" @@ -113,6 +98,7 @@ REM 创建resource目录结构 mkdir resource 2>nul cd resource mkdir NeuralHaircut\pretrained_models\diffusion_prior 2>nul +mkdir NeuralHaircut\pretrained_models\strand_prior 2>nul mkdir NeuralHaircut\PIXIE 2>nul mkdir Matte-Anything 2>nul mkdir openpose\models\pose\coco 2>nul @@ -121,32 +107,42 @@ mkdir hyperIQA\pretrained 2>nul REM 验证已有文件 echo 正在检查已有资源文件... SET MISSING_FILES=0 -SET /A TOTAL_FILES=6 +SET /A TOTAL_FILES=8 SET /A EXISTING_FILES=0 SET MISSING_LIST= -REM Neural Haircut 模型检查 -IF EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" ( - echo [√] %MODEL_NEURAL_HAIRCUT_NAME%已存在 +REM Neural Haircut Diffusion Prior 检查 +IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\model.pt" ( + echo [√] Neural Haircut Diffusion Prior已存在 SET /A EXISTING_FILES+=1 ) ELSE ( - echo [×] 缺少%MODEL_NEURAL_HAIRCUT_NAME% + echo [×] 缺少Neural Haircut Diffusion Prior 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 模型检查 -IF EXIST "%MODEL_PIXIE_PATH%" ( - echo [√] %MODEL_PIXIE_NAME%已存在 +IF EXIST "%PIXIE_PATH%" ( + echo [√] PIXIE模型已存在 SET /A EXISTING_FILES+=1 ) ELSE ( - echo [×] 缺少%MODEL_PIXIE_NAME% + echo [×] 缺少PIXIE模型 SET /A MISSING_FILES+=1 - SET MISSING_LIST=!MISSING_LIST!%MODEL_PIXIE_NAME%, + SET MISSING_LIST=!MISSING_LIST!PIXIE模型, ) REM SAM 模型检查 -IF EXIST "%MODEL_SAM_PATH%" ( +IF EXIST "%SAM_PATH%" ( echo [√] %MODEL_SAM_NAME%已存在 SET /A EXISTING_FILES+=1 ) ELSE ( @@ -156,7 +152,7 @@ IF EXIST "%MODEL_SAM_PATH%" ( ) REM GroundingDINO 模型检查 -IF EXIST "%MODEL_DINO_PATH%" ( +IF EXIST "%DINO_PATH%" ( echo [√] %MODEL_DINO_NAME%已存在 SET /A EXISTING_FILES+=1 ) ELSE ( @@ -166,7 +162,7 @@ IF EXIST "%MODEL_DINO_PATH%" ( ) REM OpenPose 模型检查 -IF EXIST "%MODEL_OPENPOSE_PATH%" ( +IF EXIST "%OPENPOSE_PATH%" ( echo [√] %MODEL_OPENPOSE_NAME%已存在 SET /A EXISTING_FILES+=1 ) ELSE ( @@ -176,7 +172,7 @@ IF EXIST "%MODEL_OPENPOSE_PATH%" ( ) REM hyperIQA 模型检查 -IF EXIST "%MODEL_HYPERIQA_PATH%" ( +IF EXIST "%HYPERIQA_PATH%" ( echo [√] %MODEL_HYPERIQA_NAME%已存在 SET /A EXISTING_FILES+=1 ) ELSE ( @@ -209,14 +205,8 @@ IF DEFINED HTTP_PROXY ( REM 下载 Neural Haircut 文件 cd resource\NeuralHaircut -IF EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" ( - echo 跳过%MODEL_NEURAL_HAIRCUT_NAME%下载... -) ELSE ( - echo 正在下载%MODEL_NEURAL_HAIRCUT_NAME%... - cd pretrained_models\diffusion_prior - python -m gdown "%MODEL_NEURAL_HAIRCUT_URL%" - cd ..\.. -) +echo 正在下载Neural Haircut预训练文件夹... +python -m gdown --folder "%NEURAL_HAIRCUT_FOLDER_URL%" REM 下载 PIXIE 文件 cd NeuralHaircut\PIXIE @@ -224,65 +214,27 @@ IF EXIST "pixie_data.tar" ( echo PIXIE模型已存在,跳过下载... ) ELSE ( echo 正在下载PIXIE模型... - python -m gdown "%MODEL_PIXIE_URL%" - echo 正在下载PIXIE Face模型... - curl -L "%MODEL_PIXIE_FACE_URL%" -o fetch_model.sh - bash fetch_model.sh + python -m gdown "%PIXIE_MODEL_URL%" + tar -xvzf pixie_data.tar.gz ./ + del pixie_data.tar.gz ) REM 下载 Matte-Anything 文件 cd ..\..\Matte-Anything echo 正在下载Matte-Anything文件... -IF EXIST "%MODEL_SAM_PATH%" ( - echo %MODEL_SAM_NAME%已存在,跳过下载... -) ELSE ( - 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 -) +curl %CURL_OPTS% -o "%SAM_PATH%" "%SAM_MODEL_URL%" +curl -L --retry 5 -C - -o "%DINO_PATH%" "%DINO_MODEL_URL%" +python -m gdown "%MATTE_MODEL_URL%" -O model.pth REM 下载 OpenPose 模型 -cd ..\openpose\models\pose\coco -echo 正在下载OpenPose模型... -IF EXIST "%MODEL_OPENPOSE_PATH%" ( - 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 -) +cd ..\openpose +python -m gdown "%OPENPOSE_MODEL_URL%" -O models.tar.gz +tar -xvzf models.tar.gz +del models.tar.gz REM 下载 hyperIQA 模型 -cd ..\..\..\..\..\hyperIQA\pretrained -echo 正在下载hyperIQA模型... -IF EXIST "%MODEL_HYPERIQA_PATH%" ( - echo %MODEL_HYPERIQA_NAME%已存在,跳过下载... -) ELSE ( - echo 正在下载%MODEL_HYPERIQA_NAME%... - python -m gdown "%MODEL_HYPERIQA_URL%" -) +cd ..\hyperIQA\pretrained +python -m gdown "%HYPERIQA_MODEL_URL%" cd ..\..\.. echo. @@ -304,18 +256,25 @@ echo 正在验证下载文件... cd %PROJECT_DIR% SET VERIFY_FAILED=0 -IF NOT EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" ( - echo [×] 缺少%MODEL_NEURAL_HAIRCUT_NAME% +IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\model.pt" ( + echo [×] 缺少Neural Haircut Diffusion Prior SET /A VERIFY_FAILED+=1 ) ELSE ( - echo [√] %MODEL_NEURAL_HAIRCUT_NAME%验证成功 + echo [√] Neural Haircut Diffusion Prior验证成功 ) -IF NOT EXIST "%MODEL_PIXIE_PATH%" echo 警告:缺少%MODEL_PIXIE_NAME% -IF NOT EXIST "%MODEL_SAM_PATH%" echo 警告:缺少%MODEL_SAM_NAME% -IF NOT EXIST "%MODEL_DINO_PATH%" echo 警告:缺少%MODEL_DINO_NAME% -IF NOT EXIST "%MODEL_OPENPOSE_PATH%" echo 警告:缺少%MODEL_OPENPOSE_NAME% -IF NOT EXIST "%MODEL_HYPERIQA_PATH%" echo 警告:缺少%MODEL_HYPERIQA_NAME% +IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\model.pt" ( + echo [×] 缺少Neural Haircut Strand Prior + SET /A VERIFY_FAILED+=1 +) ELSE ( + 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 ( echo. diff --git a/install.bat b/install.bat index f18d788..2f16f88 100644 --- a/install.bat +++ b/install.bat @@ -153,7 +153,9 @@ IF NOT EXIST "%PROJECT_DIR%\resource" ( echo resource/ echo ├── NeuralHaircut/ echo │ ├── pretrained_models/ - echo │ │ └── diffusion_prior/ + echo │ │ ├── diffusion_prior/ + echo │ │ │ └── model.pt + echo │ │ └── strand_prior/ echo │ │ └── model.pt echo │ └── PIXIE/ echo │ └── pixie_data/ @@ -176,20 +178,18 @@ REM 复制模型文件到对应位置 echo 正在复制模型文件... 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\Matte-Anything\pretrained" 2>nul mkdir "%PROJECT_DIR%\ext\openpose\models\pose\coco" 2>nul mkdir "%PROJECT_DIR%\ext\hyperIQA\pretrained" 2>nul 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 cd "%PROJECT_DIR%\ext\PIXIE" -7z x "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\pixie_data.tar.gz" -y -7z x pixie_data.tar -y -del pixie_data.tar +xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\*" . REM Matte-Anything xcopy /Y "%PROJECT_DIR%\resource\Matte-Anything\sam_vit_h_4b8939.pth" "%PROJECT_DIR%\ext\Matte-Anything\pretrained\"