?

復雜背景下的手勢識別方法

2016-11-09 22:37易靖國程江華庫錫樹
數字技術與應用 2016年9期
關鍵詞:手勢識別BP神經網絡

易靖國 程江華 庫錫樹

摘要:針對基于視覺的手勢識別技術對環境背景要求高的問題,提出了一種利用深度信息進行手勢提取和識別的方法。該方法首先采用Kinect深度攝像頭提供的深度信息和HSV膚色信息分割出手掌區域,并通過映射獲得二維手掌區域的二值圖像;然后在二維手掌區域中采用形態學操作,對手勢圖像進行處理;接著利用Hu矩對手勢特征進行提取。最后采用BP(Back Propagation)神經網絡實現對數字手勢1到10的識別。實驗結果證明該方法可適應復雜背景,且魯棒性和穩定性都比一般的手勢識別方法好。

關鍵詞:Kinect 手勢識別 Hu矩 BP神經網絡

中圖分類號:TP391.9 文獻標識碼:A 文章編號:1007-9416(2016)09-0050-04

Abstract:In light of the problem of the high requirements of environment background in the gesture recognition based on vision, It presents a method of depth information in gesture extraction and recognition. Firstly, this method use the deep information provided by Kinects deep camera and HSV color information to segmented the palm region, and obtain a two-dimensional binary image of the palm region through mapping; Then, we can use morphological operations in the region of two-dimensional palm to processing with gesture images; And then using Hu moments to extract the features of the gesture. Finally, using BP(Back Propagation)neural network for the gesture recognition of digital 1-10. Experimental results demonstrate that the proposed method can be adapted to the complex background, and the robustness and stability are better than the common method of gesture recognition.

Key Words:Kinect;hand gesture recognition;Hu moment;BP neural network

1 引言

手勢具有直觀性、自然性等特點,是實現人機自然交互的重要手段之一[1]。傳統基于數據手套的識別方法通過采集手部關節數據進行手勢提取,構成復雜且成本高昂。隨著計算機視覺技術的發展,基于視覺圖像手勢識別成為一種主流研究方向之一,但該類方法算法復雜,且易受光照、背景、攝像頭特性等多因素影響,識別率不高[2]。

近年來,基于深度圖像的手勢識別正成為人機交互領域中的一個研究和應用熱點。該類方法能夠方便地實現前景與背景的有效分離,在目標識別與追蹤方面有獨特的優勢[3]。李思岑[4]等利用Kinect的深度攝像頭,通過中值濾波進行手勢分割,并用Canny算子提取手勢輪廓,再以之間位置完成之間檢測,從而實現數字手勢1-5的識別。該方法能夠很好的解決手指的移動容易識別錯誤的問題,但隨著手勢數量的增加,造成深度方向可分辨性降低,影響最終的識別效果;羅元[5]等通過在Hu矩的基礎上加入3個表達式,使不變矩包含更多細節特征,從而應用手勢對輪椅進行控制,該方法有效地避免了復雜背景對操作者手勢指令的干擾,使其能方便的控制輪椅,但在識別階段應用的模板匹配方法有時會出現相似模板的干擾,對操作者造成危險;Li[6]通過對不同閾值期間的像素進行聚類分割手勢區域,并根據手指的名稱、個數以及夾角建立三層分類器對手勢進行分類,結合Kinect對手部輪廓的采集。該算法具有較高的識別準確率,但計算量大,不適合對實時性要求較高的手勢識別系統。

綜上所述,本文正是依據Kinect高效且廉價的硬件平臺,獲取的深度信息不受光照、背景等因素的影響,實現復雜背景下的手勢識別。本文結構安排如下:第二節介紹手勢識別方法,第三節對實驗結果進行匯總分析。

2 手勢識別方法

本文提出的基于深度圖像的手勢識別系統流程圖如圖1所示。本文首先利用Kinect采集獲取深度圖像,同時對采集到的深度數據進行形態學處理并保留手勢的邊緣,然后對捕捉到的手部深度數據采用HSV膚色模型進行分割,然后對分割出的手部進行跟蹤,最后選擇具有目標不變性的Hu矩進行特征提取,最后將提取的特征輪廓帶入神經網絡模型,完成最終的手勢識別,該方法能夠大大提高手勢識別系統的穩定性和魯棒性。

2.1 手勢跟蹤

本文基于深度圖像信息對手勢區域進行提取跟蹤,首先根據手心關節點的坐標位置建立一個手部信息的矩陣盒,再將此矩陣盒內的一個手心關節位置開始向鄰域逐個遍歷像素,檢測像素是否屬于手部區域,如果符合,即在二值圖像中置1,循環遍歷所有需要遍歷的鄰域像素,最后得到手掌區域的二值圖像。

2.2 圖像處理

Kinect使用過程中,通常所采集的深度圖像存在著一些噪聲和空洞,這些噪聲和空洞大多存在于目標的邊緣。所以如果直接對獲取的深度圖像進行特征提取,其提取特征的特征值變化可能較大,進而影響識別算法的準確性。所以,在對手勢進行分割后,需要對分割出的手部圖像進行噪聲的濾波與形態學處理,以此為后續識別準確性的提高打下基礎。

2.2.1 濾波處理

常見的高斯濾波等方法算法簡單且方便,但其在減少圖像噪聲的同時,降噪后目標的邊緣產生模糊效應,從而影響后續的工作。本文采用雙邊濾波算法,在保證了平滑效果的同時,又能做到對邊緣信息很好的保存。

2.2.2 圖像形態學處理

圖形形態學出處理包括開運算、閉運算、膨脹、腐蝕和形態學梯度等操作,他們能夠消除噪聲、填充空洞。本文針對獲取的深度圖像含有很多空洞的情況,決定采用膨脹和腐蝕搭配使用以有效地填補凹洞與消除凸包。

2.3 手勢分割

由手勢識別流程圖可以看出,手勢的分割是后續處理的基礎和關鍵。本文在膚色檢測的基礎上利用深度信息實現手勢區域的提取,在分割的過程中,首先利用場景深度信息劃分出有效子空間,然后在該空間內進行膚色分割。Kinect在獲取深度圖像的同時,還獲得了基于RGB顏色空間的彩色圖像。雖然RGB、HSV和YCrCb色彩模型均可用于膚色檢測,但在應對光照、場景環境以及膚色色度等干擾因素的變化時,HSV色彩空間進行膚色分割的性能要明顯的由于另外兩種色彩空間。在HSV顏色空間中,其分量能過很好地反應膚色。為了實現后續對手勢輪廓的有效檢測,本研究通過把Kinect或得的RGB顏色空間的彩色圖像變換到HSV顏色空間,采用基于膚色模型的去噪方法獲得準確的手勢二值圖像。

(2)將分量設置閾值,在中進行閾值判斷。若中任一點的分量值在范圍內,則將對應的點得二值圖像的像素值賦值為1,否則賦值為0,通常取值0.03—0.123。

2.4 特征提取

手勢識別的過程是一個實時的過程,對用戶的動作要求迅速響應,這決定了復雜的特征提取方法對實時手勢識別系統并不適用。在手勢信息采集的過程中,用戶距離攝像頭的位置、不同用戶手形的區別、手勢的位置、姿態均會有一些變化。本文選擇的具有目標不變性的特征提取方式為Hu矩,此方法具有良好的特征,不僅能對不同的手勢進行有效區分,而且能適應環境的改變不同用戶手形的差異和同種手勢的姿態變化,且特征具備旋轉、平移、縮放的不變性。

本文利用Hu矩對十種數字手勢進行特征提取,十種手勢如圖2所示:

2.5 BP神經網絡的手勢識別

手勢識別使用的三層BP網絡的結果如圖3所示,它包含一個輸入層、一個隱含層和一個輸出層。

實現BP神經網路的第一步就是要選定合適的網絡,并設立合理的參數。根據系統模型,本文采用的行為表示特征為Hu矩,表示一個手勢需要7個維向量輸入層節點數目為7,將最小均方誤差設為 0.01。而輸出層的神經元節點數對應輸出向量的某一維,每一個輸出向量代表著一個樣本識別結果,本文共有10種手勢需要識別,所以選擇輸出層節點數為10。表1列出了十種待識別手勢行為的輸出向量。

隱含層神經元節點數目的選取對BP神經網絡的性能至關重要。目前隱層節點數目的選擇沒有有效的準確的確認方法,大多數都是依靠經驗嘗試的方法來估計隱含層節點數目[9],但在估計的過程也可采用隱含層節點公式(10)進行參考。

其中h為隱含層節點數目,i為輸入層節點數目,o表示輸出層節點數目,a為一個1-10之間的常數。根據上述公式計算,隱含層節點數目可取范圍在5-14之間,加上分析不同隱含層數目是網絡訓練效果,最終選定隱含層神經元節點數目為9個。

輸入手勢樣本,每個樣本含有7個Hu矩特征值為輸入層輸入值,通過權值和閾值計算調整,系統收斂,使網絡趨于穩定。因為BP神經網絡是采用梯度修正法來對權值和閾值進行學習,僅考慮預測誤差的負梯度方向,未添加先前積累的數值,造成收斂速度緩慢。利用附加動量因子的方法來調節權值,權值的變化量是由當前誤差曲面的負梯度的變化量與前面一次迭代修正所采納的權值變化量的比例求和得到,其公式為:

(11)

3 實驗結果與分析

本文的實驗環境采用Kinect第二代傳感器作為硬件,攝像頭的分辨率為彩色1080P,運行環境為Window10,Visual Studio 2013,開發語言為C++,在測試系統時,每個手勢采用五幅圖像數據進行擴展,由于Hu矩的旋轉、縮放、平移不變形,分別將原圖像放大1.2倍,縮小0.8倍,旋轉270度和90度得到200幅新的樣本數據,最終選擇200幅圖像進行訓練,50幅圖像用于測試識別。

表2為最終的實驗數據結果,由此可得出基于Hu矩特征的描述方法對本文研究的十種手勢具有良好的描述效果,利用提取出的特征手勢可以由BP神經網絡進行爭取的識別。

4 結語

本文利用膚色在HSV顏色空間中H分量具有較好的區分膚色的特性,結合背景模型,有效的解決了復雜背景下類膚色的干擾。在特征提取方面運用Hu矩對手勢特征進行提取,有效的對不同手勢進行區分而能適應環境的改變、不同用戶手形的差異和同種手勢的姿態變化,結合訓練好的BP神經網絡手勢識別系統,可以運用于智能控制中的實時系統。

參考文獻

[1]Attila L, Tamas S. User-adaptive hand gesture recognition system with interactive training[J]. Image and Vision Computing,2005,23(12):1102-1114.

[2]周航.基于計算機視覺的手勢識別系統研究[D].北京:北京交通大學,2007.

[3]毛雁明,黃立亮.基于Kinect深度信息的手勢分割與識別[J].系統仿真學報,2015,27(4),830-835.

[4]李思岑,王平,張鵬等.基于Kinect深度圖像信息的手勢跟蹤與識別[J].微型機與應用,2015,34(6),53-55.

[5]羅元,謝彧,張毅.基于Kinect傳感器的智能輪椅手勢控制系統的設計與實現[J].機器人,2012, 34(1):110-114.

[6]Li Yi. Hand gesture recognition using Kinect[C]. Proceedings of 2012 IEEE 3rd International Conference on Software Engineering and Service Science, 2012: 1996-199.

[7]Ionescu D, Suse V, Gadea C, et al. An infrared-based depth camera for gesture-baswd control of virtual environments[C]. IEEE International Conference,2013:13-18.

[8]M Hu. Visual pattern recognition by moment invariants[J].IEEE Transaction on Information Theory,1962.8(2):179-187.

[9]高雅靜.人機交互中的手勢識別技術研究[D].西安電子科技大學,2013.

猜你喜歡
手勢識別BP神經網絡
基于手勢識別的工業機器人操作控制方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合