李 奎 ,莫建華 ,王加俊
(蘇州大學(xué)電子信息學(xué)院電子信息工程系,江蘇 蘇州 215006)
引起面部運動的面部肌肉被稱為面部運動單元(action unit,AU)[1],AU檢測的目的是檢測這種運動是否出現(xiàn)。由于個體差異性和AU間復(fù)雜的關(guān)系,AU檢測極具挑戰(zhàn)。20世紀70年代,EKMAN等[2]提出了面部運動編碼系統(tǒng)(facial action coding system,F(xiàn)ACS),其中定義了44種面部AU,并將AU的強度定義為5個等級。FACS的提出為AU檢測奠定基礎(chǔ)。21世紀初,一些研究人員使用隱馬爾可夫模型[3]、貝葉斯網(wǎng)絡(luò)[4]、受限玻爾茲曼機[5]和Credal網(wǎng)絡(luò)[6]建模AU關(guān)系實現(xiàn)AU檢測,這些AU關(guān)系建模的缺點是無法影響特征學(xué)習(xí)和檢測過程。近年來,研究人員提出了大量基于深度學(xué)習(xí)的AU檢測方法。一些方法基于AU的區(qū)域性展開研究,比如DRML[7]、EAC-Net[8]、JAA-Net[9]、AURCNN[10],另外一些方法利用圖卷積神經(jīng)網(wǎng)絡(luò)建模AU關(guān)系[11-13],但是這些方法忽略了樣本的獨特性對AU關(guān)系的影響。除此之外,研究人員還嘗試利用Transformer[14]來探究類別間的關(guān)系,該方法采用圖片Patch的方式,以及多頭自注意力機制,對像素與像素、區(qū)域與區(qū)域間的關(guān)系進行建模[15]。
為了解決以上問題,本研究提出了一種新的AU檢測模型,利用先驗的AU區(qū)域知識劃分面部區(qū)域,并融入卷積網(wǎng)絡(luò),隨后通過Transformer結(jié)構(gòu)中的編碼器對AU關(guān)系進行樣本獨特性建模,最終利用全連接層實現(xiàn)AU分類。在BP4D和DISFA數(shù)據(jù)集上的測試結(jié)果顯示,本文提出的模型具有良好的AU檢測性能。
對人臉圖像進行預(yù)處理能有效減少與人臉特征無關(guān)的噪聲信息對AU檢測的影響。人臉圖像的預(yù)處理的步驟如圖1所示。預(yù)處理包括人臉關(guān)鍵點檢測、人臉對齊、人臉裁剪、人臉區(qū)域劃分、數(shù)據(jù)標準化等步驟。首先,使用MediaPipe工具包[16]對數(shù)據(jù)集中所有圖片進行關(guān)鍵點檢測;其次,利用仿射變換對每一段視頻數(shù)據(jù)中所有幀的人臉進行對齊操作,以消除由于縮放和旋轉(zhuǎn)造成的影響;接著,對人臉區(qū)域進行裁剪,使得裁剪后的圖片大小為224×224個像素,人臉雙瞳中心的距離為90個像素;然后,結(jié)合FACS對AU的解剖學(xué)描述,在分析臉部肌肉運動的基礎(chǔ)上,參考MA等[10]提出的方法,利用面部關(guān)鍵點將人臉劃分出8個區(qū)域,各個區(qū)域包含的AU類別如表1所示;最后,對訓(xùn)練集中每一個樣本的三個顏色通道分別進行歸一化操作,以消除不同樣本之間像素分布的差異。
表1 各個興趣區(qū)所包含的AU類別
圖1 數(shù)據(jù)預(yù)處理步驟
為了充分利用AU區(qū)域的先驗信息提取有效的高維特征,本研究使用ResNet101的前三個殘差模塊作為基礎(chǔ)網(wǎng)絡(luò),殘差結(jié)構(gòu)使輸入端的信息能夠與輸出端直接相連,這種結(jié)構(gòu)能使網(wǎng)絡(luò)梯度反向傳播時直接作用于最初的輸入數(shù)據(jù),避免了網(wǎng)絡(luò)層數(shù)過多引起的網(wǎng)絡(luò)退化問題。第三個殘差模塊生成的高維特征圖和NAU個AU區(qū)域邊界框一起進行感興趣區(qū)域池化操作,經(jīng)過殘差模塊4、一個卷積層和全連接層后得到NAU個一維特征向量,作為AU關(guān)系網(wǎng)絡(luò)的輸入。用來進行特征提取的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 AU區(qū)域特征提取網(wǎng)絡(luò)
下面分三個部分介紹AU特征提取網(wǎng)絡(luò)的參數(shù)細節(jié)。第一部分由ResNet101的前3個殘差結(jié)構(gòu)組成,每個殘差模塊均由3個具有跳躍結(jié)構(gòu)的瓶頸組成,瓶頸結(jié)構(gòu)采用卷積核為1×1,3×3,1×1的組合設(shè)計而成,第一個1×1卷積核負責(zé)降低輸入特征的維度,而輸出端的1×1卷積核負責(zé)提高特征的通道數(shù),所以這樣的設(shè)計在增加網(wǎng)絡(luò)層數(shù)的同時也減少了參數(shù)量。最終輸出人臉特征圖尺寸為1 024×28×28。第二部分由感興趣區(qū)域池化層和殘差模塊4組成,其作用是由預(yù)處理得到的人臉AU區(qū)域框,得到對應(yīng)于人臉特征圖的NAU個AU的高維特征,尺寸為NAU×2 048×7×7。第三部分是AU Patch Embedding模塊,利用一個卷積核為7×7的卷積層,將特征的維度調(diào)整為NAU×2 048,最后使用全連接層輸出維度為NAU×768的AU特征向量。
由上文的討論可以看出,本文的方法與文獻[10]中的方法有很大的不同。文獻[10]把人臉面部區(qū)域劃分為43個感興趣區(qū)域,再將不同的區(qū)域組合成9個AU組。本文則直接針對AU將人臉劃分為8個不同的感興趣區(qū)域,每個AU均包含在其中一個感興趣區(qū)域之中,并且在AU特征提取網(wǎng)絡(luò)中對每個AU所在區(qū)域均進行感興趣區(qū)域池化,以此生成NAU個特征,并且達到AU特征的尺度統(tǒng)一的目的。這樣的操作滿足了Transformer結(jié)構(gòu)用于圖像領(lǐng)域時對輸入圖像Patch尺寸的一致性要求,有利于后續(xù)的AU關(guān)系網(wǎng)絡(luò)中對特征進行類別標記和位置編碼。
不同AU的出現(xiàn)是存在生理上聯(lián)系的,并且AU之間的關(guān)系受個體的獨特性影響?;谝陨峡紤],本文使用Transformer的編碼器結(jié)構(gòu)來隱式地對特征提取模塊輸出的NAU個AU特征向量之間的關(guān)系進行建模,關(guān)系建模過程中考慮AU本身的特征對于AU關(guān)系的作用。這種AU特征本身具有的樣本獨特性決定了建模的AU關(guān)系也具有獨特性。ARM模塊由類別標記、位置嵌入、12個級聯(lián)的AU關(guān)系編碼器以及一個全連接層分類器組成。ARM模塊的結(jié)構(gòu)如圖3所示。圖中類別標記的作用是在NAU個AU特征的首位插入一個尺寸為1×768大小的類別標記(其值被隨機初始化)。類別標記通過與每個AU特征向量的交互,最終獲取類別信息。位置嵌入通過將一個可學(xué)習(xí)的AU位置特征與經(jīng)過類別標記的AU特征直接相加,使得NAU個AU特征向量的位置編碼能夠通過后續(xù)AU關(guān)系編碼器學(xué)習(xí)彼此的信息,從而建立起AU間的聯(lián)系。AU關(guān)系編碼器主要包括一個多頭注意力模塊和一個帶有非線性激活函數(shù)的多層感知器。
圖3 AU關(guān)系建模模塊
AU關(guān)系編碼器整體采用了跳躍結(jié)構(gòu),并保持輸入輸出特征維度不變,其主要包含兩個網(wǎng)絡(luò)組件:一個多頭注意力模塊以及一個多層感知器。AU特征提取網(wǎng)絡(luò)輸出尺寸為NAU×768的AU特征向量,拼接1×768的類別標記信息后維度變?yōu)?NAU+1)×768,而在每一行嵌入1×768維的位置信息后特征維度保持為(NAU+1)×768。多頭注意力層中使用全連接層將維度增大至(NAU+1)×2 304,隨后將此特征均分為三段,分別為命名為q、k、v,維度均為(NAU+1)×768,再通過設(shè)定的注意力的頭數(shù)H,分別將q、k、v劃分為H個特征子空間。如果設(shè)定H=12,則q、k、v的維度最終變?yōu)?NAU+1)×12×64。通過子空間的劃分,網(wǎng)絡(luò)能夠關(guān)注到不同位置上的信息,模型也能夠綜合多方面信息提取更加準確、豐富的特征。q、k、v之間進行一系列矩陣乘法、參數(shù)縮放、SoftMax等操作,得到維度為(NAU+1)×12×64的特征,最后經(jīng)過全連接層輸出尺寸為(NAU+1)×768的特征。多層感知器包含兩層全連接層,隱含層特征的維度是3 072維,第一層全連接層使用GeLU激活函數(shù)[17],并且兩層網(wǎng)絡(luò)均使用Dropout操作來防止多層感知器出現(xiàn)過擬合現(xiàn)象。經(jīng)過12個AU關(guān)系編碼器之后,從輸出的特征中取出類別標記向量做后續(xù)分類任務(wù)。將類別標記向量輸入一個由全連接層和Sigmoid激活函數(shù)構(gòu)成的分類器中,最終得到AU分類概率。
將圖2和圖3中的網(wǎng)絡(luò)串接就構(gòu)成了本文AU檢測模型,它們將作為一個整體進行訓(xùn)練和測試。由于數(shù)據(jù)集中樣本的AU標簽分布嚴重不平衡,并且AU分類任務(wù)屬于多標簽場景,所以本研究使用加權(quán)多標簽交叉熵損失和加權(quán)可微F1損失函數(shù)作為損失函數(shù)對人臉運動單元檢測模型進行訓(xùn)練。
AU分類任務(wù)屬于多標簽場景,對于數(shù)據(jù)驅(qū)動的模型來說,訓(xùn)練數(shù)據(jù)集中的類別平衡性影響著模型的性能。然而,這種類別平衡性常常不能滿足。例如,本文所使用的BP4D和DISFA數(shù)據(jù)集,其中某一折訓(xùn)練集各AU類別出現(xiàn)頻次如圖4所示,其中0標簽表示無任何AU出現(xiàn)的情況,可見訓(xùn)練集中樣本的AU標簽分布嚴重不平衡。
A:BP4D上某一折訓(xùn)練集的各個AU出現(xiàn)頻次;B:DISFA上某一折訓(xùn)練集的各個AU出現(xiàn)頻次。AU:面部運動單元。
為了解決以上問題,本研究設(shè)計了一種新的損失函數(shù)對模型進行訓(xùn)練,見公式(1),損失函數(shù)包含三部分:加權(quán)多標簽交叉熵損失函數(shù)、加權(quán)可微F1損失函數(shù)、對網(wǎng)絡(luò)權(quán)重的L2正則化項。公式(2)給出了加權(quán)交叉熵損失函數(shù)。為了平衡類別內(nèi)正負樣本的不均衡,設(shè)計了一個加權(quán)可微F1損失函數(shù)Ef1,使用預(yù)測得到的概率作為標簽值來計算可微F1損失函數(shù),避免了由于模型最終預(yù)測的標簽值為{0,1}而導(dǎo)致的F1分數(shù)不可微的問題,權(quán)重可微F1損失函數(shù)見公式(3)所示。
(1)
(2)
(3)
為了評估本研究所提出的模型的性能,在兩個被廣泛使用的公開數(shù)據(jù)集BP4D、DISFA進行了模型訓(xùn)練和性能評估。BP4D包含了41名青年在與實驗人員進行8項不同的互動過程中各種情緒的2D和3D視頻。41名參與者中有23名女性,18名男性;其中11人是亞洲人,6人是非裔美國人,4人是西班牙裔,20人是歐美人。BP4D包含328個視頻約140 000張有效的人臉圖像。DISFA數(shù)據(jù)庫收集了27名成年受試者的自發(fā)面部動作,每個受試者的視頻記錄時間為4 min,每個視頻4 844幀,共有130 788張圖像。本研究對BP4D中的12個AU和DISFA中的8個AU進行檢測。
為更好地對算法的魯棒性進行分析,分別在每個數(shù)據(jù)集上進行三折交叉實驗驗證,BP4D數(shù)據(jù)集的三折交叉驗證的劃分方式分別為:訓(xùn)練集27人或28人,測試集14人或13人,DISFA數(shù)據(jù)集的三折交叉驗證劃分方式為訓(xùn)練集18人,測試集9人。取三次交叉驗證的F1 分數(shù)的平均值作為最終結(jié)果。
本文使用隨機梯度下降算法對模型進行訓(xùn)練,其超參數(shù)設(shè)置如下:動量系數(shù)為0.9,實驗訓(xùn)練共20個周期并使用余弦衰減學(xué)習(xí)率,初始學(xué)習(xí)率lrstart=0.001,最后一個訓(xùn)練周期的學(xué)習(xí)率為lrend=0.000 01,L2正則化項權(quán)重設(shè)置為5e-5。
AU檢測是一個多標簽分類任務(wù),AU檢測結(jié)果性能的評價指標一般采用式(4)所示的F1分數(shù),F(xiàn)1分數(shù)同時兼顧了分類模型的查準率和查全率,可以看作是模型查準率和查全率的一種調(diào)和平均,因此F1分數(shù)能真實地反映出分類結(jié)果的好壞。
(4)
2.4.1 消融實驗 為分析各個網(wǎng)絡(luò)模塊在AU檢測中的作用,本研究用ResNet101作為主干網(wǎng),加權(quán)交叉熵為基礎(chǔ)損失函數(shù),分別對僅包含AU特征提取網(wǎng)絡(luò)和全連接層作為分類器的檢測模型(ARFE)、在ARFE基礎(chǔ)上加入AU關(guān)系建模模塊的檢測模型(ARFE+ARM)、引入加權(quán)可微F1損失函數(shù)(WDFL)的檢測模型(ARFE+ARM+WDFL)以及使用AU關(guān)系編碼器中不同頭數(shù)的檢測模型進行三折交叉驗證實驗。
實驗結(jié)果顯示,ARFE的AU檢測結(jié)果中平均F1分數(shù)達到62.6%,優(yōu)于ResNet101的60.7%和VGG16的54.0%,并且P<0.05,差異具有統(tǒng)計學(xué)上的顯著性。ARFE+ARM的AU檢測結(jié)果中平均F1分數(shù)達到63.4%,相比ARFE提高了0.8%,并且P<0.05,這一結(jié)果說明利用Transformer的編碼器構(gòu)建的AU關(guān)系模塊可以有效捕獲AU間關(guān)系,提高分類性能。ARFE+ARM+WDFL的AU檢測結(jié)果中平均F1分數(shù)達到63.8%,相比ARFE+ARM提高了0.4%并且具有統(tǒng)計學(xué)上的顯著性,這說明引入加權(quán)可微F1損失函數(shù)的檢測模型能更好地平衡查準率和查全率。
本研究通過Transformer編碼器中的注意力機制來考慮樣本的獨特性,當Transformer編碼器中的頭數(shù)較少時,模型對每個輸入位置的信息提取能力較弱,更加傾向于全局特征的關(guān)系建模,使得模型在處理每個樣本時的注意力分布更加相似,從而在一定程度上減小了樣本獨特性的影響。反之,當Transformer編碼器中的頭數(shù)較多時,模型對每個輸入位置的信息提取能力較強,使得模型更加具有樣本自適應(yīng)性,從而在一定程度上增加了樣本獨特性的影響。為了驗證樣本獨特性對AU關(guān)系建模的影響,通過改變Transformer編碼器中的頭數(shù)來調(diào)整Transformer中的注意力機制,進而影響到AU關(guān)系的建模。圖5給出了ARFE+ARM+WDFL方法中編碼器頭數(shù)對于AU檢測性能的影響。由圖可見,當頭數(shù)比較少的時候,模型的檢測性能與頭數(shù)呈正相關(guān)。當編碼器頭數(shù)增加到12時,模型的AU檢測性能達到最優(yōu),而繼續(xù)增加頭數(shù)到16時模型的性能仍然維持同一水平,并略有降低。以上結(jié)果說明,樣本獨特性對模型的檢測性能有著重要的影響,當樣本獨特性和特征的全局性達到某種平衡時,模型的檢測性能達到最優(yōu)。
圖5 編碼器頭數(shù)對AU檢測精度的影響曲線
2.4.2 與現(xiàn)有主流方法的對比試驗 為了說明本研究模型的優(yōu)越性,表2和表3分別給出了本文提出的方法與其他主流AU檢測方法在BP4D數(shù)據(jù)集以及DISFA數(shù)據(jù)集上的三折交叉驗證實驗結(jié)果(其他方法的結(jié)果均直接取自于其他已發(fā)表的論文)。
表2 不同人臉AU檢測方法在BP4D數(shù)據(jù)集上的檢測性能比較 (%)
表3 不同人臉AU檢測方法在DISFA數(shù)據(jù)集上的檢測性能比較 (%)
由表2可見,相比于其他方法,本研究提出的方法對于BP4D數(shù)據(jù)集中12個AU的檢測結(jié)果更加穩(wěn)定,對于AU1、AU2、AU4這些出現(xiàn)頻次偏少,不利于模型檢測的類別,相比次優(yōu)分數(shù)分別高出9.4%、14.8%、3.3%;而在部分AU,如AU6、AU7、AU10、AU12的檢測結(jié)果上相比其他方法的F1分數(shù)稍低,原因是損失函數(shù)使用的權(quán)重削弱了模型對這些出現(xiàn)較多AU的關(guān)注,以及網(wǎng)絡(luò)輸入的人臉圖像尺寸為224×224相比AURCNN的512×512更?。辉贏U15、AU17上,由于這些AU實際區(qū)域較小,因此使用了多尺度特征提取的SRERL和AURCNN更有優(yōu)勢。在平均F1分數(shù)上,本研究提出的方法也超過了其他方法。
表3給出了不同方法在DISFA數(shù)據(jù)集上對8個AU進行檢測的性能,與BP4D類似,在AU1、AU2、AU9這些出現(xiàn)頻次較少的類別上,我們的模型仍能保持較好的檢測性能;此外,由于DISFA數(shù)據(jù)集標簽相比BP4D具有更強的稀疏性,因此建模AU間的關(guān)系對于模型性能提升尤為顯著,從F1分數(shù)平均值來看,本文的方法相比次優(yōu)的方法提升了5.8%,并且我們的方法對全部的AU檢測結(jié)果具有很高的穩(wěn)定性。
除此之外,表4和表5還給出了本研究模型在BP4D和DISFA數(shù)據(jù)集上的三折交叉驗證的結(jié)果。雖然其他方法未提供三折交叉驗證的結(jié)果,無法用此項作為對比,但仍然可以看出本研究方法在各折上檢測性能的標準差上均保持了較低值,這說明本研究模型對不同的數(shù)據(jù)劃分方式具有很強的魯棒性。
表4 研究模型在BP4D數(shù)據(jù)集上的三折交叉驗證結(jié)果
表5 研究模型在DISFA數(shù)據(jù)集上的三折交叉驗證結(jié)果
本研究將有關(guān)AU區(qū)域性的專家先驗知識融合特征提取的過程中,使得模型能專注于與特定AU相關(guān)的人臉區(qū)域,從而提取具有更強表達能力的AU區(qū)域特征??紤]到人臉不同AU在空間位置上的關(guān)聯(lián)性,本研究利用Transformer的編碼器結(jié)構(gòu)對AU間的關(guān)系進行編碼,使得模型能夠充分考慮樣本的獨特性。為了有效解決具有多個AU標簽的分類任務(wù)中的類別不平衡問題以及正負樣本不均衡問題,采用加權(quán)多標簽交叉熵以及加權(quán)可微F1損失作為模型訓(xùn)練中的損失函數(shù)。在BP4D和DISFA數(shù)據(jù)集上的評測結(jié)果證明本研究提出的AU檢測方法與現(xiàn)有的主流方法相比具有更好的穩(wěn)定性,這種穩(wěn)定性不僅表現(xiàn)為對同一數(shù)據(jù)集上不同AU檢測性能的相對一致性,而且表現(xiàn)為對不同數(shù)據(jù)集上檢測性能的相對均衡性。