付瀟聰,王浩平
(南京理工大學(xué) 南京 江蘇210000)
一種基于視覺的手勢(shì)識(shí)別系統(tǒng)
付瀟聰,王浩平
(南京理工大學(xué) 南京 江蘇210000)
本文提出一種基于視覺的手勢(shì)識(shí)別方法。系統(tǒng)由兩部分組成:分割部分與識(shí)別部分。對(duì)手掌的分割:采用基于膚色的閾值分割結(jié)合YCrCb顏色空間算法,同時(shí)能夠去掉人臉、多余的胳膊部分及其他噪聲,得到只包含手掌的二值圖。對(duì)手勢(shì)的識(shí)別:采用二值圖片Hu矩作為手勢(shì)特征,利用BP神經(jīng)網(wǎng)絡(luò)對(duì)特征進(jìn)行訓(xùn)練,最終實(shí)現(xiàn)對(duì)手指根數(shù)及一些特殊手勢(shì)的識(shí)別。實(shí)驗(yàn)表明,該系統(tǒng)能有效分割手掌部分,達(dá)到對(duì)靜態(tài)手勢(shì)95%以上的識(shí)別率。
手勢(shì)識(shí)別;手勢(shì)分割;Hu矩;人工神經(jīng)網(wǎng)絡(luò)
隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,人機(jī)交互(HMI)在我們的日常生活中扮演者越來越重要的角色。HMI的目的是使人與機(jī)器的交流變得更加方便,傳統(tǒng)的人機(jī)交互手段有利用鼠標(biāo)、鍵盤、觸摸屏等,相比較而言,手勢(shì)控制是一種更自然的交互方式[1]。
手的檢測(cè)和數(shù)據(jù)獲取是手勢(shì)識(shí)別系統(tǒng)中第一步也是最重要的一步,檢測(cè)結(jié)果直接影響識(shí)別的準(zhǔn)確性。目前主流的手勢(shì)獲取方法有兩種,一種是基于數(shù)據(jù)手套的手勢(shì)獲取,另一種為基于視覺的手勢(shì)獲取?;跀?shù)據(jù)手套的設(shè)備,例如CyberGlove從上世紀(jì)90年代開始流行,被用于獲取手勢(shì)動(dòng)作兵進(jìn)行實(shí)時(shí)手勢(shì)識(shí)別。臺(tái)灣大學(xué)的Liang利用數(shù)據(jù)手套識(shí)別了71-250個(gè)連續(xù)手語,識(shí)別率達(dá)到90%[2],Kisti Grobel and Marcell Assan實(shí)現(xiàn)了262個(gè)手語詞匯的識(shí)別,識(shí)別率達(dá)到91.3%[3]。但是數(shù)據(jù)手套及其附屬的連接線會(huì)給使用者帶來不便,同時(shí)手套的價(jià)格對(duì)普通消費(fèi)者來說也較昂貴。而基于視覺的手勢(shì)獲取只需要一個(gè)攝像頭,研究者主要將精力放在復(fù)雜背景中分割手的算法研究,同時(shí)需要滿足實(shí)時(shí)性、準(zhǔn)確性和魯棒性等要求。
在分割完成之后,需要對(duì)能代表手勢(shì)的特征進(jìn)行提取并用這些特征訓(xùn)練相應(yīng)的分類器,常用的分類器有SVM和人工神經(jīng)網(wǎng)絡(luò)等。Q.Chen等人利用Haar-like特征直接訓(xùn)練分類器,能識(shí)別4中特定手勢(shì),識(shí)別率達(dá)到95%[4],Y.Liu也采用了Haar-like特征,但是將特征用于SVM分類器的訓(xùn)練,實(shí)現(xiàn)了3種不同手勢(shì)的識(shí)別[5]。使用Haar-like特征的缺點(diǎn)也很明顯,識(shí)別手勢(shì)數(shù)量有限,而且訓(xùn)練過程較長(zhǎng),一般需要一個(gè)星期至一個(gè)月進(jìn)行訓(xùn)練。人工神經(jīng)網(wǎng)絡(luò)是靜態(tài)手勢(shì)識(shí)別最主流的方法,在[6-8]等文章中都有使用。但是在以上所有文章中,均未提及到當(dāng)識(shí)別區(qū)域中出現(xiàn)人臉的去除方法,以及用戶穿短袖時(shí),對(duì)胳膊部分的去除。本文主要對(duì)這些問題進(jìn)行研究。
文中所述系統(tǒng)構(gòu)成如圖1所示。首先從攝像頭獲取視頻流,在圖像預(yù)處理過程中,如果檢測(cè)到人臉,則將人臉去除,然后將圖片轉(zhuǎn)換為二值圖。在手勢(shì)分割過程中,去除多余的胳膊及其他噪聲,僅保留感興趣的手掌部分。最后提取手勢(shì)特征值,放入預(yù)先準(zhǔn)備好的分類器中,實(shí)現(xiàn)手勢(shì)識(shí)別。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
手勢(shì)分割是指將有意義的手勢(shì)區(qū)域從包含手勢(shì)的圖像或者視頻流中提取出來的過程,本文采用顏色空間結(jié)合幾何特征的方法實(shí)現(xiàn)手勢(shì)分割。將直接由攝像頭獲取的RGB類型圖像轉(zhuǎn)換到Y(jié)CrCb顏色空間,分別在3個(gè)通道進(jìn)行膚色提取,提取完之后將圖像進(jìn)行二值化處理,尋找手勢(shì)輪廓作為識(shí)別的輸入值,最后去除噪聲。
人臉去除的前提是人臉和手沒有重疊部分,在二值圖中,人臉與拳頭的外形類似,所以人臉去除要在顏色空間轉(zhuǎn)換之前進(jìn)行。我們采用Viola-Jones方法[9,12]檢測(cè)人臉,包含以下 3個(gè)步驟:
1)利用Haar-like特征和積分圖對(duì)人臉特征進(jìn)行提取,形成弱分類器,Haar-like特征如圖2所示。
圖2 一組Haar-like特征
2)選擇正確率高于50%的若分類器,利用Adaboost將其級(jí)聯(lián)成強(qiáng)分類器;
3)對(duì)強(qiáng)分類器級(jí)聯(lián)。
Viola-Jones人臉檢測(cè)方法由OpenCV直接提供,在進(jìn)行人臉檢測(cè)之后,將人臉區(qū)域及其周圍膚色區(qū)域去除即可,這樣人臉區(qū)域不會(huì)出現(xiàn)在背景提取過程中。
背景提取的作用是有效地將手從背景中提取出來,研究[10-11]表明,YCrCb顏色空間具有將色度和亮度分離的特點(diǎn),對(duì)膚色的聚類特性比較好,受亮度變化的影響小,可以很好的區(qū)分人的膚色區(qū)域。通過[10]中的測(cè)試數(shù)據(jù)可以知道,若取閾值77≤Cb≤127,133≤Cr≤177,能夠最有效地包含膚色區(qū)域。
YCrCb顏色空間與RGB顏色空間的轉(zhuǎn)換可以表示為:
對(duì)一些小的類膚色物體,可以通過比較其面積大小將其去除。至此,背景提取后的結(jié)果可下一步的處理。
在背景提取過程中,我們采用膚色特征將手從環(huán)境中分割出來,但是當(dāng)胳膊出現(xiàn)在視頻中時(shí),僅采用膚色特征不能將其去除,則會(huì)影響識(shí)別效果,為此本文提出一種基于幾何關(guān)系方法,將胳膊與手掌分割,如圖3所示。
圖3 手掌分割
各變量定義如下:
ABCD:被提取膚色區(qū)域最小外接矩形;
darm:胳膊長(zhǎng)度;
圓O:被提取膚色區(qū)域最大內(nèi)切圓;
r:圓O半徑;
d:圓心O到AB的距離;
dhand:手掌長(zhǎng)度。
最小外接矩形的計(jì)算由OpenCV提供。為計(jì)算區(qū)域的最大內(nèi)切圓,首先畫出區(qū)域的輪廓,然后計(jì)算出區(qū)域內(nèi)每一點(diǎn)到輪廓的最小距離,在所有距離中,最大的值為最大內(nèi)切圓的半徑,對(duì)應(yīng)的點(diǎn)即為內(nèi)切圓圓心。整個(gè)過程的計(jì)算時(shí)間非常長(zhǎng),因?yàn)橛?jì)算次數(shù)為區(qū)域內(nèi)像素個(gè)數(shù)乘以輪廓上的像素個(gè)數(shù)。為加速計(jì)算過程,我們?cè)趨^(qū)域內(nèi)每M個(gè)點(diǎn)取一個(gè)點(diǎn),并在輪廓上每N個(gè)點(diǎn)取一個(gè)點(diǎn),這樣能加速M(fèi)*N倍。經(jīng)測(cè)試,本文取M=10,N=5,能同時(shí)保證計(jì)算速度與精度。
假設(shè)每個(gè)點(diǎn)坐標(biāo)為:A(xa,ya),B(xb,yb),C(xc,yc),D(xd,yd),O(xo,yo),通過圖3中幾何關(guān)系,可得到:
矩形ABNM為去除胳膊后的手掌區(qū)域,點(diǎn)M(xm,ym),N(xn,yn)可以在 dhand 的基礎(chǔ)上計(jì)算:
本模塊在手勢(shì)分割的基礎(chǔ)上,求出二值化圖像的Hu矩特征作為手勢(shì)特征,同時(shí)構(gòu)建了三層BP神經(jīng)網(wǎng)絡(luò),將Hu矩特征值作為神經(jīng)網(wǎng)絡(luò)的輸入,進(jìn)行訓(xùn)練。
矩特征[13]由Hu在1962年提出,主要表征了圖像區(qū)域的幾何特征,由于具有旋轉(zhuǎn)、平移、尺度等特性的不變特征,所以又被稱為不變矩(Invariant moments)。
針對(duì)于一幅數(shù)字圖像,可以將像素坐標(biāo)看成一個(gè)二維隨機(jī)變量 f(x,y),(p+q)階普通矩和中心矩分別為:
當(dāng)圖像發(fā)生變化時(shí),mpq也發(fā)生變化,而μpq則具有平移不變形但對(duì)旋轉(zhuǎn)依然敏感。直接用普通矩或中心距進(jìn)行特征表示,不能使特征同時(shí)具有平移、旋轉(zhuǎn)和比例不變性。如果利用歸一化中心距,則特征不僅具有平移不變性,而且還具有比例不變性。歸一化中心矩定義為:
可以得到Hu矩的表達(dá)式:
作為一種非線性、自組織、自適應(yīng)系統(tǒng),人工神經(jīng)網(wǎng)絡(luò)是判斷靜態(tài)手勢(shì)很合適的分類器,而在各種神經(jīng)網(wǎng)絡(luò)中[14-15],應(yīng)用最多并且最成功的是多層前饋網(wǎng)絡(luò),其中典型代表是采用反向傳播(BP)的多層前饋網(wǎng)絡(luò)。前饋神經(jīng)網(wǎng)絡(luò)分為不同層,后一層的輸入只與前一層的輸出有關(guān),第一層為輸入層,最后一層為輸出層,這兩層直接與外界聯(lián)系,稱為可見層,其他中間層稱為隱藏層。這種三層或三層以上的神經(jīng)網(wǎng)絡(luò)稱為多層前饋神經(jīng)網(wǎng)絡(luò)。三層前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意如圖4所示。
圖4 三層前饋神經(jīng)網(wǎng)絡(luò)
文中以手勢(shì)圖像的7個(gè)Hu矩特征作為神經(jīng)網(wǎng)絡(luò)的輸入,選取隱藏層節(jié)點(diǎn)數(shù)為10,輸出層節(jié)點(diǎn)數(shù)根據(jù)需要選取,這里選取8個(gè),包含手指根數(shù)(0-5),以及兩個(gè)特殊手勢(shì),以驗(yàn)證系統(tǒng)對(duì)靜態(tài)手勢(shì)識(shí)別的準(zhǔn)確性,和對(duì)更多手勢(shì)的可擴(kuò)展性。
文中所描述系統(tǒng)均在Linux下實(shí)現(xiàn),設(shè)備內(nèi)存為4G,處理器為Intel Core i5-2520MCPU@2.5GHz x 4,使用OpenCV庫,版本為OpenCV2.4.9.
文中使用OpenCV人臉檢測(cè)器,一旦檢測(cè)到,則將人臉部分及其周圍膚色區(qū)域像素值置為0。人臉去除的效果如圖5所示。
圖5 包含人臉及去除人臉后的二值圖
去除胳膊部分的效果如圖6所示。外圈矩形為最小外接矩形,圓為最大內(nèi)切圓,外接矩形中間線段為手掌與胳膊的分割線。通過設(shè)置手掌部分為感興趣區(qū)域(ROI),可以將胳膊去除。多次實(shí)驗(yàn)表明,對(duì)不同的手勢(shì),該方法均能將手掌準(zhǔn)確分割出來。
圖6 包含胳膊及去除胳膊后的二值圖
文中一共選取了8種不同手勢(shì),包括手指根數(shù)(0-5)和兩個(gè)自定義手勢(shì)(spock,lizard),以表明本系統(tǒng)對(duì)任何自定義手勢(shì)的可擴(kuò)展性。識(shí)別結(jié)果如圖7所示。
圖7 手勢(shì)識(shí)別結(jié)果
對(duì)每一種手勢(shì),我們選取了200組數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)。訓(xùn)練完成后,由5個(gè)測(cè)試者對(duì)每種手勢(shì)進(jìn)行20組測(cè)試,結(jié)果如表1所示。
表1 手勢(shì)識(shí)別測(cè)試結(jié)果
在對(duì)5個(gè)測(cè)試者進(jìn)行的共800次試驗(yàn)中,得到本系統(tǒng)手勢(shì)識(shí)別平均正確率為96.25%。
每個(gè)模塊消耗時(shí)間如表2所示。
表2 系統(tǒng)各部分耗時(shí)
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練在程序開始時(shí)即完成,不會(huì)影響后續(xù)識(shí)別的效率。當(dāng)視頻中沒有出現(xiàn)胳膊時(shí),識(shí)別的平均時(shí)間為23.4 ms,當(dāng)有胳膊時(shí),如2.3中所述,求外接矩形和內(nèi)切圓會(huì)消耗一定時(shí)間,識(shí)別平均時(shí)間為45.6 ms,此時(shí),系統(tǒng)幀率大于20FPS,仍能滿足實(shí)時(shí)性要求。
文中介紹了一種基于視覺的手勢(shì)識(shí)別系統(tǒng),能夠識(shí)別視頻中手勢(shì)表示的數(shù)字及一些特殊手勢(shì),在保證識(shí)別正確率的同時(shí),滿足實(shí)時(shí)性要求。與其他系統(tǒng)相比,加入了去除人臉及胳膊的功能,減少了手勢(shì)識(shí)別系統(tǒng)使用的局限性。與此同時(shí),系統(tǒng)也存在一定缺陷,例如在光線較亮或者較暗的環(huán)境中識(shí)別率有所降低,這是所有基于視覺系統(tǒng)的共同問題,也是作者以后的重點(diǎn)研究方向。
參考文獻(xiàn):
[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稿件編號(hào):201609010
付瀟聰(1992—),男,江蘇南通人,碩士。研究方向:計(jì)算機(jī)視覺。