王媛媛,王 沛,吳開(kāi)存
(1.鹽城工學(xué)院信息工程學(xué)院,江蘇 鹽城 224051;2.東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210096;3.東南大學(xué)信息科學(xué)與工程學(xué)院,江蘇 南京 210096)
唇語(yǔ)識(shí)別是一項(xiàng)通過(guò)唇部視覺(jué)信息來(lái)推斷視頻中語(yǔ)音內(nèi)容的任務(wù)。其在實(shí)踐中具有許多關(guān)鍵應(yīng)用,例如輔助提升語(yǔ)音識(shí)別性能[1],活體檢測(cè)[2],改進(jìn)助聽(tīng)器等。唇語(yǔ)識(shí)別任務(wù)的關(guān)鍵在于如何有效地捕捉唇部運(yùn)動(dòng)信息,同時(shí)減小由光照條件、頭部姿態(tài)、說(shuō)話人外表等因素而產(chǎn)生的噪聲。
唇語(yǔ)識(shí)別任務(wù)存在很多難點(diǎn)和挑戰(zhàn)。首先,不同語(yǔ)句的唇部運(yùn)動(dòng)差異極其微小,細(xì)粒度特征難以捕捉;其次,不同說(shuō)話人的語(yǔ)速不同,同一段語(yǔ)句的時(shí)長(zhǎng)也可能不同,需要解決長(zhǎng)短時(shí)依賴問(wèn)題;此外,上下文的冗余信息會(huì)不可避免地帶入到當(dāng)前語(yǔ)句中,影響最終的識(shí)別結(jié)果。傳統(tǒng)的方法分為多個(gè)階段,包括嘴唇檢測(cè),特征提取和分類器分類。其技術(shù)核心主要包括用HOG 等特征提取算法捕捉嘴唇的幾何特征,利用隱藏馬爾科夫模型(HMM)識(shí)別特征序列。這類方法在特征提取和時(shí)序建模方面的效果都極其有限,不具備實(shí)用性。近年來(lái)的研究中[3],卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以很好地學(xué)習(xí)到與視頻序列的空間特征,配合LSTM 等循環(huán)網(wǎng)絡(luò)在時(shí)序上的建模,在唇語(yǔ)識(shí)別任務(wù)上取得了一定的成果,但是仍然存在一些缺點(diǎn),比如不能抵抗明暗光線、皺紋、胡須等因素帶來(lái)的視覺(jué)噪聲,以及語(yǔ)速和詞語(yǔ)邊界冗余信息帶來(lái)的時(shí)序建模困難的問(wèn)題。
為了解決這些問(wèn)題,本文設(shè)計(jì)的STCNN +Bi-GRU+Self-Attention 模型,充分考慮了唇語(yǔ)識(shí)別任務(wù)的復(fù)雜性和多樣性。一方面,STCNN 可以有效抑制視覺(jué)噪聲,提取圖像序列的高維特征;另一方面,以Bi-GRU 作為時(shí)序模型,搭配Self-Attention 輔助訓(xùn)練,可以增強(qiáng)關(guān)鍵幀的語(yǔ)義表示,避免時(shí)域全局平均帶來(lái)的語(yǔ)義損失。最終,本文在LRW 數(shù)據(jù)集[4]和LRW-1000 數(shù)據(jù)集上[5]評(píng)估了所提出的方法,結(jié)果表明,在不使用額外數(shù)據(jù)和額外預(yù)訓(xùn)練的情況下,與先前的方法相比,本文所提出的方法在上述兩個(gè)基準(zhǔn)數(shù)據(jù)集上達(dá)到了最先進(jìn)的水平。
唇語(yǔ)識(shí)別模型的基礎(chǔ)框架包含兩個(gè)階段。第一階段是檢測(cè)人臉,根據(jù)人臉特征點(diǎn)得到嘴唇區(qū)域,使用CNN 提取嘴唇圖像序列中每幀圖像的時(shí)空特征向量;第二階段使用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)各幀圖像特征的時(shí)序關(guān)系建模,并使用全連接層作為分類器進(jìn)行分類[6]。如圖1 所示,輸入張量的維度是B×T×H×W,每個(gè)維度分別對(duì)應(yīng)批次、幀、高度和寬度。令X=(x1,x2,…,xT)表示T幀輸入圖像序列,其中xi為第i幀的特征向量。該模型的任務(wù)是將輸入序列X分為N類之一,其中N為類別總數(shù)。令Y=(0,0,1,…,0)表示序列的帶注釋單詞標(biāo)簽。經(jīng)過(guò)端到端訓(xùn)練,得到時(shí)序特征序列對(duì)應(yīng)的音素,字符或詞語(yǔ)。
圖1 唇語(yǔ)識(shí)別模型的基本框架
前端模塊的主要任務(wù)是提取圖像序列特征,該部分由時(shí)空卷積[7]網(wǎng)絡(luò)(STCNN)、ResNet18[8]和全局平均池化(GAP)[9]構(gòu)成。與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)相比,STCNN 可以同時(shí)跨時(shí)間以及空間維度進(jìn)行卷積來(lái)處理視頻數(shù)據(jù)。令輸入為x,權(quán)重為w∈,則STCNN 可以表示為:
STCNN 將直接作用于原始圖像序列,以執(zhí)行序列中的時(shí)間空間對(duì)齊。然后進(jìn)行空間池化以壓縮空間域中的特征,在此過(guò)程中不執(zhí)行時(shí)間下采樣,以避免進(jìn)一步丟失序列的運(yùn)動(dòng)信息。這是因?yàn)槊恳活悇e單詞的持續(xù)時(shí)間總是很短。接下來(lái)將特征按照時(shí)長(zhǎng)T分為T個(gè)部分,并且對(duì)每個(gè)時(shí)間步長(zhǎng)t=1,2,…,T分別使用ResNet18 提取判別特征,在提升通道數(shù)的同時(shí),捕獲圖像的語(yǔ)義信息。最后在卷積層末端使用GAP,得到B×C×T的特征輸出,其中C是最后一層卷積的通道維度。
后端模塊的主要任務(wù)是對(duì)時(shí)序關(guān)系建模,由雙向門控循環(huán)單元[10](Bi-GRU)和全連接層構(gòu)成。從前端模塊得到的特征序列以正常順序輸入一個(gè)GRU,并以相反順序輸入另一個(gè)GRU,兩組輸出在每一個(gè)對(duì)應(yīng)的時(shí)間位置連接在一起,以表示整個(gè)序列。Bi-GRU 的輸出是整個(gè)輸入序列的全局表示,可以表示為H=[h1,h2,…,hT],其中H∈Rd×T,d是GRU 的隱藏層數(shù)量,ht表示第t時(shí)刻的輸出。最后使用全連接層線性變換將特征向量H映射為維度為N的特征向量O,N表示類別總數(shù)。通過(guò)Softmax激活函數(shù)得到每一類別的概率作為模型最終輸出,并使用交叉熵?fù)p失函數(shù)計(jì)算神經(jīng)網(wǎng)絡(luò)的損失Loss,如式(2)所示,其中表示第i個(gè)類別的預(yù)測(cè)概率,Yi表示真實(shí)的one-hot 標(biāo)簽值。
在每個(gè)序列中,不同幀提供的有價(jià)值的信息量是不等的。受到說(shuō)話人語(yǔ)速的影響,一段唇語(yǔ)視頻中,僅有少數(shù)幾幀是關(guān)鍵幀,對(duì)最終識(shí)別結(jié)果有極大影響,而其余的特征序列則對(duì)最終結(jié)果的貢獻(xiàn)較小。除此以外,在實(shí)際情況中,輸入的字詞片段也難免會(huì)帶來(lái)鄰近詞語(yǔ)的冗余信息,這給時(shí)序建模帶來(lái)了極大的困難。如圖2 中的一個(gè)完整視頻樣本所示,該樣本的18 幀圖像中,只有中間的9 幀代表了樣本標(biāo)簽“國(guó)際”這個(gè)詞語(yǔ),而前5 幀和后4 幀分別是來(lái)自上下文詞語(yǔ)的冗余信息。
圖2 標(biāo)記為“國(guó)際”的一個(gè)樣本視頻
對(duì)于單個(gè)單詞、短語(yǔ)或句子,獲取完全精確的起始和終止邊界位置是極其困難的。一個(gè)好的唇語(yǔ)識(shí)別模型應(yīng)該能夠?qū)W習(xí)到來(lái)自不同視頻的關(guān)鍵信息?,F(xiàn)有的方法,通常是對(duì)每個(gè)序列的所有時(shí)間步長(zhǎng)上的特征賦予相同的權(quán)重[3,11-12],這在實(shí)踐中將會(huì)在一定程度上損失精度。一個(gè)單詞的關(guān)鍵信息往往隱含在某一段或幾段連續(xù)幀中,因此有必要讓模型能夠辨識(shí)重要的關(guān)鍵信息,采用不同的權(quán)重進(jìn)行時(shí)序建模。在Seq2seq 模型中,Transformer[13]被廣泛應(yīng)用并取得了良好的成績(jī)。這主要得益于Transformer中的自注意力機(jī)制(Self-Attention)。為了更好地解決上述問(wèn)題,本文將改進(jìn)的自注意力機(jī)制與GRU 結(jié)合,將其引入到唇語(yǔ)識(shí)別任務(wù)中。本文所使用的Self-Attention 結(jié)構(gòu)如圖3 所示。
圖3 時(shí)域自注意力機(jī)制的結(jié)構(gòu)
其中Q(Query)、K(Key)和V(Value)均由前端模塊的輸出向量線性變換生成,接著通過(guò)點(diǎn)積和Softmax 運(yùn)算得到時(shí)域特征的權(quán)重,再反饋到后端網(wǎng)絡(luò)中,點(diǎn)積自注意力機(jī)制的公式如下:
F這個(gè)權(quán)重表示每一時(shí)刻唇部的特征和當(dāng)前模型輸出結(jié)果的相關(guān)性,通過(guò)時(shí)域自注意力機(jī)制可以保證一些更重要時(shí)刻的唇部特征能夠更好地被關(guān)注,提升有用的特征,抑制對(duì)當(dāng)前任務(wù)無(wú)用的特征。
綜上所述,本文提出的基于自注意力序列模型的唇語(yǔ)識(shí)別方法如圖4 所示,由以下幾個(gè)步驟構(gòu)成:
圖4 基于自注意力序列模型的唇語(yǔ)識(shí)別方法
(1)從原始視頻中提取多幀圖像,檢測(cè)視頻中的人臉特征點(diǎn)位置,并裁剪出嘴唇及周邊區(qū)域,組成多幀分辨率為88×88 的唇部圖像序列,作為模型的輸入;
(2)將唇部圖像序列輸入前端模塊,經(jīng)過(guò)STCNN、ResNet18 和GAP,提取出維度為512 的時(shí)序特征序列;
(3)使用時(shí)域自注意力機(jī)制,對(duì)上一步驟中的特征序列進(jìn)行相關(guān)性計(jì)算和特征加權(quán);
(4)將加權(quán)后的特征序列輸入后端模塊,經(jīng)過(guò)雙向GRU 和全連接層分類,得到代表樣本類別的one-hot 向量。
實(shí)驗(yàn)使用了領(lǐng)域內(nèi)兩個(gè)大規(guī)模單詞級(jí)唇語(yǔ)數(shù)據(jù)集LRW 和LRW1000 作為評(píng)判基準(zhǔn)。LRW 是一個(gè)單詞級(jí)英文唇語(yǔ)識(shí)別數(shù)據(jù)集,包含BBC 電視節(jié)目中的音視頻數(shù)據(jù)共500 類單詞,每個(gè)分類有1 000 個(gè)實(shí)例。LRW 是一個(gè)具有挑戰(zhàn)性的數(shù)據(jù)集,并已被大多數(shù)現(xiàn)有的唇讀方法廣泛使用。LRW1000 是目前最大規(guī)模的中文詞語(yǔ)級(jí)別的唇讀數(shù)據(jù)集,共有1 000類中文詞語(yǔ),70 000 多條樣本實(shí)例。其數(shù)據(jù)采集于CCTV 電視節(jié)目,涵蓋了各類的說(shuō)話條件,包括照明條件、分辨率、姿勢(shì)、性別、化妝等。
將兩個(gè)數(shù)據(jù)集樣本的各幀以嘴唇為中心裁切或調(diào)整到96×96 作為輸入,接著隨機(jī)選擇位置裁切到88×88 作為數(shù)據(jù)增強(qiáng)。STCNN 層的卷積核大小和步長(zhǎng)分別設(shè)置為(5,7,7)和(1,2,2)。ResNet18 模塊的卷積核大小為(3,3,3),一共18 層,包含5 次下采樣和1 次GAP,各層之間都使用了Batch Normalization[14]。每個(gè)GRU 的隱藏層有1 024 個(gè)單元,一共3 層Bi-GRU。Self-Attention 模塊使用了Multi-Head,head 的數(shù)量通過(guò)多次實(shí)驗(yàn)對(duì)比確定。使用Adam 優(yōu)化器,學(xué)習(xí)率初始化為0.001,每輪衰減為0.5 倍。所有的GRU 層和全連接層都使用dropout來(lái)減輕過(guò)擬合。
為了評(píng)價(jià)模型的性能,本實(shí)驗(yàn)以模型在LRW和LRW1000 數(shù)據(jù)集上的測(cè)試集準(zhǔn)確率作為評(píng)價(jià)指標(biāo)。在模型所有的預(yù)測(cè)結(jié)果中,如果最大概率值的類別與樣本實(shí)際類別相同,則認(rèn)為預(yù)測(cè)正確,Top1準(zhǔn)確率為預(yù)測(cè)正確的樣本數(shù)量與總樣本數(shù)的比值。
如表1 所示,在兩個(gè)主流數(shù)據(jù)集上,本文提出的基線模型準(zhǔn)確率分別為82.04%和38.31%。在使用了Multi-Head Self-Attention 之后,準(zhǔn)確率相比基線模型分別提升了2.75%和2.27%。實(shí)驗(yàn)結(jié)果表明,本文提出的STCNN+Bi-GRU+Self-Attention 模型優(yōu)于先前最先進(jìn)的其他方法。
表1 不同模型在LRW 和LRW1000 的Top1 準(zhǔn)確率
為了驗(yàn)證時(shí)域自注意力機(jī)制對(duì)唇語(yǔ)識(shí)別任務(wù)的貢獻(xiàn),本文計(jì)算了head =0(不使用Attention)到5 的情況下,模型在LRW1000 數(shù)據(jù)集上的準(zhǔn)確率。結(jié)果如圖5 所示,引入了Self-Attention 相比原來(lái)的基線模型,準(zhǔn)確率大幅提升,且隨著Attention head 數(shù)量的提升,準(zhǔn)確率也不斷提升。但是當(dāng)head≥4 時(shí),模型的準(zhǔn)確率提升幅度有限,且?guī)?lái)了更多的訓(xùn)練參數(shù),因此本文的最終模型使用了head 為4 的自注意力機(jī)制。
圖5 Attention head 值對(duì)模型準(zhǔn)確率的影響
本文具體分析了目前唇語(yǔ)識(shí)別任務(wù)面臨的挑戰(zhàn)和難點(diǎn),提出了基于自注意力序列模型的唇語(yǔ)識(shí)別方法。經(jīng)過(guò)詳細(xì)的實(shí)驗(yàn)以及與先前模型的對(duì)比,驗(yàn)證了本文提出的模型在唇語(yǔ)識(shí)別任務(wù)上優(yōu)越性,同時(shí)也證明了時(shí)域自注意力機(jī)制在時(shí)序建模方面的有效性。