秦夢現(xiàn)
(河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401)
中國是聾啞人口最多的國家,聾啞人由于聽力受損、發(fā)聲不完全等原因,只能用手語與健聽人士進(jìn)行溝通交流。手語由連續(xù)手勢動作組成,指使用手形變化,手的位置、方向以及手臂擺動,再配以口型表達(dá)、面部動作和一定語法規(guī)則表示特定語義,是聾啞人和外界溝通交流的一種語言。然而,聾啞人畢竟是少數(shù)群體,大部分人由于不懂手語而極大影響聾啞人在日常生活中的正常交流及生活。如何減少聾啞人溝通障礙,實現(xiàn)聾健融合是亟待解決的問題。隨著計算機(jī)技術(shù)的快速發(fā)展,自然語言處理技術(shù)正在不斷打破局限,并逐漸應(yīng)用于各相關(guān)領(lǐng)域。在語音識別方面,科大訊飛的語音識別技術(shù)可實現(xiàn)精準(zhǔn)的語音識別,為聾啞人和健聽人之間的正常溝通搭建了良好通道。將聾啞人的手語以文本或語音交互方式反饋到計算機(jī)上的技術(shù)被稱為手語識別技術(shù),該技術(shù)為聾啞人士與健聽人群的交流提供了支持,其在人機(jī)交互、手勢控制和手語教學(xué)等領(lǐng)域具有廣闊的應(yīng)用前景。
手語識別研究是將手語通過計算機(jī)處理翻譯成文字,涉及圖像識別、自然語言處理等多個方向。手語視頻中手臂運動速度、手形變化及口型等信息均對計算機(jī)處理能力有較高要求。計算機(jī)視覺[1]是手語識別技術(shù)的關(guān)鍵技術(shù),其在人工智能的推動下得到快速發(fā)展。近年來,人工智能領(lǐng)域中的深度學(xué)習(xí)受到高度關(guān)注,深度學(xué)習(xí)讓數(shù)以百計的實際問題得到了更好解決,已廣泛應(yīng)用于自然語言處理、人機(jī)交互等領(lǐng)域。隨著數(shù)據(jù)的增長和計算能力的提高,深度神經(jīng)網(wǎng)絡(luò)中數(shù)據(jù)缺少、難以訓(xùn)練等問題正逐步得到解決。目前,以深度學(xué)習(xí)為基礎(chǔ)的計算機(jī)視覺發(fā)展最快且最成熟,其在圖像分類[2]如人臉識別[3]等領(lǐng)域已具有極大優(yōu)勢,在其它方面,比如人體行為檢測、無人駕駛等領(lǐng)域也有了快速發(fā)展。計算機(jī)視覺技術(shù)應(yīng)用廣泛,能夠幫助聾啞人更好地融入社會、認(rèn)識并了解世界。
隨著計算機(jī)技術(shù)和人工智能的不斷發(fā)展,手語識別在國內(nèi)外受到了越來越多的關(guān)注[4]。手語識別方法根據(jù)特征處理方式可分為兩類:基于傳統(tǒng)方法的手語識別[5]和基于深度學(xué)習(xí)的手語識別[6]方法。
基于傳統(tǒng)方法的手語識別算法涉及4 個階段:圖像預(yù)處理、手部分割、特征提取和分類識別。圖像預(yù)處理是為了減小噪聲等因素影響;手部分割是對手語演示過程中的感興趣區(qū)域進(jìn)行定位;特征提取是對能夠表達(dá)手語信息的關(guān)鍵點進(jìn)行采集;識別是根據(jù)提取的特征訓(xùn)練一個分類器,以便對后續(xù)輸入的特征映射到事先設(shè)定好的分類中。其中,特征提取和分類識別是手語識別算法的核心關(guān)鍵(見圖1)。
Fig.1 Sign language recognition process based on the traditional method圖1 基于傳統(tǒng)方法的手語識別流程
2.1.1 圖像預(yù)處理與手部分割
采集到的原始圖像中存在大量噪聲,因此需對圖像進(jìn)行預(yù)處理以減少噪聲干擾,使其突出肢體運動區(qū)域信息。Pansare 等[7]首先將輸入圖像閾值化為二值圖像,然后采用高斯濾波對圖像中的每一個像素點進(jìn)行卷積計算,并加入到原始圖像中進(jìn)行噪聲點覆蓋。但這會造成圖像中的像素點與周圍像素點相似,降低圖像清晰度。因此,Rao 等[8]采用索貝爾算子進(jìn)行邊緣計算,對肢體部分進(jìn)行邊緣銳化,增強(qiáng)圖像關(guān)鍵信息。
分割目的是將手語圖像分割成感興趣區(qū)域和其它區(qū)域,并將感興趣區(qū)域從圖像中分離出來。手語圖像由于膚色和背景存在差異,因此一般采用膚色分割獲得手部這一感興趣區(qū)域。例如,Chen 等[9]在RGB 色彩空間中,使用R>G>B 的規(guī)則進(jìn)行膚色選擇定位,將得到的區(qū)域與預(yù)先存儲的樣本膚色匹配,以找到手部區(qū)域并將其分離。
2.1.2 特征提取
特征是對輸入圖像中的關(guān)鍵信息進(jìn)行描述,為了方便算法對圖像數(shù)據(jù)的處理,將圖像轉(zhuǎn)換成緊湊的特征向量集。在手語識別研究中,一般采用針對圖像空間外觀特征(肢體的輪廓、顏色、紋理、運動方向)的方法進(jìn)行數(shù)據(jù)建模。如Huong 等[10]使用主成分分析(Principal Components Analysis,PCA)對25 個手語類別特征進(jìn)行降維,以加快對樣本有價值信息的處理速度,找到肢體運動的關(guān)鍵特征,達(dá)到91.5%的準(zhǔn)確度。但是,使用PCA 進(jìn)行線性降維后,樣本間的非線性相關(guān)性很可能丟失,導(dǎo)致識別結(jié)果降低。Harwat 等[11]利用二維圖像提取手勢,通過尺度不變特征轉(zhuǎn)換(Scale-Invariant Feature Transform,SIFT)對手部特征點進(jìn)行有效的特征提取,獲得手的形狀、方向等信息,形成對手部這一局部圖像的描述,提升算法魯棒性。
2.1.3 分類識別
分類的主要作用是將樣本數(shù)據(jù)中提取的特征映射到與其對應(yīng)的類別中,這是整個手語識別模型中的最后一步。根據(jù)識別圖像種類不同,可以分為靜態(tài)手語和動態(tài)手語兩類。靜態(tài)手語識別的是單幀圖像,不涉及時間框架。KNN 是常用的分類方法,其核心思想是尋找訓(xùn)練樣本中與其距離最短的K 個樣本。如Gupta 等[12]將KNN 用于對每26 個手勢的30 張測試圖像進(jìn)行分類,總體精度最高達(dá)90%。與靜態(tài)手語分類不同,動態(tài)手語分類增加了時間維度。HMM 由于能夠?qū)R手語幀并計算相似性而被廣泛應(yīng)用,方高林等[13]將自組織映射的強(qiáng)大提取能力和HMM 良好的處理時間序列屬性相結(jié)合,實現(xiàn)非特定人群手語識別,實驗結(jié)果表明,該方法比傳統(tǒng)HMM 識別率高5%。
綜上所述,基于傳統(tǒng)方法的手語識別需根據(jù)經(jīng)驗知識設(shè)計和提取區(qū)分度較強(qiáng)的特征,尤其是在特征提取和分類識別兩個階段,需基于強(qiáng)大的理論基礎(chǔ)知識對其進(jìn)行多次實驗驗證。并且,傳統(tǒng)手語識別方法少,進(jìn)行手工特征提取需耗費大量時間,且多數(shù)用于手語孤立詞[14]的識別,不具有普適性。動態(tài)手語識別需要建立更為可靠的長期時序關(guān)聯(lián)性,這些因素導(dǎo)致手語識別發(fā)展受限。
隨著計算機(jī)性能的大幅度提升,深度學(xué)習(xí)技術(shù)逐漸興起。它能夠避免人工經(jīng)驗特征提取的主觀性及繁瑣性,使得手語識別方向有了新的切入點,有效提高了手語識別率。具體流程如圖2 所示。
Fig.2 Sign language recognition process based on deep learning圖2 基于深度學(xué)習(xí)的手語識別流程
2.2.1 特征提取
隨著深度學(xué)習(xí)在計算機(jī)視覺領(lǐng)域的快速發(fā)展,其在手語識別方面的運用也得到不斷提升。在視頻特征提取方面,卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)[15]在分類、分割等視覺任務(wù)上展現(xiàn)出了強(qiáng)大的能力,尤其是三維卷積神經(jīng)網(wǎng)絡(luò)(3D Convolution Neural Network,3D-CNN)的出現(xiàn),更是促使該方法以高效率、高性能的優(yōu)點逐漸取代了傳統(tǒng)手工特征模型。手語信息由姿勢、運動軌跡、面部表情等組成,這些包含在視頻的時序信息中,3D-CNN 可以對其進(jìn)行較好提取。如Zhu 等[16]利用3D-CNN 提取視頻幀序列的時間和空間特征,充分保證特征的完整性,最終取得了較好識別效果。3D-CNN 通過構(gòu)建一個三維卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)較短時間片段上時空信息的有效學(xué)習(xí),增強(qiáng)了相鄰視頻幀間的連續(xù)性。
2.2.2 手語識別
循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)針對提取的特征建立語言模型,將手語視頻序列翻譯成完整句子。如Ye 等[17]將3D-CNN 的全連接層和RNN 進(jìn)行融合,極大地降低了序列塊之間的信息丟失率。但是RNN 無法解決長時依賴問題,因此Xu 等[18]將提取的特征通過長短期記憶(Long Short-Term Memory,LSTM)進(jìn)行時間關(guān)系學(xué)習(xí),提高了序列時間建模準(zhǔn)確率;Cihan 等[19]在手語識別編碼和解碼階段采用門控循環(huán)單元(Gated Recurrent Unit,GRU),以更好地捕捉時間序列中時間步距離較大的依賴關(guān)系。
此外,手語識別可以看作視頻序列和文本語句序列對應(yīng)的關(guān)系任務(wù)。HMM 可以進(jìn)行連續(xù)時間學(xué)習(xí),如Koller等[20]將CNN 端到端地嵌入到HMM 中,以進(jìn)行良好的時間序列處理,但序列匹配度不高,某一隱藏狀態(tài)對之前隱藏狀態(tài)的依賴程度較大。為了解決此問題,Pu 等[21]通過(Connectionist Temporal Classification,CTC)損失建立不同手語單詞之間的依賴關(guān)系;Huang 等[22]在編解碼器中使用注意力機(jī)制,將輸入序列分配的不同權(quán)重加入到解碼階段進(jìn)行手語識別。
綜上所述,基于深度學(xué)習(xí)的手語識別利用深度學(xué)習(xí)強(qiáng)大的學(xué)習(xí)能力和擬合能力獲取更全面、更抽象的特征,突破了傳統(tǒng)手語識別方法的局限性。但大部分連續(xù)手語識別方法只注重網(wǎng)絡(luò)結(jié)構(gòu)創(chuàng)新,忽略了數(shù)據(jù)本身的優(yōu)化處理,使得模型在輸入階段丟失大量有用信息,增加了識別難度,且對序列內(nèi)部上下文間的關(guān)聯(lián)性關(guān)注度較低,導(dǎo)致序列時序關(guān)系提取不完整等問題。因此,手語識別仍然是一個需深入研究的課題。
隨著計算機(jī)視覺領(lǐng)域的不斷發(fā)展,手語識別研究初顯成效,很多有效算法相繼被提出。但是依然存在一些不足,如輸入階段數(shù)據(jù)較為單一、特征提取到的關(guān)鍵信息較少等。如何在當(dāng)前基礎(chǔ)上進(jìn)一步優(yōu)化模型,最終實現(xiàn)實時手語識別是未來研究方向。此外,不同類型的手語數(shù)據(jù)分布不同,如何將不同的手語數(shù)據(jù)訓(xùn)練成同一分布,以更好地進(jìn)行手語識別也有待深入研究。