沈燁培 邱金波
(廣東石油化工學院 電子信息工程學院,廣東 茂名 525000)
根據世界衛生組織的報告,全球約有4.66億人遭受聽力損失的困擾,并且預計2050年人數將超過9億人,而我國是世界上聽力語言殘疾人數最多的國家,有聽力語言殘疾人2057萬(2010年)[1]。手語為聽力語言殘疾人與他人交流提供了可能性。本項目引入最新的圖像識別和機器學習技術,對中國手語進行向自然語言的文字和語音形式的轉化,從而實現惠及中國聽力語言殘疾群體的無第三人介入的中國手語翻譯解決方案。
在計算機科學中,手勢識別是通過數學算法來識別人類手勢的一個議題。手勢識別可以來自人的身體各部位的運動,但一般是指臉部和手的運動。識別人的姿勢,步態,行為也是手勢識別的一個分 支[2]。手勢識別可以認為是讓計算機理解人體肢體語言的一種手段。
目前,根據不同的識別方法,手勢識別的輸入設備大多分為以下幾類:手套(Wired Gloves),手語使用者需要佩戴特制的手套對其手指動作進行捕捉;深度感知相機(Depth-aware cameras)[3]主要應用結構光(Structured light)和飛行時間相機(Time-of-flight camera)技術對近距離的手勢進行識別感知。Google I/O 2015上也有使用雷達對手勢進行識別的展示。
從以上文獻調研可知:
手勢識別技術由于作為非接觸人機交互的先進領域得到快速發展,但較為復雜手語的識別并非主流需求,所以直到2019年1月才出現了較大規模的可用于機器學習訓練的連續中國手語數據集[4]。本項目則實現一種無需第三人介入而只需要單一攝像頭的視頻源,基于卷積神經網絡CNN與OpenCV計算機視覺庫的智能中國手語翻譯方案。
手語中的手勢最重要的就是對手指的識別。在手指檢測系統中,首先要解決的問題是如何在視頻采集圖像中分割出手部。一般采用膚色模型來識別出膚色區域,再進行篩選提取手部輪廓[5]。將采集到的圖像從RGB(紅、綠、藍3個通道的像素值)顏色空間轉換到YCbCr顏色空間來建立膚色模型,YCbCr顏色空間通過亮度(Y)、藍色亮度(Cb)與亮度差、紅色亮度(Cr)和亮度差來描述顏色,可以把圖像的亮度通道分離出來,不易受光照影響。
分割出手部后,需要對指尖和掌心的位置進行確認,從而進行骨骼建模,得出單個手語動作。以下是凸包算法的例子[6]。給定平面上的一些點,用最少的點連成一個凸多邊形,使得平面內所有點皆在此多邊形內或此多邊形上,這個凸多邊形就是給定點的二維凸包。最常用的凸包算法是Graham掃描法,主要通過排序、掃描來實現,但是其所需時間較長。一種快速凸包算法,則是利用遞歸的方法逐步排除凸包內部的點。
通常情況下,手語是一連串一起表達的,所謂的動態手勢。基于視覺的動態手勢識別是指用攝像機采集包含動態手勢的視頻圖像序列,然后分析提取圖像序列中的動態手勢,最后由計算機通過一定的模式識別技術對該動態手勢進行識別。
一般CNN(2D-CNN)主要應用在二維的圖像中,在提取空間特征上有著很好的效果,而在處理視頻類的任務中,2D-CNN無法捕捉連續視頻幀中的運動信息,3D-CNN在行為識別中取得的突出成績為手語識別提供了新的思路,基于3D-CNN的手語識別框架,替代了傳統的手動特征提取及HMM建模的識別方法,通過設計CNN整體框架,實現了對手語的時間空間特征提取及有效分類。
本項目中翻譯終端機器附有一個攝像頭。為了實現對手語使用者較為精確的動作捕捉和手勢識別。采用的攝像頭規格應高于最低 規格。
本項目從翻譯終端機器采集的畫面會實時推流到云服務器中進行處理運算,并獲得翻譯的結果。這對服務器的算力要求較高。
從直播推流技術棧的角度來考慮。使用rtmp協議可以采用Ngix+RTMP插件模塊來搭建服務端。其中若選用DSS(Darwin Streaming Server),DSS是Apple公司提供的開源實時流媒體播放服務器程序。采用C++編寫,并且DSS是一個開源,基于標準的流媒體服務器,可以運行在Windows NT和Windows 2000,以及幾個UNIX實現上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系統上。
第一,為了實現視頻的穩定上傳推流需要充足的帶寬。第二,低延遲反饋翻譯結果的基本要求就是要保持視頻傳輸過程的延遲低,做到實時的傳播,避免出現卡頓情況。第三,需要用到負載均衡技術,系統在線診斷技術,同時及時故障處理的技術人員。
綜上所述,采用云服務提供商的直播云服務而不是自行維護云服務器,可以使項目成本顯著下降。