虹软人脸识别SDK获取,安装及文件结构
下载
本次使用的是人脸识别(ArcFace)Linux64 V3.0 版本,按照说明书下载好对应版本,
wget https://arcfacepackages.blob.core.chinacloudapi.cn/arcface-packages/sdk/arcface/linux/ArcSoft_ArcFace_Linux_x64_V3.0.zip
解压
$ unzip ./ArcSoft_ArcFace_Linux_x64_V3.0.zip
Archive: ./ArcSoft_ArcFace_Linux_x64_V3.0.zip
creating: samplecode/
creating: samplecode/ASFTestDemo/
creating: samplecode/ASFTestDemo/images/
inflating: samplecode/ASFTestDemo/images/640x480_1.NV21
inflating: samplecode/ASFTestDemo/images/640x480_3.NV21
inflating: samplecode/ASFTestDemo/images/640x480_2.NV21
creating: samplecode/ASFTestDemo/linux_so/
creating: samplecode/ASFTestDemo/.idea/
extracting: samplecode/ASFTestDemo/.idea/.gitignore
inflating: samplecode/ASFTestDemo/CMakeLists.txt
creating: samplecode/ASFTestDemo/inc/
inflating: samplecode/ASFTestDemo/inc/arcsoft_face_sdk.h
inflating: samplecode/ASFTestDemo/inc/merror.h
inflating: samplecode/ASFTestDemo/inc/amcomdef.h
inflating: samplecode/ASFTestDemo/inc/asvloffscreen.h
inflating: samplecode/ASFTestDemo/samplecode.cpp
inflating: samplecode/ReadMe.txt
creating: lib/
creating: lib/linux_x64/
inflating: lib/linux_x64/libarcsoft_face.so
inflating: lib/linux_x64/libarcsoft_face_engine.so
creating: doc/
inflating: doc/隐私政策.pdf
inflating: doc/虹软视觉开放平台服务协议.pdf
inflating: doc/ARCSOFT_ARC_FACE_DEVELOPER'S_GUIDE.pdf
creating: inc/
inflating: inc/arcsoft_face_sdk.h
inflating: inc/merror.h
inflating: inc/amcomdef.h
inflating: inc/asvloffscreen.h
inflating: releasenotes.txt
目录结构
$ tree ./
./
├── ArcSoft_ArcFace_Linux_x64_V3.0.zip //下载的文件
├── doc //资料
│ ├── ARCSOFT_ARC_FACE_DEVELOPER'S_GUIDE.pdf
│ ├── 虹软视觉开放平台服务协议.pdf
│ └── 隐私政策.pdf
├── inc //头文件
│ ├── amcomdef.h
│ ├── arcsoft_face_sdk.h
│ ├── asvloffscreen.h
│ └── merror.h
├── lib //库
│ └── linux_x64
│ ├── libarcsoft_face_engine.so
│ └── libarcsoft_face.so
├── releasenotes.txt //版本信息
└── samplecode //示例代码
├── ASFTestDemo
│ ├── CMakeLists.txt
│ ├── images
│ │ ├── 640x480_1.NV21
│ │ ├── 640x480_2.NV21
│ │ └── 640x480_3.NV21
│ ├── inc
│ │ ├── amcomdef.h
│ │ ├── arcsoft_face_sdk.h
│ │ ├── asvloffscreen.h
│ │ └── merror.h
│ ├── linux_so
│ └── samplecode.cpp
└── ReadMe.txt //
例程的编译
例程编译说明
例程的编译说明在 ReadMe.txt 里面
a).将ASFTestDemo工程拷贝到Linux系统下;
b).需要将SDK包目录下中“lib”文件夹中的两个.so文件拷贝到/ASFTestDemo/linux_so文件目录下;
c).建议将SDK包目录下中“inc”文件夹中的.h文件替换掉/ASFTestDemo/inc下的文件;
d).下载SDK时,将从官网中获取的APPID/SDKKEY更新到samplecode.cpp文件中;
e).在ASFTestDemo目录下新建一个build文件夹;(在build目录下编译)
f).进入到/ASFTestDemo/build文件目录下,执行“cmake …”命令,找到上一级的CMakeLists.txt文件编译,makefile文件会生成在build目录下;
g).在/ASFTestDemo/build路径下执行“make”命令,生成可执行文件;
h).在/ASFTestDemo/build路径下执行“./arcsoft_face_engine_test”命令,运行程序(./images文件夹下提供了三张用于测试的图片);
具体的编译细节参考CMakeLists.txt文件
编译
$ cd ./samplecode/ASFTestDemo/
$ mkdir ./build
$ cd ./build/
$ cmake ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/magee/arcsoft_linux64/samplecode/ASFTestDemo/build
$ make
Scanning dependencies of target arcsoft_face_engine_test
[ 50%] Building CXX object CMakeFiles/arcsoft_face_engine_test.dir/samplecode.cpp.o
...一系列报警,都是%d和long int的不匹配
^
[100%] Linking CXX executable arcsoft_face_engine_test
[100%] Built target arcsoft_face_engine_test
最后得到可执行文件 arcsoft_face_engine_test
测试
把运行库复制到 /usr/lib 文件夹
build$ sudo cp ../linux_so/libarcsoft_face* /usr/lib
运行
$ ./arcsoft_face_engine_test
************* ArcFace SDK Info *****************
ASFGetActiveFileInfo fail: 90138
Version:3.0.12402010101.3
BuildDate:07/29/2020
CopyRight:Copyright 2020 ArcSoft Corporation Limited. All rights reserved.
************* Face Recognition *****************
ASFOnlineActivation fail: 90136
ASFInitEngine fail: 90115
Segmentation fault (core dumped)
运行失败
samplecode.cpp里面
//从开发者中心获取APPID/SDKKEY(以下均为假数据,请替换)
#define APPID "D617np8jyKt1jN9gMr7ENbTJ1XvRWsQAsvdAehMKvqzr"
#define SDKKEY "BTeyKLCYBzfrNLQduGUwfyRZkDQU4RB2b3UJZjjuppLU"
把自己的对应数据填好,重新make,运行正常。
$ ./arcsoft_face_engine_test
************* ArcFace SDK Info *****************
ASFGetActiveFileInfo fail: 90138
Version:3.0.12402010101.3
BuildDate:07/29/2020
CopyRight:Copyright 2020 ArcSoft Corporation Limited. All rights reserved.
************* Face Recognition *****************
ASFOnlineActivation sucess: 0
ASFInitEngine sucess: 0
../images/640x480_2.NV21 ASFFaceFeatureExtractEx 2 sucess: 0
ASFFaceFeatureCompare sucess: 0.076342
************* Face Process *****************
RGB Threshold: 0.500000
IR Threshold: 0.700000
ASFProcessEx sucess: 0
../images/640x480_2.NV21 First face age: 21
../images/640x480_2.NV21 First face gender: 1
../images/640x480_2.NV21 First face 3dAngle: roll: 4.319518 yaw: -7.680800 pitch: -10.377542
ASFGetLivenessScore sucess: 1
**********IR LIVENESS*************
Face num: 1
ASFProcessEx_IR sucess: 0
IR Liveness: 1
ASFUninitEngine sucess: 0