faceDetect

解释:人脸检测,检测图片中的人脸并标记出相应的信息位置,同时可以展示出人脸的关键信息和属性信息,比如年龄,性别等。

最低支持版本 3.20.11 。方法参数:Object

Object 参数说明

参数名参数类型是否必填说明
imagestring图片信息(总数据大小应小于 10M),图片上传方式根据 image_type 来判断。
image_typestring图片类型。· BASE64:图片的 base64 值,base64 编码后的图片数据,编码后的图片大小不超过 2M;· URL: 图片的 URL 地址(可能由于网络等原因导致下载图片时间过长);· FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的 FACE_TOKEN,同一张图片多次检测得到的 FACE_TOKEN 是同一个。
face_fieldstring包括 age,beauty,expression,face_shape,gender,glasses,landmark,race,quality,eye_status,emotion,face_type 信息,逗号分隔。默认只返回 face_token、人脸框、概率和旋转角度。
max_face_numstring最多处理人脸的数目,默认值为 1 ,仅检测图片中面积最大的那个人脸;最大值 10,检测图片中面积最大的几张人脸。
face_typestring人脸的类型。· LIVE 表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等;· IDCARD 表示身份证芯片照:二代身份证内置芯片中的人像照片;· WATERMARK 表示带水印证件照:一般为带水印的小图,如公安网小图;· CERT 表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片;默认 LIVE。
successFunction接口调用成功后的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

返回值参数说明

参数名参数类型说明
face_numnumber检测到图片中的人脸数量
face_listArray人脸信息列表

face_list 参数说明

参数名参数类型说明
face_tokenstring人脸图片的唯一标识
locationObject人脸在图片中的位置
face_probabilitynumber人脸置信度,范围[0~1],代表这是一张人脸的概率,0最小、1最大。
angelObject人脸旋转角度参数
agenumber年龄 ,当 face_field 包含 age 时返回。
beautynumber美丑打分,范围 [0-100],越大表示越美,当 face_fields 包含 beauty 时返回。
expressionObject表情,当 face_field 包含 expression 时返回。
face_shapeObject脸型,当 face_field 包含 face_shape 时返回。
genderObject性别,face_field 包含 gender 时返回。
glassesObject是否带眼镜,face_field 包含 glasses 时返回。
eye_statusObject双眼状态(睁开/闭合)face_field 包含 eye_status 时返回。
emotionObject情绪,face_field 包含 emotion 时返回。
raceObject人种 face_field 包含 race 时返回。
face_typeObject真实人脸/卡通人脸 face_field 包含 face_type 时返回。
landmarkObject4 个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_field 包含 landmark 时返回。
qualityObject人脸质量信息,face_field 包含 quality 时返回。

location 返回值说明

参数名参数类型说明
leftnumber人脸区域离左边界的距离
topnumber人脸区域离上边界的距离
widthnumber人脸区域的宽度
heightnumber人脸区域的高度
rotationnumber人脸框相对于竖直方向的顺时针旋转角,[-180,180]。

angel 返回值说明

参数名参数类型说明
yawnumber三维旋转之左右旋转角[-90(左), 90(右)]。
pitchnumber三维旋转之俯仰角度[-90(上), 90(下)]。
rollnumber平面内旋转角[-180(逆时针), 180(顺时针)]。

expression 返回值说明

参数名参数类型说明
typestringnone:不笑;smile:微笑;laugh:大笑。
probabilitynumber表情置信度,范围 [0~1],0最小、1最大。

face_shape 返回值说明

参数名参数类型说明
typestringsquare: 正方形;triangle:三角形;oval: 椭圆;heart: 心形;round: 圆形。
probabilitynumber置信度,范围 [0~1],代表这是人脸形状判断正确的概率,0 最小、1 最大。

gender 返回值说明

参数名参数类型说明
typestringmale:男性;female:女性。
probabilitynumber性别置信度,范围[0~1],0 代表概率最小、1 代表最大。

glasses 返回值说明

参数名参数类型说明
typestringnone:无眼镜;common:普通眼镜;sun:墨镜。
probabilitynumber眼镜置信度,范围 [0~1],0 代表概率最小、1 代表最大。

eye_status 返回值说明

参数名参数类型说明
left_eyenumber左眼状态 [0,1] 取值,越接近 0 闭合的可能性越大。
right_eyenumber右眼状态 [0,1] 取值,越接近 0 闭合的可能性越大。

emotion 返回值说明

参数名参数类型说明
typestringangry:愤怒;disgust:厌恶;fear:恐惧;happy:高兴;sad:伤心;surprise:惊讶;neutral:无情绪。
probabilitynumber情绪置信度,范围 0~1。

race 返回值说明

参数名参数类型说明
typestringyellow: 黄种人;white: 白种人;black:黑种人;arabs: 阿拉伯人。
probabilitynumber人种置信度,范围[0~1],0 代表概率最小、1 代表最大。

face_type 返回值说明

参数名参数类型说明
typestringhuman: 真实人脸; cartoon: 卡通人脸。
probabilitynumber人脸类型判断正确的置信度,范围[0~1],0 代表概率最小、1 代表最大。

landmark 返回值说明

参数名参数类型说明
landmark72Array72 个特征点位置 face_field 包含 landmark72 时返回。
landmark150Array150 个特征点位置 face_field 包含 landmark150 时返回。

quality 返回值说明

参数名参数类型说明
occlusionnumber人脸各部分遮挡的概率,范围 [0~1],0 表示完整,1 表示不完整。
blurnumber人脸模糊程度,范围 [0~1],0 表示清晰,1 表示模糊。
illuminationnumber取值范围在 [0~255], 表示脸部区域的光照程度越大表示光照越好。
completenessnumber人脸完整度,0 或 1, 0 为人脸溢出图像边界,1 为人脸都在图像边界内。

occlusion 返回值说明

参数名参数类型说明
left_eyenumber左眼遮挡比例,[0-1] ,1 表示完全遮挡。
right_eyenumber右眼遮挡比例,[0-1] ,1 表示完全遮挡。
nosenumber鼻子遮挡比例,[0-1] ,1 表示完全遮挡。
left_cheeknumber左脸颊遮挡比例,[0-1] ,1 表示完全遮挡。
right_cheeknumber右脸颊遮挡比例,[0-1] ,1 表示完全遮挡。
chinnumber下巴遮挡比例,[0-1] ,1 表示完全遮挡。

示例代码

  1. swan.chooseImage({
    success(res) {
    let image = res.tempFilePaths[0];
    swan.ai.faceDetect({
    image,
    image_type: 'BASE64',
    success(res) {
    console.log(res);
    }
    });
    }
    });

返回值示例

  1. {
    "face_num": 1,
    "face_list": [
    {
    "face_token": "35235asfas21421fakghktyfdgh68bio",
    "location": {
    "left": 117,
    "top": 131,
    "width": 172,
    "height": 170,
    "rotation": 4
    },
    "face_probability": 1,
    "angle" :{
    "yaw" : -0.34859421849251
    "pitch" 1.9135693311691
    "roll" :2.3033397197723
    }
    "landmark": [
    {
    "x": 161.74819946289,
    "y": 163.30244445801
    },
    ...
    ],
    "landmark72": [
    {
    "x": 115.86531066895,
    "y": 170.0546875
    },
    ...
    ],
    "age": 29.298097610474,
    "beauty": 55.128883361816,
    "expression": {
    "type": "smile",
    "probability" : 0.5543018579483
    },
    "gender": {
    "type": "male",
    "probability": 0.99979132413864
    },
    "glasses": {
    "type": "sun",
    "probability": 0.99999964237213
    },
    "race": {
    "type": "yellow",
    "probability": 0.99999976158142
    },
    "face_shape": {
    "type": "triangle",
    "probability": 0.5543018579483
    }
    "quality": {
    "occlusion": {
    "left_eye": 0,
    "right_eye": 0,
    "nose": 0,
    "mouth": 0,
    "left_cheek": 0.0064102564938366,
    "right_cheek": 0.0057411273010075,
    "chin": 0
    },
    "blur": 1.1886881756684e-10,
    "illumination": 141,
    "completeness": 1
    }
    }
    ]
    }