This commit is contained in:
Jeffreytsai1004 2025-02-16 15:10:20 +08:00
parent 94e9843c08
commit 90318d973c
2 changed files with 152 additions and 121 deletions

View File

@ -1,6 +1,53 @@
@echo off @echo off
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
REM 清理旧的资源目录
IF EXIST "resource" (
echo 清理旧的资源目录...
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 "MODEL_NEURAL_HAIRCUT_NAME=Neural Haircut模型"
SET "MODEL_NEURAL_HAIRCUT_PATH=resource\NeuralHaircut\diffusion_prior\model.pt"
SET "MODEL_NEURAL_HAIRCUT_URL=1_9EOUXHayKiGH5nkrayncln3d6m1uV7f"
SET "MODEL_PIXIE_NAME=PIXIE模型数据"
SET "MODEL_PIXIE_PATH=resource\NeuralHaircut\PIXIE\pixie_data"
SET "MODEL_PIXIE_URL=1mPcGu62YPc4MdkT8FFiOCP629xsENHZf"
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_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 "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 设置当前目录 REM 设置当前目录
SET PROJECT_DIR=%~dp0 SET PROJECT_DIR=%~dp0
cd %PROJECT_DIR% cd %PROJECT_DIR%
@ -64,7 +111,7 @@ cd resource
mkdir NeuralHaircut\diffusion_prior 2>nul mkdir NeuralHaircut\diffusion_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 2>nul mkdir openpose\models\pose\coco 2>nul
mkdir hyperIQA\pretrained 2>nul mkdir hyperIQA\pretrained 2>nul
REM 验证已有文件 REM 验证已有文件
@ -75,69 +122,63 @@ SET /A EXISTING_FILES=0
SET MISSING_LIST= SET MISSING_LIST=
REM Neural Haircut 模型检查 REM Neural Haircut 模型检查
SET MODEL_PATH=NeuralHaircut\diffusion_prior\model.pt IF EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" (
IF EXIST "%MODEL_PATH%" ( echo [√] %MODEL_NEURAL_HAIRCUT_NAME%已存在
echo [√] Neural Haircut模型已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少Neural Haircut模型 echo [×] 缺少%MODEL_NEURAL_HAIRCUT_NAME%
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!Neural Haircut模型, SET MISSING_LIST=!MISSING_LIST!%MODEL_NEURAL_HAIRCUT_NAME%,
) )
REM PIXIE 模型检查 REM PIXIE 模型检查
SET MODEL_PATH=NeuralHaircut\PIXIE\pixie_data\data IF EXIST "%MODEL_PIXIE_PATH%" (
IF EXIST "%MODEL_PATH%" ( echo [√] %MODEL_PIXIE_NAME%已存在
echo [√] PIXIE模型数据已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少PIXIE模型数据 echo [×] 缺少%MODEL_PIXIE_NAME%
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!PIXIE模型数据, SET MISSING_LIST=!MISSING_LIST!%MODEL_PIXIE_NAME%,
) )
REM SAM 模型检查 REM SAM 模型检查
SET MODEL_PATH=Matte-Anything\sam_vit_h_4b8939.pth IF EXIST "%MODEL_SAM_PATH%" (
IF EXIST "%MODEL_PATH%" ( echo [√] %MODEL_SAM_NAME%已存在
echo [√] SAM模型已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少SAM模型 echo [×] 缺少%MODEL_SAM_NAME%
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!SAM模型, SET MISSING_LIST=!MISSING_LIST!%MODEL_SAM_NAME%,
) )
REM GroundingDINO 模型检查 REM GroundingDINO 模型检查
SET MODEL_PATH=Matte-Anything\groundingdino_swint_ogc.pth IF EXIST "%MODEL_DINO_PATH%" (
IF EXIST "%MODEL_PATH%" ( echo [√] %MODEL_DINO_NAME%已存在
echo [√] GroundingDINO模型已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少GroundingDINO模型 echo [×] 缺少%MODEL_DINO_NAME%
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!GroundingDINO模型, SET MISSING_LIST=!MISSING_LIST!%MODEL_DINO_NAME%,
) )
REM OpenPose 模型检查 REM OpenPose 模型检查
SET MODEL_PATH=openpose\models\pose\coco\pose_iter_584000.caffemodel IF EXIST "%MODEL_OPENPOSE_PATH%" (
IF EXIST "%MODEL_PATH%" ( echo [√] %MODEL_OPENPOSE_NAME%已存在
echo [√] OpenPose模型已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少OpenPose模型 echo [×] 缺少%MODEL_OPENPOSE_NAME%
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!OpenPose模型, SET MISSING_LIST=!MISSING_LIST!%MODEL_OPENPOSE_NAME%,
) )
REM hyperIQA 模型检查 REM hyperIQA 模型检查
SET MODEL_PATH=hyperIQA\pretrained\hyperIQA.pth IF EXIST "%MODEL_HYPERIQA_PATH%" (
IF EXIST "%MODEL_PATH%" ( echo [√] %MODEL_HYPERIQA_NAME%已存在
echo [√] hyperIQA模型已存在
SET /A EXISTING_FILES+=1 SET /A EXISTING_FILES+=1
) ELSE ( ) ELSE (
echo [×] 缺少hyperIQA模型 echo [×] 缺少%MODEL_HYPERIQA_NAME%
SET /A MISSING_FILES+=1 SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!hyperIQA模型, SET MISSING_LIST=!MISSING_LIST!%MODEL_HYPERIQA_NAME%,
) )
echo. echo.
@ -156,43 +197,29 @@ IF %MISSING_FILES% GTR 0 (
exit /b 0 exit /b 0
) )
REM 设置下载重试次数和超时时间
SET RETRY_COUNT=3
SET TIMEOUT_SECONDS=600
SET CURL_OPTS=--connect-timeout 30 --max-time %TIMEOUT_SECONDS% --retry %RETRY_COUNT% -L -C -
REM 设置代理选项(可选) REM 设置代理选项(可选)
IF DEFINED HTTP_PROXY ( IF DEFINED HTTP_PROXY (
SET CURL_OPTS=%CURL_OPTS% --proxy %HTTP_PROXY% SET CURL_OPTS=%CURL_OPTS% --proxy %HTTP_PROXY%
SET REQUESTS_CA_BUNDLE=%PROJECT_DIR%\certs\cacert.pem SET REQUESTS_CA_BUNDLE=%PROJECT_DIR%\certs\cacert.pem
) )
REM 添加文件大小检查
SET MIN_FILE_SIZE=1000000 REM 1MB
REM 下载 Neural Haircut 文件 REM 下载 Neural Haircut 文件
cd NeuralHaircut cd resource\NeuralHaircut
IF EXIST "diffusion_prior\model.pt" ( IF EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" (
echo 跳过Neural Haircut模型下载... echo 跳过%MODEL_NEURAL_HAIRCUT_NAME%下载...
) ELSE ( ) ELSE (
echo 正在下载Neural Haircut文件... echo 正在下载%MODEL_NEURAL_HAIRCUT_NAME%...
python -m gdown --folder "https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8" --continue
)
cd diffusion_prior cd diffusion_prior
IF EXIST "model.pt" ( python -m gdown "%MODEL_NEURAL_HAIRCUT_URL%"
echo 跳过扩散先验模型下载... cd ..\..
) ELSE (
echo 正在下载扩散先验模型...
python -m gdown "1_9EOUXHayKiGH5nkrayncln3d6m1uV7f"
) )
cd ..\PIXIE cd PIXIE
IF EXIST "pixie_data.tar" ( IF EXIST "pixie_data.tar" (
echo PIXIE模型已存在跳过下载... echo PIXIE模型已存在跳过下载...
) ELSE ( ) ELSE (
echo 正在下载PIXIE模型... echo 正在下载PIXIE模型...
python -m gdown "1mPcGu62YPc4MdkT8FFiOCP629xsENHZf" python -m gdown "%MODEL_PIXIE_URL%"
REM 使用7-Zip解压tar.gz文件 REM 使用7-Zip解压tar.gz文件
IF NOT EXIST pixie_data.tar.gz ( IF NOT EXIST pixie_data.tar.gz (
@ -208,37 +235,37 @@ IF EXIST "pixie_data.tar" (
REM 下载 Matte-Anything 文件 REM 下载 Matte-Anything 文件
cd ..\..\Matte-Anything cd ..\..\Matte-Anything
echo 正在下载Matte-Anything文件... echo 正在下载Matte-Anything文件...
IF EXIST "sam_vit_h_4b8939.pth" ( IF EXIST "%MODEL_SAM_PATH%" (
echo SAM模型已存在,跳过下载... echo %MODEL_SAM_NAME%已存在,跳过下载...
) ELSE ( ) ELSE (
echo 正在下载SAM模型... echo 正在下载%MODEL_SAM_NAME%...
curl %CURL_OPTS% -o sam_vit_h_4b8939.pth https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth curl %CURL_OPTS% -o "%MODEL_SAM_PATH%" "%MODEL_SAM_URL%"
IF %ERRORLEVEL% NEQ 0 ( IF %ERRORLEVEL% NEQ 0 (
echo 错误:下载SAM模型失败 echo 错误:下载%MODEL_SAM_NAME%失败
exit /b 1 exit /b 1
) )
) )
IF EXIST "groundingdino_swint_ogc.pth" ( IF EXIST "%MODEL_DINO_PATH%" (
echo GroundingDINO模型已存在,跳过下载... echo %MODEL_DINO_NAME%已存在,跳过下载...
) ELSE ( ) ELSE (
echo 正在下载GroundingDINO模型... echo 正在下载%MODEL_DINO_NAME%...
curl -L --retry 5 -C - -o groundingdino_swint_ogc.pth https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth curl -L --retry 5 -C - -o "%MODEL_DINO_PATH%" "%MODEL_DINO_URL%"
) )
IF EXIST "model.pth" ( IF EXIST "%MODEL_MATTE_PATH%" (
echo Matte-Anything模型已存在,跳过下载... echo %MODEL_MATTE_NAME%已存在,跳过下载...
) ELSE ( ) ELSE (
echo 正在下载Matte-Anything模型... echo 正在下载%MODEL_MATTE_NAME%...
python -m gdown "1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW" -O model.pth python -m gdown "%MODEL_MATTE_URL%" -O model.pth
) )
REM 下载 OpenPose 模型 REM 下载 OpenPose 模型
cd ..\openpose cd ..\openpose\models\pose\coco
echo 正在下载OpenPose模型... echo 正在下载OpenPose模型...
IF EXIST "models\pose\coco\pose_iter_584000.caffemodel" ( IF EXIST "%MODEL_OPENPOSE_PATH%" (
echo OpenPose模型已存在,跳过下载... echo %MODEL_OPENPOSE_NAME%已存在,跳过下载...
) ELSE ( ) ELSE (
echo 正在下载OpenPose模型... echo 正在下载OpenPose模型...
python -m gdown "1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV" -O models.tar.gz python -m gdown "%MODEL_OPENPOSE_URL%" -O models.tar.gz
IF NOT EXIST models.tar.gz ( IF NOT EXIST models.tar.gz (
echo 错误下载models.tar.gz失败 echo 错误下载models.tar.gz失败
exit /b 1 exit /b 1
@ -250,16 +277,16 @@ IF EXIST "models\pose\coco\pose_iter_584000.caffemodel" (
) )
REM 下载 hyperIQA 模型 REM 下载 hyperIQA 模型
cd ..\hyperIQA\pretrained cd ..\..\..\..\..\hyperIQA\pretrained
echo 正在下载hyperIQA模型... echo 正在下载hyperIQA模型...
IF EXIST "hyperIQA.pth" ( IF EXIST "%MODEL_HYPERIQA_PATH%" (
echo hyperIQA模型已存在,跳过下载... echo %MODEL_HYPERIQA_NAME%已存在,跳过下载...
) ELSE ( ) ELSE (
echo 正在下载hyperIQA模型... echo 正在下载%MODEL_HYPERIQA_NAME%...
python -m gdown "1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE" python -m gdown "%MODEL_HYPERIQA_URL%"
) )
cd ..\.. cd ..\..\..
echo. echo.
IF %ERRORLEVEL% EQU 0 ( IF %ERRORLEVEL% EQU 0 (
echo ************************************************************ echo ************************************************************
@ -276,21 +303,21 @@ IF %ERRORLEVEL% EQU 0 (
REM 验证下载的文件完整性 REM 验证下载的文件完整性
echo 正在验证下载文件... echo 正在验证下载文件...
cd %PROJECT_DIR%\resource cd %PROJECT_DIR%
SET VERIFY_FAILED=0 SET VERIFY_FAILED=0
IF NOT EXIST "NeuralHaircut\diffusion_prior\model.pt" ( IF NOT EXIST "%MODEL_NEURAL_HAIRCUT_PATH%" (
echo [×] 缺少扩散先验模型文件 echo [×] 缺少%MODEL_NEURAL_HAIRCUT_NAME%
SET /A VERIFY_FAILED+=1 SET /A VERIFY_FAILED+=1
) ELSE ( ) ELSE (
echo [√] 扩散先验模型文件验证成功 echo [√] %MODEL_NEURAL_HAIRCUT_NAME%验证成功
) )
IF NOT EXIST "NeuralHaircut\PIXIE\pixie_data" echo 警告缺少PIXIE模型数据 IF NOT EXIST "%MODEL_PIXIE_PATH%" echo 警告:缺少%MODEL_PIXIE_NAME%
IF NOT EXIST "Matte-Anything\sam_vit_h_4b8939.pth" echo 警告缺少SAM模型文件 IF NOT EXIST "%MODEL_SAM_PATH%" echo 警告:缺少%MODEL_SAM_NAME%
IF NOT EXIST "Matte-Anything\groundingdino_swint_ogc.pth" echo 警告缺少GroundingDINO模型文件 IF NOT EXIST "%MODEL_DINO_PATH%" echo 警告:缺少%MODEL_DINO_NAME%
IF NOT EXIST "openpose\models\pose\coco" echo 警告缺少OpenPose姿态模型 IF NOT EXIST "openpose\models\pose\coco" echo 警告缺少OpenPose姿态模型
IF NOT EXIST "hyperIQA\pretrained\hyperIQA.pth" echo 警告缺少hyperIQA模型文件 IF NOT EXIST "%MODEL_HYPERIQA_PATH%" echo 警告:缺少%MODEL_HYPERIQA_NAME%
IF %VERIFY_FAILED% GTR 0 ( IF %VERIFY_FAILED% GTR 0 (
echo. echo.

View File

@ -96,40 +96,35 @@ mkdir cache\gdown 2>nul
mkdir cache\torch 2>nul mkdir cache\torch 2>nul
mkdir cache\huggingface 2>nul mkdir cache\huggingface 2>nul
REM 创建ext目录 REM 创建ext目录并克隆仓库
mkdir ext 2>nul mkdir ext 2>nul
cd ext cd ext
REM 克隆外部库 REM 克隆必要的仓库
git clone --depth 1 https://github.com/CMU-Perceptual-Computing-Lab/openpose git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose --depth 1
cd openpose cd openpose && git submodule update --init --recursive --remote
git submodule update --init --recursive --remote
cd .. cd ..
git clone https://github.com/hustvl/Matte-Anything git clone https://github.com/hustvl/Matte-Anything
cd Matte-Anything cd Matte-Anything && git clone https://github.com/IDEA-Research/GroundingDINO.git
git clone https://github.com/IDEA-Research/GroundingDINO.git
cd .. cd ..
git clone https://github.com/egorzakharov/NeuralHaircut.git --recursive git clone git@github.com:egorzakharov/NeuralHaircut.git --recursive
git clone https://github.com/facebookresearch/pytorch3d git clone https://github.com/facebookresearch/pytorch3d
cd pytorch3d cd pytorch3d && git checkout 2f11ddc5ee7d6bd56f2fb6744a16776fab6536f7
git checkout 2f11ddc5ee7d6bd56f2fb6744a16776fab6536f7
cd .. cd ..
git clone https://github.com/camenduru/simple-knn git clone https://github.com/camenduru/simple-knn
cd diff_gaussian_rasterization_hair\third_party cd diff_gaussian_rasterization_hair/third_party && git clone https://github.com/g-truc/glm
git clone https://github.com/g-truc/glm cd glm && git checkout 5c46b9c07008ae65cb81ab79cd677ecc1934b903
cd glm cd ../..
git checkout 5c46b9c07008ae65cb81ab79cd677ecc1934b903
cd ..\..\..
git clone --recursive https://github.com/NVIDIAGameWorks/kaolin git clone --recursive https://github.com/NVIDIAGameWorks/kaolin
cd kaolin cd kaolin && git checkout v0.15.0
git checkout v0.15.0
cd .. cd ..
git clone https://github.com/SSL92/hyperIQA git clone https://github.com/SSL92/hyperIQA
cd ..
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
@ -170,13 +165,34 @@ IF NOT EXIST "%PROJECT_DIR%\resource" (
exit /b 1 exit /b 1
) )
REM 下载 Neural Haircut 文件 REM 复制模型文件到对应位置
cd %PROJECT_DIR%\ext\NeuralHaircut echo 正在复制模型文件...
xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\*" . REM Neural Haircut
cd pretrained_models\diffusion_prior xcopy /Y "%PROJECT_DIR%\resource\NeuralHaircut\diffusion_prior\model.pt" "%PROJECT_DIR%\ext\NeuralHaircut\pretrained_models\diffusion_prior\"
xcopy /Y "%PROJECT_DIR%\resource\NeuralHaircut\diffusion_prior\*" .
cd ..\..\PIXIE REM PIXIE
xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\*" . xcopy /E /I /Y "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\pixie_data" "%PROJECT_DIR%\ext\PIXIE\"
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\groundingdino_swint_ogc.pth" "%PROJECT_DIR%\ext\Matte-Anything\pretrained\"
xcopy /Y "%PROJECT_DIR%\resource\Matte-Anything\model.pth" "%PROJECT_DIR%\ext\Matte-Anything\"
REM OpenPose
xcopy /Y "%PROJECT_DIR%\resource\openpose\models\pose_iter_584000.caffemodel" "%PROJECT_DIR%\ext\openpose\models\pose\coco\"
REM hyperIQA
xcopy /Y "%PROJECT_DIR%\resource\hyperIQA\pretrained\hyperIQA.pth" "%PROJECT_DIR%\ext\hyperIQA\pretrained\"
REM 安装 PIXIE 环境
CALL activate_pixie-env.bat
cd %PROJECT_DIR%\ext\NeuralHaircut\PIXIE
echo 正在安装PIXIE依赖...
pip install pyyaml==5.4.1
pip install git+https://github.com/1adrianb/face-alignment.git@54623537fd9618ca7c15688fd85aba706ad92b59
REM 复制PIXIE数据
xcopy /E /I /Y "%PROJECT_DIR%\ext\PIXIE\*" "%PROJECT_DIR%\ext\NeuralHaircut\PIXIE\"
REM 安装 Matte-Anything 环境 REM 安装 Matte-Anything 环境
CALL activate_matte_anything.bat CALL activate_matte_anything.bat
@ -206,18 +222,6 @@ cmake .. -DBUILD_PYTHON=true -DUSE_CUDNN=off -DBUILD_CAFFE=false -G "Visual Stud
cmake --build . --config Release cmake --build . --config Release
cd %PROJECT_DIR% cd %PROJECT_DIR%
REM 复制 hyperIQA 模型
cd %PROJECT_DIR%\ext\hyperIQA
mkdir pretrained 2>nul
xcopy /Y "%PROJECT_DIR%\resource\hyperIQA\pretrained\*" pretrained\
REM 安装 PIXIE 环境
CALL activate_pixie-env.bat
cd %PROJECT_DIR%\ext\PIXIE
echo 正在安装PIXIE依赖...
pip install pyyaml==5.4.1
pip install git+https://github.com/1adrianb/face-alignment.git@54623537fd9618ca7c15688fd85aba706ad92b59
REM 检查资源文件是否已下载 REM 检查资源文件是否已下载
IF NOT EXIST "resource" ( IF NOT EXIST "resource" (
echo 错误未找到resource目录请先运行download_resource.bat echo 错误未找到resource目录请先运行download_resource.bat