2. 中国科学院 沈阳计算技术研究所, 沈阳 110168
2. Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China
人脸识别是指通过分析比较人脸视觉特征信息进行身份鉴别的计算机技术. 它是一种重要的生物特征识别技术, 具有安全、交互自然等特点, 吸引了学术界与工业界广泛的关注. 目前人脸识别的主要算法大致可以分为两类: 基于几何模型的方法和基于统计模型的方法. 本文讨论的MSF-VQ方法是基于统计模型的方法之一.
基于统计模型的方法中最关键的步骤是提取人脸中比较具有个体差异性的特征. 向量量化(Vector Quantization, VQ)直方图被验证是一种有效的人脸特征[1], 但是向量量化直方图存在一个明显的缺点是无法反映人脸图像中的空间位置信息. MSF-VQ特征通过马尔科夫稳态特征(Markov stationary feature, MSF)对VQ方法进行了改进[2], 使得提取的特征中能够反映人脸图像中的空间位置信息并有效地提高了人脸识别准确率. 但是MSF-VQ特征仍然存在一些不足之处, 比如无法很好的反映人脸的局部特征, 码书确定不够合理, 反映的图像空间位置信息有限等. 针对局部特征反映不足的缺点, SR-MSF-VQ方法对其进行了改进[3]. 而本文提出的方法则主要对其码书不合理、空间位置信息不足的缺点进行了改进.
本文的主要内容安排如下: 第2节对MSF-VQ特征提取方法进行介绍; 第3节介绍提出的对MSF-VQ特征提取的改进方法; 第4节通过实验对改进前和改进后的方法进行对比; 第5节得出结论.
2 MSF-VQ特征提取方法 2.1 向量量化直方图向量量化是一种图像压缩编码技术, 利用这种方法可以提取到图像的向量量化直方图作为人脸识别的特征. 向量量化直方图特征提取过程[1]如下:
(1) 使用滑动平均滤波器对人脸(灰度)图像进行低通滤波预处理. 消除图像中的高频噪声, 保留对人脸识别更有用的低频成分信息.
(2) 将经过预处理后的图像使用滑动窗口的方式按照15/16的重叠率分成4×4大小的像素块, 假定原图像的大小为m×n, 则得到(m–3)×(n–3)个分块. 然后将每个像素块中的每个像素的灰度值减去该像素块中灰度最小的像素的灰度值作为本像素新的灰度值.
(3) 将像素块转换为向量, 与事先确定的码书(codebook)中的各向量分别计算曼哈顿距离, 将距离最小的码书向量作为该向量块的匹配向量. 这里的码书是一个包含33个16维矢量的集合, 其中32个矢量代表的是在8个方向上4种不同大小的灰度梯度变化的像素块, 另外1个反映的是无梯度变化的像素块.
(4) 经过前述步骤的处理, 所有的像素块都被量化到了33个组别(向量)上. 统计各组别像素块的数量, 得到向量量化直方图.
2.2 马尔科夫稳态特征MSF可以提高直方图对图像的区分能力. 直方图分析被广泛的应用在图像分析处理领域, 根据直方图分析方法对图像的区别能力由弱至强分为I级~IV级4个等级[4]. 传统的直方图例如颜色直方图因为不包含任何的空间位置信息, 其分辨能力只能达到Ⅰ级, 而MSF理论上可以达到Ⅲ级的区别能力.
MSF特征的提取过程[4]如下. 首先计算图片的空间共生矩阵[5]C=(cij)K×K, 图1展示了空间共生矩阵的计算过程. 空间共生矩阵中的每个元素计算方式如下:
${{{c}}_{{{ij}}}} = {\rm{\# }}({p_1} = {c_i},{p_2} = {c_j}|\left| {{p_1} - {p_2}} \right| = d)/2$ | (1) |
其中, pk表示图片中的任一像素, ck表示直方图中的第k组, d表示像素p1与p2之间的切比雪夫距离, #运算表示满足某一条件的情况的数量, 公式最后的除以2运算是为了避免叠加计算.
求得空间共生矩阵C=(cij)K×K后, 再通过以下公式计算马尔科夫转移矩阵P=(pij)K×K:
${p_{ij}} = \frac{{{c_{ij}}}}{{\sum\nolimits_{j = 1}^{{K}} {{c_{ij}}} }}$ | (2) |
继而可以计算出初始分布π(0)和平稳分布π:
$\pi (0) = \frac{{{c_{ii}}}}{{\sum\nolimits_{i = 1}^K {{{\rm{c}}_{ii}}} }}$ | (3) |
$A = \mathop {{\rm{lim}}}\limits_{n \to \infty } {\rm{ }}{A_n} = \frac{{I + P + \cdots + {P^n}}}{{n + 1}}$ | (4) |
$\pi = \frac{1}{{ K}}\sum\limits_{i = 1}^{ K} {{{\vec a}_i}} $ | (5) |
其中, ai是A的行向量, 实际计算中可根据需求指定n的值求得π的近似值.
至此, 就得到了MSF特征:
$\overrightarrow {{\rm{MSF}}} = {[\pi (0),\pi ]^ {\rm T}}$ | (6) |
2.3 MSF-VQ特征
MSF-VQ方法则是在VQ直方图的基础上使用MSF特征进行扩展, 从而在特征中包含空间位置信息. MSF-VQ特征提取算法的具体步骤如下:
(1) 同VQ方法中的(1)、(2)、(3);
(2) 将各像素块的组别按照像素块的相对位置进行排列重新组成一个(m–3)×(n–3)图片(矩阵);
(3) 给定距离d, 求得上述(m–3)×(n–3)矩阵的空间共生矩阵, 然后按照MSF特征提取方法的步骤计算得出MSF特征, 即为原图像的MSF-VQ特征.
文献[2]进行了对比实验, 结果表明MSF-VQ特征比VQ特征在人脸识别中表现出更高的识别率.
3 改进的MSF-VQ特征提取方法 3.1 根据数据集确定码书MSF-VQ特征提取中向量量化所使用的码书是预先指定的. 这种方法的缺点是, 对任何人脸数据集都使用同样的码书, 不能保证在各种人脸数据集上都有理想的识别准确率. 本文对此提出的改进方法是根据数据集计算得到码书. 具体步骤如下:
(1) 同VQ算法中的(1)、(2).
(2) 将所得的像素块转换为向量, 向量可以看作是高维空间中的点, 初始状态下, 每个点都属于一个单独的集合, 如果有重合的点, 则将重合的点所在的各个集合合并成一个新的集合. 并计算集合的重心, 重心计算公式如下:
$\vec C = \frac{1}{n}\sum\limits_{i = 1}^n {{{\vec p}_i}} $ | (7) |
其中, n表示集合中点的数量, pi表示集合中的第i个点.
(3) 选取包含点数量最少的一个集合(如果存在多个集合可选取重心坐标较小的一个), 找到距离该集合的距离(两集合重心的距离)最小的K个集合, 分别计算区分度变化, 与该集合区分度变化值最大的集合合并, 并重新计算新集合的重心. 区分度变化计算公式如下:
$R = {\displaystyle{{\sum\nolimits_{i = 1}^m {{{({a_i} + {b_i} - \overline {a + b} )}^2}} } \over {\sum\nolimits_{i = 1}^m {{{({a_i} - \bar a)}^2}} }}} + {\displaystyle{{\sum\nolimits_{i = 1}^m {{{({a_i} + {b_i} - \overline {a + b} )}^2}} } \over {\sum\nolimits_{i = 1}^m {{{({{{b}}_i} - {{\bar b}})}^2}} }}}$ | (8) |
其中, m表示数据集中不同人脸的数量, ai表示第一个集合中采集自第i个人的人脸的点的个数, bi表示第二个集合中采集自第i个人的人脸的点的个数.
(4) 重复步骤(3)直到集合个数减少到M个.
(5) 计算所有点到各集合重心的距离, 并将点归到距离它最近的重心所在的集合中, 从而完成所有集合的重新划分.
(6) 重新计算各集合的重心, 并按照步骤(5)的方法重新计算一个集合划分预方案.
(7) 计算对应集合在预方案与旧方案间的区分度变化, 如果变化值小于1, 则新方案中的重心与旧方案的重心相同; 如果变化值大于p0, 则新方案中的重心与预方案的重心相同; 如果变化值在1到p0之间, 则新方案中的重心有p概率与预方案相同. 区分度变化与p计算公式如下:
$R = {\displaystyle{{\sum\nolimits_{i = 1}^m {{{({b_i} - \bar b)}^2}} } \over {\sum\nolimits_{i = 1}^m {{{({a_i} - \bar a)}^2}} }}}$ | (9) |
$p = {\displaystyle{{R - 1} \over {{p_0} - 1}}}$ | (10) |
其中, m表示数据集中不同人脸的数量, ai表示旧方案集合中采集自第i个人的人脸的点的个数, bi表示预方案集合中采集自第i个人的人脸的点的个数.
(8) 重复步骤(5)、(6)、(7), 直到集合重心n次未改变.
改进算法借鉴了层次聚类[6]和LBG算法[7]的思想, 对不同的人脸数据集计算得到一个对应的码书方案, 计算过程中尽量使每个码书向量附近分布的各人脸数据点的数量有较大差别, 从而使提取到的各人脸VQ直方图特征能够有较大差别. 最终使提取的VQ直方图特征具有更强的区分能力.
需要指出的是, 算法中有3个参数可根据实际需求进行调整, 分别是可选合并集合数K, 区分度变化上限值p0和预期VQ直方图组别数M. K值过小可能会使区分度下降, K值过大则可能使集合中各点分布过于分散, 使得在步骤(5)后区分度发生较大变化. p0的选取则会影响最后一步的收敛速度. M值则影响到VQ特征的维数. 应该注意的是M并不是VQ特征的维数, 实验中发现, 最终生成的点集中往往会有一些空集, 这些空集应该被剔除.
3.2 结合多个方向采样的MSF特征MSF可以将空间位置信息附加到直方图特征中, 但是MSF算法是在所有方向上取样然后求和统计空间位置信息, 求和计算会丢失大量的空间位置信息, 这样可以反映的空间位置信息就比较有限. 例如图2的两张图片, 就不可以通过MSF区别开来. 本文提出的改进方法是分别在各个方向上取样计算共生矩阵和MSF特征然后加权结合. 最终得到形如下式的特征向量:
${[\alpha {\pi _1}(0),\alpha {\pi _1},\beta {\pi _2}(0),\beta {\pi _2}, \cdots ]^{\rm T}}$ | (11) |
通过改进的MSF特征可以区分图2中的两张图片.
4 实验分析
实验使用ORL人脸数据库, ORL人脸数据库包括40个人, 每个人10张, 共400张的pgm格式的人脸灰度图片. 这40个人来自不同年龄、性别和种族, 同一个人的人脸也有不同的尺寸、角度和表情. 图片尺寸均为92×112.
实验用10折交叉验证的方式. 对比分别使用4种特征的人脸识别算法在不同核大小的低通滤波处理后的人脸识别准确率. 四种特征分别是原始的MSF-VQ特征, 只改进码书计算方法提取的MSF-VQ特征(改进特征1), 只结合多方向采样的MSF-VQ特征(改进特征2)和两处均改进的MSF-VQ方法. 获取到人脸特征后使用支持向量机对特征进行训练, 得到分类模型, 并在测试集上进行人脸识别测试.
使用改进的码书计算方法计算码书, 所使用的参数分别为K=3, p0=1.3, M=45. 最终计算得到包含30个向量的码书如图3所示. 图中码书向量梯度方向大致相同的被放在同一列, 并按照梯度由大到小自下而上进行排列. 因为实际计算得到的灰度值相差较小, 为了可以明显看出灰度的变化, 图中所示的码书灰度值为实际计算所得码书灰度值的五倍. 与文献[1]中的码书相比, 可以看出向量所代表的灰度梯度变化的大小和方向有较大的不同.
在改进的MSF特征向量计算中取d=1, n=10, 在0°(水平向右)和270°(垂直向下)两个方向上分别采样计算MSF特征并结合得到MSFP特征, 由于文献[2]中实验结果验证了在ORL数据库中取样的方向并不会对MSF-VQ方法在人脸识别中的效果产生较大影响. 因此设置两个方向上分量的权重均为1.
图4展示4种方法在不同核大小的低通滤波处理后的人脸识别准确率. 从图表可以看出, 各方法均在滤波核为13×13的处理下达到最高的识别准确率. 改进的MSF-VQ(方法3)识别准确率达到97.25%, 明显高于原始的MSF-VQ方法. 整体来看3种有所改进的MSF-VQ方法都比原始的MSF-VQ方法在识别准确率上有所提高. 对比方法1与方法2可以看出, 方法1的识别准确率整体高于方法2. 这说明码书计算方法的改进比结合多方向采样的MSF的改进对原始算法识别准确率的提升作用更大. 另外, 由于改进的码书计算方法不能灵活的确定最终码书中的向量数量, 因此本实验中使用了改进的码书计算方法的方法1和方法3所使用的码书只有30个向量, 比原始的MSF-VQ特征提取方法所用的码书少3个向量, 即向量量化直方图特征少3维. 但是识别正确率却更高, 这说明改进的码书计算方法计算得到的码书具有更高的区分能力.
5 结论与展望本文提出的改进的MSF-VQ人脸特征提取方法与原来的MSF-VQ特征提取方法相比, 一方面, 根据特定的人脸数据集计算适合的码书, 另一方面, 在特征中加入更多的空间位置信息, 增强了直方图特征的表示能力. 通过实验, 对比了两处改进对人脸识别率的作用, 验证了改进的MSF-VQ方法具有比原始的MSF-VQ方法更高的人脸识别率. 文献[3]也对MSF-VQ方法进行了改进, 取得了较好的识别率, 但着眼点与本文不同. 如果结合两种改进, 识别正确率可能会进一步提高.
[1] |
Kotani K, Qiu C, Ohmi T. Face recognition using vector quantization histogram method. Proceedings of International Conference on Image Processing. Rochester, NY, USA. 2002, 2. II-105–II-108.
|
[2] |
Yan Y, Chen Q, Lee F. Face recognition using extended vector quantization histogram features. Proceedings of IEEE International Conference on Signal and Image Processing. Beijing, China. 2016. 90–95.
|
[3] |
Yan Y. Improved Face recognition algorithm using extended vector quantization histogram features. Proceedings of 2016 IEEE International Conference on Signal Processing. Beijing, China. 2016. 1046–1050.
|
[4] |
Li JG, Wu WX, Wang T, et al. One step beyond histograms: Image representation using Markov stationary features. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Anchorage, AK, USA. 2008. 1–8.
|
[5] |
Haralick RM, Shanmugam K, Dinstein IK. Textural features for image classification. IEEE Transactions on Systems, Man, and Cybernetics, 1973, SMC-3(6): 610-621. DOI:10.1109/TSMC.1973.4309314 |
[6] |
段明秀. 层次聚类算法的研究及应用[硕士学位论文]. 长沙: 中南大学, 2009.
|
[7] |
Huang B, Xie LB. An improved LBG algorithm for image vector quantization. Proceedings of the 3rd IEEE International Conference on Computer Science and Information Technology. Chengdu, China. 2010. 467–471.
|