ArcSoft Product AGE ESTIMATION DEVELOPER'S GUIDE

ARCSOFT_AGE_ESTIMATION_DEVELOPER'S_GUIDE

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 10

ArcSoft, Inc.
ArcSoft Age Estimation
开发指导文档
©2017 ArcSoft, Inc. All rights reserved.
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
2
目录
ARCSOFT AGE ESTIMATION ................................................................................................................ 1
概述 ................................................................................................................................................................ 3
1.1. 运行环境 ............................................................................................................................................. 3
1.2. 系统要求 ............................................................................................................................................. 3
1.3. 支持颜色空间格式 ............................................................................................................................. 3
类描述 ............................................................................................................................................................ 4
2.1. CLASS ASAE_FSDKFACE ................................................................................................................... 4
2.1.1.
功能描述
...................................................................................................................................... 4
2.1.2.
构造函数
...................................................................................................................................... 4
2.1.3.
成员函数
...................................................................................................................................... 4
2.2. CLASS ASAE_FSDKERROR ................................................................................................................ 5
2.2.1.
功能描述
...................................................................................................................................... 5
2.2.2.
构造函数
...................................................................................................................................... 5
2.2.3.
成员函数
...................................................................................................................................... 5
2.2.4.
类常量
.......................................................................................................................................... 5
2.3. CLASS ASAE_FSDKVERSION ............................................................................................................. 6
2.3.1.
功能描述
...................................................................................................................................... 6
2.3.2.
构造函数
...................................................................................................................................... 6
2.3.3.
成员函数
...................................................................................................................................... 6
2.4. CLASS ASAE_FSDKAGE .................................................................................................................... 6
2.4.1.
构造函数
...................................................................................................................................... 6
2.4.2.
成员函数
...................................................................................................................................... 7
2.4.3.
类常量
.......................................................................................................................................... 7
2.5. CLASS ASAE_FSDKENGINE ............................................................................................................... 7
2.5.1.
功能描述
...................................................................................................................................... 7
2.5.2.
构造函数
...................................................................................................................................... 7
2.5.3.
成员函数
...................................................................................................................................... 7
2.5.4.
类常量
.......................................................................................................................................... 9
示例代码 .......................................................................................................................................................10
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
3
概述
虹软年龄检测引擎工作流程图.
1.1. 运行环境
Android ARM 32
1.2. 系统要求
Android 5.x 或以上
1.3. 支持颜色空间格式
支持图像的颜色格式: NV21
ArcSoft Age
Estimation Engine
Previous
Modules
Later
Modules
Coordinates of
face rectangle
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
4
类描述
2.1. Class ASAE_FSDKFace
2.1.1. 功能描述
用来保存传入引擎检测的人脸信息
2.1.2. 构造函数
2.1.2.1. ASAE_FSDKFace(ASAE_FSDKFace self)
参数:
ASAE_FSDKFace self 类对象,创建的对象和传入的对象数据一致
2.1.2.2. ASAE_FSDKFace()
2.1.2.3. ASAE_FSDKFace(Rect rect, int degree)
参数:
Rect rect 人脸框
int degree 人脸角度
2.1.3. 成员函数
2.1.3.1. Rect getRect()
返回值:
保存的人脸框(Rect(left, top, right, bottom))
2.1.3.2. int getDegree()
返回值:
保存的人脸角度(ASAE_FOC_0, ASAE_FOC_90 )
2.1.3.3. String toString()
返回值:
格式化人脸信息的字符串(String(Rect(left, top right, bottom), Degree)
2.1.3.4. ASAE_FSDKFace clone()
返回值:
本对象的拷贝
2.1.3.5. void setRect(Rect rect)
参数:
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
5
Rect rect 人脸框
2.1.3.6. void setDegree(int degree)
参数:
int degree 人脸角度
2.2. Class ASAE_FSDKError
2.2.1. 功能描述
这个类用来保存函数执行的错误信息。
2.2.2. 构造函数
2.2.2.1. ASAE_FSDKError()
2.2.3. 成员函数
2.2.3.1. int getCode()
返回值:
错误码值(MOK, MERR_INVALID_PARAM 等)
2.2.4. 类常量
2.2.4.1. 错误码
引擎返回的错误值定义
MOK
0
成功
MERR_BASIC_BASE
0x0001
基础错误起始值
MERR_UNKNOWN
0x0001
未知错误
MERR_INVALID_PARAM
0x0002
参数错误
MERR_UNSUPPORTED
0x0003
输入了引擎不支持的参数或
者数据
MERR_NO_MEMORY
0x0004
内存不足
MERR_BAD_STATE
0x0005
状态错误(未初始化就调用
了接口)
MERR_BUFFER_OVERFLOW
0x0009
内存上溢
MERR_BUFFER_UNDERFLOW
0x000a
内存下溢
MERR_FSDK_BASE
0x7000
校验错误起始值
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
6
MERR_FSDK_INVALID_APP_ID
0x7001
非法 APPID
MERR_FSDK_INVALID_SDK_ID
0x7002
非法 SDKID
MERR_FSDK_INVALID_ID_PAIR
0x7003
SDKKEY 不是于当前
APPID 名下的
MERR_FSDK_MISMATCH_ID_AND_SDK
0x7004
SDKKEY 不是当前 SDK
支持的
MERR_FSDK_SYSTEM_VERSION_UNSUPPORTED
0x7005
不支持的系统版本
MERR_FSDK_LICENCE_EXPIRED
0x7006
SDK 过期
2.3. Class ASAE_FSDKVersion
2.3.1. 功能描述
这个类用来保存版本信
2.3.2. 构造函数
2.3.2.1. ASAE_FSDKVersion()
2.3.3. 成员函数
2.3.3.1. String toString()
返回值:
包含所有版本信息的字符串
2.4. Class ASAE_FSDKAge
这个类用来保存年龄信
2.4.1. 构造函数
2.4.1.1. ASAE_FSDKAge()
2.4.1.2. ASAE_FSDKAge(ASAE_FSDKAge obj)
参数:
ASAE_FSDKAge obj 复制本身对象
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
7
2.4.2. 成员函数
2.4.2.1. int getAge()
返回值:
0 为无法识别,大于 0为正常年龄
2.4.2.2. ASAE_FSDKAge clone()
返回值:
本身对象的拷贝
2.4.3. 类常量
2.4.3.1. 未知年龄
引擎返回的检测年龄结
UNKNOWN_AGE
0
未知年龄
2.5. Class ASAE_FSDKEngine
2.5.1. 功能描述
这个类具体实现了年龄检测的功能
2.5.2. 构造函数
2.5.2.1. ASAE_FSDKEngine()
2.5.3. 成员函数
2.5.3.1. ASAE_FSDKError ASAE_FSDK_InitAgeEngine(String appid, String
sdkkey)
这个函数功能为初始化引擎。创建对象后,必须先于其他成员函数调用,否则其他成员函数会返回
MERR_BAD_STATE
参数:
String appid
用户申请 SDK 时获取的 App Id
String sdkkey
用户申请 SDK 时获取的 SDK Key
返回值:
返回 ASAE_FSDKError 对象,具体错误信息参考 Class ASAE_FSDKError
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
8
2.5.3.2. ASAE_FSDKError ASAE_FSDK_AgeEstimation_Video(byte[] data,
int width, int height, int format, List<ASAE_FSDKFace> faces,
List<ASAE_FSDKAge> ages)
这个函数功能为检测输入的视频帧中对应人脸的年龄,输出结果和人脸框以及角度参数有较大
系。
参数:
byte[] data
输入的图像数据
int width
图像宽度
int height
图像高度
int format
图像格式
List<ASAE_FSDKFace>
faces
输入的人脸信息需要放到到该列表里。
List<ASAE_FSDKAge>
ages
输出对应 faces 列表顺序的年龄信息,注意 ASAE_FSDKAge 对象
引擎内部重复使用,如需保存,clone 一份 ASAE_FSDKAge 对象
或另外保存
返回值:
返回 ASAE_FSDKError 对象,具体错误信息参考 Class ASAE_FSDKError
2.5.3.3. ASAE_FSDKError ASAE_FSDK_AgeEstimation_Image(byte[] data,
int width, int height, int format, List<ASAE_FSDKFace> faces,
List<ASAE_FSDKAge> ages)
这个函数功能为检测输入的图像中对应人脸的年龄,输出结果和人脸框以及角度参数有较大关系。
参数:
byte[] data
输入的图像数据
int width
图像宽度
int height
图像高度
int format
图像格式
List<ASAE_FSDKFace>
faces
输入的人脸信息需要放到到该列表里。
List<ASAE_FSDKAge>
ages
输出对应 faces 列表顺序的年龄信息,注意 ASAE_FSDKAge 对象
引擎内部重复使用,如需保存,clone 一份 ASAE_FSDKAge 对象
或另外保存
返回值:
返回 ASAE_FSDKError 对象,具体错误信息参考 Class ASAE_FSDKError
2.5.3.4. ASAE_FSDKError ASAE_FSDK_UninitAgeEngine()
这个函数功能为销毁引擎,释放占用的内存资源。
返回值:
返回 ASAE_FSDKError 对象,具体错误信息参考 Class ASAE_FSDKError
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
9
2.5.3.5. ASAE_FSDKError ASAE_FSDK_GetVersion(ASAE_FSDKVersion
version)
这个函数功能为获取 SDK 版本信息
参数:
ASAE_FSDKVersion
version
版本信息对象 参考 Class ASAE_FSDKVersion
返回值:
返回 ASAE_FSDKError 对象,具体错误信息参考 Class ASAE_FSDKError
2.5.4. 类常量
2.5.4.1. 颜色格式
引擎支持的颜色格式
CP_PAF_NV21
0x802
8-bit Y 层,之后是 8-bit 2x2 采样的 UV交织层
2.5.4.2. 人脸角度
检测结果中的人脸角度
ASAE_FOC_0
0x1
0
ASAE_FOC_90
0x2
90
ASAE_FOC_270
0x3
270
ASAE_FOC_180
0x4
180
ASAE_FOC_30
0x5
30
ASAE_FOC_60
0x6
60
ASAE_FOC_120
0x7
120
ASAE_FOC_150
0x8
150
ASAE_FOC_210
0x9
210
ASAE_FOC_240
0xa
240
ASAE_FOC_300
0xb
300
ASAE_FOC_330
0xc
330
ArcSoft, Inc.
©2017 ArcSoft, Inc. All rights reserved.
10
示例代码
ASAE_FSDKEngine engine = new ASAE_FSDKEngine();
// 用来存放检测到的人脸信息列表
List<ASAE_FSDKAge> result = new ArrayList<ASAE_FSDKAge>();
List<ASAE_FSDKFace> input = new ArrayList<ASAE_FSDKFace>();
//这里人脸框和角度,请根据实际对应图片中的人脸框和角度填
input.add(new ASAE_FSDKFace(new Rect(210, 178, 478, 446), ASAE_FSDKEngine.ASAE_FOC_0));
//初始化人脸检测引擎,使用时请替换申请APPID SDKKEY
ASAE_FSDKError err = engine.ASAE_FSDK_InitAgeEngine("APPID","SDKKEY");
Log.d("com.arcsoft", "ASAE_FSDK_InitAgeEngine = " + err.getCode());
//输入的 data 数据为 NV21 格式(如 Camera NV21 格式的 preview 据),其中 height 不能为奇
数,人脸检测返回结果保存在 result
err = engine.ASAE_FSDK_AgeEstimation_Image(data, width, height,
ASAE_FSDKEngine.CP_PAF_NV21, input, result);
Log.d("com.arcsoft", "ASAE_FSDK_AgeEstimation_Image =" + err.getCode());
Log.d("com.arcsoft", "Face=" + result.size());
for (ASAE_FSDKAge age : result) {
Log.d("com.arcsoft", "Age:" + age.getAge());
}
//销毁人脸检测引擎
err = engine.ASAE_FSDK_UninitAgeEngine();
Log.d("com.arcsoft", "ASAE_FSDK_UninitAgeEngine =" + err.getCode());

Navigation menu