雷明煥 何高明
(梧州學院 廣西壯族自治區梧州市 543002)
根據第六次全國人口普查我國總人口數,推算2010年末我國殘疾人總人數8502萬人。其中聽力殘疾2054萬人;言語殘疾130萬人[1]。面對如此巨大的殘疾人基數,我國積極推出政策以幫助殘疾人更快更好融入正常生活,其中科技部著力推進助殘、惠殘產品研發,通過“主動健康和老齡化科技應對”和“生物醫用材料研發與組織器官修復替代”重點專項,部署開展康復輔助器具、人工組織器官修復材料等研發[2]。積極響應國家號召,研究為輔助殘疾人與正常人群之間的簡便手語交流,基于深度學習技術開發設計用于聾啞人輔助的中國標準手語視頻分類方法,構建手語使用者與正常人群體的簡便日常交流方案,意義非凡。手語“你好”語句例圖如圖1所示。

圖1:手語“你好”語句例圖[3]
手語識別分類問題可歸類為連續動作的識別問題,國內外學者對此展開有較多的研究,其中多以穿戴設備方法為主。例如劉闖闖等[4],依靠2個肌電信號采集傳感器和1個六軸陀螺儀傳感器構建姿態數據采集裝置,最終結果為單詞(字)平均識別率97.6%。曹書敏[5],提出了一種基于IMU慣性傳感器的可穿戴設備的手勢識別系統,通過手部動作加速度量識別動作,其實測數據平均識別率為91.75%。Zin Thi Thi等[6],運用深度相機從UV視差圖中提取幀深度信息來定位人,通過DMA(Depth motion appearance)信息來訓練SVM分類器,最終可在120幀的視頻中對單幀動作識別平均識別率為98.3%。梁鵬[7]使用微軟Kinect智能攝像機設備捕獲提取人體骨骼特征,將連續動作序列切割為單幀靜態動作,基于靜態K均值算法對這些特征進行聚類,選擇隱馬爾可夫模型進行姿態識別,最終對四類特定動作的平均識別率為93.75%。閔亞榮等[8],使用多個Kinect構成多角度識別系統,基于人體骨骼特征定位,利用卡爾曼濾波算法對多角度的數據進行融合,結合動態時間規劃算法匹配人物的動作序列。
分析基于硬件的方法,由于其不便捷且高成本的特點,在日常生活中經常難以運用,出于輕量化的需求,研究使用深度學習結合機器視覺方案設計手語動作視頻分類方法。深度學習是新興的機器學習方法,可從有限樣例中,通過算法總結出一般性的規律,并可以應用到新的未知數據上[9]。研究基于tensorflow 2.4開發軟件[10]構建適用于手語視頻分類問題的神經網絡模型,使用經過正確標識的手語視頻數據集對模型進行訓練,訓練后的模型可用于分類特定范圍的手語視頻。
手語視頻數據從中國科學技術大學公開提供的標準中國手語數據集[11]中獲取,選取10種手語語句類別,每類200個樣本構成訓練數據集。該數據集動作標準、拍攝參數設置合理科學,適合于作為手語視頻識別分類問題的訓練集。
1.1.1 數據增強
數據集樣本量偏小,難以滿足模型訓練的需求,需要進行數據增強,讓有限的數據通過人工處理以產生更多的等價數據來擴充訓練數據集。研究在模型訓練數據集中添加了經過尺寸放大及隨機裁剪后的人工數據,這種數據增強方式一方面可以增加樣本量,另一方面又免于產生過多的人為數據噪聲。數據增強例圖如圖2所示。

圖2:數據增強例圖
1.1.2 視頻關鍵幀提取
保證模型需要的固定長度10幀的輸入序列,必要的一步預處理是關鍵幀提取,算法設定一個滑動窗口置于視頻幀序列首,對窗口內的所有幀做幀間差值并提取變化最大的一幀,幀間差值計算效果如圖4所示,然后窗口滑動到下一批次圖像序列,直到整個視頻遍歷完畢,得到關鍵幀序列,通過遞歸調用關鍵幀提取算法,可以得到固定長度10的圖像輸入序列。完整關鍵幀提取算法流程如圖3所示。

圖3:提取關鍵幀流程圖

圖4:幀間差值計算例圖
深度學習視頻分類有多種實現方案,例如:3DCNN網絡、CNN-RNN融合網絡、雙流網絡等。基于輕量化和實時性的需求,選擇較為廣泛運用的CNN-RNN融合網絡方案用以設計手語視頻分類模型。
研究基于MobileNetV2[12]和GRU[13]網絡結構實現融合網絡方案,使用MobileNetV2模塊作為二維圖像特征提取器,使用GRU模塊作為幀序列間特征提取器,在提取到每一幀的信息后用GRU進行連續圖像序列的前后線性和非線性關系串聯分析。
1.2.1 MobileNetV2網絡結構
MobileNetV2是谷歌針對于移動和嵌入式深度學習部署而專門開發的新型CNN網絡,具體結構如表1所示。其提出的新型層結構:具有線性瓶頸的反向殘差(the inverted residual with linear bottleneck),特點是更輕量級和更快速的前向傳播,與其他分類網絡的性能對比如表2所示。

表1:MobileNet模型主體結構

表2:不同主流分類網絡在ImageNet數據集上的圖像分類性能對比
融合網絡使用預訓練過的MobileNetV2,通過tensorflow model zoo獲取在ImageNet(ILSVRC-2012-CLS)數據集上經過預訓練的MobileNetV2網絡,減少原始模型濾波器數至35%,并刪去最后的Softmax層。
1.2.2 GRU網絡結構
GRU是一種用于解決時間序列上前后關鍵點長期依賴問題而提出的RNN網絡,相比一般RNN增加了細胞狀態(cell state)和門機制。細胞狀態用來在相距很遠的時間步中記憶權重參數,使得一些特征能夠跨越極長的時間步產生聯系,選擇GRU可以滿足對手語視頻的時間特征提取需求。GRU節點結構如圖5所示。

圖5:GRU節點結構
1.2.3 MobileNetV2-GRU融合網絡結構
融合網絡結構以固定長度10張的關鍵幀序列作為輸入數據,視頻分類標簽作為輸出。將MobileNetV2置于每一個時間步上作為特征提取器,每次輸入一組10幀的關鍵幀序列,對每一幀進行特征提取得到10個輸出,這10個輸出在每個時間步中分別輸入給雙向GRU網絡,10個時間步過后雙向GRU網絡各輸出一次結果,這個結果經過輸出層得到模型輸出。
softmax多分類輸出層前添加BN(Batch normalization)歸一化層和Dropout層,并在全連接層中使用L2正則化激活函數防止嚴重過擬合問題。融合網絡結構如圖6所示。

圖6:MobileNetV2-GRU融合網絡結構圖
研究采用遷移學習方法對模型進行訓練。第一次訓練鎖定MobileNetV2網絡,開放剩余其余層參數,模型凍結可以有效保存原網絡參數在大數據集上的訓練成果,防止底層通用特征被覆蓋學習造成重復學習。第二次訓練則開放全部參數,對模型整體參數進行微調。遷移學習方法可以有效縮小訓練的時間花費,且使得模型具有更好的泛化能力,不易引起過擬合問題。訓練流程如圖7所示。

圖7:MobileNetV2-GRU融合模型遷移學習流程圖
超參數設定:第一次訓練學習率為0.01、訓練批次為20。第二次訓練學習率為0.0001、訓練批次為60。動態學習率(EarlyStopping)設定為5個批次內精度沒有上升則學習率減少50%,在訓練前期保持較高的學習率從而跳過loss局部最優值,在訓練后期則可以減少學習率得到較小的loss下降步長從而能夠得到整體最優值。兩次訓練中模型的精度以及loss值變化趨勢如圖8和圖9所示。

圖8:MobileNetV2-GRU模型精度

圖9:MobileNetV2-GRU模型loss
使用測試數據集對模型識別分類效果進行驗證,包括10種語句類別,每種樣本量為25,單個視頻時長約為10-13s,使用RGB色域,由11個不同的拍攝者參與制作。驗證結果如表3所示。

表3:MobileNetV2-GRU模型測試集驗證結果
驗證結果顯示模型最低識別精度為0.60,最高識別精度為0.95,平均精度為0.856,說明模型具有一定條件下較好的識別準確率。
對比其他已知相關研究:如王鵬程[14],利用OpenPose進行姿態識別,基于CNN-LSTM融合網絡,構建的舞蹈視頻分類模型,平均精度為0.6859,丁小雪[15]對視頻提取光流信息,利用CNNRNN雙路光流模型對視頻手勢進行識別,平均精度為0.925,周傳[16]提出的基于雙流改進C3D網絡的視頻人物行為分類方法,在UCF101數據集上的平均精度為0.8923。對比結果顯示,雙路GRU-MobileNet融合模型對手語動作視頻有較好的識別精度。
算法精度不僅與模型的精度相關,還依賴于關鍵幀的正確提取。研究采用了基于幀間差值計算的關鍵幀提取算法,該算法可以較為快速準確地識別像素大范圍變動的幀,在識別手語動作變換關鍵幀的問題上該算法可以獲得較準確的結果。
對于時間特征信息的提取采用雙向GRU網絡,雙向GRU網絡將對視頻進行正向和反向的特征識別,從而更易于學習動作變換的前后聯系,應用在手語識別問題上可以得到較為準確的結果。
分析測試數據集的驗證結果表明模型平均精度較好,但是不同類別之間的精度變化區間較大。初步判斷是模型輸入序列過短導致,10幀的關鍵幀序列長度并不能完全提供不同類別視頻之間的差異信息,下一步研究將圍繞調整模型輸入序列角度開展。
(1)研究采用中國科學技術大學公開提供的標準中國手語數據集構建訓練集,對訓練樣本進行關鍵幀提取等預處理步驟,構建MobileNetV2-GRU融合網絡模型進行訓練,獲得了通過視頻進行手語語句分類的手語視頻識別分類模型。
(2)選取由11個不同人員分別拍攝,共計10種別的250個手語語句視頻構建測試集。模型在測試集上的驗證結果為:模型平均精度0.856,平均loss 0.578。結果顯示模型具有較好的檢測精度。