人脸识别技术流程、分析算法及重要技术发展
2019-05-22 13:35:01
人脸识别(FaceRecognition,FR)是一种基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
人脸识别系统的研究始于20世纪60年代,80年代后随着计算机技术和光学成像技术的发展得到提高,而真正进入初级的应用阶段则在90年后期;最近几年随着以深度学习为主的人工智能技术进步,人脸识别技术得到了迅猛的发展。“人脸识别系统”集成了人工智能、机器识别、机器学习、模型理论、专家系统、视频图像处理等多种专业技术,是综合性比较强的系统工程技术。
人脸识别流程
人脸识别系统通常包括几个过程:人脸图像采集及检测、关键点提取、人脸规整(图像处理)、人脸特征提取和人脸识别比对。
人脸图像采集。不同的人脸图像都能通过摄像镜头采集下来,比如静态图像、动态图像、不同的位置、不同表情等方面都可以得到很好的采集。当用户在采集设备的拍摄范围内时,采集设备会自动搜索并拍摄用户的人脸图像。
人脸检测。人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。
关键点提取(特征提取)。人脸识别系统可使用的特征通常分为视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数特征等。人脸特征提取就是针对人脸的某些特征进行的。人脸特征提取,也称人脸表征,它是对人脸进行特征建模的过程。人脸特征提取的方法归纳起来分为两大类:一种是基于知识的表征方法;另外一种是基于代数特征或统计学习的表征方法。
人脸规整(预处理)。对于人脸的图像预处理是基于人脸检测结果,对图像进行处理并最终服务于特征提取的过程。系统获取的原始图像由于受到各种条件的限制和随机干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度校正、噪声过滤等图像预处理。对于人脸图像而言,其预处理过程主要包括人脸图像的光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。
人脸识别比对(匹配与识别)。提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。人脸识别就是将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。可分为1:1、1:N、属性识别。其中1:1是将2张人脸对应的特征值向量进行比对,1:N是将1张人脸照片的特征值向量和另外N张人脸对应的特征值向量进行比对,输出相似度最高或者相似度排名前X的人脸。
人脸特征分析算法
人脸识别技术中被广泛采用的区域特征分析算法,它融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,即人脸特征模板。利用已建成的人脸特征模板与被测者的人的面像进行特征分析,根据分析的结果来给出一个相似值。通过这个值即可确定是否为同一人。
人脸识别的方法很多,主要的人脸识别方法有:
(1)几何特征的人脸识别方法:几何特征可以是眼、鼻、嘴等的形状和它们之间的几何关系(如相互之间的距离)。这些算法识别速度快,需要的内存小,但识别率较低。
(2)基于特征脸(PCA)的人脸识别方法:特征脸方法是基于KL变换的人脸识别方法,KL变换是图像压缩的一种最优正交变换。高维的图像空间经过KL变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以张成低维线性空间。如果假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法的基本思想。这些方法需要较多的训练样本,而且完全是基于图像灰度的统计特性的。目前有一些改进型的特征脸方法。
(3)神经网络的人脸识别方法:神经网络的输入可以是降低分辨率的人脸图像、局部区域的自相关函数、局部纹理的二阶矩等。这类方法同样需要较多的样本进行训练,而在许多应用中,样本数量是很有限的。
(4)弹性图匹配的人脸识别方法:弹性图匹配法在二维的空间中定义了一种对于通常的人脸变形具有一定的不变性的距离,并采用属性拓扑图来代表人脸,拓扑图的任一顶点均包含一特征向量,用来记录人脸在该顶点位置附近的信息。该方法结合了灰度特性和几何因素,在比对时可以允许图像存在弹性形变,在克服表情变化对识别的影响方面收到了较好的效果,同时对于单个人也不再需要多个样本进行训练。
(5)线段Hausdorff距离(LHD)的人脸识别方法:心理学的研究表明,人类在识别轮廓图(比如漫画)的速度和准确度上丝毫不比识别灰度图差。LHD是基于从人脸灰度图像中提取出来的线段图的,它定义的是两个线段集之间的距离,与众不同的是,LHD并不建立不同线段集之间线段的一一对应关系,因此它更能适应线段图之间的微小变化。实验结果表明,LHD在不同光照条件下和不同姿态情况下都有非常出色的表现,但是它在大表情的情况下识别效果不好。
(6)支持向量机(SVM)的人脸识别方法:支持向量机是统计模式识别领域的一个新的热点,它试图使得学习机在经验风险和泛化能力上达到一种妥协,从而提高学习机的性能。支持向量机主要解决的是一个2分类问题,它的基本思想是试图把一个低维的线性不可分的问题转化成一个高维的线性可分的问题。通常的实验结果表明SVM有较好的识别率,但是它需要大量的训练样本(每类300个),这在实际应用中往往是不现实的。而且支持向量机训练时间长,方法实现复杂,该函数的取法没有统一的理论。
重要关键技术
基于大数据的深度学习
在人脸识别原理一节中提到了一些特征提取和分类算法,可以理解为是一种浅层的学习模型。浅层学习可以在一定规模的数据集下可以发挥较强的表达能力,但当数据量不断增大时,这些模型就会处于欠拟合的状态。通俗点说就是数据量太大,模型不够复杂,覆盖不了所有数据。所以说,深度学习是近年来特别热门的研究课题。
基于大数据的深度学习,将是人脸识别技术的主要趋势之一。深度学习,往往含有更深的层次结构。越是低层,特征越简单,越是高层,特征越抽象,但越接近所要表达的意图。举个例子,从字到词,再到句,到语义,是层层深化的过程,这就是一个典型的深层结构。回到图像分析的范畴,对于一个图片来说,最低级的特征是像素,也就是0到255的矩阵。通过像素,无法理解图片里的目标是什么,但我们可以从像素中找到了边缘特征,然后用边缘特征组合成不同的部件,最后形成了不同种类的目标物,这个才是我们所想要实现的。
利用深度学习提取出的人脸特征,相比传统技术,更能表示人脸之间的相关性,辅之有效的分类方法,能够显著提高算法识别率。深度学习非常依赖大数据,这也是为什么这项技术在近几年取得突破的原因。更多更丰富的样本数据加入到训练模型中,意味着算法模型将更通用,更贴近现实世界模型。另一方面,深度学习的理论性还需要加强,模型还需要优化。这一点,相信在众多学术界和工业界同仁的努力下,深度学习将取得更大的成功。届时人脸识别应用,或许能如现在的车牌识别技术一样,深入到我们的生活中。
3D人脸识别技术
3D人脸识别技术是人脸识别重要发展发现。目前大部分的人脸识别应用的范畴限定在2D图像上。人脸实质上是一个立体模型,而2D人脸识别容易受到姿态、光照、表情等因素影响,是因为2D图像本身有一个缺陷,无法很好地表示深度信息。如果说深度学习是从人的认知角度来理解人脸识别,那么3D技术就是从现实模型来反映人脸识别。
目前关于3D人脸识别方向的算法研究并没有2D人脸识别技术那么丰富和深入,许多因素限制了这项技术的发展。首先,3D人脸识别往往需要特定的采集设备,如3D摄像机或双目摄像机。目前这类采集设备价格还比较昂贵,主要用于特定场景。其次,3D建模过程需要的计算量较大,对硬件要求较高,也限制了目前的应用。第三,3D人脸识别数据库比较稀少,研究者缺少训练样本和测试样本,无法开展更深入的理论研究。相信随着未来芯片技术和传感器的发展,当计算能力不再收到制约,3D采集设备成本大幅下降的时候,3D人脸识别将取得重要突破。
人脸识别技术流程、分析算法及重要技术发展相关推荐
- python dlib人脸识别_python3+dlib人脸识别及情绪分析
一.介绍 我想做的是基于人脸识别的表情(情绪)分析.看到网上也是有很多的开源库提供使用,为开发提供了很大的方便.我选择目前用的比较多的dlib库进行人脸识别与特征标定.使用python也缩短了开发周期 ...
- 人脸识别是什么?及人脸识别的流程
目录 1. 人脸识别是什么及应用场景 2. 人脸识别的组成 2.1 前端图像采集 2.2 后端智能平台 3.人脸技术的流程 3.1人脸检测 3.2人脸对齐 3.2.1仿射变换 3.2.2对齐方法 3. ...
- 深度学习自学(八):人脸识别主要场景与算法实现
人脸识别流程 众所众知,严格定义上的人脸识别分为四个步骤: ①人脸检测:从图片中准确定位到人脸 ②人脸矫正(对齐): 检测到的人脸,可能角度不是很正,需要使其对齐 ③特征提取:对矫正后的人脸进行特征提 ...
- 基于matlab活体检测,人脸识别中活体检测算法综述.PDF
人脸识别中的活体检测算法综述 SIGAI 2018.9.19 原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 1. 什么是活体检测? --> 判断捕捉到的 ...
- 《 Python程序设计项目案例》— 人脸识别考勤可视化分析系统签到打卡记录到Excel表格项目参考代码(课程设计、期末结课大作业、毕业设计)
声明 本文仅在CSDN发布,其他均为盗版.请支持正版! 正版链接: https://blog.csdn.net/meenr/article/details/107348867 Python课程设计(程 ...
- 人脸识别三大经典算法_人脸识别系列四 | DeepID1算法
前言 这是人脸识别系列的第5篇文章,前4篇文章可以在公众号的人脸识别栏里找到,这篇文章主要是解析CVPR 2014年的经典人脸识别论文DeepID1算法.论文的地址如下:http://mmlab.ie ...
- php活体检测,双目活体检测摄像头,人脸识别SDK,红外活体算法
近红外人脸活体检测算法主要是基于光流法而实现,无需指令配合,检测成功率较高.根据光流法,利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的"运动",从图像序列中得到 ...
- 使用OpenCV进行人脸识别的三种算法(官方网翻译)
怎样使用OpenCV进行人脸识别 本文大部分来自OpenCV官网上的Face Reconition with OpenCV这节内容(http://docs.opencv.org/modules/con ...
- 人脸识别系列三 | MTCNN算法详解上篇
前言 我们前面分享了PCA,Fisher Face,LBPH三种传统的人脸识别算法,Dlib人脸检测算法.今天我们开始分享一下MTCNN算法,这个算法可以将人脸检测和特征点检测结合起来,并且MTCNN ...
- 高考监考引入人脸识别黑科技?更多高新监控技术为高考保驾护航!
高考是我国选拔考试中最公平相对最综合的选拔方式,同时,也是一场决定资源分配的考试.虽然说高考对人生的影响并不是决定性的,但是对于大多数考生来说,高考是一项重要.严肃的人生选择,因此对于高考作弊的防范也 ...
最新文章
- js push(),pop(),unshift(),shift()的用法小结
- java中try 与catch的使用
- maven 排除配置文件打包_Maven打包pom里面配置exclude 排除掉环境相关的配置文件...
- 模板:线段树标记永久化
- Sun Java认证
- apache2配置优化以及性能测试小结
- Spark RDD、DataFrame和DataSet的区别
- 教师资格证面试结构化面试100题
- 免费分享全套java学习资料
- C-LODOP打印插件使用
- 概率论与数理统计——卡方分布的期望与方差
- 麦马大学的计算机录取要求,麦克马斯特大学,麦马相当于中国哪所大学?
- 使用 Raspberry Pi 和 CUPS 设置打印服务器
- div html 下边加横线_css字体下边横线 html超链接更改颜色和去掉下划线
- 【6G】基于 Dyncast 的算力网络架构
- 【更新1.0:PoC发布】CVE-2020-1350: Windows DNS Server蠕虫级远程代码执行漏洞通告
- go+gSoap+onvif学习总结:7、进行镜头调焦、聚焦和预置点的增删改查
- VHDL设计——交通红绿灯控制器模块
- 10分钟轻松定制网站日志分析大盘
- iOS no summary