人脸静默活体(LivenessFaceVerify)指通过API接口传入提前获取的人脸图片进行真实人脸检测的服务。其算法主要识别人脸是否为屏幕翻拍、打印图片等活体攻击类型。该服务适用于低风险业务场景或配合离线人脸识别SDK使用。若您的业务对真实人脸安全要求较高,推荐您集成App或者WebSDK模式或者集成人脸Deepfake检测服务,辅助识别更多维度人脸伪造风险。
传入图片要求
为了确保模型效果稳定,您需要保证传入的图片中只有一张人脸,且该人脸的角度正常。此外,还需要满足以下条件:
图片格式:JPG,JPEG。
图片大小:推荐50~100KB,最大不超过1 MB。
图片分辨率:建议640*480(高*宽),不超过1920*1080(高*宽),且保持照片的高大于宽。推荐短边缩放到720像素,压缩率0.8。
图片质量:照片清晰、曝光正常,脸部无过黑、过亮、光晕等情况。
接口说明
接口名:LivenessFaceVerify。
全局接入地址:cloudauth.aliyuncs.com(IPv4)或cloudauth-dualstack.aliyuncs.com(IPv6)
请求方法:POST和GET。
传输协议:HTTPS。
接口说明:调用LivenessFaceVerify接口对人脸图片进行活体检测。
QPS限量:API独享QPS限量,详情请参见服务端接口QPS限量说明。
请求参数
名称 | 类型 | 是否必选 | 描述 | 示例值 |
SceneId | Long | 是 | 认证场景ID。该ID在控制台创建认证场景后自动生成。关于如何创建认证场景,请参见添加认证场景。 | 100000**** |
OuterOrderNo | String | 是 | 客户服务端自定义的业务唯一标识,用于后续定位排查问题。取值最长为32位长度的字母数字组合,请确保唯一。 | e0c34a77f5ac40a5aa5e6ed20c353888 |
ProductCode | String | 是 | 固定值:LR_FR_MIN。 | LR_FR_MIN |
FaceContrastPicture | String | 是 金融级活体检测方案纯服务端接入提供以下三种传入人脸照片的方式,请您选择其中一种。
| 照片Base64编码。 | /9j/4AAQSkZJRgABAQAASxxxxxxx |
FaceContrastPictureUrl | String | 人脸图片地址,公网可访问的HTTP、HTTPS链接。 | https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg | |
OssBucketName | String | 传入OSS存储空间(Bucket)名。需确保与授权OSS时的Bucket名一致。 | cn-shanghai-aliyun-cloudauth-xxxxx | |
OssObjectName | String | 传入OSS中照片的具体文件名。您可以登录OSS管理控制台,在目标文件的详情面板复制文件名。 | verify/xxxxx/xxxxxx.jpeg | |
Model | String | 否 | 活体检测类型。取值:
| FRONT_CAMERA_LIVENESS |
DeviceToken | String | 否 | 设备Token,用于风险识别。 | McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx |
Mobile | String | 否 | 用户手机号码。 | 130xxxxxxxx |
Ip | String | 否 | 用户网络IP地址。 | 114.xxx.xxx.xxx |
UserId | String | 否 | 客户业务自定义的用户ID,请保持唯一。 | 123456789 |
Crop | String | 否 | 是否允许裁剪人脸图片,默认不允许。
说明
| T |
返回数据
名称 | 类型 | 描述 | 示例值 |
RequestId | String | 请求ID。 | 130A2C10-B9EE-4D84-88E3-5384FF039795 |
Message | String | 返回信息的响应消息。 | success |
Code | String | 返回码。返回200表示响应成功。其他返回码说明,请参见返回Code和Message说明。 详细认证结果判断请参考ResultObject.SubCode的结果。 | 200 |
ResultObject.Passed | String | 认证结果。取值:
| T |
ResultObject.CertifyId | String | 实人认证请求的唯一标识。 | 08573be80f944d95ac812e019e3655a |
ResultObject.SubCode | String | 认证结果描述。具体请参见ResultObject.SubCode错误码说明。 | 200 |
ResultObject.MaterialInfo | String | 认证主体附件信息,主要为图片类材料,JSON格式。 | { // 是否为攻击。T表示是,F表示否。 \"faceAttack\":\"F\", // 是否有脸部遮挡。T表示是,F表示否。 \"faceOcclusion\":\"F\", \"facialPictureFront\":{ // 人脸攻击分。 \"faceAttackScore\":0.3212890625, // 活体人脸质量分数。 \"qualityScore\":12.98420429229736 } } |
返回Code和Message说明
Code | Message | 描述 |
200 | success | 成功。 |
400 | 参数不能为空 | 参数不能为空。 |
401 | 参数非法 | 非法参数。传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母等特殊字符。 |
404 | 认证场景配置不存在 | 认证场景配置不存在,请先在控制台上创建认证场景。 |
410 | 未开通服务 | 未开通OSS产品或未完成OSS读写授权,请登录控制台完成授权。具体操作,请参见授权金融级实人认证访问OSS存储空间。 |
411 | RAM无权限 | 需要为子账号授予AliyunAntCloudAuthFullAccess的操作权限。 |
412 | 欠费中 | 金融级实人认证或OSS存在欠费,请充值后操作。 |
419 | 传入图片不可用 | 图片无法下载、图片内容为空、图片分辨率不符合要求或提取不到人脸特征,建议更换图片。 |
420 | 数据重复 | 图片传入方式超过了一种。支持以下三种传入人脸图片的方式,只能使用其中一种:
|
421 | 传入图片过大 | 图片超过了1 MB,建议压缩图片或更换图片上传方式。 |
422 | 下载图片超时 | 图片下载超过了3秒,请排查网络后重新操作。 |
500 | 系统错误 | 系统内部错误,请反馈工程师排查。 |
ResultObject.SubCode错误码说明
错误码 | 认证描述文案 | 是否计费 | 可能原因和运营建议 |
200 | 认证通过 | 是 | 无。 |
205 | 活体检测存在风险 | 是 | 可能存在攻击风险,建议人工审核分层处理。如果是真人,可重新操作。 |