沈先耿+譚志國+周歌+朱海剛



摘 要: 針對復雜環境下多目標手勢區域分割難度較大、識別率較低的問題,提出一種基于深度圖像和稀疏表示的多手勢識別算法。該算法采用膚色和深度圖像分割相結合的方式對圖像中出現的多手勢進行精確分割,再對分割后的手勢圖像進行歸一化處理,最后通過稀疏表示的方法實現手勢識別。實驗結果表明,該算法識別率較高、魯棒性較好,具有良好的識別性能。
關鍵詞: 深度圖像; 稀疏表示; 多目標手勢; 手勢分割; 手勢識別
中圖分類號: TN911.73?34; TP391.4 文獻標識碼: A 文章編號: 1004?373X(2017)13?0044?04
Abstract: Since it is difficult to segment the multi?target gesture region in complex environment, and its recognition rate is low, a multi?gesture recognition algorithm based on depth image and sparse representation is proposed. The method combining skin color with depth image segmentation is adopted in the algorithm to segment the multi?objective gesture appeared in the image accurately. The normalization processing was performed for the segmented gesture image. The sparse representation method is used to recognize the gesture. The experimental results show that the algorithm has high recognition rate, strong robustness and superior recognition performance.
Keywords: depth image; sparse representation; multi?objective gesture; gesture segmentation; gesture recognition
0 引 言
目前,基于視覺的手勢識別[1]成為新一代人機交互的關鍵技術,其中復雜背景下的手勢識別是目前研究的熱點和難點。復雜背景下的手勢識別一般采用膚色模型進行手勢區域的分割,通過這種方法可以有效地區分出膚色和非膚色區域。但是該方法采集到的圖像一般都含有臉部和肢體的膚色區域,部分圖像還含有與膚色相近的背景顏色區域,這些都對手勢區域的提取與識別產生了較大影響。為了解決這個問題,文獻[2]提出一種基于深度圖像的手勢識別算法,但該算法只研究了單個手勢的識別問題,并且只識別了9種基本手勢。為此,本文提出一種基于深度圖像和稀疏表示的手勢識別算法,該算法利用膚色模型和深度圖像信息提取手勢特征區域的表現特征,而后利用稀疏表示的方法對多種手勢進行分類識別。
1 多目標手勢區域的檢測與分割
首先利用Kinect采集目標手勢的RGB圖像和深度圖像,而后利用YCbCr色彩空間對采集的圖像進行膚色檢測。本文采用YCbCr色彩空間中的藍色分量(Cb)和紅色分量(Cr),舍棄亮度分量(Y),從而減少光照對膚色分割的影響。文獻[3]指出膚色分割時在Cb?Cr空間應采用固定閾值進行膚色檢測,其取值范圍在像素區間內滿足:。
通過閾值分割,可以得到多目標手勢的膚色分割圖像,如圖1~圖3所示。
由于在人機交互過程中,人體的手勢動作往往都置于身體之前,通過檢測手勢區域與背景區域的不同深度值可以分割出手勢。一般人體采用單手做手勢,另一只手自然下垂或者離身體較近。通過深度圖像分割,能夠忽略貼近身體的手部區域,并將身體前側手勢區域分割出來。由文獻[4]可知,正常人體的手掌面積大小約為100 cm2,因此在深度圖像中,手勢區域的像素較少。
本文采用深度直方圖來尋找手勢區域與復雜背景的分割閾值。原圖的深度圖像與深度直方圖如圖4和圖5所示。
由文獻[5]可知,手勢區域部位往往離攝像頭的距離較近,且手勢面積相對于背景區域面積較小,因此從深度值由小到大尋找像素點變化,將極小深度值和其旁邊的次小深度值作為分割閾值。由圖5可知,兩手勢區域大約在深度值1 000~1 300和1 800~2 000的范圍內。對圖4的深度圖像分別進行分割,分割后的手勢圖像如圖6和圖7所示。
由于深度圖像中存在噪點和部分未分割區域灰度值為0的黑色,根據經驗,通過分割灰度值在5~250范圍內的圖像并進行二值化處理,得到的手勢圖像如圖8所示。
將兩手勢的分割圖像與膚色分割圖像進行運算,圖像中均為白點的區域判定為白點,其余區域判定為黑點,對得到的手勢圖像進行腐蝕,去掉圖像中的噪點,得到手勢圖像如圖9所示。
2 手勢歸一化
由于多目標手勢距離攝像頭的距離不同,采集到的樣本圖像與手勢庫中的手勢圖像大小不一致,因此需要對圖9得到的手勢分割圖像進行歸一化處理。
(1) 首先通過形態學中的腐蝕操作來獲取手勢區域的中心點。手勢區域中面積最大的部分為手掌區域,并且像素點最為集中,因此可以通過進行連續性的腐蝕操作[6]來消除手勢區域的邊界點,使得手勢區域逐漸縮小,最終得到兩手勢區域的中心點和如圖10所示。
(2) 計算兩手勢區域中心點到手勢邊緣區域的最大值和對手勢區域進行正方形分割,分割的正方形區域中心為兩手勢區域的中心點,正方形的邊長分別為和。假設手勢數據庫中已歸一化的手勢樣本圖像邊長為計算兩手勢樣本的縮放系數和對兩手勢圖像進行縮放,得到的歸一化手勢圖像如圖11所示。
3 稀疏表示分類
本文采用稀疏表示進行手勢的分類識別,該方法具有良好的魯棒性[7]。該方法的基本思想是將所有的手勢樣本圖像構建成一個冗余字典,通過尋找待識別的手勢圖像樣本在冗余字典中的稀疏表示,將手勢識別問題轉換為稀疏表示問題,并運用壓縮感知理論的方法進行求解,得到手勢樣本的所屬類別。
假設是一個由手勢圖像得到的維向量,字典是一個由類訓練樣本,每類訓練樣本中含有個維手勢向量構成的手勢字典,表示為:
式中:表示第類手勢圖像中的第個訓練樣本,因此向量就可以用字典中的元素進行線性表示,可得:
式中:為的表示系數。
若字典中的原子能夠張成維歐式距離空間那么字典就是完備的。當時,如果中的原子是線性相關的,那么就是冗余的。假如集合同時滿足完備和冗余的條件,那么集合就是超完備的。
一般采用范數表示這種稀疏性,滿足以下表達式:
式中:是由組成的向量,表示中非零系數的個數。
由于公式是一個NP難問題,無法直接進行求解,文獻[8]證明該公式的范數與范數是等價的,因此可以將范數轉變成最小化范數問題,即:
通過基追蹤算法求解公式的范數解,得到待測手勢樣本的稀疏表示系數再計算每類訓練樣本的重構圖像與待測樣本的殘差:
通常情況下,在待測樣本的稀疏表示系數中,除了其所屬類別的系數為非零外,其余系數均為零。因此,通過尋找待測樣本與每類訓練樣本重構圖像間殘差的最小值就可以判定待測手勢樣本的所屬類別為殘差最小值對應的所屬類別。
4 算法仿真及結果分析
由于目前還沒有深度手勢圖像數據庫,因此本文采用Thomas Moeslund手勢數據庫作為本文的實驗數據庫。該手勢數據庫中含有25個基本手勢,其中19種手勢含有100張樣本圖像,5種手勢含有40張樣本圖像,1種手勢含有60張樣本圖像,圖像大小為。通過對Thomas Moeslund手勢數據庫中的樣本圖像進行灰度閾值分割和手勢歸一化,得到二值化的手勢樣本數據庫,圖像大小為,如圖12所示。
本次實驗選取手勢樣本數據庫中的19種手勢,每種手勢選取100張圖像作為訓練樣本。通過Kinect獲取19種手勢待測樣本的深度圖像及其對應的RGB圖像,每種手勢各采集50張深度圖像及其對應的RGB圖像。而后隨機選取10種手勢進行實驗,每種手勢分別進行50次,共計500次測試。為了增加實驗對比性,本次實驗加入支持向量機的方法(SVM)進行了相同的測試,實驗結果如表1所示。
從兩種算法的識別率中可以看出,4種手勢的識別率為100%,4種手勢的識別率為98%,2種手勢的識別率在98%以下。由于非特定人物對手勢的表達有所差異,因此會造成手勢識別過程中產生錯誤。但從整體上看,手勢的平均識別率為98.2%,而支持向量機的平均識別率為88.8%,證明了本文算法的有效性。
從兩種算法的運行時間中可以看出,本文算法的平均運行時間為0.032 4 s,由于前期需要對待測樣本的深度圖像和RGB圖像進行手勢分割和歸一化,因而延長了算法的運行時間。但后期采用稀疏表示進行分類識別時,采用的是手勢分割圖像,圖像大小為148×148。與原圖相比,較大幅度地減小了需要處理的樣本數據量,在一定程度上減少了算法的運行時間和對系統硬件的需求。經典的SVM算法的平均運行時間為0.053 2 s,本文算法的運行時間為SVM算法的60.9%,證明了本文算法的實時性。
5 結 語
本文根據復雜背景下的多目標手勢識別存在的難點,綜合利用人的膚色信息和深度圖像信息進行手勢分割,解決了多目標手勢在復雜背景下的手勢分割難度較大的問題,而后利用歸一化后的訓練樣本圖像構造冗余字典,采用稀疏表示的方法進行分類識別,提升了本文算法的運行效率。通過仿真實驗可以看出,本文算法的識別率較高,實時性較好,對系統的硬件需求較低,具有良好的識別性能。
參考文獻
[1] 陳皓,路海明.基于深度圖像的手勢識別綜述[J].內蒙古大學學報,2014,45(1):105?111.
[2] 曹雛清,李瑞峰,趙立軍.基于深度圖像技術的手勢識別方法[J].計算機工程,2012,38(8):16?21.
[3] 張勤.基于稀疏表示的手勢識別研究[D].西安:西北大學,2013.
[4] 皮志明.結合深度信息的圖像分割算法研究[D].合肥:中國科學技術大學,2013.
[5] 王松林.基于Kinect的手勢識別與機器人控制技術研究[D].北京:北京交通大學,2014.
[6] 藍章禮,李益才.數字圖像處理與圖像通信[M].北京:清華大學出版社,2009.
[7] WRIGHT J, GANESH A, YANG A, et al. Robust face recognition via sparse representation [J]. IEEE transactions on pattern analysis and machine intelligence, 2009, 31(2): 210?227.
[8] 謝志鵬.迭代式正交匹配追蹤及稀疏解[J].微電子學與計算機,2009,26(10):53?56.