人脸识别技术算法原理(八大算法详解)

发布时间:2017-11-15 11:49 来源:鲁班长科技 作者:lbz
    随着人脸识别技术的成熟与发展,今年,无人超市的开业以及iphone X 的发布,把人脸识别技术的应用推向了一个高潮。那么,人脸识别技术是什么呢?人脸识别算法又是什么呢?下面我们就来探讨一下人脸识别技术,以及人脸识别算法原理。
人脸识别技术算法原理
    首先,我们先来了解一下什么是人脸识别技术。
 
    人脸识别技术,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而给出每个脸的位置、大小和各个主要面部器官的位置信息,并依据这些信息,进一步提取每个人脸中所蕴涵的身份特征,并将其与已知的人脸进行对比,从而识别每个人脸的身份的一系列相关技术。因而,人脸识别通常也叫做人像识别、面部识别。
 
     人脸识别系统的研究始于20世纪60年代,80年代后随着计算机技术和光学成像技术的发展得到提高,而真正进入初级的应用阶段则在90年代后期。2014年3月,香港中文大学信息工程系主任、中国科学院深圳先进技术研究院副院长汤晓鸥领军的团队发布研究成果,基于原创的人脸识别算法,准确率达到98.52%,首次超越人眼识别能力(97.53%)。
 
    接下来,我们再看人脸识别算法原理
 
    主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。
 
    1. 基于几何特征的方法是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果;
 
    2. 基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。
 
    3. 基于模型的方法则有基于隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。
 
 
    人脸识别技术主流算法
 
    1. 基于几何特征的人脸识别方法
 
    人脸由眼睛、鼻子、嘴巴、下巴等部件构成,正因为这些部件的形状、大小和结构上的各种差异才使得世界上每个人脸千差万别,因此对这些部件的形状和结构关系的几何描述,可以做为人脸识别的重要特征。
 
    这种方法思想很好,但是存在两个问题,一是能量函数中各种代价的加权系数只能由经验确定,难以推广,二是能量函数优化过程十分耗时,难以实际应用。 基于参数的人脸表示可以实现对人脸显著特征的一个高效描述,但它需要大量的前处理和精细的参数选择。同时,采用一般几何特征只描述了部件的基本形状与结构关系,忽略了局部细微特征,造成部分信息的丢失,更适合于做粗分类,而且目前已有的特征点检测技术在精确率上还远不能满足要求,计算量也较大。因此,这些算法识别速度快,需要的内存小,但识别率较低。
 
    2. 基于局部特征分析的人脸识别方法(Local Face Analysis)
 
    主元子空间的表示是紧凑的,特征维数大大降低,但它是非局部化的,其核函数的支集扩展在整个坐标空间中,同时它是非拓扑的,某个轴投影后临近的点与原图像空间中点的临近性没有任何关系,而局部性和拓扑性对模式分析和分割是理想的特性,似乎这更符合神经信息处理的机制,因此寻找具有这种特性的表达十分重要。基于这种考虑,Atick提出基于局部特征的人脸特征提取与识别方法。这种方法在实际应用取得了很好的效果,它构成了FaceIt人脸识别软件的基础。
 
    3. 基于特征脸的人脸识别方法(Eigenface或PCA)
 
    特征脸方法是90年代初期由Turk和Pentland提出的目前最流行的算法之一,具有简单有效的特点, 也称为基于主成分分析(principal component analysis,简称PCA)的人脸识别方法。
 
    该方法是先确定眼虹膜、鼻翼、嘴角等面像五官轮廓的大小、位置、距离等属性,然后再计算出它们的几何特征量,而这些特征量形成一描述该面像的特征向量。其技术的核心实际为“局部人体特征分析”和“图形/神经识别算法。”这种算法是利用人体面部各器官及特征部位的方法。
 
    基于特征分析的方法,也就是将人脸基准点的相对比率和其它描述人脸脸部特征的形状参数或类别参数等一起构成识别特征向量,这种基于整体脸的识别不仅保留了人脸部件之间的拓扑关系,而且也保留了各部件本身的信息,而基于部件的识别则是通过提取出局部轮廓信息及灰度信息来设计具体识别算法。现在Eigenface(PCA)算法已经与经典的模板匹配算法一起成为测试人脸识别系统性能的基准算法;而自1991年特征脸技术诞生以来,研究者对其进行了各种各样的实验和理论分析,FERET'96测试结果也表明,改进的特征脸算法是主流的人脸识别技术,也是具有最好性能的识别方法之一。
 
    4. 基于KL变换的特征人脸识别方法
 
    KL变换是图象压缩中的一种最优正交变换,人们将它用于统计特征提取,从而形成了子空间法模式识别的基础,若将KL变换用于人脸识别,则需假设人脸处于低维线性空间,且不同人脸具有可分性,由于高维图象空间KL变换后可得到一组新的正交基,因此可通过保留部分正交基,以生成低维人脸空间,而低维空间的基则是通过分析人脸训练样本集的统计特性来获得,KL变换的生成矩阵可以是训练样本集的总体散布矩阵,也可以是训练样本集的类间散布矩阵,即可采用同一人的数张图象的平均来进行训练,这样可在一定程度上消除光线等的干扰,且计算量也得到减少,而识别率不会下降。
 
    5. 基于弹性图匹配的人脸识别方法
 
    弹性图匹配法在二维的空间中定义了一种对于通常的人脸变形具有一定的不变性的距离,并采用属性拓扑图来代表人脸,拓扑图的任一顶点均包含一特征向量,用来记录人脸在该顶点位置附近的信息。该方法结合了灰度特性和几何因素,在比对时可以允许图像存在弹性形变,在克服表情变化对识别的影响方面收到了较好的效果,同时对于单个人也不再需要多个样本进行训练。
 
    6. 基于神经网络的人脸识别方法(Neural Networks)
 
    人工神经网络是一种非线性动力学系统,具有良好的自组织、自适应能力。目前神经网络方法在人脸识别中的研究方兴未艾。神经网络的输入可以是降低分辨率的人脸图像、局部区域的自相关函数、局部纹理的二阶矩等。这类方法同样需要较多的样本进行训练,而在许多应用中,样本数量是很有限的。
 
    神经网络方法在人脸识别上的应用比起前述几类方法来有一定的优势,因为对人脸识别的许多规律或规则进行显性的描述是相当困难的,而神经网络方法则可以通过学习的过程获得对这些规律和规则的隐性表达,它的适应性更强,一般也比较容易实现。因此人工神经网络识别速度快,但识别率低 。而神经网络方法通常需要将人脸作为一个一维向量输入,因此输入节点庞大,其识别重要的一个目标就是降维处理。
 
    7. 线段Hausdorff 距离(LHD) 的人脸识别方法
 
    心理学的研究表明,人类在识别轮廓图(比如漫画)的速度和准确度上丝毫不比识别灰度图差。LHD是基于从人脸灰度图像中提取出来的线段图的,它定义的是两个线段集之间的距离,与众不同的是,LHD并不建立不同线段集之间线段的一一对应关系,因此它更能适应线段图之间的微小变化。实验结果表明,LHD在不同光照条件下和不同姿态情况下都有非常出色的表现,但是它在大表情的情况下识别效果不好。
 
    8.支持向量机(SVM) 的人脸识别方法
 
    支持向量机是统计模式识别领域的一个新的热点,它试图使得学习机在经验风险和泛化能力上达到一种妥协,从而提高学习机的性能。支持向量机主要解决的是一个2分类问题,它的基本思想是试图把一个低维的线性不可分的问题转化成一个高维的线性可分的问题。通常的实验结果表明SVM有较好的识别率,但是它需要大量的训练样本(每类300个),这在实际应用中往往是不现实的。而且支持向量机训练时间长,方法实现复杂,该函数的取法没有统一的理论。
 
 
    除了以上几种方法,人脸识别还有其它若干思路和方法,包括一下一些:
 
    9. 隐马尔可夫模型方法(Hidden Markov Model)
 
    10.  Gabor 小波变换+图形匹配
 
    a. 精确抽取面部特征点以及基于Gabor引擎的匹配算法,具有较好的准确性,能够排除由于面部姿态、表情、发型、眼镜、照明环境等带来的变化。
 
    b. Gabor滤波器将Gaussian网络函数限制为一个平面波的形状,并且在滤波器设计中有优先方位和频率的选择,表现为对线条边缘反应敏感。
 
    c. 但该算法的识别速度很慢,只适合于录象资料的回放识别,对于现场的适应性很差。
 
    11. 人脸等密度线分析匹配方法
 
    a. 多重模板匹配方法。该方法是在库中存贮若干标准面像模板或面像器官模板,在进行比对时,将采样面像所有象素与库中所有模板采用归一化相关量度量进行匹配。
 
    b.  线性判别分析方法(Linear Discriminant Analysis,LDA)
 
    c. 本征脸法。本征脸法将图像看做矩阵 ,计算本征值和对应的本征向量作为代数特征进行识别 ,具有无需提取眼嘴鼻等几何特征的优点 ,但在单样本时识别率不高 ,且在人脸模式数较大时计算量大 
 
    d. 特定人脸子空间(FSS)算法。该技术来源于但在本质上区别于传统的"特征脸"人脸识别方法。"特征脸"方法中所有人共有一个人脸子空间,而该方法则为每一个体人脸建立一个该个体对象所私有的人脸子空间,从而不但能够更好的描述不同个体人脸之间的差异性,而且最大可能地摈弃了对识别不利的类内差异性和噪声,因而比传统的"特征脸算法"具有更好的判别能力。另外,针对每个待识别个体只有单一训练样本的人脸识别问题,提出了一种基于单一样本生成多个训练样本的技术,从而使得需要多个训练样本的个体人脸子空间方法可以适用于单训练样本人脸识别问题。
 
    c. 奇异值分解(singular value decomposition,简称SVD)。奇异值分解是一种有效的代数特征提取方法.由于奇异值特征在描述图像时是稳定的,且具有转置不变性、旋转不变性、位移不变性、镜像变换不变性等重要性质,因此奇异值特征可以作为图像的一种有效的代数特征描述。奇异值分解技术已经在图像数据压缩、信号处理和模式分析中得到了广泛应用.
 
 
    最后,我们再来看看人脸识别技术的流程
 
    人脸识别系统主要包括四个组成部分,分别为:人脸图像采集及检测人脸图像预处理人脸图像特征提取以及匹配与识别
最后,我们再来看看人脸识别技术的流程
    1. 人脸图像采集及检测
 
    人脸图像采集:不同的人脸图像都能通过摄像镜头采集下来,比如静态图像、动态图像、不同的位置、不同表情等方面都可以得到很好的采集。当用户在采集设备的拍摄范围内时,采集设备会自动搜索并拍摄用户的人脸图像。
 
    人脸检测:人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。人脸图像中包含的模式特征十分丰富,如直方图特征、颜色特征、模板特征、结构特征及Haar特征等。人脸检测就是把这其中有用的信息挑出来,并利用这些特征实现人脸检测。
 
    2. 人脸图像预处理
 
    人脸图像预处理:对于人脸的图像预处理是基于人脸检测结果,对图像进行处理并最终服务于特征提取的过程。系统获取的原始图像由于受到各种条件的限制和随机 干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度校正、噪声过滤等图像预处理。对于人脸图像而言,其预处理过程主要包括人脸图像的光线补 偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。
 
    3. 人脸图像特征提取
 
    人脸图像特征提取:人脸识别系统可使用的特征通常分为视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数 特征等。人脸特征提取就是针对人脸的某些特征进行的。人脸特征提取,也称人脸表征,它是对人脸进行特征建模的过程。人脸特征提取的方法归纳起来分为两大 类:一种是基于知识的表征方法;另外一种是基于代数特征或统计学习的表征方法。
 
 
    4. 人脸图像匹配与识别
 
    人脸图像匹配与识别:提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输 出。人脸识别就是将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。这一过程又分为两类:一类是确认,是一对一 进行图像比较的过程,另一类是辨认,是一对多进行图像匹配对比的过程。
 
    以上便是人脸识别算法的一些基本方法以及人脸识别技术的应用,更多精彩请关注鲁班长官网。
相关资讯
  • 人脸识别技术在公安领域的6大应用

    人脸识别技术在公安领域的6大应用

    人脸识别系统在公安领域的应用越来越广泛,为什么这些区域都会使用人脸识别技术呢? 一、全站布控封锁 基于全境封锁布点建设的人脸前端数据,在需要对重点人员进行全区域筛查布...
  • 人脸识别技术主要有三大应用方向

    人脸识别技术主要有三大应用方向

    通常人脸识别包含以下环节:相机或者专业设备先采集到图片,人脸检测技术定位图片中的人脸,然后从中再定位诸如眼角、鼻尖、嘴角、脸部轮廓线等特征,进行包括光线补偿或者遮...
  • 人脸识别技术的原理以及优点和缺点

    人脸识别技术的原理以及优点和缺点

    人脸识别技术原理 人脸识别技术是 生物识别技术 中的一种,被广泛采用的区域特征分析算法,它融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频...
  • 席勒讥讽安卓阵型的人脸识别技术很烂

    席勒讥讽安卓阵型的人脸识别技术很烂

    在去年的苹果发布会中,iPhone X的三维人脸识别功能闪耀全场,使得人脸识别大火了一把。日前,负责营销的高级副总裁席勒对媒体表示,在人脸识别方面,安卓厂商的技术还很烂。 据...

服务热线:400-600-8389

鲁班长资讯鲁班长资讯
鲁班长微博鲁班长微博
网站认证