faceVerify
解释:在线活体检测,基于单张图片,判断图片中的人脸是否为二次翻拍。
最低支持版本 3.20.11 。
方法参数:ObjectObject 参数说明:
参数名 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
data | Array | 是 | 图片信息 |
success | Function | 否 | 接口调用成功后的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
data 参数说明
参数名 | 参数类型 | 是否必填 | |
---|---|---|---|
image | string | 是 | 图片信息(总数据大小应小于 10M),图片上传方式根据 image_type 来判断。 |
image_type | string | 是 | 图片类型· BASE64:图片的 base64 值,base64 编码后的图片数据,编码后的图片大小不超过2M;· URL:图片的 URL 地址( 可能由于网络等原因导致下载图片时间过长);· FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的 FACE_TOKEN,同一张图片多次检测得到的 FACE_TOKEN 是同一个。 |
face_field | string | 否 | 包括 age,beauty,expression,face_shape,gender,glasses,landmark,race,quality,eye_status,emotion,face_type 信息,逗号分隔。默认只返回 face_token、人脸框、概率和旋转角度。 |
返回值参数说明
参数名 | 参数类型 | 说明 |
---|---|---|
face_liveness | number | 活体分数值 |
thresholds | Object | 由服务端返回最新的阈值数据(随着模型的优化,阈值可能会变化),将此参数与返回的 face_liveness 进行比较,可以作为活体判断的依据。 frr_1e-4:万分之一误识率的阈值;frr_1e-3:千分之一误识率的阈值;frr_1e-2:百分之一误识率的阈值。误识率越低,准确率越高,相应的拒绝率也越高。 |
face_list | Array | 人脸信息列表 |
face_list参数说明
参数名 | 参数类型 | 说明 |
---|---|---|
face_token | string | 人脸图片的唯一标识 |
location | Object | 人脸在图片中的位置 |
face_probability | number | 人脸置信度,范围[0~1],代表这是一张人脸的概率,0 最小、1 最大。 |
angel | Object | 人脸旋转角度参数 |
age | number | 年龄 ,当face_field包含age时返回。 |
beauty | number | 美丑打分,范围 0-100,越大表示越美。当 face_fields 包含 beauty 时返回。 |
expression | Object | 表情,当 face_field 包含 expression 时返回。 |
face_shape | Object | 脸型,当 face_field 包含 face_shape 时返回。 |
gender | Object | 性别,face_field 包含 gender 时返回。 |
glasses | Object | 是否带眼镜,face_field 包含 glasses 时返回。 |
eye_status | Object | 双眼状态(睁开/闭合) face_field 包含 eye_status 时返回。 |
emotion | Object | 情绪 face_field 包含 emotion 时返回 |
race | Object | 人种 face_field 包含 race 时返回 |
face_type | Object | 真实人脸/卡通人脸 face_field 包含 face_type 时返回。 |
landmark | Object | 4 个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_field 包含 landmark 时返回。 |
quality | Object | 人脸质量信息。face_field 包含 quality 时返回 |
location返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
left | number | 人脸区域离左边界的距离 |
top | number | 人脸区域离上边界的距离 |
width | number | 人脸区域的宽度 |
height | number | 人脸区域的高度 |
rotation | number | 人脸框相对于竖直方向的顺时针旋转角,[-180,180]。 |
angel返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
yaw | number | 三维旋转之左右旋转角[-90(左), 90(右)]。 |
pitch | number | 三维旋转之俯仰角度[-90(上), 90(下)]。 |
roll | number | 平面内旋转角[-180(逆时针), 180(顺时针)]。 |
expression返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
type | string | none:不笑;smile:微笑;laugh:大笑。 |
probability | number | 表情置信度,范围[0~1],0最小、1最大。 |
face_shape返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
type | string | square: 正方形; triangle:三角形; oval: 椭圆; heart: 心形; round: 圆形。 |
probability | number | 置信度,范围[0~1],代表这是人脸形状判断正确的概率,0最小、1最大。 |
gender返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
type | string | male:男性; female:女性。 |
probability | number | 性别置信度,范围[0~1],0 代表概率最小、1 代表最大。 |
glasses返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
type | string | none:无眼镜;common:普通眼镜;sun:墨镜。 |
probability | number | 眼镜置信度,范围[0~1],0 代表概率最小、1 代表最大。 |
eye_status返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
left_eye | number | 左眼状态 [0,1]取值,越接近 0 闭合的可能性越大。 |
right_eye | number | 右眼状态 [0,1]取值,越接近 0 闭合的可能性越大。 |
emotion返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
type | string | angry:愤怒; disgust:厌恶; fear:恐惧; happy:高兴; sad:伤心; surprise:惊讶; neutral:无情绪。 |
probability | number | 情绪置信度,范围 [0~1]。 |
race返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
type | string | yellow: 黄种人; white: 白种人; black:黑种人; arabs: 阿拉伯人。 |
probability | number | 人种置信度,范围[0~1],0 代表概率最小、1 代表最大。 |
face_type返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
type | string | human: 真实人脸;cartoon: 卡通人脸。 |
probability | number | 人脸类型判断正确的置信度,范围[0~1],0 代表概率最小、1 代表最大。 |
landmark返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
landmark72 | Array | 72 个特征点位置 face_field 包含 landmark72 时返回。 |
landmark150 | Array | 150 个特征点位置 face_field 包含 landmark150 时返回。 |
quality返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
occlusion | number | 人脸各部分遮挡的概率,范围[0~1],0 表示完整,1 表示不完整。 |
blur | number | 人脸模糊程度,范围[0~1],0 表示清晰,1 表示模糊。 |
illumination | number | 取值范围在[0~255], 表示脸部区域的光照程度越大表示光照越好。 |
completeness | number | 人脸完整度,0 或 1, 0 为人脸溢出图像边界,1 为人脸都在图像边界内。 |
occlusion返回值说明
参数名 | 参数类型 | 说明 |
---|---|---|
left_eye | number | 左眼遮挡比例,[0-1] ,1 表示完全遮挡。 |
right_eye | number | 右眼遮挡比例,[0-1] ,1 表示完全遮挡。 |
nose | number | 鼻子遮挡比例,[0-1] , 1 表示完全遮挡。 |
left_cheek | number | 左脸颊遮挡比例,[0-1] ,1 表示完全遮挡。 |
right_cheek | number | 右脸颊遮挡比例,[0-1] ,1 表示完全遮挡。 |
chin | number | 下巴遮挡比例 [0-1] ,1 表示完全遮挡。 |
示例代码
- swan.chooseImage({
success(res) {
swan.ai.faceVerify({
data: [
{
"image": res.tempFilePaths[0],
"image_type": "BASE64",
"face_field": "age,beauty,expression"
},
{
"image": res.tempFilePaths[1],
"image_type": "BASE64",
"face_field": "age,beauty,expression"
}
],
success(res) {
console.log('res');
}
});
}
})
返回示例
- {
"thresholds": {
"frr_1e-4": 0.05, //万分之一误拒率的阈值
"frr_1e-3": 0.3, //千分之一误拒率的阈值
"frr_1e-2": 0.9 //百分之一误拒率的阈值
},
"face_liveness": 0.05532243927,
"face_list": [
{
"face_token": "df46f7c7db4aa09a093c26fb8d1a8d44",
"location": {
"left": 328.9026489,
"top": 97.16340637,
"width": 162,
"height": 154,
"rotation": 32
},
"face_probability": 1,
"angle": {
"yaw": 10.16196251,
"pitch": 2.244354248,
"roll": 33.82199097
},
"age": 23,
"beauty": 20.23693275
},
{
"face_token": "901d2c64274fccd687d311a6e6110a01",
"location": {
"left": 411.4876404,
"top": 166.3593445,
"width": 329,
"height": 308,
"rotation": 45
},
"face_probability": 0.9194830656,
"angle": {
"yaw": -1.716423035,
"pitch": 7.344647408,
"roll": 45.79914856
},
"age": 23,
"beauty": 12.6438179
},
{
"face_token": "7d57e36981c48b4946eb97c8d838b02a",
"location": {
"left": 161.4559937,
"top": 199.8726501,
"width": 218,
"height": 201,
"rotation": -1
},
"face_probability": 1,
"angle": {
"yaw": -8.187754631,
"pitch": 6.973727226,
"roll": -1.25429821
},
"age": 23,
"beauty": 8.20657444
}
]
}