李安陽, 郭 丹
(合肥工業(yè)大學(xué) 計算機(jī)與信息學(xué)院,安徽 合肥 230601)
基于視覺信息的手語自動翻譯已成為計算機(jī)視覺領(lǐng)域的一個熱點問題[1-2]。高質(zhì)量的手語翻譯能夠緩解聾啞人在日常生活中的溝通障礙,有效提高他們的生活質(zhì)量。連續(xù)手語視頻的翻譯需要通過分析視頻中手語的視覺內(nèi)容,實現(xiàn)各手勢在時序坐標(biāo)上的分割,再結(jié)合語義信息自動生成對應(yīng)的句子。相對于離散手勢的識別,連續(xù)手語視頻句子的自動翻譯更具有挑戰(zhàn),其難點在于視頻中視覺識別不僅要考慮單幀信息,還要考慮連續(xù)幀中變化的時序信息,同時還要注意各個手勢轉(zhuǎn)換之間的隱藏分割時刻點。由于視頻與翻譯句子均為序列數(shù)據(jù),該問題屬于廣義的序列到序列問題(sequence to sequence,Seq2Seq)[3-5]。Seq2Seq問題依據(jù)輸入序列生成輸出序列,且輸入序列和輸出序列的長度通常并不相等。求解Seq2Seq問題的模型具有廣泛的應(yīng)用領(lǐng)域,例如機(jī)器翻譯[6]、語音識別、視頻分析、文檔摘要自動生成、圖片描述自動生成等。
為了處理序列中的時序信息,對輸入的序列數(shù)據(jù)建模成為Seq2Seq模型的重點和難點。早期的隱馬爾可夫模型(hidden markov model, HMM)作為動態(tài)的貝葉斯網(wǎng)絡(luò)[5,7],具有對時序數(shù)據(jù)分布建模和時序推演的能力。將其運(yùn)用到視覺手勢識別,取得了良好的效果。例如,文獻(xiàn)[8]將手勢特征歸一化優(yōu)化后,基于隱馬爾可夫模型結(jié)合混合高斯模型實現(xiàn)了離散獨立手勢的識別。然而,由于HMM模型自身的齊次馬爾可夫性強(qiáng)假設(shè),即馬爾可夫鏈在任意時刻的狀態(tài)只依賴于其前一個時刻的狀態(tài),使得此類模型無法綜合整體序列的時序傳遞信息。通常在運(yùn)用隱馬爾可夫模型時,會引入先驗的語言模型彌補(bǔ)上述缺點,修正HMM的輸出結(jié)果。此外,為滿足對模型中時序間的高耦合性,通常還進(jìn)行多次離線迭代優(yōu)化以達(dá)到良好性能,因而增大了模型的訓(xùn)練成本。
隨著神經(jīng)網(wǎng)絡(luò)的快速發(fā)展與計算機(jī)硬件性能的大大提升,學(xué)者們提出了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(recursive neural network,RNN)[9-10]。這2種方法在視覺信息的特征表達(dá)和特征學(xué)習(xí)上表現(xiàn)出優(yōu)秀的性能。文獻(xiàn)[11]在感知機(jī)的基礎(chǔ)上提出了CNN計算模型。文獻(xiàn)[12]采用梯度下降法訓(xùn)練CNN,使得CNN成為一種有監(jiān)督可訓(xùn)練的人工智能算法,該算法在視覺表征和分類問題上性能優(yōu)越。在引入神經(jīng)網(wǎng)絡(luò)模型的手語研究工作中,文獻(xiàn)[13]利用卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)勢,先使用CNN模型預(yù)訓(xùn)練模型提取視覺特征,再采用預(yù)訓(xùn)練的語言模型結(jié)合HMM進(jìn)行視頻翻譯。文獻(xiàn)[14]采用最大期望算法(expectation maximization algorithm),將每一次的訓(xùn)練分類的結(jié)果作為下一次模型訓(xùn)練的偽標(biāo)簽,以此迭代訓(xùn)練不斷修正模型參數(shù)直至收斂,從而得到最優(yōu)的翻譯模型。
相比于上述CNN模型對視覺特征的描述,RNN的提出則有效地推進(jìn)了基于神經(jīng)網(wǎng)絡(luò)框架的時序?qū)W習(xí)模型的發(fā)展[15-16]。針對視頻自動生成描述,文獻(xiàn)[17] 提出了基于長短時記憶網(wǎng)絡(luò)(long short-term memory, LSTM)[18-19]的編碼-解碼(encoder-decoder)的求解框架,首先將視覺信息逐幀輸入到LSTM進(jìn)行時序編碼,生成一個具有時序傳遞信息的向量;再將該向量輸入到解碼器進(jìn)行語義解析;最終輸出生成的句子。文獻(xiàn)[20]則在編碼解碼框架的基礎(chǔ)上,引入注意力機(jī)制,權(quán)衡了視頻編碼中各幀的權(quán)重,解決了視頻中大量連續(xù)幀重復(fù)的冗余問題。以上基于編碼解碼的時序?qū)W習(xí)框架在Seq2Seq問題上已被大量運(yùn)用,如圖1所示?;诰幋a-解碼的模型框架(圖1a),在長時序列學(xué)習(xí)時,會導(dǎo)致輸入序列與輸出序列的信息分離。輸入的序列只有在編碼器對整段視頻完成編碼結(jié)束后,才能解碼。過于濃縮的信息編碼會影響到模型的泛化性能。對比上述的編碼解碼框架,基于聯(lián)級時序分類優(yōu)化(connectionist temporal classification, CTC)的端對端框架可以避免編碼依賴問題,實時輸出解碼結(jié)果。
圖1 不同Seq2Seq時序?qū)W習(xí)模型框架示意圖
在視頻翻譯中,幀數(shù)遠(yuǎn)大于翻譯句子中單詞數(shù)目。如果不采用編碼解碼框架,那么將輸入序列能夠端對端對齊地直接輸出為輸出序列,需要解決不等長的輸入序列與輸出序列的對齊轉(zhuǎn)換問題。CTC可用于求解序列間的對齊問題。CTC首先判斷各時刻的單幀標(biāo)簽輸出,再通過刪除空白標(biāo)簽“blank”和重復(fù)標(biāo)簽的方式,對輸出序列進(jìn)行信息合并,最終生成精簡的句子標(biāo)簽[21]。因此,本文同時考慮CNN和RNN的優(yōu)勢提出了將神經(jīng)網(wǎng)絡(luò)與CTC相結(jié)合的算法框架來求解手語視頻翻譯問題,算法框架如圖1b所示。首先提取出視頻的特征序列;其次通過并行的CNN和RNN同時學(xué)習(xí)特征序列的時序傳遞信息;再將神經(jīng)網(wǎng)絡(luò)輸出的得分預(yù)測矩陣進(jìn)行融合;最后計算CTC優(yōu)化的損失函數(shù),訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,以實現(xiàn)連續(xù)手語視頻的翻譯。
連續(xù)手語視頻翻譯將視頻幀序列作為輸入(x1x2…xN),通過端對端的網(wǎng)絡(luò)模型學(xué)習(xí)輸出相對應(yīng)的詞序列(y1y2…ym),其中序列長度N和m可以為不同長度。本文提出一種雙路并行的CNN&RNN混合時序?qū)W習(xí)網(wǎng)絡(luò)模型,兼顧C(jī)NN和RNN的優(yōu)點,如圖2所示。
圖2 基于雙路并行時序?qū)W習(xí)模型框架圖
CNN作為一種前饋神經(jīng)網(wǎng)絡(luò),它的優(yōu)點在于人工神經(jīng)元可以響應(yīng)局部區(qū)域覆蓋范圍的周圍單元,尤其在局部特征響應(yīng)上有出色的表現(xiàn)。而RNN作為一種節(jié)點定向鏈接成環(huán)的人工神經(jīng)網(wǎng)絡(luò),其內(nèi)部隱狀態(tài)可以記錄并學(xué)習(xí)動態(tài)時序行為。本文選擇雙向長短期記憶網(wǎng)絡(luò)(bidirectional long short-term memory,BLSTM)作為RNN學(xué)習(xí)單元。不同于CNN的是,BLSTM可以利用前后回顧的內(nèi)部記憶來獲得單元處理長時序列中的時序關(guān)聯(lián)性。因此,本文提出的雙路并行時序混合模型結(jié)構(gòu)能夠有效地同時整合短時(局部CNN時序響應(yīng)學(xué)習(xí))與長時(全局RNN時序傳遞學(xué)習(xí))信息。
此外,CNN和RNN 2個時序?qū)W習(xí)網(wǎng)絡(luò)模塊的末尾通過全連接層(fully connected layer,FCL)將特征維度映射到詞表維度,輸出其隸屬于各單詞類別的得分概率。2個模塊還均使用批梯度歸一化層(batch normalization,BN)[24]以消除特征空間的維度差距,提高模型訓(xùn)練速度。得到CNN和BLSTM 2個并行時序?qū)W習(xí)模塊的輸出概率序列后,相加得到最終的得分融合矩陣。最后,利用CTC目標(biāo)函數(shù)優(yōu)化融合得分矩陣以訓(xùn)練整個網(wǎng)絡(luò),具體步驟如下。
給定手語視頻的幀序列{xk|k=1,2,…,N},其中xk為視頻中第k幀的圖像原始數(shù)據(jù),共N幀。本文首先采用3D CNN卷積神經(jīng)網(wǎng)絡(luò)C3D[19]模型提取視頻特征,將視頻轉(zhuǎn)換為特征序列{fi|i=1,2,…,n},相比于2D CNN模型對二維圖像做二維卷積運(yùn)算,本文基于C3D模型對連續(xù)δ幀的二維圖像一起執(zhí)行3D卷積運(yùn)算操作。其本質(zhì)上相當(dāng)于:
(1)
1.2.1 基于CNNn-gram卷積的時序?qū)W習(xí)模塊
傳統(tǒng)的CNN常用來提取圖像在空間上的響應(yīng)信息。本文采用CNN對視覺特征序列進(jìn)行時序?qū)W習(xí),實現(xiàn)時序上的局部特征響應(yīng)。思路如下:① 采有3D CNN方法得到特征矩陣,矩陣中每一行對應(yīng)一幀的特征向量,矩陣的行數(shù)為視頻的長度;② 借鑒自然語言處理任務(wù)中CNN處理時序n-gram用法[23],將卷積核的寬度設(shè)為單幀特征向量的寬度d,卷積核的長度設(shè)置為n,步長step=1,即等價于滑動窗口為1,每次只對特征矩陣中連續(xù)n行(即連續(xù)n幀的局部信息)做卷積運(yùn)算(卷積核d×n)。進(jìn)而采用多個卷積核(多通道,channels)進(jìn)行多次卷積,計算特征矩陣在不同卷積通道下的響應(yīng)特性。計算過程如下:將特征提取層的輸入{fi|i=1,2,…,n}作為當(dāng)前CNN模塊的輸入,采用卷積核c×d×n實現(xiàn)卷積操作:
(2)
其中:c為卷積操作中卷積核個數(shù);d和n解釋如上所示。本文實驗中,CNN模塊采用2層卷積網(wǎng)絡(luò)組成。以第1層卷積網(wǎng)絡(luò)為例,本文的輸入為2 048維的C3D特征,由1 024個大小為2 048×2的二維卷積核組成(c=1 024,d=2 048,n=2),步長為1。在各個時刻i,每個卷積核將連續(xù)n=2個d=2 048維的原始特征卷積成1維的數(shù),依次執(zhí)行到n時刻,得到n維向量。再利用c=1 024個通道的卷積核重復(fù)上述操作,即可得到n×1 024維(n×c)的特征新矩陣。本模塊中,學(xué)習(xí)所得的新特征矩陣考慮了短時時序相關(guān)性的卷積響應(yīng)。第2層卷積層設(shè)置為2 048個大小為2×1 024的卷積核組成,步長為1(c=2 048,d=1 024,n=2)。最終網(wǎng)絡(luò)輸出得到2 048維的新特征輸出{hci|i=1,2,…n},hci∈R2 048。
為了得到單幀的分類預(yù)測,該模塊繼續(xù)對將{hci|i=1,2,…,n}執(zhí)行全連接層FC操作,將特征的維度映射到詞表大小上的分布,再用Softmax層計算出其的概率信息:
(3)
1.2.2 基于雙向BLSTM的時序?qū)W習(xí)模塊
本文選用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)單元(bidirectional LSTM, BLSTM)作為RNN的學(xué)習(xí)單元,同時對視頻序列做t=1~T的前向和t=T~1的后向時序?qū)W習(xí)。BLSTM既全局地學(xué)習(xí)視頻中時序傳遞信息,又有效地緩解梯度消失問題。與上述1.2.1節(jié)中CNN時序?qū)W習(xí)模塊一樣,此處同樣將C3D特征序列作為BLSTM模塊的輸入:
(4)
為了能夠?qū)Ω鲙M(jìn)行分類得分預(yù)測,同理將BLSTM網(wǎng)絡(luò)模塊的輸出通過全連接層FCL映射到詞表的維度,并使用Softmax函數(shù)映射到得分矩陣概率空間,計算過程為:
(5)
1.2.3 雙路時序得分融合模塊
上述Softmax函數(shù)σCNN與σrnn雖然形式上相同,但對于每個片段時刻i,由于σCNN輸出的是CNN得分矩陣,表示局部時序響應(yīng)計算所得的詞概率值;而σrnn的輸出結(jié)果突出的是長時前后反饋一起學(xué)習(xí)所對應(yīng)的詞概率。使用矩陣加法將RNN和BLSTM輸出的同維矩陣相加:
(6)
1.3.1 解碼優(yōu)化Loss
(7)
給定目標(biāo)序列, 可產(chǎn)生多個CTC序列π。用函數(shù)B生成滿足目標(biāo)序列的多對一映射關(guān)系的CTC序列。生成目標(biāo)序列的概率為所有CTC序列的概率和:
按照國務(wù)院和國家稅務(wù)總局的工作部署,廣西梧州市龍圩區(qū)稅務(wù)局積極推進(jìn)“放管服”改革,全面貫徹落實“放管服”改革各項工作。
(8)
其中,B-1(y)={π|B(π)=y}為通過函數(shù)B生成目標(biāo)序列的所有CTC序列集合。
本文方法中,CTC目標(biāo)函數(shù)可定義為:
(9)
使用CTC目標(biāo)作為圖2所示的整個網(wǎng)絡(luò)的訓(xùn)練損失函數(shù),執(zhí)行梯度下降迭代優(yōu)化,實現(xiàn)整個網(wǎng)絡(luò)模型的訓(xùn)練過程。
1.3.2 解碼輸出規(guī)則
解碼采用貪心策略:
(10)
其中,π*為CTC解碼序列。
假設(shè)最優(yōu)序列的最優(yōu)路徑為全局最優(yōu)路徑,選取每一時刻概率最大值所在的索引位,拼接為解碼序列。得到最優(yōu)解碼的CTC序列后,通過B函數(shù)將空白標(biāo)簽和相鄰重復(fù)的序列標(biāo)簽刪除,得到最終的翻譯序列。例如最優(yōu)CTC解碼序列為“C--AAA--TT--”,則翻譯序列為“CAT”。
本文選用常用的連續(xù)手語視頻翻譯數(shù)據(jù)集RWTH-PHOENIX-Weather multi-signer 2014 https://www-i6.informatik.rwth-aachen.de/~koller/RWTH-PHOENIX/[22]。該數(shù)據(jù)集采集于德國手語天氣預(yù)報節(jié)目,由9人演示。其中,訓(xùn)練集包含5 672個德國手語視頻,測試集包含629個視頻。每個手語視頻對應(yīng)一個句子。詳細(xì)信息見表1所列。
本文采用單詞錯誤率 (word error rate, WER)和字錯誤率(character error rate, CER)作為評價指標(biāo)。WER和CER已廣泛地使用在手語識別、語音識別和機(jī)器翻譯等領(lǐng)域。為了評估生成的序列(生成的翻譯句子)和序列標(biāo)簽(句子標(biāo)簽)保持一致的代價,WER(CER)統(tǒng)計進(jìn)行替換、刪除或者插入單詞(字母)的最小操作次數(shù),并除以標(biāo)簽序列中單詞(字母)的總個數(shù),再乘以百分比,即為WER(CER)值,其計算公式如下:
(11)
其中,#sub、#del、#ins分別為插入、刪除、替換操作。CER與WER同理,區(qū)別在于前者是針對單詞操作,后者是評估字母操作。
此外,除了上述對正確單詞(字母)的準(zhǔn)確性評估,本文還引入語義指標(biāo)BLEU和ROUGE-L衡量生成的翻譯句子與句子標(biāo)簽的文本語義相似度。
本文采用標(biāo)準(zhǔn)的C3D網(wǎng)絡(luò)提取視頻特征,依次對每段視頻片段做三維卷積。其中,每8幀取一個視頻片段,滑動窗口為4幀,即鄰接的視頻片段重疊4幀。本文將網(wǎng)絡(luò)的第6層卷積層數(shù)據(jù)作為視頻的特征。特征向量為2 048維。關(guān)于雙路并行的時序?qū)W習(xí)模塊設(shè)置,其中CNN模塊詳解參見1.2.1節(jié)所述。此外,各層卷積后,本文還使用了RELU激活函數(shù)以減少網(wǎng)絡(luò)參數(shù)的相互依賴關(guān)系,緩解過擬合問題的發(fā)生。BLSTM模塊中,設(shè)置隱層個數(shù)設(shè)置為1 024。整體網(wǎng)絡(luò)模型中,學(xué)習(xí)率為0.000 1,采用Adam優(yōu)化函數(shù),使用Dropout[24]方法防止模型過擬合。
2.4.1 2D CNN特征與3D CNN特征對比分析
為了對比C3D兼顧時空特性的特點,本節(jié)選擇GoogLeNet[25]對每幀圖像提取2D CNN特征進(jìn)行對比。由于C3D模型中的滑動窗口為4幀,GoogLeNet特征總數(shù)是C3D特征的4倍。2D特征與3D特征的性能對比見表2所列。
實驗表明3D特征的效果優(yōu)于2D特征。在時序?qū)W習(xí)上,3D CNN特征更緊湊,其綜合了短時鄰接幀時空時序信息,能夠兼顧上下文內(nèi)容,可以更好地耦合時序手語翻譯問題上的時序相關(guān)性。
2.4.2 網(wǎng)絡(luò)與單路網(wǎng)絡(luò)對比實驗
本文提出了一種端對端雙路并行網(wǎng)絡(luò)的連續(xù)手語視頻翻譯模型。為了驗證CNN與BLSTM雙路并行網(wǎng)絡(luò)的有效性,還與僅采用單路CNN網(wǎng)絡(luò)模型和單路BLSTM網(wǎng)絡(luò)分別進(jìn)行對比實驗分析。在相同計算環(huán)境和訓(xùn)練集的條件下,分別獨立訓(xùn)練模型參數(shù),在測試集上實驗結(jié)果見表3、表4所列。
從實驗結(jié)果可知,在字錯誤率和詞錯誤率上,CNN與BLSTM雙路并行網(wǎng)絡(luò)的預(yù)測結(jié)果均優(yōu)于單路網(wǎng)絡(luò),說明不同類型的神經(jīng)網(wǎng)絡(luò)所提取的不同維度的信息具有互補(bǔ)性。CNN模塊強(qiáng)調(diào)時序的局部響應(yīng),RNN更側(cè)重長時傳遞,綜合兩者的信息可以更有效地提高翻譯效果。
2.4.3 與其他手語翻譯方法的對比
為了驗證本文方法的有效性,與現(xiàn)有手語翻譯方向中的典型方法進(jìn)行對比。手語翻譯領(lǐng)域的典型方法有基于隱馬爾可夫模型的時序模型,例如HMM[8];以及嵌入深度神經(jīng)網(wǎng)絡(luò)的模型,例如1-Mio-H[14]。同樣,編碼解碼模型S2VT[17]是解決Seq2Seq問題的經(jīng)典方法。該模型將時序視頻序列輸入到RNN的編碼器中,獲取編碼向量后再利用RNN解碼器進(jìn)行解碼。為了驗證本文的效果,本文還對S2VT模型進(jìn)行拓展,分別采用2層LSTM和3層LSTM作為編碼器,2層LSTM作為解碼器的模型結(jié)構(gòu)。實驗結(jié)果見表5所列。實驗采用WER作為翻譯質(zhì)量指標(biāo)。
從表5可以看出,本文模型比S2VT方法有較大提高。這是由于傳統(tǒng)的編碼解碼模型在處理長序列數(shù)據(jù)時,編碼器要將整個序列信息壓縮進(jìn)一個固定長度的向量中,導(dǎo)致長序列數(shù)據(jù)的時序信息大量丟失。本文基于CTC的解碼策略,執(zhí)行從上至下的語義對齊,不存在對編碼信息的壓縮,能夠更多地保留原有數(shù)據(jù)中的有效信息。同時,使用CTC的端對端網(wǎng)絡(luò)模型還可以實時輸出翻譯結(jié)果。
對比隱馬爾可夫模型及隱馬爾可夫與深度神經(jīng)網(wǎng)絡(luò)結(jié)合的優(yōu)化方法,本文模型也有提高。雖然文獻(xiàn)[14]使用了多次離線迭代優(yōu)化,但HMM基于的齊次隱馬爾可夫假設(shè)和觀測獨立性假設(shè)限制了模型對長序列的學(xué)習(xí)能力。而本文方法僅通過一次訓(xùn)練,從局部和全局的時序關(guān)系中同時學(xué)習(xí),提升了手語句子的翻譯質(zhì)量。
表5 與現(xiàn)有手語翻譯方法的性能對比
手語視頻是由一組在時間上連續(xù)緊密關(guān)聯(lián)的圖像序列。針對手語視頻數(shù)據(jù)的特點,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)CNN和循環(huán)神經(jīng)網(wǎng)絡(luò)RNN并行的雙路時序?qū)W習(xí)網(wǎng)絡(luò)模型,并結(jié)合CTC優(yōu)化實現(xiàn)連續(xù)手語翻譯方法。首先使用3D CNN提取視頻特征,再將提取的視頻特征分別并行通過CNN和RNN模塊學(xué)習(xí)視頻中時序視覺信息,然后將2個模塊所學(xué)習(xí)到的得分矩陣進(jìn)行加法融合,最后通過CTC優(yōu)化整個模型實現(xiàn)翻譯工作。實驗表明,通過并行融合卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)了端對端的網(wǎng)絡(luò)模型優(yōu)化,不僅保證了翻譯準(zhǔn)確率,也顯著提高了算法的速度。進(jìn)一步的工作將針對視頻分割繼續(xù)探尋弱監(jiān)督條件下視頻動作精確切分的優(yōu)化方法。