人脸比对1:1

本文介绍人脸人体(facebody)类目下的人脸比对CompareFace的语法及示例。

功能描述

人脸比对1:1能力基于您输入的两张图片,分别挑选两张图片中的最大人脸进行比较,判断是否为同一人。

  • 两张人脸图片对比:比对两张图片中人脸的相似度,返回这两个人脸的矩形框坐标、人脸五点关键点坐标、比对的置信度,以及不同误识率的置信度阈值。
  • 支持多种图片类型:支持生活照、证件照、身份证芯片照、带网纹照等类型的人脸对比。

关于该接口功能的示例图如下:

说明
  • 您可以进入在线咨询获取在线人工帮助。
  • 当前能力可在视觉智能开放平台有完整的免费产品体验,您可以单击立即试用对该能力进行更直观试用以及在线购买。
  • 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

应用场景

  • 金融业务:比对用户身份证照片和现场拍摄的已获授权的照片,判断用户信息真实性,可提供快速安全的身份核验流程,适用于互联网远程开户、刷脸支付等金融业务。
  • 员工考勤:无接触式刷脸考勤,疫情防控场景下企业考勤首选,且能有效防止代打卡等作弊行为。
  • 公共服务:客户直接刷脸办理业务,通过人脸比对识别身份信息,减少身份证查验、复印存档等环节,提高公共服务窗口办理业务的效率。
  • 酒店自助入住:住客刷脸自助办理入住,将现场授权获取的照片,与身份证提取的照片进行1:1比对,确保住客身份的真实性的同时,减少人工核查和服务成本,向住客提供便捷的入住体验。

特色优势

  • 高精度识别: 由达摩院提供业内领先的人脸识别算法,算法准确率超过99%。
  • 平台服务稳定:提供在高并发、大流量下的毫秒级识别响应和99.999%的可靠性保障。
  • 关键点精准定位:支持眼睛、鼻子、嘴部五官位置的高精度精准定位。
  • 简单易用:可直接调用的 API 接口,服务简单易用,易被集成,兼容性强。

接入指引

1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。

2. 开通能力:请确保您已开通人脸人体服务,若未开通服务请立即开通

说明 本能力支持企业或个人认证用户开通。更多实名认证操作信息,请参见实名认证

3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权

4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。

5. 开发接入步骤:

  • SDK总览中选择您要接入使用的SDK语言。
  • 在对应语言的SDK文档中找到AI类目为人脸人体(facebody)的SDK包进行安装。
  • 参考文档中提供的示例代码进行适当修改后调用。

6. 示例代码:该能力常用语言的示例代码,请参见人脸比对1:1示例代码

7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。

输入限制

  • 图像格式:JPEG、JPG、PNG、BMP、WEBP。
  • 图像大小:不超过5 MB。
  • 图像分辨率:大于32×32像素,小于4096×4096像素,人脸占比不低于64×64像素。
  • URL地址中不能包含中文字符。
  • 可使用URL与Base64编码字符串混合输入。例如:输入ImageURLA和ImageDataB的值,不输入ImageURLB和ImageDataA的值。

    说明 当图像分辨率超过最大限制时,请先将图片进行缩放,调整图片大小,具体请参见图片缩放

计费说明

关于人脸比对的计费方式及报价,详情请参见计费介绍

说明 下方调试接口为付费接口,如需免费体验调试请前往体验中心

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String CompareFace

系统规定参数。取值:CompareFace

QualityScoreThreshold Float 98.5

质量分阈值,对人脸图片进行质量分析判断,若某张人脸质量分小于该阈值,则会在返回结果上增加MessageTips说明。

ImageURLA String http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/CompareFace/CompareFace-right1.png

图像A的URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理

说明 ImageURLAImageDataA二选一,当URL方式与Base64编码方式共存时,URL方式优先。
ImageURLB String http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/CompareFace/CompareFace-left1.png

图像B的URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理

说明 ImageURLBImageDataB二选一,当URL方式与Base64编码方式共存时,URL方式优先。
ImageDataA String /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgK****

图像A的Base64编码字符串。当与URL方式共存时,URL方式优先。文件的Base64编码处理操作,请参见文件Base64处理

说明 ImageURLAImageDataA二选一,当URL方式与Base64编码方式共存时,URL方式优先。
ImageDataB String /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgQ****

图像B的Base64编码字符串。当与URL方式共存时,URL方式优先。文件的Base64编码处理操作,请参见文件Base64处理

说明 ImageURLBImageDataB二选一,当URL方式与Base64编码方式共存时,URL方式优先。

返回数据

名称

类型

示例值

描述

RequestId String B352CD68-C847-5C48-BE68-3F266356FDD7

请求ID。

Data Object

返回的结果数据内容。

Thresholds Array of Float [61,69,75]

误识率在1/1000,1/10000,1/100000的情况下分别对应的置信度阈值。例如[61.0,69.0,75.0],表示误识率为1/1000的情况下,置信度(Confidence)超过61%就可以认为是同一个人。

RectBList Array of Integer [169,48,125,162]

图片B中最大人脸矩形框[left, top, width, height],例如[169,48,125,162]

Confidence Float 88.4831771850586

两张图片中的最大人脸属于同一个人的置信度,取值范围0~100。供参考的三个阈值是61,69和75,分别对应千分之一,万分之一和十万分之一误识率。阈值设置越高,误识率越低,通过率也越低,对安全性要求越高的场合,可以设置更高的阈值。如果某张图片中没有人脸,则报错误信息。

RectAList Array of Integer [157,82,147,188]

图片A中最大人脸矩形框[left, top, width, height],例如[157,82,147,188]

QualityScoreA Float 99.65772247314453

输入图像A的质量分。

QualityScoreB Float 98.01177978515625

输入图像B的质量分。

MessageTips String imageB quality score less threshold

提示信息,纯文字描述,以下提示信息单独出现或是几条提示信息的组合。

质量相关提示(某张人脸质量分小于请求参数质量分阈值时会出现):

  • imageA quality score less threshold:图像A的质量分小于输入参数设置的阈值。
  • imageB quality score less threshold:图像B的质量分小于输入参数设置的阈值。

人脸尺寸相关提示(检测到人脸且人脸宽或高小于50像素时会有该提示信息。出现该提示信息时,请尽可能输入像素数大于64x64的人脸,并请酌情参考返回的对比置信度Confidence值):

  • face in imageA is too small:图像A中的人脸太小。
  • face in imageB is too small:图像B中的人脸太小。
IsMaskA Long 0

图片A中的人脸是否戴口罩。

  • 0:不戴口罩。
  • 1:戴口罩。
IsMaskB Long 0

图片B中的人脸是否戴口罩。

  • 0:不戴口罩。
  • 1:戴口罩。
LandmarksAList Array of Long [201,146,266,159,222,190,187,208,255,219]

图片A人脸框所对应的人脸关键点坐标,顺序分别为左眼水平坐标,左眼垂直坐标,右眼水平坐标,右眼垂直坐标,鼻尖水平坐标,鼻尖垂直坐标,左嘴角水平坐标,左嘴角垂直坐标,右嘴角水平坐标,右嘴角垂直坐标。

LandmarksBList Array of Long [199,115,248,109,215,146,206,167,260,162]

图片B人脸框所对应的人脸关键点坐标,顺序分别为左眼水平坐标,左眼垂直坐标,右眼水平坐标,右眼垂直坐标,鼻尖水平坐标,鼻尖垂直坐标,左嘴角水平坐标,左嘴角垂直坐标,右嘴角水平坐标,右嘴角垂直坐标。

SDK参考

阿里云视觉AI人脸人体类目下的人脸比对1:1能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为人脸人体(facebody)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览

示例代码

该能力常用语言的示例代码,请参见人脸比对1:1示例代码

示例

请求示例

http(s)://facebody.cn-shanghai.aliyuncs.com/?Action=CompareFace      //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&QualityScoreThreshold=98.5
&ImageURLA=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/CompareFace/CompareFace-right1.png
&ImageURLB=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/CompareFace/CompareFace-left1.png
&ImageDataA=/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgK****
&ImageDataB=/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgQ****
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CompareFaceResponse>
    <RequestId>B352CD68-C847-5C48-BE68-3F266356FDD7</RequestId>
    <Data>
        <Thresholds>61</Thresholds>
        <Thresholds>69</Thresholds>
        <Thresholds>75</Thresholds>
        <RectBList>169</RectBList>
        <RectBList>48</RectBList>
        <RectBList>125</RectBList>
        <RectBList>162</RectBList>
        <Confidence>88.4831771850586</Confidence>
        <RectAList>157</RectAList>
        <RectAList>82</RectAList>
        <RectAList>147</RectAList>
        <RectAList>188</RectAList>
        <QualityScoreA>99.65772247314453</QualityScoreA>
        <QualityScoreB>98.01177978515625</QualityScoreB>
        <IsMaskA>0</IsMaskA>
        <IsMaskB>0</IsMaskB>
        <LandmarksAList>201</LandmarksAList>
        <LandmarksAList>146</LandmarksAList>
        <LandmarksAList>266</LandmarksAList>
        <LandmarksAList>159</LandmarksAList>
        <LandmarksAList>222</LandmarksAList>
        <LandmarksAList>190</LandmarksAList>
        <LandmarksAList>187</LandmarksAList>
        <LandmarksAList>208</LandmarksAList>
        <LandmarksAList>255</LandmarksAList>
        <LandmarksAList>219</LandmarksAList>
        <LandmarksBList>199</LandmarksBList>
        <LandmarksBList>115</LandmarksBList>
        <LandmarksBList>248</LandmarksBList>
        <LandmarksBList>109</LandmarksBList>
        <LandmarksBList>215</LandmarksBList>
        <LandmarksBList>146</LandmarksBList>
        <LandmarksBList>206</LandmarksBList>
        <LandmarksBList>167</LandmarksBList>
        <LandmarksBList>260</LandmarksBList>
        <LandmarksBList>162</LandmarksBList>
    </Data>
</CompareFaceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "B352CD68-C847-5C48-BE68-3F266356FDD7",
  "Data" : {
    "Thresholds" : [ 61, 69, 75 ],
    "RectBList" : [ 169, 48, 125, 162 ],
    "Confidence" : 88.4831771850586,
    "RectAList" : [ 157, 82, 147, 188 ],
    "QualityScoreA" : 99.65772247314453,
    "QualityScoreB" : 98.01177978515625,
    "IsMaskA" : 0,
    "IsMaskB" : 0,
    "LandmarksAList" : [ 201, 146, 266, 159, 222, 190, 187, 208, 255, 219 ],
    "LandmarksBList" : [ 199, 115, 248, 109, 215, 146, 206, 167, 260, 162 ]
  }
}

错误码

关于人脸比对1:1的错误码,详情请参见常见错误码

开源模型体验

更多开源免费模型体验及下载,详见魔搭社区:人脸识别OOD模型ArcFace人脸识别模型IR人脸识别模型FRIR口罩人脸识别模型FRFM-large口罩人脸识别模型FaceMask

安全声明

  • 请确保上传的图片或文件来源符合相应的法律法规。
  • 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。
  • 平台不存储用户在使用服务过程中涉及的原始人脸图片或文件信息。