前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人工智能如何用于静态生物特征验证

人工智能如何用于静态生物特征验证

作者头像
海拥
发布2022-06-27 13:28:34
4130
发布2022-06-27 13:28:34
举报
文章被收录于专栏:全栈技术全栈技术

给大家安利一个免费且实用的前端刷题(面经大全)网站,👉点击跳转到网站

静态生物特征验证是一种常用的 AI 功能,它可以实时捕捉人脸,并可以在不提示用户移动头部或面部的情况下确定人脸是否属于真人。通过这种方式,该服务有助于提供获得积极反馈的便捷用户体验。

在这里插入图片描述
在这里插入图片描述

技术原理

静态生物特征验证需要 RGB 摄像头,并且能够通过细节(例如莫尔图案或纸上的反射)区分真人的面部和欺骗攻击(例如面部和面罩的图像或屏幕截图)照片)在相机拍摄的图像中。该服务支持来自各种场景的数据,包括不同的照明条件、面部配饰、性别、发型和面具材料。该服务分析面部周围环境以检测可疑环境。

静态生物特征验证模型采用轻量级卷积模块,在推理阶段通过重新参数化将线性计算转化为单个卷积模块或全连接层。MindSpore Lite 推理框架可用于模型部署,从而裁剪操作员。然后缩小模型的封装尺寸,使其更便于集成。

应用场景

活体检测通常在人脸验证之前使用。例如,当用户使用面部识别解锁手机时,活体检测首先确定捕获的面部是否真实。如果是,则人脸验证将检查人脸是否与系统中记录的人脸匹配。这两种技术相互补充,以保护用户的设备免受未经授权的访问。

所以可以肯定地说,静态生物特征验证为应用程序提供了严格的保护,我在这里说明如何集成它。

整合程序

准备工作

调用服务有两种模式:

通话模式

活体检测过程

活体检测界面

功能

默认查看模式

由 ML Kit 处理

提供的

确定一张脸是否真实。

自定义查看模式

由 ML Kit 处理

自定义

确定一张脸是否真实。

默认查看模式

1.创建回调获​​取静态生物特征验证结果。

代码语言:javascript
复制
private MLLivenessCapture.Callback callback = new MLLivenessCapture.Callback() {
    @Override
    public void onSuccess(MLLivenessCaptureResult result) {
        // 验证成功时回调,结果表明面部是否为真人。
    }

    @Override
    public void onFailure(int errorCode) {
        // 验证失败时回调。例如,摄像头异常(CAMERA_ERROR)。 添加处理逻辑来处理失败。
    }
};

2.创建静态生物特征验证实例并开始验证。

代码语言:javascript
复制
MLLivenessCapture capture = MLLivenessCapture. getInstance();
capture.startDetect(activity, callback);

自定义查看模式

1.创建一个 MLLivenessDetectView 实例并将其加载到活动布局中。

代码语言:javascript
复制
/**
* 1. 将摄像头预览画面绑定到远程视图,设置活体检测区域。
* 在相机预览流中,静态生物特征验证确定人脸是否在图像中间。 为提高通过率,建议将人脸框置于屏幕中间,并将活体检测区域设置为略大于人脸框。
* 2. 设置是否检测掩码。
* 3. 设置结果回调。
* 4. 将 MLLivenessDetectView 加载到活动中。
*/
@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 的矩形。
        .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) {
                // 收到验证提示消息时回调。 此消息可以显示在 UI 上。
                // if(infoCode==MLLivenessDetectInfo.NO_FACE_WAS_DETECTED){
                     // No face is detected.
                // }
                // ...
            }

            @Override
            public void onStateChange(int state, Bundle bundle) {
                // 验证状态变化时回调。
                // if(state==MLLivenessDetectStates.START_DETECT_FACE){
                     // Start face detection.
                // }
                // ...
            }
        }).build();
    mPreviewContainer.addView(mlInteractiveLivenessDetectView);
    mlInteractiveLivenessDetectView.onCreate(savedInstanceState);
}

2.为MLLivenessDetectView设置生命周期监听器。

代码语言:javascript
复制
@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();
}

📣尾注: 人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。在这里,我们只讨论了人工智能的基本知识

💌 欢迎大家在评论区提出意见和建议!💌

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技术原理
  • 应用场景
  • 整合程序
    • 准备工作
      • 默认查看模式
        • 自定义查看模式
        相关产品与服务
        人脸核身
        腾讯云慧眼人脸核身是一组对用户身份信息真实性进行验证审核的服务套件,提供人脸核身、身份信息核验、银行卡要素核验和运营商类要素核验等各类实名信息认证能力,以解决行业内大量对用户身份信息核实的需求,广泛应用于金融、运营商、共享出行等领域。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档