唐玉梅, 李丹楊, 吳亞婷, 黃仕松, 陳 星, 吳義青
(貴州大學 大數據與信息工程學院, 貴陽 550025)
面部表情識別是近年來模式識別與人工智能領域的研究熱點,在疲勞駕駛監(jiān)測、刑事案件偵破、課堂教育、醫(yī)療診斷等場景有著廣泛的應用[1-2]。 盡管已有學者對表情識別技術展開一系列的研究[3-5],但由于光照、年齡、性別、拍照姿勢等綜合因素的影響,要想獲得較高的表情識別準確率在機器學習和模式識別領域仍是一個復雜且富有挑戰(zhàn)的問題。
深度學習成為表情識別領域的研究熱點[6-9]。但是,由于識別過程通常采用單一模型進行分類預測,對未知數據的預測能力有限,集成學習能通過組合若干分類器提高模型的泛化能力,有效彌補單一模型在表情識別領域的不足[10-11]。
隨著集成分類器數目的增多,分類器之間的多樣性降低,產生冗余的分類器,不但不能提升預測系統(tǒng)的準確率,卻還會增加計算量和存儲空間,降低預測的時效性。 從所有基分類器中選擇少而好的分類器集成,有效彌補集成學習存在的上述缺陷,由此產生“選擇性集成”,達到了以較小的集成的規(guī)模,在保證分類準確率穩(wěn)中有升的同時減少計算負載的效果[12-14]。 Li 等學者[15]提出基于圖的動態(tài)剪枝 算法,將圖論的思想運用到分類器選擇過程,證明選擇性集成是一種有效提高人臉表情識別準確率的方法。 賈澎濤等學者[16]為了提高人臉表情識別的性能,提出一種基于集成學習理論的二次優(yōu)化選擇性集成分類。
分類器選擇性集成在表情識別取得一定的效果,但現有相關研究的文獻較少,而且,如何選出“好而不同”的分類器沒有統(tǒng)一的衡量標準,主流的選擇思想是通過準確率或多樣性選擇分類器子集。然而,如何有效地度量并利用分類器之間的差異性的問題也沒有得到很好的解決。 基于粗糙集理論的知識約簡無需先驗知識,在不損失分類或學習信息的前提下降低數據維度,簡化學習過程,在理論和應用上都取得了豐碩的研究成果[17-20]。 粗糙集理論也被運用于人臉表情識別領域。 馮林等學者[21]提出一種基于鄰域粗糙集與量子遺傳算法的人臉表情特征選擇。 段麗等學者[22]提出一種基于粗糙集的表情特征選擇。 但這些方法目的是為了降低人臉表情特征的維度,找到一個特征子集,提升分類器的性能。
綜上,本文提出一種面向人臉表情識別的基于知識約簡的分類器選擇方法,首次將粗糙集運用于分類器的選擇過程,綜合知識約簡、鄰域粗糙集和一致性指標的思想,提出了基于一致性閾值的鄰域粗糙集模型,發(fā)掘分類器之間的依賴關系,對集成系統(tǒng)進行剪枝,依次選出對集成系統(tǒng)貢獻最大的“最優(yōu)”分類器子集集成,并運用于人臉表情的識別領域,取得比多個集成剪枝算法更好的效果。
為了減少人臉表情識別分類器的集成規(guī)模,本文提出一種基于粗糙集和集成剪枝的人臉表情識別方法,實驗流程如圖1 所示。 首先,訓練分類器,選擇卷積神經網絡算法對人臉表情數據加以訓練,得到若干基分類器并對驗證數據集進行預測;其次,進行分類器選擇,即根據預測結果構建分類器選擇的信息決策表,綜合鄰域粗糙集[23-24]和一致性指標的思想,提出了基于一致性閾值的鄰域粗糙集模型,利用粗糙集對信息決策表進行知識約簡,從而選出分類器子集;最后,集成分類器,即使用大多數投票法將選出的分類器子集進行集成。
圖1 基于粗糙集集成剪枝的人臉表情識別模型Fig. 1 Facial expression recognition model based on rough set and integrated pruning
卷積神經網絡(CNN)可以更好地展現圖像的深層次信息,對大型圖像處理表現十分出色。 因此,本文選擇卷積神經網絡作為基分類器,擬合表情數據。
卷積神經網絡模型如圖2 所示,由圖2 可知,卷積神經網絡基本結構包括輸入層、卷積層、池化層、全連接層和輸出層。 本文共構造了31 種不同CNN模型,各模型的不同之處包括網絡層數、卷積核大小、填充方式、步長、激活函數等,從而增加分類器間的多樣性,具體參數設置將在實驗部分討論。
圖2 卷積神經網絡模型Fig. 2 Convolutional neural network model
粗糙集不需要任何先驗知識或附加信息,處理不相容、不精確和不完整數據的問題,可用于知識約簡。 因此,本文擬基于粗糙集屬性重要度指標,衡量分類器的重要程度,依次選出重要度較大的分類器子集集成。
然而,經典粗糙集局限于論域上嚴格的等價關系,完全按照集合間的包含關系定義下近似集,當分類器預測值與樣本實際類別不符時,難以求解下近似,從而無法區(qū)分不同分類器的重要程度。 鄰域粗糙集支持離散型和連續(xù)型數據處理,借助給定的半徑來約束樣本之間的相似性,進而實現鄰域信息?;恢滦灾笜诉M一步彌補粗糙集對噪聲敏感的不足。 鄰域粗糙集通過分類器對樣本的預測結果計算樣本間的距離,得到各樣本的鄰域,并根據鄰域信息判斷樣本是否能夠劃分到下近似中,對錯誤預測的樣本有較好的容忍性。
1.2.1 構建信息決策表
根據粗糙集模型,利用基分類器對驗證集數據的預測結果構建信息決策表S =<U,C∪D >。 其中,為論域,由所有驗證集樣本組成,xi為第i個驗證樣本;為條件屬性,C表示分類器池,屬性值為第k個分類器ck對樣本xi的預測結果preik;D ={di} 是決策屬性,由驗證集樣本真實標簽組成,所有屬性值均為離散數值。 可以得到的信息決策表見表1。
表1 基于基分類器對驗證集預測結果構建信息決策表Tab. 1 Based on the base classifier, an information decision table is constructed for the predicted results of validation set
1.2.2 構建鄰域一致性粗糙集模型
針對表1 分類器池構建的信息決策表,可定義樣本間存在鄰域關系如下:
定義1若對論域U中的任意樣本xi、xj、xn,都存在唯一確定的實函數Δ與之對應,且Δ滿足:
(1)Δ(xi,xj) ≥0,當且僅當xi=xj,Δ(xi,xj)=0;
(2)Δ(xi,xj)=Δ(xj,xi);
(3)Δ(xi,xn) ≤Δ(xi,xj)+Δ(xj,xn)。
則<U,Δ >為距離空間或度量空間,Δ為U上的距離函數。 本次研究使用漢明距離作為距離函數,“⊕” 為異或運算符,則對任意xi,xj∈U,xi=(prei1,…,preim) 和xj=(prej1,…,prejm) 的距離表示為:
對分類器池C,若屬性子集B?C,B中包含m個分類器,則第i個驗證樣本xi在B上的δ1鄰域可以表示為:
其中,δ1為鄰域半徑。 通過式(1)、式(2)計算各樣本鄰域,得到分類器子集B?C上的鄰域關系NRB。
定義2在鄰域決策系統(tǒng)<U,NRB,D >中,NRB為在分類器子集B?C上的鄰域關系,決策屬性D將論域U中的所有樣本劃分為P個等價類:X1,X2,…,XP。 則決策屬性D關于分類器子集B的鄰域下近似為:
圖3 為針對二分類問題的鄰域粗糙集上下近似劃分示意圖,設δ為鄰域半徑,由式(4)分析可知,左側x1鄰域內所有樣本屬于同一類,則x1被列入O類下近似中。 然而,右側x2鄰域內的樣本既有O類,也有Δ 類,x2不能被劃分到任何等價類的下近似。
圖3 鄰域粗糙集近似劃分示意圖Fig. 3 Approximate partition of neighborhood rough sets
圖3 說明鄰域粗糙集的近似劃分方法對被錯誤標識的樣本敏感度較高。 因此,本文引入一致性閾值δ2解決上述問題。 假設P(Lj|δB(xi) ) 為xi域內labelj類的概率,n是鄰域內樣本的數量,nj是第j類樣本的數量。 給定分類器子集B?C,xi∈U,δB(xi) 是樣本xi在屬性子集B上的鄰域,則xi的鄰域決策函數可以定義為:
即Ll為xi域內概率最大的樣本類,當且Ll與樣本xi的決策屬性di一致時,將xi加入決策屬性di所在等價類Xi的下近似,從而有效降低鄰域粗糙集對錯誤表示樣本干擾的敏感性。 此時式(4)可重新定義為:
1.2.3 對信息決策表的屬性約簡
不同分類器對集成預測系統(tǒng)具有不同影響,刪除不重要的分類器能夠降低數據維度,從而減小分類器的集成規(guī)模。 設red為約簡集,ck∈{C - red}表示預選入約簡集的分類器,D表示樣本的真實預測值。 由式(6)得出屬性子集{red∪ck}約束下的下近似集,從而計算出下近似集中樣本的總數|POSred∪ck(D)|,則決策屬性對選入的分類器序列的依賴度可表示為:
依賴度反映論域中能夠被確切分類的樣本比例。|U |表示樣本的總數,由粗糙集依賴度的性質可知,依賴度越大,則D對{red∪ck} 的依賴程度越強,也就是選出的分類器對預測結果影響越大。
分類器的重要度可由添加該分類器所引起的信息量的變化來度量,由此得出分類器ck∈{C -red}在已有分類器集合red的基礎上相對決策屬性D的重要度為:
將分類器的重要度排序,選出σ(ck,red,D) 最大時對應的第k個分類器ck, 如 果max(σ(ck,red,D) )>0, 則將ck加入到約簡集合red,參與最終的分類器集成。
1.2.4 基于鄰域粗糙集的分類器選擇算法
本文分類器選擇算法,由空屬性集合red =?開始,選出分類器池C中屬性重要度最大,即對當前系統(tǒng)最重要的分類器ck添加到red中。 其后的每次迭代,將原屬性集合剩下的屬性{C - red}中最重要的分類器添加到red, 當屬性的重要度max(σ(ck,red,D) )=0 時,停止迭代。 對表1 信息決策表S中的條件屬性約簡,結果red即為最終選擇的分類器。 分類器選擇過程如算法1 所示。
算法1 基于鄰域粗糙集的分類器選擇算法
輸入S =(U,C∪D),δ2;這里,U為所有驗證集,條件屬性C為分類器集合,D為驗證集的真實標簽,δ2為一致性閾值
輸出S的屬性約簡red,red中的集合即為選出的分類器子集
算法2 樣本鄰域計算算法
輸入決策系統(tǒng)S =(U,C∪D), 鄰域半徑δ1
輸出樣本xi的鄰域δ(xi)
模型求解得到分類器子集red ={c1,c2,…,cm},m為分類器子集數量,使用大多數投票法將選出的分類器子集進行決策層融合,獲得最大投票數的標簽作為最終的預測類別mv(x)。 輸入測試樣本x,大多數投票公式如下:
其中,I(·) 是一個判別函數;L表示所有樣本類別;ci(x) 是第i個分類器對給出的觀測樣本x的預測標簽。
2.1.1 數據集與實驗環(huán)境
實驗采用FER2013[25]、JAFFE[26]、CK+[27]三個經典人臉表情數據集進行實驗。 其中,FER2013 均為灰度圖像,包含28709 張測試集圖像,公共驗證集和私有驗證集圖像各有3589 張。 JAFFE 選取10名日本女學生在實驗環(huán)境下根據指示做出的213 張表情圖像,每個人包括憤怒等7 種基本表情。 CK+數據集由123 個類別、593 個圖形序列組成,其中326 個圖形序列帶有表情標簽,本實驗隨機選取58個帶標記的序列的前3 張圖片組成CK+的中性表情圖片。
實驗過程將所有表情統(tǒng)一成大小為48?48 的單通道圖,并將數據集劃分為訓練集、測試集和驗證集三個部分。 FER2013 訓練集數據量較大,實驗中作為訓練集,用于訓練分類器,獲得模型參數。 公共驗證集作為驗證集(fer_valid),用于驗證分類器效果,進行模型參數微調。 測試集包括FER2013 中的私有驗證集(FER)、CK+和JAFFE,用于測試整個識別系統(tǒng)的性能。 圖4 為3 個數據集的部分表情示例。 圖4 (a) ~(c)中,從左至右依次為: anger,disgust, fear, happy, sadness, surprise, neutral。
圖4 所有數據集圖片示例Fig. 4 Sample images of all datasets
2.1.2 實驗評價標準
準確率(Accuracy,Acc) 常作為衡量分類效果的標準。 設TP和FP分別表示被正確分類和被錯誤分類的樣本數量,Total為總的樣本數量,則Acc計算公式如下:
2.1.3 訓練細節(jié)
實驗基于TensorFlow 框架,主要通過調整超參數、網絡結構共生成31 個卷積神經網絡分類器形成分類器池。 所更改的神經網絡參數類型及范圍見表2。
表2 卷積神經網絡參數設置Tab. 2 Parameter settings of convolutional neural network
圖5 為生成的分類器對不同數據集的預測結果的箱線疊加散點圖,用于顯示基分類器對不同數據集預測準確率的分布情況。 箱線圖由上至下各橫向依次表示基分類器預測準確率的最大值、上四分位數、中位數、下四分位數和最小值。 箱線圖中處于最大值和最小值之外的數據視為異常值,說明該分類器預測效果不具有代表性。 fer_valid 和FER 均來源于同一數據庫的不同劃分,且樣本總體數量一致,由此推測會出現類似的預測效果。 從圖5 可得到證明,分類器對2 個數據集的預測結果的準確率均主要分布在0.45 ~0.6 之間。 CK+上測試結果相對較差,準確率主要分布在0.4 ~0.53 之間,而JAFFE 數據庫采集的亞洲人臉表情,和訓練數據集相比由于種族不同,面部解析的方式有所不同,從而預測效果不佳,準確率主要分布在0.3~0.45 之間。
圖5 基分類器對各數據預測結果的箱線疊加散點圖Fig. 5 Box line superposition scatter diagram of predicted results of each data by base classifier
根據式(10)計算測試集的預測準確率作為集成算法性能評估的標準。 利用鄰域關系構建的粗糙集,下近似元素的個數可以衡量相對重要度,依據屬性重要度準則進行知識約簡,采用前向貪心搜索策略依次選出分類器。 鄰域半徑過大,會導致大量不同類別的樣本劃分到同一鄰域;一致性閾值過小,會失去對鄰域樣本的約束作用,反之,會輸出空的特征子集。
為了說明所提出的基于鄰域粗糙集分類器選擇的表情識別模型的有效性,設置9 個不同的鄰域半徑δ1, 分別為0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5 及6 個不同的一致性閾值δ2,分別為0.55,0.6,0.65,0.7,0.75,0.8。
鄰域半徑δ1隨著不同一致閾值δ2變化,在各數據集上的集成效果如圖6 所示。
圖6 鄰域半徑δ1隨一致性閾值δ2變化的選擇集成效果Fig. 6 Influence of domain radiusδ1with consistency thresholdδ2on the selected integration effect of each data set
圖6 (a)展示了隨著一致性閾值變化,在不同鄰域半徑下選擇后集成的效果總體呈現相同的趨勢,鄰域半徑δ1=0.5 時預測效果大幅下降后再上升,這是由于鄰域半徑設置過大可能導致較多不同類別的樣本劃分到同一鄰域內,而較小的一致性閾值不能很好地取起對鄰域決策的約束作用;同理,由圖6(b)、(c)可看出,鄰域半徑δ1=0.5 時預測效果與其它不同鄰域半徑的預測趨勢不一致,說明鄰域半徑設置過大,會增加鄰域樣本的不一致性。 綜合圖6 在3 個不同的數據集上的集成效果,總體上,一致性閾值δ2取0.65 和0.7時,對不同的鄰域半徑下集成效果影響較為突出,說明只有選取合適的一致性閾值,才能更好地對樣本進行正確分類,有效度量不同分類器的重要程度。
為了驗證本文集成剪枝方法的有效性,使用經典表情數據集,選用多個不同剪枝算法與本文所提模型進行對比。 通過多次實驗,選擇每種算法在各個數據集上表現效果最好的一組數據,得到的結果見表3。
表3 不同剪枝算法在各個數據集上的準確率Tab. 3 The accuracy of different pruning algorithms on each data set
由表3 可知,將所有分類器進行大多數投票集成的結果作為基線,各集成剪枝算法的準確率在大部分情況下高于將所有分類器集成。 和基線相比,本文的集成剪枝算法在FER 數據集上準確率提升了2.1%,在JAFFE 數據集上提升了8%,在CK+上提升了7.9%,且本文提出的集成剪枝算法在JAFFE和CK+數據集上都獲得比其它集成剪枝算法更高的準確率,在FER 上準確率比文獻[32]方法略低,原因是采用大多數投票法集成,當存在多個相同票數的類型時,隨機選擇其中一個類型,會出現誤判的情況,進而導致準確率略微下降。
本文結合粗糙集和集成學習的思想,研究重點在于對多個卷積神經網絡模型進行集成剪枝,拓寬粗糙集的運用領域,并將提出的集成剪枝算法運用到人臉表情識別領域,在提高人臉表情識別率的同時,減小分類器的集成規(guī)模,進而提升識別系統(tǒng)的穩(wěn)定性的效果。 由于集成剪枝算法準確率一定程度上取決于基分類器預測效果,因此,后續(xù)工作將使用先進的深度學習網絡構建分類器池,再進行集成剪枝操作,以提高人臉表情識別的準確率。