戴興雨,王衛(wèi)民,梅家俊
(江蘇科技大學(xué)計(jì)算機(jī)學(xué)院,鎮(zhèn)江212003)
據(jù)北京聽力協(xié)會(huì)2017年預(yù)估數(shù)據(jù),我國聽力障礙人士已達(dá)7200萬,其中有2700萬聽障者需通過手語等方式進(jìn)行溝通交流。手語是聽力障礙人士與其他人交流最為重要的方式,但是會(huì)手語的人很少,即便使用手語,也因?yàn)榭床欢终Z而無法正常交流。這對(duì)聽力障礙人士與他人交流造成了極大的障礙。2018年7月1日國家出臺(tái)了通用手語標(biāo)準(zhǔn)[1],這讓聽力障礙人士使用手語與他人交流變得有章可循。因此手語識(shí)別研究有著廣泛的應(yīng)用價(jià)值,對(duì)手語識(shí)別算法的研究有助于提升我國聾健融合的程度和加速國家通用標(biāo)準(zhǔn)手語的推廣進(jìn)程。
本文采用Seq2Seq模型[2][3],實(shí)現(xiàn)視頻幀序列到字序列的轉(zhuǎn)換。對(duì)于手語視頻,采用Incep?tionV3對(duì)視頻中的每幀圖片進(jìn)行特征提取,輸入到Seq2Seq模型的Encoder部分得到視頻的融合特征。一個(gè)詞的手勢(shì)包含起始動(dòng)作、關(guān)鍵動(dòng)作、過渡動(dòng)作、結(jié)束動(dòng)作,在編碼器進(jìn)行特征融合過程中每個(gè)動(dòng)作的權(quán)重是一樣的,針對(duì)這個(gè)問題,本文采用K-means方法提取以及利用人工標(biāo)注的方式從語言學(xué)角度和聽障人群使用的角度標(biāo)注視頻幀的關(guān)鍵幀,將關(guān)鍵幀的融合特征與手語視頻所有幀的融合特征組合起來輸入到Seq2Seq模型的Decoder部分進(jìn)行解碼,使得關(guān)鍵幀占據(jù)更大的權(quán)重,提高手語識(shí)別的準(zhǔn)確率。
從20世紀(jì)60年代以來,研究者就對(duì)手語識(shí)別技術(shù)展開研究[4]。目前手語識(shí)別方法研究大致分為3個(gè)方向:①基于體感設(shè)備的手語識(shí)別。②基于穿戴式設(shè)備的手語識(shí)別。③基于深度學(xué)習(xí)的手語識(shí)別。
隨著計(jì)算機(jī)視覺的發(fā)展,一些研究人員利用體感設(shè)備對(duì)手語的手勢(shì)動(dòng)作進(jìn)行捕捉,并精準(zhǔn)分析進(jìn)而識(shí)別手語。2019年,千承輝、邵晶雅、夏濤、劉懷賓等人[5]利用Kinect設(shè)備獲取人體深度圖像和骨骼特征信息以及利用有限狀態(tài)機(jī)及動(dòng)態(tài)時(shí)間規(guī)整(DTW)實(shí)現(xiàn)手語識(shí)別。2017年,沈娟、王碩、郭丹等人[6]利用Kinect并計(jì)算出手語者的骨架特征表達(dá),并構(gòu)建高斯混合的隱馬爾科夫模型(GMM-HMM)進(jìn)行手語識(shí)別。這種利用體感設(shè)備進(jìn)行手語識(shí)別,需要利用輔助設(shè)備進(jìn)行捕捉手語動(dòng)作,這些設(shè)備價(jià)格不低,而且攜帶不方便,不利于推廣與發(fā)展。在捕捉手語動(dòng)作時(shí)易受光線等環(huán)境因素的影響,對(duì)識(shí)別精度照成較大影響。
基于穿戴式設(shè)備的手語識(shí)別,都是利用硬件設(shè)備通過傳感器技術(shù)獲取手語的手勢(shì)動(dòng)作信息輸入到系統(tǒng),系統(tǒng)根據(jù)輸入的信息識(shí)別手語含義。2015年,呂蕾、張金玲、朱英杰、劉弘等人[7]利用一種可穿戴式的設(shè)備——數(shù)據(jù)手套獲取手語的手勢(shì)特征再與構(gòu)建好的數(shù)據(jù)庫進(jìn)行點(diǎn)集模版匹配進(jìn)行手勢(shì)識(shí)別,實(shí)現(xiàn)在25類手勢(shì)中準(zhǔn)確率達(dá)98.9%。2020年,白旭、郭豆豆、楊學(xué)康、蔣麗珍等人[8]利用智能手語翻譯手套進(jìn)行手語識(shí)別,該智能手語翻譯手套采用基于數(shù)據(jù)手套的手語識(shí)別技術(shù),運(yùn)用低緯度SVM結(jié)合決策樹算法來進(jìn)行手勢(shì)識(shí)別,在SVM的兩類分類器的基礎(chǔ)上加上決策樹算法能夠?qū)崿F(xiàn)多類分類器功能,在不影響識(shí)別率的情況下極大地提高識(shí)別速率。與利用體感設(shè)備一樣,需要借助輔助設(shè)備,利用穿戴式設(shè)備進(jìn)行手語識(shí)別還處于研究階段,這種設(shè)備無法大規(guī)模生產(chǎn),一套設(shè)備非常昂貴,無法在市場(chǎng)普及,而且設(shè)備攜帶不方便,難以推廣。
隨著計(jì)算機(jī)硬件和軟件的不斷更新?lián)Q代,基于深度學(xué)習(xí)的手語識(shí)別得到了極大的發(fā)展。在2017年,Cui等人[9]采用基于連接時(shí)間分類(con?nectionist temporal classification,CTC)的CNNLSTM網(wǎng)絡(luò)模型進(jìn)行連續(xù)手語的識(shí)別。此方法利用CTC對(duì)未分段的時(shí)間序列片段進(jìn)行標(biāo)記,再進(jìn)入CNN-LSTM模型進(jìn)行分類識(shí)別,在一個(gè)大規(guī)模數(shù)據(jù)集上,得到了較好的性能。2020年,羅元、李丹、張毅[10]提出基于基于殘差3D卷積網(wǎng)絡(luò)(Res3DCNN)和卷積長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),關(guān)注手語手勢(shì)中顯著區(qū)域并在時(shí)間上自動(dòng)選擇關(guān)鍵幀,在手語識(shí)別上取得了較好的效果。
為利用深度卷積神經(jīng)網(wǎng)絡(luò)提取單幀圖片的有效特 征,我 們 采 用 了GoogleNet[11]系 列 的Incep?tionV3網(wǎng) 絡(luò) 模 型。InceptionV3是 由InceptionV1、InceptionV2演變而來。
Inception系列網(wǎng)絡(luò)采用模塊化結(jié)構(gòu),設(shè)計(jì)的核心主要在Inception模塊,網(wǎng)絡(luò)設(shè)計(jì)中采用了全局值池化代替全連接層,極大降低了參數(shù)的數(shù)量。在使用時(shí),我們?nèi)コ司W(wǎng)絡(luò)的最后一層。具體InceptionV3的網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。
表1 Inception V3模型結(jié)構(gòu)
圖1 Inception模塊結(jié)構(gòu)
給定的手語視頻V,進(jìn)行按幀切分,分成Im?ages=[Image1,Image2,…,Imagen],其中n是切分的總幀數(shù),Imagej代表第j幀圖片。用InceptionV3對(duì)切分好的所有圖片進(jìn)行特征提取得到f=[feature1,feature2,…,featuren],其中n表示總特征數(shù),fea?turej表示第j幀圖片提取出的特征,得到的f即為該手語視頻的特征。其具體流程如圖2所示。
圖2 手語視頻特征提取過程
對(duì)單個(gè)手語視頻V,首先進(jìn)行按幀切分,對(duì)于每幀圖片按照上述特征提取的方法進(jìn)行特征提取,最終得到手語視頻的特征。具體過程如下:
K-means聚類算法廣泛應(yīng)用在視頻或圖片處理,也是圖片關(guān)鍵幀提取的主要方法之一。其算法思想是將給定的樣本大小,按照樣本之間的距離大小,將樣本集劃分為k個(gè)簇,使得同一個(gè)簇內(nèi)的樣本更緊密連在一起,簇之間距離盡量大一點(diǎn)。假如簇劃分為(C1,C2,…,Ck),那么我們最終的目標(biāo)最小化平方差誤差E:
其中μi是簇Ci的均值向量,也稱為質(zhì)心,其表達(dá)式為:
傳統(tǒng)的K-means提取視頻關(guān)鍵幀的方法是計(jì)算視頻的每幀圖片在像素空間的歐式距離來衡量圖片之前的差異,從而完成圖像聚類[12],而本文對(duì)手語視頻關(guān)鍵幀的提取在手語視頻每幀圖片的特征空間中進(jìn)行聚類,這樣解決了單像素?zé)o法攜帶足夠信息和圖片尺寸大,造成計(jì)算量過大的問題。通過對(duì)大量手語、手勢(shì)的研究發(fā)現(xiàn),絕大多數(shù)手語的關(guān)鍵幀數(shù)不會(huì)超過6幀[12],數(shù)據(jù)集(在4.1節(jié)介紹)中的手語視頻大多包含4~6個(gè)詞,所以將關(guān)鍵幀數(shù)設(shè)定為32,對(duì)于一個(gè)手語視頻V,其特征序列f={feature1,feature2,…,featuren},其中n為視頻序列總幀數(shù),featurei為視頻第i幀圖片提取的特征向量,對(duì)于f采用K-means進(jìn)行提取關(guān)鍵幀。具體算法如下:
(1)從特征序列f中隨機(jī)選擇32個(gè)樣本作為初始的質(zhì)心向量記為μ1,μ2,…,μ32,其中μj(1≤j≤32)為第j類聚類質(zhì)心。
(2)對(duì)于樣本f={feature1,feature2,…,fea?turen}和各個(gè)聚類質(zhì)心μj的歐氏距離:
dij=‖featurei-μi‖,那么featurei到μj(j=1.2…32)的距離記為Di={di1,di2,…,di32},選 取Di中的最小值dij,將featurei歸入第j類。
(3)再對(duì)第j聚類質(zhì)心的所有樣本去均值,重新計(jì)算該類的質(zhì)心。
(4)重復(fù)步驟(2)和(3),直到每次重新計(jì)算的質(zhì)心與原質(zhì)心沒有變化。
最終的μ1,μ2,…,μ32即為提取出的手語視頻關(guān)鍵幀特征。
使用Keras搭建Seq2Seq模型,Seq2Seq模型是RNN最重要的一個(gè)變種:NvsM(輸入與輸出序列長(zhǎng)度不同),這種結(jié)構(gòu)又叫Encoder-Decoder模型。Encoder與Decoder均采用長(zhǎng)短時(shí)記憶卷積神經(jīng)網(wǎng)絡(luò)(long short-term memory networks,LSTM)。將手語視頻關(guān)鍵幀特征序列與手語視頻特征序列分別輸入到Encoder部分進(jìn)行特征融合,將兩部分得到的融合特征組合起來輸入到Decoder部分進(jìn)行解碼,M1,M2,M3為L(zhǎng)STM層。具體手語識(shí)別算法模型如圖3所示。
圖3 Seq2Seq手語識(shí)別算法模型
對(duì)于手語數(shù)據(jù)集,我們采用了中國科學(xué)技術(shù)大學(xué)自制的中國手語數(shù)據(jù)集——CSL。CSL數(shù)據(jù)集是中國科學(xué)技術(shù)大學(xué)從2015年開始自制的中國手語數(shù)據(jù)集,并在2017年公開,里面包含RGB、深度以及骨架關(guān)節(jié)點(diǎn)數(shù)據(jù)。我們選取其中100句中文句子,每句中文對(duì)應(yīng)250個(gè)手語視頻,總計(jì)25000個(gè)樣本的連續(xù)手語數(shù)據(jù)集,如圖4所示。
圖4 手語數(shù)據(jù)集
100句中文句子,每句對(duì)應(yīng)250個(gè)視頻,由50名操作者拍攝,每位操作者重復(fù)5次,手語動(dòng)作由專業(yè)老師指導(dǎo),每個(gè)視頻在5~8秒。視頻內(nèi)容具體情況如圖5所示。
圖5 手語視頻
模型訓(xùn)練好后(迭代訓(xùn)練800輪),與視頻融合特征部分不加入關(guān)鍵幀的融合特征直接進(jìn)行解碼相比,加入關(guān)鍵幀后在精度上有了一定的提升,在測(cè)試集上測(cè)試1000次的情況見表3。
表3 測(cè)試1000次識(shí)別精度
可以看出,在加入了K-means聚類算法提取的關(guān)鍵幀后,識(shí)別精度有了一定的提高。
本文還對(duì)比了訓(xùn)練的迭代次數(shù),實(shí)驗(yàn)結(jié)果如圖,隨著迭代次數(shù)的提高,加入關(guān)鍵幀的模型與不加關(guān)鍵幀的模型在精度上都有很大提高,加入手語視頻關(guān)鍵幀的模型總體要高于不加入手語視頻關(guān)鍵幀的模型。如圖6所示。
圖6 精確度對(duì)比
由實(shí)驗(yàn)結(jié)果看出,使用K-means提取關(guān)鍵幀加入到編碼器的融合特征中,精度上雖有一定的提升,但還是未達(dá)到預(yù)期效果。而且手語識(shí)別時(shí)間增大,原因是K-means提取關(guān)鍵幀存在問題:①K-means涉及大量數(shù)據(jù)的運(yùn)算,收斂較慢,數(shù)據(jù)量過大時(shí),計(jì)算時(shí)間過長(zhǎng)。②經(jīng)過專家打分系統(tǒng)發(fā)現(xiàn)最終得到的聚類質(zhì)心,有一部分質(zhì)心不是關(guān)鍵幀。③同一個(gè)關(guān)鍵手勢(shì)可能會(huì)出現(xiàn)在多個(gè)地方,但是會(huì)被歸為同一個(gè)聚類,丟失了關(guān)鍵幀的時(shí)間序列。
為此,我們更換了關(guān)鍵幀的提取方式,我們使用人工進(jìn)行標(biāo)注每個(gè)手語視頻中每幀關(guān)鍵幀,并用三層深度神經(jīng)網(wǎng)絡(luò)進(jìn)行二分類訓(xùn)練。
對(duì)于手語視頻的關(guān)鍵幀,我們從兩方面進(jìn)行考慮:語言學(xué)角度的關(guān)鍵幀和聽障人群使用的角度的關(guān)鍵幀。
4.1.1 語言學(xué)角度的關(guān)鍵幀
一句中文句子可以分解成多個(gè)詞和字,對(duì)于這句話的語義一般由幾個(gè)關(guān)鍵詞構(gòu)成,我們基于這個(gè)角度采用詞頻-逆文件頻率(term frequencyinverse document frency,TF-IDF)提取每句中文句子中的關(guān)鍵詞。
TF(詞頻)指某個(gè)詞語在當(dāng)前文檔中出現(xiàn)的次數(shù),由于同一詞語在不同文檔中出現(xiàn)的次數(shù)不一樣,且文檔越大,出現(xiàn)的頻率可能就越高,故需要對(duì)詞語進(jìn)行歸一化,計(jì)算公式如下:
IDF(逆文檔頻率)是在詞頻的基礎(chǔ)上,對(duì)每個(gè)詞賦予權(quán)重。如果某個(gè)詞在其他文檔中出現(xiàn)次數(shù)很多,但是在當(dāng)前文檔出現(xiàn)多次,那么應(yīng)該賦予該詞較大的權(quán)重,如果該詞在很多文檔都有出現(xiàn),無法代表當(dāng)前文章的內(nèi)容,那么將賦予該詞較小的權(quán)重,其計(jì)算公式如下:
那么每個(gè)詞最終的權(quán)重(TF-IDF值)即為:
我們將數(shù)據(jù)集中包含的每個(gè)中文句子作為一個(gè)文檔,總計(jì)100個(gè)文檔作為數(shù)據(jù)集,對(duì)每句話使用jieba工具進(jìn)行分詞,然后對(duì)每個(gè)詞對(duì)與對(duì)應(yīng)文檔進(jìn)行TF-IDF值的計(jì)算,提取出每句話中的關(guān)鍵詞。
對(duì)于每句話提取出的關(guān)鍵詞,例如“他的同學(xué)是警察”,最終提取出“同學(xué)”和“警察”兩個(gè)關(guān)鍵詞,我們?cè)谑终Z網(wǎng)查詢了這兩個(gè)詞的手勢(shì)動(dòng)作得知“他”包含一個(gè)關(guān)鍵手勢(shì)(圖7),“同學(xué)”包含兩個(gè)關(guān)鍵手勢(shì)(圖8),然后對(duì)手語視頻中的每幀圖片按這些關(guān)鍵手勢(shì)進(jìn)行標(biāo)注為關(guān)鍵幀。
圖7 手語“他”的關(guān)鍵手勢(shì)
圖8 手語“同學(xué)” 的關(guān)鍵手勢(shì)
我們邀請(qǐng)了學(xué)校的幾位老師以及學(xué)生共10個(gè)人,將我們收集到手語數(shù)據(jù)集中的每一個(gè)視頻進(jìn)行按幀切分,按照中文句子中的關(guān)鍵詞,查詢其對(duì)應(yīng)的關(guān)鍵手勢(shì),對(duì)切分的每張圖片進(jìn)行標(biāo)注是否為關(guān)鍵幀。耗時(shí)半個(gè)月,將收集到的25000手語視頻全部標(biāo)注完成。
4.1.2 聽障人群使用的角度的關(guān)鍵幀
手語是一種視覺語言,表達(dá)時(shí)重于視覺效果。通過對(duì)鎮(zhèn)江市聾啞學(xué)校的學(xué)生進(jìn)行手語交流的觀察發(fā)現(xiàn),當(dāng)他們進(jìn)行交流時(shí),對(duì)于某個(gè)手勢(shì)會(huì)著重表達(dá)甚至反復(fù)做這個(gè)動(dòng)作,主要原因是這些手勢(shì)動(dòng)作存在一些關(guān)鍵動(dòng)作(關(guān)鍵幀),它的正確展示是對(duì)方理解自己手語表達(dá)含義的關(guān)鍵。基于這一理論,我們邀請(qǐng)了5名手語專家(聽障人士)幫助我們對(duì)于現(xiàn)有的手語數(shù)據(jù)集中手語視頻動(dòng)畫按幀標(biāo)準(zhǔn)標(biāo)出了核心關(guān)鍵關(guān)鍵幀。
模型訓(xùn)練好后(迭代訓(xùn)練800輪),對(duì)三種提取關(guān)鍵幀的方式分別進(jìn)行比較,分別在測(cè)試集上測(cè)試1000次的情況見表4。
表4 測(cè)試1000次識(shí)別精度
迭代次數(shù)的對(duì)比如圖9所示。
圖9 精確度對(duì)比
由此可以看出,在本實(shí)驗(yàn)中三種方式在初始200輪迭代中差距不是很大,但是從整體上看,最終的精確度人工標(biāo)注的方式比K-means方式提取的關(guān)鍵幀在效果上更好,而且在訓(xùn)練過程中整體都是由于K-means的。將語言學(xué)角度的關(guān)鍵幀和使用者角度的關(guān)鍵幀對(duì)比,從使用者角度效果更好,可以看出使用者角度提取的關(guān)鍵幀更符合聽障人士在交流時(shí)的關(guān)鍵手勢(shì)。
本文提出基于深度學(xué)習(xí)的手語識(shí)別算法,搭建了Seq2Seq網(wǎng)絡(luò)模型。對(duì)于訓(xùn)練成熟的Seq2Seq模型,將錄制的手語視頻,輸入模型可直接得到手語的中文意思,而且識(shí)別準(zhǔn)確率高,相較于傳統(tǒng)使用數(shù)據(jù)手套或者使用Kinect作為輔助器,成本低。運(yùn)用算法開發(fā)出一款應(yīng)用,可以在各種設(shè)備進(jìn)行識(shí)別操作,方便快捷。
深度學(xué)習(xí)技術(shù)相對(duì)傳統(tǒng)方法而言,與網(wǎng)絡(luò)速度、GPU等硬件性能的關(guān)系更為緊密,計(jì)算機(jī)硬件設(shè)備的更新?lián)Q代及網(wǎng)絡(luò)升級(jí),會(huì)大大縮短從錄制完手語視頻到得出結(jié)果的時(shí)間。深度學(xué)習(xí)技術(shù)還依賴于大量數(shù)據(jù)集,現(xiàn)階段,良好的手語數(shù)據(jù)庫非常匱乏,未來還需要致力于建立良好的手語手語數(shù)據(jù)集,提高手語識(shí)別模型的準(zhǔn)確率與普適性。