付瀟聰,王浩平
(南京理工大學 南京 江蘇210000)
一種基于視覺的手勢識別系統
付瀟聰,王浩平
(南京理工大學 南京 江蘇210000)
本文提出一種基于視覺的手勢識別方法。系統由兩部分組成:分割部分與識別部分。對手掌的分割:采用基于膚色的閾值分割結合YCrCb顏色空間算法,同時能夠去掉人臉、多余的胳膊部分及其他噪聲,得到只包含手掌的二值圖。對手勢的識別:采用二值圖片Hu矩作為手勢特征,利用BP神經網絡對特征進行訓練,最終實現對手指根數及一些特殊手勢的識別。實驗表明,該系統能有效分割手掌部分,達到對靜態手勢95%以上的識別率。
手勢識別;手勢分割;Hu矩;人工神經網絡
隨著計算機技術的迅速發展,人機交互(HMI)在我們的日常生活中扮演者越來越重要的角色。HMI的目的是使人與機器的交流變得更加方便,傳統的人機交互手段有利用鼠標、鍵盤、觸摸屏等,相比較而言,手勢控制是一種更自然的交互方式[1]。
手的檢測和數據獲取是手勢識別系統中第一步也是最重要的一步,檢測結果直接影響識別的準確性。目前主流的手勢獲取方法有兩種,一種是基于數據手套的手勢獲取,另一種為基于視覺的手勢獲取。基于數據手套的設備,例如CyberGlove從上世紀90年代開始流行,被用于獲取手勢動作兵進行實時手勢識別。臺灣大學的Liang利用數據手套識別了71-250個連續手語,識別率達到90%[2],Kisti Grobel and Marcell Assan實現了262個手語詞匯的識別,識別率達到91.3%[3]。但是數據手套及其附屬的連接線會給使用者帶來不便,同時手套的價格對普通消費者來說也較昂貴。而基于視覺的手勢獲取只需要一個攝像頭,研究者主要將精力放在復雜背景中分割手的算法研究,同時需要滿足實時性、準確性和魯棒性等要求。
在分割完成之后,需要對能代表手勢的特征進行提取并用這些特征訓練相應的分類器,常用的分類器有SVM和人工神經網絡等。Q.Chen等人利用Haar-like特征直接訓練分類器,能識別4中特定手勢,識別率達到95%[4],Y.Liu也采用了Haar-like特征,但是將特征用于SVM分類器的訓練,實現了3種不同手勢的識別[5]。使用Haar-like特征的缺點也很明顯,識別手勢數量有限,而且訓練過程較長,一般需要一個星期至一個月進行訓練。人工神經網絡是靜態手勢識別最主流的方法,在[6-8]等文章中都有使用。但是在以上所有文章中,均未提及到當識別區域中出現人臉的去除方法,以及用戶穿短袖時,對胳膊部分的去除。本文主要對這些問題進行研究。
文中所述系統構成如圖1所示。首先從攝像頭獲取視頻流,在圖像預處理過程中,如果檢測到人臉,則將人臉去除,然后將圖片轉換為二值圖。在手勢分割過程中,去除多余的胳膊及其他噪聲,僅保留感興趣的手掌部分。最后提取手勢特征值,放入預先準備好的分類器中,實現手勢識別。

圖1 系統總體結構圖
手勢分割是指將有意義的手勢區域從包含手勢的圖像或者視頻流中提取出來的過程,本文采用顏色空間結合幾何特征的方法實現手勢分割。將直接由攝像頭獲取的RGB類型圖像轉換到YCrCb顏色空間,分別在3個通道進行膚色提取,提取完之后將圖像進行二值化處理,尋找手勢輪廓作為識別的輸入值,最后去除噪聲。
人臉去除的前提是人臉和手沒有重疊部分,在二值圖中,人臉與拳頭的外形類似,所以人臉去除要在顏色空間轉換之前進行。我們采用Viola-Jones方法[9,12]檢測人臉,包含以下 3個步驟:
1)利用Haar-like特征和積分圖對人臉特征進行提取,形成弱分類器,Haar-like特征如圖2所示。

圖2 一組Haar-like特征
2)選擇正確率高于50%的若分類器,利用Adaboost將其級聯成強分類器;
3)對強分類器級聯。
Viola-Jones人臉檢測方法由OpenCV直接提供,在進行人臉檢測之后,將人臉區域及其周圍膚色區域去除即可,這樣人臉區域不會出現在背景提取過程中。
背景提取的作用是有效地將手從背景中提取出來,研究[10-11]表明,YCrCb顏色空間具有將色度和亮度分離的特點,對膚色的聚類特性比較好,受亮度變化的影響小,可以很好的區分人的膚色區域。通過[10]中的測試數據可以知道,若取閾值77≤Cb≤127,133≤Cr≤177,能夠最有效地包含膚色區域。
YCrCb顏色空間與RGB顏色空間的轉換可以表示為:

對一些小的類膚色物體,可以通過比較其面積大小將其去除。至此,背景提取后的結果可下一步的處理。
在背景提取過程中,我們采用膚色特征將手從環境中分割出來,但是當胳膊出現在視頻中時,僅采用膚色特征不能將其去除,則會影響識別效果,為此本文提出一種基于幾何關系方法,將胳膊與手掌分割,如圖3所示。

圖3 手掌分割
各變量定義如下:
ABCD:被提取膚色區域最小外接矩形;
darm:胳膊長度;
圓O:被提取膚色區域最大內切圓;
r:圓O半徑;
d:圓心O到AB的距離;
dhand:手掌長度。
最小外接矩形的計算由OpenCV提供。為計算區域的最大內切圓,首先畫出區域的輪廓,然后計算出區域內每一點到輪廓的最小距離,在所有距離中,最大的值為最大內切圓的半徑,對應的點即為內切圓圓心。整個過程的計算時間非常長,因為計算次數為區域內像素個數乘以輪廓上的像素個數。為加速計算過程,我們在區域內每M個點取一個點,并在輪廓上每N個點取一個點,這樣能加速M*N倍。經測試,本文取M=10,N=5,能同時保證計算速度與精度。
假設每個點坐標為:A(xa,ya),B(xb,yb),C(xc,yc),D(xd,yd),O(xo,yo),通過圖3中幾何關系,可得到:

矩形ABNM為去除胳膊后的手掌區域,點M(xm,ym),N(xn,yn)可以在 dhand 的基礎上計算:

本模塊在手勢分割的基礎上,求出二值化圖像的Hu矩特征作為手勢特征,同時構建了三層BP神經網絡,將Hu矩特征值作為神經網絡的輸入,進行訓練。
矩特征[13]由Hu在1962年提出,主要表征了圖像區域的幾何特征,由于具有旋轉、平移、尺度等特性的不變特征,所以又被稱為不變矩(Invariant moments)。
針對于一幅數字圖像,可以將像素坐標看成一個二維隨機變量 f(x,y),(p+q)階普通矩和中心矩分別為:

當圖像發生變化時,mpq也發生變化,而μpq則具有平移不變形但對旋轉依然敏感。直接用普通矩或中心距進行特征表示,不能使特征同時具有平移、旋轉和比例不變性。如果利用歸一化中心距,則特征不僅具有平移不變性,而且還具有比例不變性。歸一化中心矩定義為:

可以得到Hu矩的表達式:

作為一種非線性、自組織、自適應系統,人工神經網絡是判斷靜態手勢很合適的分類器,而在各種神經網絡中[14-15],應用最多并且最成功的是多層前饋網絡,其中典型代表是采用反向傳播(BP)的多層前饋網絡。前饋神經網絡分為不同層,后一層的輸入只與前一層的輸出有關,第一層為輸入層,最后一層為輸出層,這兩層直接與外界聯系,稱為可見層,其他中間層稱為隱藏層。這種三層或三層以上的神經網絡稱為多層前饋神經網絡。三層前饋神經網絡結構示意如圖4所示。

圖4 三層前饋神經網絡
文中以手勢圖像的7個Hu矩特征作為神經網絡的輸入,選取隱藏層節點數為10,輸出層節點數根據需要選取,這里選取8個,包含手指根數(0-5),以及兩個特殊手勢,以驗證系統對靜態手勢識別的準確性,和對更多手勢的可擴展性。
文中所描述系統均在Linux下實現,設備內存為4G,處理器為Intel Core i5-2520MCPU@2.5GHz x 4,使用OpenCV庫,版本為OpenCV2.4.9.
文中使用OpenCV人臉檢測器,一旦檢測到,則將人臉部分及其周圍膚色區域像素值置為0。人臉去除的效果如圖5所示。

圖5 包含人臉及去除人臉后的二值圖
去除胳膊部分的效果如圖6所示。外圈矩形為最小外接矩形,圓為最大內切圓,外接矩形中間線段為手掌與胳膊的分割線。通過設置手掌部分為感興趣區域(ROI),可以將胳膊去除。多次實驗表明,對不同的手勢,該方法均能將手掌準確分割出來。

圖6 包含胳膊及去除胳膊后的二值圖
文中一共選取了8種不同手勢,包括手指根數(0-5)和兩個自定義手勢(spock,lizard),以表明本系統對任何自定義手勢的可擴展性。識別結果如圖7所示。

圖7 手勢識別結果
對每一種手勢,我們選取了200組數據作為神經網絡的訓練數據。訓練完成后,由5個測試者對每種手勢進行20組測試,結果如表1所示。

表1 手勢識別測試結果
在對5個測試者進行的共800次試驗中,得到本系統手勢識別平均正確率為96.25%。
每個模塊消耗時間如表2所示。

表2 系統各部分耗時
神經網絡的訓練在程序開始時即完成,不會影響后續識別的效率。當視頻中沒有出現胳膊時,識別的平均時間為23.4 ms,當有胳膊時,如2.3中所述,求外接矩形和內切圓會消耗一定時間,識別平均時間為45.6 ms,此時,系統幀率大于20FPS,仍能滿足實時性要求。
文中介紹了一種基于視覺的手勢識別系統,能夠識別視頻中手勢表示的數字及一些特殊手勢,在保證識別正確率的同時,滿足實時性要求。與其他系統相比,加入了去除人臉及胳膊的功能,減少了手勢識別系統使用的局限性。與此同時,系統也存在一定缺陷,例如在光線較亮或者較暗的環境中識別率有所降低,這是所有基于視覺系統的共同問題,也是作者以后的重點研究方向。
參考文獻:
[1]R.Pradipa,Ms S.Kavitha.Hand gesture recognition-analysis of various techniques,methods and their algorithm [J].International Journal of Innovation Research in Science Engineering and Technology,2014(3):2003-2009.
[2]R.Liang,M.Ouhyoung.A real-time continuous gesture recognition system for sign language[J].Automatic Face and Gesture Recognition,1998(3):558-567.
[3] K.Grobel,M.Assan. Isolated sign language recognition using hidded Markov models[J].Proc of the Int’1 Conf of System, Man and Cybernetics,IEEE System,Man and Cybernetics Society,1997(5):162-167.
[4]Qing Chen,Nicolas D.Georganas,Emil M.Petriu.Real-time vision-based hand gesture recognition using haar-like features[J].Instrumentation and Measurement Technology Conference Proceedings,2007(1):1-4.
[5]S.Paul,Md.Abu Shahab Mollah,Rajibuzzaman,et al.Hand gesture recognition by artificial neural network[J].International Conference on Mechanical,Industrial and Materials and Engineering,2013(1):105-109.
[6]Shweta K.Yewale.Artificial neural network approach for hand gesture recognition[J].International Journal of Engineering Science and Technology,2011,3(4):2603-2606.
[7]H.Hasan,S.Abdul-Kareem.Static hand gesture recognition using neural network [J].Artificial Intelligence,2014(41):147-181.
[8]Liu Yun,Zhang Peng.An automatic hand gesture recognition system based on viola-jones method and SVMs[J].Second International Workshop on Computer Science and Engineering,2009(2):72-75.
[9]Hui-ShyYong Yeo,Byung-Gook Lee,Hyotaek Lim.Hand tracking and gesture recognition system for human-computer interaction using low-cost hardware[J].Mul timed Tools Appl,2015(74):2687-2715.
[10]Chai D,Ngan KN.Face segmentation using skincolor map in videophone applications [J].IEEE Trans Circ Syst Video Tech,1999,9(4):551-564.[11]Mahmoud TM.A new fast skin color detection technique[J].Proceedings of World Academy of Science,2008(45):501-505.
[12]P.Viola,M.Jones.Robust real time face detection[J].InternationalJournalofComputerVision,2004,57(2):137-154.
[13]M.K Hu.Visual pattern recognition by moment invariant [J].IRE Transaction on Information Theory,1962(8):179-182.
[14]Y.F.Admasu,K.Raimond.Ethiopian sign language recognition using Artificial Neural Network[J].International Conference on Intelligent Systems Design and Applications,2011(1):995-1000.
[15]T.Bouchrika,M.Zaied.Neural solutions to interact with computers by hand gesture recognition[J].Multimedia Tools&Applications,2013,72(3):1-27.
A vision-based hand gesture recognition system
FU Xiao-cong,WANG Hao-ping
(Nanjing University of Science&Technology,Nanjing 210000,China)
In this article,a vision-based hand gesture recognition system is proposed.The system consists of two modules:the segmentation part and the recognition part.In the segmentation part,a detection method based on skin color is used.This method is also able to segment human face,arm and other small skin-color-liked noise and keep only the palm.In the recognition part,the Hu moments are used as features of hand's binary image.Then we apply the artificial neural network (ANN)to do the training and final recognition.A series of experiments are tested on the system,and we have more than 95%accuracy.
hand gesture recognition;hand segmentation; Hu moment; artificial neural network
TP-9
A
1674-6236(2017)17-0026-05
2016-09-01稿件編號:201609010
付瀟聰(1992—),男,江蘇南通人,碩士。研究方向:計算機視覺。