人脸识别算法
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
100 | 04/27/2023 | |
101 | 07/04/2023 | |
102 | 05/20/2024 | |
200 | 08/01/2024 |
1. 算法描述¶
人脸识别主要是对人脸进行区分,判断抓拍人脸是否是白名单人员。整个算法包含人脸检测、人脸属性识别、人脸表情识别、人脸关键点、人脸过滤、人脸跟踪、人脸对齐、特征提取以及人脸比对。 其中,人脸属性可以判断人脸的眼镜、性别、口罩、胡子、年龄五个属性;人脸表情可以判断人脸7个表情,分别是正常、高兴、难过、惊讶、害怕、厌恶、生气。
-
算法精度
ALGO 阈值 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 FR TAR% 99.4 98.9 98.5 98.1 97.6 96.9 96.4 95.2 93.9 93.4 92.1 90.9 89.1 86.7 85.4 84.2 FR FAR% 2.3 1.8 1 0.7 0.4 0.1 0 0 0 0 0 0 0 0 0 0 -
算法性能
model 功能 耗时 rom ram 分辨率(w*h) 输入格式 fr_det_y24s.img 人脸检测 7.4ms 0.93m 2.3m 480*288 yuvsp420_nv12 fr_det_y36s.img 人脸检测 11.8ms 0.94m 3.2m 640*352 yuvsp420_nv12 fr_feature_as.img 人脸特征提取(小) 13.4ms 3.3m 5.0m 112*112 BGRA8888 fr_feature_am.img 人脸特征提取(中) 18.5ms 7.3m 8.9m 112*112 BGRA8888 fr_feature_al.img 人脸特征提取(大) 19.2ms 23.4m 25.2m 112*112 BGRA8888 fr_angle_y66.img 人脸角度估计 1.4ms 1.1m 1.3m 64*64 yuvsp420_nv12 fr_cos256.img 人脸特征比对模型 0.5ms 0.03m 0.3m 256*512 INT16 far101_224y_emo.img 人脸表情识别模型 5.0ms 3.6m 4.8m 224*224 yuvsp420_nv12 far101_224y_emo_s45.img 人脸表情识别模型(小) 2.4ms 0.9m 1.7m 224*224 yuvsp420_nv12 far103_224y.img 人脸属性识别模型 2.5ms 1.1m 1.7m 224*224 yuvsp420_nv12
2. 接口调用流程¶
人脸识别主要包含两个过程,一个是人脸注册过程,这个过程是生成人脸白名单(底库)。另外一个是人脸识别过程,这个过程就是对抓拍到的人脸进行识别,判断是否是白名单人员。
2.1. 注册过程¶
注册过程的接口调用:ALGO_FR_CreateHandle → ALGO_FR_InitHandle → ALGO_FR_SetParams → ALGO_FR_GetInputAttr → ALGO_FR_Detect → ALGO_FR_Align → ALGO_FR_FeatureExtract, 最后将提取到的特征保存起来成为底库。
2.2. 识别过程¶
识别过程的接口调用为:ALGO_FR_CreateHandle → ALGO_FR_InitHandle → ALGO_FR_SetParams → ALGO_FR_GetInputAttr → ALGO_FR_Detect → ALGO_FR_Align → ALGO_FR_FeatureExtract → ALGO_FR_FeatureCompare,通过抓拍到的图片特征和底库的特征进行比对,判断是不是同一个人。
2.3. 人脸属性识别过程¶
人脸属性识别的接口调用:ALGO_FR_CreateHandle → ALGO_FR_InitHandle → ALGO_FR_SetParams → ALGO_FR_GetInputAttr → ALGO_FR_Detect → ALGO_FR_Attr,通过抓拍到的人脸图片进行人脸属性识别。 注意:裁剪后送入该接口的人脸图像需要做一定范围的外扩,外扩的宽高分别为:1.25 × bbox_w, 1.25 × bbox_h
3. 功能模块API¶
API名 | 功能 |
---|---|
ALGO_FR_CreateHandle | 创建句柄 |
ALGO_FR_InitHandle | 初始化句柄 |
ALGO_FR_GetInputAttr | 获取模型的输入属性信息 |
ALGO_FR_SetParams | 设置算法可配置参数 |
ALGO_FR_Detect | 人脸检测 |
ALGO_FR_Align | 人脸对齐 |
ALGO_FR_Attr | 人脸属性识别 |
ALGO_FR_FaceQuality | 执行人脸角度估计以及质量过滤 |
ALGO_FR_FeatureExtract | 特征提取 |
ALGO_FR_FeatureCompare | 特征比对 |
ALGO_FR_BatchFeatureCompare | 执行批量人脸特征比对(需要拷贝一份比对特征) |
ALGO_FR_BatchFeatureCompareV2 | 执行批量人脸特征比对(不需要拷贝比对特征) |
ALGO_FR_DeinitHandle | 反初始化句柄 |
ALGO_FR_ReleaseHandle | 释放句柄 |
3.1. ALGO_FR_CreateHandle¶
-
功能
创建句柄。
-
语法
MI_S32 ALGO_FR_CreateHandle(void **handle);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.2. ALGO_FR_InitHandle¶
-
功能
初始化句柄。
-
语法
MI_S32 ALGO_FR_InitHandle(void *handle, const FrInit_t *init_info);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 init_info 算法初始化参数,详见FrInit_t 输入 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
-
举例
{ int ret=0; FrInit_t initParam; std::string bin = "/config/dla/ipu_firmware.bin"; std::string detModelPath = "./models/fr_det_y24s.img"; std::string attrModelPath = "./models/far103_224y.img"; std::string featureModelPath = "./models/fr_feature_am.img"; std::string cosModelPath = "./models/fr_cos256.img"; std::string qualityModelPath = "./models/fr_angle_y66.img"; std::string emoModelPath = "./models/far101_224y_emo.img"; memcpy(initParam.ipu_firmware_path, bin.c_str(), bin.length()+1); memcpy(initParam.det_model_path, detModelPath.c_str(), detModelPath.length()+1); memcpy(initParam.attr_model_path, attrModelPath.c_str(), attrModelPath.length()+1); memcpy(initParam.feature_model_path, featureModelPath.c_str(), featureModelPath.length()+1); memcpy(initParam.cos_model_path, cosModelPath.c_str(), cosModelPath.length() + 1); memcpy(initParam.quality_model_path, qualityModelPath.c_str(), qualityModelPath.length() + 1); memcpy(initParam.emo_model_path, emoModelPath.c_str(), emoModelPath.length() + 1); initParam.create_device = true; initParam.destroy_device = true; initParam.fr_mode = FR_MODE_FACE_RECOG | FR_MODE_FACE_DET | FR_MODE_FACE_QUALITY; ret = ALGO_FR_InitHandle(handle, &initParam); }
3.3. ALGO_FR_GetInputAttr¶
-
功能
获取人脸检测模型、人脸属性模型、人脸质量模型的属性信息,包括模型输入分辨率以及输入数据的类型。
-
语法
MI_S32 ALGO_FR_GetInputAttr(void *handle, FrInputAttr_t *det_input_attr, FrInputAttr_t *attr_input_attr, FrInputAttr_t *quality_input_attr);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 det_input_attr 保存人脸检测模型输入属性的指针,详见FrInputAttr_t 输入/输出 attr_input_attr 保存人脸属性模型输入属性的指针,详见FrInputAttr_t 输入/输出 quality_input_attr 保存人脸质量模型输入属性的指针,详见FrInputAttr_t 输入/输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.4. ALGO_FR_SetParams¶
-
功能
设置算法的可配置参数。
-
语法
MI_S32 ALGO_FR_SetParams(void *handle, const FrParams_t *params);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 params 算法参数,详见FrParams_t 输入 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.5. ALGO_FR_Detect¶
-
功能
人脸检测。
-
语法
MI_S32 ALGO_FR_Detect(void *handle, const FrInput_t *algo_input, const FrDetectMode_e *detect_mode, FrBox_t bboxes[MAX_FR_OBJECT], MI_S32 *num_bboxes);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 algo_input 输入图像的buffer信息,详见FrInput_t 输入 detect_mode 检测的模式,详见FrDetectMode_e 输入 bboxes 用于保存人脸检测结果框的数组,详见FrBox_t 输出 num_bboxes 用于保存人脸检测结果框个数的指针 输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.6. ALGO_FR_Align¶
-
功能
人脸对齐。
-
语法
MI_S32 ALGO_FR_Align(void *handle, MI_U8* image_data, MI_S32 type, FrBox_t *detect_box, MI_U8* out_data);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 image_data 原图像数据指针,图像的宽高要等于初始化参数FrInit_t设置中的disp_width、disp_height 输入 type 图像类型,yuv420_nv12为1,argb8888为0 输入 detect_box 在输入图像上,需要进行对齐的人脸检测框,详见FrBox_t 输入 out_data 输出对齐后的112x112ARGB888数据,不能为空 输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.7. ALGO_FR_Attr¶
-
功能
人脸属性识别。
-
语法
MI_S32 ALGO_FR_Attr(void *handle, const FrInput_t *algo_input, FrAttr_t *results);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 algo_input 输入图像的buffer信息,详见FrInput_t 输入 results 人脸属性结果,详见FrAttr_t 输出 -
说明
传入到该接口的人脸buff需要做一定范围的外扩操作,外扩的宽高分别为:+0.25 × bbox_w,+0.25 × bbox_h
-
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.8. ALGO_FR_FaceQuality¶
-
功能
执行人脸角度估计以及质量过滤。
-
语法
MI_S32 ALGO_FR_FaceQuality(void *handle, const FrInput_t *algo_input, FrBox_t *detect_box, FaceQualityAngle_t *angle);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 algo_input 输入图像的buffer信息,详见FrInput_t 输入 detect_box 人脸检测输出框指针,详见FrBox_t 输入/输出 angle 人脸角度输出结果,详见FaceQualityAngle_t 输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.9. ALGO_FR_FeatureExtract¶
-
功能
人脸特征提取。
-
语法
MI_S32 ALGO_FR_FeatureExtract(void *handle, MI_U8* image_data, MI_S16* out_feature);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 image_data 输入Algin接口出来的112*112图像数据 输入 out_feature 人脸的特征数据,长度为512的MI_S16特征 输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.10. ALGO_FR_FeatureCompare¶
-
功能
特征比对。
-
语法
MI_S32 ALGO_FR_FeatureCompare(MI_S16* feature1, MI_S16* feature2, MI_S32 length, MI_FLOAT* similarity);
-
形参
参数名称 描述 输入/输出 feature1 第一张人脸的特征 输入 feature2 第二张人脸的特征 输入 length 特征长度,当前版本为512 输入 similarity 两张人脸的相似度 输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.11. ALGO_FR_BatchFeatureCompare¶
-
功能
执行批量人脸特征比对(需要拷贝一份比对特征)。
-
语法
MI_S32 ALGO_FR_BatchFeatureCompare(void *handle, MI_S16* single_feature, MI_S16* batch_features, MI_S32 batch, MI_FLOAT* similarity);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 single_feature 特征比对的目标特征(1个) 输入 batch_features 特征比对的源特征(batch个) 输入 batch 特征比对的源特征个数 输入 similarity 特征比对输出的相似度 输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.12. ALGO_FR_BatchFeatureCompareV2¶
-
功能
执行批量人脸特征比对(不需要拷贝比对特征)。
-
语法
MI_S32 ALGO_FR_BatchFeatureCompareV2(void *handle, const FrInput_t *single_feature, const FrInput_t *batch_features, MI_S32 batch, MI_FLOAT* similarity);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 single_feature 特征比对的目标特征(1个),以MMA buffer形式传入 输入 batch_features 特征比对的源特征(batch个),以MMA buffer形式传入 输入 batch 特征比对的源特征个数 输入 similarity 特征比对输出的相似度 输出 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.13. ALGO_FR_DeinitHandle¶
-
功能
停止算法,反初始化句柄。
-
语法
MI_S32 ALGO_FR_DeinitHandle(void *handle);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
3.14. ALGO_FR_ReleaseHandle¶
-
功能
释放句柄。
-
语法
MI_S32 ALGO_FR_ReleaseHandle(void *handle);
-
形参
参数名称 描述 输入/输出 handle 句柄 输入 -
返回值
返回值 描述 0 成功 其它 失败(详见错误码) -
依赖
头文件:algo_fr_api.h
库文件:libsgsalgo_fr.so, libsgsalgo_fr.a
4. 数据类型¶
数据类型 | 定义 |
---|---|
FrMode_e | 算法模式 |
FrInit_t | 算法的初始化参数 |
FrInputAttr_t | 模型输入属性结构体 |
FrParams_t | 算法可配置参数结构体 |
FrInput_t | 模型输入属性结构体 |
FrDetectMode_e | 人脸检测模式 |
FrPoint_t | 关键点坐标结构体 |
FrBox_t | 人脸检测框结构体 |
FrAttr_t | 人脸属性信息结构体 |
FaceQualityAngle_t | 人脸角度输出结构体 |
4.1. FrMode_e¶
-
说明
算法模式。
-
定义
typedef enum{ FR_MODE_FACE_DET=0x01, FR_MODE_FACE_RECOG=0x02, FR_MODE_FACE_ATTR=0x04, FR_MODE_FACE_EMOTION=0x08, FR_MODE_FACE_QUALITY=0x10, }FrMode_e;
-
成员
成员名称 描述 FR_MODE_FACE_DET 人脸检测 FR_MODE_FACE_RECOG 人脸识别 FR_MODE_FACE_ATTR 人脸属性识别 FR_MODE_FACE_EMOTION 人脸表情识别 FR_MODE_FACE_QUALITY 人脸角度估计以及质量过滤 -
相关数据类型及接口
4.2. FrInit_t¶
-
说明
算法的初始化参数。
-
定义
typedef struct { char ipu_firmware_path[MAX_FR_STRLEN]; // ipu_firmware.bin path char det_model_path[MAX_FR_STRLEN]; // detect model path, set when chose FR_MODE_FACE_DET mode char feature_model_path[MAX_FR_STRLEN]; // feature extraction model path, set when chose FR_MODE_FACE_RECOG mode char cos_model_path[MAX_FR_STRLEN]; // feature comparasion model path, set when chose FR_MODE_FACE_RECOG mode char attr_model_path[MAX_FR_STRLEN]; // face attr model path, set when chose FR_MODE_FACE_ATTR mode char emo_model_path[MAX_FR_STRLEN]; // face emotion model path, set when chose FR_MODE_FACE_EMOTION mode char quality_model_path[MAX_FR_STRLEN]; // face angle model path, set when chose FR_MODE_FACE_QUALITY mode MI_BOOL create_device; // set false to create ipu device outside algo lib MI_BOOL destroy_device; // set false to destroy ipu device outside algo lib MI_U8 fr_mode; } FrInit_t;
-
成员
成员名称 描述 ipu_firmware_path ipu_firmware_path路径 det_model_path 检测模型的路径 feature_model_path 特征提取模型的路径 cos_model_path 相似度模型的路径 attr_model_path 人脸属性识别模型的路径 emo_model_path 人脸表情识别模型的路径 quality_model_path 人脸质量模型的路径 create_device 是否在算法库内进行IPUDevice的创建,默认为true,即在库内创建,在需同时调用算法库时可设置为false并在外部手动创建IPUDevice destroy_device 是否在算法库内进行IPUDevice的销毁,默认为true,即在库内销毁,在需同时调用算法库时可设置为false并在外部手动销毁IPUDevice fr_mode 算法模式,默认为人脸识别模式 -
相关接口
4.3 FrInputAttr_t¶
-
说明
模型输入属性结构体
-
定义
typedef struct { MI_U32 width; MI_U32 height; MI_IPU_ELEMENT_FORMAT format; } FrInputAttr_t;
-
成员
成员名称 描述 width 模型输入数据的宽 height 模型输入数据的高 format 模型输入pixel的类型 -
相关数据类型及接口
4.4. FrParams_t¶
-
说明
算法可配置参数结构体
-
定义
typedef struct { MI_S32 disp_width; MI_S32 disp_height; // detect MI_FLOAT det_threshold; MI_S32 box_min_size; MI_FLOAT face_angle_ratio; MI_FLOAT eye_distance; // attr, emotion MI_FLOAT attr_threshold; // track MI_FLOAT motion_sensitive; // face quality MI_FLOAT face_quality_threshold; } FrParams_t;
-
成员
成员名称 描述 disp_width 显示码流的分辨率宽度(用于映射检测框位置和作为人脸对齐的原图尺寸) disp_height 显示码流的分辨率高度(用于映射检测框位置和作为人脸对齐的原图尺寸) det_threshold 最小人脸检测score,取值0.0~1.0,建议值0.5,数值调大:误检减少但召回率降低,数值调高:召回率提升但误检增多 box_min_size 最小人脸检测框大小,建议值为20(像素) face_angle_ratio 头部偏转/俯仰角度,要求(0.0~1.0),值越大要求角度越正,建议值为0.25 eye_distance 最小人脸瞳距,建议值为20(像素) attr_threshold 人脸属性识别、人脸表情识别的score阈值,取值0.0~1.0,建议值0.5 motion_sensitive 人脸运动幅度要求,取值0.0~1.0,值越大要求人脸运动幅度越小 face_quality_threshold 人脸质量的score阈值,取值0.0~1.0,建议值0.3 -
相关数据类型及接口
4.5 FrInput_t¶
-
说明
模型输入属性结构体
-
定义
typedef struct { void *p_vir_addr; MI_PHY phy_addr; MI_U32 buf_size; MI_U64 pts; } FrInput_t;
-
成员
成员名称 描述 p_vir_addr 输入buffer的虚拟地址 phy_addr 输入buffer的物理地址 buf_size 输入buffer的长度 pts 输入buffer时间戳 -
相关数据类型及接口
4.6. FrDetectMode_e¶
-
说明
人脸检测模式。
-
定义
typedef enum{ FR_DETECT_MODE_DET_MAX_FACE=0, FR_DETECT_MODE_DET_ALL_FACE, FR_DETECT_MODE_TRACK_MAX_FACE, FR_DETECT_MODE_TRACK_ALL_FACE, }FrDetectMode_e;
-
成员
成员名称 描述 FR_DETECT_MODE_DET_MAX_FACE 表示检测,取最大人脸 FR_DETECT_MODE_DET_ALL_FACE 表示检测,取所有人脸 FR_DETECT_MODE_TRACK_MAX_FACE 表示视频输入,取最大人脸,加入跟踪id FR_DETECT_MODE_TRACK_ALL_FACE 表示视频输入,取所有人脸,加入跟踪id -
相关数据类型及接口
4.7. FrPoint_t¶
-
说明
关键点坐标结构体。
-
定义
typedef struct FrPoint_ { MI_FLOAT x; MI_FLOAT y; }FrPoint_t;
-
成员
成员名称 描述 x 关键点像素的横坐标 y 关键点像素的纵坐标 -
相关数据类型及接口
4.8. FrBox_t¶
-
说明
人脸检测框结构体。
-
定义
typedef struct FrBox_ { MI_FLOAT x1; MI_FLOAT y1; MI_FLOAT x2; MI_FLOAT y2; MI_FLOAT score; FrPoint_t landmark[FR_POINT_LEN]; MI_U64 face_id; // track id MI_BOOL befiltered; MI_FLOAT move_sensitive; // 越小表示人脸运动幅度越大 }FrBox_t;
-
成员
成员名称 描述 X1 人脸框的左上点的x坐标 Y1 人脸框的左上点的y坐标 X2 人脸框的右下点的x坐标 Y2 人脸框的右下点的y坐标 score 人脸的置信度 landmark 人脸5个关键点 face_id 人脸的跟踪id befiltered 人脸是否被过滤,True为被过滤了 move_sensitive 人脸运动幅度,取值0.0~1.0,值越大表示人脸运动幅度越小 -
相关数据类型及接口
4.9. FrAttr_t¶
-
说明
人脸属性信息结构体。
-
定义
typedef struct FrAttr_t_ { MI_BOOL eye_glass; MI_BOOL male; MI_BOOL mask; MI_S32 age; MI_BOOL mustache; MI_S32 emotion; }FrAttr_t;
-
成员
成员名称 描述 eye_glass 是否带眼镜 male 是否为男性 mask 是否带口罩 age 年龄 mustache 是否有胡子 emotion 表情类别,对应关系如下:0:正常、1:高兴、2:难过、3:惊讶、4:害怕、5:厌恶、6:生气 -
相关数据类型及接口
4.10. FaceQualityAngle_t¶
-
说明
人脸角度输出结构体
-
定义
typedef struct FaceQualityAngle_ { MI_FLOAT pitch; MI_FLOAT yaw; MI_FLOAT roll; MI_FLOAT quality; }FaceQualityAngle_t;
-
成员
成员名称 描述 pitch 人脸俯仰角 yaw 人脸偏航角 roll 人脸翻滚角 quality 人脸角度综合得分 -
相关数据类型及接口
5. 错误码 ¶
错误码 | 数值 | 描述 |
---|---|---|
E_ALGO_SUCCESS | 0 | 操作成功 |
E_ALGO_HANDLE_NULL | 1 | 算法句柄为空 |
E_ALGO_INVALID_PARAM | 2 | 无效的输入参数 |
E_ALGO_DEVICE_FAULT | 3 | 硬件错误 |
E_ALGO_LOADMODEL_FAIL | 4 | 加载模型失败 |
E_ALGO_INIT_FAIL | 5 | 算法初始化失败 |
E_ALGO_NOT_INIT | 6 | 算法尚未初始化 |
E_ALGO_INPUT_DATA_NULL | 7 | 算法输入数据为空 |
E_ALGO_INVALID_INPUT_SIZE | 8 | 无效的算法输入数据维度 |
E_ALGO_INVALID_LICENSE | 9 | 无效的license许可 |
E_ALGO_MEMORY_OUT | 10 | 内存不足 |
E_ALGO_FILEIO_ERROR | 11 | 文件读写操作错误 |
E_ALGO_INVALID_OUTPUT_SIZE | 12 | 无效的算法输出数据维度 |
E_ALGO_INVALID_DECODE_MODE | 13 | 无效的解码模式 |
E_ALGO_MODEL_INVOKE_ERROR | 14 | 模型invoke错误 |
E_ALGO_INVALID_FILE | 15 | 无效的文件 |