一种基于稀疏表示的增量人脸识别方法
【技术领域】
[0001] 本发明设及计算机图像处理领域,特别是一种基于稀疏表示的增量人脸识别方 法。
【背景技术】
[0002] 人脸识别技术已经广泛应用在各种认证系统比如口禁,打卡系统中。不过实际中 的人脸识别依然有许多问题要考虑,比如人脸表情偏转变化,眼镜遮挡等都会带来人脸的 极大变化,给识别带来困难。另外,一个实用的人脸识别系统也需要考虑新加入样本的处 理,即人脸识别的增量问题,如何快速有效地更新训练模型并且保证识别率不受影响。像常 用的SVM,神经网络的训练模型,对于新加入的样本,都需要重新训练来找到新的模型,时间 开销很大。
【发明内容】
[0003] 发明目的:本发明的目的是针对上述提到的人脸识别技术的困难之处,提供一种 对人脸各种变化都具有良好鲁椿性,并且采用对训练样本进行分组W减小新加入样本加入 时更新开销的增量人脸识别方法。
[0004] 为了解决上述技术问题,本发明公开了一种基于稀疏表示分类的增量人脸识别方 法,包括如下步骤:
[0005] 步骤1,输入训练人脸图片集,将包含类别信息的训练集平均分成N个子集,并用 数字标注类别信息,比如对于属于第一个人的所有图片,类别信息都标注为1,同一个人的 训练图片属于同一类别,N为大于1的自然数;
[0006] 步骤2,对每个子集中的每张人脸图片,根据人脸检测方法定位人脸关键点,根据 人脸关键点确定人脸部件位置,之后提取每个人脸部件的特征构造人脸部件字典;
[0007] 步骤3,输入测试图片,根据人脸检测方法得到测试图片的人脸关键点信息,提取 人脸部件特征,在每个子集上都进行步骤4~5操作;
[000引步骤4,对测试图片中每一个人脸部件特征,在对应的人脸部件字典上得到分类结 果,根据得到的分类结果,通过计算每个人脸部件的重建误差判断测试图片中的各个人脸 部件受人脸变化影响程度,选择最小的两个重建误差为标准判断剩下的部件是否是合格部 件;
[0009] 步骤5,根据剩余的合格部件,连接训练人脸图片集中对应的人脸部件特征,组成 全局人脸字典,从而得到测试图片在该一子集上的最终结果;
[0010] 步骤6,根据每个子集的结果,进行一次竞争,从中得到最终结果作为分类判别结 果从而完成人脸识别。
[0011] 步骤7,对于新加入的样本,选择一个子集,之后按照步骤2所述提取新样本的四 个部件特征,加入所选择的子集中的部件字典中。
[0012] 其中,步骤1中将训练人脸图片根据类别划分成N个子集,同一个人的训练图片属 于同一个类别,不同人的训练图片属于不同类别。每个子集拥有的类别数量大致相同,并且 同一人的人脸图片只出现在一个子集中。
[0013] 步骤2中根据人脸检测方法定位人脸关键点包括对人脸图片中的关键点进行定 位,得到双眼,鼻子,嘴己共四个人脸部件周围的点作为关键点,所述根据人脸关键点确定 人脸部件位置包括根据双眼,鼻子,嘴己周围关键点的位置确定一个矩形区域来包含人脸 部件,所述提取每个人脸部件的特征构造人脸部件字典包括提取人脸部件对应的矩形区域 内的方向梯度直方图化istogramof化ientedGradient)特征作为人脸部件的特征,为每 个人脸部件都构造一个局部字典,构造局部字典的方法如下:
[0014] 将人脸部件特征分为K个类,K为大于1的自然数,设第i类有Ni个样本,fU为 第i个类第j个样本的特征,为一个行向量,i取值为1~K,j取值范围1~Ni,则局部字 典D定义如下:
[00巧]D- [fi,i;f1,N1;…;fm,l;fm,Nm;…;fK,l;fK,NK]。
[0016] 步骤3中,对一张测试图片进行人脸关键点定位和人脸部件定位,得到该张测试 图片中人脸的双眼、鼻子、嘴己四个人脸部件特征,然后在训练集划分出来的N个子集的每 个子集中都进行一次步骤4~5的分类判别。
[0017] 步骤4包括:
[0018] 对于训练人脸图片集得到的四个人脸部件对应的矩形区域局部块,每一个都进行 如下操作:
[0019] 设定该个局部块得到的方向梯度直方图化istogramofOrientedGradient)特 征为y,根据局部字典D得到一个稀疏系数X,X满足:
[0020] y=Dx,
[0021] 通过最小化稀疏系数X绝对值迭代得到稀疏系数 [002引X二 3巧111耐 |x| |i满足I Iy-DxI 11<e,
[002引其中e=0.05。设局部字典D有N项,则稀疏系数X是一个N维向量,其中Xu表示X对应局部字典D中第i个类的第j个项的系数,如下,用D康示D中属于类i的字典 部分,对于不属于类i的部分设为0,属于类i的fu部分为保留原值,j取值范围1~N1。 用丫i(X)表示稀疏系数X中对应局部字典D中属于类i的项的系数值,对于不属于类i的 项,在丫i(x)中的值都为0,
[0024] Di= [0 f\i;…;f . . ;0 ;0],
[0025] 丫i(x) = [0 …;Xi,i;…;x ;0 ;0],
[0026] 最后分类结果r为具有最小重建误差的类:
[0027] r=ar卵inJIy- 丫i(X)蝴I11,
[002引 重建误差resi化al表示如下;
[0029] residual=I|厂丫r(x)*Djli,
[0030] 对于每个子集中的每个人脸部件都能得到一个分类结果rW及重建误差 resi化al,对于其中任一子集,令四个人脸部件得到的重建误差为resi化all、resi化al2、 residuals和residual4,令residualmini和residualmin2分别代表residual1、residual2、 residuals和residual4 中最小和第二小的值,令residuali对代表residuall、residual2、 residuals和residual4 中的第i个结果,如果residuali<residualmini+residualmin2,则 判定第i个部件是好的,否则将第i个部件丢弃,此时记录该个子集中的合格部件个数为 Ngood。
[0031] 在此子集下全局人脸特征构造如下:
[0032] 令fpartl,fpart2,fpart3,fpart4分别代表从四个人脸部件得到的局部特征,均 为行向量形式,f,hDW。。。代表全局特征,则从1到4遍历i,如果第i个部件为合格部件,则将 巧arti加入到全局特征中,即f,h()lefaee= [f,tolehee巧arti]。遍历完成之后即可得到全局人 脸特征。
[0033] 在此子集下全局人脸字典构造如下:
[0034] 令该子集的四个部件的局部字典分别为D1,D2, D3, D4,每个局部字典的构造都如 下所示:
[003引 D = [fl ;f2 ;f3 ;…;fn],
[0036] 为一个行向量,若该子集中有n个训练样本,则D中一共有n个该样的行向量,
[0037] 令D,h〇ief£iee代表全局字典,则从1到4遍历i,如果束i个部件为合格部件,则将Di 加入到全局字典中。加入方式可W简单地采用行连接的方式,设D中第k行 数据为fDwholefacek,Di中第k行数据为巧ik,则将Di加入全局字典之后,全局字典中第k 行数据变为fwholefacek= [fDwholefacek巧ij。如此便可得到该个子集上的全局人脸字 典。
[003引步骤5包括在每个子集上,根据得到的合格部件结果,在四个人脸部件字典的基 础上得到全