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

人脸识别系统架构

目录

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 工程落地问题

5. 标准下载


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 工程落地问题

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

5. 标准下载

 《GB ∕ T 41772-2022 信息技术 生物特征识别 人脸识别系统技术要求》

相关文章:

人脸识别系统架构

目录 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…...

数塔问题(蛮力算法和动态规划)

题目:如下图是一个数塔,从顶部出发在每一个节点可以选择向左或者向右走,一直走到底层,要求找出一条路径,使得路径上的数字之和最大,及路径情况。(使用蛮力算法和动态规划算法分别实现) #include…...

启动 Redis 服务和连接到 Redis 服务器

启动 Redis 服务和连接到 Redis 服务器的步骤通常依赖于你的操作系统和 Redis 的安装方式。以下是一些常见的步骤: ### 启动 Redis 服务 对于大多数 Linux 发行版,Redis 服务可以通过以下命令启动: 1. 如果 Redis 是通过包管理器安装的&am…...

我独自升级崛起在哪下载 我独自升级电脑PC端下载教程分享

将于5月8日在全球舞台闪亮登场的动作角色扮演游戏《我独自升级崛起》,灵感源自同名热门动画与网络漫画,承诺为充满激情的游戏玩家群体带来一场集深度探索与广阔体验于一身的奇幻旅程。该游戏以独特的网络武侠世界观为基底,展现了一位普通人踏…...

STM32F4xx开发学习—GPIO

GPIO 学习使用STM32F407VET6GPIO外设 寄存器和标准外设库 1. 寄存器 存储器映射 存储器本身是不具有地址的,是一块具有特定功能的内存单元,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就叫做存储区映射。给内存单元分配地址之后…...

引领农业新质生产力,鸿道(Intewell®)操作系统助力农业机器人创新发展

4月27日至29日,2024耒耜国际会议在江苏大学召开。科东软件作为特邀嘉宾出席此次盛会,并为江苏大学-科东软件“农业机器人操作系统”联合实验室揭牌。 校企联合实验室揭牌 在开幕式上,江苏大学、科东软件、上交碳中和动力研究院、遨博智能研究…...

扩展学习|一文读懂知识图谱

一、知识图谱的技术实现流程及相关应用 文献来源:曹倩,赵一鸣.知识图谱的技术实现流程及相关应用[J].情报理论与实践,2015, 38(12):127-132. (一)知识图谱的特征及功能 知识图谱是为了适应新的网络信息环境而产生的一种语义知识组织和服务的方…...

ubuntu中的docker记录(3)——如何安装nvidia-docker以更好地支持GPU加速计算应用程序的运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、nvidia-docker2的安装1. 安装docker2. 安装nvidia-docker2(1) 添加密钥(2) 更新软件列表(3) 安装nvidia-docker2(4) 测试nvidia-docker2 二、可能的报错及解…...

MLP实现fashion_mnist数据集分类(1)-模型构建、训练、保存与加载(tensorflow)

1、查看tensorflow版本 import tensorflow as tfprint(Tensorflow Version:{}.format(tf.__version__)) print(tf.config.list_physical_devices())2、fashion_mnist数据集下载与展示 (train_image,train_label),(test_image,test_label) tf.keras.datasets.fashion_mnist.l…...

ChatGPT-税收支持新质生产力

Prompt: 税收发展助力新质生产力 Response: 是的,税收发展可以促进新质生产力的发展。通过税收政策的调整和优化,政府可以提供更好的创新环境,激发企业投资研发,推动新技术、新产品的出现,从而推动经济结构升级和新…...

Linux下深度学习虚拟环境的搭建与模型训练

在深度学习实践中,环境配置是十分重要且免不了的一步。本文以 YOLOv4 模型,介绍在Linux下虚拟环境配置到模型训练的过程。 安装Miniconda: Miniconda是Anaconda的一个轻量级版本,非常适合用于科学计算和数据处理。 wget https:…...

Map-Reduce是个什么东东?

MapReduce是一种用于使用并行分布式算法在集群计算机上处理大型数据集的编程模型及其相关实现。这一概念首先由Google普及,并随后作为Apache Hadoop项目的一部分开源发布。 MapReduce的基本工作流程: 映射(Mapping):这是第一阶段&#xff0c…...

上位机工作感想-从C#到Qt的转变-2

2.技术总结 语言方面 最大收获就是掌握了C Qt编程,自己也是粗看了一遍《深入理解计算机系统》,大致了解了计算机基本组成、虚拟内存、缓存命中率等基基础知识,那本书确实有的部分看起来很吃力,等这段时间忙完再研读一遍。对于封装…...

【C++】C++ 中 的 lambda 表达式(匿名函数)

C11 引入的匿名函数,通常被称为 Lambda 函数,是语言的一个重要增强,它允许程序员在运行时创建简洁的、一次性使用的函数对象。Lambda 函数的主要特点是它们没有名称,但可以捕获周围作用域中的变量,这使得它们非常适合在…...

OpenSSL实现AES-CBC加解密,可一次性加解密任意长度的明文字符串或字节流(QT C++环境)

本篇博文讲述如何在Qt C的环境中使用OpenSSL实现AES-CBC-Pkcs7加/解密,可以一次性加解密一个任意长度的明文字符串或者字节流,但不适合分段读取加解密的(例如,一个4GB的大型文件需要加解密,要分段读取,每次…...

cURL:命令行下的网络工具

序言 在当今互联网时代,我们经常需要与远程服务器通信,获取数据、发送请求或下载文件。在这些情况下,cURL 是一个强大而灵活的工具,它允许我们通过命令行进行各种类型的网络交互。本文将深入探讨 cURL 的基本用法以及一些高级功能…...

Baumer工业相机堡盟工业相机如何通过NEOAPISDK查询和轮询相机设备事件函数(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPISDK查询和轮询相机设备事件函数(C#) Baumer工业相机Baumer工业相机NEOAPI SDK和相机设备事件的技术背景Baumer工业相机通过NEOAPISDK在相机中查询和轮询相机设备事件函数功能1.引用合适的类文件2.通过NEOAPISDK…...

Day45代码随想录动态规划part07:70. 爬楼梯(进阶版)、322. 零钱兑换、279.完全平方数、139.单词拆分

Day45 动态规划part07 完全背包 70. 爬楼梯&#xff08;进阶版&#xff09; 卡码网链接&#xff1a;57. 爬楼梯&#xff08;第八期模拟笔试&#xff09; (kamacoder.com) 题意&#xff1a;假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬至多m (1 < m < n)个…...

土壤重金属含量分布、Cd镉含量、Cr、Pb、Cu、Zn、As和Hg、土壤采样点、土壤类型分布

土壤是人类赖以生存和发展的重要资源之一,也是陆地生态系统重要的组成部分。近年来, 随着我国城市化进程加快&#xff0c;矿产资源开发、金属加工冶炼、化工生产、污水灌溉以及不合理的化肥农药施用等因素导致重金属在农田土壤中不断富集。重金属作为土壤环境中一种具有潜在危害…...

力扣:100284. 有效单词(Java)

目录 题目描述&#xff1a;输入&#xff1a;输出&#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 有效单词 需要满足以下几个条件&#xff1a; 至少 包含 3 个字符。 由数字 0-9 和英文大小写字母组成。&#xff08;不必包含所有这类字符。&#xff09; 至少 包含一个 …...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...