当前位置: 首页 > news >正文

浅析人脸活体检测技术的功能及几种分类

在日常生活工作中,出现了人脸验证、人脸支付、人脸乘梯、人脸门禁等等常见的应用场景。这说明人脸识别技术已经在门禁安防、金融行业、教育医疗等领域被广泛地应用,人脸识别技术的高速发展与应用同时也出现不少质疑。其中之一就是人脸识别很容易被照片、视频、人脸模型等方式轻易蒙混,并且网络上也传出不少破解方法。针对这些问题,人脸识别技术其实也是进行了升级迭代,当前的人脸识别系统是需要具有人脸活体检测功能的。那么人脸活体检测功能到底是什么呢?

说的直白一些,人脸活体检测功能也就是人脸防伪技术,而不是人脸的验证技术。像人脸验证技术主要是系统会判断两个人脸是否为同一人的算法,当系统通过人脸比对后获取两个人脸特征的相似度,然后与预设的阈值等进行比较。一旦相似度是大于阈值,则会判定为同一个人,反之则不同。而人脸活体检测功能,它的算法主要是判定是否为真人活体,因而那些企图通过照片、视频或者模型等方式蒙混过关是不能通过的。下面我们具体看一下该功能有什么具体的作用。

1、人脸活体检测能解决利用照片的漏洞

一般情况下,利用照片是很常见钻人脸识别漏洞的方式。现在获取一个人的照片只要在网络社交平台等就可以轻易做到。不过,照片这种媒介是静态的,具有活体检测功能则需要通过动态来判断,因此利用照片的方式是无法通过人脸验证的。毕竟活体检测是在人脸验证时需要利用比如眨眨眼、张张嘴或者抬头、转头等交互动作来进行活体检测的。

2、人脸活体检测能解决利用视频的漏洞

说起视频的漏洞,一般是指预先把相关动作录制成视频。然后把视频对着人脸识别检测系统播放。不过对于这种利用视频对着摄像头成像的方式,其实与人脸的真实度还是有很大的区别,因此经常会存在有诸如反光、有倒影、影像模糊等问题。相对而言,这是比较好识别的一种情况。更何况具有活体检测功能,使得利用视频的方式无法钻漏洞。

3、人脸活体检测能解决利用模型的漏洞

利用模型的漏洞指的是按照真实比例,制作出一个类似真人脸部的3D模型。这个方式虽然说可以解决照片与视频的一些问题,而且真人脸部模型与人相当接近。但是首先模型的材料的表面发射率与真实人脸依然是存在不小的差距,在算法上可以优化解决。其次,模型并非活体,也无法通过活体检测的步骤。

人脸活体检测技术主要分为以下三大类:

1、图片人脸活体检测:通过静态图片进行活体检测,通常基于传统图像处理,主要的方式有基于纹理特征的方式、基于图像质量的方式、以及基于深度特征的方法。

2、配合式人脸活体检测:需要人脸识别使用者的配合交互,通过判断用户是否按照要求在镜头前完成指定动作来进行活体检测,主要包括随机动作指令人脸活体检测和语音活体检测。

随机动作指令人脸活体检测需要用户根据提示做出相应的动作,通过眨眼、点头、摇头、张嘴等面部动作验证用户是否为真实活体本人操作。随机动作式活体检测依赖于动作识别算法的性能和准确率,通常方法是通过对一个连续多帧人脸活体图像数据中包含的活体动作特征执行区域信息进行动作特征识别抽取,例如二值化处理,然后通过分析多帧图像之间特征变化是否大于指定动作对应阈值来判断用户是否完成了该动作。

语音活体检测则是需要用户配合提示读出相应文字验证码,然后分别对视频和音频进行检测。这种技术主要通过人脸关键点定位技术和人脸追踪等技术,通过用户配合完成的动作声音是否与系统要求相符合来验证用户是否为真实的活体本人。也可以通过抽取嘴部区域的光流特征变化,然后使用SVM等分类器识别用户是否完成了文字的朗读。

静默人脸活体检测:无需用户动作或语音配合,可以在不超过1秒的时间内实时完成检测。静默活体检测的主要原理是结合了图片活体检测,除了抽取图片的纹理颜色特征,利用图片的质量进行判断外,还利用了基于生命信息的方法与和时间相关的深度特征。

由于真实人脸并非绝对静止,存在很多不自觉的轻微动作,活体人脸会有心跳导致血管抖,眨眼,微表情引起脸部肌肉跳动等生命特征,可以利用人脸识别过程中的多帧画面提取运动特征,心跳特征,连续性特征等用于人脸活体检测。通过远程光体积变化描记图法等方法可以检测到来自摄像头的人体器官变化信息,通过计算人体心率以及人脸血流导致的颜色变化等有效信息来区分真假人脸。基于生命信息的方法对利用3D模型的虚假人脸攻击有明显的防御效果。

当前的人脸识别技术方面的应用,比如人脸识别门禁系统,活体检测的功能都是最基础的。在当下无接触、无感通行日渐流行的社会中,活体检测的这种人脸防伪技术是给人们的安全与便捷性等方面提供了更多的保障。

申明:文章为本人原创,禁止转载,如有疑问请致邮:283870550@qq.com

相关文章:

浅析人脸活体检测技术的功能及几种分类

在日常生活工作中,出现了人脸验证、人脸支付、人脸乘梯、人脸门禁等等常见的应用场景。这说明人脸识别技术已经在门禁安防、金融行业、教育医疗等领域被广泛地应用,人脸识别技术的高速发展与应用同时也出现不少质疑。其中之一就是人脸识别很容易被照片、…...

【Java基础面试三十五】、谈谈你对面向接口编程的理解

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:谈谈你对面向接口编程的…...

利用TreeMap来达成离散化的目的

假如有一些奶牛,他们有种类的区别,我们设黑色奶牛的id为1000010000,白色为1,诸如此类以此类推还有红色等各种颜色,接下来给你一群奶牛的颜色id让你统计每种颜色的奶牛有几头。 如过我们使用数组显然1000010000会爆空间…...

PG14安装_rpm方式

一、前期准备 发现生产环境有用rpm安装,故整理安装rpm安装步骤,目的是准备walminer恢复数据用的环境 二、安装包下载 https://download.postgresql.org/pub/repos/yum/ 含多个版本 https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-x…...

水管安装过滤器笔记

文章目录 方案准备工具剪管钳热熔器软管接头及单向阀扳手 操作过程花洒 搬家后,水质不行,洗脸掉皮,洗头以前不掉头皮屑的,居然也掉头皮屑。有必要简单过滤下了。 水质情况,并不是脏脏的的那种水,看上去还比…...

【Objective-C】浅析Block及其捕获机制

目录 Block的基本使用Block的声明Block的实现Block的调用 Block作为形参使用Block作为属性使用给Block起别名Block的copy Block的捕获机制auto类型的局部变量__block浅析static类型的局部变量全局变量 其他问题 Block的基本使用 什么是Block? Block (块…...

GitHub和Gitee的区别以及具体使用

文章目录 GitHub和GiteeGitHub和Gitee区别GitHub的使用Gitee的使用 GitHub和Gitee GitHub和Gitee区别 速度不同:GitHub位于美国,而Gitee位于中国。这意味着在中国使用Gitee可能会有更快的访问速度和更好的稳定性。如果我们希望体验Git飞一般的速度&…...

使用Redis实现分布式锁解决商品超卖问题(接上篇文章)

1. RedLock(红锁)简介 RedLock是一种用于分布式系统的锁定算法,旨在提供分布式锁的高可用性和分布式容错性。它是由Redis的创建者Salvatore Sanfilippo提出的,用于克服Redis单实例的单点故障问题。RedLock的目标是确保在多个Redis…...

2001-2022年全国290+个地级市高铁开通数据

2001-2022年全国290个地级市高铁开通数据 1、时间:2001-2022年 2、范围:298地级市(293地级市数(其中莱芜市2019年撤市设区)4直辖市数 ) 3、来源:国家铁路局、铁路客货运输专刊及相关统计 国…...

【Java 进阶篇】深入浅出:Bootstrap 轮播图

在现代网页设计中,轮播图是一个常见的元素。它们可以用于展示图片、广告、新闻、产品或任何您希望吸引用户注意力的内容。要实现一个轮播图,您通常需要一些复杂的HTML、CSS和JavaScript代码,这对于初学者来说可能会感到困难。但幸运的是&…...

75. 颜色分类

75. 颜色分类 双指针——快慢指针 class Solution {public void sortColors(int[] nums) {int n nums.length;int p0 0;for(int i 0; i < n; i){if(nums[i] 0){swap(nums, p0, i);p0;}}int p1 p0;for(int i p0; i < n; i){if(nums[i] 1){swap(nums, p1, i);p1;}…...

Multi-Modal Diagnosis of Infectious Diseases in the Developing World

方法 作者未提供代码...

网络协议--IP:网际协议

3.1 引言 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输&#xff08;见图1-4&#xff09;。许多刚开始接触TCP/IP的人对IP提供不可靠、无连接的数据报传送服务感到很奇怪。 不可靠&#xff08;unreliable&#xff09;的意思是它不能…...

【考研数学】线性代数第六章 —— 二次型(3,正定矩阵与正定二次型)

文章目录 一、基本概念1.1 引例1.2 正定二次型概念 二、正定二次型的判别写在最后 一、基本概念 1.1 引例 &#xff08;1&#xff09;二次型 f ( x 1 , x 2 , x 3 ) x 1 2 3 x 2 2 2 x 3 2 X T A X f(x_1,x_2,x_3)x_1^23x_2^22x_3^2\pmb{X^TAX} f(x1​,x2​,x3​)x12​3…...

【Java 进阶篇】手把手教你创建 Bootstrap 旅游网站

随着互联网的普及&#xff0c;旅游行业在全球范围内迅速发展。人们通过网络规划、预订和分享他们的旅行经历。因此&#xff0c;拥有一个令人印象深刻的旅游网站对于吸引游客和提供有用信息至关重要。在本篇博客中&#xff0c;我们将手把手教您如何创建一个令人兴奋的旅游网站&a…...

一百九十二、Flume——Flume数据流监控工具Ganglia单机版安装

一、目的 在安装好Flume之后&#xff0c;需要用一个工具可以对Flume数据传输进行实时监控&#xff0c;这就是Ganglia 二、Ganglia介绍 Ganglia 由 gmond、gmetad 和 gweb 三部分组成。 &#xff08;一&#xff09;第一部分——gmond gmond&#xff08;Ganglia Monitoring Da…...

光学知识整理-偏振光

偏振光 目录基础概念基础概念的补充平面偏振光&#xff08;线偏振光&#xff09;部分偏振光圆偏振光椭圆偏振光菲涅耳公式相位关系 反射折射所引起的偏振态的改变斯托克斯倒逆关系重要参数 目录 基础概念 光是横波&#xff1a;光是电磁波,其电场分量(电场强度)E、磁场分量(磁…...

CUDA纹理内存tex1D/tex2D/tex3D函数

CUDA的tex1D是用于从一维纹理中读取数据的函数。纹理是一种特殊的内存区域&#xff0c;可以用来存储图像、视频或其他数据。tex1D函数可以用于从纹理中读取数据&#xff0c;并将其传递给CUDA程序。 tex1D函数的语法如下&#xff1a; float tex1D(sampler_t sampler, float te…...

【Java基础面试三十八】、请介绍Java的异常接口

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;请介绍Java的异常接口 …...

LabVIEW中的数据通信方法

LabVIEW中的数据通信方法 LabVIEW中包含多种数据通信方法&#xff0c;不同的方法适用于不同的场景。应该先了解概述&#xff0c;确保在应用程序中使用正确的数据通信方法。 数据通信类型&#xff1a; 数据流元素 缓冲接口 变量接口 应用场景&#xff1a; 在多数程序框图对…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...