<address id="japib"><nav id="japib"></nav></address>

<cite id="japib"></cite>

        基于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)在人臉表情識別領域表現出較好的性能,但其在有監督學習階段通常采用反向傳播微調網絡的初始參數空間,容易陷入局部最優值,不能找到網絡的最優參數空間. 提出一種粒子群算法(Particle Swarm Optimization,PSO)和共軛梯度(Conjugate Gradient,CG)融合進行優化DBN,將其用于人臉表情識別. 首先,通過虛擬樣本擴充訓練樣本數據集的方式構建了人臉表情數據集. 然后,使用PSO尋找全局最優點,DBN的參數維度高,單獨使用PSO優化網絡參數空間,容易出現局部最優、收斂速度慢等問題, 結果顯示,PSO與CG相融可以加強搜索精度和加快收斂速度,獲取更優模型參數. 仿真結果表明,提出的方法在JAFFE和CK+這2個常用人臉表情數據庫的識別率分別為94.52%和97.84%.
        • 圖 1  DBN結構圖

          Figure 1.  Structure map of DBN

          圖 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

          算法識別率/%
          MSR 79.45
          LBP 87.67
          DBN 89.04
          BDBN 90.41
          LDBN 93.15
          PSO-DBN 94.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

          算法識別率/%
          MSR 92.33
          LBP 93.52
          DBN 96.64
          BDBN 95.68
          LDBN 96.16
          PSO-CG-DBN 97.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]//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, Toronto, Canada, 2011: 343-352.
        • [1] 曾超李娜王維周曙白陳朝陽 . 群搜索算法與Powell法結合的醫學圖像配準. 云南大學學報(自然科學版), 2013, 35(5): 603-. doi: 10.7540/j.ynu.20120464
          [2] 袁剛周冬明聶仁燦 . 基于簡化脈沖耦合神經網絡的噪聲人臉識別. 云南大學學報(自然科學版), 2015, 37(5): 687-694. doi: 10.7540/j.ynu.20150056
          [3] 趙光蘭周冬明趙東風聶仁燦 . 脈沖耦合神經網絡的人臉識別方法. 云南大學學報(自然科學版), 2011, 33(2): 141-146 .
          [4] 趙光蘭周冬明趙東風聶仁燦 . 脈沖耦合神經網絡的人臉識別方法. 云南大學學報(自然科學版), 0, -1978(0): 0- .
          [5] 邱爽聶仁燦周冬明李興葉 . 自歸一化卷積神經網絡的人臉識別方法. 云南大學學報(自然科學版), 2018, 40(4): 659-664. doi: 10.7540/j.ynu.20170436
          [6] 唐菁敏馬含 . 基于混沌粒子群優化的微電網短期負荷預測. 云南大學學報(自然科學版), 2019, 41(6): 1123-1129. doi: 10.7540/j.ynu.20190017
          [7] 陳順民陳貴云 . 共軛置換子群與有限群的可解性. 云南大學學報(自然科學版), 2008, 30(5): 443-447.
          [8] 高立徐丹余鵬飛 . 自動獲取控制點的人臉表情變形. 云南大學學報(自然科學版), 2011, 33(S2): 210-214.
          [9] 楊蔚宇肖波 . 民族文化數字化保護研究中的虛擬現實優化分析. 云南大學學報(自然科學版), 2010, 32(5): 532-536 .
          [10] 黃進文王威廉 . 基于虛擬儀器的心電信號QRS波雙通道差分識別法. 云南大學學報(自然科學版), 2009, 31(4): 352-357 .
          [11] 蔡莉張春節路程 . 基于粒子群算法的隱私自動協商機制研究. 云南大學學報(自然科學版), 0, -1978(0): 0- .
          [12] 何晨光賀思德董志民 . 最小二乘支持向量機在人臉識別中的應用. 云南大學學報(自然科學版), 2008, 30(3): 239-245.
          [13] 陸正福李佳 . FHE*KDFRS:全同態加密相容的核基人臉識別系統. 云南大學學報(自然科學版), 2018, 40(6): 1116-1127. doi: 10.7540/j.ynu.20180400
          [14] 唐菁敏張曉潁曹操馬社方 . 基于粒子群算法的認知無線電下行鏈路中的OFDMA資源分配算法. 云南大學學報(自然科學版), 2015, 37(6): 811-817. doi: 10.7540/j.ynu.20150023
          [15] 李建雄馮鑫史偉光粘華 . 基于排隊理論的標簽識別流程優化研究. 云南大學學報(自然科學版), 2016, 38(2): 187-196. doi: 10.7540/j.ynu.20150438
          [16] 彭葉王順芳丁海燕 . 改進的小波分解、Fisher臉及幾何特征相結合的人臉識別方法. 云南大學學報(自然科學版), 2011, 33(S2): 215-219.
          [17] 梅禮曄郭曉鵬張俊華郭正紅肖佳 . 基于空間金字塔池化的深度卷積神經網絡多聚焦圖像融合. 云南大學學報(自然科學版), 2019, 41(1): 18-27. doi: 10.7540/j.ynu.20170670
          [18] 焦紅虹周浩方淇 . 基于光流場的時間分段網絡行為識別. 云南大學學報(自然科學版), 2019, 41(1): 36-45. doi: 10.7540/j.ynu.20170750
          [19] 陳際平 . 網絡流優化的快速數值逼近算法Ⅱ. 云南大學學報(自然科學版), 2006, 28(5): 388-391.
          [20] 任思睿黃銘 . 基于改進的長短期記憶網絡的調制識別算法. 云南大學學報(自然科學版), 2020, 42(): 1-7. doi: 10.7540/j.ynu.20200075
        • 加載中
        圖(6)表(8)
        計量
        • 文章訪問數:  1014
        • HTML全文瀏覽量:  1046
        • PDF下載量:  6
        • 被引次數: 0
        出版歷程
        • 收稿日期:  2019-09-04
        • 錄用日期:  2020-02-20
        • 網絡出版日期:  2020-05-18
        • 刊出日期:  2020-09-22

        基于PSO-CG優化深度信念網絡的人臉表情識別

          通訊作者: 孫雪華, sxh_125@163.com
        • 1. 西安郵電大學 計算機學院,陜西 西安 710121
        • 2. 陜西省網絡數據分析與智能處理重點實驗室,陜西 西安 710121

        摘要: 深度信念網絡(Deep Belief Network,DBN)在人臉表情識別領域表現出較好的性能,但其在有監督學習階段通常采用反向傳播微調網絡的初始參數空間,容易陷入局部最優值,不能找到網絡的最優參數空間. 提出一種粒子群算法(Particle Swarm Optimization,PSO)和共軛梯度(Conjugate Gradient,CG)融合進行優化DBN,將其用于人臉表情識別. 首先,通過虛擬樣本擴充訓練樣本數據集的方式構建了人臉表情數據集. 然后,使用PSO尋找全局最優點,DBN的參數維度高,單獨使用PSO優化網絡參數空間,容易出現局部最優、收斂速度慢等問題, 結果顯示,PSO與CG相融可以加強搜索精度和加快收斂速度,獲取更優模型參數. 仿真結果表明,提出的方法在JAFFE和CK+這2個常用人臉表情數據庫的識別率分別為94.52%和97.84%.

        English Abstract

        • 近年來,面部表情識別在科學界引起了極大的興趣,因為它在虛擬現實、視頻會議、用戶分析等許多應用中廣泛使用[1]. 隨著深度學習和人工智能的發展,情感識別作為人機交互的關鍵,越來越受到人們的重視. 情感表達是多種多樣的,其中人臉面部表情識別是最重要的情感載體[2-3]. 人臉表情識別一般是由以下3個步驟組成:人臉檢測、特征提取和表情分類. 其中提取人臉面部中細微表情變化的特征是最關鍵的部分,選擇的特征影響了后續的識別準確率[4]. 目前,對于人臉表情識別中經常使用本征臉方法、提取局部特征方法和模型方法提取特征. 本征臉方法是以整個臉圖像作為輸入,通過構造子空間提取面部表情特征. 目前廣泛使用的方法是主成分分析(Principal Component Analysis,PCA)、獨立成分分析(Independent Component Analysis,ICA)和線性判別分析(Linear Discriminant Analysis,LDA). 與本征臉法相比,提取局部特征方法只考慮包含重要表情信息的特征,主要集中于眉毛、眼睛、鼻子、嘴巴等,選擇局部特征可以去除一些與表情無關的干擾信息,有助于后面分類的準確率[5]. 常用方法有局部二值模式(Local Binary Patterns,LBP)、局部判別分量分析(Local Discriminative Component Analysis ,LDCA)和Gabor小波變換[6]. 基于模型方法可以提取反映面部局部和全局形狀和紋理信息的特征,常用方法主要有主動形狀模型(Active Shape Mode,ASM)和主觀表觀模型(Active Apparent Model,AAM)[7].

          近年來,深度信念網絡(Deep Belief Network,DBN)作為深度學習技術的代表,在圖像識別和分類中得到了廣泛的應用[8-10]. Barman 等[11]提取一些統計特征,例如偏度、峰值和熵用于補充特征集,將單獨的特征和組合特征送到多層感知器和DBN對表情進行分類. Li等[12]提出一種基于卷積神經網絡 (Convolutional Neural Networks,CNN)的多網絡融合人臉表情識別方法. 首先訓練兩個單一的網絡模型,然后從中提取最佳的網絡模型參數,作為多網絡融合的初始化參數,最后對融合網絡的參數進行微調. 另外,為了更好地提取人臉表情特征,多網絡融合結構也可以適當調整. Liu等[13]提出增強深度置信網絡的人臉表情識別方法. 該方法可以有效地學習和選擇表示面部表情變化的特征,并使用學習到的特征形成增強的分類器. 隨著學習的進行,分類器的分類效果和所選特征的判別能力隨之提高. Xiao等[14]提出概率線性判別分析深度信念網絡. 針對傳統LDA中的秩限制問題,設計了類間色散矩陣. 采用改進的LDA對DBN的最后一層的隱層和分類層的權重進行初始化,從而能夠使設計的網絡具有較好的穩定特性和分類特性.

          目前,DBN在采用反向傳播(Back Propagation, BP)對有監督學習時的網絡初始參數空間進行微調. 然而,BP算法容易出現局部最優的情況,故不能找到更優的參數空間. 針對BP的情況,本文將采用粒子群與共軛梯度(Conjugate Gradient,CG)相融合的方法對網絡的初始空間進行優化. 首先使用粒子群算法(Particle Swarm Optimization,PSO)尋找全局最優,由于DBN的參數維度太高,單獨使用PSO-DBN算法容易出現搜索精度低,收斂速度慢等問題. CG具有較強的局部搜索能力和加快收斂速度的優點,故使用CG算法對PSO中全局最優進行局部搜索即PSO-CG-DBN算法. 由于目前存在的人臉識別表情庫均是小樣本數據集,收集更多的面部表情數據是一個耗時的項目. 但是,深度網絡不適合小數據集,會導致訓練不足,本文通過構造虛擬樣本擴充訓練樣本集[15].

          • DBN是Hinton等[16]在2006年提出的. DBN通過采用逐層對網絡進行訓練獲得較好的初始網絡權值,進而使網絡通過逐層微調的方式獲得最優解,克服了深層次神經網絡的優化問題[17]. DBN由多層神經元組成,分為顯性神經元和隱性神經元. 前者用于接收輸入,后者用于提取特征. 經典的DBN網絡結構是由若干層受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)和一層BP組成的一種深層神經網絡,結構如圖1所示,DBN由2層RBM和1層BP構成.

            圖  1  DBN結構圖

            Figure 1.  Structure map of DBN

            DBN的學習過程通常分為2個過程:①無監督預訓練整個網絡;②有監督微調整個神經網絡參數.

            (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$,樣本類別數目表示為C,$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}}$,并且最初的值時隨機生成.

            對DBN初始參數通常采用BP算法,但是BP算法容易陷入局部最優. 為了解決此問題,本文采用PSO優化參數空間.

          • 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}}}$ 表示. 在逐次粒子群迭代過程中,粒子在搜索空間單位中,其速度和位置按照公式(4)、(5)更新自身的速度和位置.

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

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

            其中,$v_{i{e}}^k$是粒子i在第$k $次迭代中第$e$維的速度,$x_{i{e}}^k$是粒子$i $在第$k $次迭代中第${e}$維的位置,${r_1}$${r_2}$ 表示分布在[0,1]的隨機函數,${c_1}$、${c_2}$ 為學習因子. 粒子群優化DBN時,將分類誤差作為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優化初始化參數空間時,會出現搜索精度低、收斂速度比較慢等問題. 因為CG本身的優點是有較強的局部搜索能力,并且可以加快搜索過程的收斂速度,進而CG可以針對PSO優化過程出現的問題進行彌補,故采用使用CG算法對粒子群當前獲得的最優點進行局部搜索.

            CG是由Fletcher等[23]提出的. 本文中CG主要用于PSO最優點附近的搜索,即每次PSO陷入局部最優之后,CG就以當前最優粒子為操作對象,即${P_{\rm}}$初始點,進行進一步局部搜索.

            算法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}^kG_{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}$ 為初始值,按照共軛梯度方法公式(7)進行更新速度,進一步搜索 $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 按照公式(7)給每個粒子賦予新的速度,計算相應自適應值.

            步驟4 更新最優值,返回步驟1.

          • 針對于DBN在有監督階段采用BP算法出現易陷入局部最優的問題,本文在DBN的基礎上提出一種新的網絡,PSO融合CG優化深度信念網(PSO-CG-DBN),其結構如圖2所示. 該網絡包含一個輸入層v,N個隱層 ${h^1},{h^2}, \cdots ,{h^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_{\rm{train}}} = \{ ({x^i},{y^i})\} ,\, i \in (1,2, \cdots ,$$S)$ 表示,網絡隱層數目表示為 $N$,迭代的最大次數表示為 $Q$,訓練集數目表示為$S$,隱層表示為 $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 ^*}$.

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

            當輸入測試樣樣本 $x$ 時,其標簽類別可以計算為:

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

            其中,函數$\hat y_j(x) $如公式(3).當我們得出類別之后可以和原始設定的標簽進行比較,進而計算出識別率.

          • 本實驗是在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

            我們提出的PSO-DBN中使用了1個輸入層、3個隱層和1個輸出層. 3個隱層中的節點數分別為400、400和200. 分批大小為20,動量固定為0.5. 對于網絡訓練而言,第一階段中,網絡回歸損失非常大,所以我們以1e7的學習率開始,并在100次之后降低. 為了證明該方法的有效性,我們將方法與基于流行稀疏方法多尺度稀疏表示 (Multi-scale Sparse Representation, MSR)、LBP、DBN、雙線性深度信念網絡(Bilinear Deep Belief Network,BDBN)[24]、線性深度信念網絡(Linear Deep Belief Network, LDBN)[14]在JAFFE數據庫上按照表1數據集的分布實驗進行比較,從表2還可以看出本文提出的PSO-DBN識別率為94.52%,高于MSR的79.45%、LBP的87.67%、DBN的89.04%、BDBN的90.41%和LDBN的93.15%. 由于提出的方法可以提取更多的有效判別信息,故可以獲得較高的識別率.

            算法識別率/%
            MSR 79.45
            LBP 87.67
            DBN 89.04
            BDBN 90.41
            LDBN 93.15
            PSO-DBN 94.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

            為了證明該方法的有效性,我們用不同算法在CK+數據庫上按照表5數據集分布進行實驗. 從表6實驗結果比較可以看出,本文提出的方法可以有效提高識別率,高于對DBN的改進方法,即BDBN的95.68%,LDBN的96.16%,也高于傳統DBN的96.64%和常用方法MSR和LBP.

            算法識別率/%
            MSR 92.33
            LBP 93.52
            DBN 96.64
            BDBN 95.68
            LDBN 96.16
            PSO-CG-DBN 97.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)

        目錄

          /

          返回文章
          返回