基于PSO-CG优化深度信念网络的人脸表情识别

孙雪华 潘晓英

引用本文:
Citation:

基于PSO-CG优化深度信念网络的人脸表情识别

    通讯作者: 孙雪华, sxh_125@163.com
  • 中图分类号: TP 391.4

Facial expression recognition using PSO and CG on optimizing the DBN parameters

    Corresponding author: SUN Xue-hua, sxh_125@163.com ;
  • CLC number: TP 391.4

  • 摘要: 深度信念网络(Deep Belief Network,DBN)在人脸表情识别领域表现出较好的性能,但其在有监督学习阶段通常采用反向传播微调网络的初始参数空间,容易陷入局部最优值,不能找到网络的最优参数空间. 提出一种粒子群算法(PSO)和共轭梯度(CG)融合进行优化DBN将其用于人脸表情识别. 首先,通过虚拟样本扩充训练样本数据集的方式构建了人脸表情数据集. 然后,使用PSO寻找全局最优点. 但是DBN的参数维度高,单独使用PSO优化网络参数空间,容易出现局部最优、收敛速度慢等问题. 最后,PSO与CG相融可以加强搜索精度和加快收敛速度,获取更优模型参数. 仿真结果表明,我们提出的方法在JAFFE和CK+这2个常用人脸表情数据库识别率分别为94.52%和97.84%.
  • 图 1  深度信念网络结构图

    Figure 1.  Structure map of deep belief network

    图 2  PSO-CG-DBN结构图

    Figure 2.  Structure map of PSO-CG-DBN

    图 3  JAFFE人脸表情数据库

    Figure 3.  Examples of facial expression images from the JAFFE database

    图 4  PSO-CG-DBN和PSO-DBN在JAFFE数据库的收敛曲线对比

    Figure 4.  Comparision of convergence curves between PSO-CG-DBN and PSO-DBN on JAFFT database

    图 5  CK+人脸表情数据库

    Figure 5.  CK+ facial expression database

    图 6  PSO-CG-DBN与PSO-DBN在CK+数据库上的收敛曲线比较

    Figure 6.  Comparision of convergence curves between PSO-CG-DBN and PSO-DBN on CK+ database

    表 1  JAFFE数据库数据集分布

    Table 1.  Data set distribution on JAFFE database

    表情分类
    和标签
    训练样本总训练样本
    数目(420)
    测试样本
    数目(73)
    原始样本虚拟样本
    生气20406010
    厌恶204060 9
    害怕20406012
    高兴20406011
    中性20406010
    伤心20406011
    惊讶20406010
    下载: 导出CSV

    表 2  不同算法在虚拟JAFFE数据库的识别率

    Table 2.  Recognition rates for different algorithm in virtual JAFFF database

    算法识别率%
    MSR79.45
    LBP87.67
    DBN89.04
    BDBN90.41
    LDBN93.15
    PSO-CG-DBN94.52
    下载: 导出CSV

    表 3  DBN在虚拟JAFFE数据库的混合矩阵

    Table 3.  Confusion matrix (%) based on DBN on the virtual JAFFE database

    表情生气厌恶害怕高兴中性伤心惊讶
    生气90.0008.330000
    厌恶088.890010.009.090
    害怕011.1183.330000
    高兴000100000
    中性10.0008.33080.009.090
    伤心000010.0081.820
    惊讶000000100
    下载: 导出CSV

    表 4  PSO-CG-DBN在虚拟JAFFE数据库的混合矩阵

    Table 4.  Confusion matrix (%) based on PSO-CG-DBN on the virtual JAFFE database

    表情生气厌恶害怕高兴中性伤心惊讶
    生气90.00000000
    厌恶01000010.0000
    害怕0091.67009.090
    高兴000100000
    中性10.0000090.009.090
    伤心0000081.820
    惊讶008.33000100
    下载: 导出CSV

    表 5  CK+数据库数据集分布

    Table 5.  Data set distribution on CK+ database

    表情分类
    和标签
    训练样本总训练样本
    数目(2 502)
    测试样本
    数目(417)
    原始样本虚拟样本
    生气 90180270 45
    厌恶118236354 59
    害怕 50100150 25
    高兴138276414 69
    中性218436654109
    伤心 56112168 28
    惊讶164328492 82
    下载: 导出CSV

    表 6  不同算法在虚拟CK+数据库的识别率

    Table 6.  Recognition rates for different algorithm in virtual CK+ database

    算法识别率%
    MSR92.33
    LBP93.52
    DBN96.64
    BDBN95.68
    LDBN96.16
    PSO-CG-DBN97.84
    下载: 导出CSV

    表 7  DBN在虚拟CK+数据库中的混合矩阵

    Table 7.  Confusion matrix (%) based on DBN on the virtual CK+ database

    表情生气厌恶害怕高兴中性伤心惊讶
    生气95.56000000
    厌恶094.9200000
    害怕2.22096.0002.7500
    高兴000100000
    中性2.223.394.00093.573.570
    伤心00002.7596.430
    惊讶01.690000100
    下载: 导出CSV

    表 8  PSO-CG-DBN在虚拟CK+数据库的混合矩阵

    Table 8.  Confusion matrix (%) based on PSO-CG-DBN on the virtual CK+ database

    表情生气厌恶害怕高兴中性伤心惊讶
    生气97.78000000
    厌恶096.6100000
    害怕0010002.7500
    高兴000100000
    中性2.221.690095.413.570
    伤心00001.8396.430
    惊讶01.690000100
    下载: 导出CSV
  • [1] Kotsia I, Pitas I. Facial expression recognition in image sequences using geometric deformation features and support vector machines[J]. IEEE transactions on Image Processing, 2006, 16(1): 172-187.
    [2] Calder A J, Young A W. Understanding the recognition of facial identity and facial expression[J]. Nature Reviews Neuroscience, 2005, 6(8): 641-651. DOI:  10.1038/nrn1724.
    [3] Sprengelmeyer R, Young A W, Mahn K, et al. Facial expression recognition in people with medicated and unmedicated Parkinson’s disease[J]. Neuropsychologia, 2003, 41(8): 1 047-1 057. DOI:  10.1016/S0028-3932(02)00295-6.
    [4] Kim B K, Roh J, Dong S Y, et al. Hierarchical committee of deep convolutional neural networks for robust facial expression recognition[J]. Journal on Multimodal User Interfaces, 2016, 10(2): 173-189. DOI:  10.1007/s12193-015-0209-0.
    [5] Wood A, Rychlowska M, Korb S, et al. Fashioning the face: sensorimotor simulation contributes to facial expression recognition[J]. Trends in Cognitive Sciences, 2016, 20(3): 227-240. DOI:  10.1016/j.tics.2015.12.010.
    [6] Gu W, Xiang C, Venkatesh Y V, et al. Facial expression recognition using radial encoding of local Gabor features and classifier synthesis[J]. Pattern Recognition, 2012, 45(1): 80-91. DOI:  10.1016/j.patcog.2011.05.006.
    [7] Asthana A, Saragih J, Wagner M, et al. Evaluating AAM fitting methods for facial expression recognition[C].2009 3rd International Conference on Affective Computing and Intelligent Interaction and Workshops,IEEE, Amsterdam, Netherlands, 2009: 1-8.
    [8] Zheng H, Geng X, Tao D, et al. A multi-task model for simultaneous face identification and facial expression recognition[J]. Neurocomputing, 2016, 171: 515-523. DOI:  10.1016/j.neucom.2015.06.079.
    [9] 柴瑞敏, 曹振基. 基于 Gabor 小波与深度信念网络的人脸识别方法[J]. 计算机应用, 2014, 34(9): 2 590-2 594. DOI:  10.11772/j.issn.1001-9081.2014.09.2590. Chai R M, Gao Z J. Face recognition algorithm based on Gabor wavelet and deep belief networks[J]. Journal of Computer Applications, 2014, 34(9): 2 590-2 594.
    [10] 张雯, 王文伟. 基于局部二值模式和深度学习的人脸识别[J]. 计算机应用, 2015, 35(5): 1 474-1 478. DOI:  10.11772/j.issn.1001-9081.2015.05.1474. Zhang W, Wang W W. Face recognition based on local binary pattern and deep learning[J]. Journal of Computer Applications, 2015, 35(5): 1 474-1 478.
    [11] Barman A, Dutta P. Influence of shape and texture features on facial expression recognition[J]. IET Image Processing, 2019, 13(8): 1 349-1 363. DOI:  10.1049/iet-ipr.2018.5481.
    [12] Li C, Ma N, Deng Y. Multi-network fusion based on CNN for facial expression recognition[C]. International Conference on Computer Science, Electronics and Communication Engineering (CSECE 2018),Atlantis Press, Wuhan, China, 2018: 166-169.
    [13] Liu P, Han S, Meng Z, et al. Facial expression recognition via a boosted deep belief network[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus, Ohio, USA, 2014: 1 805-1 812.
    [14] Xiao Y, Wang D, Hou L. Unsupervised emotion recognition algorithm based on improved deep belief model in combination with probabilistic linear discriminant analysis[J]. Personal and Ubiquitous Computing, 2019, 23(1): 1-10. DOI:  10.1007/s00779-019-01201-8.
    [15] Li L, Peng Y, Qiu G, et al. A survey of virtual sample generation technology for face recognition[J]. Artificial Intelligence Review, 2018, 50(1): 1-20. DOI:  10.1007/s10462-016-9537-z.
    [16] Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1 527-1 554. DOI:  10.1162/neco.2006.18.7.1527.
    [17] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507. DOI:  10.1126/science.1127647.
    [18] Kennedy J, Eberhart R. Particle swarm optimization (PSO)[C].Proc IEEE International Conference on Neural Networks, Perth, Australia. 1995: 1 942-1 948.
    [19] Sun X, Guo M, Ma M, et al. Identification and classification of damaged corn kernels with impact acoustics multi-domain patterns[J]. Computers and Electronics in Agriculture, 2018, 150(2018): 152-161.
    [20] Deng W, Yao R, Zhao H, et al. A novel intelligent diagnosis method using optimal LS-SVM with improved PSO algorithm[J]. Soft Computing, 2019, 23(7): 2 445-2 462. DOI:  10.1007/s00500-017-2940-9.
    [21] Borjigin S, Sahoo P K. Color image segmentation based on multi-level Tsallis–Havrda–Charvát entropy and 2D histogram using PSO algorithms[J]. Pattern Recognition, 2019, 92(8): 107-118.
    [22] Matos J, Faria R P V, Nogueira I B R, et al. Optimization strategies for chiral separation by true moving bed chromatography using Particles Swarm Optimization (PSO) and new Parallel PSO variant[J]. Computers & Chemical Engineering, 2019, 123(2019): 344-356.
    [23] Fletcher R, Reeves C M. Function minimization by conjugate gradients[J]. The Computer Journal, 1964, 7(2): 149-154. DOI:  10.1093/comjnl/7.2.149.
    [24] Zhong S, Liu Y, Liu Y. Bilinear deep learning for image classification[C]. Proceedings of the 19th ACM international conference on Multimedia. ACM, Toronto, Canada, 2011: 343-352.
  • [1] 曾超李娜王维周曙白陈朝阳 . 群搜索算法与Powell法结合的医学图像配准. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20120464
    [2] 袁刚周冬明聂仁灿 . 基于简化脉冲耦合神经网络的噪声人脸识别. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150056
    [3] 赵光兰周冬明赵东风聂仁灿 . 脉冲耦合神经网络的人脸识别方法. 云南大学学报(自然科学版),
    [4] 赵光兰周冬明赵东风聂仁灿 . 脉冲耦合神经网络的人脸识别方法. 云南大学学报(自然科学版),
    [5] 邱爽聂仁灿周冬明李兴叶 . 自归一化卷积神经网络的人脸识别方法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20170436
    [6] 唐菁敏马含 . 基于混沌粒子群优化的微电网短期负荷预测. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190017
    [7] 陈顺民陈贵云 . 共轭置换子群与有限群的可解性. 云南大学学报(自然科学版),
    [8] 高立徐丹余鹏飞 . 自动获取控制点的人脸表情变形. 云南大学学报(自然科学版),
    [9] 杨蔚宇肖波 . 民族文化数字化保护研究中的虚拟现实优化分析. 云南大学学报(自然科学版),
    [10] 黄进文王威廉 . 基于虚拟仪器的心电信号QRS波双通道差分识别法. 云南大学学报(自然科学版),
    [11] 蔡莉张春节路程 . 基于粒子群算法的隐私自动协商机制研究. 云南大学学报(自然科学版),
    [12] 何晨光贺思德董志民 . 最小二乘支持向量机在人脸识别中的应用. 云南大学学报(自然科学版),
    [13] 陆正福李佳 . FHE*KDFRS:全同态加密相容的核基人脸识别系统. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20180400
    [14] 唐菁敏张晓颍曹操马社方 . 基于粒子群算法的认知无线电下行链路中的OFDMA资源分配算法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150023
    [15] 李建雄冯鑫史伟光粘华 . 基于排队理论的标签识别流程优化研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150438
    [16] 彭叶王顺芳丁海燕 . 改进的小波分解、Fisher脸及几何特征相结合的人脸识别方法. 云南大学学报(自然科学版),
    [17] 焦红虹周浩方淇 . 基于光流场的时间分段网络行为识别. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20170750
    [18] 梅礼晔郭晓鹏张俊华郭正红肖佳 . 基于空间金字塔池化的深度卷积神经网络多聚焦图像融合. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20170670
    [19] 陈际平 . 网络流优化的快速数值逼近算法Ⅱ. 云南大学学报(自然科学版),
    [20] 郭祥文刘惟一张忠玉张燕锋 . 基于Petri网的虚拟科研建立过程模型. 云南大学学报(自然科学版),
  • 加载中
图(6)表(8)
计量
  • 文章访问数:  635
  • HTML全文浏览量:  580
  • PDF下载量:  1
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-09-04
  • 录用日期:  2020-02-20
  • 网络出版日期:  2020-05-18

基于PSO-CG优化深度信念网络的人脸表情识别

    通讯作者: 孙雪华, sxh_125@163.com
  • 1. 西安邮电大学 计算机学院,陕西 西安 710121
  • 2. 陕西省网络数据分析与智能处理重点实验室,陕西 西安 710121

摘要: 深度信念网络(Deep Belief Network,DBN)在人脸表情识别领域表现出较好的性能,但其在有监督学习阶段通常采用反向传播微调网络的初始参数空间,容易陷入局部最优值,不能找到网络的最优参数空间. 提出一种粒子群算法(PSO)和共轭梯度(CG)融合进行优化DBN将其用于人脸表情识别. 首先,通过虚拟样本扩充训练样本数据集的方式构建了人脸表情数据集. 然后,使用PSO寻找全局最优点. 但是DBN的参数维度高,单独使用PSO优化网络参数空间,容易出现局部最优、收敛速度慢等问题. 最后,PSO与CG相融可以加强搜索精度和加快收敛速度,获取更优模型参数. 仿真结果表明,我们提出的方法在JAFFE和CK+这2个常用人脸表情数据库识别率分别为94.52%和97.84%.

English Abstract

  • 在过去的一段时间,面部表情识别在科学界引起了极大的兴趣,因为它在虚拟现实、视频会议、用户分析等许多应用中广泛使用[1]. 随着深度学习和人工智能的发展,情感识别作为人机交互的关键,越来越受到人们的重视. 情感表达是多种多样的,其中人脸面部表情识别是最重要的情感载体[2-3]. 人脸表情识别一般是由以下3个步骤组成:人脸检测,特征提取,表情分类. 其中提取人脸面部中细微表情变化的特征是最关键的部分,选择的特征影响了后续的识别准确率[4]. 目前,对于人脸表情识别中经常使用本征脸方法、提取局部特征方法和模型方法进行提取特征. 本征脸方法是以整个脸图像作为输入,通过构造子空间提取面部表情特征. 目前广泛使用的方法是主成分分析(PCA)、独立成分分析(ICA)和线性判别分析(LDA). 和本征脸法相比,提取局部特征方法只考虑包含重要表情信息的特征,主要集中于眉毛、眼睛、鼻子、嘴巴等,选择局部特征可以去除一些与表情无关的干扰信息,有助于后面分类的准确率[5]. 常用方法有局部二值模式(LBP),局部判别分量分析(LDCA),Gabor小波变换[6]. 基于模型方法可以提取反映面部局部和全局形状和纹理信息的特征,常用方法主要有主动形状模型(ASM)和主观表观模型(AAM)[7].

    近年来,深度信念网络(DBN)作为深度学习技术的代表,在图像识别和分类中得到了广泛的应用[8-10]. Barman 等[11]提取一些统计特征,例如偏度、峰值和熵用于补充特征集,将单独的特征和组合特征送到多层感知器和DBN对表情进行分类. Li等[12]提出一种基于CNN的多网络融合人脸表情识别方法. 首先先训练两个单一的网络模型,然后从中提取最佳的网络模型参数,作为多网络融合的初始化参数,然后对融合网络的参数进行微调. 另外,为了更好的提取人脸表情特征,多网络融合结构也可以适当调整. Liu等[13]提出增强深度置信网络的人脸表情识别方法. 该方法可以有效地学习和选择表示面部表情变化的特征,并使用学习到的特征形成增强的分类器. 随着学习的进行,分类器的分类效果和所选特征的判别能力随之提高. Xiao等[14]提出概率线性判别分析深度信念网络. 针对传统线性判别分析方法(LDA)中的秩限制问题,设计了类间色散矩阵. 采用改进的LDA对DBN的最后一层的隐层和分类层的权重进行初始化,从而能够使设计的网络具有较好的稳定特性和分类特性.

    目前,DBN在采用反向传播(Back Propagation, BP)对有监督学习时的网络初始参数空间进行微调. 然而,BP算法容易出现局部最优的情况,故不能找到更优的参数空间. 针对BP的情况,本文将采用粒子群与共轭梯度相融合的方法来对网络的初始空间进行优化. 首先使用粒子群算法寻找全局最优,由于DBN的参数维度太高,单独使用PSO容易出现搜索精度低,收敛速度慢等问题. CG具有较强的局部搜索能力和加快收敛速度的优点,故使用CG算法对PSO中全局最优进行局部搜索. 由于目前存在的人脸识别表情库均是小样本数据集,收集更多的面部表情数据是一个耗时的项目. 但是,深度网络不适合小数据集,会导致训练不足,本文通过构造虚拟样本来扩充训练样本集[15].

    • 深度信念网络是Hinton等[16]在2006年提出的. DBN通过采用逐层对网络进行训练获得较好的初始网络权值,进而使网络通过逐层微调的方式获得最优解,克服了深层次神经网络的优化问题[17]. DBN由多层神经元组成,分为显性神经元和隐性神经元. 前者用于接收输入,后者用于提取特征. 经典的DBN网络结构是由若干层受限玻尔兹曼机(RBM)和一层反向传播(BP)组成的一种深层神经网络,结构如图1所示,DBN由两层RBM和一层BP构成.

      图  1  深度信念网络结构图

      Figure 1.  Structure map of deep belief network

      DBN的学习过程通常分为两个过程,首先无监督预训练整个网络,然后有监督微调整个神经网络参数.

      (1) 预训练过程

      给定一个输入样本 $x$ 时,经过DBN逐层无监督学习可以得到第 $k$ 个隐层 ${h^k}$ 的特征表示为:

      $\begin{split} &h_j^k(x) = \sigma \left( {b_j^k + \sum\limits_{i = 1}^{{D_{k - 1}}} {w_{ij}^kh_i^{k - 1}(x)} } \right),\\ &j = 1, \cdots ,{D_k},k = 1, \cdots ,N.\end{split}$

      其中,$b_j^k$${h^k}$ 层的第 $j$ 个节点的偏置,$w_{ij}^k$ 为连接 ${h^{k - 1}}$ 层第 $i$ 个节点和 ${h^k}$ 层第 $j$ 个节点之间的权值,${D_k}$ 为隐层 ${h^k}$ 的节点数,$N$ 为网络隐层总数.

      (2) 微调过程

      无监督学习过程是通过逐层贪婪使得DBN获得了初始参数 $\theta = (W,b,c)$. 为了使DBN更能适用后期的分类任务,通常采用反向传播方法(BP)对整个DBN初始参数进行有监督微调,目的是使分类误差最小,表示为:

      $\mathop {\arg }\limits_\theta \min \sum\limits_{i = 1}^T {\sum\limits_{j = 1}^C - } y_j^i\log {\hat y_j}({x^i};\theta ),$

      其中,输入样本数量表示为 $T$,第 $i$ 个输入样本的真实标签可以用 ${y^i}$,样本的预测标签表示为 $\hat y$,其可用以下公式计算:

      ${\hat y_j}(x) = \frac{{\exp \left( {b_j^{N + 1} + \displaystyle\sum\limits_{i = 1}^{{D_N}} {w_{ij}^{N + 1}h_i^N(x)} } \right)}}{{\displaystyle\sum\limits_{j = 1}^C {\exp \left( {b_j^{N + 1} + \displaystyle\sum\limits_{i = 1}^{{D_N}} {w_{ij}^{N + 1}h_i^N(x)} } \right)} }},\;j = 1, \cdots ,C.$

      其中,$b_j^{N + 1}$ 表示网络分类层中的偏置,最后一个隐层与分类层之间连接的权值可表示为 ${w^{N + 1}}$,并且最初的值时随机生成.

      对深度信念网络初始参数通常采用BP算法,但是BP算法容易陷入局部最优. 为了解决此问题,本文采用粒子群算法优化参数空间.

    • PSO由Eberhart和Kennedy于1995年提出,该算法最初是利用人与人之间的社会信息共享,以人群为单元基础进行搜索的方法[18]. 也即是每一个人群(称作群)中的个体(称作粒子)可以受益于种群中其他人先前的经验,在迭代的D维空间搜索过程中,每个粒子根据自身和群体中其他粒子飞行经验,来重新调整自身的飞行速度和自身位置. PSO也常用于解决其他问题[19-22].

      设PSO是在一个 $N$ 维空间进行搜索目标,群落中共有 $M$ 个粒子构成,定义为 $X = ({X_1},{X_2}, \cdots ,{X_m})$,那么如果将 $i$ 个粒子用 $N$ 维向量表示,则可以表示为 ${X_i} = {({x_{i1}},{x_{i2}}, \cdots ,{x_{in}})^{\rm{T}}}$,第 $i$ 个粒子飞行速度表示为 ${V_i} = {({V_{i1}},{V_{i2}}, \cdots ,{V_{in}})^{\rm{T}}}$,第 $i$ 个粒子目前搜索到的最佳位置也可称为个体极值用 ${P_i} = {({P_{i1}},{P_{i2}}, \cdots ,{P_{in}})^{\rm{T}}}$ 表示,将在整个群的搜索过程中得到的最佳位置称为全局最优用 ${P_b} = {({P_{b1}},{P_{b2}}, \cdots ,{P_{bn}})^{\rm{T}}}$ 表示. 在逐次粒子群迭代过程中,粒子在搜索空间单位中,其速度和位置按照以下公式更新自身的速度和位置.

      $\begin{split} v_{i{\rm{e}}}^{k + 1} =& \omega v_{i{\rm{e}}}^k + {c_1}r_1^k(p_{i{\rm{e}}}^k - x_{i{\rm{e}}}^k) + \\ & {c_2}r_2^k()(p_{g{\rm{e}}}^k - x_{i{\rm{e}}}^k), \end{split} $

      $x_{i{\rm{e}}}^{k + 1} = x_{i{\rm{e}}}^k + v_{i{\rm{e}}}^{k + 1},$

      其中,${r_1}$${r_2}$ 表示分布在[0,1]的随机函数,${c_1}$${c_2}$ 为学习因子. 粒子群优化深度信念网络时,将分类误差作为PSO的适应度函数:

      $f({\theta _t}) = \sum\limits_{i = 1}^{S} {\sum\limits_{j = 1}^C { - y_j^i\log {{\hat y}_j}} } ({x^i};{\theta _t}),t \in \{ 1, \cdots ,M\}, $

      其中,S为训练集大小,${x^i}$ 是第 $i$ 个训练样本,${y^i}$ 为真实的标签,$\hat y$ 为预测出的标签. 由于DBN参数维度比较高,使用PSO优化初始化参数空间时,会出现搜索精度低、收敛速度比较慢等问题. 因为共轭梯度本身的优点是有较强的局部搜索能力并且可以加快搜索过程的收敛速度,进而共轭梯度可以针对PSO优化过程出现的问题进行弥补,故采用使用共轭梯度算法对粒子群当前获得的最优点进行局部搜索.

      CG是由Fletcher等[23]提出的. 本文中CG主要用于PSO最优点附近的搜索,即每次PSO陷入局部最优之后,就以当前最优粒子为操作对象,${P_b}$ 为初始点,采用CG方法进一步局部搜索.

      算法1 PSO融合CG优化算法

      参数:微粒群体的规模 $N$,迭代次数 ${D_{\max }}$,最高速度为 ${V_{\max }}$,最低速度为 ${V_{\min }}$$G_{ie}^k = 4{r_1}{p_g} - x_{ie}^k$ 为粒子隐含梯度,${r_1}$ 为随机数,${p_g}$ 为当前搜索到最优解,$x_{ie}^k$ 为当前位置;惯性系数 $\omega _{ie}^k = \dfrac{{G_{ie}^k * G_{ie}^k}}{{G_{ie}^{k - j} * G_{ie}^{k - j}}}$$j$ 为调整系数

      输入:微粒群体的规模 $N$,迭代次数 ${D_{\max }}$,最高速度为 ${V_{\max }}$,最低速度为 ${V_{\min }}$,调整系数 $j$

      输出:最优深度网络 ${\theta ^*}$

      步骤1 采用PSO算法进行迭代搜索,直到当前最优解 ${P_b}$ 没有获得更新.

      步骤2 执行更新时,${P_i}$ 按照公式(4)进行更新速度,最优粒子 ${P_b}$ 为初始值,按照共轭梯度方法以下公式进行更新速度,进一步搜索 $n$ 步,并获得全局最优 ${P_b}$.

      $ v_{ie}^{k + 1} = \left\{ \begin{array}{l} - G_{ie}^{k + 1},\quad \quad \quad \quad \;\;k = 1\\ - G_{ie}^{\mathop {k + 1}\limits^k } + \omega _{ie}^{k + 1}v_{ie}^k,\quad k > 1 \end{array} \right. $

      步骤3 按照公式给每个粒子赋予新的速度,计算相应自适应值.

      步骤4 更新最优值,返回步骤1.

    • 针对于DBN在有监督阶段采用BP算法出现易陷入局部最优的问题,本文在深度信念网络的基础上提出一种新的网络,PSO融合CG优化深度信念网(PSO-CG-DBN),其结构如图2所示. 该网络包含一个输入层vN个隐层 ${h^1},{h^2}, \cdots ,{h^{\rm{N}}}$,一个预测标签层 $\hat y$ 和一个真实标签层y.

      图  2  PSO-CG-DBN结构图

      Figure 2.  Structure map of PSO-CG-DBN

      假设将训练数据集表示为:$ {D_{{\rm{train}}}} = \{ ({x^i},{y^i})\} ,$$i \in (1,2, \cdots ,S)$,训练集的大小表示为 $S$,训练集中的一个样本可表示为 ${x^i} \in {R^D}$,输入的数据 ${x^i}$ 的维度是 $D$${x^i}$ 的类别可用 ${y^i} \in \{ 1, \cdots ,C\} $ 来表示,训练数据集的类别数目用 $C$ 表示,$y_j^i$ 是其矢量表示. 最终找到合适的网络参数空间 $\theta = (W,b,c)$,进而可实现样本 $x$ 输入此训练模型后,通过此模型参数空间的映射可以得到正确的类别标签 $y$.

      模型的训练可以分为以下几部分:首先是对模型进行预训练,原理与深度信念网络相似,也即采用逐层贪婪使得DBN获取初始参数;随后进行有监督学习部分,此时就采用粒子群与共轭梯度共融合方法优化模型的参数. PSO-CG-DBN模型训练过程如算法2所示. 算法2 PSO-CG-DBN模型训练

      (1) 贪婪逐层无监督学习

      输入:训练数据集用 ${D_{train}} = \{ ({x^i},{y^i})\} ,\, i \in (1,2, \cdots ,$$ TS)$ 表示,网络隐层数目表示为 $N$,迭代的最大次数表示为 $Q$,训练集数目表示为 $TS$,隐层表示为 $h$,可视层 $v$ 用表示,参数空间用表示,学习率用 $\varepsilon $ 表示.

      输出:深度网络的参数空间 ${\theta _0}$

      for $k = 1$ to $N$ do

       for $q = 1$ to $Q$ do

        for $n = 1$ to $S$ do

         计算隐层和可视层节点特征:

         $p({h_j} = 1|v) = \sigma \left( {\displaystyle\sum\limits_i {{W_{ij}}{v_i} + {b_j}} } \right),$

         $p({v_i} = 1|h) = \sigma \left( {\displaystyle\sum\limits_i {{W_{ij}}{h_i} + {c_i}} } \right),$

         更新权值和偏置:

         $\Delta {w_{ij}} = \varepsilon ( < {v_i}{h_j}{ > _{{p^0}}} - < {v_i}{h_j}{ > _{p_\theta ^1}}),$

         $w_{ij}^k = \vartheta w_{ij}^k + \varepsilon ( < h_i^{k - 1}h_j^k{ > _{{p^0}}} - < h_i^{k - 1}h_j^k{ > _{p_\theta ^1}}),$

         $\Delta {b_j} = \varepsilon ( < {h_j}{ > _{{p^0}}} - < {h_j}{ > _{p_\theta ^1}}),$

         end

        end

       end

       return 深度信念网络初始参数空间 ${\theta _0}$

      (2) 根据PSO与CG融合算法优化深度信念网络参数空间 ${\theta _0}$

      ${\theta ^{\rm{*}}} = \mathop {{\rm{arg}}}\limits_\theta \min f({\theta _t};\hat y(x),y),$

      得到模型的最优的参数空间 ${\theta ^*}$. 当输入测试样样本 $x$ 时,其标签类别可以用计算为:

      $\arg \;\mathop {\max }\limits_j \;{\hat y_j}(x;{\theta ^*}).$

      当我们得出类别之后可以和原始设定的标签进行比较,进而计算出识别率.

    • 本次实验是在是64位Windows7系统,4核处理器,1.90 GHZ主频,16 GB安装内存环境下进行,算法采用Matlab语言实现. 采用较为广泛使用的人脸表情识别数据库,JAFFE数据库(http://www.kasrl.org/jaffe.html)原始图像如图3所示. JAFFE数据集包含213幅日本女性脸的图像,每幅图像分辨率为256×256像素. 数据库中共有10位日本女性,每人一组包含7种人脸表情:生气、厌恶、害怕、高兴、中性、伤心和惊讶. 表情按照上述顺序依次将标签设为0~6. 实验过程中对所有人脸表情图像做预处理,对图像的像素做归一化处理,将其大小调整为24×24.

      图  3  JAFFE人脸表情数据库

      Figure 3.  Examples of facial expression images from the JAFFE database

      数据集分为训练样本集和测试样本集,测试样本集的组成是随机挑取测试样本(73幅图像),其余的为原始训练样本集(140幅图像),由于我们使用了虚拟图像生成虚拟样本(280幅图像),则训练样本集的构成是原始训练样本加上虚拟样本(420幅图像). 具体如表1所示.

      表情分类
      和标签
      训练样本总训练样本
      数目(420)
      测试样本
      数目(73)
      原始样本虚拟样本
      生气20406010
      厌恶204060 9
      害怕20406012
      高兴20406011
      中性20406010
      伤心20406011
      惊讶20406010

      表 1  JAFFE数据库数据集分布

      Table 1.  Data set distribution on JAFFE database

      我们提出的PSODBN中使用了1个输入层、3个隐层和1个输出层. 3个隐层中的节点数分别为400、400和200. 分批大小为20,动量固定为0.5. 对于网络训练而言,第一阶段中,网络回归损失非常大,所以我们以1e7的学习率开始,并在100次之后降低. 为了证明该方法的有效性,我们将方法与基于流行稀疏表示方法(MSR),局部二值模式(LBP),深度信念网络(DBN),双线性深度学(BDBN)[24],线性深度信念网络(LDBN)[14]在JAFFE数据库上按照表1数据集的分布实验进行比较,从表2中还可以看出本文提出的PSODBN识别率为93.78%,高于MSR的79.01%、LBP的87.23%、DBN的88.31%、LDBN的91.05%,高于LDBN的92.72%. 由于提出的方法可以提取更多的有效判别信息,故可以获得较高的识别率.

      算法识别率%
      MSR79.45
      LBP87.67
      DBN89.04
      BDBN90.41
      LDBN93.15
      PSO-CG-DBN94.52

      表 2  不同算法在虚拟JAFFE数据库的识别率

      Table 2.  Recognition rates for different algorithm in virtual JAFFF database

      DBN方法的混合矩阵如表3所示,本方法的混合矩阵如表4所示,对角线表示各个表情正确分类的识别率,非对角线表示混淆识别率. 从表3可以看出,DBN本身对于高兴、惊讶的识别率比较高,这是因为这些人脸表情面部动作比较丰富,例如嘴巴和眼睛体现了人脸表情相关信息. 但是对于伤心、中性表情的识别率比较低,因为此表情相关的面部动作比较少,容易与其他人脸表情相混淆. 从表3表4的对比中可以看出,本文提出的改进DBN方法可以提高部分表情识别率,特别是对于容易混淆的人脸表情(中性)的识别率.

      表情生气厌恶害怕高兴中性伤心惊讶
      生气90.0008.330000
      厌恶088.890010.009.090
      害怕011.1183.330000
      高兴000100000
      中性10.0008.33080.009.090
      伤心000010.0081.820
      惊讶000000100

      表 3  DBN在虚拟JAFFE数据库的混合矩阵

      Table 3.  Confusion matrix (%) based on DBN on the virtual JAFFE database

      表情生气厌恶害怕高兴中性伤心惊讶
      生气90.00000000
      厌恶01000010.0000
      害怕0091.67009.090
      高兴000100000
      中性10.0000090.009.090
      伤心0000081.820
      惊讶008.33000100

      表 4  PSO-CG-DBN在虚拟JAFFE数据库的混合矩阵

      Table 4.  Confusion matrix (%) based on PSO-CG-DBN on the virtual JAFFE database

      图4显示了PSO-CG-DBN和PSO-DBN在JAFFE数据库的收敛曲线. 从图4中可以看出,当单独使用PSO优化DBN时,迭代至700次之后就陷入局部最优状态,不能及时跳出局部最优,从而使此时的参数模型为最优参数模型. 而当使用PSO-CG-DBN时,虽然迭代至683、700、714次时陷入局部最优状态,但每次均能从局部最优跳出,从而找到全局最优解.

      图  4  PSO-CG-DBN和PSO-DBN在JAFFE数据库的收敛曲线对比

      Figure 4.  Comparision of convergence curves between PSO-CG-DBN and PSO-DBN on JAFFT database

    • Cohn-Kande(CK+)数据库(http://www.consortium.ri.cmu.edu/ckagree/)包含了327个包含表情标签的序列,每个序列对应7种表情分别为:厌恶、生气、害怕、高兴、伤心、惊讶、中性. 因此,我们总共有包含7种表情序列的1 251张. CK+数据库如图5所示.

      图  5  CK+人脸表情数据库

      Figure 5.  CK+ facial expression database

      我们随机挑选每种表情的1/3作为测试样本,其余的为原始训练样本,对虚拟样本进行虚拟算法生成虚拟样本,则总共为2 502张训练样本. 具体如表5所示. 实验过程中对所有人脸表情图像做预处理,对图像的像素做归一化处理,将其大小调整为24×24.

      表情分类
      和标签
      训练样本总训练样本
      数目(2 502)
      测试样本
      数目(417)
      原始样本虚拟样本
      生气 90180270 45
      厌恶118236354 59
      害怕 50100150 25
      高兴138276414 69
      中性218436654109
      伤心 56112168 28
      惊讶164328492 82

      表 5  CK+数据库数据集分布

      Table 5.  Data set distribution on CK+ database

      为了证明该方法的有效性,我们从表6中不同算法在CK+数据库上按照表5数据集分布进行实验. 从实验结果比较可以看出,本文提出的方法可以有效提高识别率,高于对DBN的改进方法,BDBN的95.68%,LDBN的96.16%,高于传统DBN的96.64%和常用方法MSR和LBP.

      算法识别率%
      MSR92.33
      LBP93.52
      DBN96.64
      BDBN95.68
      LDBN96.16
      PSO-CG-DBN97.84

      表 6  不同算法在虚拟CK+数据库的识别率

      Table 6.  Recognition rates for different algorithm in virtual CK+ database

      DBN在CK+数据库的混合矩阵如表7所示,本文方法的混合矩阵如表8所示,类似的,对角线代表各个表情的正确识别率,其他为混淆识别率. 从表7中可以看出,中性表情容易与其他表情相混淆. 但是从表7表8的对比中看出,中性的识别率有很大提高,而且其他表情的识别率也有相应的提高,例如害怕和高兴的识别率可以达到100%. 说明通过优化DBN能提取人脸表情的更多特征,进而提高分类识别率.

      表情生气厌恶害怕高兴中性伤心惊讶
      生气95.56000000
      厌恶094.9200000
      害怕2.22096.0002.7500
      高兴000100000
      中性2.223.394.00093.573.570
      伤心00002.7596.430
      惊讶01.690000100

      表 7  DBN在虚拟CK+数据库中的混合矩阵

      Table 7.  Confusion matrix (%) based on DBN on the virtual CK+ database

      表情生气厌恶害怕高兴中性伤心惊讶
      生气97.78000000
      厌恶096.6100000
      害怕0010002.7500
      高兴000100000
      中性2.221.690095.413.570
      伤心00001.8396.430
      惊讶01.690000100

      表 8  PSO-CG-DBN在虚拟CK+数据库的混合矩阵

      Table 8.  Confusion matrix (%) based on PSO-CG-DBN on the virtual CK+ database

      图6显示了PSO-CG-DBN和PSO-DBN在CK+数据库的收敛曲线. 从图6中可以看出,当使用PSO-CG-DBN时,虽然迭代至17 160次、17 200、17 435次时陷入局部最优状态,但分别在17 199次、17 343、17 454次跳出局部最优,从而找到全局最优解. 而PSO-DBN则一直处于局部最优状态,并不能及时跳出来.

      图  6  PSO-CG-DBN与PSO-DBN在CK+数据库上的收敛曲线比较

      Figure 6.  Comparision of convergence curves between PSO-CG-DBN and PSO-DBN on CK+ database

    • 本文提出了一种基于粒子群融合共轭优化深度信念网络(PSO-CG-DBN)用于人脸表情识别. 为了更好训练DBN网络,首先采用虚拟样本生成算法扩充训练数据集样本数目,然后采用PSO-CG-DBN开始训练样本,先是无监督学习获得DBN的初始化参数,在有监督学习的过程中采用PSO与CG相融合来微调整个网络参数,目的是获得较好的参数空间,使训练出的模型更适合分类任务. 从实验结果分析中可以看出,本文提出的方法能有效的提高总体识别率. 在后续的研究中,我们将把该算法应用到其他分类任务中去,以体现本文所提方法的推广能力.

参考文献 (24)

目录

    /

    返回文章
    返回