999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的面部動作單元識別算法

2020-05-07 12:04:20王德勛虞慧群范貴生
關鍵詞:模型

王德勛, 虞慧群, 范貴生

(1. 華東理工大學計算機科學與工程系,上海 200237;2. 上海市計算機軟件測評重點實驗室,上海 201112)

面部動作單元(Facial Action Unit, AU)是構成人臉表情的基本成分,它描述了面部各區域肌肉群的運動情況。不同區域的肌肉運動構成的動作單元由不同的AU編號表示,例如AU4表示眉毛被周圍肌肉群帶動壓低并聚攏形成的皺眉動作;AU25表示當控制頜部關閉的肌肉群放松時所形成的張嘴動作。研究人員通過分析不同人臉表情的結構與差異,發布了面部動作編碼系統(Facial Action Coding System,FACS)[1],規定了包括皺眉、皺鼻和閉眼在內的43種面部動作單元。通過計算機自動地識別出面部動作單元及其組合,準確地檢測出面部微小動作單元的變化,從而有助于分析人臉表情與理解情緒,在貸款審批、疲勞駕駛檢測和心理疾病治療等多個場景中有很好的應用前景。

隨著面部動作單元識別成為圖像處理和計算機視覺的一項極富挑戰性的任務,很多基于幾何特征的算法被提出,如Kotsia等[2]通過定位五官的關鍵點位置并利用點之間形成的距離、形狀或面積等特征來識別。隨著近幾年深度學習的發展,以卷積神經網絡為基礎的深度學習算法也被研究人員使用并證明了其在該任務上的有效性。通過大量數據的支撐、精細的數據預處理與精心設計的目標函數,深度網絡能自動學習到關鍵與魯棒的抽象特征并加以分類識別。不同的算法旨在解決面部動作識別任務中存在的不同難點,主要包括以下幾個方面:

(1)大部分動作單元具有不平衡的樣本數量,例如對于閉眼(AU43),標簽為0(眼睛睜開)的樣本數量遠多于標簽為1(眼睛閉合)的數量。類別不平衡會導致模型在訓練過程中更偏向預測多數類而忽略少數類等問題。

(2)不同的光照、種族、人臉姿態和分辨率等可變因素,造成了人臉圖像區域具有極高的差異與多樣性。

(3)雖然遷移學習已經通過ImageNet圖像分類等競賽證明了其有效性,但在AU識別任務上并沒有具有代表性的預訓練模型,相關的研究很少。

(4)AU識別任務屬于多標簽分類任務,不同的AU之間可能存在一定的相關性,如何讓模型學習到這些關系是一個挑戰。

本文從監督學習與卷積網絡模型著手,首先使用MTCNN算法[3]對AU數據集進行人臉區域檢測和對齊的預處理操作,使得與目標任務不相關的背景噪聲被排除,并通過一些圖像增強方法(如隨機水平翻轉、飽和度與亮度調節等)增加輸入數據的多樣性。針對上述目標任務中存在的難點,提出了以下解決思路:

(1)為了利用遷移學習可以給網絡提供先驗知識的優點,使用目前具有高準確度的人臉識別算法CosFace[4]預先訓練模型。因為目標任務與人臉識別任務具有一定的相關性,所以該方法能夠給網絡提供良好的初始化并得到更高的分類精度。

(2)針對AU類別不平衡的問題,從損失函數入手。在訓練過程中,根據模型對樣本預測的分類置信度動態地改變其損失權重,使得模型更加關注AU樣本中的少數類,如閉眼、張嘴等。

(3)通過在損失函數中考慮標簽共現關系以及人臉關鍵點等屬性,對模型多任務聯合訓練,得到更高的準確度。

1 相關工作

最初的面部動作單元識別研究方向主要是計算幾何特征與提取人工特征。Baltru?aitis等[5]應用開源的追蹤與對齊算法得到人臉區域后,提取了4 464維HOGs(Histograms of Oriented Gradients)特征,并通過PCA降維后由SVM模型分類。Yüce等[6]通過在人臉關鍵點附近提取SIFT(Scale Invariant Feature Transform)特征來輔助預測。

隨著深度學習理論的發展,基于神經網絡模型的訓練算法陸續被提出。Zhao等[7]認為不同的五官區域數據,如眼、口、鼻等所包含的信息迥異,參數共享的卷積核很難同時學習到人臉各個區域的局部特征,所以通過劃分中間卷積層產生的特征圖為8×8共64個子區域,并分別在每個區域執行參數互不共享的卷積操作,在實驗數據集上得到了很好的效果。為了解決AU類別不平衡問題,Tang 等[8]針對每類AU構造正負樣本數量相等的訓練集;Zhao等[7]也提出在訓練過程中對每批訓練數據中的多數類樣本進行下采樣操作,不計算這些多余樣本產生的損失函數。對于多標簽AU分類任務,Chu等[9]對比了單獨訓練每一類AU與使用多標簽交叉熵損失共同訓練兩種方案,實驗證明后者往往能得到更佳效果;Zhao等[10]從若干開源數據集中統計出具有較強正相關性和負相關性的AU類別對,包括8組正相關性與14組負相關性,并將這些特殊的相關關系通過正則項公式來描述,從而融入到網絡的優化過程中。

2 基于深度學習的AU識別算法

本文提出了一種根據分類置信度來動態調整樣本損失函數權重,并使用多任務聯合訓練的人臉動作單元識別算法。首先基于遷移學習理論,預先使用大量的人臉識別數據庫訓練網絡,使得網絡學習到關于人臉五官的各種抽象特征,并在此基礎上進行后續的面部動作單元識別優化;利用網絡訓練過程中輸出的分類置信度,設計了一個動態調整權重的損失函數來處理數據集中的類別不平衡問題,使得本身分類困難的面部動作得到更充分的訓練;最后結合多種具有相關性的監督任務,聯合訓練并通過反向傳播優化深度網絡參數。算法的整體框架圖如圖1所示。

2.1 遷移學習

深度網絡具有廣闊的模型參數空間與強大的非性擬合能力,在損失函數的監督下可以學習到關于輸入數據的各種抽象表征,但同時也因為模型的高復雜度和數據集的稀缺性,容易造成過擬合,模型缺少泛化性,而通過遷移學習則能夠改善這種現象。通過在具有大量數據集并且與目標任務相關的其他任務上預先訓練,使網絡具備了解決相關任務的能力,再利用少量的目標任務數據將這些能力遷移并應用到目標任務上。除了能提高訓練收斂速度外,還能得到效果更好、泛化性更強的模型。

考慮到開源的面部動作單元數據集的數據量較少,本文利用遷移學習來減少過擬合風險。因為面部動作識別和人臉識別任務具有一定的相關性,網絡都要去學習提取關于人臉五官的某些抽象特征,所以先以人臉識別任務為優化目標,使用具有大量樣本的VGG2數據集預訓練網絡。VGG2數據集包含了8 631種人物身份在內的共3 141 890張訓練圖片,除了數據量充足,其在光照、人臉角度、年齡等屬性上也具有很高的多樣性,有助于模型更魯棒。文獻[4]針對人臉識別任務提出了LMCL(Large Margin Cosine Loss)損失函數,通過在余弦空間中最大化分類邊界間隔使得類間差異最大化和類內差異最小化,能學習到具有判別性的人臉特征。使用該損失函數,經過若干次迭代優化并收斂后,得到能夠提取人臉區域特征的網絡參數與結構,在此基礎上優化后續的AU識別任務。對比實驗驗證了該策略能有效地提高目標任務的最終分類效果。

2.2 基于分類置信度的動態加權損失函數

和許多數據集一樣,面部動作識別數據集也具有類別數量不平衡的問題[5,7]。機器學習算法通過優化損失函數來提升正確率等評測指標,但也未考慮數據集的類別分布情況,最終導致模型更偏向于預測多數類而忽略掉少數類,并使得某些評測指標(如正確率)虛高。

圖 1 算法整體框架圖Fig. 1 Framework of the algorithm

假設 X =(X1,X2,X3,···,XS) 為網絡訓練過程中的某批輸入圖片數據, Y =(Y1,Y2,Y3,···,YS) 為這批數據對應的標簽,其中S為batch size,。因為目標任務是多標簽分類任務,即一張輸入圖片對應了多個AU類別標簽,假設模型要預測N種AU結果,則(Y1,Y2,Y3,···,YS) 實際上是一個S×N的二維0,1標簽矩陣。假設訓練數據經過網絡前向傳播后得到的預測結果為,其中預測樣本Xs得到關于第n類AU的概率為,樣本Xs在第n類AU 上的標簽為Ysn,則模型對于第s個樣本關于第n類AU的Sigmoid交叉熵損失函數為

則最終該批訓練數據的多標簽交叉熵損失函數為

因為多種AU都具有嚴重的類別不平衡問題,由式(2)作為損失函數訓練得到的模型嚴重傾向于預測多數類。例如對于AU20(即嘴角拉伸)這個面部動作,由于數據集中未拉伸的樣本數量遠多于拉伸的樣本數量,對于新樣本,模型預測AU20未出現的概率也會大大增加。假設網絡在式(1)損失函數的監督下訓練完成后,網絡正確預測出第n類AU的概率為

通過對目標數據集中的不平衡AU類別數據采樣,并分別統計模型對于多數類和少數類樣本預測的Psn值分布,可以發現模型關于多數類數據的Psn分布整體接近于1,對于少數類數據的Psn分布處于0.5附近,即模型錯誤預測少數類樣本的概率大于錯誤預測多數類樣本的概率。為了強迫模型去關注并優化少數類數據的信息,本文根據樣本被正確分類的置信度(Psn),對訓練過程中的損失函數設置動態權重,調整后的損失函數為

其中:σ[γ(1-2Psn)]為訓練AU分類器過程中的損失函數加權系數;σ為Sigmoid函數;γ為可配置的懲罰參數,用于調節模型對于多數類AU和少數類AU的損失懲罰力度,不同的γ取值下動態權重的函數曲線圖如圖2所示。

圖 2 不同γ取值時對應的權重變化曲線Fig. 2 Weight change curves of different γ values

從圖2可以看出,當γ=0時,AU的多數類樣本與少數類樣本具有相同的權重,等價于式(2);當γ越來越大時,模型對于少數類樣本即分類困難的樣本的損失函數權重更高,對于多數類樣本即分類較為容易的樣本的損失函數權重更低,在這種情況下,模型會更加關注AU數據中少數類樣本所提供的信息。

2.3 多任務聯合訓練

在許多機器學習場景中,模型是由單一任務驅動訓練得來,假若訓練數據量不大則容易導致網絡不夠泛化,而多任務聯合訓練則可以減少這種影響。該方法將多個相關任務放在一起學習,梯度同時反向傳播,任務之間能夠共享、互補一些信息,這樣能使得最終模型更加魯棒,在目標任務上表現更佳。

本文在優化式(4)加權交叉熵損失的同時,還優化了多標簽的共現關系與人臉關鍵點兩種額外屬性。

2.3.1 多標簽的共現關系 因為AU識別任務屬于多標簽預測任務,不同AU類別之間可能具有相關性[10],而式(4)的損失函數實際上是多個彼此獨立的Sigmoid交叉熵損失的加權和,并未考慮不同AU之間可能存在的相關性。針對此問題,本文加入了考慮AU多標簽共現關系的損失函數:

當兩個不同AU同時出現(標簽均為1)或者同時不出現(標簽均為0)時,具有正向相關性,否則具有負向相關性。該損失函數會驅動網絡去學習這種隱藏的標簽共現關系,而非視每種AU類別為彼此獨立。

2.3.2 人臉關鍵點 考慮到人臉關鍵點位置與某些AU具有一定的關聯性[2],比如對于AU43(閉眼)來說,人臉68個關鍵點在眼睛部位上的6個點會傾向于一條直線上,形成的面積接近于0;對于AU25、AU26等張嘴動作來說,相比于閉嘴時上嘴唇的關鍵點與下嘴唇的關鍵點會有一定的間距。本文利用Dlib開源庫對訓練數據集預測出人臉68個關鍵點坐標共136維,并歸一化至[0,1],記為(x1, y1, x2, y2, ···, x68,y68),為網絡對第i個關鍵點坐標的預測值,再利用L1損失優化網絡:

2.4 算法設計

本文最終的訓練損失函數為

式中,λc和λl分別對應了擬合標簽共現關系與回歸人臉關鍵點兩個任務的損失加權系數。算法步驟描述如下:

(1)采集實驗數據,其中AU數據及其標簽記作(X,Y),人臉識別數據集記作D;

(2)構建深度卷積網絡模型H0,并隨機初始化權重;

(3)使用MTCNN模型對X檢測人臉并對齊裁剪;

(4)按照一定的比例隨機劃分D為訓練集Dtrain和驗證集Dval;除非所用的AU數據集已經提前劃分好,否則按照一定的比例隨機分割(X,Y)為訓練集(Xtrain,Ytrain)和驗證集(Xval,Yval);

(5)利用LMCL損失和Dtrain訓練H0,直到H0在Dval上的評測結果不再有明顯提升,得到模型H1;

(6)使用Dlib開源庫對Xtrain提取68個人臉關鍵點坐標,記作LM;

(7)從(Xtrain, Ytrain, LM)中采樣得到批數據(Xbatch,Ybatch, LMbatch),并且Xbatch經H1前向傳播運算后得到預測結果記為Ypred;

(8)根據式(8),利用(Ybatch,Ypred,LMbatch)計算出該批數據的損失大小,并使用梯度下降法更新模型H1的參數;

(9)當達到一定的訓練次數時,使用(Xval,Yval)對H1評測,若評測結果已經收斂,不再有明顯提升,即得到最終的AU識別模型,算法結束;否則跳轉至步驟(7)繼續訓練模型。

算法的時間開銷主要由圖片預處理、人臉識別預訓練和AU識別訓練3個部分確定。對于網絡的訓練過程,算法時間性能同時受訓練數據規模、模型結構、批數據大小和硬件等多個因素共同影響,若模型結構輕巧、參數量適中則訓練速度越快;批數據越大,單次迭代所需的時間增加,但也更容易快速收斂;對于預訓練任務,因為所用數據集規模可能較大,所需時間可能稍長,不過基于卷積的深度模型能受GPU硬件的良好加速支持。

對于普通的卷積神經網絡模型,其對輸入數據前向推斷并預測的時間復雜度約為其中N為網絡的卷積層數,Ml為第l層輸入的特征圖邊長,Kl為第l層的卷積核邊長,Cl-1和Cl分別為第l層的輸入通道數和輸出通道數。

3 仿真實驗

實驗在配置了2.20 GHz的Intel E5-2430 CPU和NVIDIA Tesla M60的GPU上運行,基于Python3.6語言開發,使用MTCNN模型檢測人臉區域并對齊,使用Dlib開源庫提取關鍵點,使用Tensorflow庫搭建網絡模型并訓練和評測。

3.1 實驗數據

使用兩個流行的面部動作單元識別數據庫MMI和CK+作為實驗數據,數據集對應的屬性如表1所示。雖然兩個數據集都包含30種以上的AU種類,但通過統計各AU的數量分布情況發現其非常不均勻,在此只選擇樣本數量大于100張的AU作為實驗數據集。

表 1 兩個實驗數據集的屬性Table 1 Attributes of two datasets

在使用本文方法進行AU識別前,需要對原始圖片預處理,包括利用MTCNN進行人臉檢測與對齊。預處理后的數據集的部分采樣數據如圖3所示,其中第1行為MMI數據庫圖片,第2行為CK+數據庫圖片。裁剪出人臉區域主要是為了去除不必要的背景噪聲,使模型專注在人臉區域內學習特征;而對齊是許多人臉相關算法重要的預處理步驟,對檢測到的人臉關鍵點進行剛體相似變化到若干個固定點位置,這樣深度網絡在特征抽取的時候能夠著重學習五官周圍的相對結構信息,而無需學習絕對位置等信息,降低學習難度。

圖 3 預處理后的實驗數據Fig. 3 Processed experimental data

3.2 評價標準

本文以正確率和F1分數作為評測指標,因為AU識別任務的分類目標只有兩類即二分類問題,根據真實標簽與預測標簽可將數據集樣本劃分為4類:

(1) True Positives(TP):被正確分類為正例的樣本個數;

(2) True Negatives(TN):被正確分類為負例的樣本個數;

(3) False Positives(FP):被錯誤分類為正例的樣本個數;

(4) False Negatives(FN):被錯誤分類為負例的樣本個數。

正確率(Accuracy)定義為正確分類的樣本數與總樣本數之比:

F1分數定義為

3.3 實驗結果與分析

實驗使用的卷積模型包括ResNet50和MobileNet V2。為了在模型訓練過程中不受其他可變因素影響得到更可信的對比實驗結果,實驗中統一設置訓練參數,即初始學習率設置為0.1,每500步衰減為0.8倍;使用Adam方法優化網絡參數;批數據大小統一設置為32。為了避免單次訓練結果可能會出現隨機性和波動,對每次實驗均訓練3次,并觀察3次的結果有無較大差異后,取平均值作為結果。

3.3.1 算法結果對比分析 將本文算法與其他4種面部動作單元檢測算法在兩個數據集上進行比較,對比結果如表2所示。可以看到本文算法在兩個數據集上均有很好的表現,在F1分數上均高于另外4種算法。而對于CK+數據集,本文算法在正確率上略低于文獻[7]的DRML算法,可能是因為引入了樣本動態加權損失,使得模型對多數類的關注減少,對正確率精度可能有所影響。

3.3.2 人臉識別預訓練對精度的影響分析 為了探

究與對比不同預訓練策略對最終模型精度的影響,本文考慮了3種情況:

(1)無預訓練即直接使用AU數據集訓練;

表 2 與開源算法的對比結果Table 2 Comparison with open-source algorithms

(2)使用ImageNet數據集預訓練;

(3)使用人臉識別數據集VGG2預訓練。

實驗結果表明,3種策略在多次重新訓練中都只有較小的波動性,模型學習過程較穩定。模型在CK+與MMI數據集上的實驗結果如表3所示。可以看出,因為ResNet50模型深度更深,具有更廣闊的參數空間與特征表達能力,所以比MobileNet V2的效果要好;對于兩種基礎模型,使用數據集VGG2預訓練人臉識別任務的策略均比另外兩種策略效果更佳,同時收斂速度也更快,說明人臉識別任務與目標任務具有很強的關聯性,通過這種預訓練能給予模型有意義的先驗信息。

表 3 不同預訓練策略的比較結果Table 3 Comparison results of different pre-training strategies

3.3.3 動態加權損失函數對精度的影響 為了驗證

2.2節提出的動態加權損失函數的有效性,在3.3.2節的結論之上,實驗并得到了可配置懲罰參數γ在多種取值下的算法表現,包括不使用動態加權(即γ等于0)與文獻[7]中使用的批數據隨機下采樣兩種情況,對比結果如表4和圖4所示。

實驗結果表明,在訓練過程中隨機對批數據中的多數類樣本下采樣,使得正負樣本平衡的策略可能會損失模型精度;γ=3時,除了MobileNet V2模型在CK+上的正確率比γ=1時略低,其他評測均達到最優;γ=10時,因為忽略掉了許多分類置信度為0.7以上的樣本,樣本權重已經接近于0,雖然這些樣本具有較高的分類置信度即已經分類正確,但若直接視而不見也會丟失數據信息,影響模型精度。

3.3.4 多任務聯合學習對精度的影響 為了驗證結合標簽共現關系與關鍵點回歸兩個子任務共同優化模型能進一步提高最終AU分類精度,本文在3.3.3節的結論之上,實驗并對比了聯合與不聯合兩種情況,聯合訓練時λc與λl兩個參數均取為0.5,實驗結果如表5所示。

表 4 不同損失函數的比較效果Table 4 Comparison results of different loss functions

圖 4 CK+上不同優化函數的訓練曲線Fig. 4 Training curves for different loss functions on CK+

4 結束語

本文提出了一種基于深度學習框架的面部動作單元識別算法,包括3個部分:使用大規模人臉識別數據集預訓練、在訓練過程中根據AU分類置信度動態調整損失函數權重,以及聯合兩個相關任務(預測標簽共現關系與回歸人臉關鍵點)協同訓練。該算法在開源的CK+和MMI數據集上取得了很好的精度效果,但是并未考慮到如何處理人臉被遮擋以及出現不同人臉姿態角度時的情況[13]。此外,如何很好地擬合2個以上的AU之間的共現關系,以及對AU強度的識別分析[14-15],這些都是將來需要研究的問題。

表 5 多任務聯合訓練的比較結果Table 5 Comparison results of multi-task training

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久国产精品国产自线拍| 极品国产在线| 国产精品专区第1页| 亚洲精品麻豆| 日日拍夜夜嗷嗷叫国产| 91区国产福利在线观看午夜| 色婷婷国产精品视频| a毛片在线免费观看| 国产精品亚洲综合久久小说| 老司机久久99久久精品播放| 欧美日韩精品在线播放| 亚洲精品另类| 狠狠色成人综合首页| 国产成人啪视频一区二区三区| 欧美激情第一欧美在线| 久久久久国产精品免费免费不卡| 亚洲三级成人| 曰韩人妻一区二区三区| 国产日韩丝袜一二三区| 国产精品久久久免费视频| 久草视频福利在线观看| 漂亮人妻被中出中文字幕久久| 国产美女在线免费观看| 国产毛片一区| 四虎永久在线精品国产免费| 在线观看精品自拍视频| 色哟哟色院91精品网站| 色婷婷亚洲十月十月色天| 日本爱爱精品一区二区| 视频一区亚洲| 婷婷伊人五月| 色男人的天堂久久综合| 五月婷婷综合在线视频| 亚洲男人的天堂在线| 亚洲无码视频喷水| 2021最新国产精品网站| 亚洲欧美日韩色图| 国产精品原创不卡在线| 国产性生大片免费观看性欧美| 欧美国产日产一区二区| 99精品国产高清一区二区| 久久精品视频亚洲| 免费看av在线网站网址| 91成人免费观看在线观看| 亚洲人成亚洲精品| 免费高清毛片| 玖玖精品在线| 亚洲成av人无码综合在线观看| 她的性爱视频| 特级毛片免费视频| 国产成人综合网| 黄片一区二区三区| 色妞www精品视频一级下载| 99热国产这里只有精品9九 | 丝袜美女被出水视频一区| 激情视频综合网| 免费观看欧美性一级| 九色在线观看视频| 三区在线视频| 亚洲另类色| 91av国产在线| 国产精品9| 亚洲第一黄色网| 亚洲另类色| 欧美第二区| 亚洲全网成人资源在线观看| 国产91导航| 91人妻日韩人妻无码专区精品| 午夜高清国产拍精品| 91无码人妻精品一区| 国产swag在线观看| 亚洲欧美综合在线观看| 国产第一页亚洲| 国产亚洲欧美日本一二三本道| 岛国精品一区免费视频在线观看| 暴力调教一区二区三区| 成人av专区精品无码国产| 天天摸夜夜操| 国产高颜值露脸在线观看| 狠狠色成人综合首页| 波多野结衣的av一区二区三区| 东京热av无码电影一区二区|