b. 重庆大学 计算机学院, 重庆 400044
b. College of Computer & Science, Chongqing University, Chongqing 400044, China
随着人们对人脸识别技术研究的深入以及其应用领域的拓宽,人脸识别技术遇到了一个新的难题——单样本人脸识别。所谓的单样本人脸识别是指每人只存储一张已知身份的人脸图像作为训练样本用来识别具有姿态,光照等不可预测的人脸图像的身份[1]。在实际生活的应用中,往往只拥有一张已知身份的人脸图像(如身份证,护照上的照片),因此解决单样本识别的问题具有非常重要的意义并吸引了众多研究者的广泛关注[2-5]。单样本识别的研究最早可以追溯到20世纪70年代,Kanade[6]设计的系统在一个具有20个人每人2张图像(一张用来训练一张用来测试)的数据库上取得了最高75%的识别率。
1 相关工作由于多样本人脸识别技术在目前已经能取得令人满意的结果,于是受其启发,David等[7]提出了线性物体类(linear object classes)技术,通过一张图片合成物体不同姿态的视图,其核心思想是认为一个物体若干原型物体的加权和表示,如果对该物体进行线性变化,变化的物体同样可由原型物体线性变化的加权和表示。国内的温津伟等人[8]也通过线性物体类技术创建虚拟样本,进行单样本识别问题的研究。但是这种方法的缺点是这些通过线性变换拓展出来的样本和原图像高度相关,不是独立的样本[9]。近年,通过改进多样本识别的经典算法用来进行单样本识别的研究也越来越多,如Zhang等人[10]通过改进主成分分析提出的二维核主成分分析(two dimension kernel principal component analysis, 2DKPCA)用于单样本识别。Huang[11]等人通过将人脸划分为5个特征区域,对每个特征区域使用LDA算法,然后构建5个相对应的分类器,最后的分类结果由5个分类器共同决定。然而上述所有的算法都是基于灰度图像的处理的,缺乏对图像纹理信息的应用。对于单样本识别技术,算法所具有的训练样本就只有一个,而纹理信息是样本的重要特征之一,因此在识别加入纹理信息是具有显著意义的。
在纹理提取方面,Gabor[12]和局部二元模式(local binary patterns, LBP)[13-14]由于具有对光照影响不敏感的优点,近年来也吸引了大批研究者的参与并取得了较好的结果。但是,Gabor和LBP特征计算复杂且特征维数过高,给实际应用带来了一定的困难。相比之下,Zhang等人[15]提出的梯度脸方法,计算较为简单,速度较快,具有一定的优势。其核心思想是认为一张人脸图片I(x, y)可以用乘积的方式I(x, y)= R(x, y)L(x, y)表示,R(x, y)是人脸图像在每一点的放射率,而L(x, y)是人脸图像每一点的光照值。根据通用假设[16],在人脸图像中R的值比L的值改变小很多。于是通过在梯度空间计算人脸图像的梯度值,便可以提取近似与R(x, y)的特征。由于是在梯度空间进行特征提取,此方法对于噪声影响十分敏感。传统的降噪方法,如高斯滤波,滤波后图像会过于平滑,对基于像素空间的识别算法影响不是很大,但是对于基于梯度空间的识别算法影响十分显著,会使得其丢失部分边缘信息,与原图像的逼近变差。
基于上述问题,提出了基于B样条和梯度脸的单样本识别方法,该算法选择具有低通特性的B样条函数作为平滑函数。B样条函数具有阶数可调性,当阶数取值较大时,其平滑性能随之变好,能很好的抑制噪声。当阶数取值较小时,其逼近性能较好,更逼近原样本。
在人脸识别技术中,人脸图像的光照变化是影响算法识别准确率的一个重要因素。这一问题在近年来得到了学者们广泛的研究,具体可分为以下几类。第一种是使用图像处理技术将不同光照条件下的图像归一化,如直方图均衡化(histogram equalization)[16]等,然而在实际场景的情况下使用图像处理技术计算不同光照条件是十分困难的。第二种方法就是构建3D人脸模型解决光照变化[15],然而构建3D人脸模型需要大量的人脸训练图片。第三种方法就是从人脸图像中提取光照不变特征[17],但是这种方法对于有噪声干扰的图像的识别率很不稳定。基于上述问题,提出了基于B样条滤波和梯度脸的光照不敏感的单样本识别方法。
2 算法B样条函数是一种快速的,有效的,有意义的滤波函数,B样条函数不仅仅能有效的逼近高斯函数,而且具备很多高斯函数所不具备的优点[18]。Zhang等人[15]提出的梯度脸是一种提取鲁棒图像梯度方向的方法。该方法首先通过高斯低通滤波器对图像进行平滑,削弱光照突变的影响,然后通过光滑的高斯函数一阶导数与图像作卷积,求取图像X和Y方向的梯度分量,最后根据梯度方向的定义求取图像的光照变化不敏感特征——梯度脸。
2.1 B样条函数定义给定n+1个控制点P0, P1, …, Pn和一个节点向量U={u0, u1, …, um},p次B样条曲线由这些控制点和节点向量U定义
$ C\left( \mathit{\boldsymbol{u}} \right) = \sum\limits_{i = 0}^n {{N_{i, p}}\left( \mathit{\boldsymbol{u}} \right){P_i}}, $ | (1) |
其中Pi称为控制点或de Boor点。多边形可以通过把de Boor点用线连起来构造出来,从P0开始,到Pn结束,这样的多边形称为de Boor多边形。Ni, p(u)是p次B样条基函数,可以用Cox-de Boor递归公式定义
$ {N_{i, 0}}\left( \mathit{\boldsymbol{u}} \right) = \left\{ \begin{array}{l} 1, {\rm{if}}\;{u_i} \le \mathit{\boldsymbol{u}} \le {u_{i + 1}};\\ 0, {\rm{otherwise}} \end{array} \right.。$ | (2) |
$ \begin{array}{*{20}{c}} {{N_{i, p}}\left( \mathit{\boldsymbol{u}} \right) = \frac{{\mathit{\boldsymbol{u}} - {u_i}}}{{{u_{i + p}} - {u_i}}}{N_{i, p - 1}}\left( \mathit{\boldsymbol{u}} \right) + }\\ {\frac{{{u_{i + p + 1}} - \mathit{\boldsymbol{u}}}}{{{u_{i + p + 1}} - {u_{i + 1}}}}{N_{i + p, p - 1}}\left( \mathit{\boldsymbol{u}} \right)。} \end{array} $ | (3) |
上述公式通常称为Cox-de Boor递归公式。当节点等距,称B样条为均匀(uniform)否则为非均匀(non-uniform)。
B样条函数无论在表达式还是图形上都与高斯函数十分相似,事实上B样条函数阶数越高越逼近高斯函数。因此B样条继承了高斯函数的性质:归一性,光滑性,非负性等等。除了继承了高斯函数的性质之外,B样条函数还拥有高斯函数所不具有的性质:局部性,几何不变性,分段多项式等。
局部性:因为Ni, p只在区间[ui, ui+p+1)中为正,在其他地方均取零值,使得p阶B样条曲线在某点处的形状至于相关的p个控制点有关,而与其他控制点无光。当移动B样条曲线的某一个控制点Pi时,只对其中一部分曲线产生局部影响,并不对曲线其他地方产生影响。
几何不变性:B样条曲线的形状和位置与坐标系的选取无关。
分段多项式:从B样条函数的0、1、2、3阶公式容易看出,B样条函数是由分段函数组成的,其每一段函数均为一个多项式。对于n阶连续B样条函数,它有n+1段连续的多项式组成,并且每一段多项式的次数都为n,相邻段之间用结点连接,n次B样条函数由n个结点连接。
2.2 梯度脸方法求取梯度脸的具体步骤如下。
步骤1通过高斯滤波器平滑图像
$ F = F \cdot G\left( {x, y, \mathit{ó }} \right); $ | (4) |
$ G\left( {x, y, \mathit{ó }} \right) = \frac{1}{{2 {\rm{ \mathsf{ π} }} {\mathit{ó }^2}}}\exp \left( {-\frac{{x2 + y2}}{{2\mathit{ó }2}}} \right), $ | (5) |
其中,F表示原始人脸图像,F′表示图像F的平滑图像,·是卷积算子,σ为高斯滤波器的标准差(σ∈[0.1, 0.6])。
步骤2通过高斯函数的一阶导数与图像作卷积运算,求取图像X方向和Y方向的梯度分量
$ {F_x} = F \cdot {G_x}\left( {x, y, \mathit{ó }} \right); $ | (6) |
$ {F_y} = F \cdot {G_y}\left( {x, y, \mathit{ó }} \right), $ | (7) |
其中,Gx(x, y, σ)和Gy(x, y, σ)分别表示高斯函数X、Y方向的一阶导数,Fx和Fy分别表示图像X和Y方向的梯度分量。
步骤3计算人脸图像的梯度脸
$ \mathit{\boldsymbol{G}} = \arctan \left( {\frac{{{F_y}}}{{{F_x}}}} \right)\left[{0, 2{\rm{ \mathsf{ π} }}} \right)。$ | (8) |
人脸识别的性能常常受到光照,表情,姿态等因素的影响,而且在实际应用中图像经常含有噪声。单张样本识别则面临更大的困难,因此在只有一个训练样本的情况下,应尽量多的提取样本特征。梯度脸具有不敏感于光照且能提取人脸图片纹理信息,但在梯度空间下的算法敏感于噪声,因此提出了基于梯度脸和B样条滤波的单样本识别算法。B样条函数可以在去除噪声的情况下更好的逼近原图像,由于B样条函数具有阶数可调性,因此,可以根据图像的信噪比选择B样条函数的阶数。B样条函数阶数越低,则越逼近原图像,B样条函数阶数越高,则图像越平滑。算法流程图如图 1所示
算法首先对人脸图像进行预处理等,如归一化,然后对预处理后的图像进行B样条滤波,接着对滤波后的图像计算梯度脸,最后通过计算梯度脸图像之间的距离进行分类。
2.3.1 B样条滤波通过分析得知B样条滤波具有阶数可调性,能够在有噪声的情况下很好的逼近原图像。特别是在梯度空间下,如果使用传统的滤波算法,如高斯滤波,使用单一的尺度对整个图像滤波,这样会在消除噪声的同时,使图像过于平滑,对接下来在梯度空间的计算影响非常大。
定义I表示经过预处理后的图像矩阵,用Bmn表示尺度为m的n阶离散B样条函数,I(n)表示经过n阶B样条滤波后的图像。则B样条滤波公式为
$ \mathit{\boldsymbol{I}}\left( n \right) = \mathit{\boldsymbol{I}} \otimes B_m^n, $ | (9) |
其中⊗为卷积算子。
2.3.2 梯度脸计算梯度脸算法的核心思想是认为一张人脸图片I(x, y)可以用乘积的方式I(x, y)=R(x, y)L(x, y)表示,R(x, y)是人脸图像在每一点的放射率,而L(x, y)是人脸图像每一点的光照值。根据通用假设,在人脸图像中R的值比L的值改变小很多。于是通过在梯度空间计算人脸图像的梯度值,便可以提取近似与R(x, y)的特征。图 2中展示了不同光照条件下计算出来的梯度脸。
定义I(n)代表经过n次B样条滤波后的图像,G为梯度脸,则梯度脸的计算公式为
$ \mathit{\boldsymbol{G}} = \arctan \left( {\frac{{\mathit{\boldsymbol{I}}{{\left( n \right)}_{y - {\rm{gradient}}}}}}{{\mathit{\boldsymbol{I}}{{\left( n \right)}_{x - {\rm{gradient}}}}}}} \right), \mathit{\boldsymbol{G}} \in \left[{0, 2{\rm{ \mathsf{ π} }}} \right), $ | (10) |
其中I(n)x-gradient,I(n)y-gradient分别代表图像I(n)在x,y方向上的梯度。
2.3.3 匹配由于计算出来的结果为梯度脸,所以采用Zhang等人[15]所定义的匹配方法。通过计算2个梯度脸G1,G2之间梯度向量的距离d(G1, G2),来判断2张图像的相似性。d(G1, G2)定义如下
$ d\left( {{\mathit{\boldsymbol{G}}_1}, {\mathit{\boldsymbol{G}}_2}} \right) = \sum\nolimits_{i = 1}^n {\min \left( {\left| {{g_{1i}} - {g_{2i}}} \right|, 2{\rm{ \mathsf{ π} }} - \left| {{g_{1i}} - {g_{2i}}} \right|} \right)}, $ | (11) |
其中G1=(g11, g12, …g1n),G2=(g21, g22, …g2n)指的是梯度脸向量,n代表的是向量的维度。毫无疑问,当d(G1, G2)的值越小时,2张图片相似性越高。
3 实验结果实验在公开的标准数据库上进行的:Yale数据库,ORL数据库,FERET数据库以及JAFFE数据库。由于这些数据库都是标准数据库,基本无噪声,于是本文在这些数据库中加入了高斯噪声,均值为0,方差为0.05。
3.1 B样条滤波在各数据库下的识别率将上述4种数据库中的每一个人的一张人脸图像用来进行训练,然后将此人所有剩下的人脸图像用来测试。为了评估B样条滤波后使用哪个梯度脸进行单样本识别的效果,在3种情况下进行了实验,最终得出结果如表 1
1) 在Yale数据库上的实验效果
Yale数据库包含了10个人的5 850幅多姿态, 多光照的图像.其中的姿态和光照变化的图像都是在严格控制的条件下采集的, 主要用于光照和姿态问题的建模与分析。本文实验选每人取1张照片共10张作为训练样本,剩下的作为测试样本。
由表 1可以看出提出的算法比不滤波的情况下提高了15%,比使用高斯滤波的情况下提高了近5%。
2) 在ORL数据库上的实验效果
ORL数据库由剑桥大学AT & T实验室创建, 包含40人共400张面部图像,部分志愿者的图像包括了姿态,表情和面部饰物的变化。本文实验选取了每人1张共40张人脸图像作为样本,剩下360张作为训练样本。
由表 1可以看出提出的算法比不滤波的情况下提高了7%,比使用高斯滤波的情况下提高了近3%。但是三种方法的识别效果都不太理想,这和此数据库人脸变化较多相关,单样本识别在此数据库识别率降低较大。
3) 在FERET数据库上的实验效果
FERET数据库由FERET项目创建, 包含14 051张多姿态, 光照的灰度人脸图像, 是人脸识别领域应用最广泛的人脸数据库之一。其中的多数人是西方人, 每个人所包含的人脸图像的变化比较单一。
由表 1可以看出提出的算法比不滤波的情况下提高了12%,比使用高斯滤波的情况下提高了近5%。
4) 在JAFFE数据库上的实验效果
JAFFE是日本女性脸部表情数据库,一共包含10各人213张人脸图像,由表情变换教丰富。
由表 1可以看出提出的算法比不滤波的情况下提高了11%,比使用高斯滤波的情况下提高了近5%。3种算法的整体识别率都有待提高,和数据库中人脸表情较丰富相关。
3.2 不同阶数的情况下B样条滤波的实验效果由于B样条函数具有阶数可调性,当阶数取值较大时,其平滑性能随之变好,能很好的抑制噪声。当阶数取值较小时,其逼近性能较好,更逼近原样本。因此通过控制测试样本噪声,测试在不同噪声情况下的不同阶数的B样条函数在各个数据库下的识别效果。
对图像添加高斯噪声时可以通过控制高斯噪声的方差来设定噪声的大小。本实验将高斯噪声的方差设置为0.01到0.14,然后测试不同噪声条件下不同阶数的B样条滤波的实验效果。
1) Yale数据库下实验效果
本实验在Yale数据库下进行测试,所得的测试结果如图 3所示
上图中可以看出一阶B样条的识别率随着高斯噪声的增大逐步下降,而三阶B样条的识别率随着高斯噪声的增大逐步上升,识别率在80%左右。
2) ORL数据库下实验效果
本实验在ORL数据库下进行测试,所得的测试结果如图 4所示
上图中可以看出一阶B样条的识别率随着高斯噪声的增大逐步下降,而三阶B样条的识别率随着高斯噪声的增大逐步上升,识别率在80%左右。
3) Feret数据库下实验效果
本实验在Feret数据库下进行测试,所得的测试结果如图 5所示
上图中可以看出一阶B样条的识别率随着高斯噪声的增大逐步下降,而三阶B样条的识别率随着高斯噪声的增大逐步上升,识别率在80%左右。
4) JAFFE数据库下的实验效果
本实验在JAFFE数据库下进行测试,所得的测试结果如图 6所示
上图中可以看出一阶B样条的识别率随着高斯噪声的增大逐步下降,而三阶B样条的识别率随着高斯噪声的增大逐步上升,识别率在50%左右。
4 结论提出了基于B样条滤波和梯度脸的单样本识别方法。考虑了B样条滤波的可调节性以及包含纹理信息等特征,选择使用B样条滤波,避免了使用传统滤波导致的图像过度平滑的问题。然后将滤波后的图像基于梯度脸算法进行单样本识别,取得了不错的效果。
[1] | Tan X Y, Chen S C, Zhou Z H, et al. Face recognition from a single image per person:A survey[J]. Pattern Recognition, 2006, 39(9): 1725–1745. DOI:10.1016/j.patcog.2006.03.013 |
[2] | Lu J W, Tan Y P, Wang G. Discriminative multimanifold analysis for face recognition from a single training sample per person[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(1): 39–51. DOI:10.1109/TPAMI.2012.70 |
[3] | Liu N, Lai J H, Zheng W S. A facial sparse descriptor for single image based face recognition[J]. Neurocomputing, 2012, 93: 77–87. DOI:10.1016/j.neucom.2012.03.015 |
[4] | Zeng X, Huang H. Super-resolution method for multiview face recognition from a single image per person using nonlinear mappings on coherent features[J]. IEEE Signal Processing Letters, 2012, 19(4): 195–198. DOI:10.1109/LSP.2012.2186961 |
[5] | Kuo C H, Lee J D. Face recognition based on a two-view projective transformation using one sample per subject[J]. IET Computer Vision, 2012, 6(5): 489–498. DOI:10.1049/iet-cvi.2011.0248 |
[6] | Kande T. Picture processing system by computer and recognition of human faces[D]. Japan:Kyoto University, 1973. |
[7] | Beymer D, Poggio T. Face recognition from one example view[C]//Proceedings of Fifth IEEE International Conference on Computer Vision, June 20-23, 1995, Cambridge, MA.Piscataway:IEEE Press, 1995:500-507. http://dl.acm.org/citation.cfm?id=889108 |
[8] |
温津伟, 罗四维, 赵嘉莉, 等.
通过创建虚拟样本的小样本人脸识别统计学习方法[J]. 计算机研究与发展, 2002, 39(7): 814–818.
WEN Jinwei, LUO Siwei, ZHAO Jiali, et al. A small sample face recognition statistical learning method based on virtual samples[J]. Journal of Computer Research and Development, 2002, 39(7): 814–818. (in Chinese) |
[9] | Martinez A M. Recognizing imprecisely localized, partially occluded, and expression variant faces from a single simple per class[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(6): 748–763. DOI:10.1109/TPAMI.2002.1008382 |
[10] | Zhang D Q, Chen S C, Zhou Z H. Two-dimensional non-negative matrix factorization for face representation and recognition[J]. Analysis and Modeling of Faces and Gestures, 2005, 3723: 350–363. |
[11] | Huang J, Yuen P C, Chen W S, et al. Component-based LDA method for face recognition with one training sample[C]//Proceedings of IEEE International Workshop on Analysis and Modeling of Faces and Gestures, October 17, 2003, Nice, France. Piscataway:IEEE, 2003, 120-126. http://dl.acm.org/citation.cfm?id=946268 |
[12] | Liu C J, Wechsler H. A gabor feature classifier for face recognition[C]//Proceedings of Eighth IEEE International Conference on Computer Vision, July 7-14, 2001, Vancouver, Canada. Piscataway:IEEE, 2001, 2:270-275. http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=937635 |
[13] | Ojala T, Pietikainen M, Maenpaa T. Multi-resolution gray-scale and rotation invariant texture classification with local binary patterns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7): 971–987. DOI:10.1109/TPAMI.2002.1017623 |
[14] | Huang D, Shan C F, Ardabilian M. Local binary patterns and its application to facial image analysis:A survey[J]. IEEE Transactions on Systems Man and Cybernetics Part C:Applications and Reviews, 2011, 41(6): 765–781. DOI:10.1109/TSMCC.2011.2118750 |
[15] | Zhang T, Tang Y Y, Fang B, et al. Face recognition under varying illumination using gradientfaces[J]. IEEE Transacyions on Image Processing, 2009, 18(11): 2599–2606. DOI:10.1109/TIP.2009.2028255 |
[16] | Liu C, Wechsler H. Gabor feature based classification using the enhanced fisher linear discriminant model for face recognition[J]. IEEE Transactions on Image Process, 2002, 11(4): 467–476. DOI:10.1109/TIP.2002.999679 |
[17] | Stockham T G. Image processing in the context of a visual model[J]. IEEE, 1972, 60(7): 828–842. DOI:10.1109/PROC.1972.8782 |
[18] | Uuser M, Aldroubi A, Eden M. The polynomial spline pyramid[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1993, 15(4): 364–378. DOI:10.1109/34.206956 |