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