SeetaFace2采用标准C++开发,全部模块均不依赖任何第三方库,支持x86架构(Windows、Linux)和ARM架构(Android)。SeetaFace2支持的上层应用包括但不限于人脸门禁、无感考勤、人脸比对等。
编译简介
2.1 编译依赖
GNU Make 工具
GCC 或者 Clang 编译器
CM2.2 linux和windows平台编译说明
linux 和 windows 上的 SDK 编译脚本见目录 craft,其中 craft/linux 下为 linux 版本的编译脚本,craft/windows 下为 windows 版本的编译脚本,默认编译的库为64位 Release 版本。
linux 和 windows上的SDK编译方法:
打开终端(windows上为VS2015 x64 Native Tools Command Prompt 工具,linux 上为bash),cd 到编译脚本所在目录;
执行对应平台的编译脚本。
linux 上 example 的编译运行方法:
cd 到 example/search 目录下,执行 make 指令;
拷贝模型文件到程序指定的目录下;
执行脚本 run.sh。
windows 上 example 的编译运行方法:
使用 vs2015 打开 SeetaExample.sln 构建工程,修改 Opencv3.props 属性表中变量 OpenCV3Home 的值为本机上的 OpenCV3 的安装目录;
执行 vs2015 中的编译命令;
拷贝模型文件到程序指定的目录下,运行程序。2.3 Android平台编译说明
Android 版本的编译方法:
安装 ndk 编译工具;
环境变量中导出 ndk-build 工具;
cd 到各模块的 jni 目录下(如SeetaNet 的 Android 编译脚本位置为SeetaNet/sources/jni, FaceDetector的Android 编译脚本位置为FaceDetector/FaceDetector/jni),执行 ndk-build -j8 命令进行编译。
编译依赖说明:人脸检测模块 FaceDetector,面部关键点定位模块 FaceLandmarker 以及人脸特征提取与比对模块 FaceRecognizer 均依赖前向计算框架 SeetaNet 模块,因此需优先编译前向计算框架 SeetaNet 模块。
1