国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于端到端句子級(jí)別的中文唇語識(shí)別研究*

2020-09-23 07:32張曉冰龔海剛戴錫笠
軟件學(xué)報(bào) 2020年6期
關(guān)鍵詞:唇語嘴唇拼音

張曉冰, 龔海剛, 楊 帆, 戴錫笠

(電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,四川 成都 611731)

唇語識(shí)別主要通過觀察說話者嘴唇的運(yùn)動(dòng)變化序列從而識(shí)別出相應(yīng)的文本信息,其研究內(nèi)容涉及到模式識(shí)別、圖像處理、語音識(shí)別及自然語言處理等多個(gè)領(lǐng)域,具有廣闊的應(yīng)用場(chǎng)景.例如在高噪環(huán)境中,由于說話者音頻受到環(huán)境的干擾,導(dǎo)致識(shí)別率降低,而視覺信息相對(duì)很穩(wěn)定,因此,通過唇語識(shí)別利用視覺信息從而能夠極大地輔助提高語音識(shí)別的準(zhǔn)確率.在非噪聲環(huán)境下,當(dāng)進(jìn)行語音識(shí)別時(shí),輔助觀察說話者的臉部表情變化、嘴唇運(yùn)動(dòng)以及人體肢體動(dòng)作等信息,能夠更加準(zhǔn)確地理解對(duì)方所要表達(dá)的內(nèi)容.此外,嘴唇同虹膜、鼻子等一樣,作為人臉的一項(xiàng)重要生物特征,在人臉身份檢測(cè)中發(fā)揮了重要作用.例如在人臉活體檢測(cè)應(yīng)用中,通過核查說話者嘴唇運(yùn)動(dòng),可進(jìn)一步提高活體識(shí)別的安全性,從而排除了傳統(tǒng)人臉識(shí)別中使用其他工具造假的可能.此外,唇語識(shí)別可與手語識(shí)別相互依存,一起促進(jìn)聾啞人在日常生活中的正常交流.

目前為止,唇語識(shí)別研究已經(jīng)取得了一定的成果.然而,由于日常應(yīng)用場(chǎng)景及條件的多樣化和復(fù)雜化,使得唇語識(shí)別技術(shù)在實(shí)際應(yīng)用中依然面臨巨大的挑戰(zhàn):(1) 人的嘴唇是一個(gè)三維的非剛性物體,不同的說話者對(duì)象、不同的語句內(nèi)容,都會(huì)使得人的嘴唇運(yùn)動(dòng)在視頻中顯示不同的變化,這給識(shí)別帶來了很大的困擾;(2) 光源照射和人臉角度的不同等因素,使得人的嘴唇在視頻中有不同的形態(tài),從而對(duì)識(shí)別率造成很大的影響.

近幾年來,深度學(xué)習(xí)在各個(gè)領(lǐng)域取得的顯著成果,也促進(jìn)了應(yīng)用神經(jīng)網(wǎng)絡(luò)來解決唇語識(shí)別的研究.隨著技術(shù)的成熟,唇語識(shí)別率也在不斷提高,例如DeepMind 的WLAS[1]和LipNet[2].然而,已有的這些研究都是基于單詞分類或者英文句子的識(shí)別,與中文唇語識(shí)別的內(nèi)容截然不同.漢語與英語不同:英語是由26 個(gè)字母組成的字母語言,所有的單詞都是由字母拼讀而成,通過拼讀可以準(zhǔn)確地確定某個(gè)單詞;而漢語不同,漢語的發(fā)音是由23 個(gè)元音字母和24 個(gè)輔音字母組成,去掉一些不可能的拼讀組合,再加上4 種不同的音調(diào),拼音總共大約有1 000 種,然而漢語中的漢字總數(shù)超過90 000 個(gè),其中有3 000 個(gè)是經(jīng)常使用的,也就是說,每個(gè)拼音平均對(duì)應(yīng)3~90 個(gè)漢字.據(jù)統(tǒng)計(jì),漢語是信息熵含量最大的語言.因此,從漢語這種高模糊性語言中提取具有顯著區(qū)別的特征信息,是中文唇語識(shí)別中的一個(gè)重要并且富有挑戰(zhàn)性的任務(wù).

本文根據(jù)中文的特點(diǎn),首次提出了句子級(jí)別的中文唇語識(shí)別模型ChLipNet,該模型由兩個(gè)子模塊組成,即嘴唇圖片序列映射到拼音字符序列的拼音序列識(shí)別模塊和拼音字符序列轉(zhuǎn)換為漢字序列的漢字序列識(shí)別模塊,如圖1 所示.其中,

(1) 拼音序列識(shí)別主要利用卷積神經(jīng)網(wǎng)絡(luò)Convolutional Neural Network(CNN)作為嘴唇圖片幀序列的特征提取器,然后,使用循環(huán)神經(jīng)網(wǎng)絡(luò)Recurrent Neural Network(RNN)理解并分析提取的特征,最后利用Connectionist Temporal Classification(CTC)損失函數(shù)匹配輸入輸出序列.該過程簡稱為P2P 過程,生成的拼音序列識(shí)別網(wǎng)絡(luò)簡稱為P2P 網(wǎng)絡(luò);

(2) 漢字序列識(shí)別是一個(gè)基于語言模型的Encoder-Decoder 網(wǎng)絡(luò)框架,這個(gè)過程簡稱為P2CC 過程.P2CC網(wǎng)絡(luò)的輸入是拼音字符序列,其中Encoder 網(wǎng)絡(luò)負(fù)責(zé)對(duì)拼音字符序列進(jìn)行編碼,而Decoder 網(wǎng)絡(luò)則對(duì)Encoder 的輸出進(jìn)行解碼,從而生成漢語句子.

當(dāng)P2P 和P2CC 兩個(gè)子模塊分別訓(xùn)練好后,把它們聯(lián)合在一起組成中文唇語識(shí)別網(wǎng)絡(luò)ChLipNet 并進(jìn)行最終的端到端訓(xùn)練.

由于現(xiàn)有的唇語數(shù)據(jù)集都是針對(duì)字符、單詞、數(shù)字或者短語的,且都是關(guān)于非中文的.為此,我們采集了6個(gè)月的CCTV 新聞聯(lián)播視頻及其對(duì)應(yīng)的文稿,使用半自動(dòng)化技術(shù),通過視頻剪輯、文本和時(shí)間戳生成以及嘴唇檢測(cè)等操作生成包含14 975 條中文句子及其對(duì)應(yīng)嘴唇序列的中文唇語數(shù)據(jù)集CCTVDS.此外,在漢字序列識(shí)別P2CC 的預(yù)訓(xùn)練過程中,還額外統(tǒng)計(jì)了近30 個(gè)月的新聞聯(lián)播文稿內(nèi)容作為輔助數(shù)據(jù).

1 相關(guān)工作

Petajan 等人在1984 年最初提出了唇語識(shí)別系統(tǒng)[3],該系統(tǒng)把單個(gè)詞作為最小的識(shí)別單元,通過計(jì)算輸入的嘴唇圖片序列,得到能夠表示的特征向量,并與數(shù)據(jù)集中所有詞的特征模板進(jìn)行相似度匹配,最后將相似度最高的詞作為預(yù)測(cè)結(jié)果并輸出.之后,在1988 年,Petajan 等人在原唇語識(shí)別系統(tǒng)上引入矢量化和動(dòng)態(tài)時(shí)間規(guī)整等算法,主要用于解決訓(xùn)練和識(shí)別過程中說話人語速變化較大的問題,從而對(duì)唇語識(shí)別系統(tǒng)進(jìn)行改進(jìn)[4],極大地提高了唇語識(shí)別的正確率.

近幾年也出現(xiàn)了很多嘗試用深度學(xué)習(xí)解決唇語識(shí)別的工作,例如:

1)Noda[5]利用VGGNet 對(duì)人嘴唇圖片進(jìn)行單詞和短語的預(yù)訓(xùn)練,然后通過RNN 網(wǎng)絡(luò),可分別實(shí)現(xiàn)44.5%短語識(shí)別和56.0%單詞分類準(zhǔn)確率;

2)Chung 等人提出了利用VGG 時(shí)空卷積神經(jīng)網(wǎng)絡(luò)在BBCTV 數(shù)據(jù)集上進(jìn)行單詞分類[6],并再次提出了一種用于學(xué)習(xí)嘴部特征的視聽最大邊緣匹配模型[7],并將其作為一個(gè) LSTM 的輸入,從而用于OuluVS2 數(shù)據(jù)集上的10 個(gè)短語的分類;

3)Wand 等人[8]在2016 年將LSTM 遞歸神經(jīng)網(wǎng)絡(luò)引入用于唇語識(shí)別的研究,雖然該研究沒有包含句子序列的預(yù)測(cè)和說話者的獨(dú)立性,但在GRID 語料庫上,模型識(shí)別講話人的準(zhǔn)確率可達(dá)79.6%;

4)Chung 等人在2017 年提出由卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)組成的WLAS 模型,其在含有1 萬條樣本句子的LRC 數(shù)據(jù)集上可取得46.8%的句子準(zhǔn)確率,是目前句子級(jí)別的英語唇語識(shí)別中較好的成績.

2 漢語發(fā)音規(guī)則及中文特征

漢語是一種非形態(tài)語言.漢語中的詞語沒有嚴(yán)格意義的形態(tài)變化,只有音節(jié)符號(hào).漢語中的音節(jié)是由聲母、韻母和聲調(diào)按照拼音規(guī)則組合而成,其中,聲母有23 個(gè),韻母有24 個(gè),另外還包括4 種聲調(diào),見表1.因此,粗略計(jì)算得音節(jié)種類不超過2 208 個(gè)(包括不合理拼音).

自1955 年開始,漢語拼音被用作是輔助漢字發(fā)音的一種工具.它和英語的音標(biāo)類似,但又大不相同.其中,聲母又叫做輔音字母,用在韻母之前,并跟韻母一起構(gòu)成完整的音節(jié).輔音的主要特點(diǎn)是發(fā)音時(shí)氣流在口腔中會(huì)受到各種不同的阻礙,因此可以說,聲母發(fā)音的過程也就是氣流受阻和克服阻礙的過程.除聲母、音調(diào)之外的部分,就是韻母,包括韻頭、韻腹和韻尾這3 部分.音節(jié)是人類聽覺系統(tǒng)能感受到的最小語音單位,在漢語中,單個(gè)漢字就是單個(gè)音節(jié)(但漢字不是音節(jié)文字).然而,在1994 年出版的《中華字?!分?約有87 019 個(gè)漢字(其中重復(fù)字320 個(gè)),因此漢字?jǐn)?shù)量空間是遠(yuǎn)遠(yuǎn)大于音節(jié)數(shù)量空間的(最多2 208 維).單個(gè)漢字具有豐富的信息和意義,例如,“中”可解釋為“里面”,或者“適于”“合適”等含義.當(dāng)漢字與漢字通過語言規(guī)則相互組合成詞、短語或者句子時(shí),才有具體含義,例如“中間”“中計(jì)”等.如圖2 為“中國人”短語示例,其中,綠色框代表拼音序列,黃色框代表聲調(diào),藍(lán)色虛線框代表單個(gè)漢字.

據(jù)統(tǒng)計(jì),漢字中超過85%的是同音字,即:同一個(gè)發(fā)音(嘴型)可至少對(duì)應(yīng)2 個(gè),至多對(duì)應(yīng)120 個(gè)漢字.這也是中文比其他語言更難識(shí)別的一個(gè)重要原因之一.如表2 所示為部分音節(jié)和對(duì)應(yīng)的常見漢字,其中的數(shù)字表示該音節(jié)可對(duì)應(yīng)不同漢字的總個(gè)數(shù).

Table 2 List of syllables and the corresponding common Hanzi表2 音節(jié)及對(duì)應(yīng)常見漢字示例

3 ChLipNet 整體框架

3.1 拼音序列識(shí)別模型(P2P)

與大多數(shù)圖像識(shí)別任務(wù)不同,拼音序列識(shí)別中需要網(wǎng)絡(luò)能夠捕捉圖像最細(xì)微的特征,尤其是嘴唇圖片間的運(yùn)動(dòng)變化.圖片到拼音的拼音序列識(shí)別P2P 模型的結(jié)構(gòu)如圖3 所示.

Fig.3 Model architecture of Pinyin-to-Hanzirecognition (P2P)圖3 圖片到拼音識(shí)別(P2P)網(wǎng)絡(luò)模型

在P2P 網(wǎng)絡(luò)模型中,嘴唇圖片先轉(zhuǎn)換成灰度圖,其中,每隔兩幀的連續(xù)5 張120×120 灰度圖片作為輸入,因此,若一個(gè)樣本有n張嘴唇圖片,則輸入長度為■(n-4)/2■,然后用卷積網(wǎng)絡(luò)ConvNet 提取圖像特征信息.假設(shè)P2P 模型的輸入為X=x1,x2,…,xk,其中,xi包含連續(xù)5 張嘴唇圖片序列,則ConvNet 將圖片序列按公式(1)轉(zhuǎn)換為特征向量:

其中,K是維度為d×512 的矩陣,d是LSTM 單元中embedding 空間的大小,b是維度為d的誤差參數(shù).

最終,連續(xù)的特征向量vi序列作為n-LSTM 的輸入,通過n-LSTM 輸出一個(gè)維度為d′的向量vi′.在n-LSTM中,其LSTM 單元的運(yùn)算過程見公式(3):

其中,blstm表示誤差參數(shù)矩陣,維度為4d′;Wx和Wh分別表示LSTM 單元中與輸入x和隱藏狀態(tài)h有關(guān)的參數(shù)矩陣,維度為4d×d′;表示在i時(shí)刻LSTM 單元輸入門的輸出;表示i時(shí)刻LSTM 單元遺忘門的輸出;表示在i時(shí)刻LSTM 單元的細(xì)胞更新信息;表示在i時(shí)刻LSTM 單元的細(xì)胞狀態(tài);表示在i時(shí)刻LSTM 單元的隱藏狀態(tài),同時(shí)也表示在i時(shí)刻LSTM 的輸出.最后,經(jīng)過全連接網(wǎng)絡(luò)生成一個(gè)26 維的向量并傳遞給CTC 函數(shù).整個(gè)P2P 模型的損失函數(shù)如公式(4):

其中,S表示整個(gè)數(shù)據(jù)集,(X,Z)為數(shù)據(jù)樣本,Z為輸入圖片對(duì)應(yīng)的真實(shí)拼音字符序列標(biāo)簽,P(Z|X)為輸入X得到Z的概率模型.

3.1.1 Connectionist Temporal Classification (CTC)

CTC[9]是一種通用的損失函數(shù),主要用于解決未知輸入序列和輸出序列對(duì)齊的網(wǎng)絡(luò)系統(tǒng).由于CTC 損失函數(shù)比傳統(tǒng)的隱馬爾科夫模型等具有更好的性能,因此在P2P 模型中,本文我們采用CTC 損失函數(shù)來實(shí)現(xiàn)輸入圖片和輸出拼音序列的自動(dòng)劃分與對(duì)齊.給定一個(gè)拼音序列的分布并且用空白字符進(jìn)行增強(qiáng),那么CTC 通過最大化所有與之等價(jià)的序列來定義生成該序列的可能性.假設(shè)拼音序列的標(biāo)簽為表示空白字符增強(qiáng)后的拼音序列,其中,“-”表示空白字符.定義映射函數(shù)表示移除空白字符并且刪除相鄰相同的拼音字符,對(duì)于一個(gè)序列y∈L*,CTC 計(jì)算如下:

其中,step是序列模型中步長.例如,假設(shè)step=3,CTC 計(jì)算‘qi’的概率為:p(qqi)+p(qii)+p(-qi)+p(q-i)+(qi-).

3.2 漢字序列識(shí)別模型(P2CC)

3.2.1 P2CC 輔助數(shù)據(jù)

在P2CC 模型中,訓(xùn)練數(shù)據(jù)為拼音字符序列和對(duì)應(yīng)的漢字語句.在CCTVDS 數(shù)據(jù)集中,共有14 975 個(gè)樣本.為了克服漢語的語義模糊性,同時(shí)保證輔助數(shù)據(jù)跟原始樣本同源,從而減少冗余信息,加速模型的訓(xùn)練,我們?cè)贑CTV 官網(wǎng)上額外下載了近30 個(gè)月的新聞文稿,并生成對(duì)應(yīng)的拼音序列以對(duì)P2CC 進(jìn)行預(yù)訓(xùn)練.最后訓(xùn)練中,刪除新增數(shù)據(jù)集中過短(字?jǐn)?shù)少于4)和過長(字?jǐn)?shù)大于25)的句子,得到的輔助數(shù)據(jù)共約304 223 條拼音漢字樣本.

3.2.2 Encoder-Decoder 模型

自從Bengio 提出使用神經(jīng)網(wǎng)絡(luò)來訓(xùn)練語言模型[10]后,越來越多的基于語言模型的網(wǎng)絡(luò)框架[11-13]被用來解決自然語言處理中的各種問題.其中,Encoder-Decoder 框架[14]被廣泛應(yīng)用.

在一個(gè)Encoder-Decoder 框架中,Encoder 和Decoder 可選用循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(LSTM 或者GRU)的組合,如圖4 所示為LSTM 組成的Encoder-Decoder 模型示例.

在RNN 網(wǎng)絡(luò)中,t時(shí)刻的隱藏狀態(tài)是由上一個(gè)時(shí)刻t-1 的隱藏狀態(tài)和輸入數(shù)據(jù)Xt共同決定的,見公式(6):

在RNN 組成的Encoder 網(wǎng)絡(luò)中,實(shí)際上的語義編碼往往用最后時(shí)刻的隱藏狀態(tài)代替,見公式(7):

Fig.4 Example of Encoder-Decoder model composed of LSTM圖4 LSTM 組成的Encoder-Decoder 網(wǎng)絡(luò)示例

在圖4 中,若Encoder 的輸入是X={X1,X2,X3,…,Xm}序列,得到Encoder 的輸出為C=hm.Decoder 是通過當(dāng)前已經(jīng)輸出的序列Y1,Y2,…,Yt-1來預(yù)測(cè)當(dāng)前Yt的輸出,那么Decoder 輸出序列為Y={Y1,Y2,Y3,…,Yn}的聯(lián)合概率見公式(8):

其中,g(·)是一種多層網(wǎng)絡(luò)函數(shù),用于計(jì)算輸出Yt的概率,是一種非線性映射.

3.2.3 Sequence-to-sequence 模型

基于對(duì)語言模型框架Encoder-Decoder 的理解,我們構(gòu)建了一個(gè)將發(fā)音(拼音)字符序列轉(zhuǎn)化為漢字序列的模型P2CC,如圖5 所示.

Fig.5 Model architecture of Pinyin-to-Hanzi recognition (P2CC)圖5 拼音到漢字識(shí)別(P2CC)網(wǎng)絡(luò)模型

在P2CC 模型中,每一個(gè)RNN 單元表示2 層GRU 單元連接(后面的實(shí)驗(yàn)分析表明,2 個(gè)GRU 效果最好).在Encoder 模塊的訓(xùn)練階段,輸入是拼音字符序列C=C1,C2,…,Cl,Ci表示拼音序列中第i個(gè)字母,為26 維的向量.Encoder 先將輸入序列通過Embedding(Em 單元)進(jìn)行升維,然后輸入給RNN,最后,輸出序列為O=O1,O2,…,O.第i時(shí)刻的輸出向量Oi用于參數(shù)化下一個(gè)時(shí)刻輸入Ci+1的預(yù)測(cè)分布Pr(Ci+1|Oi).

Encoder 模塊的目標(biāo)函數(shù)LEncoder(C)如下公式(9):

其中,C表示拼音語句序列的訓(xùn)練數(shù)據(jù).

在Decoder 模塊的訓(xùn)練階段,輸入是漢字序列〈S,y1,y2,…,yn〉,yi表示輸入序列中第i個(gè)漢字,為M維的向量(M表示數(shù)據(jù)集CCTVDS 中漢字的數(shù)量).Decoder 先利用Embedding 對(duì)輸入序列進(jìn)行升維,然后再傳遞給RNN,最后,通過softmax 非線性激活運(yùn)算,輸出序列〈e1,e2,…,en,E〉.其中,S和E分別表示輸入開始標(biāo)識(shí)和輸出結(jié)束標(biāo)識(shí).Decoder 模塊的目標(biāo)函數(shù)LDecoder(Y)如公式(10):

當(dāng)Encoder 和Decoder 都訓(xùn)練收斂之后,將Encoder 的輸出作為Decoder 的輸入,從而進(jìn)行拼音到漢字模型的整體訓(xùn)練.設(shè)定Fe(·)和Fd(·)分別表示已經(jīng)預(yù)訓(xùn)練好的Encoder 和Decoder 模型,則整個(gè)P2CC 模型的映射關(guān)系如公式(11)所示:

其中表示拼音序列C=C1,C2,…,Cl中第i個(gè)發(fā)音字符Ci對(duì)應(yīng)的Embedding 向量,表示第i個(gè)發(fā)音字符Ci經(jīng)過RNN 運(yùn)算后的隱藏狀態(tài).在訓(xùn)練階段,yi-1表示真實(shí)的樣本標(biāo)簽;在測(cè)試階段,則表示在i-1 時(shí)刻的預(yù)測(cè)值.

3.3 中文唇語識(shí)別整體網(wǎng)絡(luò)架構(gòu)

通過對(duì)分別已經(jīng)收斂的拼音序列識(shí)別模型P2P 和漢字序列識(shí)別模型P2CC 進(jìn)行整體端到端的優(yōu)化,從而構(gòu)建中文唇語識(shí)別的整體架構(gòu)ChLipNet.在ChLipNet 中,P2P 模型中的CTC 損失函數(shù)被移除,即P2P 產(chǎn)生的輸出序列直接依次作為P2CC 模塊的輸入序列.中文唇語識(shí)別整體網(wǎng)絡(luò)模型ChLipNet 如圖6 所示.

Fig.6 Chinese lip reading architecture of ChLipNet圖6 中文唇語識(shí)別模型ChLipNet

在ChLipNet 網(wǎng)絡(luò)中,輸入是一個(gè)句子對(duì)應(yīng)的嘴唇圖片,相當(dāng)于普通網(wǎng)絡(luò)的一個(gè)mini-batch 輸入.由于句子長度是可變的,所以ChLipNet 是一個(gè)動(dòng)態(tài)的模型.

4 數(shù)據(jù)集

4.1 已有數(shù)據(jù)集介紹

目前,公開常用的唇語識(shí)別數(shù)據(jù)集有:

(1) AVLetter 英語數(shù)據(jù)集.該數(shù)據(jù)集由5 男5 女錄制而成,語料為26 個(gè)字母.每個(gè)人要求對(duì)每個(gè)字母讀3遍,共計(jì)78 個(gè)樣本;

(2) AVLetters2 英語數(shù)據(jù)集.該數(shù)據(jù)庫是對(duì)上述AVLetter 的擴(kuò)展,由5 個(gè)人錄制,每人對(duì)26 個(gè)字母重復(fù)讀7遍,共計(jì)182 個(gè)樣本;

(3) OuluVS1 數(shù)據(jù)集.本數(shù)據(jù)集包含了10 個(gè)日常簡單的單詞或者短語,由20 個(gè)人錄制而成,且每人要求對(duì)每一個(gè)短語重復(fù)5 次;

(4) MIRACL-VC1 數(shù)據(jù)集.該數(shù)據(jù)集中的語料為10 個(gè)單詞和10 個(gè)短語,每個(gè)人對(duì)每個(gè)單詞和短語重復(fù)10遍,最終獲得3 000 個(gè)樣本;

(5) GRID 數(shù)據(jù)集.該數(shù)據(jù)集是由給定單詞根據(jù)固定格式組成的“句子”,例如“Place red at J 2,Please”,第1個(gè)單詞為動(dòng)詞,第2 個(gè)單詞為顏色詞,然后依次分別為介詞、字母、數(shù)字等,且每個(gè)單詞有可選的固定候選集,所以這種固定形式構(gòu)成的數(shù)據(jù)集從實(shí)際意義來說并不是基于“句子”級(jí)別的,樣本總共大約有9 000 個(gè);

(6) BBCTV 數(shù)據(jù)集.該數(shù)據(jù)集收集了從2010 年~2016 年期間約6 年的BBC 視頻,涉及到新聞和討論內(nèi)容,約有118 116 個(gè)句子,共17 428 個(gè)單詞.

4.2 自建唇語數(shù)據(jù)集CCTVDS

CCTVDS 來源于CCTV 官網(wǎng)上2016 年4 月~10 月連續(xù)6 個(gè)月的新聞聯(lián)播視頻,通過對(duì)視頻進(jìn)行半自動(dòng)化處理,最終生成形如(嘴唇圖片序列,中文語句)的數(shù)據(jù)集.其中,嘴唇圖片大小為120×120.

如圖7 所示為CCTVDS 數(shù)據(jù)集中“今天”字段的連續(xù)嘴唇圖片.

Fig.7 Continuous lip pictures of “today” in CCTVDS dataset圖7 CCTVDS 數(shù)據(jù)集中“今天”字段的連續(xù)嘴唇圖片

下面詳細(xì)介紹CCTVDS 數(shù)據(jù)集的生成過程,具體流程如圖8 所示.

Fig.8 Semi-automatic generation process of CCTVDS dataset圖8 CCTVDS 數(shù)據(jù)集的半自動(dòng)生成過程

4.2.1 視頻剪輯

在鏡頭檢測(cè)模塊,采用圖像的全局直方圖來判斷CCTV 視頻中鏡頭在主播單獨(dú)說話和其他場(chǎng)景之間的切換,得到粗略的單人主播視頻片段.全局直方圖通過統(tǒng)計(jì)幀內(nèi)所有像素點(diǎn)在各個(gè)顏色(灰度)等級(jí)的個(gè)數(shù),按照公式(12)計(jì)算出兩幀間的差異值:

其中,Hi(j)表示的是第i幀內(nèi)等級(jí)為j的直方圖的值,M是直方圖的總等級(jí)數(shù).然后,再通過人工二次檢驗(yàn)核查視頻片段的正確性,生成合理可用的視頻片段;同時(shí),以25fps 的頻率將視頻轉(zhuǎn)換為連續(xù)的幀圖片,生成包含有人臉的初始樣本集.

4.2.2 文本處理和時(shí)間戳標(biāo)記

文本處理主要由人工完成,在保證語句含義合理的前提下,以每行不超過18 個(gè)字的標(biāo)準(zhǔn)規(guī)范文本格式.通過OksrtClient 實(shí)現(xiàn)視頻和文本語句的自動(dòng)對(duì)齊,同時(shí)可獲得視頻片段中每句話的起始和結(jié)束時(shí)間戳.根據(jù)時(shí)間戳和圖片的保存頻率可將每句話的對(duì)應(yīng)幀圖片自動(dòng)查找出來.

4.2.3 嘴唇檢測(cè)與分割

1) 人臉檢測(cè)

在嘴唇檢測(cè)前,首先對(duì)圖片進(jìn)行人臉檢測(cè).在所裁剪的圖片數(shù)據(jù)中,均是包含正面角度的人臉,且無顯著的光照影響,因此采用經(jīng)典的人臉檢測(cè)算法——Viola-Jones 檢測(cè)器進(jìn)行檢測(cè)便可滿足需求.該算法在圖像矩形區(qū)域進(jìn)行像素處理時(shí),使用積分圖方法加速Haar-like 特征的計(jì)算,再在整張圖片上通過滑動(dòng)窗口提取類Haar 特征,并以此通過多個(gè)級(jí)聯(lián)弱分類器進(jìn)行判斷.當(dāng)所有的分類器判定均為正樣本時(shí),才把該窗口確定為人臉圖片.

2) 嘴唇定位與分割

人臉檢測(cè)之后,再次用相同算法對(duì)人眼睛進(jìn)行定位,根據(jù)人臉的空間幾何特征,實(shí)現(xiàn)對(duì)單張圖像中人嘴唇區(qū)域的首次定位.然后,根據(jù)同一系列的人臉圖像嘴唇區(qū)域位置信息,利用最小二乘法對(duì)圖像幀序列中的嘴唇位置進(jìn)行二次定位,最終將圖片裁剪成120×120 大小的嘴唇區(qū)域.如圖9 所示為利用人臉空間幾何特征定位嘴唇.

Fig.9 Locate the lips according to the geometric features of face space圖9 根據(jù)人臉空間幾何特征定位嘴唇

其中,d表示眼睛間距,d1=0.4d,d2=0.7d,F_h=2.4d,F_w=1.8d.嘴唇中點(diǎn)坐標(biāo)為(Mx,My),其中,Mx=0.5F_w=0.8F_h,嘴唇寬和高分別為0.3F_w和0.67F_h.

4.3 CCTVDS數(shù)據(jù)集統(tǒng)計(jì)

在CCTVDS 數(shù)據(jù)集中,每個(gè)樣本句子對(duì)應(yīng)的嘴唇圖片序列長度范圍為10~196,平均包含了2~25 個(gè)漢字,樣本數(shù)量共計(jì)14 975 個(gè),且樣本標(biāo)簽中共計(jì)2 972 355 個(gè)漢字.CCTVDS 具體統(tǒng)計(jì)見表3,訓(xùn)練集、測(cè)試集和驗(yàn)證集按照7:2:1 進(jìn)行劃分.

Table 3 Sample statistics of CCTVDS dataset表3 CCTVDS 數(shù)據(jù)集的樣本統(tǒng)計(jì)數(shù)據(jù)

5 實(shí)驗(yàn)結(jié)果及分析

對(duì)模型進(jìn)行訓(xùn)練之前,先對(duì)數(shù)據(jù)進(jìn)行整理,移除標(biāo)簽數(shù)據(jù)中的特殊字符(例如@,!,?,<等),并將少于2 個(gè)漢字的句子刪除.此外,根據(jù)句子的長度,將數(shù)據(jù)分成3 個(gè)子數(shù)據(jù)集,各自分別包含的漢字個(gè)數(shù)為2~9,10~15 和16~25,樣本數(shù)量分別為95 883 619 和1 768.

實(shí)驗(yàn)過程中,使用拼音準(zhǔn)確率(PAR)、漢字準(zhǔn)確率(HAR)和混淆值來衡量模型的性能.PAR和HAR定義為1-錯(cuò)誤率=1-(D+S+I)/N,其中:D,S,I分別為從結(jié)果序列轉(zhuǎn)換到真實(shí)標(biāo)簽時(shí),需要?jiǎng)h除、代替和插入的拼音字母或者漢字的數(shù)量;N為真實(shí)標(biāo)簽中拼音字母或者漢字的數(shù)量.混淆度是概率分布的一個(gè)衡量,越小的混淆值,表明分布的預(yù)測(cè)越好.

5.1 P2P網(wǎng)絡(luò)模型實(shí)驗(yàn)分析

5.1.1 訓(xùn)練技巧

批度規(guī)范化(batch normalization,簡稱BN)在運(yùn)行過程中需要統(tǒng)計(jì)每一個(gè)mini-batch 的一階統(tǒng)計(jì)量和二階統(tǒng)計(jì)量,不適合用于動(dòng)態(tài)的網(wǎng)絡(luò)結(jié)構(gòu)和循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 中.因此在P2P 模型中,卷積神經(jīng)網(wǎng)絡(luò)ConvNet 使用了BN 操作,而動(dòng)態(tài)的RNN 網(wǎng)絡(luò)在訓(xùn)練過程中嘗試使用其他規(guī)范算法:層規(guī)范化(layer normalization,簡稱LN)、參數(shù)規(guī)范化(weight normalization,簡稱WN)、余弦規(guī)范化(cosine normalization,簡稱CN).

使用BN 算法后,在訓(xùn)練時(shí),P2P 網(wǎng)絡(luò)可以設(shè)置較高的初始學(xué)習(xí)率,加速網(wǎng)絡(luò)的收斂.然而,過高的初始學(xué)習(xí)率會(huì)導(dǎo)致P2P 模型中的n-LSTM 很難收斂.針對(duì)這個(gè)問題,我們給P2P 中不同的模塊設(shè)置不同的初始學(xué)習(xí)率.在ConvNet 網(wǎng)絡(luò)中,選取較高的初始學(xué)習(xí)率,如0.1.而在n-LSTM 網(wǎng)絡(luò)中,選取較小的初始學(xué)習(xí)率,如0.001.通過給兩個(gè)不同的模塊設(shè)置不同的學(xué)習(xí)率,促使ConvNet 和n-LSTM 盡量同時(shí)收斂,進(jìn)而達(dá)到P2P 模型完全收斂的效果,使其具有更好的拼音序列識(shí)別能力.

5.1.2 實(shí)驗(yàn)結(jié)果

P2P 模型由卷積神經(jīng)網(wǎng)絡(luò)ConvNet、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 和CTC 組成.實(shí)驗(yàn)結(jié)果表明:P2P 模型中使用不同的特征提取器ConvNet,產(chǎn)生的結(jié)果也不相同.實(shí)驗(yàn)中共嘗試了VGG-M,VGG-16,IncepV2 和AlexNet 這4 種不同卷積網(wǎng)絡(luò),且網(wǎng)絡(luò)中的后三層全連接均用一個(gè)平均值池化層代替.其中,VGG-M 取得的最高識(shí)別準(zhǔn)確率為58.51%,VGG-16 的41.28%次之,IncepV2 和AlexNet 的準(zhǔn)確率分別為40.11%和39.19%,見表4.

Table 4 Pinyin-level recognition accuracy statistics of P2P network (%)表4 P2P 網(wǎng)絡(luò)的拼音識(shí)別準(zhǔn)確率統(tǒng)計(jì) (%)

在所有實(shí)驗(yàn)中,無論采用哪種特征提取器,當(dāng)循環(huán)神經(jīng)網(wǎng)絡(luò)為1-512-LSTM(1 層512 的LSTM)時(shí),均取得最好的結(jié)果.GRU 表現(xiàn)較差,可能是因?yàn)镃TC 損失函數(shù)的使用,導(dǎo)致在反向傳播的過程中不能找到有效的梯度回傳路徑.同時(shí),在訓(xùn)練時(shí)發(fā)現(xiàn):以VGG-16 作為特征提取器時(shí),若對(duì)VGG-16 模型微調(diào),模型的性能會(huì)急劇下降;以IncepV2 或者ResNet 作為嘴唇圖片序列的特征提取器時(shí),由于網(wǎng)絡(luò)層數(shù)太深,訓(xùn)練時(shí)很容易發(fā)生梯度消失.

此外,實(shí)驗(yàn)表明:使用不同的學(xué)習(xí)率去訓(xùn)練網(wǎng)絡(luò),其收斂速度最快;而在RNN 中分別使用層規(guī)范化LN、參數(shù)規(guī)范化WN 和余弦規(guī)范化CN 的速度次之;無任何訓(xùn)練技巧時(shí)網(wǎng)絡(luò)收斂最慢.同時(shí),在對(duì)循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行規(guī)范化(LN、WN 和CN)時(shí),使用CN 能夠得到比LN 和WN 更穩(wěn)定的損失值.在訓(xùn)練期間,嘗試在P2P 模型中使用雙向的LSTM 神經(jīng)網(wǎng)絡(luò),結(jié)果顯示:準(zhǔn)確率并沒有顯著提高;與單向的LSTM 網(wǎng)絡(luò)相比,反而更加消耗存儲(chǔ)空間和計(jì)算成本.因此,最終在模型中采用普通的LSTM 提取圖片間的序列信息.

5.2 P2CC網(wǎng)絡(luò)模型實(shí)驗(yàn)分析

5.2.1 Encoder 的訓(xùn)練技巧

大量實(shí)驗(yàn)表明:在序列模型中,當(dāng)時(shí)間步數(shù)過長時(shí),網(wǎng)絡(luò)收斂得很慢且很難訓(xùn)練[15].因此,我們將P2CC 模型分為Encoder 和Decoder 兩個(gè)模塊分別進(jìn)行預(yù)訓(xùn)練.

我們從CCTV 官網(wǎng)上額外下載了從2016 年1 月1 日~2017 年6 月15 日的文本數(shù)據(jù)作為輔助數(shù)據(jù)集,并采用相同的分組方式,將句子按照長度分別分為3 個(gè)子數(shù)據(jù)集.輔助數(shù)據(jù)集中的漢字總數(shù)和句子總數(shù)分別為2972355,215697.受curriculum learning的啟發(fā),模型先用短的數(shù)據(jù)集進(jìn)行訓(xùn)練,然后再不斷加長訓(xùn)練數(shù)據(jù)的長度.實(shí)驗(yàn)中可觀察到:這樣訓(xùn)練模型的收斂速度會(huì)快很多,并且可以大幅度地減少過擬合.猜測(cè)可以把這種訓(xùn)練方式看作是數(shù)據(jù)增強(qiáng)的一種,所以模型表現(xiàn)出更好的性能.

在預(yù)訓(xùn)練過程中,Encoder 的輸入是拼音字符序列.而在整個(gè)唇語識(shí)別ChLipNet 網(wǎng)絡(luò)中,拼音序列識(shí)別模型P2P 的輸出作為P2CC 的輸入序列.由于P2P 網(wǎng)絡(luò)存在損失,無法輸出完全正確的拼音字符序列.為了模擬P2P模型的生成序列,我們對(duì)P2CC 模型中Encoder 的輸入進(jìn)行隨機(jī)增加、刪除以及替換等錯(cuò)誤處理,并且字符的隨機(jī)增加、刪除和替換率保證在0 到25%之間.

例如,將拼音字符序列“jintiantianqihenhao”變?yōu)椤癹ingtiantanqqihenghhao”.

5.2.2 Decoder 的訓(xùn)練技巧

在訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)時(shí),通常將前一時(shí)刻的真實(shí)輸出作為下一時(shí)刻的輸入,這有助于模型學(xué)習(xí)一種超過預(yù)期目標(biāo)的語言模型.然而在推斷過程中,樣本的真實(shí)標(biāo)簽是不可用的,均使用前一時(shí)刻的預(yù)測(cè)輸出,但是模型還無法容忍之前時(shí)刻的錯(cuò)誤預(yù)測(cè)輸出,從而導(dǎo)致較差的性能.于是,我們采用Bengio 等人提出的預(yù)定抽樣方法[16],彌補(bǔ)Decoder 在訓(xùn)練和推斷過程中的差異.如圖10 所示為預(yù)定抽樣方法示例圖.

Fig.10 Example of a predetermined sampling method圖10 預(yù)定抽樣方法示例

在訓(xùn)練Decoder 網(wǎng)絡(luò)時(shí),若輸入序列較短,則直接使用真實(shí)的樣本標(biāo)簽;當(dāng)輸入序列較長時(shí),則從前一時(shí)刻的輸出中隨機(jī)采樣,而不是始終使用真實(shí)的樣本標(biāo)簽作為下一個(gè)RNN 單元的輸入,采樣概率隨著時(shí)間從0 增加到0.2.實(shí)驗(yàn)表明:當(dāng)抽樣概率大于0.2 時(shí),無法實(shí)現(xiàn)Decoder 網(wǎng)絡(luò)的穩(wěn)定學(xué)習(xí).

5.2.3 實(shí)驗(yàn)結(jié)果

P2CC 模型的參數(shù)初始化范圍為[-0.02,0.02],初始學(xué)習(xí)率設(shè)為0.001.實(shí)驗(yàn)結(jié)果顯示:P2CC 模型結(jié)構(gòu)直接決定著其性能,在不同的RNN 配置下,模型混淆度和損失值均不相同.隨著隨機(jī)錯(cuò)誤率的增加,網(wǎng)絡(luò)的損失值也略微增加,混淆度和最小損失值分別為2.69 和0.99;錯(cuò)誤率為15%,則最小混淆度和最小損失值分別為2.77 和1.02;當(dāng)RNN 采用2-1024-GRU 時(shí),P2CC 在4 種不同錯(cuò)誤率下的混淆度和損失值均為最小.錯(cuò)誤率為10%時(shí),錯(cuò)誤率為20%時(shí),最小混淆度和最小損失值分別為2.97 和1.09;錯(cuò)誤率為25%時(shí),最小混淆度和最小損失值分別為3.00和1.10.當(dāng)采用2-512-GRU 時(shí),模型的最小混淆度為2.94,最小損失值為1.08.由于當(dāng)采用1024-GRU 時(shí),其結(jié)果并不明顯優(yōu)于512-GRU 的結(jié)果,而且還存在大量的網(wǎng)絡(luò)計(jì)算,因此,從實(shí)驗(yàn)結(jié)果和網(wǎng)絡(luò)訓(xùn)練效率層面來看,RNN采用2-512-GRU 便可很好地滿足漢字序列識(shí)別研究.表5 為P2CC 模型在隨機(jī)抽樣率為10%時(shí),不同RNN 網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果.

Table 5 Experimental results of P2CC with different RNN networks under 10% sampling rate表5 P2CC 在錯(cuò)誤率為10%下不同RNN 網(wǎng)絡(luò)下的實(shí)驗(yàn)結(jié)果

5.3 ChLipNet模型實(shí)驗(yàn)分析

通過將ChLipNet 網(wǎng)絡(luò)與其他唇語識(shí)別模型在CCTVDS 數(shù)據(jù)集上進(jìn)行對(duì)比分析,進(jìn)而來測(cè)試ChLipNet 模型的整體性能.表6 所示為不同唇語識(shí)別模型在CCTVDS 上的實(shí)驗(yàn)對(duì)比結(jié)果,并且包括模型的各自網(wǎng)絡(luò)結(jié)構(gòu)以及相關(guān)的訓(xùn)練數(shù)據(jù)集和語言類別,其中,AiC表示模型在各自原文章中的準(zhǔn)確率,AiS表示模型在CCTCDS 上重新訓(xùn)練所取得的最高句子識(shí)別準(zhǔn)確率,AiP表示在CCTVDS 上所取得的拼音字母序列的準(zhǔn)確率.

Table 6 Experimental results of different lip reading models on CCTVDS表6 不同唇語模型在CCTVDS 上的實(shí)驗(yàn)結(jié)果

通過實(shí)驗(yàn)結(jié)果,在基于深度學(xué)習(xí)的唇語識(shí)別模型中,可得出以下結(jié)論.

(1) 對(duì)比NN+LSTM 和CNN+LSTM 的實(shí)驗(yàn)結(jié)果,發(fā)現(xiàn)CNN 表現(xiàn)出強(qiáng)大的特征提取能力;

(2) 通過和STCNN+BiLSTMCTC 對(duì)比,時(shí)空卷積網(wǎng)絡(luò)的性能不一定比傳統(tǒng)的2D-CNN 更優(yōu),尤其是在唇語識(shí)別研究中;

(3) 從序列模型中可得,RNN(LSTM/GRU)在語義解碼方面具有強(qiáng)大的優(yōu)勢(shì),適用于文本編譯和生成.

除了WLAS 模型外,其他唇語識(shí)別模型都是用來預(yù)測(cè)非中文的單詞或者短語的.因此,它們?cè)诰渥蛹?jí)別的CCTVDS 數(shù)據(jù)集上效果較差.另外,WLAS 模型的輸入為嘴唇圖片和音頻數(shù)據(jù),由于CCTVDS 數(shù)據(jù)集中不包含音頻信息,因此WLAS 在CCTVDS 也不能產(chǎn)生較高的準(zhǔn)確率.正如實(shí)驗(yàn)結(jié)果所示:本文提出的中文句子級(jí)別的唇語識(shí)別模型ChLipNet 可分別取得45.7%的句子準(zhǔn)確率和58.5%的拼音序列準(zhǔn)確率,而WLAS 相應(yīng)的準(zhǔn)確率分別為36.7%和49.8%.

6 總結(jié)

本文首次提出了端到端的中文唇語識(shí)別模型ChLipNet,該模型可以將輸入嘴唇圖片不用分割直接自動(dòng)地轉(zhuǎn)化為漢語句子輸出.在訓(xùn)練過程中,兩個(gè)不同的網(wǎng)絡(luò)模塊分別各自解決圖片到拼音和拼音到漢字的識(shí)別,當(dāng)這兩個(gè)模塊分別訓(xùn)練好后,再整體進(jìn)行端到端的優(yōu)化調(diào)整.通過增加訓(xùn)練技巧,實(shí)驗(yàn)結(jié)果表明:在中文唇語數(shù)據(jù)集CCTVDS 上,ChLipNet 的性能超過之前相關(guān)的唇語架構(gòu).

在之后的工作中,我們將會(huì)進(jìn)行以下的嘗試.

(1) 采集更為豐富的數(shù)據(jù)集.在深度神經(jīng)網(wǎng)絡(luò)中,數(shù)據(jù)集的樣本量直接決定了網(wǎng)絡(luò)模型參數(shù)訓(xùn)練的完成度以及分類回歸的準(zhǔn)確率;

(2) 對(duì)網(wǎng)絡(luò)輸入進(jìn)行擴(kuò)充.目前的ChLipNet 網(wǎng)絡(luò)只支持視覺信息的輸入,我們將嘗試增加網(wǎng)絡(luò)輸入數(shù)據(jù)類型,實(shí)現(xiàn)多種類型數(shù)據(jù)的輸入.例如,在輸入中增加音頻數(shù)據(jù),實(shí)現(xiàn)視覺和音頻的整合,提高網(wǎng)絡(luò)識(shí)別精度;

(3) 將ChLipNet 應(yīng)用到不同的方言中;

(4) 在Encoder-Decoder 模型使用Attention 機(jī)制,Attention 機(jī)制能夠避免因?yàn)檩斎胄蛄羞^長造成的錯(cuò)誤輸出,使得網(wǎng)絡(luò)輸出更加精準(zhǔn)的結(jié)果.此外,Attention 能夠解釋和可視化我們的網(wǎng)絡(luò)模型,加強(qiáng)對(duì)網(wǎng)絡(luò)的理解.

猜你喜歡
唇語嘴唇拼音
碰撞:“唇語”應(yīng)對(duì)媒體vs志愿者自責(zé)哭泣
唇語
嘴唇干裂怎么辦
慧心讀“唇語”
搜狗推出“唇語識(shí)別”技術(shù)
我對(duì)每個(gè)人說再見
快樂拼音
快樂拼音
唇亡齒寒
嘴唇為何常脫皮開裂?
谢通门县| 马山县| 乌拉特中旗| 阳春市| 金华市| 延庆县| 灵山县| 乌拉特前旗| 西乌| 田阳县| 乐清市| 浦北县| 沙湾县| 阿拉善盟| 新邵县| 沅江市| 宝鸡市| 乌兰察布市| 汉寿县| 烟台市| 如东县| 苏尼特左旗| 永安市| 五常市| 灵台县| 柏乡县| 喜德县| 金坛市| 晋城| 汨罗市| 呼和浩特市| 巧家县| 新河县| 惠州市| 元氏县| 芦山县| 务川| 台北市| 鄂温| 安塞县| 墨竹工卡县|