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

2023-11-21 15:30

本文主要是介绍Android 超简单集成活体检测技术 快速识别“假脸”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

前言

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

应用场景

活体检测技术通常用在人脸比对技术前,先确认镜头前是真实的人而不是有人拿照片或面具作假,然后再比对当前人脸和已录入的人脸是否是同一个人。活体检测技术在生活中有广泛的应用场景。比如在手机解锁时,活体检测技术可以防止有人假冒自己解锁手机,造成个人信息泄露。
在这里插入图片描述

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

并且,HMS ML Kit活体检测技术支持静默式活体检测,不需要用户配合做动作就可以判断是不是真实人脸,怎么样,是不是很方便呢。下面小编给大家介绍如何快速集成活体检测技术。

开发实战

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-0000001050040051

2.代码开发

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

  private MLLivenessCapture.Callback callback = new MLLivenessCapture.Callback() {@Overridepublic void onSuccess(MLLivenessCaptureResult result) {//检测成功的处理逻辑,检测结果可能是活体或者非活体。}@Overridepublic 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.java

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

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


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

这篇关于Android 超简单集成活体检测技术 快速识别“假脸”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403254

相关文章

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示