赞
踩
- 1、简介
- 1.1 产品概述
- 1.2 规格信息
- 1.3 兼容性
- 1.4 授权方式
- 1.5 产品定价
- 2、SDK详细介绍
- 2.1 名词解释
- 2.2 SDK简介
- 2.3 SDK文件结构
- 2.4 激活工具
- 2.5 Demo示例工程
- 2.6 特征抽取模型选择
- 3、功能接口
- 3.1 人脸检测及设置
- 3.1.1 人脸检测track接口(传入图片)
- 3.1.2 人脸检测track接口(传入二进制图片buffer)
- 3.1.3 人脸检测track_max_face接口
- 3.1.4 人脸检测track_max_face接口(传入二进制图片buffer)
- 3.1.5 人脸检测设置接口
- 3.1.6 USB摄像头检测
- 3.1.7 人脸检测track接口(传入opencv的mat)
- 3.2 人脸对比及识别接口
- 3.2.1 人脸对比接口
- 3.2.2 人脸对比接口(传入二进制图片buffer)
- 3.3 特征值提取接口
- 3.3.1 特征值提取接口(通过传入图片)
- 3.3.2 特征值提取接口(通过传入二进制图片buffer)
- 3.3.3 特征值提取接口(通过传入opencv的视频帧)
- 3.3.4 特征值比对接口
- 3.4 属性及质量接口
- 3.4.1 人脸属性(通过传入图片)
- 3.4.2 人脸属性(通过传入二进制图片buffer)
- 3.4.3 人脸质量接口(通过传入图片)
- 3.4.4 人脸质量接口(通过传入二进制图片buffer)
- 4、错误码及错误信息
- 5、常见问题
人脸离线识别SDK,包含人脸采集、活体检测、人脸对比/识别、人脸库管理等能力,并全部离线化、本地化。此SDK一经授权激活,可完全在无网环境下工作,所有数据皆在设备本地运行处理,可根据业务需要进行灵活的上层业务开发。核心能力分布如下图所示,后文会详细介绍。
适用场景特点
备注:以上指标,由最新版SDK运行在真实设备上,采用真实数据集所得,但算法性能受实际运行设备、实际数据集等情况影响,以上数字仅供参考。
按设备授权
离线识别SDK授权方式为以设备维度为主,每台硬件设备需要一个独立的授权,此授权的校验是基于设备的硬件指纹(指纹的获取SDK初始化时会自动读取并展示),被授权的设备,将在有效期内可以运行SDK。
重新拉取授权的情况:设备授权不变,仅需要重新激活而已。
授权失效的情况:需要重新购买序列号,之前的序列号失效。
序列号
序列号为管理授权的依据。每台被授权的设备,都将对应一个序列号,用于标识对应的设备信息及授权记录。序列号的形式为16位随机英文数字组合,如:3G59-M5JK-889A-7LQA
。您在管理后台购买SDK授权时,购买成功后系统将会发放对应数量的序列号。序列号不限制平台版本,任何开发平台的离线SDK,都可以使用此序列号激活。序列号不限制账号,可供任何设备激活使用。
激活
已购买的序列号,是用于激活的唯一凭证,激活流程主要是将序列号与具体的硬件进行绑定(硬件指纹),从而生成对应硬件设备的授权文件(License),SDK运行前,将会校验授权文件是否和实际硬件信息相匹配。
注意:激活时,设备系统时间需要和当前时间一致,如果差距太大(例如偏差5min以上),激活则无法完成。
联网激活
此种激活方式,适用于设备可首次联网的情况,优势在于激活过程极为简单。您只需将SDK安装到需要激活的设备上,然后填写已经购买的序列号,在界面上点击激活即可(为使用方便,我们为您设计了一个简单的激活用户界面)
如激活成功,将会立即在界面上有明确的弹窗提示,请留意查看;如激活失败,也会反馈具体的错误信息。
离线激活
此种激活方式,适用于设备完全不可联网的情况,优势在于可避免联网激活,满足业务对网络的严格要求,以及设备批量注册需求。您需要在后台配置好硬件指纹并完成和序列号的绑定,然后将授权文件放到SDK的指定位置。
授权有效期
申请通过后,每个账户给2个测试序列号,用于激活及SDK试用,有效期为自激活日期后的3个月。这两个序列号在有效期内完全免费,您可以用于进行产品试用。试用期到期后也可以在后台申请延期,填写具体延期理由即可。
正式购买
正式购买的序列号,试用期限为永久有效。此「永久」是指绑定到具体设备维度,但如已绑定的硬件设备变更后,授权则可能会失效。
离线SDK的授权基于设备维度,每个序列号仅可以授权一台设备。每个账号购买的序列号会累计计算,累计购买量越多,单价越便宜。具体如下所示:
累计购买授权数量 | 每个授权单价 |
---|---|
0~1000 | 299元/个 |
1001~5000 | 249元/个 |
>5000 | 199元/个 |
名词 | 定义 |
---|---|
SDK | Linux离线人脸识别sdk |
gcc | Linux平台下c++代码编译器 |
License | 人脸识别激活所需要的激活文件,可利用激活工具生成 |
key | 人脸激活所需的序列号,可从百度官网申请及购买(ai.baidu.com) |
feature | 人脸特征值,用来表示人脸特征的512个浮点值 |
face_token | 对应人脸图片的唯一编码,若一个人上传了2张不同图片,则可能有2个不同的face_token,它和图片一一对应 |
本SDK适应于Linux(Centos、Ubuntu)平台下的人脸识别系统,分别在Centos6.3 gcc4.8.2 以及Ubuntu16.04 gcc5.4.0上编译(其他版本或平台的linux不保证兼容)。SDK采用动态库so方式提供给开发者,另外随sdk附带一个鉴权激活工具(可运行脚本 tool-ubuntu.sh或tool-centos运行,这2文件分别对应不同的OS),通过该激活工具可生成正常接入SDK的激活license文件(生成两个文件license.ini和license.key)达到通过鉴权,正常使用SDK的目的。
Sdk提供动态库BaiduFaceApi.so
及头文件baidu_face_api.h
。另外有附带的demo例子代码test-face-api以及鉴权激活工具tool。在此之外,还附带支撑sdk使用的人脸识别模型文件等在文件夹face-resource中,该文件夹在test-face-api例子工程里面(该文件夹存放路径请参考test-face-api,默认存放路径为您要开发的可执行文件路径同一目录下。若存放不对,可能会影响sdk正常使用,另外请勿删除该文件夹)。
为运行您开发的可执行文件,需要用到一些底层的库文件支持,相关库文件在test-face-api
的lib3目录中(主要有opencv库,ffmpeg库,json,curl库等)。此外,随工程还有一些编译用的Makefile文件及sh脚本文件等,可通过Makefile编译工程,sh脚本文件运行编译的可执行文件。Makefile文件分别命名为Makefile_centos6.3及Makefile_ubuntu,若要编译相应平台版本,请把他重命名为Makefile。
在百度官网申请系列号Key后,在test-face-api
工程下有个tool_ubuntu.sh和tool_centos.sh。可根据您的OS平台选择对应sh文件运行,在运行之前,先修改脚本文件的最后一行,把如05QU-ATMA-SCWY-CAUB
字样的key修改为您在百度官网申请到的key,然后再运行sh脚本文件(若是centos平台,输入sh tool_centos.sh即可)。激活成功后会在激活目录生成license.ini以及license.key文件,这2个文件是作为sdk通过鉴权使用的配置文件,请勿删除。
如果你不方便使用网络,可以通过离线激活进行操作:
通过如上的激活工具,获取到设备指纹信息,通过序列号管理后台找到需要绑定的序列号,选择「离线激活」,填入指纹设备信息,即可下载获取到license.ini文件和license.key文件,把这2个文件拷贝到test-face-api
目录下,运行可执行文件亦可通过鉴权。
Demo示例工程代码在test-face-api中的cpp目录里面,其中的test_face.cpp里面有入口方法main(),展示了如何集成百度人脸识别离线SDK。即正确编写Makefile文件及引入头文件include以及对应的一些库文件。另外为了示例视频人脸跟踪等,用到了一些opencv的库文件以及一些实现demo的支持文件,如json等。(这些支持文件均为代码开源或是开源库)
在test-face-api中的test_face.cpp的main()方法中,有使用sdk的各个接口方法示例。接入sdk及其简单,分3步3行代码。如下:
- BaiduFace *api = new BaiduFaceApi();
- // 第一步:实例化人脸SDK
-
- api->sdk_init();
- // 第二步:初始化人脸SDK
-
- std::string res = api->face_attr(“方法的传入参数,此处省略”);
- // 第三步,调用功能接口,user_add为人脸注册接口,res为调用功能接口后的返回。
如上,即为调用sdk功能的最简单3步3行代码,当然调用SDK后,在程序退出后,需要释放sdk防止内存泄漏,需要删除SDK实例化的指针delete api
;
示例工程中:分别有以下几个示例cpp文件对应几个常用sdk的调用demo。
文件名 | 功能 |
---|---|
setting.cpp | 人脸检测、识别等参数设置 |
compare.cpp | 人脸1:1比对、1:N 搜索,人脸特征值提取,特征值对比等 |
liveness.cpp | USB摄像头视频信息人脸实时检测,图片检测人脸信息等 |
cv_help.cpp | 绘制人脸跟踪框、人脸关键点位等的工具类 |
模型介绍
v1.1版本起,SDK提供生活照和证件照两种特征抽取模型,主要适用场景如下:
使用方法
在SDK初始化方法中控制:sdk_init(true); //传入true为使用证件照模型,传入fasle为普通生活照模型
注意事项
温馨提示:一经选择一个模型,则所有业务流程的特征抽取处理,都会使用此模型,两个模型不可同时作用。如业务中设计证件照的特征抽取,请务必选择使用证件照模型。
SDK实现的主要功能有人脸实时跟踪检测、人脸特征值提取、1:1人脸对比、特征值的比对和通过USB或笔记本自带摄像头检测视频帧,返回识别出的人脸信息等,另外支持对人脸检测进行设置,达到根据设置进行识别的目的。各接口功能及传入参数和返回结果(返回结果一般为json格式的字符串)描述如下:
3.1.1 人脸检测track接口(传入图片)
方法名
track
方法说明
人脸检测,返回人脸信息
请求信息
参数 | 必须 | 类型 | 描述 |
---|---|---|---|
out | 是 | std::vector | 返回的检测到的人脸图片信息结构体 std::vector *& out 通过传入TrackFaceInfo的结构体指针引用,在检测到人脸信息后,用该引用返回人脸信息。TrackedFaceInfo结构体为检测到的人脸信息,其中:box为检测到的人脸框(为FaceInfo结构体,包含人脸框大小,中心点坐标,人脸宽度等信息)landmarks为检测到的人脸关键点,一般为144个。score为人脸打分headPose的向量组为人脸x,y,z的三个角度 |
image | 是 | string | 人脸图片信息,根据image_type,传入图片内容 |
img_type | 是 | int | 传入的图片类型。为1时候表示base64编码的图片,为2时候表示传入图片的本地路径。BASE64:图片的base64值;FACE_FILE:图片的本地文件路径地址; |
maxTrackObjNum | 是 | int | 最多检测人脸数量,默认为1,最大不超过5 |
返回信息
返回结果为int,表示检测到几个人脸信息,1为1个人,0为没检测到人脸。
3.1.2 人脸检测track接口(传入二进制图片buffer)
方法名
track_by_buf
方法说明
人脸检测,返回人脸信息
请求信息
参数 | 必须 | 类型 | 描述 |
---|---|---|---|
out | 是 | std::vector | 返回的检测到的人脸图片信息结构体 std::vector *& out 通过传入TrackFaceInfo的结构体指针引用,在检测到人脸信息后,用该引用返回人脸信息。TrackedFaceInfo结构体为检测到的人脸信息,其中:box为检测到的人脸框(为FaceInfo结构体,包含人脸框大小,中心点坐标,人脸宽度等信息)landmarks为检测到的人脸关键点,一般为144个。score为人脸打分headPose的向量组为人脸x,y,z的三个角度 |
image | 是 | Unsigned char * | 人脸图片信息,二进制图片buffer内容 |
size | 是 | int | 二进制图片的大小 |
maxTrackObjNum | 是 | int | 最多检测人脸数量,默认为1,最大不超过5 |
返回信息
返回结果为int,表示检测到几个人脸信息,1为1个人,0为没检测到人脸。
3.1.3 人脸检测track_max_face接口
方法名
track_max_face
方法说明
检测最大人脸。
请求信息
参数 | 必须 | 类型 | 描述 |
---|---|---|---|
out | 是 | std::vector<TrackFaceInfo> | 返回的检测到的人脸图片信息结构体 std::vector *& out 通过传入TrackFaceInfo的结构体指针引用,在检测到人脸信息后,用该引用返回人脸信息。TrackedFaceInfo结构体为检测到的人脸信息,其中:box为检测到的人脸框(为FaceInfo结构体,包含人脸框大小,中心点坐标,人脸宽度等信息);landmarks为检测到的人脸关键点,一般为144个;score为人脸打分;headPose的向量组为人脸x,y,z的三个角度 |
image | 是 | string | 图片信息(数据大小应小于10M) |
image_type | 是 | int | 为1时候表示base64编码的图片;为2时候表示传入图片的本地路径。BASE64:图片的base64值;FACE_FILE:图片的本地文件路径地址; |
返回信息
返回结果为int,表示检测到几个人脸信息,1为1个人,0为没检测到人脸。
3.1.4 人脸检测track_max_face接口(传入二进制图片buffer)
方法名
track_max_face_by_buf
方法说明
检测最大人脸。
请求信息
参数 | 必须 | 类型 | 描述 |
---|---|---|---|
out | 是 | std::vector<TrackFaceInfo> | 返回的检测到的人脸图片信息结构体 std::vector *& out 通过传入TrackFaceInfo的结构体指针引用,在检测到人脸信息后,用该引用返回人脸信息。TrackedFaceInfo结构体为检测到的人脸信息,其中:box为检测到的人脸框(为FaceInfo结构体,包含人脸框大小,中心点坐标,人脸宽度等信息);landmarks为检测到的人脸关键点,一般为144个;score为人脸打分;headPose的向量组为人脸x,y,z的三个角度 |
image | 是 | Unsigned char * | 人脸图片信息,二进制图片buffer内容 |
size | 是 | int | 二进制图片的大小 |
返回信息
返回结果为int,表示检测到几个人脸信息,1为1个人,0为没检测到人脸。
3.1.5 人脸检测设置接口
请参考SDK工程中的代码示例及头文件baidu_face_api.h
中的定义及setting.cpp
里的代码注释。
3.1.6 USB摄像头检测
请参考TestFaceApi中的示例liveness.cpp中的usb_track_face_info
,该方法中用到了人脸检测track视频帧,接口如下3.1.7:
3.1.7 人脸检测track接口(传入opencv的mat)
方法名
Track
方法说明
人脸检测,返回人脸信息。
请求信息
参数 | 必须 | 类型 | 描述 |
---|---|---|---|
out | 是 | std::vector<TrackFaceInfo> | 返回的检测到的人脸图片信息结构体 std::vector *& out 通过传入TrackFaceInfo的结构体指针引用,在检测到人脸信息后,用该引用返回人脸信息。TrackedFaceInfo结构体为检测到的人脸信息,其中:box为检测到的人脸框(为FaceInfo结构体,包含人脸框大小,中心点坐标,人脸宽度等信息);landmarks为检测到的人脸关键点,一般为144个;score为人脸打分;headPose的向量组为人脸x,y,z的三个角度 |
Mat | 是 | Opencv格式的单帧图片mat | 人脸图片信息 |
maxTrackObjNum | 是 | int | 最多检测人脸数量。默认为1,最大不超过5 |
返回信息
返回结果为TrackedFaceInfo的向量指针,向量组为0时候表示没检测到人脸。TrackedFaceInfo结构体为检测到的人脸信息,其中:box为检测到的人脸框(为FaceInfo结构体,包含人脸框大小,中心点坐标,人脸宽度等信息);landmarks为检测到的人脸关键点,一般为144个;score为人脸打分;headPose的向量组为人脸x,y,z的三个角度。
3.2.1 人脸对比接口
方法名
match
方法说明
人脸对比接口(本接口中的image_type为1表示base64图片编码,为2表示文件路径,为3表示face_token)
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image1 | 是 | string | 需要对比的第一张图片,小于10M |
imgae1_type | 是 | int | 图片1类型,必选择以下三种形式之一 BASE64:图片的base64值; FACE_FILE:图片的本地文件路径地址; FACE_TOKEN:face_token 人脸标识; |
image2 | 是 | string | 需要对比的第二张图片,小于10M |
image2_type | 是 | int | 图片2类型,必选择以下三种形式之一 BASE64:图片的base64值; FACE_FILE:图片的本地文件路径地址; FACE_TOKEN:face_token 人脸标识; |
返回信息
errno信息:
data信息:
字段 | 类型 | 说明 |
---|---|---|
log_id | string | 请求日志标识 |
result | array | 识别结果列表 |
score | string | 相似度分值,0-100,百分制,保留后2位小数点 |
3.2.2 人脸对比接口(传入二进制图片buffer)
方法名
match_by_buf
方法说明
人脸对比接口(传入二进制图片buffer)
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image1 | 是 | Unsigned char * | 需要对比的第一张图片,小于10M |
size | 是 | int | 图片1的大小 |
image2 | 是 | Unsigned char * | 需要对比的第二张图片,小于10M |
size | 是 | int | 图片2的大小 |
返回信息
errno信息:
data信息:
字段 | 类型 | 说明 |
---|---|---|
log_id | string | 请求日志标识 |
result | array | 识别结果列表 |
score | string | 相似度分值,0-100,百分制,保留后2位小数点 |
3.3.1 特征值提取接口(通过传入图片)
方法名
get_face_feature
方法说明
提取人脸特征值,为512个浮点值,已加密 (本接口image_type 为1表示base64图片编码 为2表示文件路径)
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image | 是 | string | 需要检测的人脸图片,小于10M, 图片类型根据image_type参数定 |
imgae_type | 是 | int | 图片类型,必选择以下2种形式之一。 image_type为1代表BASE64,为2代表FACE_FILE。 BASE64:图片的base64值; FACE_FILE:图片的本地文件路径地址; |
feature | 是 | const float* | 通过传入const float*指针的引用,来返回提取的人脸特征值 |
返回信息
errno信息:
data信息:
int类型的特征抽取向量数。正常提取成功则返回特征值向量个数(512),若不为512则为返回的错误码.
3.3.2 特征值提取接口(通过传入二进制图片buffer)
方法名
get_face_feature_by_buf
方法说明
提取人脸特征值,为512个浮点值,已加密 (传入二进制图片buffer)
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image | 是 | Unsigned char* | 需要检测的人脸图片,小于10M |
size | 是 | int | 二进制图片大小 |
feature | 是 | const float* | 通过传入const float*指针的引用,来返回提取的人脸特征值 |
返回信息
errno信息:
data信息:
int类型的特征抽取向量数。正常提取成功则返回特征值向量个数(512),若不为512则为返回的错误码.
3.3.3 特征值提取接口(通过传入opencv的视频帧)
方法名
get_face_feature
方法说明
提取人脸特征值,为512个浮点值,已加密 (本接口image_type 为1表示base64图片编码 为2表示文件路径)
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
Mat | 是 | string | 需要提取特征值的OpenCV视频帧(单帧) |
feature | 是 | const float* | 通过传入const float*指针的引用,来返回提取的人脸特征值 |
返回信息
errno信息:
data信息:
int类型的特征抽取向量数。正常提取成功则返回特征值向量个数(512),若不为512则为返回的错误码.
3.3.4 特征值比对接口
方法名
compare_feature
方法说明
对人脸特征值进行比较,可返回人脸特征相似分值(百分制)
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
feature1 | 是 | std::vector | 512个浮点型的特征值,传入const的特征值引用 |
feature2 | 是 | std::vector | 512个浮点型的特征值,传入const的特征值引用 |
返回信息
errno信息:
data信息:
相似度结果:float类型,百分制的分值
3.4.1 人脸属性(通过传入图片)
方法名
face_attr
方法说明
人脸属性检测接口(本接口 image_type 为1表示base64图片编码 为2表示文件路径)
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image | 是 | string | 需要检测的人脸图片,小于10M, 图片类型根据image_type参数定 |
imgae_type | 是 | int | 图片类型,必选择以下2种形式之一。 Image_type为1代表BASE64为2代表FACE_FILE。 BASE64:图片的base64值; FACE_FILE:图片的本地文件路径地址; |
返回信息
errno信息:
data信息:
字段 | 类型 | 说明 |
---|---|---|
age(年龄) | int | 人脸年龄范围0-100,若为-1表示不完整的人脸。 |
race(种族) | int | 正常人脸标注 0:黄种人 1:白种人 2:黑人 3:阿拉伯人,不完整的人脸标注-1 |
expression(表情) | int | 0:中性表情,1:微笑,2:大笑 |
gender(性别) | int | 0: 女 female,1: 男 male,-1: 婴儿或不好辨别性别 |
glasses(是否戴眼镜) | int | 0:不带眼镜 no glasses,1:普通透明眼镜 glasses,2:太阳镜 sunGlasses |
3.4.2 人脸属性(通过传入二进制图片buffer)
方法名
face_attr_by_buf
方法说明
人脸属性检测接口
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image | 是 | unsigned char * | 需要检测的图片,小于10M,二进制图片buffer |
size | 是 | int | 二进制图片大小 |
返回信息
errno信息:
data信息:
字段 | 类型 | 说明 |
---|---|---|
age(年龄) | int | 人脸年龄范围0-100,若为-1表示不完整的人脸。 |
race(种族) | int | 正常人脸标注 0:黄种人 1:白种人 2:黑人 3:阿拉伯人,不完整的人脸标注-1 |
expression(表情) | int | 0:中性表情,1:微笑,2:大笑 |
gender(性别) | int | 0: 女 female,1: 男 male,-1: 婴儿或不好辨别性别 |
glasses(是否戴眼镜) | int | 0:不带眼镜 no glasses,1:普通透明眼镜 glasses,2:太阳镜 sunGlasses |
3.4.3 人脸质量接口(通过传入图片)
方法名
face_quality
方法说明
人脸质量检测接口
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image | 是 | string | 需要检测的人脸图片,小于10M, 图片类型根据image_type参数定 |
imgae_type | 是 | int | 图片类型,必选择以下2种形式之一。 Image_type为1代表BASE64为2代表FACE_FILE。 BASE64:图片的base64值; FACE_FILE:图片的本地文件路径地址; |
返回信息
errno信息:
data信息:
字段 | 类型 | 说明 |
---|---|---|
bluriness | float | 光照 |
illum | float | 模糊度 |
occl_l_eye | float | 左眼遮挡度 |
occl_r_eye | float | 右眼遮挡度 |
occl_nose | float | 鼻子遮挡度 |
occl_mouth | float | 嘴巴遮挡度 |
occl_l_contour | float | 左脸遮挡度 |
occl_r_contour | float | 右脸遮挡度 |
occl_chin | float | 下巴遮挡度 |
3.4.4 人脸质量接口(通过传入二进制图片buffer)
方法名
face_quality_by_buf
方法说明
人脸质量检测接口
请求信息
参数 | 必须 | 类型 | 示例描述 |
---|---|---|---|
image | 是 | unsigned char * | 需要检测的图片,小于10M,二进制图片buffer |
size | 是 | int | 二进制图片大小 |
返回信息
errno信息:
data信息:
字段 | 类型 | 说明 |
---|---|---|
bluriness | float | 光照 |
illum | float | 模糊度 |
occl_l_eye | float | 左眼遮挡度 |
occl_r_eye | float | 右眼遮挡度 |
occl_nose | float | 鼻子遮挡度 |
occl_mouth | float | 嘴巴遮挡度 |
occl_l_contour | float | 左脸遮挡度 |
occl_r_contour | float | 右脸遮挡度 |
occl_chin | float | 下巴遮挡度 |
错误码 | 错误内容 | 错误描述 |
---|---|---|
0 | SUCCESS | 成功 |
1 | SYSTEM ERROR | 系统错误 |
2 | UNKNOWN ERROR | 未知错误 |
1001 | NOT_AUTH | 授权校验失败 |
1002 | REQUEST PARAMS ERROR | 请求参数错误 |
1003 | DB_OP_FAILED | 数据库操作失败 |
1004 | NO_DATA | 没有数据 |
1005 | RECORD_UNEXIST | 记录不存在 |
1006 | RECORD_ALREADY_EXIST | 记录已经存在 |
1007 | FILE_NOT_EXIST | 文件不存在 |
1008 | GET_FEATURE_FAIL | 提取特征值失败 |
1009 | FILE_TOO_BIG | 文件太大 |
1010 | FACE_RESOURCE_NOT_EXIST | 人脸资源文件不存在 |
1011 | FEATURE_LEN_ERROR | 特征值长度错误 |
1012 | DETECT_NO_FACE | 未检测到人脸 |
Q:激活工具激活时候,提示timeout或者unsupport protocl
A:若提示timeout,请确认设备是否能联网;若提示unsupport protocl,请确认是否安装了openssl。
Q:工程运行过程中,提示face-resource不存在
A:SDK需要一些模型文件,在demo工程的face-resource文件夹中,该文件夹需要放置在exe所在路径的上级目录下。若放置不正确,可能出现找不到模型文件,没法进行人脸识别。
Q:工程激活过程中,提示segment fault
A:这是因为工程若没有激活,便直接执行脚本文件运行可执行文件,请先完成激活操作。
Q:激活后是否可以把激活文件license.ini和license.key拷贝到其他设备运行?
A:不能,离线sdk和设备绑定,每个设备对应一个key和一个license文件,换设备无法运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。