人脸识别系统技术方案

简介: 人脸识别系统技术方案

1.简介


在人工智能技术的快速发展进程下,现在很多小区或办公楼已经用上了人脸识别智能门禁系统。如今很多地方出入写字楼不用刷卡识别,直接刷脸就可以进入大楼。新型的生物识别代替了传统的识别方式


人脸识别任务,分为二部分,人脸特征提取与人脸验证


人脸特征提取


人脸特征提取需要基于人脸的图像特征来判断,这个特征属于那个人,那如何提取人脸图像特征,目前有二种方式:


基于人脸像素聚合高维抽象的特征(皮肤,五官类似于图像分类的形式)

基于人脸关键点的特征,其实相当于在上一个方法的基础上,增加了人脸关键点(因为人脸关键点的位置,就是基于高维抽象的五官特征来判定的)


基于人脸关键点的特征


下图有一个详细的基于人脸关键点做的人脸识别算法流程


d14107a4cd2c44e2938b938360db4914.png

关键点检测方法总体上可以分成两个类型:


一个种是用坐标回归的方式来解决

一种是将关键点建模成热力图,通过像素分类任务,回归热力图分布得到关键点位置。

这两个方法,都是一种手段或者是途径,解决的问题就是要找出这个点在图像当中的位置与关系,大白话说就是找出一个像素点位置,并且它周围上下文(周围像素)有一定的组合关系


人脸验证


人脸验证即当前照片中的人脸是否为数据库中已存在的某个人,一般存在两种方式:

直接分类,分辨是准确的哪一个人,输出其标签(图像分类)

转换为一个二分类问题,即分辨两张人脸照片组成的图片对中的人脸是否来自同一个人,输出为同一个人的置信度

第一种方式缺点较多,如:当模型训练完成后无法随时加入新的人,而且每个数据库中的人需要采集较多的人脸数据,并且用图像分类的准确度不高


第二种方式一般用孪生网络实现(Siamese Network)实现,大致结构如下:


d1b3b9bea35e494b9b7d27114db33666.png

原理:


通过同一个CNN网络将人脸图片进行相同的编码,嵌入一个高维的向量空间

使用softmax loss作为损失函数直接对两个样本嵌入向量的拼接做二分类训练,使模型能够直接输出两个样本之间的相似度,当相似度达到一定的阈值后即判断为同一个人的人脸

或者使用triplet loss、contrastive loss、center loss等损失函数对CNN网络进行优化,使其最后编码的高维的向量空间中,同类样本的距离缩小,不同类样本的距离扩大

进而通过两个样本嵌入向量的距离来衡量两个样本之间的相似度,同样当相似度达到一定的阈值后即判断为同一个人的人脸


2.技术方案


人脸识别系统利用分布式集群技术,基于神经网络深度学习算法和海量数据存储大数据计算技术,实现视频监控图像,人脸识别图像


前端采取视频流或图片流方式进行视频图像传输,提供现场环境人脸图像,并形成人脸抓拍库。


b467458f2d6544eaa01613c3a83c5b0a.png


人脸识别服务主要二个模式,分别为验证模式和搜索模式两种比较模式。


验证模式(1 : 1 1:11:1)是验证采集过来的图像或指定的图像是否与数据库中已注册的对象进行比较,以确定它是否为同一个人。1 : 1 1:11:1为身份验证模式,通过对某人的设备采集照与证件照的人脸特征进行比对,核实是否是同一个人,该模式主要应用于需要通过实名制验证的场景。(坐飞机过安检时常见的)

搜索模式(1 : n 1:n1:n)意味着搜索在数据库中注册的所有图像,以查明是否存在指定的图像。1 : n 1:n1:n是通过采集某人的人像后,从海量的人像数据库中找到与当前使用者人脸数据相符合的图像,通过数据库的比对识别对方的身份。(小区门禁)


8090efbcf79a4536a752fb26ae3b0041.png


其中第二种1 : n 1:n1:n的人脸数据库分为三种业务数据库:


人脸抓拍库:包含历史抓拍现场图片、人脸小图和结构化的人脸特征数据、抓拍地点、抓拍时间等信息,此库主要的业务应用是图片检索比对,查询目标人员的人像出没地点、时间、轨迹跟踪等。

人脸注册库:主要是导入一些大规模的人像图片、结构化人脸特征数据和身份信息,如当地社保人像信息库、城市人口信息库,导入后主要的应用场景是图片检索比对和身份信息查询,确认人员身份。

黑名单库:包含高危人员、特殊人员的人脸图片,主要应用场景是各卡口实时人流的人脸比对预警。

N : N N:NN:N场景较为少,实际上相当于同时进行多个1:N识别,用于“证明谁是谁”。


3.人脸识别技术扩展


3.1 人脸数据建模和检索


人脸数据建模和检索可以对库中登记的人脸图像数据进行建模以提取脸部的特征,并且可以将生成的脸部模板保存在数据库中。在人脸搜索中,对指定的人脸图像进行建模,然后与数据库中的所有者的模板进行比较,最后根据比较出的相似度值列出相似度的人员名单。


3.2 动态活体检测


以前是静态人脸识别是通过指定的区域或范围之内进行识别,也就是说识别对距离、位置的要求会比较高。静态人脸识别的特点在于用户容量小,而且安全性能不高,有时一张照片也能通过识别验证。现在推出的动态人脸识别门禁,系统可以识别出对方是真人还是照片。


配合活体检测


在银行的app,常见的应用,系统通过提示用户完成一些动作来判断用户是否为活体(比如眨眼,张嘴,摇头)。

8038c9edfe6f4d7ebdf227ee2f9f7eb0.png


3.3 图像质量检测


图像质量直接影响识别效果。图像质量检测功能可以对照片进行图像质量评估,并给出相应的推荐值用来辅助识别。


未来越来越多的城市将变得智能化,以技术为导向的产品将使公民的生活更加舒适,提高生活质量,节约自然资源。


相关文章
|
3月前
|
机器学习/深度学习 监控 算法
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
39 0
|
19天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
42 6
|
3月前
|
算法 安全 搜索推荐
深入浅出:使用Python实现人脸识别系统
在当今数字化时代,人脸识别技术已成为安全验证、个性化服务等领域的关键技术。本文将引导读者从零开始,逐步探索如何利用Python和开源库OpenCV来构建一个基础的人脸识别系统。本文不仅会详细介绍环境搭建、关键算法理解,还会提供完整的代码示例,帮助读者理解人脸识别的工作原理,并在实际项目中快速应用。通过本文,您将能够掌握人脸识别的基本概念、关键技术和实现方法,为进一步深入学习和研究打下坚实的基础。
|
3月前
|
小程序 JavaScript Java
android电子班牌人脸识别系统源码
智慧校园云平台全套源码包含:电子班牌管理系统、成绩管理系统、考勤人脸刷卡管理系统、综合素养评价系统、请假管理系统、电子班牌发布系统、校务管理系统、小程序移动端、教师后台管理系统、SaaS运营云平台。
34 1
|
3月前
|
机器学习/深度学习 XML 数据库
深入浅出:使用Python实现人脸识别系统
在本文中,我们将探索如何使用Python和开源库OpenCV来构建一个基础的人脸识别系统。不同于传统的技术文章摘要,这里我们将以故事化的方式引入问题背景,带领读者从零开始,逐步深入到人脸识别技术的核心原理和实现过程中。我们将讨论人脸识别技术的基本概念、所面临的挑战、以及如何通过Python代码解决这些问题。最终,读者将获得足够的知识和技能,去实现一个简单的人脸识别系统,为进一步的学习和研究打下坚实的基础。
|
4月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2网络的人脸识别系统matlab仿真,包括识别正脸,侧脸等
基于yolov2网络的人脸识别系统matlab仿真,包括识别正脸,侧脸等
|
4月前
|
Java 数据安全/隐私保护 计算机视觉
基于JSP/SERVLET实现的人脸识别考勤系统(二)
基于JSP/SERVLET实现的人脸识别考勤系统
|
4月前
|
Java 关系型数据库 数据库
基于JSP/SERVLET实现的人脸识别考勤系统(一)
基于JSP/SERVLET实现的人脸识别考勤系统
|
5月前
|
Java 关系型数据库 数据库
基于JSP/SERVLET实现的人脸识别考勤系统
基于JSP/SERVLET实现的人脸识别考勤系统
|
5月前
|
人工智能 定位技术 API
【Python】初学者也可以实现的人脸识别系统-0x1
【Python】初学者也可以实现的人脸识别系统-0x1
50 0

热门文章

最新文章