System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及面部動作檢測領域,尤其涉及一種基于多任務學習的面部動作單元檢測模型建立方法。
技術介紹
1、面部動作單元是基于面部肌肉解剖結構的描述面部表情的系統化方法。通過判斷人臉圖片中每個au的發生與否,面部au檢測可以提供全面客觀的面部表情分析,是一項重要的面部屬性分析任務。近年來,隨著深度學習的發展,面部au檢測任務取得了長足的發展,但大部分研究專注于單一任務,通過訓練一個特定任務的模型來實現面部au檢測。這樣忽略了au與其他面部屬性的關系,沒有很好的抗噪能力和適應能力。
2、多個au可以被同時激活,au之間存在相互關系,并非孤立存在。例如當一個人表現出快樂的表情時,au6(抬起臉頰)和au12(上揚嘴角)很可能會同時出現,而很少出現au15(嘴角垂直向下拉動)。當表現出悲傷的表情時,au1(內側眉毛抬起)、au15、au17(擠動下唇向上頂)很可能會同時出現,而很少出現au12。利用好au的相關信息無疑可以提高檢測精度。傳統的au檢測方法多采用貝葉斯網絡和受限波爾茲曼機來利用au關系,這些概率生成模型總是需要與手工特征相結合,限制了au檢測的性能,達不到要求,因此,本專利技術提出一種基于多任務學習的面部動作單元檢測模型建立方法。
技術實現思路
1、為了克服現有技術存在的缺點與不足,本專利技術提供一種基于多任務學習的面部動作單元檢測模型建立方法。
2、一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,該方法包括:
3、步驟s1:
4、步驟s2:將對齊并裁剪處理后的圖片在被輸入到網絡前進行隨機裁剪,并進行水平翻轉;
5、步驟s3:建立初始的神經網絡檢測模型,并利用數據集對它進行訓練,得到面部au檢測模型;
6、步驟s4:利用已標注au標簽、面部關鍵點標簽、情緒標簽的人臉圖片對初始神經網絡模型進行端到端的訓練;
7、步驟s5:改變部分超參數,重新對模型進行訓練,利用損失函數進行神經網絡檢測模型優化,取面部au檢測精度最高的模型作為最終的結果。
8、進一步地,所述初始的神經網絡模型包括:
9、底層網絡,用于對輸入模型的圖片進行初級的特征提取,在多任務模型中,底層網絡由多個任務共享;
10、輔助任務學習模塊,輔助任務包括面部關鍵點檢測和面部情緒識別,二者均將底層網絡的輸出作為輸入,底層特征經過各自的特征提取網絡后經過全連接層得到面部關鍵點和面部情緒的預測結果;
11、主任務學習模塊,用于面部au檢測,由局部特征提取模塊和au關系學習模塊兩部分組成。
12、進一步地,所述底層網絡,將輸出作為局部特征提取模塊的輸入,利用輔助任務檢測到的關鍵點坐標為每個au提供注意力圖,每個au使用各自獨立的分支來提取局部特征,每一個分支的網絡結構與輔助任務的網絡結構相同,將局部特征提取部分的輸出作為au關系學習模塊的輸入,使用au關系圖對au之間的關系進行編碼,關系圖由節點和邊組成,每個節點代表一個au的特征,邊代表au之間的相關性,通過計算訓練樣本中各個au發生的條件概率來獲得au的相關性,。
13、得到最終的關系矩陣,利用gat來對圖進行學習
14、進一步地,所述初始的神經網絡模型還包括:特征融合模塊,用于利用輔助任務中有用的特征來幫助面部au檢測任務的學習。
15、進一步地,所述特征融合模塊,引入注意力機制來選擇輔助任務中有用的信息,通過cbam來指導輔助任務的信息向主任務的流動。
16、進一步地,所示訓練損失函數,表達式為:
17、l=λ1lau+λ2llandmark+λ3lemotion
18、其中,lau和lemotion分別為面部au檢測和面部情緒識別的加權交叉熵損失函數,llandmark為面部關鍵點檢測的加權損失函數,λ1、λ2和λ3是超參數,為每個損失函數分配權重。
19、本專利技術的有益效果:
20、本專利技術提出一種基于多任務學習的面部動作單元檢測模型建立方法,將面部au檢測、面部關鍵點檢測、面部情緒識別這三個任務進行聯合學習,三個任務共享底層特征提取網絡,使底層網絡可以提取到更加魯棒性的特征。并且利用面部關鍵點檢測任務得到的關鍵點坐標為au提供注意力圖,這樣可以避免面部不相關區域噪聲的干擾。此外,將au關系表示為圖結構的數據,利用gat進行圖數據的學習,對于每個au節點,采用gat來計算該節點與其它節點之間的注意力權重,并將這些權重用于更新節點的特征表示。通過多輪的節點信息傳遞和特征更新,得到au節點的最終特征表示,這樣能夠充分利用au節點之間的關系,捕捉到更加豐富的上下文信息,從而提高au特征的語義表達能力。最后,利用基于注意力機制的特征融合模塊將三個任務的特征進行融合,進一步地利用任務間的互補性。該方法有效的提高了面部au的檢測精度。
本文檔來自技高網...【技術保護點】
1.一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,該方法包括:
2.如權利要求1所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述初始的神經網絡模型包括:
3.如權利要求2所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述底層網絡,將輸出作為局部特征提取模塊的輸入,利用輔助任務檢測到的關鍵點坐標為每個AU提供注意力圖,每個AU使用各自獨立的分支來提取局部特征,每一個分支的網絡結構與輔助任務的網絡結構相同,將局部特征提取部分的輸出作為AU關系學習模塊的輸入,使用AU關系圖對AU之間的關系進行編碼,關系圖由節點和邊組成,每個節點代表一個AU的特征,邊代表AU之間的相關性,通過計算訓練樣本中各個AU發生的條件概率來獲得AU的相關性。
4.如權利要求3所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述得到最終的關系矩陣,利用GAT來對圖進行學習。
5.如權利要求1所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述初始的神經網絡模型還包括:
6.如權利要求1所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述特征融合模塊,引入注意力機制來選擇輔助任務中有用的信息,通過CBAM來指導輔助任務的信息向主任務的流動。
7.如權利要求1所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述訓練損失函數,表達式為:
...【技術特征摘要】
1.一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,該方法包括:
2.如權利要求1所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述初始的神經網絡模型包括:
3.如權利要求2所述的一種基于多任務學習的面部動作單元檢測模型建立方法,其特征在于,所述底層網絡,將輸出作為局部特征提取模塊的輸入,利用輔助任務檢測到的關鍵點坐標為每個au提供注意力圖,每個au使用各自獨立的分支來提取局部特征,每一個分支的網絡結構與輔助任務的網絡結構相同,將局部特征提取部分的輸出作為au關系學習模塊的輸入,使用au關系圖對au之間的關系進行編碼,關系圖由節點和邊組成,每個節點代表一個au的特征,邊代表au之間的相關性,通過計算訓練樣本中各個au發生的條件概率來...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。