Seeface 6 是中科视拓开源的人脸识别方案。
该项目使用C++开发,在不同的系统中需要编译成对应的系统的动态链接库。
该项目在Windows 10 下使用VS2022编译成功
所需要的前提条件:
cmake 下载地址 Download | CMake
将cmake的bin目录放到环境变量中 D:\soft\cmake\bin
VS2022 使用社区版即可
VS2022还需要安装 V143的C++生成工具,如图。
本次编译使用MSbuild进行编译的,需要把MSbuild加入到环境变量中
D:\soft\vs2022\MSBuild\Current\Bin\amd64
原项目位于Github,我用Gitee做了镜像
九城/seetaface6
镜像仓库的build/bin文件夹下,有已经编译好的dll文件,可以直接使用。
相比原版仓库,修改了一些地方的BUG,以保证顺利编译。
修改了每个子项目的craft/build.win.vc14.x64.cmd
使用jom命令的部分修改为msbuild编译
另外按照官方的说法,需要先编译三个文件OpenRoleZoo, SeetaAuthorize 和 TenniS
由于文件众多,每个文件都需要单独编译
特此提供了一个批量编译的bat文件(放在项目根目录,运行即可。)
@echo off set "modules=OpenRoleZoo SeetaAuthorize TenniS FaceBoxes FaceRecognizer6 FaceTracker6 Landmarker PoseEstimator6 QualityAssessor3 SeetaAgePredictor SeetaEyeStateDetector SeetaGenderPredictor SeetaMaskDetector FaceAntiSpoofingX6" for %%d in (%modules%) do ( pushd %%d\craft call build.win.vc14.x64.cmd popd )
最终编译出来的文件如下
官方还放出了GPU版本的推理框架
主要是TenniS文件
所需工具
CUDA CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer
CUDA的组件需要全量安装
GPU编译和CPU编译一样,需要修改build.win.vc14.x64_gpu.cmd的内容
直接复制粘贴即可
@echo off set "BUILD_DIR=build.win.vc14.x64_gpu" set "BUILD_TYPE=Release" set "PLATFORM=x64" set "PLATFORM_TARGET=x64" set "ORZ_HOME=D:\desktop\project\CPP\seetaface6\build\bin\x64" set "INSTALL_DIR=%~dp0/../../build" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %PLATFORM% cd %~dp0 md "%BUILD_DIR%" cd "%BUILD_DIR%" md "%INSTALL_DIR%" cmake "%~dp0.." ^ -DCMAKE_BUILD_TYPE="%BUILD_TYPE%" ^ -DCONFIGURATION="%BUILD_TYPE%" ^ -DPLATFORM="%PLATFORM_TARGET%" ^ -DORZ_ROOT_DIR="%ORZ_HOME%" ^ -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" ^ -DTS_USE_CUDA=ON ^ -DTS_USE_CUBLAS=ON ^ -DTS_USE_OPENMP=ON ^ -DTS_USE_SIMD=ON ^ -DTS_ON_HASWELL=ON msbuild.exe /m:8 ALL_BUILD.vcxproj msbuild.exe /m:8 INSTALL.vcxproj exit /b
GPU编译通常需要等待一段时间
原文地址:Windows 10编译SeetaFace6 – 九城