本文为您介绍人脸人体(facebody)类目下的红外人脸活体检测DetectInfraredLivingFace的语法及示例。
功能描述
红外人脸活体检测能力可以检测红外图片中的人脸是否为来自认证设备端的近距离裸拍活体人脸对象,可广泛应用在红外设备人脸实时采集场景,满足红外人脸注册认证的真实性和安全性要求,判断的前置条件是红外图像中有人脸。
从能力范围来看:
1. 认证设备端是指借助近距离裸拍活体正面人脸用于认证、通行等服务场景的含红外摄像头的硬件设备,常见的认证设备端有门禁机、考勤机、PC等智能终端认证设备。
2. 裸拍活体正面人脸是指真人未经重度PS、风格化、人工合成等后处理的含正面人脸(非模糊、遮挡、大角度的正面人脸)的裸红外照片。常见的非真人有纸张人脸、3D模型人脸等。
关于该接口功能的示例图如下:
- 真人
- 纸张人脸
应用场景
- 系统人脸登录防攻击:通过检测上传的红外图像是否是真人实拍,而非攻击及PS等后处理照片,以防止攻击者登录系统带来安全风险。
- 门禁门锁闸机刷脸通行:面向人脸注册和认证环节设备端实时的红外活体检测,实现注册与认证过程中的真人校验,防止非法分子盗用、伪造他人身份打卡通行。
- 智慧酒店自助入住:在酒店前台自助办理入住场景中,运用红外活体检测技术实现无人监管场景下,住客非活体攻击(纸张人脸、电子屏人脸)的高效率拦截。
特色优势
- 高精度防伪:基于图片中人像目标的高维度特征(风格化、摩尔纹、成像畸形等),判断目标对象是否为活体,有效防止屏幕二次翻拍等作弊攻击,支持单张或多张判断逻辑。
- 高灵敏拦截:支持红外摄像头设备的实时活体检测,可有效防止翻拍、头模、打印图片等样本攻击。
- 使用范围广:对于门锁等可见光照不理想的场景,具有更佳的适用性。
- 简单易用:可直接调用的 API 接口,服务简单易用,易被集成,兼容性强。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通人脸人体服务,若未开通服务请立即开通。
本能力仅限企业认证用户开通。更多实名认证操作信息,请参见实名认证。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为人脸人体(facebody)的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 示例代码:该能力常用语言的示例代码,请参见红外人脸活体检测示例代码。
7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 图像格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
- 图像大小:不超过10 MB。如您有大图需求,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。
- 图像分辨率:建议大于256×256,像素过低可能会影响识别效果。
- URL地址中不能包含中文字符。说明 当图像分辨率超过最大限制时,请先将图片进行缩放,调整图片大小,具体请参见图片缩放。
检测说明
- 最长检测时间是5秒,如果在该时间内没有完成检测,系统会强制返回超时错误码。
- 图像下载时间限制为3秒,如果下载时间超过3秒,系统会返回下载超时。
- 图像检测接口响应时间依赖图像的下载时间。请保证被检测图像所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存。
- 最多可检测10张图像。
- 目前平台提供的活体检测为静默活体,即基于图片进行检测,暂不支持摇头,张嘴、眨眼等动作的活体检测。
计费说明
关于红外人脸活体检测的计费方式及报价,请参见计费介绍。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | DetectInfraredLivingFace | 系统规定参数。取值:DetectInfraredLivingFace。 |
Tasks.N.ImageURL | String | 是 | https://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectInfraredLivingFace/DetectInfraredLivingFace.jpeg | 待检测的图像URL地址。JSON数组中的每个元素是一个图片检测任务结构体(image表)。最多支持10个元素,即同时最多对10张图片进行检测。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 说明 对于该接口,系统会自动将OSS链接地址转成内网地址然后再下载文件,所以调用该接口并不会产生OSS流量计费。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 68DF6EC7-3B1D-11EE-9FA7-1122F1AE92DD | 请求ID。 |
Data | Object | 返回的结果数据内容。 |
|
Elements | Array of elements | 返回的结果数据内容。 |
|
FaceNumber | Long | 1 | 单张图片检测到的人脸数量。如果没有检测到人脸,FaceNumber返回为0。 |
ImageURL | String | http://viapi-demo.oss-cn-shanghai.aliyuncs.com/viapi-demo/images/SegmentCommonImage/segmentimage-src-hu.jpeg | 对应请求中的图像URL地址。 |
Results | Array of results | 返回人脸坐标和活体结果。 |
|
Label | String | liveness | 检测结果的分类,取值包括:
如果没有检测到人脸,则Label返回为liveness。 |
Rate | Float | 83.3848 | 结果为该分类的概率,取值范围为[0.00-100.00]。取值越大表示属于该分类的概率越大。 如果未检测到人脸,则Rate返回为100。 |
Rect | Object | 人脸检测框信息。如果未检测到人脸,则Rect人脸检测坐标返回全为0。 |
|
Height | Long | 20 | 检测框高度。 |
Width | Long | 30 | 检测框宽度。 |
Top | Long | 50 | 检测框左上角的点y坐标。 |
Left | Long | 60 | 检测框左上角的点x坐标。 |
Suggestion | String | review | 建议您执行的操作,取值范围如下:
如果未检测到人脸,则Suggestion返回为block。 |
MessageTips | String | blurred, occluded or large angle face, please check. | 提示信息,纯文字描述。
|
SDK参考
阿里云视觉AI人脸人体类目下的红外人脸活体检测能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为人脸人体(facebody)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见红外人脸活体检测示例代码。
示例
请求示例
http(s)://facebody.cn-shanghai.aliyuncs.com/?Action=DetectInfraredLivingFace //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&Tasks=[{"ImageURL":"https://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectInfraredLivingFace/DetectInfraredLivingFace.jpeg"}]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<DetectInfraredLivingFaceResponse>
<RequestId>68DF6EC7-3B1D-11EE-9FA7-1122F1AE92DD</RequestId>
<Data>
<Elements>
<FaceNumber>1</FaceNumber>
<ImageURL>http://viapi-demo.oss-cn-shanghai.aliyuncs.com/viapi-demo/images/SegmentCommonImage/segmentimage-src-hu.jpeg</ImageURL>
<Results>
<Label>liveness</Label>
<Rate>83.3848</Rate>
<Rect>
<Height>20</Height>
<Width>30</Width>
<Top>50</Top>
<Left>60</Left>
</Rect>
<Suggestion>review</Suggestion>
<MessageTips>blurred, occluded or large angle face, please check.</MessageTips>
</Results>
</Elements>
</Data>
</DetectInfraredLivingFaceResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "68DF6EC7-3B1D-11EE-9FA7-1122F1AE92DD",
"Data" : {
"Elements" : [ {
"FaceNumber" : 1,
"ImageURL" : "http://viapi-demo.oss-cn-shanghai.aliyuncs.com/viapi-demo/images/SegmentCommonImage/segmentimage-src-hu.jpeg",
"Results" : [ {
"Label" : "liveness",
"Rate" : 83.3848,
"Rect" : {
"Height" : 20,
"Width" : 30,
"Top" : 50,
"Left" : 60
},
"Suggestion" : "review",
"MessageTips" : "blurred, occluded or large angle face, please check."
} ]
} ]
}
}
活体阈值参考
关于图片活体检测的判断阈值选择,可参考以下列表数值信息:
Label |
Rate阈值 |
攻击拦截率 |
活体通过率 |
|
---|---|---|---|---|
liveness |
0.39 |
98.18% |
90.21% |
|
liveness |
0.55 |
98.54% |
89.29% |
|
liveness |
0.7 |
98.94% |
88.36% |
|
normal(推荐) |
0.8(推荐) |
99.11% |
87.00% |
|
normal |
0.95 |
99.60% |
80.03% |
当Label是normal时,表示的是活体,Rate表示活体置信度,Rate取值范围是[80,100]。
当Label是liveness时,表示的是非活体,Rate表示非活体置信度,Rate取值范围是[20,100]。
关于以上数值的概念定义:
- 攻击拦截率:如98%,代表100次作弊假体攻击,会有98次被API识破拒绝。
- 活体通过率:如98%,代表100次真人请求,会有98次顺利通过活体验证。
错误码
关于红外人脸活体检测的错误码,详情请参见常见错误码。
开源模型体验
更多开源免费模型体验及下载,详见魔搭社区:人脸活体检测模型-RGB、人脸活体检测模型-IR、静默人脸活体检测模型-炫彩。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。
- 平台不存储用户在使用服务过程中涉及的原始人脸图片或文件信息。