人脸聚类SDK提供人像聚类的能力,方便将属于同一个人的照片聚成一类,常应用于智能相册中。
支持平台 | Android、iOS、Windows、Mac |
---|---|
内存占用 | <10M (测试设备OppoR11) |
支持角度 | yaw ≤ ±90° pitch ≤ ±90° |
支持输入格式 | RGBA8888、BGRA8888、BGR888、RGB888、NV21、NV12、YUV420P |
支持最小输入尺寸 | 短边128 |
支持单张图片最大人脸数 | 10 |
人脸比对速度 | <18ms(测试设备iPhone7) |
人脸识别及相似度相关头文件 bef_effect_ai_face_clustering.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_fc_create(bef_effect_handle_t *handle);
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 创建的人脸聚类句柄 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
android接口
BEF_SDK_API bef_effect_result_t bef_effect_ai_face_cluster_check_license( JNIEnv* env, jobject context, bef_effect_handle_t handle, const char *license_path );
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
env | JNIEnv * | jni环境 |
context | jobject | jni对象 |
handle | bef_effect_handle_t | 已创建的人脸聚类句柄 |
license_path | const char * | 授权文件路径 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
ios接口
BEF_SDK_API bef_effect_result_t bef_effect_ai_face_cluster_check_license( bef_effect_handle_t handle, const char *license_path );
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 已创建的人脸聚类句柄 |
license_path | const char * | 授权文件路径 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_fc_set_param( bef_effect_handle_t handle, bef_ai_fc_param_type type, float value );
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 已创建的人脸聚类检测句柄 |
type | bef_face_detect_type | 参考bef_ai_fc_param_type |
value | float | 具体设置的值 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_fc_do_clustering( bef_effect_handle_t handle, float *const features, const int num_samples, int *clusters );
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
features | float *const | 人脸特征,大小为 num_samples * FACE_FEATURE_DIM |
num_samples | const int | 人脸的数量 |
clusters | int * | 输出的人脸聚类结果 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_fc_release(bef_effect_handle_t handle);
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 已创建的人脸聚类句柄 |
人脸聚类相关的函数定义在com.bytedance.labcv.effectsdk.FaceCluster.java文件中。
public int init( Context context, String license )
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
context | Context | 上下文 |
license | String | 授权文件的路径 |
返回值
成功返回BEF_RESULT_SUC,否则返回对应的错误码
public int setDetectParam( int paramType , int paramValue )
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
paramType | Int | 参数类型 |
paramValue | int | 参数值 |
返回值
成功返回BEF_RESULT_SUC,否则返回对应的错误码
public int[] cluster( float[][] features, int numSize )
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
features | float[][] | 人脸特征向量 |
numSize | int | 人脸特征个数 |
返回值
聚类结果,每个特征所属类别的数组
备注
聚类结果result[i] = 0, 表示第i个features的属于第0类
public void release()
答:建议首先查看以下tag输出Error类型的日志:
bef_effect_ai 和SMASH_E_LOG 以及 EffectSDK
错误码请参考错误码表