Android 超简单集成活体检测技术 快速识别“假脸”

Android 超简单集成活体检测技术 快速识别“假脸”

前言

你有没有过这样的顾虑,刷脸解锁真的安全吗?若是有人用个人照片或者视频冒充我,那么手机可不能够发现镜头前不是我本人呢?固然能够啦。华为HMS ML Kit活体检测技术能够准确地分辨真实人脸和“假脸”。无论是人脸翻拍照片、人脸视频重放,仍是人脸面具,活体检测技术均可以立刻揭穿这些“假脸”,让“假脸”无所遁形! 在这里插入图片描述java

应用场景

活体检测技术一般用在人脸比对技术前,先确认镜头前是真实的人而不是有人拿照片或面具做假,而后再比对当前人脸和已录入的人脸是不是同一我的。活体检测技术在生活中有普遍的应用场景。好比在手机解锁时,活体检测技术能够防止有人假冒本身解锁手机,形成我的信息泄露。 在这里插入图片描述android

或者是在办理金融业务时,活体检测技术能够用于实名认证过程当中,先判断当前是真实人脸,再比对当前人脸和身份证上照片信息,确认办理业务的是身份证上的本人,有效防止他人冒充本身形成财产损失。 在这里插入图片描述git

而且,HMS ML Kit活体检测技术支持静默式活体检测,不须要用户配合作动做就能够判断是否是真实人脸,怎么样,是否是很方便呢。下面小编给你们介绍如何快速集成活体检测技术。github

开发实战

1. 开发准备

详细的准备步骤能够参考华为开发者联盟: https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/ml-process-4 这里列举关键的开发步骤。安全

1.1 项目级gradle里配置Maven仓地址

buildscript {
    repositories {
             ...
        maven {url 'https://developer.huawei.com/repo/'}
    }
}
 dependencies {
                 ...
        classpath 'com.huawei.agconnect:agcp:1.3.1.300'
    }
allprojects {
    repositories {
             ...
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

1.2 应用级gradle里配置SDK依赖

dependencies{
        // 引入活体检测集合包。
        implementation 'com.huawei.hms:ml-computer-vision-livenessdetection:2.0.2.300'
}

1.3 在文件头添加配置

apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'

1.4 添加以下语句到AndroidManifest.xml文件中,自动更新机器学习模型到设备

<meta-data 
  android:name="com.huawei.hms.ml.DEPENDENCY" 
  android:value= "livenessdetection"/>

1.5 申请相机权限

相机权限申请的具体操做步骤可参考:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/add-permissions-0000001050040051app

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);

Demo效果

下面这个demo展现了镜头前分别是真实人脸和人脸面具时活体检测技术的检测结果,效果是否是很棒? 在这里插入图片描述机器学习

Github源码

https://github.com/HMS-Core/hms-ml-demo/blob/master/MLKit-Sample/module-body/src/main/java/com/mlkit/sample/activity/HumanLivenessDetectionActivity.javamaven

更详细的开发指南参考华为开发者联盟官网

https://developer.huawei.com/consumer/cn/hms/huawei-mlkitide


原文连接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203345286567820416&fid=18 做者:留下落叶学习