蘇渝校
( 廣東工業大學,廣東 廣州510006)
隨著近幾年來深度學習的快速發展,唇語識別任務越來越成為當前學術界的研究重點。由于唇語識別任務的困難性,當前學界對于唇語識別的研究普遍集中于單詞級別的唇語識別,該任務是通過一個講話者的一系列嘴唇圖片,來識別出他/她所講的對應詞語。當前基于深度學習的唇語識別算法大部分以獨熱編碼作為監督信號,通過最小化模型輸出與監督信號之間的交叉熵來完成訓練。這導致唇語識別算法在推理時會遇到如下挑戰:
(1)嘴唇運動的多樣性以及講話者不同的發音習慣和語速,都會給識別帶來困難,尤其是對于兩個發音相近的詞語,如果不能在特征層面上使兩者具備更好的辨別性,那么誤判是很容易發生的。
(2)由于光照、人臉角度等變化,導致識別時的準確率受到影響,這要求唇語識別算法需要具有較好的泛化能力。
基于深度學習的唇語識別方法,根據其卷積部分對圖像特征的提取方式可以分為全2D 卷積、全3D 卷積(即時空卷積)和2D、3D 卷積混合的方式。在全2D 卷積方面,Noda 等人[1]利用VGGNet 提取嘴唇特征,之后經由循環神經網絡(RNN),在特定數據集上面實現了44.5%的短語識別準確率和56.0%單詞分類準確率。在全3D 卷積方面,Chungg 和Zisserman[2]提出了基于VGG 結構的時空卷積神經網絡,進行單詞的唇語識別,在BBCTV 數據集上取得了比傳統唇語識別方法更好的準確率。在3D 和2D 卷積混合的方式中,Stafylakis 等人[3]結合了時空卷積網絡和ResNet34,并使用了Bi-GRU 建模上下文信息,在LRW 數據集上識別準確率是83%。
可以看出,基于深度學習的唇語識別方法,算法的主要結構都是由卷積神經網絡來提取圖像初步特征,再由循環神經網絡建模時序信息,最后使用全連接層進行分類識別,而這些方法都是使用獨熱編碼作為監督信號進行訓練的。
而當前在深度學習的一些其它領域的研究當中,已經提出了一些取代獨熱編碼的監督信號。例如,人臉識別領域的最新研究方向是改進監督信號來最大化分類空間的決策邊界,近兩年也出現了諸多關于決策邊界約束的研究成果,這些基于監督信號改進的方法可以使得深度網絡所提取特征在類內緊湊,在類間可分,進而提升人臉識別的效果。而在知識蒸餾的研究領域中,近兩年也提出了一些訓練深度神經網絡的暗知識的方式,相較于常用的基于獨熱編碼的監督信號,結合了暗知識的監督信號可以使訓練的網絡具有更強的泛化力。
因此,本文結合人臉識別領域和知識蒸餾領域的方法,設計一種增強的監督信號,并應用到基于3D 卷積的唇語識別算法當中,有效提升唇語識別的準確率。
本文的唇語識別模型為“主干- 脖子- 分類頭部”的結構(如表1),模型的“主干”部分采用時空卷積的方式進行圖片序列的特征提取,由3 個3D 卷積層構成;在這之后,搭建兩個單隱層的GRU 作為模型的“脖子”,目的是將所有幀的圖片特征整合聯系起來。模型的“頭部”是一層沒有偏置的全連接層,實現唇語識別的多分類任務。此外,在“主干”和“脖子”中間接了兩層全連接層,進行特征的降維。

表1 模型結構配置
k、s、p 分別代表卷積核尺寸、滑動步長和填充尺寸
3.2.1 邊緣裕度
目前的唇語識別模型基本上都是使用獨熱編碼作為監督信號,配合以交叉熵損失函數進行模型的訓練。但是使用交叉熵損失訓練的模型來識別的時候,容易對發音相似的詞語產生誤判,例如本數據集的“知識”與“只是”這兩個發音相近的樣本。
通過分析發現,多數情況下模型在正確的類別上預測了一個數值第二大的概率輸出,而在一個發音情況相近的類別上預測了最大概率輸出。可以看出使用交叉熵作為損失函數時,模型對一些唇語圖片序列的識別并不魯棒,容易誤判為發音相近的其它詞語。這種錯誤識別的原因是因為模型沒有能力可以有效地區分開發音相似的詞語,即兩個發音相似的詞語,它們在網絡的全連接層輸入處的特征向量非常接近,所以對于這類型的樣本,全連接層分類器的泛化力不足。
針對交叉熵損失函數學習到的特征分辨性不夠強這一點,人臉識別領域的最新研究成果是邊緣裕度[4],通過對損失函數引入邊緣裕度,來增強模型訓練的監督信號。同理,本文引入具有決策邊界懲罰的損失函數,通過約束各類別的決策邊界,可以使得各個類別的特征在類內緊湊,在類間可分,以此提高了唇語識別模型在識別發音相似的詞語時的準確率。具體做法是將無偏置的全連接層輸出WTyixi視為一個余弦值,通過求余弦函數的反函數,在決策面上添加一個角度m 的邊緣懲罰,從而使得決策面更加規整。
3.2.2 軟化標簽
深度學習唇語識別模型使用獨熱編碼的訓練標簽,由香農信息熵可知,標簽值為{0,1}的獨熱編碼信號攜帶的信息熵少于軟化標簽信號所攜帶的信息。當使用獨熱編碼時,模型訓練時只關注于是否將當前詞語正確分類,但是無法關注到其它的發音相近詞語的概率輸出是否合適。在知識蒸餾領域的研究中,其它類別上的概率輸出被稱為暗知識[5]。
為此,本文使用知識蒸餾的策略得到軟化的訓練標簽,使用帶有暗知識的軟化標簽作為新的監督信號,訓練一個再生的唇語識別模型。本文設計一種“課程學習”的方式進行暗知識的遷移:
步驟1:以加入了邊緣裕度的交叉熵作為損失函數訓練模型T;
步驟2:訓練再生模型S。具體方式為,訓練時對于同一個樣本,以模型T 的輸出概率分布作為監督信號,以L1 損失訓練模型S 的輸出分布;
步驟3:使用加帶邊緣裕度的交叉熵損失繼續訓練模型S,得到最終的模型。
本文通過先行訓練好的模型T 作為教師,將教師的輸出分布作為軟化標簽,訓練學生模型S,這樣可令模型S 在訓練初期就關注學習暗知識的部分(即其它詞語的輸出概率),使得模型最終可以到達一個更好的極值點。
本文通過邊緣裕度和軟化標簽得到的監督信號增強的唇語識別模型如圖1 所示。

圖1 監督信號增強的唇語識別模型
本文使用DataCastle 平臺的中文唇語識別數據集進行實驗,該數據集采集了10 個講話者講313 個不同的中文詞語的視頻并截幀作為樣本,樣本序列的最長長度為24 幀。實驗結果如下:

表2
唇語識別是一項頗具難度的任務,光照、人臉角度的變化,講話者嘴唇形狀、說話習慣的不同給唇語識別任務的準確性帶來挑戰。基于深度學習的唇語識別模型在識別一些發音相近的詞語時容易發生誤判,本文通過引入知識蒸餾技術獲得軟化訓練標簽,加入邊緣裕度獲得增強的監督信號,有效提升唇語識別的準確率。