人脸识别概念解析

news/2024/5/19 0:05:22

目录

1. 概述

2. 人脸检测

3. 人脸跟踪

4. 质量评价

5. 活体检测

6. 特征提取

7. 人脸验证

8. 人脸辨识


1. 概述

        人脸识别在我们的生活中随处可见,例如在大楼门禁系统中,它取代了传统的门禁卡或密码,提高了进出的便捷性和安全性。在商场安保方面,人脸识别被广泛应用于监控系统,有助于识别和跟踪潜在的犯罪嫌疑人或失踪人员,提升了安全防范的能力。另外,手机解锁也是人脸识别技术的重要应用之一,它为用户提供了一种快捷、便利的身份验证方式,替代了传统的密码或指纹识别。

        人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术,主要用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行识别的一系列相关技术。可以集成到产品或系统中,实现基于人脸识别的身份管理、人证核验等功能,可应用于智慧金融、智慧安防等场景。

        人脸识别算法主要涉及人脸图像采集、人脸检测、人脸跟踪、活体检测、人脸图像质量评价、人脸特征提取与比对等一系列技术。

2. 人脸检测

        通过摄像头采集到的人脸图像,除了人脸部分之外还包含大量的背景信息,需要经过人脸检测算法获得人脸在图像中位置和角度等信息,并经过相似变换得到规范化的人脸图像后才能使用识别算法提取人脸特征和比对。

        因为人脸可能出现在图像中任意位置且具有任意大小,人脸检测算法需要对所有的位置和大小进行判断。

        人脸检测算法的输入是一张图片,输出是人脸框坐标序列(0个人脸框或1个人脸框或多个人脸框)。一般情况下,输出的人脸坐标框为一个正朝上的正方形。

        常见的人脸检测算法基本是一个“扫描”加“判别”的过程,即算法在图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸、图像内容相关。开发过程中,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、或“人脸数量上限”的方式来加速算法。

3. 人脸跟踪

        在视频中,从检测到人脸帧开始 ,在连续的后续帧中,对目标人脸的运动轨迹和轮廓变化进行持续分析与跟踪。在跟踪过程中,需要用唯一的编号来区分每个被跟踪的人脸,这个编号称为PID。

        在连续的视频帧中,当一个人进入视频画面直到离开,其PID不变,通过PID来标识同一个人,只需做一次人脸识别,从而有效提高人脸识别的效率,节省设备算力。

4. 质量评价

        人脸识别系统对输入的人脸图像的质量非常敏感,当输入的人脸图像出现光照变化、脸部旋转、画面模糊、表情夸张等情况时,其识别率会显著下降。低质量的人脸图像可能是引起人脸识别系统匹配错误的主要原因,也直接导致了很多系统无法在实际中使用。

        因此,需要在人脸图像检测阶段,建立一个对人脸图像质量的评价机制,通过评价结果对采集到的人脸图像进行筛选,当图像质量高于一定阈值时才会被送到识别系统中进行识别,否则图像将被丢弃,不做处理。

        《GB ∕ T 41772-2022 信息技术 生物特征识别 人脸识别系统技术要求》给出了人脸图像质量评价标准如下表所示。

项目

要求

注册人脸样本

配合式待识别样本

非配合式待识别样本

人脸大小

两眼瞳间距

≥ 60像素

≥ 55像素

≥ 40像素

清晰度

高斯模糊

<0.24

<0.25

<0.30

运动模糊

<0.15

<0.20

<0.26

拉普拉斯方差

≥ 500

≥ 350

≥ 200

姿态

水平转动角

-10° ~ 10°

-20° ~ 20°

-45° ~ 45°

俯仰角

-10° ~ 10°

-15° ~ 15°

-20° ~25°

倾斜角

-10° ~ 10°

-15° ~ 15°

-25° ~25°

完整度

几何失真

≤ 5%

≤ 10%

≤ 15%

眉毛可见度

100%

≥ 90%

≥ 75%

眼睛可见度

100%

100%

100%

鼻子可见度

100%

≥ 95%

≥ 85%

嘴巴可见度

100%

100%

100%

面颊皮肤可见度

100%

≥ 85%

≥ 75%

保真度

化妆和修图情况

未化妆修图

未化妆修图

未化妆修图

光照

均匀性

无光斑和阴阳脸

无光斑和阴阳脸

无光斑和阴阳脸

整体亮暗

无过曝和欠曝

无过曝和欠曝

无过曝和欠曝

灰度级

256级

256级

256级

灰度动态范围

(85~200灰度值占比)

> 95%

> 90%

> 80%

表情

表情类别

中性

中性或微笑

中性或微笑

眼睛睁闭

自然睁开

自然睁开

自然睁开

嘴巴张合

自然闭合

自然闭合或微笑

自然闭合或微笑

5. 活体检测

        活体检测是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法。

        人脸识别系统存在被伪造攻击的风险。因此需要在人脸识别系统中加入活体检测,验证用户是否为真实活体本人操作,以防止照片、视频、以及三维模型的入侵,从而帮助用户甄别欺诈行为,保障用户的利益。

        活体检测分为静默活体检测和配合式活体检测。配合式活体检测即“张张嘴”、“眨眨眼”、“摇摇头”之类;多应用于APP刷脸登录、注册等。静默活体检测是不需要任何动作配合,通过算法和摄像头的配合,进行活体判定;使用起来非常方便,用户在无感的情况下就可以通过检测比对,效率非常高。

        《GB∕T 41772-2022 信息技术 生物特征识别 人脸识别系统技术要求》给出了假体攻击类型包括不限于二维假体攻击和三维假体攻击,如下表所示。

二维假体攻击

二维静态纸张图像攻击

样本材质

打印纸、亚光相纸、高光相纸、绒面相纸、哑粉纸、铜版纸等

样本质量

分辨率、清晰度、大小、角度、光照条件、完整度等

呈现方式

距离、角度、移动、弯曲、折叠等

裁剪方式

图像是否扣除眼部、鼻子、嘴巴等

二维静态电子图像攻击

设备类型

移动终端、微型计算机等

设备显示性能

分辨率、亮度、对比度等

样本质量

分辨率、清晰度、大小、角度、光照条件、完整度等

呈现方式

距离、角度、移动等

二维动态图像攻击

图像类型

录制视频、合成视频等

设备类型

移动终端、微型计算机等

设备显示性能

分辨率、亮度、对比度等

图像质量

分辨率、清晰度、帧率等

呈现方式

距离、角度、移动等

三维假体攻击

三维面具攻击

面具材质

塑料面具、三维纸张面具、硅胶面具等

呈现方式

距离、角度、移动等

光线条件

正常光、强光、弱光、逆光等

裁剪方式

面具是否扣除眼部、鼻子、嘴巴等

三维头模攻击

头模材质

泡沫、树脂、全彩砂岩、石英砂等

呈现方式

距离、角度、移动等

光线条件

正常光、强光、弱光、逆光等

6. 特征提取

        特征提取是将一张人脸图像转化为一串固定长度的数值的过程。这个数值串被称为人脸特征,具有表征这个人脸特点的能力。

        特征提取过程的输入是 “一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的一个数值串(特征)。特征提取算法都会根据人脸五官关键点坐标将人脸对齐预定模式,然后计算特征。

        目前主流的特征提取方法是基于深度学习,利用深度网络模型对海量的人脸图片进行学习,然后对输入图像提取出对区分不同人的脸有用的特征向量,代替人工设计的特征。通过特征向量在特征空间里进行比对,同一人的不同照片提取出的特征,在特征空间里距离较近,不同人的脸在特征空间里相距较远。

7. 人脸验证

        人脸验证(Face Verification)是判定两个人脸图像是否为同一人的算法。

        它的输入是两个人脸特征,通过人脸比对获得两个人脸特征的相似度,通过与预设的阈值比较来验证这两个人脸特征是否属于同一人(即相似度大于阈值,为同一人;小于阈值为不同)。

8. 人脸辨识

        人脸辨识(Face Recognition)是识别出输入人脸图像对应身份的算法。

        它的输入一个人脸特征,通过和注册在库中N个身份对应的特征进行逐个比对,找出“一个”与输入特征相似度最高的特征。将这个最高相似度值和预设的阈值相比较,如果大于阈值,则返回该特征对应的身份,否则返回“不在库中”。


http://www.mrgr.cn/p/83234162

相关文章

15_Scala面向对象编程_访问权限

文章目录 Scala访问权限1.同类中访问2.同包不同类访问3.不同包访问4.子类权限小结 Scala访问权限 知识点概念 private --同类访问private[包名] --包私有; 同类同包下访问protected --同类,或子类 //同包不能访问(default)(public)默认public --公…

Sentinel 控制台学习

引言 上篇文章已经讲过 SpringCloud Sentinel集成到微服务项目中,接下来我们继续学习怎么使用sentinel控制台对微服务进行限流,熔断,降级等一系列操作。 控制台 接下来我们单独讲解每一个菜单按钮 实时监控 实时监控: 可以看到…

|Python新手小白中级教程|第二十七章:面向对象编程(示例操作)(3)使用turtle库与类结合

文章目录 前言一、项目:使用类Circle画出圆形(不调用turtle库)1.基础指令class2.使用turtle画出大圆与小圆3.使用其他功能画一只眼睛 二、使用turtle库画正方形总结 前言 hello,我是BoBo仔,welcome来看我的文章 这节课…

二叉树四种遍历方法

目录 树基本概念 二叉树二叉树的五种形态特殊二叉树二叉链表创建四种遍历方法代码实现 树 树是一个n个节点的有限集,当n0时称之为空树 基本概念 性质 1. 树的定义是递归的,树的定义中又用到了自身 2. 树的根节点没有前驱,除根结点外&#x…

sublime设置默认打开侧边栏(失败)

描述 每次使用sublime打开某个目录,总是不显示侧边栏,还得手动打开。 过程 在设置里找了半天似乎没有这个选项,有点离谱,网上搜到的全是手动打开侧边栏。看来只能Ctrl+KB按得勤快些了。// Display the toggle sidebar button in the status bar"show_sidebar_button&q…

Stable Diffusion AI绘画

我们今天来了解一下最近很火的SD模型 ✨在人工智能领域,生成模型一直是研究的热点之一。随着深度学习技术的飞速发展,一种名为Stable Diffusion的新型生成模型引起了广泛关注。Stable Diffusion是一种基于概率的生成模型,它可以学习数据的潜…

传媒论坛编辑部传媒论坛杂志社传媒论坛杂志2024年第7期目录

专题│场景传播研究 场景传播:一场遮盖自我与寻找自我的博弈 胡沈明; 3 基于CiteSpace的中国场景传播研究热点分析 管倩;粟银慧; 4-610《传媒论坛》投稿:cnqikantg126.com 数字世界的美与危:场景传播的失范与应对之举 王依晗;章洁…

Matlab安装教程(Linux)

解压安装包 在虚拟机中,文件直接通过拖拽文件的方式将安装包拉入虚拟机时,文件通常存放在/tmp/VMwareDnD中,因此需要将存放文件位置的文件转移到/home/<用户名>/<存放目录>中 参考命令如下: mv /tmp/VMwareDnD/<文件存放目录>/* /home/<用户名>/&l…

动态sql

本文参考mybatis看这一篇就够了&#xff0c;简单全面一发入魂 动态SQL 可以根据具体的参数条件&#xff0c;来对SQL语句进行动态拼接。 比如在以前的开发中&#xff0c;由于不确定查询参数是否存在&#xff0c;许多人会使用类似于where 1 1 来作为前缀&#xff0c;然后后面用…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试

工程代码https://download.csdn.net/download/txwtech/89258409?spm1001.2014.3001.5501 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiMana…

2. 基础配置

1. 配置文件格式 1.1 配置文件自动提示功能消失解决方案 ​​ 1.2 SpringBoot配置文件加载顺序(了解) application.properties > application.yml > application.yaml 1.3 注意事项 SpringBoot核心配置文件名为application SpringBoot内置属性过多,且所有属性集中…

Qt/C++音视频开发72-倍速推流/音视频同步倍速推流/不改变帧率和采样率/低倍速和高倍速

一、前言 最近多了个新需求,需要倍速推流,推流界的扛把子obs也有倍速推流功能,最高支持到两倍速。这里所说的倍速,当然只限定在文件,只有文件才可能有倍速功能,因为也只有文件才能倍速解码播放。实时视频流是不可能倍速的,因为没有时长,有时长的才可以按照播放进度来。…

Excel求解器使用教程

添加规则求解加载项创建excel文件,点击文件点击选项选择加载项->规则求解加载项->转到选择规则求解加载项->确定求解器所在位置---数据->规划求解在excel文档中填写相关的计算公式,用来求解点击规则求解,填写对应的目标,可变单元和约束,选择求解方法来求解通过…

虚拟机创建教程

虚拟机创建 创建虚拟机的时候,选择自定义,自己来创建虚拟机在虚拟机中,选择创建16.2.X版本的虚拟机,兼容性比较好在创建虚拟机的操作系统时,选择稍后安装操作系统,实测中如果选择其他的在安装过程中会跳过系统安装的部分阶段选择对应的系统和版本选择名称和安装位置,个人…

union 和union all 使用区别

union 和union all 把 查询user表前5条数据查询user表数据从第7条数据开始,查询两条 通过union来把两个sql中的数据合并到一张表中,只查询出一条数据,会把重复的数据去掉 通过union all查询 出现出了两条数据,不会去重

安全再升级,亚信安慧AntDB数据库与亚信安全二次牵手完成兼容性互认证

日前&#xff0c;湖南亚信安慧科技有限公司&#xff08;简称&#xff1a;亚信安慧&#xff09;的产品与亚信科技&#xff08;成都&#xff09;有限公司&#xff08;简称&#xff1a;亚信安全&#xff09;再次携手&#xff0c;完成亚信安慧AntDB数据库与亚信安全IPoE接入认证系统…

YOLO系列改进,自研模块助力涨点

目录 一、原理 二、代码 三、添加到YOLOv5中 一、原理 论文地址:

TypeError: Cannot read properties of undefined (reading trim)

运行时提示:TypeError: Cannot read properties of undefined (reading trim) 问题排查: 1、确认trim()属性是否存在,这个是js 去除字符串左右空格,属性是存在的 2、确认this.form.proxy_url是否存在 3、确认确认this.form.proxy_url的值是否为undefined和null 通过排查和打…

vue2 项目执行npm run serve 启动项目卡在24%一直不动

vue模板中添加了信息,应这样写:<div>接口管理</div>