参考: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