开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
人脸识别

    人脸检测

    人脸识别接口分为V2和V3两个版本,本文档为V2版本接口的说明文档,请确认您在百度云后台获得的是V2版本接口权限,再来阅读本文档。

    辨别接口版本的方法是:在百度云后台进入【应用列表】,点击【应用名称】,在【API列表】中可以看到【请求地址】,若请求地址中带有【v2】标识,则您具有的是v2权限,可以阅读本文档;若请求地址中带有【v3】标识,则您具有的是v3权限,应该去阅读v3文档。

    如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

    • 在百度云控制台内 提交工单,咨询问题类型请选择人工智能服务
    • 如有需要讨论的疑问,欢迎进入 AI社区 与其他开发者们一同交流。

    能力介绍

    接口能力

    • 人脸检测:检测图片中的人脸并标记出位置信息;
    • 人脸关键点:展示人脸的核心关键点信息,及72个关键点信息。
    • 人脸属性值:展示人脸属性信息,如年龄、性别等。
    • 人脸质量信息:返回人脸各部分的遮挡、光照、模糊、完整度、置信度等信息。

    业务应用

    典型应用场景:如人脸属性分析基于人脸关键点的加工分析人脸营销活动等。

    说明:检测响应速度,与图片中人脸数量相关,人脸数量较多时响应时间会有些许延长。

    质量检测

    如果需要判断一张图片中的人脸,是否符合后续识别或者对比的条件,可以使用此接口,在请求时在face_fields参数中请求qualities。基于返回结果qualities中,以下字段及对应阈值,进行质量检测的判断,以保证人脸质量符合后续业务操作要求。

    指标 字段与解释 推荐数值界限
    遮挡范围 occlusion,取值范围[0~1],0为无遮挡,1是完全遮挡
    含有多个具体子字段,表示脸部多个部位
    通常用作判断头发、墨镜、口罩等遮挡
    left_eye : 0.6, #左眼被遮挡的阈值
    right_eye : 0.6, #右眼被遮挡的阈值
    nose : 0.7, #鼻子被遮挡的阈值
    mouth : 0.7, #嘴巴被遮挡的阈值
    left_check : 0.8, #左脸颊被遮挡的阈值
    right_check : 0.8, #右脸颊被遮挡的阈值
    chin_contour : 0.6, #下巴被遮挡阈值
    模糊度范围 blur,取值范围[0~1],0是最清晰,1是最模糊 小于0.7
    光照范围 illumination,取值范围[0~255]
    脸部光照的灰度值,0表示光照不好
    以及对应客户端SDK中,YUV的Y分量
    大于40
    姿态角度 Pitch:三维旋转之俯仰角度[-90(上), 90(下)]
    Roll:平面内旋转角[-180(逆时针), 180(顺时针)]
    Yaw:三维旋转之左右旋转角[-90(左), 90(右)]
    分别小于20度
    人脸完整度 completeness(0或1),0为人脸溢出图像边界,1为人脸都在图像边界内 视业务逻辑判断
    人脸大小 人脸部分的大小
    建议长宽像素值范围:80*80~200*200
    人脸部分不小于100*100像素

    调用方式

    请求URL数据格式

    向API服务地址使用POST发送请求,必须在URL中带上参数access_token,可通过后台的API Key和Secret Key生成,具体方式请参考“Access Token获取”。

    获取access_token的示例代码

    {% AccessToken %}

    注意access_token的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token

    例如此接口,使用HTTPS POST发送:

    https://aip.baidubce.com/rest/2.0/face/v2/detect?access_token=24.f9ba9c5341b67688ab5added8bc91dec.2592000.1485570332.282335-8574074

    POST中Body的参数,按照下方请求参数说明选择即可。

    提示:如果您为百度云老用户,正在使用其他非AI的服务,可以参考百度云AKSK鉴权方式发送请求,虽然请求方式鉴权方法和本文所介绍的不同,但请求参数和返回结果一致。

    请求说明

    注意事项

    • 请求体格式化:Content-Type为application/x-www-form-urlencoded,通过urlencode格式化请求体。
    • Base64编码:请求的图片需经过Base64编码,图片的base64编码指将图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。需要注意的是,图片的base64编码是不包含图片头的,如data:image/jpg;base64,
    • 图片格式:现支持PNG、JPG、JPEG、BMP,不支持GIF图片
    • 人脸识别接口分为V2和V3两个版本,本文档为V2版本接口的说明文档,请确认您在百度云后台获得的是V2版本接口权限,再来阅读本文档。

    辨别接口版本的方法是:在百度云后台进入【应用列表】,点击【应用名称】,在【API列表】中可以看到【请求地址】,若请求地址中带有【v2】标识,则您具有的是v2权限,可以阅读本文档;若请求地址中带有【v3】标识,则您具有的是v3权限,应该去阅读v3文档。

    请求示例

    HTTP方法:POST

    请求URL: https://aip.baidubce.com/rest/2.0/face/v2/detect

    URL参数:

    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

    Header:

    参数
    Content-Type application/x-www-form-urlencoded

    Body中放置请求参数,参数详情如下:

    请求参数

    参数 必选 类型 说明
    image string base64编码后的图片数据,需urlencode,编码后的图片大小不超过2M
    max_face_num uint32 最多处理人脸的数目,默认值为1,仅检测图片中面积最大的那个人脸
    face_fields string 包括age,beauty,expression,faceshape,gender,glasses,landmark,qualities信息,逗号分隔,默认只返回人脸框、概率和旋转角度

    说明:face_fields参数,默认只返回人脸框、概率和旋转角度,age等更多属性,请在此参数中添加。

    请求示例代码

    提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。

    提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。

    {% Face-API-Detect %}

    返回说明

    返回参数

    参数 类型 必选 说明
    log_id uint64 日志id
    result_num uint32 人脸数目
    result object[] 人脸属性对象的集合
    +age double 年龄。face_fields包含age时返回
    +beauty double 美丑打分,范围0-100,越大表示越美。face_fields包含beauty时返回
    +location object 人脸在图片中的位置
    ++left uint32 人脸区域离左边界的距离
    ++top uint32 人脸区域离上边界的距离
    ++width uint32 人脸区域的宽度
    ++height uint32 人脸区域的高度
    +face_probability double 人脸置信度,范围0-1
    +rotation_angle int32 人脸框相对于竖直方向的顺时针旋转角,[-180,180]
    +yaw double 三维旋转之左右旋转角[-90(左), 90(右)]
    +pitch double 三维旋转之俯仰角度[-90(上), 90(下)]
    +roll double 平面内旋转角[-180(逆时针), 180(顺时针)]
    +expression uint32 表情,0,不笑;1,微笑;2,大笑。face_fields包含expression时返回
    +expression_probability double 表情置信度,范围0~1。face_fields包含expression时返回
    +faceshape object[] 脸型置信度。face_fields包含faceshape时返回
    ++type string 脸型:square/triangle/oval/heart/round
    ++probability double 置信度:0~1
    +gender string male、female。face_fields包含gender时返回
    +gender_probability double 性别置信度,范围[0~1],face_fields包含gender时返回
    +glasses uint32 是否带眼镜,0-无眼镜,1-普通眼镜,2-墨镜。face_fields包含glasses时返回
    +glasses_probability double 眼镜置信度,范围[0~1],face_fields包含glasses时返回
    +landmark object[] 4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_fields包含landmark时返回
    ++x uint32 x坐标
    ++y uint32 y坐标
    +landmark72 object[] 72个特征点位置,face_fields包含landmark时返回
    ++x uint32 x坐标
    ++y uint32 y坐标
    +qualities object 人脸质量信息。face_fields包含qualities时返回
    ++occlusion object 人脸各部分遮挡的概率,范围[0~1],0表示完整,1表示不完整
    +++left_eye double 左眼遮挡比例
    +++right_eye double 右眼遮挡比例
    +++nose double 鼻子遮挡比例
    +++mouth double 嘴巴遮挡比例
    +++left_cheek double 左脸颊遮挡比例
    +++right_cheek double 右脸颊遮挡比例
    +++chin double 下巴遮挡比例
    ++blur double 人脸模糊程度,范围[0~1],0表示清晰,1表示模糊
    ++illumination - 取值范围在[0~255],表示脸部区域的光照程度
    ++completeness - 人脸完整度,0或1, 0为人脸溢出图像边界,1为人脸都在图像边界内
    ++type object 真实人脸/卡通人脸置信度
    +++human - 真实人脸置信度,[0~1],大于0.5可以判断为人脸
    +++cartoon - 卡通人脸置信度,[0~1]

    72个关键点分布图(对应landmark72个点的顺序,序号从0-71)

    返回示例

    {
        "result_num": 1,
        "result": [
            {
                "location": {
                    "left": 117,
                    "top": 131,
                    "width": 172,
                    "height": 170
                },
                "face_probability": 1,
                "rotation_angle": 2,
                "yaw": -0.34859421849251,
                "pitch": 2.3033397197723,
                "roll": 1.9135693311691,
                "landmark": [
                    {
                        "x": 161.74819946289,
                        "y": 163.30244445801
                    },
                    ...
                ],
                "landmark72": [
                    {
                        "x": 115.86531066895,
                        "y": 170.0546875
                    },
                    ...
                ],
                "age": 29.298097610474,
                "beauty": 55.128883361816,
                "expression": 1,
                "expression_probablity": 0.5543018579483,
                "gender": "male",
                "gender_probability": 0.99979132413864,
                "glasses": 0,
                "glasses_probability": 0.99999964237213,
                "qualities": {
                    "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,
                    "type": {
                        "human": 0.99935841560364,
                        "cartoon": 0.00064159056637436
                    }
                }
            }
        ],
        "log_id": 2493878179101621
    }

    错误码

    请参考人脸识别错误码

    上一篇
    乘风平台
    下一篇
    人脸对比