Linux从零开始编译Android可用的 SeetaFace2
2021-11-27 本文已影响0人
itfitness
目录

前言
SeetaFace2是中科视拓开源的人脸识别引擎,包括了搭建一套全自动人脸识别系统所需的三个核心模块,即:人脸检测模块 FaceDetector、面部关键点定位模块 FaceLandmarker 以及人脸特征提取与比对模块 FaceRecognizer。 已经两个辅助模块 FaceTracker 和 QualityAssessor 用于人脸跟踪和质量评估。
实现步骤
1.安装Git
已经安装的小伙伴可以跳过这一步,我因为没有安装所以提示下面的信息

我们直接按照提示安装即可,安装完之后输入“git --version”提示如下

2.下载SeetaFace2源码
SeetaFace2项目地址:https://github.com/seetafaceengine/SeetaFace2
这里可能会有如下提示,不过没事可以查看我的这篇文章:解决github项目下载慢

按照我的方法,如下所示已经下载完成

3.下载NDK
NDK下载地址:https://developer.android.com/ndk/downloads
这里我没有选择最新版,我选择了r22b

下载完之后我们对其进行解压
unzip <NDK文件名>
解压完如下所示

接下来我们配置环境变量
vim ~/.bashrc
在最后加入如下代码(这里需要配置你自己的NDK目录)
export ANDROID_NDK=/home/itfitness/NDK/android-ndk-r20b
export PATH=$ANDROID_NDK:$PATH

保存退出,更新一下环境变量
source ~/.bashrc
检测是否配置成功
ndk-build -v

4.编译SeetaFace2
将如下命令在终端执行
cd SeetaFace2
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \
-DANDROID_ABI="armeabi-v7a with NEON" \
-DANDROID_PLATFORM=android-24 \
-DBUILD_EXAMPLE=OFF # 如果有OpenCV,则设置为ON
cmake --build . --config MinSizeRel
这时如果电脑上没安装cmake会有如下提示

然后根据提示安装cmake

安装成功后继续执行脚本(注意这里我们可能已经在build目录了,就可以直接执行从cmake往下的就行),编译成功如下所示

这时候我们打开SeetaFace2目录可能看不到build文件夹,这是我们在目录中按ctrl + h即可显示如下所示

然后我们打开build下的bin目录,可以看到编译好的so文件都在这里
