(西華大學(xué)電氣信息學(xué)院,四川 成都 610039)
肢體語(yǔ)言是人類表達(dá)信息的一種重要途徑。使用人體姿態(tài)而不借助于其他設(shè)備來進(jìn)行自然的人機(jī)交互成為了人機(jī)交互領(lǐng)域的一個(gè)新興發(fā)展方向。常用交互方式主要包括人臉識(shí)別、表情識(shí)別、手勢(shì)識(shí)別和體勢(shì)識(shí)別等。
目前研究的手勢(shì)識(shí)別系統(tǒng)主要有基于數(shù)據(jù)手套的手勢(shì)識(shí)別系統(tǒng)和基于視覺的手勢(shì)識(shí)別系統(tǒng)。前者需要使用者戴上數(shù)據(jù)手套[1],這就給使用者造成一定的不便;而后者在一定程度上為使用者提供了更加自然、直接的人機(jī)交互方式。目前基于視覺的手勢(shì)識(shí)別系統(tǒng)已有一些相對(duì)成功的實(shí)現(xiàn)了[2]。其中,識(shí)別率較高的大多是根據(jù)手區(qū)域的幾何特征(如手指、手指方向、手的輪廓等特征)來進(jìn)行識(shí)別,也有一些是根據(jù)非幾何特征(如膚色、紋理、運(yùn)動(dòng)軌跡等特征)來識(shí)別;但它們識(shí)別速度差強(qiáng)人意[3-11]。
為同時(shí)具有較快的識(shí)別速度和較高的正確率,本文采用手指間的角度特征作為識(shí)別特征,以指尖到手掌中心的連線構(gòu)成手勢(shì)骨架,通過計(jì)算手指間角度的大小和指間數(shù)量來進(jìn)行手勢(shì)識(shí)別。實(shí)驗(yàn)結(jié)果表明,該算法識(shí)別率高、速度快,且不受手勢(shì)方向和尺度大小的影響。
對(duì)采集到的圖像采用YCbCr顏色空間進(jìn)行膚色分割。YCbCr空間中膚色聚類特性比較好[5],Y代表亮度信息,而Cb、Cr分量不受亮度影響,可以有效地將Y分離,并且Y、Cb、Cr可以由R、G、B經(jīng)過線性變換得到,具有較高的計(jì)算效率。
圖1 圖像預(yù)處理框圖
(1)
(2)
圖2 手勢(shì)輪廓
圖3 計(jì)算出的距離坐標(biāo)
圖4 重排后的距離坐標(biāo)
通過測(cè)量得知,正常人五指分開后,手指間的角度在10~180°之間。大拇指與食指間的角度為40~90°,食指與中指、中指與無(wú)名指、無(wú)名指與小指的角度為10~35°,大拇指與小指間的角度為95~150°(這里的度數(shù)為指尖與手掌中心連線以后的角度),這為本文的算法提供了依據(jù)。本文將指尖與手掌中心坐標(biāo)以直線連接,形成手形骨架,計(jì)算手指間的角度;以手心b(x0,y0)為中心,采用先計(jì)算絕對(duì)角度αr,再計(jì)算相對(duì)角度βr的方法對(duì)指尖夾角進(jìn)行測(cè)量。
1)記錄指尖坐標(biāo)。將檢測(cè)到的r個(gè)指尖坐標(biāo)記為p1(l1,t1),p2(l2,t2),…,pr(lr,tr),(r≤5)。當(dāng)檢測(cè)到1個(gè)指尖時(shí),定義為手勢(shì)一。檢測(cè)到2個(gè)以上指尖時(shí),進(jìn)行下面的計(jì)算。
2)計(jì)算絕對(duì)角度。pr(lr,tr)為指尖坐標(biāo),b(x0,y0)為手掌中心(質(zhì)心)坐標(biāo)。
(1)lr-x0<0,則指尖在手心上方的一、二象限內(nèi)
(3)
(2)lr-x0=0且tr-y0>0,則指尖在手心正右方,αr為零度。
(3)lr-x0=0且tr-y0<0,則指尖在手心正左方,αr為180°。
(4)lr-x0>0,則指尖在手心下方的三、四象限內(nèi)
(4)
3)計(jì)算相對(duì)角度。
β1=|α2-α1|;β2=|α3-α2|;…;βr=|α1-αr|。
4)手勢(shì)判別。相對(duì)角度中,記10~35°的相對(duì)角度有c1個(gè),40~90°的相對(duì)角度有c2個(gè),95~150°的相對(duì)角度有c3個(gè),若有大于180°的角度,則表示是與手指指向相反的角度,將其舍去。判別函數(shù)定義為
d(r,c1,c2,c3)=1000r+100c1+10c2+c3
(5)
對(duì)9種手勢(shì)進(jìn)行定義,如表1所示。手勢(shì)輪廓如圖5所示。
表1 手勢(shì)定義
(a)手勢(shì)一 (b)手勢(shì)二 (c)手勢(shì)三
(d)手勢(shì)四 (e)手勢(shì)五 (f)手勢(shì)六
(g)手勢(shì)七 (h)手勢(shì)八 (i)手勢(shì)九
為檢驗(yàn)此算法的準(zhǔn)確性和實(shí)時(shí)性,筆者進(jìn)行了實(shí)驗(yàn)。上位機(jī)采用2.6 GHz、4G的PC機(jī),以MATLAB軟件為實(shí)驗(yàn)平臺(tái),下位機(jī)為置有9個(gè)LED燈的51單片機(jī)。選取20個(gè)人,每人每個(gè)手勢(shì)采集5幅方向和尺寸各不相同的手勢(shì)圖,共900幅圖像進(jìn)行測(cè)試識(shí)別,部分的手勢(shì)如圖6所示。將每個(gè)手勢(shì)識(shí)別正確的個(gè)數(shù)記錄于表2中,得到9種手勢(shì)的判定結(jié)果直方圖,如圖7所示。
圖6 部分手勢(shì)圖
人員識(shí)別正確數(shù)目手勢(shì)一手勢(shì)二手勢(shì)三手勢(shì)四手勢(shì)五手勢(shì)六手勢(shì)七手勢(shì)八手勢(shì)九1545554555255555555535553554554555555555555555555565555555457553555555855555555595455545551055555555511553555455125554555551355555555514455555455155555355541655545555517545555554184555545551954554555520555555345
圖7 9種手勢(shì)判定結(jié)果直方圖
從圖7可以看出:該算法對(duì)手勢(shì)一、三、五、八、九的判斷較為準(zhǔn)確,對(duì)手勢(shì)二和七的判斷略顯不足,識(shí)別正確的有871幅,正確率達(dá)96.8%;在對(duì)單個(gè)手勢(shì)進(jìn)行判斷識(shí)別時(shí),5幅大小方向均不同的圖像能全部判定正確的占86.7%,正確判定4幅的占10.6%,正確判定3幅的僅占2.7%。文獻(xiàn)[9]采用傳統(tǒng)模板匹配算法進(jìn)行手勢(shì)識(shí)別,所定義的4種手勢(shì)與本文中的前4種相同。本文分別采用這2種算法對(duì)4種手勢(shì)做對(duì)比實(shí)驗(yàn),其結(jié)果如表3所示。結(jié)果表明本文算法正確率較高。在實(shí)時(shí)性方面,因該算法是基于手勢(shì)的角度特征進(jìn)行判定識(shí)別,在保證正確率的前提下,其計(jì)算量大大降低,處理并識(shí)別1幅320×240的原始圖像用時(shí)不超過0.05 s。
表3 對(duì)比實(shí)驗(yàn)
本文提出一種基于手指角度特征的手勢(shì)識(shí)別算法,以指尖到手掌中心的連線構(gòu)成手勢(shì)骨架,計(jì)算手指間角度,以角度的大小和指間數(shù)量進(jìn)行分類。通過對(duì)不同人、不同方向和不同尺寸的手勢(shì)圖像進(jìn)行識(shí)別判定的結(jié)果表明,該算法準(zhǔn)確率高、實(shí)時(shí)性好,且?guī)缀醪皇苁謩?shì)方向和尺寸影響。筆者的最終目的是將此識(shí)別算法應(yīng)用于特殊儀器的非接觸式控制,現(xiàn)在正在研究中。該算法還有許多需要改進(jìn)之處,如所能識(shí)別的手勢(shì)數(shù)量偏少;因此,下一步的工作重點(diǎn)是在保證準(zhǔn)確率和實(shí)時(shí)性的前提下,盡可能增加識(shí)別數(shù)量,使此算法更加實(shí)用。
[1]吳江琴,高文.基于數(shù)據(jù)手套的漢語(yǔ)手指字母識(shí)別[J].模式識(shí)別與人工智能,1999,12(1):74-78.
[2]Wu Y, Huang T. Vision-based Gesture Recognition: a Review [J].Gesture-Based Communication in Human-Computer Interaction, 1999,1739:103-115.
[3] 荊雷,馬文君,常丹華.基于動(dòng)態(tài)時(shí)間規(guī)整的手勢(shì)加速度信號(hào)識(shí)別[J].傳感技術(shù)學(xué)報(bào),2012,25(1):18-22.
[4] 向守兵,蘇光大,任小龍,等.實(shí)時(shí)手指交互系統(tǒng)的嵌入式實(shí)現(xiàn)[J].光學(xué)精密工程,2011,19(8):42-50.
[5] 肖冰,王映輝.人臉識(shí)別研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2005,22(5):1-5.
[6] 唐文平,胡慶龍.基于多目標(biāo)Camshift 手勢(shì)識(shí)別[J].電子科技,2012, 25(2): 71-81.
[7] 李文生,解梅,鄧春健.基于機(jī)器視覺的動(dòng)態(tài)多點(diǎn)手勢(shì)識(shí)別方法[J]. 計(jì)算機(jī)工程設(shè)計(jì),2012, 5(8):60-72.
[8] Zhang Xu,Chen Xiang,Li Yin. A Framework for Hand Gesture Recognition Based on Accelerometer and EMG Sensors[J].IEEE Transactions on Systems, Man, and Cybernetics, Part A ,2011,41(6): 1064-1076.
[9] 程文山,談國(guó)新.基于膚色分割和Camshift的手勢(shì)識(shí)別研究[D].武漢:華中師范大學(xué),2009.
[10] 曹雛清,李瑞峰,趙立軍.基于深度圖像技術(shù)的手勢(shì)識(shí)別方法[J].計(jì)算機(jī)工程,2012,38(8):16-21.
[11] 譚同德,郭志敏.基于雙目視覺的人手定位與手勢(shì)識(shí)別系統(tǒng)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(1):259-264.