廣東石油化工學院電子信息工程學院 冼煜峰 湯 杰 馬遠佳
手語是一種聽力障礙或者無法言語的人互相交流的一種手勢語言,是通過手型變化來傳達信息以取代有聲語言信息從而完成交際交流的重要形式。我國目前手語翻譯職業化剛剛起步,翻譯人員匱乏,尚無法滿足市場需求,故以采用信息技術便利聾啞人群的手語識別相關技術研究變得愈發重要與迫切。而本項目是綜合深度學習、計算機視覺等新型技術開發的一套基于卷積神經網絡的手語孤立詞翻譯系統。在Android系統平臺下實現靜態手語翻譯,人機手語交互等功能。
近來的全國人口普查統計表面,全國大約存在2070萬聽障人士,包括重聽(相對聾人來說,是存在殘余的聽力)、弱聽引申狀況等。根據世界銀行的統計,目前全世界有超過10億人、大概15%的比例為殘疾人,而殘疾人市場也是世界上服務需求確實最大的市場之一。本項目正是基于上述情況,構思設計出一款基于深度學習的手語識別應用,本項目的研發產品主要針對聽力受損人士購物、與健全人交友,后期會針對會對本項目研發的應用的體驗情況進行調研,并進行相應的優化和改進。本項目主要是針對計算機視覺市場。根據去年夏天美國勞工部的一份年度報告顯示,2016年殘疾人的失業率約為10.5%,而健全人士的失業率卻只有為4.6%。同時只有大約十分之一的殘疾人能夠得到輔助性產品的幫助。 為此我們針對這些方面,設計出一款基于深度學習的手語識別應用。本項目主要運用了“計算機視覺”、“手語翻譯”和“卷積神經網絡”等相關技術,從動作、視覺和聽覺三方面與用戶進行人機交互,實現語音翻譯手語、手語翻譯文字等功能,目標是提供人性化、精確化以及智能化的手語翻譯系統。
手語識別是一個在計算機視覺領域里面比較有難度的課題,傳統的手語識別是大多是采用某些智能穿戴傳感設備以及3D體感攝影機(如:Kinect)來進行數據采集。但隨著深度學習在計算機視覺領域的廣泛應用,普通的攝像頭(如手機自帶的攝像頭)開始逐漸成為了計算機視覺識別的主要采集工具。而本項目便是基于深度學習中的卷積神經網絡,利用Android手機自帶的攝像頭采集數據,進行手語孤立詞的識別,實現簡單的手語翻譯系統。
卷積神經網絡(CNN)作為深度神經網絡的一種,其適合于處理圖像識別、信號處理等數學信號之間的樣本操作,被廣泛應用于計算機視覺領域中的識別與認知。本項目采集的手語信息屬于視頻信息,如果利用傳統的二維卷積神經網絡(2DCNN)對視頻信息進行操作的話,一般是對視頻信息中的關鍵幀圖像利用卷積來進行單幀圖像信息的識別,但是這種識別方法缺少考慮到時間維度中的幀間運動信息,而手語信息大多數是連續的一種手勢動作,因此若使用2DCNN則可能導致系統識別實時性不強。
所以為了有效的分析結合手語視頻中的運動信息,可以在CNN卷積層中執行三維卷積核操作,構建三維卷積神經網絡(3DCNN)架構,以便捕獲空間維度和時間維度的特征信息。3D卷積輸入是在三維空間的寬度維度Weight、高度維度Height以及一個與2D卷積不同的額外的深度維度Depth,該架構可以捕獲多個視頻關鍵幀的時間與空間特征,生成多信息通道從而可整合為運動特征信息,作為手語視頻信息的最終特征表示。
TLD(Tracking-Learning-Detection)跟蹤學習檢測算法是一種單目標長時間跟蹤算法,它是將傳統的跟蹤算法與檢測算法相結合的一種算法,常用于解決目標在被跟蹤過程中發生部分遮擋或消失等問題。由于系統觀測只能從正面進行手語觀測,而手語手勢中有許多動作會產生手部的中包括手指的遮擋與重疊,采用TLD算法時在跟蹤模塊中如果發生手部區域在攝像頭視野中消失將可能造成跟蹤失敗,并由算法的檢測模版根據以往檢測和學習到的目標模型,對視頻幀進行全局搜索以定位手部目標可能出現的區域。
本項目系統將使用Android系統APP應用程序作為客戶端實現圖像獲取及其圖像預處理功能。在用戶啟動APP后調用系統攝像頭拍攝手語者手語動作,將這些手勢圖片通過使用OpenCV開源計算機視覺庫框架進行圖像預處理。其中預處理操作包含圖像分割、手勢膚色檢測、圖像二值化和形態學分析等步驟。
圖像分割作為圖像預處理的第一步,需要提取出人體區域去除非目標區域,進而提取出手勢區域。本項目將采用基于HSV彩色空間檢測手部膚色來實現靜態手語手部區域的提取,但在攝像頭采集信息時會采集到人臉部分,由于人臉與人手膚色一致,會造成對手勢區域檢測位置的干擾,因此需要進行人臉識別并將其排除。關于人臉識別,本項目采用的是OpenCV中的人臉檢測庫,通過Haar特征檢測實現對人臉信息的檢測,并將其排除在圖像信息中,實現精準的手勢區域識別。并且由于系統處理的是視頻信息,視頻信息表現為30-180幀的圖像,在數據處理中必須要提取關鍵幀,而本項目采用了SURF加速穩健特征算法來進行特征匹配實現提取關鍵幀。SURF算法是一種改進型的SIFT算法,加入構建了Hessian矩陣,實現更高效的特征提取與描述。
在實際中的視頻圖像數據采集的過程中,需要考慮到多種噪聲影響導致的圖像信息不穩定,如光照等,為了去除噪聲信息的干擾,需要進行圖像的區域增強,降低干擾,所以在圖像預處理要進行圖像平滑處理。本項目選用的圖像平滑方法是基于均值漂移濾波(Mean Shift Filter)算法。均值漂移濾波是一種對空間域區域處理的圖像平滑濾波算法,使任意一點的像素值,都是周圍N×M個像素值的均值,常用于圖像濾波與圖像平滑等場景。
關于手勢區域的檢測通常是采用對于膚色的檢測,同時會通過OpenCV人臉檢測庫中Haar特征提取排除了同樣膚色的人臉信息,在項目膚色檢測使用的是基于HSV顏色空間顏色檢測來提取所需膚色區域。
HSV是根據顏色的直觀特性構建的顏色模型,其顏色空間三種參數分別為色調H(Hue)、飽和度S(Saturation)和明度V(Value),色調代表色彩信息即光譜顏色位置,飽和度代表所選顏色的純度和該顏色最大的純度之間的比率,明度代表顏色的明暗程度。
在圖像處理中將圖像信息轉換成HSV顏色空間,依據顏色信息來判定手勢圖像中的像素點顏色是否為手部的顏色范圍內,并對其進行標記,最終實現按照標記輪廓查找并獲取手勢區域,實現手勢區域的檢測。
在已經提取到手勢區域后,為了便于后續處理與分析,減小圖像的計算數據量,需要對手勢圖像進行二值化處理。圖像二值化是一種基礎的圖像預處理方法,它將彩色圖像轉換成灰度圖,將HSV三通道信息轉換成灰度單通道信息。對于本項目設計而言,將手部膚色區域灰度值設定為255,其他背景區域的灰度值設置為0,從而使圖像顏色信息呈現黑白效果,突出檢測物體的輪廓,便于數據處理。
本項目的類型為軟件開發,客戶端運行在Android手機APP上,服務端使用PythonFlask框架運行在Linux系統云服務器上。模型可通過TensorFlow開源機器學習平臺訓練,使用適用于設備端推斷的開源深度學習框架TensorFlowLite搭建在APP中。
(1)用戶打開軟件進入手語孤立詞翻譯系統,打開手機攝像頭采集手語信息。
(2)將采集到的信息進行預處理后輸入模型中,輸出孤立詞翻譯結構。
(3)軟件文本顯示翻譯出的連續孤立詞,通過用戶對孤立詞的解讀大概可了解所采集手語信息含義,實現簡單的手語翻譯。
系統將采集到的手語圖像進行分割并提取關鍵幀,然后進行圖像平滑、去除非目標區域后進行具體的手勢區域檢測、圖像二值化等圖像預處理方法得到所需圖像數據,最后通過采用TLD目標跟蹤算法與3DCNN結合來進行手語孤立詞的識別翻譯,簡單流程如圖1所示。

圖1 圖像處理及檢測識別流程
測試要注意以下幾點:(1)在明亮且背景不變動的情況下,用攝像頭捕捉手勢是否能實現準確識別。(2)應區分好左右手,保證手勢與訓練時保持基本一致。經過測試,以上效果均可實現。
結論:本文設計了一種搭建在Android手機APP上的基于卷積神經網絡的手語孤立詞翻譯系統,對目前手語識別所使用的算法進行研究與分析。該系統設計只適用于健全人與聽力受損人士的短暫交流,今后可增添更多諸如手語學習、手語3D動畫生成,使APP兼容更多便攜設備等功能,使其雙向交流更為方便、智能,也可使人們學習到更多實用性的手語,可應用于圖書館等特殊場所人們的交流,因此該系統還有很大的拓展空間。