所有文档

          人脸识别

          人脸对比

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

          辨别接口版本的方法是:在百度云后台进入【应用列表】,点击【应用名称】,在【API列表】中可以看到【请求地址】,若请求地址中带有【v2】标识,则您具有的是v2权限,可以阅读本文档;若请求地址中带有【v3】标识,则您具有的是v3权限,应该去阅读v3文档。 如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

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

          能力介绍

          接口能力

          • 两张人脸图片相似度对比:比对两张图片中人脸的相似度,并返回相似度分值;
          • 多种图片类型:支持生活照证件照身份证芯片照带网纹照四种类型的人脸对比;
          • 活体检测:基于图片中的破绽分析,判断其中的人脸是否为二次翻拍(举例:如用户A用手机拍摄了一张包含人脸的图片一,用户B翻拍了图片一得到了图片二,并用图片二伪造成用户A去进行识别操作,这种情况普遍发生在金融开户、实名认证等环节。);
          • 质量检测:返回模糊、光照等质量检测信息,用于辅助判断图片是否符合识别要求;

          业务应用

          用于比对多张图片中的人脸相似度并返回两两比对的得分,可用于判断两张脸是否是同一人的可能性大小。

          典型应用场景:如人证合一验证用户认证等,可与您现有的人脸库进行比对验证。

          调用方式

          请求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/match?access_token=24.f9ba9c5341b67688ab5added8bc91dec.2592000.1485570332.282335-8574075

          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/match

          URL参数:

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

          Header:

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

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

          请求参数

          参数 必选 类型 说明
          images string 分别base64编码后的2张图片数据,需urlencode,半角逗号分隔,单次请求最大不超过20M
          ext_fields string 返回质量信息,取值固定,目前支持qualities(质量检测)(对所有图片都会做改处理)
          image_liveness string 返回的活体信息,“faceliveness,faceliveness” 表示对比对的两张图片都做活体检测;“,faceliveness” 表示对第一张图片不做活体检测、第二张图做活体检测;“faceliveness,” 表示对第一张图片做活体检测、第二张图不做活体检测;
          注:需要用于判断活体的图片,图片中的人脸像素面积需要不小于100px*100px,人脸长宽与图片长宽比例,不小于1/3
          types string 请求对比的两张图片的类型,示例:“7,13”
          7表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等
          11表示身份证芯片照:二代身份证内置芯片中的人像照片
          12表示带水印证件照:一般为带水印的小图,如公安网小图
          13表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片,:需要确保人脸部分不可太小,通常为100px*100px

          说明:两张请求的图片请分别进行base64编码。

          请求代码示例

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

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

          {% Face-API-Match %}

          返回说明

          返回参数

          字段 必选 类型 说明
          log_id uint64 请求唯一标识码,随机数
          result_num uint32 返回结果数目,即:result数组中元素个数
          result array(object) 结果数据,index和请求图片index对应。数组元素为每张图片的匹配得分数组,top n。得分范围[0,100.0]
          +index_i uint32 比对图片1的index
          +index_j uint32 比对图片2的index
          +score double 比对得分,推荐80分作为阈值,80分以上可以判断为同一人,此分值对应万分之一误识率
          ext_info array(dict) 对应参数中的ext_fields
          +qualities string 质量相关的信息,无特殊需求可以不使用
          +faceliveness string 活体检测分数,单帧活体检测参考阈值0.393241,超过此分值以上则可认为是活体。注意:活体检测接口主要用于判断是否为二次翻拍,需要限制用户为当场拍照获取图片;推荐配合客户端SDK有动作校验活体使用

          返回示例

          //请求两张图片
          {
              "log_id": 73473737,
              "result_num":1,
              "result": [
                  {
                      "index_i": 0,
                      "index_j": 1,
                      "score": 44.3
                  }
              ]
          }

          关于活体检测faceliveness的判断阈值选择,可参考以下数值信息

          拒绝率(TRR) 误拒率(FRR) 通过率(TAR) 阈值(Threshold)
          0.90325733 0.1% 99.9% 0.022403
          0.96254072 0.5% 99.5% 0.393241(推荐
          0.97557003 1% 99% 0.649192
          0.98990228 2% 98% 0.933801
          0.99446254 3% 97% 0.973637
          0.99641694 4% 96% 0.988479
          0.99739414 5% 95% 0.994058

          关于以上数值的概念介绍

          • 拒绝率(TRR):如99%,代表100次作弊假体攻击,会有99次被拒绝。
          • 误拒率(FRR):如0.5%,指1000次真人请求,会有5次因为活体分数低于阈值被错误拒绝。
          • 通过率(TAR):如99%,指100次真人请求,会有99次因为活体分数高于阈值而通过。
          • 阈值(Threshold):高于此数值,则可判断为活体。

          错误码

          请参考人脸识别错误码

          上一篇
          人脸检测
          下一篇
          人脸查找