写点什么

动作活体检测能力支持自定义扫描动作,开发者接入更高效

作者:HMS Core
  • 2023-11-14
    中国香港
  • 本文字数:1232 字

    阅读完需:约 4 分钟

随着人脸识别技术在金融、医疗等多个领域的加速落地,网络安全、信息泄露等问题愈为突出,用户对应用稳定性和安全性的要求也更为严格。


华为机器学习服务的动作活体检测能力,支持实时捕捉人脸,根据用户配合做动作可以判断是真实活体,还是非活体攻击(比如:翻拍图片、翻拍视频以及面具等)。


此前,动作活体检测能力通过采用指令动作配合的方式进行活体检测,在眨眼、张嘴、左摇头、右摇头、注视、点头六种动作中随机选择三种,让用户按指令完成动作。目前,动作活体检测能力新增了自定义扫描动作,开发者可以自己设定扫描动作进行人脸检测,以此判断机器前的人脸是否为真实人脸。


使用人脸关键点及人脸追踪技术,通过连续的图片,计算变化距离与不变距离的比值,进行上一帧图像与下一帧图像的对比,从而验证用户是否为真实活体本人操作,对照片、视频和面具的攻击具有很好的防御效果,是人脸识别能否有效应用的前提条件。以此实现更加友好的交互体验,打造安全可靠的活体检测能力。


自定义扫描动作

不设置自定义扫描动作时会默认从 1-6 个动作中按照默认规则随机生成三个动作进行检测,如果想自己设定检测动作,可以通过调用MLInteractiveLivenessConfigsetActionArray(int[] actionArray, int num, boolean isRandomable)来设置自定义扫描动作。

动作说明:

参数说明:

actionArray:


自定义动作数组,数组元素的取值在[1,6]之间,数组的长度大于等于 num 并且最大长度不超过 6,当 isRandom=false 时 sdk 会取数组的前 num 个动作元素进行验证,当 isRandom=true 时数组的元素禁止重复并且需要满足以下规则:


1.当数组长度和 num 相等并且值为 2 时,[眨眼,注视] [左摇头,右摇头]同一组合中的动作元素不能同时存在;


2.当 num = 4 时,数组中的动作元素必须包含眨眼。

说明

a.当数组为 null 或者数组长度为 0 时,返回错误码 11405;


b.当数组中的元素不在[1,6]之间时,返回错误码 11405;


生成动作组合,当 isRandom=true 时,sdk 会根据生成动作规则自动抛弃不合规的动作组合,生成动作规则如下:


1.当 num=2 时,[眨眼,注视] [左摇头,右摇头]同一组合中的动作元素不会同时存在并且相邻的动作不会相同;


2.当 num=3 时,[眨眼,注视]组合中的动作元素不会同时存在并且相邻的动作元素不会相同;


3.当 num=4 时,眨眼动作元素有且仅有 1 次,注视动作元素最多出现 1 次,[眨眼,注视]组合中的动作元素不会相邻,相邻的动作元素不会相同。


num:


用户需要生成检测动作的个数,num 取值范围[1,4]并且小于等于 actionArray 的长度。


isRandom:


生成检测的动作是否随机,取值 true 表示在 actionArray 数组中随机取 num 个动作进行检测,值为 false 表示定序检测 actionArray 数组前 num 个动作。


MLInteractiveLivenessConfig interactiveLivenessConfig = new MLInteractiveLivenessConfig.Builder()// actionArray 自定义动作int数组,actionArrayNum检测动作数目,isRandom动作是否随机.setActionArray(actionArray, num, isRandom).build();
复制代码


了解更多详情>>


访问机器学习服务联盟官网


获取机器学习服务开发指导文档

用户头像

HMS Core

关注

HMS Core技术团队。 2022-06-16 加入

分享最新的技术干货,带来最全的能力应用场景,更新热门开发者圈子活动。与开发者一起,同成长,共精彩。

评论

发布
暂无评论
动作活体检测能力支持自定义扫描动作,开发者接入更高效_HMS Core_HMS Core_InfoQ写作社区