静默式活体检测,是华为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() {@Overridepublic void onSuccess(MLLivenessCaptureResult result) {// 检测成功的处理逻辑,检测结果可能是活体或者非活体。}@Overridepublic 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() {@Overridepublic void onCompleted(MLLivenessCaptureResult result) {// 静默活体检测完成时的结果回调}@Overridepublic void onError(int error) {// 活体检测发生错误时的错误码回调}@Overridepublic void onInfo(int infoCode, Bundle bundle) {// 静默活体检测提示信息回调,可用于界面提示// if(infoCode==MLLivenessDetectInfo.NO_FACE_WAS_DETECTED){// 当前没有检测到人脸// }// ...}@Overridepublic 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或上架应用到华为应用市场时遇到问题,都可以在线提单

了解更多详情>>

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

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

静默活体检测能力,有效规避用户实名认证环节风险相关推荐

  1. 静默活体检测-人脸活体识别

    活体检测技术一般分为配合式活体检测和非配合式活体检测. 配合式活体检测是最常见的活体检测方式,通过眨眼.张嘴.摇头.点头.甚至读出随机数字等配合式组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户 ...

  2. Android NDK开发——人脸检测与静默活体检测

    前言 1.开发环境是win10,IDE是Android studio 北极狐,用到的库有NCNN,OpenCV. 2.NCNN库可以用官方编译好的releases库,也可以按官方文档自己编译. 3.O ...

  3. 基于深度学习的人脸检测与静默活体检测——C++实现

    前言 1.系统环境是win10,显卡RTX3080;cuda10.2,cudnn7.1;OpenCV4.5,ncnn版本是20210525;C++ IDE vs2019. 2.使用NCNN作模型推理加 ...

  4. 工业级静默活体检测开源算法技术解析记录

    工业级静默活体检测开源算法技术解析(小视科技分享) 视频链接: https://www.bilibili.com/video/BV1qZ4y1T7CH 相关背景 定义:无感鉴别镜头前人脸的真伪,人脸识 ...

  5. c#和java部署pytorch同事识别两个图片_人脸识别漏洞频出?这里有个开源静默活体检测算法,超低运算量、工业级可用...

    小视科技团队开源的基于 RGB 图像的活体检测模型,是专门面向工业落地场景,兼容各种复杂场景下的模型.该自研的剪枝轻量级模型,运算量为 0.081G,在麒麟 990 5G 芯片上仅需 9ms.同时基于 ...

  6. 人脸识别漏洞频出?这里有个开源静默活体检测算法,超低运算量、工业级可用...

    来源:机器之心 本文约3259字,建议阅读7分钟. 本文介绍小视科技团队开源的基于 RGB 图像的活体检测模型,是专门面向工业落地场景,兼容各种复杂场景下的模型.该自研的剪枝轻量级模型,运算量为 0. ...

  7. 9ms 静默活体检测,小视开源工业级品质算法

    小视科技团队开源的基于 RGB 图像的活体检测模型,是专门面向工业落地场景,兼容各种复杂场景下的模型.该自研的剪枝轻量级模型,运算量为 0.081G,在麒麟 990 5G 芯片上仅需 9ms.同时基于 ...

  8. 人脸静默活体检测最新综述

    ©PaperWeekly 原创 · 作者|燕皖 单位|渊亭科技 研究方向|计算机视觉.CNN 活体检测在人脸识别中的重要环节.以前的大多数方法都将面部防欺骗人脸活体检测作为监督学习问题来检测各种预定义 ...

  9. 单目可见光静默活体检测 Binary or Auxiliary Supervision论文解读

    点击我爱计算机视觉标星,更快获取CVML新技术 前段时间,52CV正式运营子品牌OpenCV中文网公众号,旨在分享最新的OpenCV实用技术与计算机视觉突破,无意中分享了两篇活体检测的代码: CVPR ...

最新文章

  1. 解密:面部特征点检测的关键技术
  2. 如何用Python一门语言通吃高性能并发、GPU计算和深度学习
  3. threadpool —— 基于 pthread 实现的简单线程池(code)
  4. Mac实践--MAC搭建FTP服务器
  5. 编译原理(第3版)——引论
  6. ABAP 如何解析 JSON 数据试读版
  7. Google退出中国
  8. 千呼万唤的线粒体基因组完成图
  9. request+BeautifulSoup:下载《笔趣看》网小说《第九特区》
  10. Unity 回合制战斗系统(中级篇)-血条和伤害数值
  11. 人口危机 资本剥削导致生育率低迷
  12. 微信小程序 — 保存文件到本地
  13. 移植WebRTC中的VAD
  14. 删除PowerPoint的备注
  15. pcap_next_ex() 捕获数据包
  16. Upload to server password failed. Failed to transfer file . Permission denied.
  17. php 回到顶部,回到顶部总结
  18. python画球轨迹图_python绘制铅球的运行轨迹代码分享
  19. image 图片生产XPS文件
  20. IBM X3850 X5“Ext QPI Link 2”报错的处理 shangxl

热门文章

  1. 旅行不知道特色美食有什么?这个小程序助力美食攻略新风向。
  2. SVN的作用是什么?为什么要用SVN?
  3. 怎么给视频配音?三个小诀窍来帮忙,适合刚入门的小伙伴
  4. 动漫人物五官比例怎么画好看?手把手教你画五官教程
  5. 解析——详细解读微信内置浏览器不支持下载APK(APP)软件的解决方法
  6. elementUI 表格筛选 默认选中
  7. 正能量励志类语录短视频在抖音发展如何?现在入局需要注意什么?
  8. 【无标题】特种作战“头盔式”单兵图传系统
  9. 序列化对象为什么需要定义UID值
  10. Clang-Format-Options 中文翻译