基于Logistic回归和BPNN的二值人脸图像识别

2019-04-01 12:44:00
计算机应用与软件 2019年2期
关键词:二值人脸识别人脸

王 海 燕

(四川文理学院智能制造学院 四川 达州 635000)

0 引 言

人脸识别领域的研究人员一直在基于子空间判别分析或统计学习来表示和识别人脸[1],人脸识别由于其在安全和监控方面的广泛应用,在过去的二十年中引起了广泛的研究兴趣[2-3]。人脸识别可以不受干扰地执行,而不需要用户的知识或明确的合作,然而,在不受控制的环境中拍摄的面部图像可以具有不同的姿态、面部表情、照明和伪装。由于对于给定图像的变化类型是未知的,因此设计一个能够处理不同影响因素的人脸识别算法变得至关重要[4-6]。

目前,人脸识别方法主要分为几类:几何特征、基于模型、神经网络、深度学习和多分类器等。文献[7]中提出了使用自组织映射从几何面部特征中识别情感的方法,使用扩展Kohonen自组织映射(KSOM)的综合数据驱动模型,其输入是包括眼睛、嘴唇和眉毛等特征点的26维面部几何特征向量,提高了识别精度。文献[8]将几何特征与SVM结合,提出基于显着几何特征和支持向量机的面部表情识别。文献[9]在隐马尔科夫模型基础上,在待识别头像预处理过程中增加了光照补偿操作,提出一种改进的隐马尔科夫模型的人脸识别方法。

LBP也是常用的人脸识别方法,文献[10-11]对LBP进行改进,分别提出自适应LBP人脸识别算法和增强局部量化模式(ELQP)的人脸识别算法。

随着深度学习的发展,其在计算机视觉领域取得很多成果,更是有研究将深度学习应用到人脸识别。文献[12]中提出了一个深度残差学习框架来减轻网络训练,该算法明确地将层重新定义为参照层输入学习残差函数,而不是学习未引用的函数。文献[13]提出了一种中心丢失的深度人脸识别方法,该方法在中心损失同时学习每个类深层特征的中心,并惩罚深层特征与其相应类中心之间的距离,提出的中心损失函数是可训练的并且易于在CNN中优化。文献[14]提出一个综合的深度学习框架,用多模态信息联合学习人脸表征。所提出的深度学习结构由一组精心设计的卷积神经网络和三层堆叠自动编码器组成。该组CNN从多模式数据中提取补充面部特征。然后,将提取的特征串联起来形成高维特征向量,其维数由堆叠自动编码器压缩。

在研究了现有人脸识别方法的基础上,提出了一种基于Logistic回归和神经网络的二值人脸图像识别算法。该算法是将彩色图像转换为二进制图像,应用局部窗口标准差来增强局部变化在面部区域和自适应阈值捕捉局部变化,可获得高质量的二值图像。以这种方式生成的二值图像具有突出的面部边界并可以方便地用于定位面部区域的特征。然后,采用基于规则的人脸检测方法,基于形态学得到二值图像的垂直和水平轮廓,通过去除原始图像中的非面部区域来提取检测到的面部区域。通过应用最近邻插值方法,将二值人脸图像的尺寸减小,用分类器来分类属于每个人的所有图像,并为每一类图像获得一个决策边界。实验结果表明,本文方法能够高度准确地实现人脸识别。

1 图像二值化与特征提取

1.1 二值化与图像检测

二进制图像的分析比灰色或彩色图像更易操作和费时更少,大多数人脸识别方法都是基于颜色和灰度图像,因为获得高质量的二值图像是一项具有挑战性的任务。本文提出的是处理从FEI数据库中提取的二值图像,对尺寸为640×480的快照图像进行实验,其人脸区域检测算法流程如图1所示。

图1 图像二值化和人脸区域检测的流程图

图像二值化和人脸区域检测过程中,首先将颜色转换为灰度图像,之后通过应用局部窗口标准差LWSD(Local Window Standard Deviation)和自适应阈值处理来获得二值去噪图像。使用尺寸为M×N的滑动窗口的图像X的局部窗口标准偏差可以计算为:

(1)

为了获得像素值为0和1的二值图像,使用了采用低通滤波器的自适应阈值方法。将接近1的某个值用作阈值,并且将滤波图像与其相乘以获得阈值图像,将阈值图像与原始图像进行像素比较,并且将大于阈值图像中的对应像素的原始图像中的像素值设置为1,否则将其设置为0。通过应用Y=(X*F)>τ从Y灰度图像生成二值图像X,其中*代表滤波操作,F代表平滑滤波器,τ为阈值,本文由经验取值为0.978 5。

图2(a)显示了一个灰度图像,其相应的二值图像使用局部窗口标准差和自适应阈值获得如图2(b)所示,由此获得的二值图像由不同维度的面部区域和非面部区域组成。

(a) 灰度图像(b) 二值图像图2 灰度图像和二值图像

然而,非面部区域对于学习目的来说并不重要,必须移除它以便仅提取面部区域。首先通过去除像素的水平黑线去除可能的头发区域来找到头部的顶部,从左侧和右侧删除黑色像素的垂直线,完成连接组件分析以检测眉毛。选择M×N的均匀尺寸以使得整个提取的图像具有相同的像素尺寸。如果行数小于M或列数小于N,则只需在二进制图像的底部和侧面填充0或1即可。同样,如果行数大于M或列数大于N,则从图像的顶部和侧面移除一行像素。在这里,选择了M=190和N=170维,提取的二元人脸具有190×170的像素大小,如图3所示。

图3 连通分量分析前后的人脸区域检测

1.2 图像的特征提取

特征提取是人脸识别系统的重要组成部分,因为成功率的高低取决于提取的特征如何表现不同类别的图像独特性及其对同一类别图像的喜好程度。本文使用局部二值模式LBP(Local Binary Pattern)的特征提取方法进行人脸识别。

要使用全脸图像代替局部特征,则必须输入所有的图像像素作为学习的特征向量。这里提取的二值人脸图像具有190×170=32 300的像素大小,这对于训练来说太大而不可行,为了减小复杂性并减少学习时间,本文使用最近邻插值方法。通过最近邻插值得到的缩小图像具有m×n的大小,其中m和n是缩小图像矩阵的行数和列数。通过将每一行逐个级联,将缩小的图像矩阵转换成行向量,特征数据集X是通过堆叠图像的每个行向量来形成的。

m×1维的列向量y与在X中的每个对应的图像向量给出的标签(目标值)一起形成,其中样本数是样本量。对同一个人的图像给出相同的标签号,以便将一个人作为一个类的图像和另一个人的图像作为另一个类,等等。在机器学习中,矩阵X将是输入特征,向量是每个行的输出标签。

2 Logistic回归和BPNN的二值人脸图像识别

2.1 Logistic回归人脸图像识别

Logistic回归允许两类分类的非线性边界模型不同于仅当两个类可以通过线性分隔时才起作用的线性回归。线性回归分析用于人脸识别系统,如果这两类样本可以线性分离,也被应用于用于面部表情识别的平稳主成分分析。然而,即使当两类样本不能线性分离时,Logistic回归也能起作用,从而产生更高的正确分类率的机会。 Logistic回归使用一个逻辑函数(也称为sigmoid函数),它在0和1之间的范围内产生一个“S”形曲线。sigmoid函数g(z)可以表示为:

(2)

(3)

式中:j=1,2,…,n。在Logistic回归中,假设函数hθ(x)作为一个阈值分类器,当hθ(x)≥0.5,预测y=1,当hθ(x)<0.5,预测y=0。假设函数将输入特征分类为两个类[0 1]。矩阵X经过转置,使特征矩阵为列向量。

学习参数θ是一个(n+1)×1的列向量,初始化为0向量。学习参数θ将在每次迭代中改变其值以适应模型,假设函数可以计算为:

hθ(x)=g(θTx) s.t. 0≤hθ(x)≤1

(4)

式中:x是矩阵X的向量元素,θ是与特征矩阵中的每个像素值相关联的学习参数值。在机器学习中,成本函数测量特定解决方案远离最佳解决方案的程度,梯度下降是与梯度负值成最佳解决方案(或局部最小值)成比例的步骤。成本函数和梯度下降可迭代多次以从给定数据中学习并计算假设函数。

当有太多参数作为输入特征时,可能会发生过度拟合,过度拟合会导致较差的预测性能,因为这会试图适应外部噪声参数和训练数据的微小波动。为了防止模型过度拟合,使用正则化函数,其目标是使成本函数最小化θ,正则化成本函数计算如下:

(5)

式中:y(i)是y中第i行的输出标签,而λ是正则化参数,本文中使用λ=1来避免过度拟合。因为θ0对应于偏置输入x0=1,所以参数θ0不被考虑用于正则化,则损失函数的梯度定义为:

(6)

为了得到一个非线性边界的最优解,直到梯度下降到局部极小值,正则化的代价函数被迭代停止,为两类分类生成的决策边界如图4所示。

图4 Logistic回归的二分类

应用给定的公式,可以训练机器将其中一个类别分为多个类别,因此,对于给定数量的类,必须训练分类数。使用迭代法计算代价函数和梯度下降,在一定的次数或收敛到最优解,数据的训练产生一个预测输出。

2.2 BPNN学习的人脸识别

本文采用三层BPNN的人脸识别技术,该技术适用于在通过二值化和矢量化获得的缩小二值人脸图像,采用BPNN训练80%的人脸数据库和一个前馈神经网络来测试剩余的20%。

图5 前馈神经网络模型

给出m个样本和k个输出标签的训练集,并给出正则化神经网络的整体成本函数。

(7)

图6 反向传播神经网络模型

采用的反向传播算法如下所示:

(1) 将输入层的值(a1)设置为第t个训练样本x(t), 执行前馈神经网络,计算层2、3、4的激活(z(2),a(2),z(3),a(3),z(4),a(4)),在输入和隐藏层添加+1的偏差;

(3) 对于隐藏层l=2,设置δ(3)=(Θ(2))Tδ(4)×(g′z(3));

(4) 对于隐藏层l=1,设置δ(2)=(Θ(2))Tδ(3)×(g′z(2));

通过以上算法,将获得每个层的Θ1、Θ2和Θ3,这些层将在前馈技术中用输入测试特征来计算,以预测测试数据属于哪个类。

3 实验结果与分析

在本文中,使用FEI图像数据库进行研究,本文只考虑正面图像和稍微倾斜的图像以用于训练和测试目的。来自FEI数据库中选择40个人,每个人5张图像,训练和测试比例为4∶1。图7给出了一些训练的例子和相应的测试数据集。

(a) 训练图像 (b) 测试图像图7 训练图像和测试图像

在表1中给出了Logistic回归和BPNN的训练和测试准确度结果。

表1 使用Logistic回归和BPNN在人脸图像上的准确率

从表1可以看出,逻辑回归和BPNN都为训练和测试提供了很高的准确率,数据在所有尺寸缩小的情况下。在所有情况下,Logistic回归都优于BPNN,Logistic回归给出了100%的准确性,而当图像大小减小到38×34时,BPNN将测试图像错误归类为97.5%的精度。Logistic回归分别为培训和测试分别提供100%和97.5%的准确性,当图像尺寸进一步减小到19×17时,BPNN无法训练网络。可以得出,当使用二值图像进行人脸识别时,Logistic回归优于BPNN。

将本文算法与其他算法进行比较识别准确度,图像大小减小到38×34,结果见表2。

表2 不同算法人脸识别准确度

可以看出本文算法识别准确率达到100%和97.5%,而其他三种识别准确率分别为94.6%、95.3%和96.6%,说明本文算法优于其他三种二值人脸识别算法的性能。

为检验算法的普适性,在CAS-PEAL大规模中国人脸图像数据库上对本文算法进行验证,该人脸库包含1 040人的99 450幅人脸图像,将本文算法与其他算法进行比较,人脸识别结果见图8。

图8 不同算法的人脸识别率

可以看出本文算法识别准确率达到97%和95%以上,而其他三种识别率低于本文算法,说明在CAS-PEAL大规模人脸数据库上,本文算法优于其他三种二值人脸识别算法的性能。

4 结 语

本文提出了基于Logistic回归和BPNN的二值人脸识别算法,该算法使用LWSD和自适应阈值将彩色图像转化为去噪二值图像,生成的二值图像具有突出的面部边界并可以方便地用于定位面部区域的特征,减少人脸识别时间。然后采用基于规则的人脸检测方法、形态学,得到二值图像的垂直和水平轮廓,去除原始图像中的非面部区域来提取检测到的面部区域。将与检测到的脸部区域对应的二值图像用作训练数据集。之后通过应用最近邻插值方法,将二值人脸图像的尺寸减小,然后使用Logistic回归和BPNN来分类属于每个人的所有图像,并为每一类图像获得一个决策边界。实验结果表明,本文方法能实现二值人脸图像识别,且在不同的缩小比例下,Logistic回归和BPNN识别精度优于其他二值人脸识别算法,说明本文算法的可行性与有效性。

猜你喜欢
二值人脸识别人脸
人脸识别 等
作文中学版(2022年1期)2022-04-14 08:00:34
混沌伪随机二值序列的性能分析方法研究综述
有特点的人脸
支持CNN与LSTM的二值权重神经网络芯片
高技术通讯(2021年2期)2021-04-13 01:09:46
揭开人脸识别的神秘面纱
学生天地(2020年31期)2020-06-01 02:32:06
基于二值形态学算子的轨道图像分割新算法
测控技术(2018年10期)2018-11-25 09:35:28
三国漫——人脸解锁
动漫星空(2018年9期)2018-10-26 01:17:14
基于曲率局部二值模式的深度图像手势特征提取
基于类独立核稀疏表示的鲁棒人脸识别
计算机工程(2015年8期)2015-07-03 12:19:07
马面部与人脸相似度惊人