APP下载

基于HOG/PCA/SVM的跨年龄人脸识别算法*

2018-12-15彭思江戴厚平周成富

关键词:超平面人脸人脸识别

彭思江,戴厚平,周成富,刘 倩

(吉首大学数学与统计学院,湖南 吉首 416000)

人脸识别技术被广泛应用于交通安全、金融、法律等领域,国内外学者对人脸识别问题进行了优化建模和算法设计.如基于K-L变换[1-2]、模糊BP神经网络[3]、DCT和RBF神经网络[4]等设计人脸识别算法,这些研究的对象都是同一年龄阶段的人脸图像;又如基于深度卷积神经网络[5]、分解稀疏非负矩阵[6]等,这些算法可以进行跨年龄人脸识别.方向梯度直方图(HOG)特征提取算法[7]是通过一致空间的密度矩阵提高准确率,能较准确地描述人脸的亮暗点和边缘等局部分布特征;主成分分析(PCA)方法[8]是利用样本中部分主要元素效果代替整体元素效果,将多维复杂问题简化为低维简单问题;SVM训练原理[9]应用在小样本、非线性样本的分类问题中,取得了很好的分类效果.笔者将这3种方法结合,对跨年龄人脸进行识别.

1 提取图像的HOG特征

HOG特征是对局部区域进行描述,在局部区域上构建HOG,以此构成图像特征.设I为输入图像,I(x,y)为图像在像素点(x,y)处的灰度值.HOG特征提取的计算步骤如下:

Step1计算每个像素点处的梯度.图像在像素点(x,y)处的水平方向梯度、垂直方向梯度分别为

Gx(x,y)=H(x+1,y)-H(x-1,y),

(1)

Gy(x,y)=H(x,y+1)-H(x,y-1),

(2)

其中H(x,y)为像素值.由(1),(2)式可计算出像素点(x,y)处的梯度幅值和梯度方向分别为

Step2对每一个细胞单元构建HOG.将图像划分为n个大小相同的细胞单元ci(i=1,2,…,n),设细胞单元的大小为m×m像素,并以细胞单元作为单位统计出HOG.将梯度方向划分为K个均匀的区间,用Vk(x,y)表示像素点(x,y)对第k个区间(记为Bk)的贡献(即权值).本研究采用权值取法中较为简单的一种,

Step4收集HOG特征.将各个块的HOG连接起来,就得到输入图像的HOG特征.

2 PCA降维

PCA[10]是一种无监督的线性特征提取方法,其最优变换是基于K-L变换在最小均方误差意义下产生的.利用该变换可较大幅度地降低人脸表情数据特征的维数.n个d维空间中的样本a1,a2,…,an,其中ai=(ai1,ai2,…,aid)T∈Rd,设A为这n个样本构成的数据矩阵,即A=(a1,a2,…,an).给定m

Step3求协方差矩阵S的前m个最大特征值,并将这m个特征值从大到小排序,即λ1≥λ2≥…≥λm,其对应的特征向量分别为φ1,φ2,…,φm,φj(j=1,2,…,m)∈Rd,由特征向量构成的矩阵φm=(φ1,φ2,…,φm).

3 SVM原理

图1 距离不同的2个超平面H1和H2Fig. 1 Two Hyperplanes with Different Distances

SVM将N-D空间中的正样本和负样本看作2个不同的集合,并自动寻找一个超平面,将N-D空间分成2个部分,使得正、负样本分别落在不同半径的空间中,同时也使得正、负样本之间的间隔拉到最大.图1示出距离不同的2个超平面H1和H2,其中2d1和2d2均是样本S1和S2之间的间隔.

从图1可看出,最大间隔为2d1,其对应的平面H1即所要寻找的超平面,与样本S1和S2相切的超平面分别是Ha和Hb.位于超平面Ha和Hb上的数据即为支持向量,这些数据对超平面具决定性作用,新的测试样本由已经得到的支持向量来判定.

给定训练数据

D={(xi,yi)|xi∈RN,yi∈{-1,1}}i=1,…,l.

其中:xi是N-D特征空间中的向量;yi为xi对应的标签,yi=1表示正样本标签,yi=-1表示负样本标签.训练样本线性可分时,最优分隔超平面H一定存在,用w表示其法向量,b表示其截距,则根据文献[11],有w·x+b=0.超平面H可以将不同类别的2个样本分开,对应的约束条件为

w·xi+b≥1yi=1,

(3)

w·xi+b≤-1yi=-1.

(4)

合并(3),(4)式,得到yi(w·xi+b)-1≥0.引入拉格朗日优化理论,得到

(5)

(6)

其中αi为拉格朗日乘子.由(5),(6)式得到SVM最终的优化形式:

(7)

对模型(7)进行求解即可得αi,再由(5)式求出超平面H的法向量w.根据Karush-Kuhn-Tucher条件,可由w求出超平面H的截距b,计算公式为αi(yi(w·xi+b)-1)=0.w和b确定后,SVM也随之产生,之后便可以利用此SVM对新样本进行分类识别.

4 仿真实验

4.1 图像预处理

笔者从FQ-NET数据库中选取11个人脸图像进行仿真实验,其中1个人脸图像为对照组,另外10个人脸图像为实验组.实验组又分为2小组,每小组5个人脸图像,第一小组图像人物与对照组是同一人但年龄不同(编号A,B,C,D,E),第二小组为另一个人在不同年龄的人脸图像(编号F,G,H,I,J).因选取的人脸图像是彩色图像,故先对其进行预处理.

图2 Gamma校正函数图像Fig. 2 Image of the Gamma Correction Function

将彩色图像的RGB分量分别乘以一个权重再相加,得到灰度图像,具体计算公式[12]为Y=0.3R+0.59G+0.11B.当图像的灰度值较低时采用γ<1的Gamma校正,实现低灰度值向高灰度值拉伸;当图像的灰度值较高时采用γ>1的Gamma校正,实现高灰度值向低灰度值拉伸.Gamma校正过程可用公式表达为

其中:I(x,y)为原图像灰度值;Y(x,y)为经过Gamma校正后的图像灰度值.图像I为双精度图像,像素取值为0~1.Gamma校正函数图像如图2所示.人脸图像预处理前后的对比效果如图3所示.

图3 人脸图像预处理前后的效果对比Fig. 3 Comparison of Effects Before and After Face Image Preprocessing

4.2 人脸识别仿真过程

预处理后的对照组和实验组人脸图像分别如图4,5所示.将经过预处理的实验组样本图像分为正、负样本图像:以类内图像作为正样本图像,即实验组第一小组的人脸图像;以类间图像作为负样本图像,即实验组第二小组的人脸图像.

图4 预处理后的对照组人脸图像Fig. 4 Face Image of the Control Group After Preprocessing

图5 预处理后的实验组人像图像Fig. 5 Face Images of the Experimental Group After Preprocessing

对经预处理的人脸图像提取其对应的HOG特征.首先,将预处理后的256×256像素的图像划分为16×16个大小相同的细胞单元,每个细胞单元的大小为16×16像素;其次,以细胞单元作为单位统计出HOG,将梯度方向划分为9个均匀的区间,得到一个9维的特征向量;然后,将相邻的2×2个细胞单元构成一个大块,得到一个36维的特征向量;接着,在每个大块内对所有像素的梯度方向在各个方向区间进行直方图统计,并作归一化处理;最后,相互连接225个大块便得到整个图像的HOG特征.提取过程如图6所示.

图6 HOG特征提取的过程Fig. 6 Process of Extracting HOG Features

接下来利用PCA方法对提取的HOG特征进行降维.将正样本图像的HOG特征差空间作为正样本,其样本标签为1;将负样本图像的HOG特征差空间作为负样本,其样本标签为-1;将确定好的正、负样本输入到SVM中进行训练.表1示出实验组的分类识别结果.

表1 实验组的分类识别结果

由表1可知:A,B,C,D,E这5个被分类到正样本的人脸图像与对照组的匹配度相对较高(最高达90.91%),验证了它们与对照组是不同年龄的同一个人的人脸图像;F,G,H,I,J这5个被分类到负样本的人脸图像与对照组的匹配度相对较低,验证了它们与对照组不是同一个人的人脸图像.

5 结语

根据梯度幅值和梯度方向这2个重要的图像特征之间的差异,笔者设计了基于HOG/PCA/SVM的跨年龄人脸图像识别算法,并对算法进行了有效性验证.下一步将以该算法为基础,对光照等外界因素干扰的人脸图像进行识别,以期更好地解决人脸识别问题.

猜你喜欢

超平面人脸人脸识别
人脸识别 等
基于非线性核的SVM模型可视化策略
全纯曲线的例外超平面
有特点的人脸
一起学画人脸
涉及分担超平面的正规定则
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
三国漫——人脸解锁
涉及周期移动超平面的全纯曲线差分形式的第二基本定理