俞 成,姚 瑤,張青山,宋晨陽,姜代紅
(徐州工程學院 信電工程學院,江蘇 徐州 221018)
人的表情包含信息。心理學家A.Mehrabia的研究[1]表明,人類有高興、生氣、吃驚、恐懼、厭惡和悲傷六種基本表情。
人臉表情識別是個困難的問題,光線變換、物體遮擋是普遍的阻礙。傳統(tǒng)表情識別領(lǐng)域中的成果很多,但傳統(tǒng)方法直接依賴于人工提取的特征,受到成像姿勢、物體遮擋、光照變化等因素的影響,算法的魯棒性和精度仍有升的空間。
近年的深度學習在圖像識別方面進展很大。GAN模型[2]有很廣闊的前景。牛津視覺幾何組的VGG模型[3],將 Top-5錯誤率降低到 7%的水平。GoogLeNet(Inception)[4]將錯誤率降低到了4.8%。同時,網(wǎng)絡深度的增加使梯度消失、梯度爆炸等問題讓人們不得不作出更多改變。
因此,本文提出一個新的算法,該算法融合殘差塊單元(Residual Block)、反殘差塊單元(Inverted Residual Block)進行對人臉表情的識別。算法先進行圖像增強,緩解數(shù)據(jù)集規(guī)模小的問題,再通過Dropout等技術(shù),盡可能減少過擬合、梯度爆炸和梯度消失等問題,并通過實驗對新方法進行有效性驗證。
人臉表情數(shù)據(jù)庫規(guī)模較小,使用場景不復雜。人臉數(shù)據(jù)集僅對笑與不笑標記,而且笑容本身使用的肌肉較多,特征明顯。
本文使用Fer2013數(shù)據(jù)集,同時使用FER+(即FER Plus)[5]數(shù)據(jù)集標簽進行多標簽學習。表情識別,其實是多標簽分類任務,本質(zhì)上是從N個標簽中選中 n個(n≤N),因為一個人可以既哭又笑。該數(shù)據(jù)集圖片分辨率為 48*48*1,場景比在實驗室錄入的更加多變,而低分辨率和單通道圖像增加識別難度。
Fer2013+數(shù)據(jù)集標簽分為中性,幸福,驚喜,悲傷,憤怒,厭惡,恐懼,輕蔑,未知,NF。其中,NF是指圖像非人臉。
圖1 Fer2013+多標簽樣例Fig. 1 Fer2013 + multi-label sample
在圖像增強方面,采用旋轉(zhuǎn)0.2,裁剪0.2,允許水平翻轉(zhuǎn)和最近填充的模式擴充數(shù)據(jù),而后,將所有圖像歸一化。
傳統(tǒng)深層CNN不能將梯度高效傳遞,而殘差網(wǎng)絡顯著提高網(wǎng)絡反向傳播的能力,緩解梯度彌散和梯度爆炸問題,阻止深層神經(jīng)網(wǎng)絡的退化,加快收斂,并且能夠有效提升更深層的學習能力。它的基本單元是殘差塊,殘差塊包含一條捷徑,捷徑能跨層傳遞信息,從而提高反向傳播的效果。殘差塊定義:
就是捷徑。殘差塊最終通過壓縮——提取特征——擴張來完成特征提取。
若比例系數(shù)λ非1,則會出現(xiàn)兩種情況:(1)λ>1,越淺層疊得梯度越大,于是梯度爆炸。(2)λ<1,越淺層疊得的梯度越小,隨著層數(shù)增加,漸趨于 0,這就是殘差網(wǎng)絡出現(xiàn)前,難以堆疊深層網(wǎng)絡的原因:訓練太困難了。
綜上,比例系數(shù) λ只能為 1,捷徑不包含激活層。那么在多層卷積堆疊的位置,激活函數(shù)的是否或如何使用的問題,而殘差網(wǎng)絡原文[6]中通過實驗得到了解答。
構(gòu)建殘差網(wǎng)絡需要權(quán)衡精度和復雜度,本文使用ResNet-50。具體原因見表1。Model top-1 err. top-5 err.
表1 基于ImageNet驗證集的錯誤率Tab.1 Error rate based on ImageNet verification set
ResNet-50實驗數(shù)據(jù)見下圖。模型準確率穩(wěn)定在80%附近,驗證集 loss波動約 0.007較穩(wěn)定,肯定了殘差塊的作用。但模型有過擬合的跡象。
圖2 ResNet-50在Fer2013+上的實驗結(jié)果Fig. 2 Experimental results of ResNet-50 on Fer2013+
標準的卷積層用卷積核 K∈ Rk×k×di×dj對形狀為 hi× wi× dj的輸入張量卷積,輸出形狀為hi×wi×dj的向量 Lj,計算量為 hi? wi? di? dj?k? k。而深度分離可卷積將一個完整的卷積操作分割成 DW 卷積,和緊接著的 PW 卷積(1×1卷積)層。深度分離可卷積效果與標準卷積幾乎一致,而算力耗費卻降 至 hi? wi? di( k2+ dj)。
反殘差塊先升維后降維。其操作由3個步驟組成:F (x ) = [A ? N ? B] x 。其中,A和B為線性變換,而 N是非線性逐層變換,實際使用中,N=ReLU6?DW?ReLU6。
下面,就反殘差塊能否減輕遷移學習的需求而言,進行 MobileNet[7]上遷移學習和 MobileNetV2[8]上遷移學習的能力比較,圖3就這兩個差距進行對比,圖中橙色為遷移學習MobileNet,藍色為非遷移學習MobileNet,紅色為遷移學習MobileNetV2,綠色為非遷移學習MobileNetV2??梢娺w移學習網(wǎng)絡學習更快,MobileNet過擬合傾向更嚴重,并再次肯定了MobileNetV2的表現(xiàn)非常穩(wěn)定這一結(jié)論。非遷移學習讓MobileNetV2過擬合得到抑制,卻讓MobileNet過擬合情況更加嚴重,這可能是參數(shù)數(shù)量與數(shù)據(jù)集規(guī)模不匹配,也可能是隨機權(quán)重初始化的問題。從驗證集acc看,Mobile-NetV2對遷移學習需求低于MobileNet,但是需求降低不多,且未能排除隨機權(quán)重初始化的影響,需要正則化等應對過擬合的調(diào)整。
圖3 MobileNet遷移學習和MobileNetV2遷移學習差距對比Fig.3 The difference between transfer learning on MobileNet and transfer learning on MobileNetV2
反觀 ResNet-50網(wǎng)絡對遷移學習的需求,見圖4。圖中灰色表示遷移學習 ResNet-50,藍色表示非遷移學習ResNet-50。
圖4 ResNet-50遷移學習與否的對比Fig.4 Comparison of ResNet-50 transfer learning
再次驗證了遷移學習能加大擬合速度,卻也加大了過擬合傾向。從長遠角度看,ResNet-50可能完全不需要遷移學習,這反而能夠讓模型表現(xiàn)更加出色。此外,遷移學習的效果可能與網(wǎng)絡結(jié)構(gòu)和學習能力有密切關(guān)系。遷移學習可能更加適合使用中等規(guī)模的多樣化數(shù)據(jù)集中——數(shù)據(jù)集規(guī)模越大,越不需要遷移學習;遷移學習所用數(shù)據(jù)集規(guī)模越小,過擬合傾向越明顯。
基于上面殘差塊與反殘差塊的實驗結(jié)果對比,本文推出了幾種正反殘差塊網(wǎng)絡。
正反殘差塊互相穿插的正反殘差網(wǎng)絡測試結(jié)果見圖 5。圖中紅色為未正則化的穿插式正反殘差網(wǎng)絡,圖中灰色為帶雙0.3 Dropout層正反殘差網(wǎng)絡,圖中亮藍色為ResNet-50,圖中深藍色為MobileNet,圖中綠色為MobileNetV2。
圖5 穿插式正反殘差網(wǎng)絡與其它網(wǎng)絡對比圖Fig.5 Comparison of overlapping positive and negative residual networks with other networks
圖6 非穿插式正反殘差網(wǎng)絡對比Fig.6 Contrast of positive and negative residual networks without overlapping
穿插式正反殘差網(wǎng)絡正確率均優(yōu)于 ResNet-50網(wǎng)絡,但是,使用雙0.3 Dropout層的網(wǎng)絡卻略過擬合,且正確率低于未使用 Dropout層的網(wǎng)絡。可能Dropout在穿插網(wǎng)絡中生成的噪音干擾了反殘差塊的低維信息留傳。不過,表現(xiàn)都略優(yōu)于已有模型。
基此,將正反殘差塊的相對位置重新設計了:MR正反殘差網(wǎng)絡數(shù)據(jù)先流入多反殘差塊,再流入多殘差塊;RM正反殘差網(wǎng)絡數(shù)據(jù)先流入多殘差塊,再流入多反殘差塊。實驗見圖 6。圖中橙色為使用雙0.3 Dropout層的RM正反殘差網(wǎng)絡,藍色為使用雙0.3 Dropout層的MR正反殘差網(wǎng)絡,粉色為無正則化RM正反殘差網(wǎng)絡,綠色為無正則化MR正反殘差網(wǎng)絡。
即使不使用遷移學習,非穿插式正反殘差網(wǎng)絡其擬合需要的輪數(shù)也基本維持在 ResNet-50和MobileNetV2水平,在200-250個epoch時,模型基本擬合到位。其次,MR和RM網(wǎng)絡都展示出繼承而來的過擬合抑制特性,且顯露出了類似 ResNet的準確度更高的特性,保持了訓練和測試的穩(wěn)定性。其中,使用雙Dropout層的RM正反殘差網(wǎng)絡擬合所需輪數(shù),準確性最佳,loss最低。RM正反殘差網(wǎng)絡結(jié)構(gòu)如表2所示。
實際上,驗證集上表現(xiàn)好,不代表真實水平,最后在測試集上的表現(xiàn),才能反映出模型算法的真實水平,見表3。
表3 不同網(wǎng)絡在測試集上的準確度與損失比較Tab.3 Comparison of ACC and loss of different networks on test sets
帶雙Dropout層RM正反殘差網(wǎng)絡擬合所需輪數(shù),準確性最佳,loss最低,獲得了驗證集準確率接近84%的優(yōu)秀成績。
本文介紹了國內(nèi)外人臉表情識別研究現(xiàn)狀,提出基于正反殘差塊的人臉表情識別算法。實驗結(jié)果表明,該算法同時繼承ResNet和MobileNetV2的優(yōu)秀特性,準確率高,抑過擬合能力強,識別效果好。后續(xù)可以研究遷移學習的RM正反殘差網(wǎng)絡,和對網(wǎng)絡結(jié)構(gòu)的進一步優(yōu)化。