馬金林,劉宇灝,馬自萍,鞏元文,朱艷彬
1.北方民族大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,銀川 750021
2.圖像圖形智能信息處理國家民委重點(diǎn)實(shí)驗(yàn)室,銀川 750021
3.北方民族大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,銀川 750021
唇語識(shí)別(lip reading,LR),是一種在沒有聲音時(shí)通過分析唇部圖像序列,依靠口型特征向量和特定語音之間的對(duì)應(yīng)關(guān)系,判斷語言內(nèi)容的技術(shù)[1],是人工智能的新方向。唇語識(shí)別涉及模式識(shí)別[2-3]、計(jì)算機(jī)視覺[4]、圖像處理和自然語言處理等技術(shù),多應(yīng)用于信息安全[5-6]、語音識(shí)別[7-8]、駕駛輔助[9]等領(lǐng)域。
早期的唇語識(shí)別大多基于隱馬爾可夫模型(hidden Markov model,HMM)[10]、離散余弦變換(discrete cosine transform,DCT)[11]等傳統(tǒng)特征提取方法提取唇部圖像的淺層特征(紋理特征、形狀特征、顏色特征、拓?fù)涮卣鳎?,這些方法能夠解決一定數(shù)據(jù)規(guī)模下識(shí)別精度不高的問題,但需要具備豐富唇讀知識(shí)的研究者設(shè)計(jì)特征提取方法。此外,傳統(tǒng)方法還存在泛化性不高的缺點(diǎn)[12]。
隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,涌現(xiàn)了多種唇語識(shí)別方法和唇語識(shí)別數(shù)據(jù)集[13]。Stafylakis等人[14]使用深度殘差網(wǎng)絡(luò)(residual neural network,ResNet)[15]作為前端網(wǎng)絡(luò)設(shè)計(jì)唇語識(shí)別模型,取得了很好的識(shí)別效果。LipNet[16]使用3D-CNN 提取由雙向門控循環(huán)單元(bidirectional gate recurrent unit,BiGRU)分類的時(shí)空特征,在文獻(xiàn)[17]的工作中,兩個(gè)3D-ResNets 以雙流的方式(一個(gè)用于圖像流,另一個(gè)用于光流)用更大的網(wǎng)絡(luò)為代價(jià)學(xué)習(xí)更強(qiáng)大的時(shí)空特征。Zhang等人[18]將口腔區(qū)域以外的面部區(qū)域結(jié)合起來解決孤立單詞的識(shí)別問題,并添加互信息約束[19],以產(chǎn)生更多的鑒別信息。Martinez 等人[20]使用一個(gè)多尺度的時(shí)間卷積網(wǎng)絡(luò)(temporal convolutional network,TCN)取代循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的后端,在LRW 數(shù)據(jù)集上獲得85.3%的識(shí)別準(zhǔn)確率。為了提高唇語識(shí)別的準(zhǔn)確率,深度學(xué)習(xí)方法不斷加深網(wǎng)絡(luò),然而隨著網(wǎng)絡(luò)模型的復(fù)雜度增加,其參數(shù)量和計(jì)算量快速增加,導(dǎo)致識(shí)別模型對(duì)設(shè)備性能的要求與日俱增?,F(xiàn)有的唇語識(shí)別模型無法解決提高模型準(zhǔn)確率與降低模型計(jì)算量之間的矛盾,限制了唇語識(shí)別模型在移動(dòng)終端和邊緣設(shè)備上的應(yīng)用。
知識(shí)蒸餾(knowledge distillation,KD)用復(fù)雜的教師網(wǎng)絡(luò)訓(xùn)練簡單的學(xué)生網(wǎng)絡(luò)使學(xué)生網(wǎng)絡(luò)獲得接近教師網(wǎng)絡(luò)的性能,并用訓(xùn)練后的學(xué)生網(wǎng)絡(luò)作為最終模型,實(shí)現(xiàn)模型輕量化的同時(shí)獲得一定的網(wǎng)絡(luò)性能,多被應(yīng)用于分類[21]、分割[22]、檢測(cè)[23]等機(jī)器學(xué)習(xí)任務(wù)。
為解決上述問題,基于知識(shí)蒸餾的思想,本文提出一種同類自知識(shí)蒸餾的輕量化唇語識(shí)別模型(homogeneous self-knowledge distillation lip reading,HSKDLR),在提高識(shí)別準(zhǔn)確率的同時(shí),降低模型的參數(shù)量和計(jì)算量。
本文主要有以下貢獻(xiàn):
(1)提出S-SE注意力模塊。在SE模塊的基礎(chǔ)上添加關(guān)注空間特征的注意力模塊,同時(shí)提取唇部圖像的空間特征和通道特征。
(2)提出i-Ghost Bottleneck。通過優(yōu)化瓶頸結(jié)構(gòu)的組合方式提高模型的識(shí)別準(zhǔn)確率,降低模型計(jì)算量。
(3)提出同類自知識(shí)蒸餾的模型訓(xùn)練方法(homogeneous self-knowledge distillation,HSKD)。利用同類別不同樣本的軟標(biāo)簽實(shí)現(xiàn)無需教師網(wǎng)絡(luò)的自知識(shí)蒸餾。
(4)基于i-Ghost Bottleneck 和HSKD,提出一種輕量化唇語識(shí)別模型HSKDLR。使用HSKD 訓(xùn)練基于i-Ghost Bottleneck(improved Ghost Bottleneck)設(shè)計(jì)的唇語識(shí)別模型,提高識(shí)別準(zhǔn)確率,降低訓(xùn)練時(shí)間。
注意力機(jī)制在圖像分類和分割等多種計(jì)算機(jī)視覺任務(wù)中發(fā)揮了重要作用[24],然而注意力機(jī)制大多存在增加模型計(jì)算量的問題。常見的注意力機(jī)制多在空間或通道上關(guān)注圖像特征。SENet(squeeze and excitation networks)[25]簡單地壓縮2D特征圖,有效構(gòu)建通道間的相互依賴關(guān)系;CBAM(convolutional block attention module)[26]通過引入空間信息編碼,進(jìn)一步提高模型性能;后續(xù)的工作多采用不同的空間注意機(jī)制或設(shè)計(jì)高級(jí)注意力模塊的方法實(shí)現(xiàn),如GENet(gather and excite network)[27]、GALA(global and local attention)[28]、AA(attention augmented)[29]和TA(triplet attention)[30]等模型。
SE(squeeze and excitation)模塊[25]是一種常用的輕量級(jí)注意力模塊,能夠方便地添加到卷積結(jié)構(gòu)中端到端地學(xué)習(xí)通道間的權(quán)重關(guān)系。SE 模塊由擠壓(squeeze)、激勵(lì)(excitation)兩部分組成,SE模塊使用兩個(gè)全連接層實(shí)現(xiàn)通道間的信息交流,通過獲取通道間的信息權(quán)重提高模型的魯棒性。SE模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 SE模塊的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Architecture of SE module
Ghost模塊[31]使用一系列線性操作生成多個(gè)特征圖,在不改變輸出特征圖尺寸的情況下,降低參數(shù)量和計(jì)算復(fù)雜度。圖2顯示了Ghost模塊的原理。
圖2 Ghost模塊原理Fig.2 Illustration of Ghost module
利用Ghost模塊的優(yōu)勢(shì),Han等人[31]提出Ghost瓶頸模塊(Ghost bottlenecks)。借鑒ResNet[15]整合卷積層和捷徑層的思路,Ghost瓶頸模塊使用兩個(gè)堆疊的Ghost 模塊調(diào)整特征通道的維度:第一個(gè)Ghost 模塊增加通道數(shù),第二個(gè)Ghost 模塊減少通道數(shù)。如圖3所示,Ghost 模塊有兩種結(jié)構(gòu),當(dāng)stride=2 時(shí),兩個(gè)Ghost模塊之間加入步長為2的深度可分離卷積。在很多分類任務(wù)中,Ghost瓶頸模塊有效降低了模型的參數(shù)量,提高了模型的精度。但是由于Ghost瓶頸模塊的SE 注意力模塊缺少捕獲空間特征的能力,導(dǎo)致唇語識(shí)別的準(zhǔn)確率不佳。
圖3 Ghost瓶頸層結(jié)構(gòu)Fig.3 Illustration of Ghost bottleneck
知識(shí)蒸餾(knowledge distillation,KD)[21]是Hinton等人提出的一種輕量化神經(jīng)網(wǎng)絡(luò),與模型剪枝、量化等輕量化方法通過改變模型的網(wǎng)絡(luò)結(jié)構(gòu)來實(shí)現(xiàn)輕量化的方式不同,知識(shí)蒸餾利用大型網(wǎng)絡(luò)(即教師網(wǎng)絡(luò))訓(xùn)練小型網(wǎng)絡(luò)(即學(xué)生網(wǎng)絡(luò)),使小型網(wǎng)絡(luò)獲得接近大型網(wǎng)絡(luò)的性能。知識(shí)蒸餾更適用于結(jié)構(gòu)整齊的小型網(wǎng)絡(luò),它通常會(huì)提高目標(biāo)模型(學(xué)生網(wǎng)絡(luò))的性能。知識(shí)蒸餾的結(jié)構(gòu)如圖4所示。
自知識(shí)蒸餾(self-knowledge distillation,Self-KD)的教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)為同樣的網(wǎng)絡(luò)模型,避免了設(shè)計(jì)結(jié)構(gòu)復(fù)雜的教師網(wǎng)絡(luò)。一些自知識(shí)蒸餾的理論分析[32]和實(shí)驗(yàn)證明[33],自知識(shí)蒸餾在計(jì)算機(jī)視覺任務(wù)中是非常有效的。
本文基于同類自知識(shí)蒸餾(HSKD)方法和Ghost瓶頸模塊,提出一種輕量化唇語識(shí)別模型HSKDLR,實(shí)現(xiàn)端到端的唇語識(shí)別,其網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 唇語識(shí)別模型的網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Architecture of lip reading model
如圖5 所示,HSKDLR 由前端網(wǎng)絡(luò)和后端網(wǎng)絡(luò)組成。
前端網(wǎng)絡(luò)包括1個(gè)卷積核大小為5×7×7的3D卷積和16 個(gè)i-Ghost Bottlenecks。具體地:首先,將3D卷積作用于輸入圖像序列X,進(jìn)行時(shí)空對(duì)齊,并用空間最大池化(max pooling)壓縮空間特征;然后,使用16個(gè)i-Ghost Bottlenecks提取唇部的通道特征和空間特征,并進(jìn)行全局平均池化(average pooling);最后,使用2D卷積將輸出特征的維度對(duì)齊至512。
后端網(wǎng)絡(luò)由3 個(gè)BiGRU 網(wǎng)絡(luò)和線性層組成,以捕獲序列的潛在關(guān)系并進(jìn)行分類。如圖5右下所示,BiGRU 包含兩個(gè)獨(dú)立的單向GRU(前向隱藏層和后向隱藏層),輸入序列以正常順序傳入前向GRU,并以相反順序傳入后向GRU,兩個(gè)GRU的輸出將在每個(gè)時(shí)間步連接在一起。
HSKDLR模型的特點(diǎn)為:首先,使用S-SE注意力機(jī)制提高模型精度;其次,使用i-Ghost Bottlenecks提升模型準(zhǔn)確率,并通過優(yōu)化瓶頸結(jié)構(gòu)的組合方式降低模型參數(shù)量;最后,使用同類自知識(shí)蒸餾方法提高模型的識(shí)別精度。
使用SE模塊的唇語識(shí)別模型雖然可以小幅提升識(shí)別精度,但會(huì)增加模型計(jì)算量。研究表明[34],使用全連接層降維的方式破壞了通道與其權(quán)重的直接對(duì)應(yīng)關(guān)系,丟失通道間的權(quán)重信息。為避免該問題,本文采用一維卷積代替兩個(gè)全連接層,建模通道關(guān)系,如圖6 所示。同時(shí),由于SE 模塊沒有空間注意力機(jī)制,無法有效提取空間信息。本文參考CBAM[26]注意力結(jié)構(gòu),引入空間注意力機(jī)制,設(shè)計(jì)S-SE(spatial SE)注意力模塊提取唇部圖像的空間特征和通道特征。S-SE模塊主要由通道注意力模塊和空間注意力模塊組成。
圖6 S-SE注意力機(jī)制Fig.6 Illustration of S-SE
通道注意力模塊的結(jié)構(gòu)如圖7所示。首先,將輸入特征圖F(C×H×W) 分別經(jīng)過全局最大池化(global max pooling,GMP)和全局平均池化(global average pooling,GAP),得到兩個(gè)C×1×1 的特征圖;其次,將這兩個(gè)特征圖分別送入1×5 的一維卷積,將卷積后的輸出特征相加;然后,經(jīng)過sigmoid激活函數(shù)生成通道注意力特征;最后,將通道注意力特征和輸入特征圖F相乘,生成空間注意力模塊的輸入特征。同時(shí)使用GAP 和GMP 的原因是池化操作丟失的信息太多,GAP和GMP的并行連接方式比單一池化丟失的信息更少,效果更好。
圖7 通道注意力模塊的結(jié)構(gòu)Fig.7 Architecture of channel attention model
空間注意力模塊的結(jié)構(gòu)如圖8所示,通道注意力模塊的輸出作為空間注意力模塊的輸入特征圖。首先,基于Channel 的GMP 和GAP 得到兩個(gè)1×H×W的特征圖;其次,將這兩個(gè)特征圖基于Channel 做Concat操作(通道拼接),并利用7×7的卷積操作降為1個(gè)Channel,即1×H×W;然后,經(jīng)過sigmoid生成空間注意力特征;最后,將空間注意力特征和通道注意力特征相乘,得到最終特征。
圖8 空間注意力模塊的結(jié)構(gòu)Fig.8 Architecture of spatial attention model
在深度神經(jīng)網(wǎng)絡(luò)中,豐富甚至是冗余的信息常常保證了對(duì)輸入數(shù)據(jù)的全面理解。在許多分類任務(wù)中,多數(shù)網(wǎng)絡(luò)模型選擇過濾掉這些冗余信息來提高模型的識(shí)別精度。研究表明[31],冗余特征圖可能是一個(gè)深度神經(jīng)網(wǎng)絡(luò)成功的一個(gè)重要特征。本文基于這一觀點(diǎn),使用Ghost模塊利用冗余信息。
針對(duì)1.2 節(jié)所述問題,本文使用S-SE 模塊代替SE 模塊,提出一種i-Ghost Bottlenecks 模塊,同時(shí)提取通道特征和空間特征,提高唇語識(shí)別模型的準(zhǔn)確率和魯棒性,i-Ghost Bottlenecks的結(jié)構(gòu)如圖9所示。
圖9 i-Ghost Bottleneck的結(jié)構(gòu)Fig.9 Illustration of i-Ghost Bottleneck
Yuan 等人[35]的研究指出:知識(shí)蒸餾可以看作一種特殊的標(biāo)簽平滑正則化(label smoothing regularization,LSR)[36],兩者具有相似的功能。隨著溫度的升高,知識(shí)蒸餾中教師軟目標(biāo)的概率分布更接近于標(biāo)簽平滑的均勻分布,但使用知識(shí)蒸餾時(shí)必須預(yù)先訓(xùn)練一個(gè)教師模型,這增加了模型的訓(xùn)練成本。利用自知識(shí)蒸餾思想,本文設(shè)計(jì)了同類自知識(shí)蒸餾(HSKD),該方法具有標(biāo)簽平滑特性,無需提前訓(xùn)練教師模型。
同類自知識(shí)蒸餾匹配并蒸餾唇語數(shù)據(jù)集中同一詞語標(biāo)簽的不同樣本之間的預(yù)測(cè),對(duì)于同一詞語標(biāo)簽的不同樣本,同類自知識(shí)蒸餾會(huì)迫使神經(jīng)網(wǎng)絡(luò)產(chǎn)生類似的預(yù)測(cè),而傳統(tǒng)的交叉熵?fù)p失則不考慮預(yù)測(cè)分布的一致性。此外,與現(xiàn)有的大多數(shù)知識(shí)蒸餾模型相比,該方法無需預(yù)先訓(xùn)練教師網(wǎng)絡(luò),不增加額外計(jì)算量,具有防止模型產(chǎn)生過度自信(over-confident)預(yù)測(cè)的特點(diǎn),表1比較了同類自知識(shí)蒸餾與其他知識(shí)蒸餾。
表1 同類自知識(shí)蒸餾與其他知識(shí)蒸餾方法的比較Table 1 Comparison of HSKD with other knowledge distillation methods
圖10 為同類自知識(shí)蒸餾過程示意圖,它由軟標(biāo)簽生成(第一步)和模型訓(xùn)練(第二步)兩個(gè)過程組成,使用軟標(biāo)簽生成的類別預(yù)測(cè)結(jié)果輔助模型訓(xùn)練。軟標(biāo)簽生成和模型訓(xùn)練的輸入為同一標(biāo)簽的不同樣本,f為同類自知識(shí)蒸餾的分項(xiàng)損失函數(shù)(如式(2)所示)。
圖10 同類自知識(shí)蒸餾過程示意圖Fig.10 Illustration of homogeneous self-knowledge distillation
給定輸入x∈X,y∈Y的真值標(biāo)簽(ground-truth label),其預(yù)測(cè)分布為:
式中,fi是神經(jīng)網(wǎng)絡(luò)的logit(邏輯回歸),神經(jīng)網(wǎng)絡(luò)的對(duì)數(shù)由θ參數(shù)化,T為蒸餾溫度(T>0)。同類自知識(shí)蒸餾匹配同類不同樣本的預(yù)測(cè)分布,利用模型自身提取暗知識(shí)。
本文使用正則化損失,對(duì)同類樣本執(zhí)行一致的預(yù)測(cè)分布,形式上將具有相同類別標(biāo)簽y的兩個(gè)不同樣本x和x′作為模型的輸入圖像,損失函數(shù)定義如下:
其中,KL表示KL 散度(Kullback-Leibler),不同于經(jīng)典知識(shí)蒸餾方法(KD[21])匹配來自兩個(gè)網(wǎng)絡(luò)對(duì)單個(gè)樣本的預(yù)測(cè),損失函數(shù)ξ匹配同一個(gè)網(wǎng)絡(luò)對(duì)不同樣本的預(yù)測(cè),即實(shí)現(xiàn)一種自知識(shí)蒸餾。同類自知識(shí)蒸餾的損失函數(shù)定義如下:
其中,ξCE是標(biāo)準(zhǔn)交叉熵(cross entropy,CE)損失,λ是同類自知識(shí)蒸餾損失函數(shù)的權(quán)重。借鑒原始KD方法[21],本文將溫度T的平方乘以損失函數(shù)ξ。
為了避免過度自信的預(yù)測(cè),同類自知識(shí)蒸餾使用其他樣本的預(yù)測(cè)結(jié)果作為軟標(biāo)簽。經(jīng)過在唇語識(shí)別模型上的反復(fù)實(shí)驗(yàn),同類自知識(shí)蒸餾不僅減少了識(shí)別模型的過度自信預(yù)測(cè),而且還增強(qiáng)了與真值相關(guān)類的預(yù)測(cè)值,使唇語識(shí)別模型的精度得以提升。
本實(shí)驗(yàn)采用LRW數(shù)據(jù)集[37],LRW由BBC的新聞和脫口秀節(jié)目的視頻片段(1.16 s)組成,這些片段包含了超過1 000 個(gè)揚(yáng)聲器、頭部姿態(tài)和照明變化。LRW 數(shù)據(jù)集擁有500 個(gè)單詞,每個(gè)目標(biāo)單詞有1 000個(gè)片段的訓(xùn)練集,50個(gè)片段的驗(yàn)證集和評(píng)估集,總持續(xù)時(shí)間173 h。
本文使用dlib檢測(cè)并跟蹤LRW視頻的68個(gè)面部關(guān)鍵點(diǎn)[38],首先將唇部裁剪成尺寸為96×96 的圖像,其次將其隨機(jī)裁剪為88×88的尺寸,然后將灰度化后的圖像按0.5的概率水平翻轉(zhuǎn),最后將歸一化后的圖像輸入HSKDLR。
為了減少過擬合(overfitting),本文使用mixup[39]進(jìn)行數(shù)據(jù)增強(qiáng)。在此過程中,選擇A:(xA,yA)和B:(xB,yB)兩個(gè)樣本通過加權(quán)線性插值生成新樣本C:(x′,y′),即
其中,xi表示訓(xùn)練樣本,yi表示訓(xùn)練樣本i∈{A,B}的分類標(biāo)簽,β是服從參數(shù)均為α的Beta 分布的隨機(jī)抽樣值Beta(α,α)。表2為α對(duì)模型性能的影響,根據(jù)實(shí)驗(yàn)結(jié)果,本文將α的值設(shè)定為0.2。
表2 α 對(duì)模型性能的影響Table 2 Influence of α on model performance
模型的搭建、訓(xùn)練和測(cè)試均基于Pytorch,使用Tesla V100顯卡。唇語識(shí)別模型總訓(xùn)練批次為96,采用余弦學(xué)習(xí)率,其計(jì)算公式為:
式中,t為批次數(shù),T為總批次。初始學(xué)習(xí)率η的值為0.000 3,batchsize 為32,權(quán)重衰減率為0.000 1,使用Adam優(yōu)化策略。
i-Ghost Bottlenecks 的堆疊方式和數(shù)量直接影響模型的識(shí)別性能,為了探究這一問題,實(shí)驗(yàn)考察瓶頸模塊的堆疊方式和數(shù)量對(duì)識(shí)別性能的影響,實(shí)驗(yàn)結(jié)果如表3所示。
表3 瓶頸模塊的堆疊方式和數(shù)量對(duì)識(shí)別性能的影響Table 3 Influence of stacking mode and the number of bottleneck modules on recognition performance
如表3 所示,堆疊方式用(x,y)×z的形式表示,x表示圖9中stride=2 時(shí)的瓶頸結(jié)構(gòu)的數(shù)量,y表示圖9 中stride=1 時(shí)的瓶頸結(jié)構(gòu)的數(shù)量,z表示以該結(jié)構(gòu)進(jìn)行堆疊的個(gè)數(shù)。由實(shí)驗(yàn)結(jié)果可以看出:(1,3)的堆疊方式要明顯優(yōu)于(1,1)的堆疊方式;骨干網(wǎng)絡(luò)的總層數(shù)不易過少,雖然(1,3)×3與(1,1)×6的總層數(shù)少于(1,3)×4,計(jì)算量和參數(shù)量降低了,但也大幅降低了模型的識(shí)別精度;(1,3)×5與(1,3)×4達(dá)到的準(zhǔn)確率幾乎一致,本文最終采用堆疊次數(shù)更少的(1,3)×4方式,在減少骨干網(wǎng)絡(luò)的復(fù)雜度的同時(shí)并未降低模型的識(shí)別準(zhǔn)確率。
在將網(wǎng)絡(luò)的第一個(gè)卷積保持為3D 卷積的情況下,本實(shí)驗(yàn)考察不同前端網(wǎng)絡(luò)下的模型識(shí)別性能,這些前端網(wǎng)絡(luò)分別為MobileNet V2[40]、ShuffleNet V2[41]、Ghost Bottleneck、SE-ResNet18 和i-Ghost Bottleneck,模型的后端網(wǎng)絡(luò)統(tǒng)一使用BGRU(bidirectional gated recurrent unit)。模型構(gòu)成和實(shí)驗(yàn)結(jié)果如表4所示。
由表4 可得,i-Ghost Bottleneck 構(gòu)成的模型具有比MobileNet V2 和ShuffleNet V2 構(gòu)成的模型更高的性能。與SE-ResNet18 構(gòu)成的模型相比,i-Ghost Bottleneck的識(shí)別精度下降了0.8個(gè)百分點(diǎn),但參數(shù)量降低了13,浮點(diǎn)數(shù)計(jì)算量降低了34。與Ghost 瓶頸模塊構(gòu)成的模型相比,i-Ghost Bottleneck構(gòu)成的模型在降低浮點(diǎn)數(shù)計(jì)算量和參數(shù)量的情況下,提升了識(shí)別準(zhǔn)確率。圖11顯示了不同的識(shí)別模型的識(shí)別準(zhǔn)確率曲線,由圖可見,本文方法的收斂速度和識(shí)別準(zhǔn)確率明顯高于其他方法。
圖11 不同前端構(gòu)成模型的識(shí)別準(zhǔn)確率曲線Fig.11 Recognition accuracy curves of different front-end models
綜合以上結(jié)果,本文提出的i-Ghost Bottleneck作為骨干網(wǎng)絡(luò)構(gòu)成的唇語識(shí)別模型取得了較好的識(shí)別性能。
本實(shí)驗(yàn)所有模型的前端網(wǎng)絡(luò)為3D-Conv+i-Ghost Bottleneck,后端網(wǎng)絡(luò)分別使用BLSTM(bidirectional long short-term memory)、TCN(temporal convolutional network)、MS-TCN(multi-stage temporal convolutional network)和BGRU(bidirectional gated recurrent unit),實(shí)驗(yàn)結(jié)果如表5所示。由表5可以看出,后端網(wǎng)絡(luò)使用BLSTM和TCN構(gòu)成模型的識(shí)別效果并不理想;后端網(wǎng)絡(luò)使用MS-TCN時(shí)的參數(shù)量與浮點(diǎn)數(shù)計(jì)算量最低,但是模型精度下降了2.9 個(gè)百分點(diǎn)。綜合準(zhǔn)確率、參數(shù)量和浮點(diǎn)數(shù)計(jì)算量,本文采用BGRU作為后端網(wǎng)絡(luò)。
表5 不同后端構(gòu)成的唇語識(shí)別模型的性能對(duì)比Table 5 Performance comparison of lip reading models composed of different backends
為了彌補(bǔ)輕量化唇語識(shí)別網(wǎng)絡(luò)的精度損失,本文采用自知識(shí)蒸餾的方法提高模型的識(shí)別精度,為考察不同知識(shí)蒸餾方法的性能表現(xiàn),本實(shí)驗(yàn)對(duì)比普通蒸餾、自知識(shí)蒸餾、同類自知識(shí)蒸餾方法的識(shí)別性能(基于2.4 節(jié)所述,此處也對(duì)比標(biāo)簽平滑正則化方法)。普通知識(shí)蒸餾方法的教師網(wǎng)絡(luò)為3D-Conv+SEResNet18+BGRU,學(xué)生網(wǎng)絡(luò)為3D-Conv+i-Ghost Bottleneck;自知識(shí)蒸餾方法的教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)均為3D-Conv+i-Ghost Bottleneck;同類自知識(shí)蒸餾方法的模型(無教師網(wǎng)絡(luò))為3D-Conv+i-Ghost Bottleneck;標(biāo)簽平滑是一種代替蒸餾的正則化方法。實(shí)驗(yàn)結(jié)果如表6所示。
表6 不同知識(shí)蒸餾方法的模型性能Table 6 Performance of different knowledge distillation methods
由表6可見,各種知識(shí)蒸餾方法均比標(biāo)簽平滑方法得到的識(shí)別效果好,推測(cè)原因可能是標(biāo)簽平滑在訓(xùn)練時(shí),使用的“人造”軟標(biāo)簽通過人為設(shè)定固定參數(shù)實(shí)現(xiàn),這使模型的泛化能力有限。普通蒸餾的教師網(wǎng)絡(luò)的精度要高于自知識(shí)蒸餾的教師網(wǎng)絡(luò)(如表4所示),但表6 中的自知識(shí)蒸餾方法的唇語識(shí)別效果更好,這說明使用結(jié)構(gòu)復(fù)雜的高精度教師網(wǎng)絡(luò)訓(xùn)練的模型不一定取得更好的識(shí)別效果。同類自知識(shí)蒸餾可以獲得高于標(biāo)簽平滑和其他蒸餾方法的識(shí)別準(zhǔn)確率,圖12 顯示了不同知識(shí)蒸餾方法的識(shí)別準(zhǔn)確率曲線。由圖12和表6可見,同類自知識(shí)蒸餾方法的識(shí)別準(zhǔn)確率明顯高于其他知識(shí)蒸餾方法和正則化方法。
圖12 不同知識(shí)蒸餾方法的識(shí)別準(zhǔn)確率曲線Fig.12 Recognition accuracy curves of different knowledge distillation methods
如圖12 所示,同樣采用軟標(biāo)簽的自知識(shí)蒸餾方法明顯優(yōu)于采用“人造”軟標(biāo)簽的標(biāo)簽平滑方法??梢?,同類自知識(shí)蒸餾的軟標(biāo)簽更有效。
本實(shí)驗(yàn)考察同類自知識(shí)蒸餾方法在唇語識(shí)別任務(wù)中的可行性與在唇語識(shí)別模型上的通用性,對(duì)比四種經(jīng)典模型[14,18,20,42]應(yīng)用同類自知識(shí)蒸餾方法后的識(shí)別效果。表7 為同類自知識(shí)蒸餾應(yīng)用于其他唇語識(shí)別模型的性能對(duì)比表,圖13 顯示了四個(gè)模型分別使用自知識(shí)蒸餾、同類自知識(shí)蒸餾后的識(shí)別準(zhǔn)確率曲線。
表7 同類自知識(shí)蒸餾應(yīng)用于其他模型的性能對(duì)比Table 7 Performance comparison of HSKD applied to other models
圖13 同類自知識(shí)蒸餾應(yīng)用于不同模型的準(zhǔn)確率曲線Fig.13 Accuracy curves of different models which are applied with HSKD
由表7可以看出,應(yīng)用同類自知識(shí)蒸餾方法的模型識(shí)別率普遍得到提高,這證明同類自知識(shí)蒸餾可廣泛應(yīng)用于現(xiàn)有唇語識(shí)別模型,并可提高其識(shí)別率。
實(shí)驗(yàn)也表明:應(yīng)用了同類自知識(shí)蒸餾方法后的識(shí)別模型的準(zhǔn)確率不與原識(shí)別模型的準(zhǔn)確率成比例地提高,如表7 中,3D-Conv+ResNet18+BLSTM 和3D-Conv+ResNet18+BGRU的準(zhǔn)確率分別為82.3%和82.7%,但應(yīng)用同類自知識(shí)蒸餾方法后,它們的準(zhǔn)確率為85.2%和84.8%,應(yīng)用前后的識(shí)別準(zhǔn)確率變化較大。
值得注意的是,應(yīng)用同類自知識(shí)蒸餾方法的Martinez[20]模型所提升的精度與自知識(shí)蒸餾相當(dāng),但從圖13(d)可以看出,使用了同類自知識(shí)蒸餾的模型在大多數(shù)時(shí)候的準(zhǔn)確率均高于使用自知識(shí)蒸餾的模型。
由圖13 可知,同類自知識(shí)蒸餾方法在不同模型上都能取得較高準(zhǔn)確率;相對(duì)于普通蒸餾和自知識(shí)蒸餾方法,同類自知識(shí)蒸餾方法的收斂速度較快,并且較早出現(xiàn)準(zhǔn)確率下降趨勢(shì)。
本實(shí)驗(yàn)比較同類自知識(shí)蒸餾模型HSKDLR和其他主流唇語識(shí)別模型的性能,實(shí)驗(yàn)結(jié)果如表8 所示。由表8可見,并不是結(jié)構(gòu)復(fù)雜的唇語識(shí)別模型能獲得更好的識(shí)別性能,如Stafylakis[42]和Petridis[43]在后端均為BLSTM的情況下,前端網(wǎng)絡(luò)為3D-Conv+ResNet18的性能優(yōu)于3D-Conv+ResNet34。同時(shí),對(duì)于Zhang[18]和Zhao[19],在前端網(wǎng)絡(luò)相同的情況下,后端網(wǎng)絡(luò)為BGRU的模型性能要優(yōu)于后端為BLSTM的模型。
表8 HSKDLR和其他唇語識(shí)別方法的性能對(duì)比Table 8 Performance comparison between HSKDLR and other lip reading methods
HSKDLR的識(shí)別精度達(dá)到87.3%,超過所有非輕量結(jié)構(gòu)的識(shí)別模型,并且模型的參數(shù)量和浮點(diǎn)數(shù)計(jì)算量遠(yuǎn)小于對(duì)比方法。HSKDLR的識(shí)別準(zhǔn)確率比最高的Kim[44]方法還高1.9 個(gè)百分點(diǎn);準(zhǔn)確率比次高的Martinez[20]方法高2 個(gè)百分點(diǎn),參數(shù)量和浮點(diǎn)數(shù)運(yùn)算量卻僅為它的73%和28%。
本實(shí)驗(yàn)可視化地展示HSKDLR 識(shí)別模型與Stafylakis[42]、Zhang[18]、Martinez[20]模型的識(shí)別結(jié)果。針對(duì)LRW 測(cè)試集中識(shí)別難度較高的5 個(gè)單詞(right,spend,police,attack,fight)實(shí)驗(yàn),對(duì)比識(shí)別結(jié)果,如圖14所示。由表7和圖14可見,Zhang模型的識(shí)別精度高于Stafylakis,但對(duì)識(shí)別難度較高的單詞的識(shí)別錯(cuò)誤較多。Stafylakis 模型出現(xiàn)了比較大的識(shí)別錯(cuò)誤,它將“police”識(shí)別為唇形差異比較大的“place”,而其他方法識(shí)別為唇形差異不大的“policy”,這也表明Stafylakis模型可能缺少一定的穩(wěn)定性。就這些較高難度單詞識(shí)別的正確率來說,Martinez模型和HSKDLR均有較好的識(shí)別效果,但從兩個(gè)模型的識(shí)別錯(cuò)誤來看,它們所提取和關(guān)注的唇部特征有一定的區(qū)別和側(cè)重點(diǎn)。值得注意的是,所有模型在識(shí)別“fight”單詞時(shí)均將其錯(cuò)誤地識(shí)別為了“fighting”,推測(cè)其原因可能是這兩個(gè)單詞間的細(xì)微特征未被準(zhǔn)確捕獲,或者是數(shù)據(jù)集的制作不夠嚴(yán)謹(jǐn)。
圖14 對(duì)5個(gè)識(shí)別難度較高單詞的識(shí)別結(jié)果對(duì)比Fig.14 Comparison of recognition results of 5 words with high recognition difficulty
本文針對(duì)唇語識(shí)別模型的識(shí)別率較低和計(jì)算量較大的問題,基于Ghost瓶頸結(jié)構(gòu)和同類自知識(shí)蒸餾方法提出一種輕量化唇語識(shí)別模型和訓(xùn)練方法。在SE 中加入空間注意力模塊,關(guān)注空間特征;用i-Ghost Bottlenecks作為骨干網(wǎng)絡(luò)設(shè)計(jì)新的唇語識(shí)別模型HSKDLR;使用同類自知識(shí)蒸餾方法訓(xùn)練HSKDLR。由于同類自知識(shí)蒸餾方法不需要教師網(wǎng)絡(luò),省去了教師網(wǎng)絡(luò)的訓(xùn)練過程,節(jié)約了訓(xùn)練成本。在LRW 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示,本文模型達(dá)到87.3%的識(shí)別準(zhǔn)確率,浮點(diǎn)數(shù)運(yùn)算量低至2.564 GFLOPs,參數(shù)量低至3.872 3×107。實(shí)驗(yàn)結(jié)果表明,HSKDLR 的準(zhǔn)確率可以媲美甚至超過現(xiàn)有的非輕量化模型,并且降低了浮點(diǎn)數(shù)計(jì)算量和參數(shù),實(shí)現(xiàn)了模型輕量化的同時(shí)提高識(shí)別精度的目的。