opencv的人脸识别基于啥特征

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv的人脸识别基于啥特征相关的知识,希望对你有一定的参考价值。

基于几何特征的人脸识别方法

基于特征的方法是一种自下而上的人脸检测方法,由于人眼可以将人脸在不此研究人员认为有一个潜在的假设:人脸或人脸的部件可能具有在各种条件下都不会改变的特征或属性,如形状、肤色、纹理、边缘信息等。基于特征的方法的目标就是寻找上述这些不变特征,并利用这些特征来定位入脸。这类方法在特定的环境下非常有效且检测速度较高,对人脸姿态、表情、旋转都不敏感。但是由于人脸部件的提取通常都借助于边缘算子,因此,这类方法对图像质量要求较高,对光照和背景等有较高的要求,因为光照、噪音、阴影都极有可能破坏人脸部件的边缘,从而影响算法的有效性。

模板匹配算法首先需要人TN作标准模板(固定模板)或将模板先行参数化(可变模板),然后在检测人脸时,计算输入图像与模板之间的相关值,这个相关值通常都是独立计算脸部轮廓、眼睛、鼻子和嘴各自的匹配程度后得出的综合描述,最后再根据相关值和预先设定的阈值来确定图像中是否存在人脸。基于可变模板的人脸检测算法比固定模板算法检测效果要好很多,但是它仍不能有效地处理人脸尺度、姿态和形状等方面的变化。

基于外观形状的方法并不对输入图像进行复杂的预处理,也不需要人工的对人脸特征进行分析或是抽取模板,而是通过使用特定的方法(如主成分分析方法(PCA)、支持向量机(SVM)、神经网络方法(ANN)等)对大量的人脸和非人脸样本组成的训练集(一般为了保证训练得到的检测器精度,非人脸样本集的容量要为人脸样本集的两倍以上)进行学习,再将学习而成的模板或者说分类器用于人脸检测。因此,这也是j种自下而上的方法。这种方法的优点是利用强大的机器学习算法快速稳定地实现了很好的检测结果,并且该方法在复杂背景下,多姿态的人脸图像中也能得到有效的检测结果。但是这种方法通常需要遍历整个图片才能得到检测结果,并且在训练过程中需要大量的人脸与非人脸样本,以及较长的训练时间。近几年来,针对该方法的人脸检测研究相对比较活跃。


基于代数特征的人脸识别方法

在基于代数特征的人脸识别中,每一幅人脸图像被看成是以像素点灰度为元素的矩阵,用反映某些性质的数据特征来表示人脸的特征。 设人脸图像 ) , ( y x I 为二维 N M × 灰度图像,同样可以看成是 N M n × = 维列向量,可视为 N M × 维空间中的一个点。但这样的一个空间中,并不是空间中的每一部分都包含有价值的信息,故一般情况下,需要通过某种变换,将如此巨大的空间中的这些点映射到一个维数较低的空间中去。然后利用对图像投影间的某种度量来确定图像间的相似度,最常见的就是各种距离度量。 在基于代数特征的人脸识别方法中,主成分分析法(PCA)和Fisher 线性判别分析(LDA)是研究最多的方法。本章简要介绍介绍了PCA。

完整的PCA(PrincipalComponentAnalysis)人脸识别的应用包括四个步骤:人脸图像预处理;读入人脸库,训练形成特征子空间;把训练图像和测试图像投影的上一步骤中得到的子空间上;选择一定的距离函数进行识别。详细描述如下:

4.1读入人脸库

一归一化人脸库后,将库中的每个人选择一定数量的图像构成训练集,设归一化后的图像是n×n,按列相连就构成n2维矢量,可视为n2维空间中的一个点,可以通过K-L变换用一个低维子空间描述这个图像。

4.2计算K.L变换的生成矩阵

训练样本集的总体散布矩阵为产生矩阵,即

或者写成:

式中xi为第i个训练样本的图像向量,|l为训练样本的均值向量,M为训练样本的总数。为了求n2×n2维矩阵∑的特征值和正交归一化的特征向量,要直接计算的话,计算量太大,由此引入奇异值分解定理来解决维数过高的问题。

4.3利用奇异值分解(AVD)定理计算图像的特征值和特征向量

设A是一个秩为r的行n×r维矩阵,则存在两个正交矩阵和对角阵:

其中凡则这两个正交矩阵和对角矩阵满足下式:

其中为矩阵的非零特征值,

 4.4 把训练图像和测试图像投影到特征空间每一副人脸图像向特征脸子空间投影,得到一组坐标系数,就对应于子空间中的一个点。同样,子空间中的任一点也对应于~副图像。这组系数便可作为人脸识别的依据,也就是这张人脸图像的特征脸特征。也就是说任何一幅人脸图像都可以表示为这组特征脸的线性组合,各个加权系数就是K.L变换的展开系数,可以作为图像的识别特征,表明了该图像在子空间的位置,也就是向量

可用于人脸检测,如果它大于某个阈值,可以认为f是人脸图像,否则就认为不是。这样原来的人脸图象识别问题就转化为依据子空间的训练样本点进行分类的问题。


基于连接机制的人脸识别方法

  基于连接机制的识别方法的代表性有神经网络和弹性匹配法。

神经网络(ANN)在人工智能领域近年来是一个研究热门,基于神经网络技术来进行人脸特征提取和特征识别是一个积极的研究方向。神经网络通过大量简单神经元互联来构成复杂系统,在人脸识别中取得了较好的效果,特别是正面人脸图像。常用的神经网络有:BP网络、卷积网络、径向基函数网络、自组织网络以及模糊神经网络等n¨。BP网络的运算量较小耗时也短,它的自适应功能使系统的鲁棒性增强。神经网络用于人脸识别,相比较其他方法,其可以获得识别规则的隐性表达,缺点是训练时间长、运算量大、收敛速度慢且容易陷入局部极小点等。Gutta等人结合RBF与树型分类器的混合分类器模型来进行人脸识别乜螂1。Lin等人采用虚拟样本进行强化和反强化学习,采用模块化的网络结构网络的学习加快,实现了基于概率决策的神经网络方法获得了较理想结果,。此种方法能较好的应用于人脸检测和识别的各步骤中。弹性匹配法采用属性拓扑图代表人脸,拓扑图的每个顶点包含一个特征向量,以此来记录人脸在该顶点位置周围的特征信息¨引。拓扑图的顶点是采用小波变换特征,对光线、角度和尺寸都具有一定的适应性,且能适应表情和视角的变化,其在理论上改进了特征脸算法的一些缺点。


基于三维数据的人脸识别方法

一个完整的人脸识别系统包括人脸面部数据的获取、数据分析处理和最终结果输出三个部分。图2-1 显示了三维人脸识别的基本步骤:1 、通过三维数据采集设备获得人脸面部的三维形状信息;2 、对获取的三维数据进行平滑去噪和提取面部区域等预处理;3 、从三维数据中提取人脸面部特征,通过与人脸库中的数据进行比对;4 、用分类器做分类判别,输出最后决策结果。

 

 

基于三维数据的方法的代表性是基于模型合成的方法和基于曲率的方法。

基于模型合成的方法,它的基本思想为:输入人脸图像的二维的,用某种技术恢复(或部分恢复)人脸的三维信息,再重新合成指定条件下的人脸图像。典型代表是3D可变形模型和基于形状恢复的3D增强人脸识别算法。3D可变形模型首先通过200个高精度的3D人脸模型构建一个可变形的3D人脸模型,用这个模型来对给定的人脸图像拟合,获得一组特定的参数,再合成任何姿态和光照的人脸图像n卜捌。基于形状恢复的3D增强人脸识别算法是利用通用的3D人脸模型合成新的人脸图像,合成过程改变了一定的姿态与光源情况。

曲率是最基本的表达曲面信息的局部特征,因而最早用来处理3D人脸识别问题的是人脸曲面的曲率。Lee禾lJ用平均曲率和高斯曲率值,将人脸深度图中凸的区域分割出来。



如果你是开发者的话,可以去Tel一下colorreco,更好地技术解答。

参考技术A haar特征、lbp特征

以上是关于opencv的人脸识别基于啥特征的主要内容,如果未能解决你的问题,请参考以下文章

基于opencv的人脸采集训练及识别应用

人脸识别基于dlib库实现人脸特征值提取

基于opencv实现人脸识别案例

Android基于opencv4.6.0实现人脸识别功能

python之OpenCv---人脸识别

opencv学习之路(40)人脸识别算法——EigenFaceFisherFaceLBPH