admin管理员组

文章数量:1593158

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 – 九城

本文标签: Windows