当前位置: 首页 > 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; 在多数程序框图对…...

三步终极指南:如何永久免费使用Cursor Pro AI编程助手

三步终极指南&#xff1a;如何永久免费使用Cursor Pro AI编程助手 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tri…...

状态机+事件驱动框架在嵌入式开发中的5个常见误区及避坑指南

状态机事件驱动框架在嵌入式开发中的5个常见误区及避坑指南 在嵌入式系统开发中&#xff0c;状态机与事件驱动框架的组合堪称黄金搭档&#xff0c;它们共同构建了响应迅速、结构清晰的软件架构。然而&#xff0c;就像任何强大的工具一样&#xff0c;如果使用不当&#xff0c;这…...

用global关键字解决UnboundLocalError?先别急,这里有更Pythonic的3种写法

告别global关键字&#xff1a;3种更优雅的Python变量作用域解决方案 在Python开发中&#xff0c;遇到UnboundLocalError时&#xff0c;很多开发者会条件反射地使用global关键字解决问题。虽然这种方法确实能让代码运行起来&#xff0c;但它往往带来更多隐患——命名空间污染、难…...

如何快速优化Windows系统:Winhance中文版完整指南

如何快速优化Windows系统&#xff1a;Winhance中文版完整指南 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-zh_CN …...

量化分析第一步:手把手教你用Pandas清洗网易金融下载的股票CSV数据

量化分析第一步&#xff1a;手把手教你用Pandas清洗网易金融下载的股票CSV数据 刚拿到网易金融导出的股票CSV数据时&#xff0c;很多人会直接扔进分析工具——直到发现中文列名报错、日期格式混乱、停牌日数据缺失等问题才手忙脚乱。作为量化分析的真正起点&#xff0c;数据清洗…...

EXPKEYSIG签名失效:Open Robotics密钥更新与APT源安全修复实战

1. 当APT更新报错时发生了什么&#xff1f; 那天我正在给一台Ubuntu 18.04的机器人开发机做例行更新&#xff0c;突然在终端里看到一串刺眼的红色错误提示&#xff1a;"下列签名无效&#xff1a;EXPKEYSIG F42ED6FBAB17C654"。作为一个常年和Linux打交道的开发者&am…...

Ubuntu Rockchip完整指南:为RK3588设备快速构建定制化Ubuntu系统

Ubuntu Rockchip完整指南&#xff1a;为RK3588设备快速构建定制化Ubuntu系统 【免费下载链接】ubuntu-rockchip Ubuntu for Rockchip RK35XX Devices 项目地址: https://gitcode.com/gh_mirrors/ub/ubuntu-rockchip Ubuntu Rockchip是一个社区驱动的开源项目&#xff0c…...

如何利用EuroSAT数据集实现98.57%的土地覆盖分类准确率?遥感AI的终极指南

如何利用EuroSAT数据集实现98.57%的土地覆盖分类准确率&#xff1f;遥感AI的终极指南 【免费下载链接】EuroSAT EuroSAT: Land Use and Land Cover Classification with Sentinel-2 项目地址: https://gitcode.com/gh_mirrors/eu/EuroSAT EuroSAT是一个基于Sentinel-2卫…...

Rust 宏系统在工程化中的应用

Rust宏系统在工程化中的应用 Rust以其高性能和内存安全性著称&#xff0c;而宏系统则是其元编程能力的核心体现。在工程化开发中&#xff0c;宏能够显著减少重复代码、提升开发效率&#xff0c;并增强代码的可维护性。无论是自动生成样板代码&#xff0c;还是实现领域特定语言…...

STM32项目交付新姿势:用CoFlash把.bin/.elf文件甩给客户,告别源码工程

STM32项目交付新姿势&#xff1a;用CoFlash实现二进制文件的安全传递 在嵌入式开发领域&#xff0c;知识产权保护与高效协作往往是一对难以调和的矛盾。传统开发模式下&#xff0c;工程师不得不将完整的Keil或CubeIDE工程源码打包交付给客户或生产部门&#xff0c;这不仅暴露了…...