米娜瓦爾·阿不拉,阿里甫·庫爾班,解啟娜,耿麗婷
新疆大學 軟件學院,烏魯木齊830046
手語是進行信息交流的一種有效的肢體語言,手部動作可以傳遞豐富的語義信息。手語作為聾啞人與外界交流的主要方式,在獲取知識、與健聽人交流、提高生活質量等方面不可或缺。因此,在幫助聾啞人融入社會的各個方面中,手語起到至關重要的作用。隨著人們對特殊群體的深入了解,對手語的關注也更為廣泛。與口語相同,每種手語都由成千上萬的單詞組成。手語使用身體不同的部位,如手指、手臂、手部運動軌跡,頭部和面部表情等來傳遞信息[1],是一種結構化的手勢形式。在手語中,每個手勢都有特定的含義,強有力的上下文信息和語法規則也是在手語識別中應要考慮的因素。
手語識別是指利用算法和技術來識別所產生的手勢序列,并以文本或語音的形式闡述其意義[2],其相關識別技術也能應用到其他領域,如智能家居交互[3]、交警指揮識別[4]、人機交互[5]和智能駕駛等。近年來,基于手語識別的研究通常采用深度學習的方式將手勢轉換成文本或語音,創造了一種新的人機交互方式。深度學習作為機器學習的子領域在圖像處理的諸多領域都展現出了更好的成績,其主要目標之一是避免手工提取特征[6]。深度學習方法允許多個處理層的計算模型來學習和表示具有多層次抽象的數據,以模仿人腦機制,并捕獲大規模數據的復雜結構。計算機視覺作為人工智能領域的重要部分,主要任務是對采集的圖片和視頻數據進行處理以獲得關鍵信息,而這種處理方式是通過深度學習方法來實現。由于手語識別是典型的跨學科問題,涉及計算機視覺、自然語言處理、圖像識別、人機交互和模式識別等多個領域[7],且手語詞匯量多,表達方式豐富多樣,語義語法結構復雜,因此手語識別中的挑戰和困難依然存在。
本文對近年來的手語識別方法和技術進行了歸納和梳理。手語識別常用的方法包含動態時間規整[8](Dynamic Time Warping,DTW)算法、隱馬爾可夫模型[9](Hidden Markov Model,HMM)、三維卷積神經網絡[10](3D Convolutional Neural Networks,3D-CNN)和長短期記憶網絡[11](Long Short Term Memory,LSTM)。
手語是一種有效而自然的交流方式,包含視覺運動和手語的結構化手勢形式。根據手語數據獲取方式的不同,手語識別類型可以分為基于傳感器的識別和基于視覺的識別[12]。
數據手套是常見的基于傳感器的設備,廣泛應用于手語識別研究。在早期的手語識別研究中,由于計算機的計算能力較差,實時圖像處理速度受到了限制,因此基于數據手套的識別技術占據了主導地位。數據手套可以捕獲佩戴者的手部關節信息和運動軌跡,通常獲取較高的識別精度。1983年,Grimes等人[13]發明了最早期的數據手套為聾啞人使用。佩戴者單手展示美國手語字母所定義的字符狀態并將數據傳輸至接收設備。1999年,吳江琴等人[14]利用BP神經網絡和學習判定樹的混合方法,使用帶有18個傳感器的CyberGlove數據手套對30個漢語手指字母進行識別。文獻[15]將基于數據手套的識別和基于視覺的識別進行對比,發現基于視覺的手勢跟蹤算法對不同的照明條件和動態背景非常敏感,而基于手套的手勢跟蹤算法不依賴于任何背景和照明條件,其識別精度往往高于基于視覺的手識別精度,且手勢跟蹤算法都是魯棒和有效的。由于數據手套的識別方法成本高、依賴于硬件設備、用戶體驗較差,基于視覺的手語識別方法成為了主流。
基于視覺的手語識別通過攝像頭捕捉手語圖像和視頻,利用算法對連續畫面分析手語動作并識別出手語動作語義信息。該方法是利用圖像處理、深度學習等技術,通過計算機對圖像或視頻中的手語進行分析和處理獲取其特征并利用這些特征進行分類識別的過程。與數據手套不同,利用圖像采集設備進行手語數據采集沒有過多的束縛,并且圖像采集設備成本低廉、容易攜帶,從這一點來說基于視覺的手語識別更有利于推廣和應用。伴隨著科技的進步,可以采集三通道彩色圖像的設備和深度圖像的深度相機逐漸進入圖像識別領域。基于視覺的手語識別交互方式簡單、設備依賴性較低,且符合日常交流。表1將基于傳感器的識別方法和基于數據手套的識別方法進行了比較。本文主要圍繞基于視覺的手語識別方法進行闡述。

表1 基于傳感器和基于視覺方法比較Table 1 Comparison of sensor-based and vision-based approaches
根據手語識別研究方法的不同可分為靜態手語識別和動態手語識別。動態手語識別又可分為孤立詞識別和連續語句識別,其分類如圖1所示。由于手語是一系列動作構成的具有相似特征的快速運動,傳統的靜態手語識別方法很難處理動態手語手部動作中復雜的詞匯表達方式和大幅度的變化。動態手語是在短時間內由動作連接起來的一系列姿勢,其視頻序列既包含時間特征又包含空間特征,在識別過程中需要考慮手部運動軌跡、位置及上下文的語義信息。因此,動態手語識別算法難度比靜態手語識別算法難度大。在動態手語識別方法中,手的形狀變化和快速移動給手語識別帶來了許多挑戰[16]。基于視覺的動態手語識別技術具有靈活性,可擴展性和低成本等特點,相比靜態手語,動態手語詞匯量大,種類多,表達方式豐富,更具有實用性,是當前手語識別研究的熱點。

圖1 手語識別分類圖Fig.1 Sign language recognition classification map
靜態手語識別的研究對象為圖像中手部的外觀特征,對手勢進行特征提取、分類與識別的過程。換言之,靜態手語識別是一種簡單的圖像分類問題,因此一般識別較為準確。通常靜態手語識別的研究是對手語字母的識別,即利用手指的指式狀態代表字母,其難點在于手語圖像會受到光照、背景環境等因素的影響。Amaya和Murray等人[17]提出了基于主成分分析(Principal Component Analysis,PCA)和支持向量機(Support Vector Machine,SVM)的靜態手語識別方法來識別英文中5個元音字母,PCA用于對手部區域進行特征提取,SVM用于分類。Aich等人[18]在自己構建的數據集上使用卷積神經網絡(Convolutional Neural Networks,CNN)來識別孟加拉手語中的36個字符,準確度達到92.7%,但其圖像背景單一,可擴展性不高。Hasan等人[19]利用CNN對美國手語字母進行識別,識別率達到97.62%。
孤立詞識別的識別對象是單獨的詞匯,它由連續時間段的圖像序列組成。相對于連續語句識別,孤立詞視頻較短。1997年,Grobel和Assan等人[20]提出了一種基于HMM的荷蘭孤立詞識別模型,從兩名操作者收集了262個單詞進行實驗。實驗發現,若訓練和測試均只有一名操作者完成,實驗準確率均在90%以上。若一名操作者用于訓練而另一名操作者用于測試,則準確率降至56.2%和47.6%。同時使用兩名操作者對數據集進行訓練可以將準確率提高到91.3%。
對于視頻中存在許多冗余幀問題,Huang等人[21]提出了一種基于關鍵幀為中心剪輯(Keyframe-Centered Clip,KCC)的孤立詞識別方法。該方法將用CNN從RGB視頻流中獲取到的手部關鍵幀的特征信息與深度運動地圖的梯度方向直方圖和骨骼關節的軌跡特征通過多模態KCC特征的特征融合層進行融合。利用LSTM編譯碼網絡對該特征融合層進行聯合訓練,對中國手語數據集中的310個孤立詞進行實驗,實驗結果表明不使用KCC和使用KCC的準確率分別為89.87%和91.18%,同時也證明了該方法優于HMM、DTW、CNN和LSTM。
Liao等人[22]提出了一種結合三維卷積殘差網絡和雙向長短期記憶網絡的BLSTM-3D殘差網絡(B3D ResNet)用于孤立詞識別。利用Faster R-CNN檢測手部,并從背景中分割出手的位置,然后利用雙向長短期記憶網絡(Bi-directional Long Short Term Memory,BLSTM)對輸入圖像序列進行分類,由三維卷積殘差網絡聯合提取空間和時間特征。該方法中,處理的不是整個視頻幀,而是首先定位手部位置并提取其關鍵點信息,然后在此基礎上研究剩余幀的特征信息,這一過程減少了網絡計算時間和復雜性。
連續語句是由一系列手語及手勢產生的有意義的完整句子。現有的大多數連續語句識別技術是將孤立詞作為構建塊,在預處理階段進行孤立詞時間分割,最后進行句子合成。連續語句識別中的挑戰包括將句子標記為單獨的單詞,標記句子的開始與結束,一個動作的結束到下一個動作的開始這一時段的檢測與建模[23]。連續語句識別是一項非常具有挑戰性的任務,其手語詞匯量非常龐大,可組成的手語詞組和語句更是不計其數,且一個視頻序列同時包含了時間特征和空間特征。空間特征是從視頻幀中提取的,而時間特征是通過連續視頻幀獲取語義信息,且不同時序的視頻幀是相關聯的。
Rao等人[24]提出了一種基于人工神經網絡的連續手語識別方法,操作者一手拿著自拍桿,另一只手做手語動作。為了減少噪聲,操作者穿戴黑色衣服,且只有一只手在做手語動作,可擴展性和實用性不高。Ariesta等人[25]提出了一種基于3D-CNN和雙向循環神經網絡(Bi-directional Recurrent Neural Network,BRNN)的連續語句識別模型,3D-CNN從每個視頻幀中提取空間特征,BRNN用于分析特征序列,隨后生成一個可能的句子。Pu等人[26]在CVPR會議上提出了一種基于RGB視頻輸入的連續手語識別的迭代對齊網絡,該網絡模型利用三維卷積殘差網絡(3D-ResNet)和編碼器-解碼器網絡,分別用于特征學習和序列建模。將3D殘差網絡與堆疊擴張CNN和連接主義時態分類(Connectionist Temporal Classification,CTC)相結合,用于特征提取,并在序列特征和文本句子之間進行映射。使用了一種迭代優化策略來克服CTC和CNN參數關聯性差的問題。在使用CTC為視頻剪輯生成一個初始標簽后,對CNN進行微調以完善生成的標簽。在RWTH-PHOENIXWeather數據集的實驗結果表明該模型更具有優越性,其單詞錯誤率(Word Error Rate,WER)降低了1.4%。然而,從連續視頻中識別手語動作并檢測其語義時間位置仍是一個具有挑戰性的問題。
手語識別步驟如圖2和圖3所示。其中,由于動態手語識別需要獲取連續幀之間的上下文信息,因此需要對手部進行跟蹤。本章從圖像預處理、檢測與分割、跟蹤、特征提取、分類等手語識別步驟進行闡述。

圖2 靜態手語識別步驟Fig.2 Steps of static sign language recognition

圖3 動態手語識別步驟Fig.3 Steps of dynamic sign language recognition
手語識別中的輸入數據是通過圖像或視頻采集裝置,如標準攝像機、網絡攝像機、手機、微軟Kinect或Leap Motion傳感器等,將采集到的圖像或視頻傳輸到視覺算法中進行計算,最終得到所需信息。
Leap Motion傳感器和Kinect是一種可以采集深度信息的三維攝像機,是收集手語數據的常用設備。Leap Motion傳感器[27]是2013年發布的深度傳感器,它將信號轉換成計算機指令。作為一種基于手勢的人機交互輸入設備,它能夠準確地檢測手和手指,使用紅外線成像技術實時確定有限空間內預定義目標的位置[28]。Chuan等人[29]利用Leap Motion傳感器收集了美國手語字母表中的26個字母,分別使用K近鄰算法和SVM進行分類。
目前常用的手語數據集,如中國手語數據集(Chinese Sign Language,CSL)是由Kinect[30]設備采集的。Kinect由RGB攝像頭、深度傳感器、紅外線發射器等組成,可實時捕捉顏色和深度信息,并準確地獲得關節位置,因此廣泛應用于許多現有的手語識別方法中。其優勢在于能夠捕捉每個動作,并通過內置的3D傳感相機將其轉換為可用的特征。相較于傳統的三通道彩色圖像,由Kinect獲取的深度圖像可獲取場景中的深度信息,并將其用圖形化表示,每個像素點的灰度值代表物體距離攝像頭的遠近,數值越小表示場景距離伸向頭的距離越近。
在圖像分割和圖像識別領域,一般在訓練模型前需要對數據集圖像進行預處理,這是因為在特征提取時,避免圖像中的噪音等干擾因素很強的信息影響最后的訓練結果、精度和處理時間。常用的圖像預處理方法包括歸一化處理、灰度轉換、平滑濾波處理、降噪以及各種形態學變換等。中值濾波和高斯濾波是減少圖像或視頻噪聲的常用技術。隨著深度學習技術的發展,一些預處理方法已經融合到深度學習模型中。在手語識別研究中,通常在分割前和后續階段會調整輸入圖像大小,以減少計算負載。降低輸入圖像的分辨率也能提高計算效率。文獻[31]對Sobel邊緣檢測、低通濾波、直方圖均衡化、閾值化和去飽和等圖像預處理方法進行了性能分析和比較。實驗表明,當預處理方法僅有去飽和操作組成時,取得了最佳的效果,分類精度可達83.15%。Pansare等人[32]在靜態手語識別中,首先對圖像進行灰度閾值化得到二值圖像,再使用中值濾波和高斯濾波去除噪聲,最后使用形態學操作進行圖像預處理。
手語檢測是檢測圖像中的手部信息,并找出圖像中手部的具體位置。分割是在圖像中分離出手部和其他特征,便于后續操作,有利于減少計算量,提高識別精度。分割方法通常分為兩種,即上下文有關與上下文無關。上下文有關分割考慮到特征之間的空間關系,比如邊緣檢測技術。而上下文無關不考慮空間關系,而是基于全局屬性對像素進行分組。深度學習的崛起給手語分割帶來了新的契機,通過海量的數據來進行訓練,自動學習目標手語特征從而完成目標手語的檢測,通過檢測出來的目標手語完成相應的手語分割。基于深度學習的方法與傳統的識別方法相比,無需人工分析手語特征,使得分割更加便捷,在手語分割方面有較好的應用前景。但也存在一些缺點,部分網絡層次結構復雜,分割速度緩慢,另一方面,部分邊緣信息比較模糊,邊緣檢測精度有待提高。基于膚色的分割是最常用的分割方法。
Yang等人[33]在進行手部檢測時,先利用人臉檢測技術移除臉部區域后,采用基于膚色的檢測方法得到手部輪廓。對于連續手語識別中的時間分割問題,Huang等人[34]提出了一種具有潛在空間的分層注意網絡(LSHAN),該網絡由三部分組成,用于視頻特征表示生成的雙流3D-CNN、用于橋接語義的潛在空間(LS)和基于潛在空間的分層注意網絡(HAN),雙流3D-CNN從視頻中提取全局-局部時空特征,層次關注網絡(HAN)是LSTM的一個擴展,用于將手語映射為文本序列,LS對兩種信息進行整合。LS-HAN巧妙地規避了動態手語不易進行時間分割的難題。
動態手語識別除了進行手部檢測和分割外,還需要對手部進行跟蹤來識別其動態特征。跟蹤是追蹤分割出的手部特征信息與時序上連續的圖像幀信息相對應,以理解觀察到的手部變化。成功的跟蹤可以提高識別精度,從而解釋手部的位置、姿勢或手勢所傳達的語義。手的形狀變化、物體遮擋或背景環境等因素使得手部跟蹤更具有挑戰性。常用的手勢跟蹤算法有粒子濾波[35]、Camshift算法[36]、Meanshift[37]算法、KLT[38]算法等。
Roy等人[39]利用膚色檢測和輪廓提取技術對視頻中的手語進行檢測,然后利用Camshift算法對手部進行跟蹤,最后利用HMM對手語進行分類。Saboo等人[40]進行手部檢測時,首先對人臉進行檢測和移除,然后使用YCbCr顏色空間進行皮膚過濾,三幀差分法用于檢測手的運動。利用基于特征和基于顏色的跟蹤方法實現手勢跟蹤。對KTL算法增加了特征點的數量,大幅減少了手部形狀和照明條件等因素造成的影響。隨后采用基于顏色的Camshift算法對手部邊緣區域進行二次檢測。
將輸入數據中的感興趣部分轉換成特征集稱為特征提取。完成手部分割和跟蹤后,需要提取圖像中的特征信息。特征不但包括時間信息,還包括空間信息。動態手語識別中的特征可以分為局部特征、全局特征和融合特征。局部特征主要提取圖像序列變化較為明顯的局部特征點,主要包括角點、興趣點等,旨在尋找圖像中的對應點和對應區域。全局特征在深度圖像的基礎上提取特征,包括紋理、形狀等,旨在獲取圖像的表征信息。融合特征主要包含全局特征和局部特征兩種。Pankajakshan等人[41]利用灰度轉換和閾值化方法對圖像進行預處理,采用HSV顏色模型對手進行分割,Canny邊緣檢測算法作為圖形特征提取方法。Yasir等人[42]首先對歸一化后的手語圖像采用高斯分布和灰度轉換技術進行預處理,尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)用于從手語圖像中提取特征,對獲取的特征利用K-means算法進行聚類,利用SVM進行分類。基于深度學習的手語識別方法由于強大的自主學習能力無需人工提取特征。
手語分類是對提取的手語時空特征進行分類,是實現手語識別的最后一個階段。用提取到的手語特征信息對測試數據集進行分類和識別。常見的分類方法有DTW、SVM、HMM和基于神經網絡的方法。近年來,基于深度神經網絡的方法在計算機視覺、圖像處理等領域取得了重大突破。因此,基于深度學習的手語識別方法成為了主流。
傳統的識別方法需要針對手語數據集來訓練特定的分類模型,且訓練的數據量有限,不適用于大型數據集,難以推廣和使用。基于深度學習的識別方法由于強大的自主學習能力和自適應性等優點,普遍應用于手語識別領域。深度學習方法可以自動提取圖像特征用于自學習,學習分類強,容錯性高,逐漸成為了研究人員的關注熱點。
DTW算法是基于模板匹配的方法,在手語識別中用于比較參考數據與捕捉的數據之間的相似性。Plouffe等人[43]使用k-Curvate算法在輪廓上定位指尖后,使用DTW算法來選擇手勢候選,并將觀察到的手勢與一系列預先記錄的參考手勢進行比較來識別手勢。對55種靜態和動態手勢的平均識別率為92.4%。但是該方法受數據集大小的限制,在手語數量大、手勢復雜和手語組合的情況下,識別效果和穩定性較差。Gibran等人[44]利用Kinect收集了20個孤立詞,骨架關節點作為輸入計算每個關節位置之間的最小歐氏距離,并利用DTW算法進行分類。Ahmed等人[45]首先利用基于膚色檢測方法對輸入數據進行二值化得到臉部和雙手區域,根據連續幀之間手的方向以及距離幀中心的距離跟蹤手部軌跡,然后基于分析手部位置和人臉中心的變化進行識別,并利用DTW算法計算訓練和測試數據間的相似性。DTW算法沒有采用統計模型框架進行訓練,同時難以聯系上下文的語義信息,因此在解決大數據量、復雜手勢等問題時存在劣勢。
HMM是一種基于貝葉斯的統計模型,主要用于處理基于時間序列或狀態序列的問題。早期HMM在語音識別和手寫字體識別中得到了良好的識別效果。Starner等人[46-47]于1995年提出了一種基于隱馬爾可夫模型的美國手語識別方法。要求操作者在兩只手上戴著不同的彩色手套,對包含40個詞匯的99個測試句子進行實驗。實驗結果表明,該方法的準確率達到90.7%。1998年,他們又提出了基于兩種不同角度的手語識別方法,并使用HMM實現了基于計算機視覺的手語識別。Koller等人[48]將CNN嵌入到HMM中,該框架結合了CNN的強識別能力和HMM的序列建模能力,并在三種連續手語識別數據集上進行了驗證,得到了良好的識別結果。
CNN在許多基于圖像的計算機視覺任務中取得了巨大的成功,并被擴展到視頻識別領域。CNN通過不同通道數的卷積層、池化層等結構盡可能多地提取特征信息,盡量減少人工設計細節,通過監督學習把計算機的計算能力發揮出來,主動尋找合適的特征數據。在機器學習中,CNN是一種深度前饋人工神經網絡,其利用多層感知器的變化來達到最小的預處理,是一種共享權值架構。CNN主要分為一維、二維和三維卷積神經網絡。在手語識別中通常采用二維卷積神經網絡和三維卷積神經網絡。
Kopuklu等人[49]提出了一種分層的雙流CNN模型,通過使用滑動窗口方法對RGB和深度視頻兩種模式的實時手勢檢測和分類進行在線高效運行。其中,輕量級CNN用于檢測手勢,再用深度CNN對檢測到的手勢進行分類。Pigou等人[50]提出一種基于CNN的手語識別方法,在ChaLearn數據集中的20種單詞進行識別,采用兩組不同的輸入數據分別用CNN提取手部特征以及上半身特征。采用滑動窗口法進行時間分割,利用人工神經網絡進行分類。
三維卷積神經網絡提取整個視頻的時空特征,以獲得更全面的信息。3D-CNN通過三維卷積,從空間和時間維度上提取特征信息,從而捕獲多個相鄰幀中手語的運動信息。該模型從輸入幀中生成多個通道的信息,并將各個通道的信息結合起來得到最終的特征表示。Nutisa等人[51]利用Kinect收集了64個泰語孤立詞作為視頻流,并利用3D-CNN作為網絡模型來學習時間和空間特征。Jing等人[52]提出了基于3D-CNN的多通道多模態框架,其中多通道包含顏色、深度和光流信息,多模態包括手勢、面部表情和身體姿勢。
Huang等人[53]提出了一種基于多模態輸入的3DCNN網絡模型,多模態輸入包括顏色、深度和骨架關節點信息。通過對相鄰視頻幀進行卷積和次采樣來集成多模態信息。在自己構建的25個孤立詞數據集上比較了3D-CNN和GMM-HMM模型。實驗結果表明,3D-CNN的準確率達到94.2%,高于傳統的GMM-HMM模型。
RNN在語音識別、機器翻譯、計算機視覺等領域都取得了成功,它的一個顯著的優勢是能處理不同長度的輸入,有效地提取幀間時序特征。LSTM作為RNN的改進,加入了一個用于判斷信息是否有用的處理器,因此LSTM普遍應用于時序分類。LSTM不僅能夠感應手語中的時間變化,而且還能夠學習到手勢變化的對應關系,從而進一步改進手語分類[54]。一些手語動作進行識別時需要較長時間,因此許多研究人員使用LSTM網絡來預測手語的下一步動作。Liu等人[55]提出了以4個骨架關節點的運動軌跡作為輸入的基于LSTM的手語識別模型。Xiao等人[56]提出了基于雙LSTM和一對HMM的手語識別方法用于孤立詞和連續語句識別,其中雙LSTM用于融合手和骨架序列信息,一對HMM用于分類。
基于混合網絡模型的手語識別廣泛應用于動態手語識別領域。其目的是利用各個模型的優點來提高識別精度。Cui等人[57]提出了一種完全基于視頻序列的RNN用于連續手語識別。通過引入RNN進行時空特征和序列學習來解決視頻序列和標簽序列對齊問題。網絡模型由4個部分組成,CNN用于時空表征學習;BLSTM用于學習特征序列與標簽序列的映射;CTC作為對齊方案的目標函數;基于滑動窗口的檢測網絡用于正則化預測序列和檢測結果之間的一致性。
Ye等人[58]提出了三維循環卷積神經網絡(3DRCNN),該模型結合了3D-CNN與全連接循環神經網絡(FC-RNN),其中3D-CNN從顏色、光流和深度通道中學習多模態特征,FC-RNN獲取從原始視頻分割的視頻序列時序信息。
Masood等[59]提出了CNN和RNN混合模型,其中CNN網絡Inception模型用于提取空間特征,RNN用于提取時間特征。該網絡模型使用了兩種不同的方法來對時空特征進行分類,第一種方法中,使用Inception模型提取單個幀的空間特征,使用RNN提取時間特征。然后,每個視頻都由CNN對每個幀的一系列預測來表示。這將作為RNN的輸入。第二種方法中CNN被用來訓練模型的空間特征,并在池化層輸出進行預測之前將池化層輸出傳遞給RNN。得到的結果分別為80.87%和95.21%。
Zhang等人[60]提出了一種基于3D-CNN和卷積LSTM交替融合的神經網絡模型用于動態手勢識別,每個手勢視頻被分割成16個連續幀,再把這些幀序列輸入到三組交替出現的3D-CNN和卷積LSTM中進行多次特征提取和預測,分別在三種數據集上進行了驗證。卷積LSTM是基于卷積運算和LSTM提出的一種網絡結構,它不僅像CNN一樣提取空間特征,還可以像LSTM一樣構建時間序列模型。
Li等人[61]提出了關鍵動作和聯合CTC的連續語句識別模型。首先ResNet用于提取每幀的空間特征,然后用三層BLSTM從手語視頻中提取關鍵動作的特征,逐步獲得從幀到動作,從動作到單詞,從單詞到句子的層次關系。并引入LSTM從目標句中捕獲上下文語義,聯合訓練CTC和LSTM來優化序列對齊和依賴關系。
根據上述提到的手語識別方法,按手語識別三個分支,可以總結出靜態手語識別相關工作如表2所示,孤立詞識別技術及代表性工作如表3所示,基于深度學習的連續語句識別技術及代表性工作如表4所示。

表2 靜態手語識別相關工作Table 2 Summary of static sign language recognition

表3 孤立詞識別相關工作Table 3 Summary of isolated sign language recognition

表4 連續語句識別相關工作Table 4 Summary of continuous sign language recognition
常用的手語數據集如表5所示。其中,CSL和RWTHPHOENIX-Weather是最常用的公開數據集。CSL是由中國科學大學于2015年采用Kinect 2.0錄制的,包括連續語句和孤立詞兩部分,每個實例均包含RGB視頻、深度視頻和骨架關節點坐標序列。孤立詞數據集包含500個單詞,由50名操作者演示5次。連續語句包含100個句子,總時長超過100個小時,詞匯量達178個,每個視頻實例都由一名專業的手語教師進行語義標記。

表5 手語數據集總結Table 5 Summary of sign language datasets
RWTH-PHOENIX-Weather數據集由德國亞琛工業大學錄制,用于德國鳳凰公共電視臺每日新聞及天氣預報節目的手語解說。分別于2012年、2014年錄制,其中2014年版本是對2012年版本的擴充。
中國手語識別主要是在CSL數據集或自制的小型數據集上進行研究。Pu等人[72]在2016年首次將3D-CNN用于中國手語識別。作者提出了一種基于RGB視頻和關節軌跡兩個通道數據的手語識別框架,用于CSL中500個孤立詞的識別。關節軌跡中,關注雙手和肘部4個關節點,形成形狀上下文特征矩陣,利用LeNet進行特征提取。在原始RGB視頻中提取出70×70像素的邊界框的手部區域,使用3D-CNN提取特征。最后,將這兩種特征信息融合起來利用SVM進行分類。
對于連續語句識別中句子分割和單詞對齊問題,Xiao等人[73]提出了雙向時空LSTM融合注意力網絡(Bi-ST-LSTM-A),繞過了序列分割步驟。對于輸入的RGB視頻,使用雙流Faster R-CNN檢測幀圖像中的人臉和手部,分別分析全局運動信息和局部手勢表示,隨后將這兩類信息輸入ST-LSTM進行時空信息融合。注意力機制與Bi-ST-LSTM編解碼框架相結合將特征序列翻譯成文本句子。雖然該方法具有較高的識別精度,但訓練時間較長。
Hu等人[74]提出了一種全局-局部增強網絡(Global-Local Enhancement Network,GLE-Net)用于連續語句識別,并提出了一個關注非手性特征的漢語孤立詞手語數據集(NMFs-CSL)。輸入視頻首先通過幾個卷積層來進行特征提取。全局增強模塊捕獲全局上下文關系,而局部增強模塊用于強調細粒度線索。兩個模塊相互促進,以相互提升。最后,通過這兩個分支的融合進行預測。
美國手語(ASL)是美國和加拿大英語地區聾啞人最常用的語言。Li等人[75]提出了一種新的大型美國孤立詞手語數據集,數據集以互聯網為主要來源,經過嚴格篩選和整理,包含2 000多個單詞,共有20 863個視頻。該數據集有119操作者參與錄制,每個操作者至少演示3次。且在每個視頻中,一個操作者在不同背景下演示同一個單詞,這將極大提高算法的魯棒性。文獻[76]中,作者提出了一種基于游戲的實時美國手語學習應用程序原型。由于ASL字母中同時存在靜態和動態符號(J,Z),因此采用基于輸入序列處理的LSTM和k-近鄰法的分類方法。使用Leap Motion傳感器,通過提取單手的30個特征點來進行識別,準確率為91.82%。但是這項研究有幾個局限性。首先,Leap Motion傳感器的位置、角度和用戶數量會影響模型的準確性。其次,Leap Motion傳感器可以檢測到多個手勢,但該方法僅限于識別一個手勢。最后,該方法只考慮右手樣本和訓練,而實際手語中需要雙手來進行操作。
德國手語識別主要是基于RWTH-PHOENIX-Weather系列數據集進行研究。Cui等人[77]提出了一種基于迭代訓練實現連續手語識別的深度神經框架,采用具有疊加時間融合層的深度CNN作為特征提取模塊,引入BLSTM作為序列學習模塊。將RGB和光流數據融合作為輸入在RWTH-PHOENIX-Weather-2014數據集上的單詞錯誤率為22.86%。Koller等人[78]提出了一種針對視頻流的弱監督學習方法,側重于順序并行學習,在三流HMM中嵌入了CNN-LSTM模型,三流之間具有中間同步約束的弱監督學習機制,三流CNN-LSTM-HMM網絡分別用于學習手語標簽、嘴形和手形特征。使用該方法后WER降低到26.0%。
主要介紹了手語識別中最有代表性的三種手語識別。根據本文所提到的相關工作可以發現隨著深度學習技術的進步,手語識別領域近年來迎來了飛速發展。由于CNN強大的特征提取能力,大多數算法都利用CNN從輸入圖像中提取特征。在視頻輸入的情況下,大多數模型中都使用了RNN和LSTM來學習序列信息。此外,一些模型還結合了兩種或更多的方法,以提高識別精度。同時,模型中還使用了不同類型的輸入數據,如RGB信息、深度信息、骨架關節點、光流信息等。在具體細節方面,攝像機和Kinect正在成為主要的數據獲取方法,HMM和SVM是使用最多的分類方法,CNN也被廣泛應用。
美國手語識別研究主要是以RGB信息為主導。自2015年以來,CSL數據集的出現使中國手語識別迅速發展。中國手語識別近年來大多使用深度信息和RGB信息相結合的方式。德語手語和大多數其他手語主要基于RGB信息進行識別。從連續手語識別研究趨勢的角度來看,RWTH-PHOENIX-Weather數據集目前已成為手語識別領域的標準基準數據集。因該數據集詞匯量大的優勢,德國手語識別研究比較領先。中國手語識別需要考慮的一個問題是,連續語句識別滯后于孤立詞識別,這將是今后的研究重點。然而無論是什么語種的手語研究,都只針對手形和時空特征,缺少對面部表情和身體因素的融合。
手語識別在計算機視覺,人機交互等領域有著廣泛的應用潛力,一直是一項持續的研究熱點。但由于以下原因手語識別的魯棒性和準確性仍待提高:
(1)由于視頻數據比圖像數據規模大且復雜,在有限的GPU內存中難以有效地處理視頻數據。與二維圖像數據相比,視頻數據中增加了時間維度,使識別難度提升。因此動態手語識別比靜態手語識別更有難度和挑戰性。對此,需要在今后的研究中增加模型的上下文語序銜接結構,提高模型聚合時空信息的能力。
(2)大多數現有的數據集均在實驗室環境下錄制,背景比較單一,難以支撐面向實際復雜環境下算法驗證的應用落地。目前大多數手語識別的研究仍停留在使用公開數據集或自制數據集的層面。這種研究方式不具有泛化性,不易于推廣和使用。對此,在今后的研究發展中,需要采集詞匯量大、涉及范圍廣、且在自然環境下錄制的大型連續語句數據集。
(3)在日常手語交流中,除手勢之外,還會使用面部表情、唇形和頭部運動等非手性特征。然而,目前絕大多數手語識別研究只關注手部姿勢和位置移動,而忽略了非手性特征。因此,將手性特征和非手性特征相結合的手語識別將成為這一研究領域的重點。在手語識別中還應關注人臉、身體和手等視覺角度進行多模態集成,提高模型的泛化性。
(4)手部的遮擋、背景環境、不同的光照背景、操作者服裝等因素對識別結果起到了干擾作用,但這些因素與自然環境息息相關。在今后的研究中,手語識別研究應將與自然環境相結合以提高識別的適應性和魯棒性。
(5)嵌入到實際應用中的模型難以應用到低端設備,開發輕量級模型以方便實際使用。在應用方面,深度學習方法已成功地應用于與手語識別領域相關的許多領域,預計不久的將來,手語應用領域不僅會擴展到聾啞人,也會擴展到社會中其他依賴手語作為日常交流中語言交流的補充語言的人。因此,還有很多的改進空間,需要更多的研究和投資。
雖然已有許多模型應用于手語識別,但需要進行進一步的研究來提出精度更高且能實時應用于實際生活的模型。大多數的模型是仍停留在孤立詞手語識別的范疇。然而解決連續手語識別仍存在諸多挑戰,未來在連續手語識別任務中仍有較大提升空間,包括實時進行手語識別、能應用于低端設備、同時關注手性特征和非手性特征的模型。手語識別任務應結合不同領域交叉融合,構建更加輕量、準確、實時的人機交互方式。