人脸识别系统架构

目录

1. 系统架构

1.1 采集子系统

1.2 解析子系统

1.3 存储子系统

 1.4 比对子系统

1.5 决策子系统

1.6 管理子系统

1.7 应用开放接口

2. 业务流程

2.1 人脸注册

2.2 人脸验证

2.2.1 作用

2.2.2 特点

2.2.3 应用场景

2.3 人脸辨识

2.3.1 作用

2.3.2 特点

2.3.3 应用场景

3. 技术方案

3.1 本地离线方案

3.2 云端服务方案

4. 技术局限

4.1 相似脸较难解决

4.2 算法偏见问题

4.3 算法鲁棒性及性能问题

4.4 年龄变化的影响

4.5 安全性问题

4.6 工程落地问题


1. 系统架构

        《GB∕T 41772-2022 信息技术 生物特征识别 人脸识别系统技术要求》定义人脸识别系统由采集子系统、解析子系统、存储子系统、比对子系统、决策子系统、管理子系统以及应用开放接口等组成,其系统架构下图所示。

1.1 采集子系统

          用于人脸图像或视频的采集,包括人脸采集设备以及执行人脸采集过程所需的任何子过程。

1.2 解析子系统

          用于人脸图像或视频的处理,包括人脸检测、质量判断、特征提取、人脸跟踪、属性检测、活体检测等。

1.3 存储子系统

          用于人脸注册数据及实时采集数据的存储,包括:

  • 人脸注册数据库:用于注册数据的存储。

  • 实时采集数据库:用于采集数据的存储。

 1.4 比对子系统

         包括两种模式:

  • 人脸验证模式:现场人脸与指定的存储人脸进行比对(1:1比对),输出一个相似度得分;

  • 人脸辨识模式:现场人脸与部分或全部的存储人脸进行比对(1:N比对),输出多个相似度得分,并根据相似度得分进行排序。

1.5 决策子系统

          根据一个或多个相似度得分,对人脸识别提供决策结果,包括两种模式:

  • 人脸验证模式:当相似度得分超过指定的阈值时,现场人脸和存储人脸匹配;

  • 人脸辨识模式:当相似度得分超过指定的阈值时,对应的存储人脸构成了与现场人脸匹配的潜在候选者。

1.6 管理子系统

          管理人脸识别系统的总体策略、执行和应用,包括但不限于:

  • 设置阈值:例如样本质量阈值,相似度阈值,活体检测阈值等;

  • 日志管理:日志生成、查询和导出等;

  • 权限管理:设置不同角色的操作权限等;

  • 接口配置:配置人脸识别系统的视图采集子系统等;

  • 用户管理:存储或删除用户的人脸等注册信息;

  • 其他管理:控制工作环境和非生物特征数据的存储、在视图采集时或采集后向用户提供反馈信息、与人脸识别应用进行交互管理等。

1.7 应用开放接口

        人脸识别系统与人脸识别应用之间的接口,包括人脸注册接口、人脸验证接口、人脸辨识接口、活体检测接口等。

2. 业务流程

        人脸识别系统的核心业务流程包括人脸注册、人脸验证、人脸辨识等。

2.1 人脸注册

  1. 启动人脸注册过程;

  2. 根据人脸注册策略,采集用户数据,例如用户基本信息、人脸图像等;

  3. 解析子系统对采集的视图进行解析,例如质量判断和活体检测等;

  4. 将该用户的数据记录存储在人脸注册数据库;

  5. 结束注册过程,记录日志。

2.2 人脸验证

  1. 启动人脸验证过程;

  2. 读取身份证件中的人脸信息;

  3. 采集人脸图像或视频;

  4. 将现场人脸与身份证件中的人脸进行比对;

  5. 依据系统策略及相似度得分,对人脸验证提供决策结果;

  6. 将决策结果传输到人脸验证应用;

  7. 结束验证过程,记录日志。

2.2.1 作用

        证明你是你。

2.2.2 特点

  • 匹配的特征集少
  • 检验准确率稳定
  • 依赖身份证件(身份证、护照、会员卡等)验证身份

2.2.3 应用场景

       适用于车站、机场、大型活动、机关单位、银行、酒店、网吧等人员流动频繁场所或其它重点场所中,以及线上开户,进出人员身份验证,核查人员真实身份。。

2.3 人脸辨识

  1. 启动人脸辨识过程;

  2. 采集人脸图像或视频;

  3. 将现场人脸与一个或多个存储人脸进行比对;

  4. 依据系统策略及相似度得分,对人脸辨识提供决策结果;

  5. 将决策结果传输到人脸辨识应用;

  6. 结束辨识过程,记录日志。

2.3.1 作用

        辨识你是谁。

2.3.2 特点

  • 不依赖身份证件信息(身份证、护照、会员卡等)
  • 误识率会随着人脸底库的增加而升高

2.3.3 应用场景

        适用于社区、楼宇、工地、学校等较大规模的人脸考勤签到、人脸通行等应用场景,人脸注册到底库,检测到人脸后从人脸底库中检索出谁是谁。

3. 技术方案

3.1 本地离线方案

3.2 云端服务方案

        设备端负责数据采集,服务端负责人脸识别,根据不同的应用场景,有三种不同的实施方案如下:

4. 技术局限

        人脸识别技术由于相似脸 、 年龄 、 算法偏见 、 面临的场景多样化以及人脸图像更易公开获取等原因 , 技术本身也面临着一定的局限性。

4.1 相似脸较难解决

        双胞胎或者长相很相近的人脸容易识别错误,而该问题在目前暂时没有新技术能完全解决。大部分情况下双胞胎仍能区分分数高低 ,但是往往都在阈值之上,在开放环境下应用效果较差。

4.2 算法偏见问题

        由于当前人脸识别算法很大程度依赖于数据样本,但是不同人群的人脸数据样本存在差别,这导致了算法对不同地域、不同年龄人群的识别能力有差别。比如,小孩子,老年人以及其他很少出现的人种或者肤色的人脸识别率相对较低,该问题亟需解决 。

4.3 算法鲁棒性及性能问题

        现有的人脸识别系统在用户配合、采集条件比较理想的情况下可以取得令人满意的结果。但是,在用户不配合 、采集条件不理想的情况下, 比如非限制条件下捕捉的人脸图像,远距离多姿态低像素拍摄的人脸图像,动态视频、模糊、低质量的人脸图像,会影响现有系统的识别率 。另外戴口罩情况下大部分算法的错误率会提高 1 个数量级以上。

4.4 年龄变化的影响

        随着年龄的变化,面部外观也会变化 ,特别是对于青少年,这种变化更加明显。对于不同的年龄段,人脸识别算法的识别率也不同。

4.5 安全性问题

        人脸识别系统信息存储同样会面临黑客的攻击,所以对数据加密很重要。随着技术的不断提升,人脸识别技术在安全性上需要加强 。

4.6 工程落地问题

        如何合理安装摄像头的⻆度、高度以及降低光线干扰,如何提升用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10分钟了解数据质量管理-奥斯汀格里芬 Apache Griffin

在不重视数据质量的大数据发展时期,Griffin并不能引起重视,但是随着数据治理在很多企业的全面开展与落地,数据质量的问题开始引起重视。 1.Griffin简介 Griffin是一个开源的大数据数据质量解决方案,由eBay开源,它支持…

Vue--关于v-model指令

语法糖 v-model即可以作用于表单元素,又可作用于自定义组件,无论是哪一种情况,它都是一个语法糖,最终会生成一个属性和一个事件。 当其作用于表单元素时,vue会根据作用的表单元素类型而生成合适的属性和事件。例如&a…

Vue2中实现聊天界面滚动条自动滑动到最底部

背景: 实现一个类似于 chatGpt 的聊天界面,发送消息后页面滚动条会自动滑动到底部,如图: 百度了一波方法 : 但是不知为何,我在项目里使用此方法不生效? 我甚至尝试了使用类名获取方式 &#x…

代谢组数据分析六:其他分析

Other Analysis {#OtherAnalysis} 除了常见的功能分析,还有其他的功能分析方法或R包。本章节主要介绍其他功能分析的方法以及结果解析。 所需要的数据:链接: https://pan.baidu.com/s/1xezhpZRebCsct0AtlDpSHg 提取码: 2djy FELLA: an R package to enrich metabolomics d…

Pycharm配深度学习环境所遇到的部分问题

问题1:Anaconda prompt界面安装CUDA出现的问题: 不管是:conda install pytorch torchvision torchaudio cudatoolkit11.3 -c pytorch 还是:pip ****什么的 问题描述:EnvironmentNotWritableError: The current user does not have write p…

html 中 meta 标签的属性详解

html 中 meta 标签的属性详解 \<meta> 标签是什么\<meta> 标签常用属性\<meta> 标签非常用属性 <meta> 标签是什么 <meta> 标签是 HTML 中用于描述网页元信息的元素。它位于 <head> 部分&#xff0c;不会显示在页面内容中&#xff0c;但对…

技术团队的管理方法和日常总结建议

管理学家德鲁克有言“管理是一种实践&#xff0c;其本质不在于知&#xff0c;而在于行&#xff0c;其验证不在于逻辑&#xff0c;而在于成果&#xff0c;其唯一的权威就是成就” &#xff0c;因此管理重实践看效果&#xff0c;但如果管理实践有理论依凭&#xff0c;那么实践起来…

android 如何显示网络地址对应的图片

1.android 如何显示网络地址对应的图片 在Android中显示网络地址对应的图片&#xff0c;通常有多种方法可以实现。以下是几种常见的方法&#xff1a; 1. 使用ImageView和Picasso库 Picasso是一个强大的图片加载库&#xff0c;它可以方便地加载网络图片并显示到ImageView中。 …

JS新语法let

使用let 定义变量 首先看到个有意思的问题&#xff0c;为什么let要叫letWhy was the name ‘let’ chosen for block-scoped variable declarations in JavaScript? 一、let可以定义作用在块级作用域的变量 //语法 let var1 [ value1] [, var2 [ value2]] [, ..., varN [ v…

Docker | 入门:安装与配置

Docker | 入门&#xff1a;安装与配置 Docker 和传统虚拟机区别 对于传统虚拟机&#xff1a; 虚拟出一套硬件&#xff0c;运行一个完整的操作系统&#xff0c;并在这个操作系统上安装和运行软件。 对于 Docker: 将一个个容器隔离开。 容器内的应用直接运行在宿主机的内容&am…

党建3d互动虚拟现实网上展厅有何优势?

在数字化浪潮席卷全球的今天&#xff0c;企业如何迅速踏上虚拟世界的征程&#xff0c;开启元宇宙之旅?答案就是——3D虚拟云展。这一创新平台&#xff0c;华锐视点以虚拟现实技术和3D数字建模为基石提供3D云展搭建服务&#xff0c;助力企业轻松搭建起虚拟数字基础设施&#xf…

基于微信小程序的旅游系统的设计与实现

基于微信小程序的旅游系统的设计与实现 Design and Implementation of a Tourism System based on WeChat Mini Program 完整下载链接:基于微信小程序的旅游系统的设计与实现 文章目录 基于微信小程序的旅游系统的设计与实现摘要第一章 绪论1.1 研究背景与意义1.2 国内外研究…

C语言阶段的题目解析

前言 我们C语言已经学习的差不多了&#xff0c;但是C语言之中存在的一些问题与难点我们还不一定能够又快又好地解决&#xff0c;为了夯实我们的基础&#xff0c;我们来练习几道稍微有点难度的C语言习题吧 例题一 题目 int main(void) {unsigned char i 7;int j 0;for (; i…

2024最新华为OD机试试题库全 -【找单词】- C卷

1. 🌈题目详情 1.1 ⚠️题目 给一个字符串和一个二维字符数组,如果该字符串存在于该数组中,则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串,如果找不到返回字符串“N”。 1.需要按照字符串的字符组成顺序搜索,且搜索到的位置必须是相邻单元格,其…

stm32程序死机怎么回事

STM32程序死机可能由多种因素导致&#xff0c;以下是一些常见的原因及解决方法&#xff1a; 供电问题&#xff1a;供电电压不稳定或不在正常工作电压范围内&#xff0c;电源纹波大小过大&#xff0c;都可能导致STM32死机。此外&#xff0c;供电电源中的干扰杂讯也可能对单片机…

Docker-05 Docker容器命令

一、查看容器 查看正在运行的容器: docker ps属性说明CONTAINER ID容器 IDIMAGE所属镜像COMMAND启动容器时运行的命令CREATED创建时间STATUS容器状态PORTS端口NAMES容器名称查看停止的容器: docker ps -f status=exited查看所有容器(包括运行和停止): docker ps -a查看…

Android如何使用XML自定义属性

1、定义 在res/values文件下定义一个attrs.xml文件&#xff0c;代码如下: 2、使用 在布局中使用&#xff0c; 示例代码如下&#xff1a; 3、获取 最终来到这里&#xff1a;

【计算机网络】成功解决 ARP项添加失败:请求的操作需要提升

最近在用Wireshark做实验时候&#xff0c;需要清空本机ARP表和DNS缓存&#xff0c;所以在cmd窗口输入以下命令&#xff0c; 结果发生了错误&#xff1a;ARP项添加失败&#xff1a;请求的操作需要提升 一开始我还以为是操作的命令升级了&#xff0c;但是后面发现其实只是给的权…

vsftpd常见错误代码比对(转载)

一&#xff1a;500错误 1、500 Internal Server Error 内部服务错误&#xff1a;顾名思义500错误一般是服务器遇到意外情况&#xff0c;而无法完成请求。 2、500出错的可能性&#xff1a; a、编程语言语法错误&#xff0c;web脚本错误 b、并发高时&#xff0c;因为系统资源限制…

C++:string 类

在C中定义一个 std::string 字符串可以采用以下几种方式&#xff1a; 1.使用字符串字面量初始化&#xff1a; std::string str "Hello, world!"; 2.使用构造函数初始化&#xff1a; std::string szStringB("Hello wolven"); 3.使用重复字符初始化&am…