diff --git a/download_resource.bat b/download_resource.bat index 5a8a02f..55059a6 100644 --- a/download_resource.bat +++ b/download_resource.bat @@ -7,35 +7,7 @@ IF EXIST "resource" ( rmdir /s /q "resource" ) -REM 清理错误路径的资源 -IF EXIST "NeuralHaircut" rmdir /s /q "NeuralHaircut" -IF EXIST "Matte-Anything" rmdir /s /q "Matte-Anything" -IF EXIST "openpose" rmdir /s /q "openpose" -IF EXIST "hyperIQA" rmdir /s /q "hyperIQA" -REM 定义模型信息 -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" - -REM 定义文件路径 -SET "NEURAL_HAIRCUT_FOLDER_PATH=resource\NeuralHaircut" -SET "PIXIE_PATH=resource\NeuralHaircut\PIXIE\pixie_data\pixie_data" -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" -SET "TIMEOUT_SECONDS=600" -SET "CURL_OPTS=--connect-timeout 30 --max-time %TIMEOUT_SECONDS% --retry %RETRY_COUNT% -L -C -" -SET "MIN_FILE_SIZE=1000000" REM 设置当前目录 SET PROJECT_DIR=%~dp0 @@ -94,238 +66,69 @@ IF %ERRORLEVEL% NEQ 0 ( echo gdown安装成功! echo. -REM 创建resource目录结构 -mkdir resource 2>nul -cd resource -mkdir NeuralHaircut 2>nul -mkdir Matte-Anything 2>nul -mkdir openpose 2>nul -mkdir hyperIQA 2>nul - -REM 验证已有文件 -echo 正在检查已有资源文件... -SET MISSING_FILES=0 -SET /A TOTAL_FILES=7 -SET /A EXISTING_FILES=0 -SET MISSING_LIST= - -REM Neural Haircut Diffusion Prior 检查 -IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\dif_ckpt.pt" ( - echo [√] Neural Haircut Diffusion Prior已存在 - SET /A EXISTING_FILES+=1 -) ELSE ( - echo [×] 缺少Neural Haircut Diffusion Prior - SET /A MISSING_FILES+=1 - SET MISSING_LIST=!MISSING_LIST!Neural Haircut Diffusion Prior, -) - -REM Neural Haircut Strand Prior 检查 -IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\strand_ckpt.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 "%PIXIE_PATH%" ( - echo [√] PIXIE模型已存在 - SET /A EXISTING_FILES+=1 -) ELSE ( - echo [×] 缺少PIXIE模型 - SET /A MISSING_FILES+=1 - SET MISSING_LIST=!MISSING_LIST!PIXIE模型, -) - -REM SAM 模型检查 -IF EXIST "%SAM_PATH%" ( - echo [√] SAM模型已存在 - SET /A EXISTING_FILES+=1 -) ELSE ( - echo [×] 缺少SAM模型 - SET /A MISSING_FILES+=1 - SET MISSING_LIST=!MISSING_LIST!SAM模型, -) - -REM GroundingDINO 模型检查 -IF EXIST "%DINO_PATH%" ( - echo [√] GroundingDINO模型已存在 - SET /A EXISTING_FILES+=1 -) ELSE ( - echo [×] 缺少GroundingDINO模型 - SET /A MISSING_FILES+=1 - SET MISSING_LIST=!MISSING_LIST!GroundingDINO模型, -) - -REM OpenPose 模型检查 -IF EXIST "%OPENPOSE_PATH%" ( - echo [√] OpenPose模型已存在 - SET /A EXISTING_FILES+=1 -) ELSE ( - echo [×] 缺少OpenPose模型 - SET /A MISSING_FILES+=1 - SET MISSING_LIST=!MISSING_LIST!OpenPose模型, -) - -REM hyperIQA 模型检查 -IF EXIST "%HYPERIQA_PATH%" ( - echo [√] hyperIQA模型已存在 - SET /A EXISTING_FILES+=1 -) ELSE ( - echo [×] 缺少hyperIQA模型 - SET /A MISSING_FILES+=1 - SET MISSING_LIST=!MISSING_LIST!hyperIQA模型, -) - -echo. -echo 已存在 %EXISTING_FILES%/%TOTAL_FILES% 个模型文件 -IF %MISSING_FILES% GTR 0 ( - echo 需要下载 %MISSING_FILES% 个模型文件 - echo 缺少的模型: !MISSING_LIST:~0,-2! - echo. - echo ************************************************************ - echo * 开始下载所需资源文件 * - echo * 下载时间取决于您的网络连接速度 * - echo * 请耐心等待... * - echo ************************************************************ -) ELSE ( - echo 所有模型文件已存在,无需下载 - exit /b 0 -) - -REM 设置代理选项(可选) -IF DEFINED HTTP_PROXY ( - SET CURL_OPTS=%CURL_OPTS% --proxy %HTTP_PROXY% - SET REQUESTS_CA_BUNDLE=%PROJECT_DIR%\certs\cacert.pem -) - -REM 下载 Neural Haircut 文件 -cd resource\NeuralHaircut -echo 正在下载Neural Haircut预训练文件夹... -mkdir pretrained_models 2>nul -mkdir pretrained_models\diffusion_prior 2>nul -mkdir pretrained_models\strand_prior 2>nul - -REM 下载 diffusion_prior 模型 -cd pretrained_models\diffusion_prior -echo 正在下载Neural Haircut Diffusion Prior模型... -python -m gdown "1OBR0Vzb_w5SNc1jmoScA6L8SqVniJGOr" -O dif_ckpt.pt -cd .. - -REM 下载 strand_prior 模型 -cd strand_prior -echo 正在下载Neural Haircut Strand Prior模型... -python -m gdown "1DESwUb-nsmi38VCDvnBwpd9kjcWONNT6" -O strand_ckpt.pt -cd ..\.. - -REM 下载 PIXIE 文件 -mkdir PIXIE 2>nul -cd PIXIE -IF EXIST "pixie_data.tar" ( - echo PIXIE模型已存在,跳过下载... -) ELSE ( - echo 正在下载PIXIE模型... - 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文件... -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 -python -m gdown "%OPENPOSE_MODEL_URL%" -O models.tar.gz -tar -xvzf models.tar.gz -del models.tar.gz - -REM 下载 hyperIQA 模型 -cd ..\hyperIQA -mkdir pretrained 2>nul -cd pretrained -python -m gdown "%HYPERIQA_MODEL_URL%" - -cd ..\..\.. -echo. -IF %ERRORLEVEL% EQU 0 ( - echo ************************************************************ - echo * 下载任务已完成 * - echo * 所有资源文件已下载到resource目录 * - echo ************************************************************ -) ELSE ( - echo ************************************************************ - echo * 下载任务未完成 * - echo * 请检查以上错误信息 * - echo ************************************************************ +REM 检查resource目录是否存在 +if not exist %PROJECT_DIR%/resource ( + echo 错误:resource目录不存在 + echo 请检查目录是否存在 exit /b 1 ) -REM 验证下载的文件完整性 -echo 正在验证下载文件... +REM 批量创建resource目录结构 +echo 正在创建resource目录结构... +mkdir %PROJECT_DIR%/resource/NeuralHaircut/ +mkdir %PROJECT_DIR%/resource/NeuralHaircut/PIXIE/ +mkdir %PROJECT_DIR%/resource/hyperIQA/pretrained/ +mkdir %PROJECT_DIR%/resource/Matte-Anything/pretrained/ +mkdir %PROJECT_DIR%/resource/openpose + +REM Download Neural Haircut files +echo 正在下载Neural Haircut文件... +mkdir %PROJECT_DIR%/resource/NeuralHaircut/ +python -m gdown --folder https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8 +cd %PROJECT_DIR%/resource/NeuralHaircut/pretrained_models/diffusion_prior +echo 正在下载Neural Haircut扩散先验模型文件... +python -m gdown 1_9EOUXHayKiGH5nkrayncln3d6m1uV7f +cd %PROJECT_DIR%/resource/NeuralHaircut/PIXIE +echo 正在下载Neural HaircutPIXIE模型文件... +python -m gdown 1mPcGu62YPc4MdkT8FFiOCP629xsENHZf && tar -xvzf pixie_data.tar.gz ./ && rm pixie_data.tar.gz +cd %PROJECT_DIR%/resource/hyperIQA/pretrained +echo 正在下载hyperIQA模型文件... +python -m gdown 1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE cd %PROJECT_DIR% -SET VERIFY_FAILED=0 -IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\dif_ckpt.pt" ( - echo [×] 缺少Neural Haircut Diffusion Prior - SET /A VERIFY_FAILED+=1 -) ELSE ( - echo [√] Neural Haircut Diffusion Prior验证成功 -) +REM Download Matte-Anything files +mkdir %PROJECT_DIR%/resource/Matte-Anything/pretrained +cd %PROJECT_DIR%/resource/Matte-Anything/pretrained +echo 正在下载Matte-Anything扩散先验模型文件... +wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth +echo 正在下载Matte-AnythingGroundingDINO模型文件... +wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth +echo 正在下载Matte-Anything模型文件... +python -m gdown 1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW + +# Download OpenPose files +cd %PROJECT_DIR%/resource/openpose +echo 正在下载OpenPose模型文件... +python -m gdown 1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV && tar -xvzf models.tar.gz && rm models.tar.gz + + + + + + + + + + + + + + + -IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\strand_ckpt.pt" ( - echo [×] 缺少Neural Haircut Strand Prior - SET /A VERIFY_FAILED+=1 -) ELSE ( - echo [√] Neural Haircut Strand Prior验证成功 -) -IF NOT EXIST "%PIXIE_PATH%" ( - echo [×] 缺少PIXIE模型 - SET /A VERIFY_FAILED+=1 -) ELSE ( - echo [√] PIXIE模型验证成功 -) -IF NOT EXIST "%SAM_PATH%" ( - echo [×] 缺少SAM模型 - SET /A VERIFY_FAILED+=1 -) ELSE ( - echo [√] SAM模型验证成功 -) -IF NOT EXIST "%DINO_PATH%" ( - echo [×] 缺少GroundingDINO模型 - SET /A VERIFY_FAILED+=1 -) ELSE ( - echo [√] GroundingDINO模型验证成功 -) -IF NOT EXIST "%OPENPOSE_PATH%" ( - echo [×] 缺少OpenPose模型 - SET /A VERIFY_FAILED+=1 -) ELSE ( - echo [√] OpenPose模型验证成功 -) -IF NOT EXIST "%HYPERIQA_PATH%" ( - echo [×] 缺少hyperIQA模型 - SET /A VERIFY_FAILED+=1 -) ELSE ( - echo [√] hyperIQA模型验证成功 -) -IF %VERIFY_FAILED% GTR 0 ( - echo. - echo 文件完整性验证失败:%VERIFY_FAILED% 个文件缺失或不完整 - echo 请重新运行脚本下载缺失文件 - exit /b 1 -) ELSE ( - echo. - echo 文件完整性验证成功! -)