静默活体检测能力,有效规避用户实名认证环节风险(代码片段)

华为移动服务 华为移动服务     2022-12-01     268

关键词:

静默式活体检测,是华为HMS Core机器学习服务所属的人脸活体检测能力,即无需用户配合做出张嘴、扭头、眨眼等动作,便可实时捕捉人脸,快速判断是否为活体,用户使用过程便捷,综合体验感较佳。

技术原理

静默活体检测能力使用RGB摄像头,通过屏幕拍摄出现的摩尔纹、纸质照片反光等一些细节信息进行甄别摄像头前的检测物是真实人脸,还是人脸翻拍图片、人脸翻拍屏幕、人脸面具等假脸攻击。同时,静默活体检测能力的活体数据覆盖光照、脸部饰品、性别、发型、面具材质等场景,对人脸存在的宏观环境进行分析,排除明显不可能存在人脸的场景。

静默活体检测能力的模型设计采用轻量化卷积模块,同时将模型的线性计算通过重参数化思想在推理阶段转成单个卷积或全连接模块。模型部署采用Mindspore-lite推理框架,对算子进行裁剪,实现极致的包大小,更利于开发者集成应用。

应用场景

活体检测技术通常应用在人脸对比技术之前,比如在人脸识别手机解锁时,首先需要通过活体检测技术判别机器前出现的人脸是真脸还是假脸,然后再对比当前人脸与系统已录入人脸是否是同一人,这样可以防止当事人不在场的情况下,有人假冒当事人解锁手机,造成个人信息泄露等严重损失。

那么,如何才能集成静默活体检测能力呢?

集成步骤

1.开发准备

详细步骤可参考华为开发者联盟官网中的应用开发介绍:https://developer.huawei.com/consumer/cn/doc/development/hiai-Guides/liveness-detection-0000001051386243?ha_source=hms1

静默活体检测提供两种调用方式,您可以根据需求选择相应的调用方式构建活体检测服务。

2.默认扫描界面

2.1 创建静默活体检测结果回调,用于获取检测结果。

private MLLivenessCapture.Callback callback = new MLLivenessCapture.Callback() 
    @Override
    public void onSuccess(MLLivenessCaptureResult result) 
        // 检测成功的处理逻辑,检测结果可能是活体或者非活体。
    

    @Override
    public void onFailure(int errorCode) 
        // 检测未完成,如相机异常CAMERA_ERROR,添加失败的处理逻辑。
    
;

2.2 创建静默活体检测实例,启动检测。

MLLivenessCapture capture = MLLivenessCapture. getInstance();

capture.startDetect(activity, callback);

3.自定义扫描界面

3.1 创建MLLivenessDetectView,并加载到Activity布局。

  • I.绑定相机预览界面,设置活体识别区域。

在相机预览流中,静默活体检测会对人脸在不在图像的中间进行判断,为了提高活体的通过率,建议人脸框放在屏幕中间,且活体识别区域比绘制的人脸框范围略大。

  • II.设置是否检测口罩。

  • III.设置结果回调。

  • IV.将MLLivenessDetectView加载到Activity。

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_liveness_custom_detection);
    mPreviewContainer = findViewById(R.id.surface_layout);
    // ObtainLLivenessDetectView
mlLivenessDetectView = new MLLivenessDetectView.Builder()
        .setContext(this)
        //设置是否检测口罩
        .setOptions(MLLiveness DetectView.DETECT_MASK)
        //设置人脸框相对于MLLivenessDetectView的Rect
        .setFaceRect(new Rect(0, 0, 0, 200))
        //设置结果回调
        .setDetectCallback(new OnMLLivenessDetectCallback() 
            @Override
            public void onCompleted(MLLivenessCaptureResult result) 
                // 静默活体检测完成时的结果回调
            

            @Override
            public void onError(int error) 
                // 活体检测发生错误时的错误码回调
            

            @Override
            public void onInfo(int infoCode, Bundle bundle) 
                // 静默活体检测提示信息回调,可用于界面提示
                // if(infoCode==MLLivenessDetectInfo.NO_FACE_WAS_DETECTED)
                     // 当前没有检测到人脸
                // 
                // ...
            

            @Override
            public void onStateChange(int state, Bundle bundle) 
                // 静默活体检测状态切换回调
                // if(state==MLLivenessDetectStates.START_DETECT_FACE)
                     // 开始人脸检测
                // 
                // ...
            
        ).build();
    mPreviewContainer.addView(mlInteractiveLivenessDetectView);
    mlInteractiveLivenessDetectView.onCreate(savedInstanceState);

4.对MLLivenessDetectView设置生命流程监听。

@Override
protected void onDestroy() 
    super.onDestroy();
    mlLivenessDetectView.onDestroy();


@Override
protected void onPause() 
    super.onPause();
    mlLivenessDetectView.onPause();


@Override
protected void onResume() 
    super.onResume();
    mlLivenessDetectView.onResume();


@Override
protected void onStart() 
    super.onStart();
    mlLivenessDetectView.onStart();


@Override
protected void onStop() 
    super.onStop();
    mlLivenessDetectView.onStop();

更多关于机器学习服务介绍,请访问华为开发者联盟官网
如果您在集成SDK或上架应用到华为应用市场时遇到问题,都可以在线提单

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

百度人脸采集sdk通过cfca权威安全测评

...脸实名认证解决方案的安全性,百度发布了创新炫瞳活体检测增强对于非活体的拦截能力,基于与黑产的多年对抗和总结,全面对人脸采集SDK进行安全加固,通过端云结合的加解密方案,从代码逻辑、采集方... 查看详情

百度人脸采集sdk通过cfca权威安全测评

...脸实名认证解决方案的安全性,百度发布了创新炫瞳活体检测增强对于非活体的拦截能力,基于与黑产的多年对抗和总结,全面对人脸采集SDK进行安全加固,通过端云结合的加解密方案,从代码逻辑、采集方... 查看详情

机器学习服务活体检测算法荣获cfca权威安全认证

...测能力,通过海量样本集训练,不断增强对于非活体攻 查看详情

ocr证件识别最多再火三年

...都是第一步。18790613o1o实名认证大致步骤有:第一、人脸活体检测。判断当前是否是活体,而不是照片或者视频。如果是酒店或者机场、火车站这种场所,其设备就带有活体检测算法。第二、OCR证件识别。包括二代证,驾照,行... 查看详情

多维活体检测,让人脸识别更安全

...脸识别领域的安全风险,主持人用现场合成的视频通过了活体检测和人脸验证,因此人脸识别的安全性引起大众关注。对于活体检测的安全隐患,腾讯优图团队一直保持高度关注,并依托多年积累的技术能力和业务运营经验,已... 查看详情

多维活体检测,让人脸识别更安全

...脸识别领域的安全风险,主持人用现场合成的视频通过了活体检测和人脸验证,因此人脸识别的安全性引起大众关注。对于活体检测的安全隐患,腾讯优图团队一直保持高度关注,并依托多年积累的技术能力和业务运营经验,已... 查看详情

华为机器学习服务活体检测再升级,构建安全友好的交互式体验

...开发者共鸣。为了使人脸识别变得更加安全,我们在静默式活体检测的基础上增加了交互式活体检测能力,希望和开发者共同构建安全友好的人脸识别体验。活体检测,让“假脸”无所遁形在大多数人的印象中,... 查看详情

华为机器学习服务活体检测再升级,构建安全友好的交互式体验

...开发者共鸣。为了使人脸识别变得更加安全,我们在静默式活体检测的基础上增加了交互式活体检测能力,希望和开发者共同构建安全友好的人脸识别体验。活体检测,让“假脸”无所遁形在大多数人的印象中,... 查看详情

活体检测技术哪家强?实测n种场景告诉你答案

...方式主要分为三种,分别是:配合式活体检测、静默式活体检测、双目活体检测。一般业界主要采用配合式或静默式的检测方案,为什么不是双目活体检测`因为,得有双目摄像头,而我们涉及身份验证的场... 查看详情

夯实隐私与安全,打造安全可靠的支付级活体验检测能力

...夯实隐私与安全——机器学习服务打造安全可靠的支付级活体验检测能力》。演讲嘉宾:班广蔚,华为机器学习服务产品架构师大家好!很荣幸向大家介绍华为机器学习服务的支付级活体检测能力。日常生活中,... 查看详情

什么是活体检测

活体检测是在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体本人操作。可有效抵御... 查看详情

你好,我想知道这个银行卡号是不是跟名字一致?

...办理,也可拨打银行客服电话,根据语音提示,提供身份有效信息,工作人员会为进行解答,告知用户开户人的信息。现在很多人通过网络验证自己的或他人的银行卡的实名是否一致,像红云快查。只需要打开微信,搜索:红云... 查看详情

人脸识别中的活体检测是啥?

人脸识别的活体检测有什么好处吗?活体检测技术哪个平台好?活体检测一般是通过人脸做出的一些动作,比如抬头、点头、睁眼、闭眼、张嘴、摇头这些,然后再使用人脸关键点定位和追踪技术,验证是否是本人在操作。比如... 查看详情

如何通过活体检测

活体检测是[1]在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过眨眼、张嘴、摇头、点头等组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体本人操作。可有效抵... 查看详情

人脸识别中活体检测的重要性是啥?

是防止被攻击欺诈,提高安全性。人脸活体检测主要是通过识别活体上的生理信息来进行,它把生理信息作为生命特征来区分用照片、硅胶、塑料等非生命物质假座的生物特征。一旦虚假人脸攻击成功,极有可能对用户造成重大... 查看详情

支付宝申请接入app支付教程

...认证企业支付宝账户?本步骤分为两大环节,资料登记+实名认证“:a.企业信息资料登记请您使用激活完成的账号密码登陆https://b.alipay.com/,点击“企业实名信息填写”进行入认证第一环节;根据企业的自身情况,选择对应单位... 查看详情

动作活体检测能力,构建安全可靠的支付级“刷脸”体验(代码片段)

...用该能力存在极大的安全隐患。华为机器学习服务的动作活体检测能力,通过采用指令动作配合的方式进行活 查看详情

通付盾第三方支付风控解决方案都有哪些?

...过国家信息安全测评中心EAL3认证及国家密码局商用密码检测。帮助第三方支付机构在处理支付等关键业务场景实现高安全、高便捷的用户身份认证。个人信息核验:通过对用户的个人信息(姓名、身份证号、手机号、银行卡号等)... 查看详情