应用层下的人脸识别(二):人脸库

article/2025/10/25 1:08:52

 

 

本文为系列文章的第二篇,介绍人脸库的相关内容。人脸库是人脸识别的基础,建立人脸库往往是人脸项目的首要任务,全文围绕着什么是人脸库及如何建立人脸库展开讨论。

1. 什么是人脸库

简单来讲,人脸库就是人脸数据的储存管理中心,能够为人脸识别提供比对模板,为抓拍人脸数据提供管理空间,为人脸算法检测提供测试样本。人脸识别项目是建立在人脸库的基础之上,所以人脸识别的首要任务便是是建立人脸库。

人脸库按照用途可分为人脸比对库人脸抓拍库人脸数据集,不同类型人脸库的组成、结构、作用也有所不同,下面将会依次介绍,本文重点讨论人脸比对库。

1.1 人脸比对库

人脸比对库主要用于人脸1:N识别,如下图,人脸1:N是将人脸抓拍照片的人脸特征与人脸库中所有人脸特征进行逐一比对

人脸比对库主要由人脸库管理人脸数据人脸库属性描述三部分组成,如下图:

人脸比对库按照应用场景又可分为四类,分别是黑名单库白名单库红名单库灰名单库

(1)黑名单库:黑名单指需要重点管控、关注的人员,一般由在逃犯、惯犯、水客、异常行为或是想要重点关注的人员构成。比中黑名单中会产生报警提示,常用于公安追逃;

(2)白名单库:白名单一般指可信人员,常用于商业领域中的通行管理,白名单中的人员容许进入通过。例如在楼宇内设置人脸识别门禁,只容许公司内部人员进入,于是可将公司员工设置成白名单,白名单一般不会触发报警;

(3)红名单库:红名属于白名单的拓展应用,用于白名单中需要重点关注展现的人群,如VIP客户、领导人等,可在识别后进一步分析该人群的行为特点和活动范围;

(4)灰名单:介于白名单和黑名单之间,是一类具有异常行为的可疑人员,还需要通过更多数据分析他们是否是黄牛、小偷、罪犯同伙等。

1.2 人脸抓拍库

人脸抓拍库是管理人脸抓拍数据的地方,在视频流或图片流中凡是能被算法检测到的人脸都会经过图像处理形成一张张人脸的抓拍照片及对应的场景照,再将抓拍照片进行数据结构化并与其场景照一同保留至人脸抓拍库中。

抓拍库的人脸照片会具有性别、年龄、戴眼镜、胡须、表情、是否戴帽子、是否有遮挡等图片描述,方便抓拍照片的检索及深层次人脸数据应用。

人脸数据分为结构化数据非结构化数据,人脸结构化数据指将原始采集数据按照规则处理,形成具有统一格式,并用数据库二维逻辑表来表现的数据。

如下图:抓拍库储存的是结构化数据,人脸结构化数据指原始人脸数据经过程序分析和过滤,形成具有统一格式和描述的数据储存在数据库中。

1.3 人脸数据集

人脸数据集就是用于检测人脸算法效果和训练算法的数据库,网上有很多公开的人脸数据集可为模型训练提供数据来源。

常见的人脸数据集可见下表:

人脸识别

人脸检测

人脸表情

人脸年龄、性别

2. 如何建立人脸库

人脸库中人脸比对库的建立最为为复杂,这里只讨论人脸比对库的建立过程。

2.1 梳理入库流程

人脸入库流程见下图,人脸数据包含人脸特征向量人脸信息两部分,它们储存在数据库不同的表中,注意在删除人脸库照片时一定要删除它对应的特征向量。如果照片质量未达到要求,且没有更好的照片,可以有强制入库的选项。

2.2 制定入库规则

人脸数据的质量关系到人脸比对的效果,尽可能将人脸清晰、正脸、本人近期的人脸照片入库。在人脸入库时,产品经理需要制定入库规则来过滤质量不佳、格式不规范的人脸数据。

入库规则应该包含:

  • 图片的颜色:可支持彩色及灰度的图片,最低要求256灰度图片;
  • 图片的格式:各类主流图片格式,例如 bmp/jpg/png等,图片命名格式统一,如常用的命名“姓名_证件号”;
  • 图片像素:双眼中心之间的距离大于30像素;
  • 图片尺寸:尺寸大于70X80以上;
  • 人脸角度:人脸左右偏转30度以内,上下偏转20度以内;
  • 入库图片大小建议几十KB~几百KB之间为宜,但也不能太大,超过1M,会影响入库和识别的速度。

2.3 设计人脸库功能、及界面

人脸库应包含人脸信息的增、删、改、查等基本功能,人脸库界面可参见下图的样式:

人脸信息可以从客户端批量导入,客户端需要提供人脸批量导入模板,批量导入适合小规模格式统一的数据。

当人脸项目中需要入库数万以上的人脸信息,并且人脸数据格式并不统一,整理起来很麻烦,这时就需要设计批量入库工具。

新建的人脸库需要设定人脸规模,一般分为<1W1W-100W100W-1000W>1000W四个范围,大库容进行人脸比对需要更高配置服务器,服务器配置与图像处理能力的关系将会在后续文章中详细讨论。

2.4 采集人脸库数据

如果想通过人脸识别技术识别某人,就需要先获取到该人的人脸数据,并录入人脸库中作为比对模板,那么如何采集人脸库数据呢?采集方式依据使用场景而定。

公安类项目,人脸数据提供方是公安,公安内部有大量的人脸数据,可通过对接公安信息资源库来获取人脸数据,如下图为八大公安信息资源库。

公安的信息资源库是严禁外泄的,对产品的网络安全及数据保密性要求颇为严格,在产品设计时需要考虑到相关问题。

刷脸通行或新零售类项目,一般是用户配合式采集人脸信息,需要设计人脸信息采集入口,用户可在微信公众号、手机app或PC端进行注册时上传人脸信息。

大型商业类或平安城市项目中,需要设计非配合式采集人脸信息。一般会通过在主要出入口、通道、走廊等地部署的人脸抓拍机,抓拍路人人脸,自动建立该人档案库,这里需要用到一人一档,作者会在后期文章详细讨论。

以上就是系列文章的第二篇-人脸库的相关内容,后续将会推出人脸识别系列文章,欢迎大家与我交流图像识别相关问题。


http://chatgpt.dhexx.cn/article/I7m9q57o.shtml

相关文章

全国高校计算机能力挑战赛Java试题(一)

消除字符串 这个题目上来就是运用一个回文的一个思想&#xff0c;我目前算法也是入门阶段&#xff0c;所以也处于学习阶段。 public class xiaozfc {public static void main(String[] args) {Scanner sc new Scanner(System.in);String txt sc.next();ArrayList<String&…

Java课程设计--学生成绩管理系统

一、团队名称&#xff1a; 团队成员&#xff1a; 刘江华 2019122249819 19信管专升本杨利杰 2018122241648 18信管本张富强 2018122241658 18信管本 二、需求分析 1.数据存储在数据库和文件中 分为“教师”模块和“学生”模块。 2.学生模块提供登陆功能&#xff0c;登陆成功后…

Java8--20道关于Stream流的题目练习

正题开始 Student 类 具有属性&#xff1a; 不及格次数failCount&#xff0c; 名字name&#xff0c; 科任老师chineseTeacher&#xff0c; 班主任classTeacher题目1&#xff1a;筛选学生不及格次数3次及3次以上的学生列表 List<String> arrayList array.stream().filte…

第十三届蓝桥杯省赛 JAVA B组(真题解析+个人体会)(已更新完G题)

试题 A: 星期计算【填空题】 题目&#xff1a; 答案&#xff1a;7 解析&#xff1a; 此题直接对7求余即可。 public class Main {public static void main(String[] args) {System.out.println(Math.pow(20, 22) % 7 6);} } 贴一个BigInteger的代码 import java.math.Bi…

java的一些课程设计题目_Java课程设计

Java课程设计 1. 题目及要求 基于学校的搜索引擎 负责部分:Java GUI设计 2.界面调查 1)调查界面:百度 2)思考: 根据我的调查,我认为我需要完成三个界面的设计: 第一个是调查主界面,里面有一个集美大学的logo,一个搜索框用文本字段,因为需要在里面写入搜索内容,一个搜索…

计算机二级--java篇

计算机二级 全国计算机等级&#xff08;NCRE&#xff09;&#xff0c;计算机二级分为语言程序设计&#xff08;包括C、C、Java、Visual Basic&#xff09;、数据库程序设计&#xff08;包括Visual FoxPro、Access&#xff09;、MS Office高级应用&#xff0c;各项目均为机考。考…

java 课程设计题目_Java课程设计题目有哪些?Java课程设计题目汇总

在学习Java的路上,多多练习项目实践是很有必要的。因此,本文整理了20道Java课程设计题目,希望大家总结、回顾和实践学过的所有面向对象的编程思想以及编程方法。 1、编写一个记事本程序 要求:用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文…

Java绘制圆形

package 坦克大战.draw;import javax.swing.*; import java.awt.*;/*** Auther:* Date: 2022/4/16 - 04 - 16 - 21:16* Description: 坦克大战.draw* version: 1.0*/ public class draw extends JFrame{//继承JFrame、JFrame对应窗口&#xff0c;可以当作一个画框//定义一个画板…

Java练习题(经典8题)

题目一 共有50枚硬币&#xff0c;可能包括4种类型&#xff1a;1元&#xff0c;5角&#xff0c;1角&#xff0c;5分。已知总价值为20元。求各种硬币的数量。 解题思路&#xff1a;简单分析可知硬币有多种组合&#xff0c;我们可以假设先抛开50枚硬币去寻找1元需要多少个硬币&…

Java中常见的30道例题(附代码)

目录 第一题&#xff1a;判断数组中奇数偶数的个数并求和 第二题&#xff1a;判断三个数中的最大值 第三题&#xff1a;剔除某些数据并打印输出 第四题&#xff1a;输入0到7判断星期几 第五题&#xff1a;将一个数组倒序输出 第六题&#xff1a;输入一个数判断是否是素数 …

Linux内核编译详细总结

一、实验目的 学习重新编译Linux内核&#xff0c;理解、掌握Linux内核和发行版本的区别。 二、实验内容 在Linux操作系统环境下重新编译内核。实验主要内容&#xff1a; A. 查找并且下载一份内核源代码&#xff0c;本实验使用最新的Linux内核2.6.36。 B. 配置内核。 C. 编…

LINUX内核目录文件说明以及配置并编译内核的方法

在下载内核前&#xff0c;我们应该讨论一些重要的术语和事实。Linux内核是一个宏内核&#xff0c;这意味着整个操作系统都运行在内核预留的内存里。说的更清楚一些&#xff0c;内核是放在内存里的。内核所使用的空间是内核预留的。只有内核可以使用预留的内核空间。内核拥有这些…

Linux内核的编译、安装、调试

这里写目录标题 编译安装内核下载内核安装依赖更改.config编译内核安装首先安装模块安装内核更改引导更改grub重启 其他操作清理内核源目录卸载安装的内核修改内核配置菜单实现对新加入内核源码的控制 常见问题1. Module.symvers is missing2. No rule to make target ‘debian…

linux内核编译及添加系统调用(详细版)

linux内核编译及添加系统调用 注&#xff1a;文章共四部分&#xff0c;分别是 1、编译更换内核 2、添加一个简单系统系统调用 3、添加读取/修改nice值的系统调用 4、自己设计简单&#xff08;真的简单&#xff09;系统调用 注&#xff1a;四个部分结构相似&#xff0c;请…

打造自己的专属linux(四):Linux内核编译过程简介

linux在前不久刚发布了最新的3.0内核&#xff0c;在linux的学习中&#xff0c;了解内核的编译是一个必不可少的功课。前几天&#xff0c;学习了linux内核的编译流程&#xff0c;在此总结下&#xff0c;大家来一起学习。 以最新的3.0内核为例&#xff0c;我下载的是linux3.0.1 …

Linux内核开发_1_编译LInux内核

目录 1. 准备工作 1.1 学习环境 1.2 下载Linux内核源码 1.3 解压Linux内核 1.4 目录结构介绍 2. Linux内核配置 2.1 配置选项 1. make config 2. make menuconfig 3. make gconfig 3 开始配置 1. 配置解释 General setup 通用选项 Enable loadable module support…

ubuntu上编译Linux内核步骤

一、虚拟机的准备 1.下载Ubuntu镜像 Enterprise Open Source and Linux | Ubuntu 在最左边Ubuntu Desktop处点22.04LTS下载iso文件 2.在VMware上创建新的虚拟机 Ubuntu 20.04 虚拟机安装教程_柯基的博客-CSDN博客_虚拟机安装ubuntu20.04 特别注意: 在"指定磁盘容量&…

Microsoft Outlook 2019 for mac(电子邮件和日历工具) v16.45Beta中文激活版

Microsoft Outlook 2019 for Mac版是一款非常好用的电子邮件和日历工具&#xff0c;Outlook是office办公软件套装的组件之一&#xff0c;可以帮助您收发电子邮件、管理联系人信息、记日记、安排日程与分配任务&#xff0c;文件视图&#xff0c;保持连接并提升生产效率等.

取消Outlook脱机工作

在运维过程中&#xff0c;有时候会收到用户这样的抱怨&#xff1a;为什么别人发给我的邮件我都收不到&#xff0c;我的邮件也发不出去了&#xff1f; 这种情况有时候是因为Outlook正在脱机工作&#xff0c;在Outlook右下角可以看到这样的信息&#xff1b; 针对这种情况&#x…