基于约束采样的稀疏表示人脸识别方法
技术领域
本发明属于图像处理、计算机视觉、模式识别技术领域,特别涉及人脸识别方法。
背景技术
生物特征识别技术是身份识别的有效技术,近来发展最快的是人脸识别技术以及与人脸识别技术相融合的生物特征识别技术。
目前已有的人脸识别方法主要是对整个人脸进行识别的,而在诸多的识别方法中,主要采用主分量分析(PCA-Principal Component Analysis)、弹性匹配、神经网络、几何特征等方法。
同时,人脸识别的难点还在于:
(1)表情引起的人脸塑性变形
(2)姿态引起的人脸多样性
(3)年龄引起的人脸变化
(4)发型、胡须、眼镜、化装等因素引起的人脸模式的多重性
(5)光照的角度、强度以及传感器特性等因素引起的人脸图像的差异性
诸多的因素使得人脸识别成为一项棘手而富挑战性的课题,也因此在近年成为科研的热点。
目前已有的一种基于稀疏表示的人脸识别方法:其主要特点是将稀疏信号表示这一新理论应用于人脸识别。该方法首先假设待识别的人脸可以由训练集中该类别的人脸线性表示,利用这一假设,通过计算L1范数最小值求得稀疏表达。该方法具体包括以下步骤:
1)对于训练集中每一幅人脸图像进行处理,提取特征向量,将训练集的所有特征向量排列形成特征矩阵A,将特征矩阵中的一行或多行作为训练集的一个类别,一个类别对应训练集的一个人的多幅人脸图像;
2)对于待识别的人脸图像按照同样的方法提取特征向量y;
3)将待识别人脸图像的特征向量用训练集图像的特征向量线性表示,求出线性表示的系数;(由于这种线性表示的系数具有多样性)计算如下L1范数最小值问题,选择其中L1范数最小的系数作为线性表示的系数
满足||y-Ax||2≤ε (7)
其中ε为预设的误差,||y-Ax||2为向量y-Ax的L2范数;
4)对于训练集的每一类别i=1,…,k(k为训练集的类别数),根据步骤3)得到的系数
按照公式(8)计算对应于该类别的残差r
i(y);
其中,
对于第i类,δ
i(x)=x;对于其他类,δ
i(x)=0;
5)比较步骤4)求出每一类的对应残差,残差的最小值对应的训练集的类别作为待识别人的识别结果。
该方法对人脸光照和表情的变化具有鲁棒性,但是对图像的配准有较高的要求。当图像之间的配准有几个像素的偏差时,它的性能就会受到很大的影响。
与本发明相关的已有技术说明如下:
人脸检测:利用Real Adaboost方法与新的特征定义形式以及构造方式得到层次型检测器,并选择计算次数少的特征作为候选特征以提高检测速度。
人脸关键特征点的提取:其主要特点是利用SUSAN算子提取边缘,并与方向积分投影方法结合,获得眼球、鼻尖、下巴等一系列关键特征点位置。实验结果表明,该方法平均定位准确率在95%以上。
发明内容
本发明的目的是为了提高人脸识别算法的鲁棒性,利用人脸关键点的精确定位结果,提出一种基于约束采样的稀疏表示人脸识别方法,该方法通过对约束区域进行采样,使其具有更高的人脸识别率。
本发明提出的基于约束采样的稀疏表示人脸识别方法,其特征在于,该方法包括以下步骤:
1)对训练集中所有人脸图像分别进行特征提取,得到训练集人脸图像的特征向量,将训练集的所有人脸图像的特征向量排列形成特征矩阵,将特征矩阵中的一行或多行作为训练集的一个类别,一个类别对应训练集的一个人的多幅人脸图像;
2)对待识别人的人脸图像进行特征提取,得到待识别图像的特征向量;
3)将待识别人脸图像的特征向量用训练集人脸图像的特征向量线性表示,求出线性表示的系数;选择其中L1范数最小的系数作为线性表示的系数;
4)对于训练集的每一类别,根据步骤3)得到的系数计算对应于该类别的残差;
5)按照步骤4)求出训练集的每一类的对应残差,残差的最小值对应的训练集的类别作为待识别人的识别结果;
所述步骤1)或步骤2)中的进行特征提取,具体包括:
(a)对于给定的一幅人脸图像,通过人脸检测定位其人脸区域;定位两个眼球点,将图像尺度归一化,并进行旋转,使两眼呈水平状;
(b)选取人脸区域中的两个以上的关键特征点进行定位;
(c)对约束区域进行采样:根据所述关键特征点的位置选定眼睛、鼻尖和嘴巴区域;对这些约束区域进行均匀采样,得到人脸图像的纹理特征;
(d)将约束采样得到的人脸图像纹理特征排列成向量,并进行L2范数归一化,得到人脸图像的特征向量。
本发明的特点及效果
本发明根据人脸的关键特征点,划定眼睛、鼻尖、嘴巴区域,再通过约束采样提取出纹理特征。接着根据稀疏表示的理论进行识别的矩阵运算,满足了原算法对配准的要求,具有更高的人脸识别率。
具体实施方式
本发明提出的基于约束采样的稀疏表示人脸识别方法结合实施例详细说明如下:本实施例方法包括以下步骤:
1)对训练集中所有人脸图像分别进行特征提取,得到训练集人脸图像的特征向量,将训练集的所有人脸图像的特征向量排列形成特征矩阵A,将特征矩阵中的一行或多行作为训练集的一个类别,一个类别对应训练集的一个人的多幅人脸图像;
2)对待识别人的人脸图像进行特征提取,得到待识别图像的特征向量y;
3)将待识别图像的特征向量用训练集图像的特征向量线性表示,求出线性表示的系数;(由于这种表示具有多样性)选择其中L1范数最小的系数作为线性表示的系数;步骤1)-2)得到训练矩阵A,特征向量y,步骤3)就是求解如下线性方程:
Ax=y (9)
(由于通常情况下,训练矩阵A的行数小于列数,方程(9)为不定方程,有多个非零解,必须增加约束条件)定义x的L1范数||x||1为:
||x||1=|x1|+|x2|+...+|xn| (10)
其中xj(j=1,2,...,n)为向量x的一个分量,|xj|为xj的绝对值,n为向量x的维数。
根据公式(7),计算L1范数最小的系数作为线性表示的系数。
4)对于训练集的每一类别,根据3)得到的系数计算对应于该类别的残差;
对于每一类别i=1,…,k,提取出对应于该类的系数,与该类的特征向量线性组合,再与待识别的特征向量比较,分别按照(8)式计算其残差ri。
6)按照4)求出每一类对应的残差ri(i=1,…,k),残差的最小值对应的训练集的类别作为待识别人的识别结果;
上述步骤1)或步骤2)中的进行特征提取,具体包括:
a)对于储存在计算机的人脸图像,根据人脸检测定位其人脸区域;定位两眼球点,并将图像尺度归一化到360×480像素,使人脸位于图像中间,且下颌点到两眼中心连线的距离大约为200个像素(该尺度只作为举例说明,并不对图像大小进行约束),通过旋转,使双眼在同一水平线上;
b)定位双眼球、鼻尖、下巴四个关键特征点(四个点的选取只作为举例说明,实际应用中也可以选取两个以上的其他部位的关键点,随着关键点选取的不同,性能将有微小差别);
本实施例采用SUSAN算子提取边缘,并与方向积分投影方法结合,获得眼球、鼻尖、下巴四个关键特征点的位置;
c)对约束区域进行采样:根据所述关键特征点的位置选定眼睛、鼻尖和嘴巴区域;对这些约束区域进行均匀采样,得到人脸图像的纹理特征;
本实施例具体的做法是:
用LeftEye_x,LeftEye_y分别表示左眼球的横、纵坐标值;RightEye_x,RightEye_y分别表示右眼球的横、纵坐标值;NoseTip_x、NoseTip_y表示鼻尖的横、纵坐标值;Chin_x、Chin_y分别表示下颌点的横、纵坐标值。按照公式(1)-(6),取参数a1=0.3,a2=0,4,a3=0.3,a4=0.2,b1=0.35,b2=0,1,b3=0.3,c1=0.5,c2=0,2,c3=0.8,分别得到左眼区域ImgEyeLeft,右眼区域ImgEyeRight,鼻尖区域ImgNose以及EyeDistance嘴巴区域。
接着根据预设的采样间隔r=6(r≥1),对这四个区域进行固定点均匀采样,得到人脸图像的纹理特征(属于常规技术);
d)将约束采样得到的人脸图像纹理特征排列成向量,并进行L2范数归一化,得到人脸图像的特征向量;
向量x的L2范数||x||2定义为:
其中xj(j=1,2,...,n)为向量x的一个分量,n为向量x的维数。
基于约束采样的稀疏表示人脸识别方法在AR库以及中科院人脸表情库进行测试。AR库选取90个不同类别的人脸,其中每一类包含14张不同光照和表情的正面图像,实验中7张训练另外7张用来测试,所达到的识别率为:98.1%,(纹理特征维数为432);中科院人脸库选取202类不同人脸,其中每一类包含6张不同表情的正面图像,实验中任意选择4张训练,另外2张用来测试,所达到识别率为:98.51%(纹理特征维数768)。