本文作者根据多年人脸识别项目经验,总结了人脸识别技术在安防、商业领域应用及产品设计细节,汇总成应用层下的人脸识别系列文章。

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

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端进行注册时上传人脸信息。

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

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

相关阅读

应用层下的人脸识别(一):图像获取

应用层下的人脸识别(二):人脸库相关推荐

  1. Qt5.7+Opencv2.4.9人脸识别(二)人脸采集

    [注意]本博文的档次适合OpenCV初学者,和要做本科生毕业设计这类档次. 源码的下载地址和原理理论部分请走下面连接 http://blog.csdn.net/qq78442761/article/d ...

  2. 语音控制+人脸识别——二次开发 Parrot 无人机!

    继"如何用100美元和 TensorFlow 来造一个能'看'东西的机器人" 之后,Lukas 又一最新力作. 在"造"出能进行物体识别的机器人后,下一步就很清 ...

  3. iOS黑科技之(AVFoundation)动态人脸识别(二)

    iOS黑科技之(AVFoundation)动态人脸识别(二) 上一篇介绍了Core Image实现的静态人脸识别, 这里介绍AVFoundation的强大功能之一的动态人脸识别 一. 首先介绍一些人脸 ...

  4. 如何评价美颜api中人脸识别和人脸检测的准确度?

    人脸识别和人脸检测识别是美颜api中的技术支撑之一,在理想状态下,人脸识别准确率越高越好,但实际情况中,经常会受到逆光.暗光.强光.识别角度等诸多实际因素的影响,因此,脱离使用场景单独考量算法的识别准 ...

  5. python人脸识别和人脸对比,face_recognition和OpenCV

    前言 先用OpenCV判断图片是否模糊,模糊的话需要重拍: 再用face_recognition检测图片中是否有人脸,有才接着进行下一步: 再用face_recognition计算图片中每张人脸的12 ...

  6. Python | 人脸识别系统 — 人脸比对 代码部分

    本博客为人脸识别系统的人脸比对代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for us ...

  7. 基于虹软使用Java实现人脸识别、人脸比对、活性检测等

    基于虹软使用Java实现人脸识别.人脸比对.活性检测等 虹软: 免费,高级版本试用 支持在线.离线 有 Java SDK,C++ SDK 一.注册虹软开发者平台 点击注册 注册完成后可在"我 ...

  8. Python | 人脸识别系统 — 人脸识别

    博客汇总:Python | 人脸识别系统 - 博客索引 GitHub地址:Su-Face-Recognition 注:阅读本博客前请先参考 工具安装.环境配置:Python | 人脸识别系统 - 简介 ...

  9. 人脸识别,人脸对比技术及案例实现方案

    人脸识别,人脸对比技术及案例实现方案 一.各个人脸识别公司.系统简介 1.1 虹软 1.2 Face++旷视 1.3 云脉 1.4 腾讯AI 1.5 1MB轻量级人脸检测模型 1.6 SeetaFac ...

  10. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

最新文章

  1. Android学习第一书
  2. 区块链 java 开源_详细介绍Java区块链开源代码背后的内容
  3. JDK1.8 JVM元数据区取代了永久代,元数据空间并不在虚拟机中,而是使用本地内存
  4. C++(STL):14--- forward_list比list更高效的容器
  5. Java生产环境下性能监控与调优详解 第3章 基于JVisualVM的可视化监控
  6. 程序员除了会 CRUD 之外,还应该知道什么叫 CQRS!
  7. 学习笔记(4):零基础掌握 Python 入门到实战-深入浅出字符串(二)
  8. 计算机怎么保存窗口画面,电脑视频怎么旋转保存 怎样将视频画面进行旋转并保存|视频画面旋转工具...
  9. 浏览器退出全屏快捷键
  10. 【Adobe】怎样给音频升降调?
  11. 浅析2022年6月六级翻译真题
  12. vue - vue中使用西瓜播放器xgplayer
  13. 黄芪和当归的分量是5:1的比例,如黄芪30克,当归6克
  14. 金融硕士自学python_国际金融硕士跨专业学Python从老男孩教育开始
  15. 微信链接修改图片_微信链接修改图标
  16. html单元格合璧,你绝对不曾见过的Excel+DOS双剑合璧操作文件夹之7大妙招
  17. ZOJ1084(四色定理)
  18. java 生成印章 图章
  19. 全局搜索软件Everything,安利一波呀
  20. 将Html网页或者是Aue项目打包成App

热门文章

  1. 2021-07-01带Left Join的SQL语句的执行顺序
  2. Spring 注解之@RestController与@Controller的区别
  3. 电流如何在导线中传播
  4. byte与char区别
  5. oracle 批量导出sequence,Oracle中批量導出Sequence
  6. mysql gtid 开启失败,master--1.1.3-SNAPSHOT版本,启用GTID,启动失败
  7. 活动报名|“悟道之巅:AI创新应用大赛”发布会——体验未来技术,赢取百万奖金...
  8. 一篇文章回顾智源悟道 1.0 发布全程
  9. 如果没有杜撰,可还有历史?
  10. 图灵直播——听胡阳老师和大家聊聊《Python Web开发者的破局之道》