劉培培 賈靜平
摘 要:針對(duì)現(xiàn)有中文句子級(jí)唇語(yǔ)識(shí)別技術(shù)存在的視覺(jué)歧義、特征提取不充分導(dǎo)致識(shí)別準(zhǔn)確率偏低的問(wèn)題,提出了一種基于時(shí)域卷積網(wǎng)絡(luò),采用三維時(shí)空卷積的中文句子級(jí)唇語(yǔ)識(shí)別算法——3DT-CHLipNet(Chinese LipNet based on 3DCNN,TCN)。首先,針對(duì)特征提取不充分的問(wèn)題,所提出算法采用了比長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)感受野更大的時(shí)域卷積網(wǎng)絡(luò)(temporal convolutional network,TCN)來(lái)提取長(zhǎng)時(shí)依賴(lài)信息;其次,針對(duì)中文唇語(yǔ)識(shí)別中存在的“同型異義”視覺(jué)歧義問(wèn)題,將自注意力機(jī)制應(yīng)用于中文句子級(jí)唇語(yǔ)識(shí)別,以更好地捕獲上下文信息,提升了句子預(yù)測(cè)準(zhǔn)確率;最后,在數(shù)據(jù)預(yù)處理方面引入了時(shí)間掩蔽數(shù)據(jù)增強(qiáng)策略,進(jìn)一步降低了算法模型的錯(cuò)誤率。在最大的開(kāi)源漢語(yǔ)普通話(huà)句子級(jí)數(shù)據(jù)集CMLR上的實(shí)驗(yàn)測(cè)試表明,與現(xiàn)有中文句子級(jí)唇語(yǔ)識(shí)別代表性算法相比,所提出算法的識(shí)別準(zhǔn)確率提高了2.17%至23.99%。
關(guān)鍵詞:中文唇語(yǔ)識(shí)別; 深度學(xué)習(xí); 時(shí)域卷積網(wǎng)絡(luò); 注意力機(jī)制
中圖分類(lèi)號(hào):TP391.4?? 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2023)09-005-0000-00
doi:10.19734/j.issn.1001-3695.2023.02.0051
Lip-reading algorithm for Chinese sentences based on
temporal convolutional network
Liu Peipei, Jia Jingping
(School of Control & Computer Engineering, North China Electric Power University, Beijing 102206, China)
Abstract:Existing lip-reading algorithms for Chinese sentences are inadequate at feature extraction and visual ambiguity resolution, which leads to low accuracy. Aiming at this problem, this paper proposed a lip-reading algorithm for Chinese sentences based on temporal convolutional network and 3D convolutional neural network(3DT-CHLipNet) . Firstly, it used a temporal convolutional network to extract long-term features from lip dynamics sequences, which has a much larger receptive field than the long short term memory network. Secondly, in order to minimize the visual ambiguity in Chinese lipreading, it adopted a Transformer model with the self-attention mechanism to capture the context information and improve the accuracy of sentence prediction. Finally, it introduced a temporal masking data augmentation strategy in the data preprocessing to further reduce the error rate of the algorithm. Comparison experiments on CMLR, the largest open-source sequence-to-sequence Chinese mandarin lip reading dataset, show that the improvement in accuracy over representative lip reading algorithms for Chinese sentences ranges from 2.17% to 23.99%.
Key words:Chinese lip recognition; deep learning; temporal convolutional network; attention mechanism
0 引言
唇語(yǔ)識(shí)別(lip recognition),也稱(chēng)為視覺(jué)語(yǔ)音識(shí)別(visual speech recognition),唇讀(lip reading),其目的是通過(guò)分析說(shuō)話(huà)者唇部圖片序列運(yùn)動(dòng)信息來(lái)推測(cè)其所說(shuō)內(nèi)容。這項(xiàng)研究涉及到圖像分類(lèi)、語(yǔ)音識(shí)別和自然語(yǔ)言處理等多個(gè)領(lǐng)域,在輔助語(yǔ)音識(shí)別[1]、人臉安全性身份檢測(cè)[2]、輔助聽(tīng)覺(jué)障礙學(xué)生教育[3]等方面有著廣闊的應(yīng)用空間。
近幾年來(lái),深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理等領(lǐng)域取得的顯著成果,也促進(jìn)了應(yīng)用神經(jīng)網(wǎng)絡(luò)來(lái)解決唇語(yǔ)識(shí)別的研究,唇語(yǔ)識(shí)別方法已經(jīng)從基于隱馬爾可夫模型(HMM)的人工提取特征[4~6]轉(zhuǎn)變?yōu)槎说蕉思軜?gòu)的深度學(xué)習(xí)方式[7,8],基于深度學(xué)習(xí)的框架方法已經(jīng)逐漸取代傳統(tǒng)方法,成為唇語(yǔ)識(shí)別的主流方法。然而,在沒(méi)有語(yǔ)境的情況下,唇讀仍然是一項(xiàng)極具挑戰(zhàn)的任務(wù),大多數(shù)唇讀動(dòng)作除了嘴唇運(yùn)動(dòng)之外,還有潛在的舌頭、牙齒和聲帶等口腔內(nèi)部變化,在沒(méi)有上下文的情況下很難消除視覺(jué)歧義;而且,相對(duì)于單詞唇讀,句子級(jí)的唇語(yǔ)識(shí)別對(duì)時(shí)間連續(xù)性的依賴(lài)更強(qiáng),在進(jìn)行特征提取時(shí),僅提取低維唇動(dòng)特征不足以提升句子級(jí)別的識(shí)別準(zhǔn)確率。
目前,唇語(yǔ)識(shí)別研究已經(jīng)在英語(yǔ)單詞和句子級(jí)層面取得了一定的成果。例如:英語(yǔ)單詞方面,殘差網(wǎng)絡(luò)(residual networks)和雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(bidirectional long short memory neural network,Bi-LSTM)的組合結(jié)構(gòu)[9],在LRW數(shù)據(jù)集[10]上實(shí)現(xiàn)了83.0%的準(zhǔn)確率;稠密連接時(shí)域卷積網(wǎng)絡(luò)(densely connected temporal convolutional network,DC-TCN)[11]在孤立詞LRW數(shù)據(jù)集上實(shí)現(xiàn)了88.36%的準(zhǔn)確率;英文句子方面,Assael等人[12]提出了第一個(gè)同時(shí)學(xué)習(xí)時(shí)空視覺(jué)特征和序列模型的端到端句子級(jí)唇讀模型LipNet,其唇讀準(zhǔn)確率超過(guò)了專(zhuān)業(yè)唇讀者;Chung等人[10]提出了“看、聽(tīng)、聽(tīng)、拼”網(wǎng)絡(luò)模型(WLAS),利用了一種新穎的雙重注意機(jī)制,引入了雙模態(tài)輸入,證明了在有音頻的情況下,視覺(jué)信息有助于提高語(yǔ)音識(shí)別性能,在所收集的LRS[13]句子級(jí)數(shù)據(jù)集上的性能大大超過(guò)以往在標(biāo)準(zhǔn)唇讀基準(zhǔn)數(shù)據(jù)集上的工作;Ma等人[14]提出的一個(gè)雙模態(tài)視聽(tīng)語(yǔ)音識(shí)別模型Conformers,可以以端到端方式訓(xùn)練,將特征提取階段與連接時(shí)序分類(lèi)(connectionist temporal classification,CTC)后端結(jié)合起來(lái),共同訓(xùn)練模型,這進(jìn)一步提升了算法的識(shí)別性能。
然而,對(duì)漢語(yǔ)進(jìn)行的唇讀研究還很少[15],相較于英文唇讀研究,中文數(shù)據(jù)集歷歷可數(shù)[16]。比較有代表性的中文唇語(yǔ)識(shí)別研究有Zhao等人[17]于2019年提出的綜合拼音、聲調(diào)和字符預(yù)測(cè)的級(jí)聯(lián)序列—序列模型CSSMCM,該模型在其收集發(fā)布的漢語(yǔ)普通話(huà)句子數(shù)據(jù)集CMLR[17]上的字符錯(cuò)誤率為32.48%;中文句子級(jí)唇語(yǔ)識(shí)別模型LipCh-Net[18]在其自建數(shù)據(jù)集CCTVDS上取得了45.7%的句子準(zhǔn)確率和58.51%的拼音序列準(zhǔn)確率,并且該模型針對(duì)漢語(yǔ)發(fā)音特點(diǎn),將唇語(yǔ)識(shí)別過(guò)程分為圖片—拼音(P2P)、拼音—漢字序列(P2CC)兩個(gè)子過(guò)程的研究方法得到了廣泛認(rèn)可,文獻(xiàn)[19]所提的視覺(jué)拼音模型CHSLR-VP也是在ChLipNet兩段式模型上作出的進(jìn)一步改進(jìn)。
以上工作都是通過(guò)中文發(fā)音的“拼音”中轉(zhuǎn)媒介來(lái)規(guī)避視覺(jué)表達(dá)上的歧義性,并且大多是利用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-LSTM)或雙向門(mén)控循環(huán)單元(Bi-GRU)循環(huán)卷積來(lái)進(jìn)行序列建模。但是Bi-LSTM和Bi-GRU網(wǎng)絡(luò)的門(mén)控機(jī)制并不能記憶過(guò)去的全部信息,其遺忘門(mén)存在信息泄露問(wèn)題,且循環(huán)卷積RNN進(jìn)行序列建模時(shí)是串行計(jì)算、訓(xùn)練時(shí)內(nèi)存消耗大,存在梯度消失問(wèn)題,這導(dǎo)致在通過(guò)提取連續(xù)時(shí)間特征來(lái)提高拼音識(shí)別準(zhǔn)確率和利用上下文語(yǔ)意來(lái)改善視覺(jué)歧義兩方面仍有所不足。
為了解決以上問(wèn)題,本文提出了基于時(shí)域卷積的中文句子級(jí)唇語(yǔ)識(shí)別研究方法,設(shè)計(jì)了3DT-CHLipNet(Chinese LipNet based on 3DCNN, TCN)模型,充分考慮了中文句子唇語(yǔ)識(shí)別的多樣性和復(fù)雜性。在把中文句子唇語(yǔ)識(shí)別分為拼音序列識(shí)別和漢字序列識(shí)別兩步驟的基礎(chǔ)上,在第一步提取唇部運(yùn)動(dòng)特征后,首次提出引入時(shí)域卷積網(wǎng)絡(luò)(TCN),與自注意力(self attention)機(jī)制相結(jié)合以充分利用上下文語(yǔ)意信息和時(shí)間連續(xù)性特征,提高拼音識(shí)別準(zhǔn)確率,同時(shí)避免RNN帶來(lái)的“梯度消失”問(wèn)題;在第二步中,將在機(jī)器翻譯領(lǐng)域取得良好效果的完全基于自注意機(jī)制的Transformer模型應(yīng)用于拼音序列到漢字序列的識(shí)別,增強(qiáng)關(guān)鍵幀的語(yǔ)義表示,更好地捕獲拼音序列的上下文信息,改善視覺(jué)歧義模糊性,提高漢字序列識(shí)別準(zhǔn)確率。并且在數(shù)據(jù)預(yù)處理階段應(yīng)用時(shí)間掩蔽策略,去除冗余幀,進(jìn)行數(shù)據(jù)增強(qiáng),進(jìn)一步降低了拼音預(yù)測(cè)階段的錯(cuò)誤率。實(shí)驗(yàn)結(jié)果表明,本文模型可以有效提取連續(xù)長(zhǎng)時(shí)間步的特征信息,減少中文唇讀的視覺(jué)歧義模糊性,提升中文句子識(shí)別準(zhǔn)確率。
本文的主要貢獻(xiàn)如下:
a)首次提出在中文句子級(jí)唇語(yǔ)識(shí)別的拼音序列識(shí)別步驟中,引入時(shí)域卷積網(wǎng)絡(luò),以提取更長(zhǎng)時(shí)間步長(zhǎng)的時(shí)序特征,與現(xiàn)有同類(lèi)算法相比,本文算法在拼音序列識(shí)別步驟中的拼音錯(cuò)誤率降低了0.05%至17.02%;
b)進(jìn)一步提出了使用自注意力機(jī)制來(lái)捕獲上下文信息,以消除視覺(jué)歧義,將拼音錯(cuò)誤率降低了7.09%。同時(shí),在數(shù)據(jù)預(yù)處理階段,采用了時(shí)間掩蔽的數(shù)據(jù)增強(qiáng)措施,進(jìn)一步提升了識(shí)別準(zhǔn)確率;
c)在公開(kāi)數(shù)據(jù)集上,通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證了所提出算法,在漢字序列(中文句子)的識(shí)別準(zhǔn)確率方面取得了比參與對(duì)比的算法更高的表現(xiàn),字符錯(cuò)誤率降低了2.71%至23.99%。
1 中文句子級(jí)唇語(yǔ)識(shí)別算法3DT-CHLipNet
目前中文唇語(yǔ)識(shí)別任務(wù)中存在的難題主要有以下三點(diǎn):
a)現(xiàn)有數(shù)據(jù)集中的大部分視頻片段,在開(kāi)頭和結(jié)尾部分有頓點(diǎn),不含有效唇部運(yùn)動(dòng),而現(xiàn)有識(shí)別方法是對(duì)視頻幀中所有信息進(jìn)行無(wú)差別學(xué)習(xí),導(dǎo)致網(wǎng)絡(luò)學(xué)到部分無(wú)效特征;
b)受不同說(shuō)話(huà)者語(yǔ)速的影響、采集設(shè)備和環(huán)境的影響,視頻幀率會(huì)有所不同,現(xiàn)有網(wǎng)絡(luò)模型難以泛化由此帶來(lái)的對(duì)識(shí)別結(jié)果的影響,因此網(wǎng)絡(luò)需要捕獲更長(zhǎng)時(shí)間的信息特征來(lái)緩解外界不定因素所造成的不良結(jié)果;
c)中文在發(fā)音時(shí),會(huì)出現(xiàn)不同單詞對(duì)應(yīng)同一口型的視覺(jué)歧義問(wèn)題,以及相同單詞由于語(yǔ)境不同而含義不同的情況,這要求網(wǎng)絡(luò)具有能捕獲唇部細(xì)微變化的能力,以及對(duì)上下文語(yǔ)義特征提取的能力。
本文充分考慮了中文句子唇語(yǔ)識(shí)別的多樣性和復(fù)雜性,提出了基于TCN和Transformer的端到端模型3DT-CHLipNet(Chinese LipNet based on 3DCNN,TCN and Transformer),旨在解決中文唇語(yǔ)識(shí)別現(xiàn)存的特征提取不充分和視覺(jué)歧義問(wèn)題,提高中文句子級(jí)唇語(yǔ)識(shí)別準(zhǔn)確率。具體解決方案如下:
a)在數(shù)據(jù)預(yù)處理階段,引入時(shí)間掩蔽增強(qiáng)策略,減少了部分冗余信息,盡可能保證后續(xù)模型提取到的是有意義的特征。
b)在特征提取和拼音序列預(yù)測(cè)階段,本文把需要提取的特征分成三部分(視覺(jué)空間特征、連續(xù)時(shí)間特征、上下文語(yǔ)意特征),利用模型中不同的網(wǎng)絡(luò)組成部分有針對(duì)性地提取不同的信息特征,以充分實(shí)現(xiàn)有效信息的提取。對(duì)于空間和時(shí)間維度的特征,構(gòu)建了一個(gè)3DCNN+2DCNN+TCN的特征提取網(wǎng)絡(luò),其中2DCNN實(shí)現(xiàn)單幀圖像的視覺(jué)特征提取,3DNN實(shí)現(xiàn)多幀連續(xù)圖像的時(shí)間維度信息提取,TCN實(shí)現(xiàn)詞間隔細(xì)微的連續(xù)時(shí)間特征提取。與其他處理時(shí)序問(wèn)題的RNN相比,TCN感受野更大,可以抓取長(zhǎng)時(shí)依賴(lài),學(xué)習(xí)到更多信息,同時(shí),在TCN網(wǎng)絡(luò)之前還加入了注意力機(jī)制,可以為關(guān)鍵幀分配更多權(quán)重,使網(wǎng)絡(luò)對(duì)重點(diǎn)信息的學(xué)習(xí)有所側(cè)重,增強(qiáng)整體網(wǎng)絡(luò)對(duì)連續(xù)唇部圖片序列運(yùn)動(dòng)的特征提取效果。
c)中文同音字特點(diǎn)無(wú)可避免,為解決由此導(dǎo)致的視覺(jué)歧義問(wèn)題,本文通過(guò)提高拼音到漢語(yǔ)識(shí)別模型的上下文語(yǔ)意理解能力來(lái)改善該問(wèn)題。將基于多頭自注意力機(jī)制的Transformer模型遷移到中文唇語(yǔ)識(shí)別研究中,Transformer編解碼框架能夠?qū)W習(xí)相關(guān)信息在不同的子空間表示,提高提取全局上下文特征能力,以進(jìn)一步提升漢語(yǔ)句子的識(shí)別準(zhǔn)確率。另外,在多音字的拼音到漢字的預(yù)測(cè)過(guò)程中,通過(guò)選取合適的解碼策略(波束搜索),找到合適的波束寬度參數(shù),輔助模型預(yù)測(cè)出更符合中文語(yǔ)義的句子序列,也在一定程度上緩解了視覺(jué)歧義引起的誤差。
3DT-CHLipNet模型的基礎(chǔ)框架包含三個(gè)部分:(a)數(shù)據(jù)預(yù)處理部分:從視頻樣本抽幀,應(yīng)用時(shí)間掩蔽策略,去除冗余幀信息,對(duì)序列幀中的人臉區(qū)域進(jìn)行裁剪,定位唇部區(qū)域;(b)拼音序列識(shí)別部分:將預(yù)處理后的唇部序列幀輸入3D CNN和ResNet18網(wǎng)絡(luò),提取唇部運(yùn)動(dòng)特征和時(shí)間特征,得到視覺(jué)特征矩陣,通過(guò)self-attention層和TCN將視覺(jué)矩陣映射為拼音序列。這一部分通過(guò)拼音序列預(yù)測(cè)子網(wǎng)絡(luò)實(shí)現(xiàn);(c)漢字序列識(shí)別部分:將拼音序列輸入Transformer模型進(jìn)行處理,得到漢字序列構(gòu)成的句子。這一部分通過(guò)漢字序列預(yù)測(cè)子網(wǎng)絡(luò)實(shí)現(xiàn)。拼音序列預(yù)測(cè)和漢字序列預(yù)測(cè)兩個(gè)子網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.1 時(shí)間掩蔽策略
唇語(yǔ)樣本以視頻形式表示,需要對(duì)其進(jìn)行預(yù)處理得到唇部幀序列圖片,方可輸入進(jìn)拼音預(yù)測(cè)網(wǎng)絡(luò)。先對(duì)視頻進(jìn)行抽幀,然后對(duì)視頻幀進(jìn)行人臉定位、唇部區(qū)域定位和唇部裁剪操作。最后,為了避免后續(xù)特征提取網(wǎng)絡(luò)對(duì)所有幀進(jìn)行無(wú)差別學(xué)習(xí),學(xué)到部分無(wú)效特征,對(duì)關(guān)鍵信息產(chǎn)生干擾,本文采用時(shí)間掩蔽增強(qiáng)策略,去掉視頻開(kāi)頭和結(jié)尾中不含唇部有效運(yùn)動(dòng)的某些唇部幀,僅保留包含關(guān)鍵信息的中間段幀,減少冗余信息,以保證拼音預(yù)測(cè)模型提取到的是有意義的特征。具體的掩蔽時(shí)長(zhǎng)、幀長(zhǎng)參數(shù)選擇將在實(shí)驗(yàn)部分給出。
1.2 拼音序列預(yù)測(cè)子網(wǎng)絡(luò)
拼音序列識(shí)別模型是將視頻幀圖片序列轉(zhuǎn)為拼音序列。與大多數(shù)圖像識(shí)別和孤立性單詞分類(lèi)任務(wù)有所不同,句子級(jí)拼音序列識(shí)別過(guò)程中除了提取低維的唇部序列圖片特征外,還需要提取句子連續(xù)性的時(shí)間特征。因此,對(duì)于連續(xù)性句子識(shí)別,本文所提算法采用時(shí)域卷積網(wǎng)絡(luò)(TCN)進(jìn)行拼音預(yù)測(cè),與文獻(xiàn)[18,19]中的LSTM、GRU模型相比,TCN可以通過(guò)改變膨脹因子獲得更大的感受野,獲取更多的連續(xù)時(shí)間特征信息,可以更好地抓取長(zhǎng)時(shí)的依賴(lài)信息,進(jìn)行上下文語(yǔ)義分析。另外,長(zhǎng)輸入序列的情況下,LSTM和GRU不僅需要使用大量?jī)?nèi)存來(lái)存儲(chǔ)其多單元門(mén)的部分結(jié)果,還存在梯度爆炸、梯度消失和局部過(guò)擬合等問(wèn)題,而不使用門(mén)控機(jī)制的TCN,有更長(zhǎng)的時(shí)間記憶[20],結(jié)構(gòu)比LSTM和GRU等循環(huán)網(wǎng)絡(luò)更簡(jiǎn)單、更清晰。文獻(xiàn)[21]在英文單詞數(shù)據(jù)集LRW和中文單詞數(shù)據(jù)集LRW-1000[22]上展示了TCN結(jié)構(gòu)在孤立詞識(shí)別方面的結(jié)果,其準(zhǔn)確率分別提升了1.2%和3.2%。
綜上所述,為更好地解決連續(xù)性時(shí)間特征的提取問(wèn)題,在中文句子唇讀的拼音預(yù)測(cè)階段,本文應(yīng)用TCN對(duì)視覺(jué)特征進(jìn)行時(shí)序建模,并且受文獻(xiàn)[23]的啟發(fā),引入自注意機(jī)制(self-attention),將自注意力機(jī)制和TCN相結(jié)合,采用不同的權(quán)重進(jìn)行時(shí)序建模,讓模型能夠辨識(shí)視覺(jué)特征中的關(guān)鍵信息。該模塊主要由3D CNN、ResNet18、self-attention和TCN構(gòu)成,其結(jié)構(gòu)如圖2所示。
首先,在視頻幀中定位裁剪出唇部區(qū)域并轉(zhuǎn)為灰度圖,網(wǎng)絡(luò)的輸入是一個(gè)(B,T,H,W)的張量,每個(gè)維度分別對(duì)應(yīng)批次、幀數(shù)、高度和寬度。接著,把每隔兩幀的連續(xù)5張64×128唇部區(qū)域圖片輸入到3D CNN、最大池化層(MaxPooling)和標(biāo)準(zhǔn)ResNet18網(wǎng)絡(luò)中提取視覺(jué)特征,并且在最后一次卷積后應(yīng)用平均池化層AvgPooling,產(chǎn)生尺寸為(B,C,T)的特征輸出,其中C是信道數(shù)量(此處為512)。然后,把視覺(jué)特征輸入到self-attention模塊(其具體結(jié)構(gòu)如圖3所示),對(duì)特征序列進(jìn)行相關(guān)性計(jì)算和特征加權(quán)。最后,把加權(quán)后的視覺(jué)特征輸入到TCN,經(jīng)過(guò)線(xiàn)性層和softmax層輸出拼音字母的概率分布,生成一個(gè)26維的向量并傳遞給連接時(shí)序分類(lèi)(connectionist temporal classification,CTC)損失函數(shù)進(jìn)行訓(xùn)練。
3DCNN不僅能從空間信息層面提取視覺(jué)特征,也能提取時(shí)間維度的特征。在3DCNN中3D卷積核通過(guò)將連接的相鄰幀疊加到一起形成一個(gè)立方體,當(dāng)前層的特征映射(feature map)可以和上層的多個(gè)連續(xù)的唇部圖片幀連接起來(lái)。式(1)中vxyzij代表了經(jīng)過(guò)3D卷積和ReLU函數(shù)非線(xiàn)性映射后在第i層第j個(gè)特征映射(x,y,z)處的值,w為卷積核的權(quán)重,v(x-p)(y-q)(z-r)(i-1)m為上一層對(duì)應(yīng)位置處的特征映射值。
vχyzij=relubij+∑m∑Pi-1p=0∑Qi-1q=0∑Ri-1r=0wpqrijmv(x-p)(y-q)(z-r)(i-1)m(1)
對(duì)相鄰幀特征向量進(jìn)行自注意力機(jī)制處理,其具體運(yùn)算操作如下:首先唇部幀輸入序列X={x1,x2,x3,…,xt}經(jīng)過(guò)圖2中ResNet18網(wǎng)絡(luò)的特征映射后,得到各幀的特征向量V={a1,a2,a3,…,at},每?jī)蓚€(gè)相鄰幀對(duì)應(yīng)的特征向量ai和ai+1分別與矩陣Wq和Wk相乘得到矩陣qi、ki;然后qi、ki做點(diǎn)乘運(yùn)算得到每一幀唇部圖片和其他幀的相關(guān)性系數(shù)矩陣α={αi,j}i,j∈[1,t],再對(duì)每一個(gè)相關(guān)性系數(shù)進(jìn)行softmax運(yùn)算,得到和自己的關(guān)聯(lián)性系數(shù)矩陣α′={α′i,j}i,j∈[1,t];最后α′和對(duì)應(yīng)幀的特征向量與矩陣Wv相乘所得的矩陣vi進(jìn)一步做點(diǎn)乘運(yùn)算所得特征向量即為self-attention層的輸出。以上自注意力機(jī)制計(jì)算過(guò)程可總結(jié)為式(2),其中Q(query)、K(key)、V(value)均由對(duì)應(yīng)qi、ki、vi組合而成。
attention=softmaxQKTdk·V(2)
TCN由4個(gè)時(shí)域卷積塊(TCN block)順序堆疊組成,每個(gè)時(shí)域卷積塊由一個(gè)膨脹因果卷積(dilated casual conv)、一個(gè)批歸一化層(batch normalization)、一個(gè)激活層(activate)和一個(gè)dropout層組成,其中,濾波器大小取3,膨脹系數(shù)dilations=[1,2,4,8]。在TCN網(wǎng)絡(luò)層之后應(yīng)用線(xiàn)性層和softmax層,利用CTC損失函數(shù)對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。拼音序列預(yù)測(cè)階段的CTC損失函數(shù)定義如式(3):
Lpinyin=-ln ppiminin(y|x)(3)
ppinyin(y|x)=∑w∈F-1(y)Pctc(w|x)=∑w∈F-1(y)∏Tt=1qtwt(4)
其中:T是輸入序列X的長(zhǎng)度,qtwt是指經(jīng)過(guò)softmax后輸出預(yù)測(cè)標(biāo)簽的概率,wt∈{b,p,m,f,…,i,u,v,blank}是第t幀預(yù)測(cè)的拼音字母序列,y是實(shí)際的拼音序列標(biāo)簽,F(xiàn)-1(y)是所有可能映射到實(shí)際拼音序列標(biāo)簽y的CTC路徑,即所有可能的拼音輸出序列的集合。
在測(cè)試階段,將測(cè)試樣本輸入訓(xùn)練好的拼音序列預(yù)測(cè)子網(wǎng)絡(luò),利用貪婪搜索(greedy search)算法對(duì)CTC進(jìn)行解碼,在每個(gè)時(shí)間步上尋找概率最大的字符,并去掉連續(xù)重復(fù)的拼音字符和空白分隔符blank,即可在CTC路徑中查找出全局最優(yōu)的拼音預(yù)測(cè)序列,為下一階段拼音到漢字序列預(yù)測(cè)做準(zhǔn)備。
本文通過(guò)消融實(shí)驗(yàn),發(fā)現(xiàn)自注意力機(jī)制在提升拼音序列預(yù)測(cè)準(zhǔn)確率有明顯效果,具體實(shí)驗(yàn)數(shù)據(jù)將在實(shí)驗(yàn)及結(jié)果分析部分給出。
1.3 漢字序列預(yù)測(cè)子網(wǎng)絡(luò)
漢字序列預(yù)測(cè)子網(wǎng)絡(luò)將拼音序列預(yù)測(cè)部分輸出的拼音序列轉(zhuǎn)為漢字序列?,F(xiàn)有的基于深度學(xué)習(xí)的唇讀技術(shù)主要有以下兩種解決方案:a)基于連接時(shí)序分類(lèi)(connectionist temporal classification,CTC)[24]的語(yǔ)音識(shí)別技術(shù)[25~27];b)基于注意力的序列到序列(sequence-to-sequence based attention)[28]神經(jīng)網(wǎng)絡(luò)翻譯模型[10,29]。前者的結(jié)構(gòu)組合一般是使用CNN提取特征,RNN進(jìn)行特征學(xué)習(xí),CTC作為目標(biāo)函數(shù),缺陷是該方法中簡(jiǎn)單的特征提取器不能勝任視頻數(shù)據(jù)的特征提取,RNN則存在梯度消失或爆炸的缺陷;后者的注意力(attention)模型都是依附于編碼—解碼(encoder-decoder)框架來(lái)處理序列—序列問(wèn)題,缺陷是encoder部分目前仍舊依賴(lài)于RNN,沒(méi)有辦法很好地獲取中長(zhǎng)距離之間兩個(gè)詞相互的關(guān)系。針對(duì)以上問(wèn)題,尤其是考慮到漢語(yǔ)拼音和漢字的等長(zhǎng)性,本文在拼音序列到漢字序列預(yù)測(cè)階段采用了Transformer模型[23]。Transformer結(jié)構(gòu)完全基于自注意力,且是多頭自注意層,該特性能使網(wǎng)絡(luò)對(duì)多音字進(jìn)行預(yù)測(cè)時(shí),充分學(xué)習(xí)前后不同詞語(yǔ)的子空間表示,提高全局上下文語(yǔ)義理解能力,以改善視覺(jué)歧義問(wèn)題,提升漢語(yǔ)句子的識(shí)別準(zhǔn)確率。
漢字序列預(yù)測(cè)子網(wǎng)絡(luò)如圖4所示。漢字序列預(yù)測(cè)子網(wǎng)絡(luò)的目標(biāo)是將拼音預(yù)測(cè)子網(wǎng)絡(luò)所得的拼音字母序列Xp={xp1,xp2,…,xpL1}映射為相應(yīng)的目標(biāo)漢語(yǔ)序列Yc={yc1,yc2,…,ycL2},Xp是L1個(gè)字符的序列,其中的每個(gè)字符xpi是 26 維向量。整個(gè)映射過(guò)程分為三步:預(yù)處理—生成語(yǔ)義編碼—生成漢語(yǔ)句子。
首先,把拼音序列預(yù)處理成向量形式。將每個(gè)拼音序列分割成單個(gè)音節(jié)。例如,對(duì)于拼音“jia shi wen nuan de cun zai”,將其分割成“jia”“shi”“wen”“nuan”“de”“cun”“zai”。通過(guò)式(5)把每個(gè)音節(jié)xpi映射成詞向量表示xi∈Rd,其中d=512是詞向量維度。對(duì)于第i個(gè)詞向量xi需要加上位置編碼pi∈Rd,得到嵌入向量ei∈Rd,至此,拼音序列被映射為512維詞嵌入向量形式。
xi=embedding(xpi)(5)
ei=xi+pi(6)
然后,準(zhǔn)備將轉(zhuǎn)為向量形式的序列輸入進(jìn)transformer編碼器結(jié)構(gòu)中,在輸入之前,需要先在輸入序列的開(kāi)始和結(jié)尾分別添加起始符〈s〉和結(jié)束符〈/s〉作為標(biāo)記。然后通過(guò)式(7)將預(yù)處理后的拼音序列input轉(zhuǎn)換為一系列隱藏狀態(tài)Z={z1,z2,…,zL3},也叫語(yǔ)義編碼,作為編碼器的輸出。transformer編碼器由6個(gè)編碼器層堆疊而成,每個(gè)編碼器層都由兩個(gè)子層組成:一個(gè)多頭自注意力子層和一個(gè)全連接前饋?zhàn)訉?,這些子層都包含了殘差連接和層歸一化。編碼器部分的完整公式化過(guò)程可總結(jié)為式(8):
Z=encoder(input)(7)
zi=encoderLayer(xpi)=
LayerNorm(xpi+MultiHead(xpi,xpi,xpi))+
LayerNorm(xpi+FFN(LayerNorm(xpi)))(8)
接下來(lái),transformer解碼器接收到編碼器的輸出隱藏狀態(tài)Z={z1,z2,…,zL3},通過(guò)式(9)根據(jù)Z和前一個(gè)時(shí)間步生成的漢字yci-1,來(lái)生成解碼器的輸出隱藏狀態(tài)HD={hd1,hd2,…,hdL4}。transformer解碼器由6個(gè)解碼器層堆疊而成,每個(gè)解碼器層都由三個(gè)子層組成:一個(gè)多頭自注意力子層、一個(gè)編碼器—解碼器注意力子層和一個(gè)全連接前饋?zhàn)訉樱@些子層同樣包含了殘差連接和層歸一化。解碼器部分的完整公式化過(guò)程可總結(jié)為式(10)。
HD=Decoder(yci-1,Z)(9)
hDi=EncoderLayer(zi)=
LayerNorm(zi+MultiHead(zi,zi,zi))+
LayerNorm(zi+MultiHead(xpi,xpi,zi))+
LayerNorm(zi+FFN(LayerNorm(zi)))(10)
最后,解碼器的輸出隱藏狀態(tài)HD經(jīng)過(guò)一個(gè)linear線(xiàn)性變換和softmax函數(shù)后,生成漢語(yǔ)句子的概率分布,輸出過(guò)程可用式(11)表示。再用波束搜索算法一步步從概率分布中選擇出最可能的漢語(yǔ)句子,直到生成完整的句子序列Yc,或者遇到結(jié)束標(biāo)記〈/s〉為止。
P(yci|y
漢字序列預(yù)測(cè)階段的CTC損失函數(shù)Lcharacter定義如式(12)所示。
Lcharacter=-ln Pcharacter(yc|xp)(12)
Pcharacter(yc|xp)=∑wc∈F-1c(yc)Pctc(wc|xp)=∑wc∈F-1c(yc)L1t=1qwctt(13)
其中:wct是第t個(gè)時(shí)間步長(zhǎng)的預(yù)測(cè)漢字,qwctt是softmax層輸出的預(yù)測(cè)漢字的概率,F(xiàn)-1c(yc)是所有可能映射到真實(shí)漢字序列yc的CTC路徑,即所有可能的漢語(yǔ)句子輸出序列的集合。
在預(yù)測(cè)階段,將拼音序列預(yù)測(cè)子網(wǎng)絡(luò)輸出的拼音序列,輸入訓(xùn)練好的漢字序列子網(wǎng)絡(luò),利用波束搜索(beam search)算法對(duì)CTC進(jìn)行解碼,獲取最接近真實(shí)標(biāo)簽的預(yù)測(cè)漢字序列。波束搜索是對(duì)貪心搜索算法的改進(jìn),基于條件概率為輸入的拼音序列在每個(gè)時(shí)間步長(zhǎng)選擇多個(gè)具有最高概率的可能漢字序列作為備選,擴(kuò)大了搜索空間。
2 實(shí)驗(yàn)及結(jié)果分析
2.1 數(shù)據(jù)集
本文基于目前最大的開(kāi)源漢語(yǔ)普通話(huà)句子級(jí)數(shù)據(jù)集CMLR[17](https://www.vipazoo.cn/CMLR.html)進(jìn)行了算法測(cè)試和對(duì)比。該數(shù)據(jù)集包含了2009~2018年間《新聞廣播》節(jié)目錄制的11位發(fā)言者的102 072條句子,每條句子最多包含29個(gè)漢字,不包含英文、阿拉伯?dāng)?shù)字和稀有標(biāo)點(diǎn)符號(hào)。整個(gè)數(shù)據(jù)集的樣本按7:1:2的比例隨機(jī)分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,詳見(jiàn)表1。
為了驗(yàn)證本文提出的3DT-CHLipNet的優(yōu)勢(shì),選取了四種中文句子級(jí)唇語(yǔ)識(shí)別算法在CMLR數(shù)據(jù)集上進(jìn)行了性能對(duì)比實(shí)驗(yàn)。這些算法分別是WAS[10]、LipCH-Net[18]、CSSMCM[17]、CHSLR-VP[19],它們均是端到端唇語(yǔ)識(shí)別方法。WAS是句子級(jí)唇讀領(lǐng)域的經(jīng)典方法,直接從樣本視頻中識(shí)別漢字序列;LipCH-Net、CHSLR-VP和本文模型結(jié)構(gòu)類(lèi)似,采用二級(jí)級(jí)聯(lián)結(jié)構(gòu)(拼音/視覺(jué)拼音預(yù)測(cè)、漢字預(yù)測(cè)),CSSMCM模型是拼音、聲調(diào)、漢字預(yù)測(cè)的三級(jí)級(jí)聯(lián)結(jié)構(gòu)。
在后續(xù)的對(duì)比實(shí)驗(yàn)中,使用拼音錯(cuò)誤率(pinyin error rate,PER)和字符錯(cuò)誤率(character error rate,CER)來(lái)衡量各算法的性能。其中,字符錯(cuò)誤率定義如式(14)所示,D,S,I分別是預(yù)測(cè)序列轉(zhuǎn)換為真實(shí)標(biāo)簽時(shí),需要?jiǎng)h除、替換和插入的漢字個(gè)數(shù),N是真實(shí)標(biāo)簽的漢字總數(shù),拼音錯(cuò)誤率定義與之類(lèi)似。
CER=D+S+IN(14)
2.2 數(shù)據(jù)預(yù)處理和時(shí)間掩碼增強(qiáng)
本文以25 fps頻率將視頻轉(zhuǎn)換為連續(xù)的幀圖片,每個(gè)樣本序列包含該樣本視頻圖片幀序列的灰度特征信息。在每個(gè)視頻中,先使用dlib檢測(cè)并跟蹤68個(gè)面部標(biāo)志點(diǎn)(facial landmark),再用64×128的邊界框裁剪出唇部區(qū)域,最后將裁減后的圖片通過(guò)OpenCV進(jìn)一步轉(zhuǎn)換為灰度圖,并根據(jù)訓(xùn)練集上的總體均值和方差進(jìn)行歸一化處理。
CMLR數(shù)據(jù)集中沒(méi)有給出拼音標(biāo)簽,因此在進(jìn)行圖片到拼音的模型訓(xùn)練之前,需要先用pinyin庫(kù)將語(yǔ)句轉(zhuǎn)換為拼音標(biāo)簽。文獻(xiàn)[18]在進(jìn)行拼音標(biāo)簽轉(zhuǎn)換時(shí)刪除了字間的空白區(qū)域,例如“家是溫暖的存在”,其轉(zhuǎn)換得到的拼音標(biāo)簽為“jiashiwennuandecunzai”,但是為了更符合中文句子的詞語(yǔ)間隔特點(diǎn),本文在進(jìn)行拼音標(biāo)簽轉(zhuǎn)換處理時(shí),保留了漢字之間的間隔,如“jia shi wen nuan de cun zai,實(shí)驗(yàn)表明,在相同訓(xùn)練批次大小(batch_size)條件下,使用無(wú)間隔的拼音標(biāo)簽進(jìn)行模型訓(xùn)練所得的拼音錯(cuò)誤率為57.76%,使用有間隔的拼音標(biāo)簽進(jìn)行模型訓(xùn)練所得的拼音錯(cuò)誤率為42.48%,降低了15%左右。
受文獻(xiàn)[30,31]啟發(fā),本文引入了時(shí)間掩蔽策略進(jìn)行數(shù)據(jù)增強(qiáng)處理,對(duì)輸入的τ時(shí)間步長(zhǎng)的視頻幀序列,應(yīng)用時(shí)間掩蔽,使s個(gè)連續(xù)的時(shí)間步長(zhǎng)[t0,t0+s)被掩蔽,其中s從區(qū)間[0,T]中選擇,T為時(shí)間掩蔽參數(shù),t0從[0,τ-s)中選擇。為避免丟失過(guò)多信息,在時(shí)間掩碼T上引入一個(gè)上界,使時(shí)間掩模不能超過(guò)時(shí)間步長(zhǎng)τ的p倍,p≤0.5。本文對(duì)比實(shí)驗(yàn)了不同T和s取值下的字符錯(cuò)誤率(CER),實(shí)驗(yàn)結(jié)果如表2所示,可見(jiàn)當(dāng)選擇最大掩蔽時(shí)間T=2,最大掩蔽幀數(shù)s=2時(shí)數(shù)據(jù)增強(qiáng)取得了最低的字符錯(cuò)誤率。
2.3 實(shí)驗(yàn)環(huán)境與配置
本文基于PyTorch庫(kù)實(shí)現(xiàn)了所提出的3DT-CHLipNet算法,實(shí)驗(yàn)在Ubuntu 16. 04,NVIDIA GeForce GTX960 GPU, Python 3. 6. 2平臺(tái)上訓(xùn)練和測(cè)試。在訓(xùn)練模型時(shí),拼音序列預(yù)測(cè)階段使用CTC損失函數(shù)和隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化,拼音預(yù)測(cè)子網(wǎng)絡(luò)的初始學(xué)習(xí)率(learning rate)設(shè)置為10-3,如果在4次迭代(epoch)內(nèi),每次的訓(xùn)練損失都沒(méi)有下降,下調(diào)學(xué)習(xí)率50%。拼音預(yù)測(cè)子網(wǎng)絡(luò)訓(xùn)練過(guò)程中訓(xùn)練集上和測(cè)試集上的拼音錯(cuò)誤率,隨迭代的變化曲線(xiàn)如圖5所示。訓(xùn)練結(jié)束時(shí),在訓(xùn)練集和測(cè)試集分別下降到17.8%、24.47%。
漢字序列預(yù)測(cè)訓(xùn)練階段使用CTC損失函數(shù)和Adam優(yōu)化器進(jìn)行優(yōu)化,初始學(xué)習(xí)率漢字序列預(yù)測(cè)訓(xùn)練階段使用CTC損失函數(shù)和Adam優(yōu)化器進(jìn)行優(yōu)化,初始學(xué)習(xí)率為10-4,當(dāng)驗(yàn)證集上損失函數(shù)值穩(wěn)定不變時(shí),下調(diào)學(xué)習(xí)率50%,最終的學(xué)習(xí)率是10-5。在CMLR數(shù)據(jù)集上在此環(huán)境配置下,3DT-CHLipNet算法模型經(jīng)過(guò)約159 h的訓(xùn)練,在驗(yàn)證集上的字符錯(cuò)誤率收斂穩(wěn)定在30.31%,完成訓(xùn)練,此時(shí)在訓(xùn)練集上的字符錯(cuò)誤率為22.6%。漢字序列預(yù)測(cè)子網(wǎng)絡(luò)訓(xùn)練過(guò)程中訓(xùn)練集上和測(cè)試集上的字符錯(cuò)誤率,隨迭代的變化曲線(xiàn)如圖6所示。
2.4 拼音序列識(shí)別
將CMLR數(shù)據(jù)集樣本進(jìn)行預(yù)處理后所得到的唇部區(qū)域灰度圖作為3DCNN的輸入,每次輸入5個(gè)唇形幀,每次間隔2幀。3D卷積核大小設(shè)置為(5,7,7),步長(zhǎng)為(1,2,2)。ResNet18模塊的卷積為(3,3),步長(zhǎng)為(1,1),一共18層卷積,4次下采樣,每層卷積后進(jìn)行批歸一化。在文獻(xiàn)[21]多尺度TCN基礎(chǔ)上,把TCN網(wǎng)絡(luò)結(jié)構(gòu)中的膨脹非因果卷積替換為膨脹因果卷積,使當(dāng)前時(shí)間步的字符識(shí)別可以利用前一時(shí)間步已識(shí)別的字符信息。在CMLR數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,在TCN中利用膨脹因果卷積的拼音準(zhǔn)確率為75.53%,比膨脹非因果卷積的71.65%的正確率提升了約4%。
本文提出的3DT-CHLipNet,其拼音序列識(shí)別子網(wǎng)絡(luò)的結(jié)構(gòu)是3DCNN+ResNet18+self-attention+TCN+CTC,和目前的中文識(shí)別主流模型LipCH-Net、CSSMCM相比,加入了自注意力(self-attention)層并且將RNN替換為T(mén)CN,采用自注意力機(jī)制和TCN相結(jié)合的方法進(jìn)行序列建模。
為了驗(yàn)證本文所提出的在拼音序列識(shí)別階段應(yīng)用時(shí)域卷積網(wǎng)絡(luò)和自注意力機(jī)制的效果,本文與LipCH-Net、CSSMCM和CHSLR-VP算法進(jìn)行了對(duì)比實(shí)驗(yàn),結(jié)果如表3所示??梢?jiàn)3DT-CHLipNet模型在CMLR測(cè)試集上的平均拼音錯(cuò)誤率為24.47%,比LipCH-Net的41.49%錯(cuò)誤率降低了約17%,比CSSMCM的36.22%錯(cuò)誤率降低了約12%。由此可看出自注意力機(jī)制結(jié)合時(shí)域卷積網(wǎng)絡(luò)的有效性。
本文提出的3DT-CHLipNet模型在拼音預(yù)測(cè)階段優(yōu)于LipCH-Net、CSSMCM模型,是因?yàn)樗捎玫臅r(shí)域卷積網(wǎng)絡(luò)TCN相比于后兩者的RNN結(jié)構(gòu),避免了梯度消失或爆炸問(wèn)題,有更好地長(zhǎng)期依賴(lài)處理能力;RNN的遞歸屬性決定了其對(duì)輸入的微小變化非常敏感,影響識(shí)別性能,而TCN使用更簡(jiǎn)單的卷積,更加穩(wěn)定。同時(shí),3DT-CHLipNet模型中添加的自注意機(jī)制,為關(guān)鍵幀分配了更多權(quán)重,使網(wǎng)絡(luò)側(cè)重于對(duì)重點(diǎn)信息的學(xué)習(xí),增強(qiáng)了對(duì)連續(xù)唇部圖片序列運(yùn)動(dòng)的特征提取效果,提升了最終識(shí)別效果。另外,從表3中也可以看出,CHSLR-VP模型和本文提出的3DT-CHLipNet模型的拼音錯(cuò)誤率接近,原因是CHSLR-VP模型中所用的視覺(jué)拼音標(biāo)簽要比本文模型中所用的26個(gè)字母標(biāo)簽更符合中文發(fā)音特點(diǎn),這也是本文模型繼續(xù)完善改進(jìn)的研究?jī)?nèi)容。
2.4.1 消融實(shí)驗(yàn)
為了驗(yàn)證自注意力機(jī)制對(duì)拼音序列預(yù)測(cè)的效果,本文在拼音預(yù)測(cè)子網(wǎng)絡(luò)中進(jìn)行了自注意力層的消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4所示。可見(jiàn)在時(shí)域卷積網(wǎng)絡(luò)層前添加自注意力層,要比不添加自注意力層的拼音錯(cuò)誤率低7%左右。這驗(yàn)證了自注意力機(jī)制能對(duì)每個(gè)時(shí)間步的視覺(jué)特征賦予不同的注意權(quán)重,在進(jìn)行拼音預(yù)測(cè)時(shí)可以更好地進(jìn)行上下文語(yǔ)義理解,進(jìn)而提升拼音預(yù)測(cè)的準(zhǔn)確率。
以樣本“家是溫暖的存在”為例,圖7和8分別給出使用注意力機(jī)制與不使用注意力機(jī)制時(shí),視頻幀與預(yù)測(cè)拼音序列的對(duì)齊情況,可以明顯看出使用注意力時(shí)(圖7),對(duì)齊效果更好,更接近對(duì)角線(xiàn)走勢(shì)。由此可看出引入自注意力機(jī)制結(jié)合時(shí)間卷積網(wǎng)絡(luò)的有效性。
2.4.2 TCN和LSTM對(duì)比實(shí)驗(yàn)
為驗(yàn)證本文提出的在拼音序列識(shí)別步驟中應(yīng)用時(shí)域卷積(TCN)的優(yōu)越性,本文通過(guò)將TCN模塊替換為L(zhǎng)STM網(wǎng)絡(luò)結(jié)構(gòu)來(lái)進(jìn)行了拼音序列預(yù)測(cè)的對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表5所示。其中,LSTM網(wǎng)絡(luò)選用了LipCH-Net模型[17]中表現(xiàn)效果最佳的結(jié)構(gòu):1層512的LSTM。實(shí)驗(yàn)結(jié)果表明,在其他網(wǎng)絡(luò)結(jié)構(gòu)相同,僅用TCN來(lái)替換LSTM網(wǎng)絡(luò)時(shí),拼音錯(cuò)誤率降低了4.13%。
2.5 漢字序列識(shí)別
表6對(duì)比顯示了本文算法與LipCH-Net、CSSMCM、CHSLR-VP和WAS算法在漢字序列預(yù)測(cè)步驟中的字符錯(cuò)誤率。本文所提3DT-CHLipNet算法相較于LipCH-Net、CSSMCM、CHSLR-VP和WAS,在測(cè)試集上字符錯(cuò)誤率分別降低了23.99%、2.17%、2.31%和12.43%。本文算法在漢字序列識(shí)別階段的字符錯(cuò)誤率數(shù)值(30.31%)高于拼音識(shí)別階段的拼音錯(cuò)誤率(24.47%,見(jiàn)表4),這是因?yàn)闈h字序列識(shí)別是依托于拼音序列識(shí)別的,是在拼音序列識(shí)別錯(cuò)誤的基礎(chǔ)上累加了漢字序列識(shí)別的錯(cuò)誤。
2.5.1 波束寬度選擇
通過(guò)漢字預(yù)測(cè)子網(wǎng)絡(luò)進(jìn)行漢語(yǔ)句子預(yù)測(cè)時(shí),將待測(cè)試拼音序列輸入訓(xùn)練好的模型,利用波束搜索算法對(duì)CTC進(jìn)行解碼,找到最接近真實(shí)標(biāo)簽的句子序列。
波束寬度(beam width)是波束搜索算法中的一個(gè)重要參數(shù),它決定了漢字預(yù)測(cè)子網(wǎng)絡(luò)的解碼器部分在每個(gè)時(shí)間步中選擇的候選漢字結(jié)果數(shù)量,其大小會(huì)直接影響預(yù)測(cè)結(jié)果的質(zhì)量和搜索效率。尤其對(duì)于同一組拼音可能對(duì)應(yīng)多組漢字的情況來(lái)說(shuō),波束寬度越大,搜索空間包含的同音字越多,最終預(yù)測(cè)的漢語(yǔ)句子接近真實(shí)標(biāo)簽的可能性就更大。例如,樣本“不變的事實(shí)”對(duì)應(yīng)拼音序列“bu bian de shi shi”,其中的“shi shi”一詞在進(jìn)行漢字預(yù)測(cè)時(shí)可能搜索到的結(jié)果包括“實(shí)時(shí)”“實(shí)施”“史詩(shī)”“事實(shí)”等多個(gè)可能,只有波束寬度夠大,真實(shí)的標(biāo)簽才更有可能被搜索到,才更能有效緩解中文唇語(yǔ)識(shí)別中的同型異義“視覺(jué)歧義”問(wèn)題。
但過(guò)大的波束寬度需要較多的搜索時(shí)間,降低了搜索效率。因此,需要根據(jù)數(shù)據(jù)集和具體任務(wù),在預(yù)測(cè)結(jié)果質(zhì)量和搜索效率之間進(jìn)行權(quán)衡,選擇合適的波束寬度。經(jīng)過(guò)實(shí)驗(yàn),本文確定在CMLR數(shù)據(jù)集上,在漢語(yǔ)句子預(yù)測(cè)階段選擇波束寬度為20時(shí)效果最好。不同波束寬度對(duì)CER的影響如圖9所示。
2.5.2 模型缺陷與解決思路
表7中列舉了本文算法3個(gè)識(shí)別錯(cuò)誤的句子,可從這三個(gè)典型樣本中總結(jié)出識(shí)別錯(cuò)誤的兩類(lèi)情況:a)同音字預(yù)測(cè)錯(cuò)誤,如“實(shí)行”與“施行”“心中”與“信中”;b)尾音相同或相似時(shí),首音預(yù)測(cè)錯(cuò)誤,如“qia dang”與“xia jiang”“qian gua”與“jiang hua”。針對(duì)同音字預(yù)測(cè)錯(cuò)誤,雖然本文算法中的自注意機(jī)制可以通過(guò)聯(lián)系上下文來(lái)糾正語(yǔ)義,但是對(duì)于不影響整體句子理解的同音字識(shí)別仍有待改進(jìn)。針對(duì)尾音相似,首音預(yù)測(cè)錯(cuò)誤問(wèn)題,可以考慮在進(jìn)行拼音識(shí)別時(shí)按元音和輔音進(jìn)行分類(lèi)識(shí)別,而不只是26個(gè)字母。
3 結(jié)束語(yǔ)
本文針對(duì)中文句子級(jí)唇語(yǔ)識(shí)別中的視覺(jué)歧義、特征提取不充足的問(wèn)題,提出了一個(gè)中文句子級(jí)唇語(yǔ)識(shí)別算法——3DT-CHLipNet,首次將時(shí)域卷積網(wǎng)絡(luò)應(yīng)用于拼音序列識(shí)別階段,以提取長(zhǎng)時(shí)序列特征,并利用自注意力機(jī)制捕獲上下文信息,減少視覺(jué)歧義,還引入了時(shí)間掩蔽的數(shù)據(jù)增強(qiáng)措施,降低了識(shí)別錯(cuò)誤率。在CMLR數(shù)據(jù)集上的實(shí)驗(yàn)數(shù)據(jù)表明,本文算法在拼音序列識(shí)別錯(cuò)誤率和漢字序列識(shí)別錯(cuò)誤率的性能指標(biāo)上,優(yōu)于現(xiàn)有的中文句子級(jí)唇語(yǔ)識(shí)別代表性算法。今后將考慮在以下方向進(jìn)一步研究擴(kuò)展:a)改變拼音分類(lèi)預(yù)測(cè)標(biāo)準(zhǔn),建立更適于中文識(shí)別的元音、輔音形式和視覺(jué)拼音標(biāo)簽庫(kù);b)采用多模態(tài)輸入,加入語(yǔ)音數(shù)據(jù),輔助視覺(jué)模型的訓(xùn)練,提高整體中文句子識(shí)別精度;c)選擇不同背景、不同角度的多個(gè)數(shù)據(jù)集訓(xùn)練模型,以提高模型的泛化能力和可遷移性。
參考文獻(xiàn):
[1]王一鳴,陳懇,薩阿卜杜薩拉木·艾海提拉木.基于SDBN和BLSTM注意力融合的端到端視聽(tīng)雙模態(tài)語(yǔ)音識(shí)別[J].電信科學(xué),2019,35(12):79-89.(Wang Yiming,Chen Ken,Aihaiti Abudusalamu.End-to-end audiovisual speech recognition based on attention fusion of SDBN and BLSTM[J].Telecommunications Science,2019,35(12):79-89.)
[2]任玉強(qiáng),田國(guó)棟,周祥東,等.高安全性人臉識(shí)別系統(tǒng)中的唇語(yǔ)識(shí)別算法研究[J].計(jì)算機(jī)應(yīng)用研究,2017,34(4):1221-1225.(Ren Yuqiang,Tian Guodong,Zhou Xiangdong,et al.Lip-reading algorithm in face recognition systems for high security[J].Application Research of Computers,2017,34(4):1221-1225.)
[3]雷江華.聽(tīng)覺(jué)障礙學(xué)生唇讀漢字語(yǔ)音識(shí)別的實(shí)驗(yàn)研究[D].上海:華東師范大學(xué),2006.(Lei Jianghua.Experimental study on lip-reading Chinese phonetic identification for the hearing handicapped[D].Shanghai:East China Normal University,2006)
[4]Zhou Ziheng,Zhao Guoying,Pietikainen M.Towards a practical lipreading system[C]//Proc of CVPR.Piscataway,NJ:IEEE Press,2011:137-144.
[5]Zhao Guoying,Pietikainen M,Hadid A.Local spatiotemporal descriptors for visual recognition of spoken phrases[C]//Proc of International Workshop on Human-centered Multimedia.2007:57-66.
[6]Saitoh T,Morishita K,Konishi R.Analysis of efficient lip reading method for various languages[C]//Proc of the 19th International Conference on Pattern Recognition.Piscataway,NJ:IEEE Press,2008:1-4.
[7]Tatulli E,Hueber T.Feature extraction using multimodal convolutional neural networks for visual speech recognition[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing .2017:2971-2975.
[8]Noda K,Yamaguchi Y,Nakadai K,et al.Lipreading using convolutional neural network[C]//Proc of the 15th Annual Conference of the International Speech Communication Association.2014.
[9]Stafylakis T,Tzimiropoulos G.Combining residual networks with LSTMs for lipreading[EB/OL].(2017).https://arxiv.org/abs/1703.04105.
[10]Chung J S,Senior A,Vinyals O,et al.Lip reading sentences in the wild[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.2017:6447-6456.
[11]Ma Pingchuan,Wang Yujiang,Shen Jie,et al.Lip reading with densely connected temporal convolutional networks[C]//Proc of IEEE/CVF Winter Conference on Applications of Computer Vision,2021:2857-2866.
[12]Assael Y M,Shillingford B,Whiteson S,et al.Lipnet:Sentence-level lipreading[EB/OL].(2016).https://arxiv.org/abs/1611.01599.
[13]Afouras T,Chung J S,Senior A,et al.Deep audio-visual speech recognition[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2018,44(12):8717-8727.
[14]Ma Pingchuan,Petridis S,Pantic M.End-to-end audio-visual speech recognition with conformers[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.2021:7613-7617.
[15]馬金林,陳德光,郭貝貝,等.唇語(yǔ)語(yǔ)料庫(kù)綜述[J].計(jì)算機(jī)工程與應(yīng)用,2019,55(22):1-13,52.(Ma Jinlin,Chen Deguang,Guo Beibei,et al.Lip corpus review[J].Computer Engineering and Applications,2019,55(22):1-13,52.)
[16]馬金林,朱艷彬,馬自萍,等.唇語(yǔ)識(shí)別的深度學(xué)習(xí)方法綜述[J].計(jì)算機(jī)工程與應(yīng)用,2021,57(24):61-73.(Ma Jinlin,Zhu Yanbin,Ma Ziping,et al.Review of deep learning methods for Lip Recognition[J].Computer Engineering and Applications,2021,57(24):61-73.)
[17]Zhao Ya,Xu Rui,Song Mingli.A cascade sequence-to-sequence model for chinese mandarin lip reading[M]//Proc of ACM Multimedia Asia.2019:1-6.
[18]Zhang Xiaobing,Gong Haigang,Dai Xili,et al.Understanding pictograph with facial features:End-to-end sentence-level lip reading of Chinese[C]//Proc of AAAI Conference on Artificial Intelligence.2019:9211-9218.
[19]何珊,袁家斌,陸要要.基于中文發(fā)音視覺(jué)特點(diǎn)的唇語(yǔ)識(shí)別方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2022,58(4):157-162.(He Shan,Yuan Jiabin,Lu Yaoyao.Research on lip-reading based on visual characteristics of Chinese pronunciation[J].Computer Engineering and Applications,2022,58(4):157-162.)
[20]Bai S,Kolter J Z,Koltun V.An empirical evaluation of generic convolutional and recurrent networks for sequence modeling[EB/OL].(2018).https://arxiv.org/abs/1803.01271.
[21]Martinez B,Ma Pingchuan,Petridis S,et al.Lipreading using temporal convolutional networks[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.2020:6319-6323.
[22]Yang Shuang,Zhang Yuanhang,F(xiàn)eng Dalu,et al.LRW-1000:a naturally-distributed large-scale benchmark for lip reading in the wild[C]//Proc of the 14th IEEE International Conference on Automatic Face & Gesture Recognition.2019:1-8.
[23]Vaswani A,Shazeer N,Parmar N,et al.Attention is all you need[EB/OL].(2017-06-12).https://arxiv.org/abs/1706.03762.
[24]Graves A,F(xiàn)ernandez S,Gomez F,et al.Connectionist temporal classification:labelling unsegmented sequence data with recurrent neural networks[C]//Proc of the 23rd International Conference on Machine Learning.2006:369-376.
[25]Xu Kai,Li Dawei,Cassimatis N,et al.LCANet:end-to-end lipreading with cascaded attention-CTC[C]//Proc of the 13th IEEE International Conference on Automatic Face & Gesture Recognition.2018:548-555.
[26]Amodei D,Ananthanarayanan S,Anubhai R,et al.Deep speech 2:end-to-end speech recognition in english and mandarin[C]//Proc of PMLR.International Conference on Machine Learning.2016:173-182.
[27]Graves A,Jaitly N.Towards end-to-end speech recognition with recurrent neural networks[C]//Proc of PMLR.International Conference on Machine Learning.2014:1764-1772.
[28]Bahdanau D,Cho K,Bengio Y.Neural machine translation by jointly learning to align and translate[EB/OL].(2014).https://arxiv.org/abs/ 1409.0473.
[29]Chung J S,Zisserman A.Out of time:automated lip sync in the wild[C]//Proc of Springer.Asian Conference on Computer Vision,2016:251–263.
[30]Ma Pingchuan,Wang Yujian,Petridis S,et al.Training strategies for improved lip-reading[C]//Proc of IEEE International Conference on Acoustics,Speech and Signal Processing.2022:8472-8476.
[31]Park D S,Chan W,Zhang Yu,et al.Specaugment:a simple data augmentation method for automatic speech recognition[EB/OL].(2019).https://arxiv.org/abs/1904.08779.
收稿日期:2023-02-23;
修回日期:2023-04-07
基金項(xiàng)目:北京市自然科學(xué)基金資助項(xiàng)目(4162056);中央高?;究蒲袠I(yè)務(wù)費(fèi)資助項(xiàng)目(2016MS33)
作者簡(jiǎn)介:劉培培(1998-),女,碩士研究生,主要研究方向?yàn)橛?jì)算機(jī)視覺(jué);賈靜平(1978-),男(通信作者),講師,博士,主要研究方向?yàn)橛?jì)算機(jī)視覺(jué)與機(jī)器學(xué)習(xí)(rocsovsky@163.com).