ArcSoft ArcFace SDK
开发说明文档
© 2018 ArcSoft Inc. All rights reserved.
目录
1.4
目录 .................................................................................................................................................. 2
1. 简介........................................................................................................................................... 4
1.1 产品概述 ....................................................................................................................... 4
1.2 环境要求 ....................................................................................................................... 4
1.2.1 系统要求 ........................................................................................................... 4
1.2.2 开发环境 ........................................................................................................... 4
1.2.3 支持的颜色空间格式 ....................................................................................... 4
1.3 产品功能简介 ............................................................................................................... 4
1.3.1 人脸检测 ........................................................................................................... 4
1.3.2 人脸跟踪 ........................................................................................................... 5
1.3.3 人脸属性检测 ................................................................................................... 5
1.3.4 人脸三维角度检测 ........................................................................................... 5
1.3.5 人脸比对 ........................................................................................................... 5
SDK 授权说明 ............................................................................................................... 5
2. 接入指南 ................................................................................................................................... 6
2.1 引擎获取 ....................................................................................................................... 6
2.1.1 注册为开发者 ................................................................................................... 6
SDK 下载 ........................................................................................................... 6
2.1.2
SDK 包结构 ....................................................................................................... 7
2.1.3
2.1.4 工程配置 ........................................................................................................... 7
2.1.5 调用流程 ........................................................................................................... 9
2.1.6 阈值推荐 ......................................................................................................... 10
2.2 数据结构 ..................................................................................................................... 10
ASF_VERSION ................................................................................................... 10
ASF_SingleFaceInfo ..................................................................................... 10
ASF_MultiFaceInfo ....................................................................................... 11
ASF_FaceFeature ........................................................................................... 11
ASF_AgeInfo ................................................................................................... 11
ASF_GenderInfo ............................................................................................. 11
ASF_Face3DAngle ........................................................................................... 12
2.3 枚举 ............................................................................................................................. 12
2.3.1 检测方向的优先级 ......................................................................................... 12
2.3.2 检测到的人脸角度(按逆时针方向) ......................................................... 12
3. 接口......................................................................................................................................... 13
3.1 接口说明 ..................................................................................................................... 13
ASFActivation ................................................................................................... 13
ASFInitEngine .................................................................................................. 13
ASFDetectFaces ............................................................................................... 14
ASFFaceFeatureExtract .................................................................................... 15
ASFFaceFeatureCompare ................................................................................ 15
ASFProcess ...................................................................................................... 16
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.1.8
3.1.9
3.1.10
3.1.11
ASFGetAge ....................................................................................................... 16
ASFGetGender ................................................................................................. 17
ASFGetFace3DAngle ........................................................................................ 17
ASFGetVersion ................................................................................................. 18
ASFUninitEngine .............................................................................................. 18
3.2 错误码概览 ................................................................................................................. 18
3.3 示例代码 ..................................................................................................................... 21
4. 常见问题 ................................................................................................................................. 24
4.1
FAQ .............................................................................................................................. 24
4.2 其他帮助 ..................................................................................................................... 26
1. 简介
1.1 产品概述
ArcFace 离线 SDK,包含人脸检测、性别检测、年龄检测、人脸识别等能力,初次使用
时需联网激活,激活后即可本地无网络环境下工作,可根据业务需求结合人脸识别等 SDK
灵活的进行应用层开发。
1.2 环境要求
1.2.1 系统要求
Win7 及以上
1.2.2 开发环境
VS2013 及以上
1.2.3 支持的颜色空间格式
支持图像的颜色空间格式: NV21,NV12, BGR24,I420,YUYV
常量名
常量值
常量说明
CP_PAF_NV21
2050
8-bit Y 通道,8-bit 2x2 采样 V 与 U 分量交织通道
ASVL_PAF_NV12
2049
8-bit Y 通道,8-bit 2x2 采样 U 与 V 分量交织通道
CP_PAF_BGR24
513
RGB 分量交织,按 B, G, R, B 字节序排布
ASVL_PAF_I420
1537
ASVL_PAF_YUYV
1289
8-bit Y 通道, 8-bit 2x2 采样 U 通道, 8-bit 2x2 采
样 V 通道
YUV 分量交织, V 与 U 分量 2x1 采样,按 Y0, U0, Y1,
V0 字节序排布
1.3 产品功能简介
1.3.1 人脸检测
对传入图像数据进行人脸检测,返回人脸位置信息和人脸在图像中的朝向信息,可用于
后续的人脸分析、人脸比对操作,支持图像模式和视频流模式。
支持单人脸、多人脸检测,最多支持检测人脸数为 50。
1.3.2 人脸跟踪
捕捉视频流中的人脸信息,并对人脸进行跟踪。
1.3.3 人脸属性检测
对检测到的人脸进行属性分析,支持性别、年龄的属性分析,支持图像模式和视频流模
式。
1.3.4 人脸三维角度检测
检测输入图像数据指定区域人脸的三维角度信息,包含人脸三个空间角度:俯仰角
(pitch), 横滚角(roll), 偏航角(yaw),支持图像模式和视频流模式。
1.3.5 人脸比对
将两个人脸进行比对,来判断是否为同一个人,返回比对相似度值。
1.4 SDK 授权说明
SDK 授权按设备进行授权,每台硬件设备需要一个独立的授权,此授权的校验是基于设
备的唯一标识,被授权的设备,初次授权时需要联网进行授权,授权成功后在有效期内可以
离线运行 SDK。
激活一台设备后,遇以下情况,设备授权不变,但需要重新联网激活:
删除基于 SDK 开发的应用或删除应用数据
重新安装系统
激活一台设备后,硬件设备变更
2. 接入指南
2.1 引擎获取
2.1.1 注册为开发者
访问 ArcSoft AI 开放平台门户:https://ai.arcsoft.com.cn,注册开发者账号并登录。
2.1.2 SDK 下载
创建对应的应用,并选择需要下载的 SDK、对应平台以及版本,确认后即可下载 SDK 和
查看激活码。
可在查看激活码链接中获取 APPID 和 SDKKey,点击下载 SDK 下载 SDK 包。
点击【下载 SDK】即可下载 SDK 开发包;
点击【查看激活码】即可查看所需要 APPID、SDKKEY;
2.1.3 SDK 包结构
|---doc
| |---ARCSOFT_FACE_SDK_DEVELOPER'S_GUIDE.PDF 开发说明文档
|---inc
| |---amcomdef.h
平台文件
| |---asvloffscreen.h 平台文件
| |---arcsoft_face_sdk.h 接口文件
| |---merror.h 错误码文件
|---lib
| |---libarcsoft_face.dll
算法库
| |---libarcsoft_face_engine.dll
引擎库
| |---libarcsoft_face_engine.lib
引擎库
|---samplecode
| |---samplecode.txt 示例代码
|---releasenotes.txt 说明文件
2.1.4 工程配置
方法 1:VS 中添加 lib 库及头文件(外部依赖项)的步骤:
1、 添加工程的头文件目录:
a) 右键单击工程名, 选择属性---配置属性---c/c++---常规---附加包含目录
b) 添加头文件存放目录路径
2、 添加文件引用的 lib 静态库路径:
a) 右键单击工程名,选择属性---配置属性---链接器---常规---附加库目录
b) 添加 lib 文件存放目录
3、 添加工程引用的 lib 库:
a) 右键单击工程名,选择属性---配置属性---链接器---输入---附加依赖项
b) 添加依赖的 lib 库名称
4、 添加工程引用的 dll 动态库:
a) 把引用的 dll 放到工程的可执行文件所在的目录下(例如:debug、relese
或工程目录下)。
方法 2:相对路径的设置
在 VS 的工程中常常要设置头文件的包含路径和库目录,如果使用绝对路径,其他人拷
贝你的工程到其他机器上就可能无法运行,原因是在建工程时可能把工程放在了 E:盘,但
是拷贝后的工程路径和拷贝前的工程路径不一致,会导致找不到头文件问题。因此,建议配
置包含路径和库目录时使用相对路径。
这里的相对路径就是相当于工程文件(XXXX.vcproj)为起点计算出的能找到包含所需
头文件(也就是找包含所需头文件的 include 目录)的路径。
例如你的工程文件(Count.vcproj)所在目录路径为:
E:\projects\Count\Count\Count.vcproj
该工程需要包含一个图片参数,该图片所在路径如下:
E:\projects\Count\pic\pic01.jpg
这里程序中的相对路径设置如下:
..\pic\pic02.jpg
程序代码中的参数路径设置时要用双斜线:
例如:
#include "..\\TestLib\\lib.h"
#pragma comment(lib,"..\\debug\\TestLib.lib");