VS2022 编译 SeetaFace6

参考:https://github.com/SeetaFace6Open/index

一、下载源码

使用以下命令下载源码

复制代码
git clone --recursive https://github.com/SeetaFace6Open/index.git

二、编译模块

如果直接使用官方以下命令进行编译是会报错的

复制代码
cd ./craft
执行脚本 build.win.vc14.all.cmd 编译各个版本的库(gpu版本为build.win.vc14.all_gpu.cmd)

所以我们自己使用Cmake来编译,因为模块之间有引用关系所以一定要按以下顺序:OpenRoleZoo -> SeetaAuthorize -> TenniS,然后再进行其他模块的编译。

2.1、编译 OpenRoleZoo

修改 SeetaFace6Open\index\OpenRoleZoo\include\orz\mem\pot.h 文件,添加 **#include <functional>**引用,如下图所示:

在 Windows 搜索栏输入 "Developer Command Prompt for VS 2022"(或 "VS 2022 开发人员命令提示符"),右键以管理员身份运行

命令行进入 SeetaFace6Open\index\OpenRoleZoo 路径,执行以下命令:

复制代码
mkdir build_vs2022
cd build_vs2022

cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DORZ_WITH_OPENSSL=OFF ^
    -DCMAKE_INSTALL_PREFIX="../../build"

cmake --build . --config Release --target install

编译完成可以在 SeetaFace6Open\index\build 找到编译好的库。

2.2、编译 SeetaAuthorize

进入 SeetaFace6Open\index\SeetaAuthorize 路径下执行以下命令,编译 SeetaAuthorize 模块:

复制代码
mkdir build_vs2022
cd build_vs2022

cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="../../build" ^
    -DORZ_ROOT_DIR="../build"

cmake --build . --config Release --target install

2.3、编译 TenniS

进入 SeetaFace6Open\index\TenniS 路径下执行以下命令,编译 TenniS 模块:

复制代码
mkdir build_vs2022
cd build_vs2022

cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="../../build" ^
    -DTS_ON_HASWELL=ON ^
    -DTS_USE_FAST_MATH=ON ^
    -DTS_USE_OPENMP=ON

cmake --build . --config Release --target install

2.4、编译 FaceBoxes

进入 SeetaFace6Open\index\FaceBoxes 路径下执行以下命令,编译 FaceBoxes 模块:

复制代码
mkdir build_vs2022
cd build_vs2022


cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="%cd%/../../build" ^
    -DCMAKE_PREFIX_PATH="%cd%/../../build" ^
    -DORZ_ROOT_DIR="%cd%/../../build" ^
    -DSEETA_AUTHORIZE=ON ^
    -DSEETA_MODEL_ENCRYPT=ON ^
    -DCMAKE_LIBRARY_PATH="%cd%/../../build/lib/x64"


cmake --build . --config Release --target install

2.5、编译 Landmarker

进入 SeetaFace6Open\index\Landmarker 路径下执行以下命令,编译 Landmarker 模块:

复制代码
mkdir build_vs2022
cd build_vs2022


cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="%cd%/../../build" ^
    -DCMAKE_PREFIX_PATH="%cd%/../../build" ^
    -DORZ_ROOT_DIR="%cd%/../../build" ^
    -DSEETA_AUTHORIZE=ON ^
    -DSEETA_MODEL_ENCRYPT=ON ^
    -DCMAKE_LIBRARY_PATH="%cd%/../../build/lib/x64"


cmake --build . --config Release --target install

2.6、编译 FaceRecognizer6

进入 SeetaFace6Open\index\FaceRecognizer6 路径下执行以下命令,编译 FaceRecognizer6 模块:

复制代码
mkdir build_vs2022
cd build_vs2022


cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="%cd%/../../build" ^
    -DCMAKE_PREFIX_PATH="%cd%/../../build" ^
    -DORZ_ROOT_DIR="%cd%/../../build" ^
    -DSEETA_AUTHORIZE=ON ^
    -DSEETA_MODEL_ENCRYPT=ON ^
    -DCMAKE_LIBRARY_PATH="%cd%/../../build/lib/x64"


cmake --build . --config Release --target install

2.7、编译 FaceTracker6

进入 SeetaFace6Open\index\FaceTracker6 路径下执行以下命令,编译 FaceTracker6 模块:

复制代码
mkdir build_vs2022
cd build_vs2022


cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="%cd%/../../build" ^
    -DCMAKE_PREFIX_PATH="%cd%/../../build" ^
    -DORZ_ROOT_DIR="%cd%/../../build" ^
    -DSEETA_AUTHORIZE=ON ^
    -DSEETA_MODEL_ENCRYPT=ON ^
    -DCMAKE_LIBRARY_PATH="%cd%/../../build/lib/x64"


cmake --build . --config Release --target install

2.8、编译 PoseEstimator6

进入 SeetaFace6Open\index\PoseEstimator6 路径下执行以下命令,编译 PoseEstimator6 模块:

复制代码
mkdir build_vs2022
cd build_vs2022


cmake .. ^
    -G "Visual Studio 17 2022" ^
    -A x64 ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DCMAKE_INSTALL_PREFIX="%cd%/../../build" ^
    -DCMAKE_PREFIX_PATH="%cd%/../../build" ^
    -DORZ_ROOT_DIR="%cd%/../../build" ^
    -DSEETA_AUTHORIZE=ON ^
    -DSEETA_MODEL_ENCRYPT=ON ^
    -DCMAKE_LIBRARY_PATH="%cd%/../../build/lib/x64"


cmake --build . --config Release --target install