李成武 高宇玥
摘 要:手語(yǔ)是聾啞人群最常使用的交流方式,但因?yàn)槭终Z(yǔ)的普及程度較低,聾啞人與普通人之間交流有很大障礙。本文利用Keras 構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)框架實(shí)現(xiàn)對(duì)手語(yǔ)圖像的識(shí)別,通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)將語(yǔ)音轉(zhuǎn)為對(duì)應(yīng)的手語(yǔ)視頻輸出。手語(yǔ)的自動(dòng)化識(shí)別能夠使手語(yǔ)使用者更加便利地與外界進(jìn)行溝通,不懂手語(yǔ)的人也可以和聾啞人正常、順利地交流。
關(guān)鍵詞:手語(yǔ) Keras 卷積神經(jīng)網(wǎng)絡(luò) 循環(huán)神經(jīng)網(wǎng)絡(luò)
一、引言
最新資料統(tǒng)計(jì)說(shuō)明,我國(guó)聽(tīng)力語(yǔ)言殘疾居視力殘疾、肢殘、智殘等五大殘疾之首,為2057萬(wàn)人,占中國(guó)總?cè)丝跀?shù)的1.67%,其中七歲以下兒童約為80萬(wàn)人。手語(yǔ)是聽(tīng)障人之間溝通的主要方式,由手型、動(dòng)作、表情及姿勢(shì)等構(gòu)成的一套手語(yǔ)交流體系。但健聽(tīng)人多數(shù)不懂手語(yǔ),手語(yǔ)溝通障礙造成了社會(huì)勞動(dòng)力的較大浪費(fèi)。目前,中國(guó)殘聯(lián)出臺(tái)了手語(yǔ)統(tǒng)一標(biāo)準(zhǔn),這使得聾啞人與健全人之間順利交流變得有章可循,手語(yǔ)翻譯技術(shù)具有廣泛的應(yīng)用價(jià)值。開(kāi)發(fā)手語(yǔ)識(shí)別系統(tǒng)有助于聾啞人融入社會(huì),也有助于加速?lài)?guó)家通用手語(yǔ)的推廣進(jìn)程。
過(guò)去手語(yǔ)識(shí)別的研究主要依賴(lài)于各種可穿戴傳感器,如顏色手套、數(shù)據(jù)手套等?;跀?shù)據(jù)手套的手語(yǔ)識(shí)別準(zhǔn)確率較高,但設(shè)備昂貴、攜帶不便,難以普及和推廣。深度學(xué)習(xí)的快速發(fā)展加速了基于視覺(jué)的手語(yǔ)識(shí)別應(yīng)用。本文通過(guò)設(shè)計(jì)手語(yǔ)識(shí)別框架,基于卷積神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)手語(yǔ)識(shí)別。
二、系統(tǒng)總體設(shè)計(jì)方案
基于深度學(xué)習(xí)的手語(yǔ)學(xué)習(xí)系統(tǒng)分為四個(gè)部分:手勢(shì)圖像采集、圖像信息的提取與識(shí)別、語(yǔ)音識(shí)別、手語(yǔ)視頻輸出?!笆謩?shì)圖像采集”模塊主要完成對(duì)手語(yǔ)動(dòng)作的采集,并將采集到的圖像信息發(fā)送到NVIDIA JETSON TX2平臺(tái)。再由“圖像信息的提取與識(shí)別”模塊利用神經(jīng)網(wǎng)絡(luò)的卷積層提取手部特征并通過(guò)全連接層進(jìn)行識(shí)別。這樣就使得正常人能理解聾啞人手語(yǔ)的含義。“語(yǔ)音識(shí)別”模塊將正常人輸入的語(yǔ)音轉(zhuǎn)化為文本,然后通過(guò)“手語(yǔ)視頻輸出”模塊將語(yǔ)音識(shí)別出來(lái)的文本轉(zhuǎn)化為對(duì)應(yīng)的手語(yǔ)視頻輸出(圖1)。這樣聾啞人就能理解正常人想要表達(dá)的意思。那么,不懂手語(yǔ)的正常人和聾啞人之間的交流變得輕松而簡(jiǎn)單。
三、數(shù)據(jù)集構(gòu)建和預(yù)處理
手語(yǔ)信息以視頻的形式錄入,錄入相同手勢(shì)不同角度下的視頻。錄入完成后,以幀為單位將錄入的視頻轉(zhuǎn)換成圖片保存在同一目錄的不同文件夾中,每個(gè)文件包括相同詞義的數(shù)據(jù),并確定其含義。目前,數(shù)據(jù)集包含50個(gè)不同手勢(shì),每個(gè)手勢(shì)100張圖片,共5000張圖片。其中訓(xùn)練集共4000張圖片,每個(gè)手勢(shì)80張;測(cè)試集共1000張圖片,每個(gè)手勢(shì)20張。
數(shù)據(jù)集構(gòu)建完成后需要對(duì)訓(xùn)練集進(jìn)行預(yù)處理,利用OPENCV捕捉視頻幀,根據(jù)背景差分法分割出前景目標(biāo),并通過(guò)膚色檢測(cè)模型輸出只有手部區(qū)域的二值圖像。為了增加模型的魯棒性,本文使用Keras框架中的ImageDataGenerator對(duì)視頻幀進(jìn)行隨機(jī)裁剪、水平翻轉(zhuǎn)、隨機(jī)旋轉(zhuǎn)角度、尺寸縮放等操作。
四、神經(jīng)網(wǎng)絡(luò)訓(xùn)練
因?yàn)槭终Z(yǔ)訓(xùn)練數(shù)據(jù)有限,所以本文采用遷移學(xué)習(xí)的方法完成手語(yǔ)手勢(shì)的識(shí)別。相比于A(yíng)lexNet ,VGG-16結(jié)構(gòu)簡(jiǎn)單,卷積核全部替換為3×3(極少用了1×1),池化核全部使用2×2。參數(shù)量大,大部分參數(shù)集中在全連接層中。網(wǎng)絡(luò)名稱(chēng)中有16表示它有16層conv/fc層。本文采用VGG-16作為預(yù)訓(xùn)練模型。
本系統(tǒng)遷移學(xué)習(xí)的具體步驟為:
1.構(gòu)建VGG-16模型;
2.加載VGG-16模型參數(shù);
3.將網(wǎng)絡(luò)最后一層卷積層前面的參數(shù)固定,不參與訓(xùn)練,即設(shè)置參數(shù)為trainable=False;
4.在最后一層卷積層的后面加上一個(gè)隱藏層為1024的全連接層;
5.修改softmax層的輸出,因?yàn)楸疚氖褂玫臄?shù)據(jù)集共有50種手勢(shì),所以將softmax的輸出設(shè)為50。softmax層計(jì)算公式如下:
其中,Xj表示第j個(gè)輸出,K代表總分類(lèi)數(shù),softmax層的輸出代表樣本X屬于第j個(gè)分類(lèi)的概率。
將4000張圖片順序打亂分為50批(batch),即每個(gè)batch有80張圖片,然后訓(xùn)練50輪(epoch),并將訓(xùn)練好的模型參數(shù)保存在本地。雖然訓(xùn)練時(shí)間較長(zhǎng),但是這樣可以保證每個(gè)手勢(shì)識(shí)別正確率的增加和應(yīng)對(duì)不同狀況下兩手勢(shì)發(fā)生的意外重合。
五、語(yǔ)音識(shí)別
近幾年,不少專(zhuān)家和學(xué)者都在語(yǔ)音識(shí)別任務(wù)中嘗試了注意力模型。但是截至目前,注意力模型在在線(xiàn)語(yǔ)音服務(wù)中的大規(guī)模使用,一直鮮有成功案例。究其原因,是因?yàn)檎Z(yǔ)音識(shí)別的注意力模型存在兩個(gè)問(wèn)題:一是流式解碼的問(wèn)題。傳統(tǒng)的注意力模型大都是基于整句的建模,比較有代表性的是谷歌的LAS模型。如果在線(xiàn)語(yǔ)音識(shí)別采用整句注意力建模,這就客觀(guān)上要求語(yǔ)音都上傳到服務(wù)器后,才能開(kāi)始聲學(xué)打分計(jì)算和解碼,這樣勢(shì)必引入較長(zhǎng)的用戶(hù)等待時(shí)間,影響用戶(hù)體驗(yàn),同時(shí)也沒(méi)辦法完成實(shí)時(shí)語(yǔ)音交互的任務(wù)。二是長(zhǎng)句建模的精度下降問(wèn)題。傳統(tǒng)注意力模型的核心思想是基于整句的全局信息,通過(guò)機(jī)器學(xué)習(xí)的方法,選擇出和當(dāng)前建模單元最匹配的特征。句子越長(zhǎng),進(jìn)行特征選擇的難度越大。出錯(cuò)的概率越高,錯(cuò)誤前后傳導(dǎo)的概率也越高。
本文語(yǔ)音識(shí)別模塊是采用百度語(yǔ)音識(shí)別API來(lái)實(shí)現(xiàn)的。百度語(yǔ)音識(shí)別所采用的模型解決了傳統(tǒng)注意力模型不能進(jìn)行流建模和解碼的問(wèn)題,并且依靠截?cái)啵瑢?shí)現(xiàn)了對(duì)長(zhǎng)句子的高精準(zhǔn)的注意力建模,同時(shí)也解決了CTC模型的插入或刪除錯(cuò)誤對(duì)注意力模型的影響。接下來(lái)對(duì)百度語(yǔ)音識(shí)別采用的模型即流式多級(jí)的截?cái)嘧⒁饬δP停⊿MLTA)進(jìn)行簡(jiǎn)略介紹。
SMLTA模型使用CTC(一種語(yǔ)音識(shí)別算法)的尖峰信息對(duì)連續(xù)語(yǔ)音流進(jìn)行截?cái)?,然后在每一個(gè)截?cái)嗟恼Z(yǔ)音小段上進(jìn)行當(dāng)前建模單元的注意力建模。這樣把原來(lái)的全局的整句Attention建模,變成了局部語(yǔ)音小段的Attention的建模。同時(shí),為了克服CTC模型不可避免的插入刪除錯(cuò)誤對(duì)系統(tǒng)造成的影響,該算法引入一種特殊的多級(jí)Attention機(jī)制,實(shí)現(xiàn)特征層層遞進(jìn)的更精準(zhǔn)的特征選擇。
最終,這種創(chuàng)新的建模方法識(shí)別率不但超越了傳統(tǒng)的全局Attention建模,同時(shí)還能夠保持計(jì)算量、解碼速度等在線(xiàn)資源耗費(fèi)和傳統(tǒng)CTC模型持平。
六、手語(yǔ)手勢(shì)識(shí)別與輸出
系統(tǒng)操作界面有四個(gè)功能選項(xiàng),分別為獲取手勢(shì)、識(shí)別手勢(shì)、學(xué)習(xí)手勢(shì)、操作提示。
系統(tǒng)啟動(dòng)后打開(kāi)攝像頭獲取手勢(shì)視頻,錄制的手勢(shì)視頻保存在手勢(shì)視頻文件夾中,并將視頻逐幀轉(zhuǎn)為成一張一張的圖片保存在手勢(shì)圖片文件夾下,方便后續(xù)預(yù)處理操作。
將手勢(shì)圖片文件夾下的手勢(shì)圖片送入已訓(xùn)練好的CNN模型進(jìn)行手勢(shì)識(shí)別,判斷手勢(shì)動(dòng)作代表的詞義,將其與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),匹配出相同詞義的手勢(shì)圖片后輸出,并將詞義打印在顯示結(jié)果處。
正常人利用麥克輸入一個(gè)詞或一段話(huà)的音頻信號(hào),通過(guò)語(yǔ)音識(shí)別模塊翻譯成文本。翻譯好的文本經(jīng)過(guò)分詞后會(huì)和數(shù)據(jù)庫(kù)中保存的各手勢(shì)詞義進(jìn)行比對(duì),匹配成功的手勢(shì)將從數(shù)據(jù)庫(kù)中輸出對(duì)應(yīng)的視頻文件給用戶(hù),以供學(xué)習(xí)。
七、實(shí)驗(yàn)與結(jié)論
本文使用的實(shí)驗(yàn)環(huán)境為: NVIDIA JETSON TX2 開(kāi)發(fā)板,Ubuntu 16.04操作系統(tǒng),TensorFlow1.13。
隨機(jī)選取5種手勢(shì)對(duì)系統(tǒng)進(jìn)行測(cè)試試驗(yàn)。實(shí)驗(yàn)中,每種手勢(shì)由5個(gè)實(shí)驗(yàn)者各做10次,共得到250個(gè)手勢(shì)視頻片段,系統(tǒng)對(duì)這250個(gè)視頻片段進(jìn)行手勢(shì)識(shí)別,識(shí)別結(jié)果如表1所示。
表中各種手勢(shì)的平均識(shí)別率為89. 6%,試驗(yàn)結(jié)果表明,本文的手識(shí)別方法具有較高的精確度。但系統(tǒng)可以識(shí)別的手勢(shì)種類(lèi)較少,因此,下一步的工作將增加手勢(shì)的種類(lèi),并為了實(shí)際需求將加入動(dòng)態(tài)手語(yǔ)識(shí)別。
參考文獻(xiàn)
[1]王麗光,張根源,劉子龍.基于單目視覺(jué)的實(shí)時(shí)手語(yǔ)識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2017,30(3):131.
[2]李亞麗,王敏,李靜.遷移學(xué)習(xí)的研究現(xiàn)狀[J].時(shí)代教育,2014,09(169):222.
[3]BG大龍.【專(zhuān)題知識(shí)】詳解經(jīng)典CNN結(jié)構(gòu)—VGGNet原理[EB/OL].https://zhuanlan.zhihu.com/p/79258431,2019-08-25.
[4]洞察網(wǎng).百度提出截?cái)嘧⒁饬δP蚐MLTA,第一個(gè)注意力模型的語(yǔ)音大規(guī)模上線(xiàn)[EB/OL].https://tech.china.com/article/20190116/kejiyuan1205235862.html?qq-pf-to=pcqq.c2c,2019-01-16.
[5]曉坤、思源.超越整句的流式多級(jí)Attention:解密百度輸入法背后的語(yǔ)音識(shí)別模型[EB/OL].https://zhuanlan.zhihu.com/p/55330861,2019-01-20.