張琳欽
(安徽工業(yè)經(jīng)濟職業(yè)技術(shù)學(xué)院 計算機與藝術(shù)學(xué)院,合肥 230051)
人工智能到來,云計算和物聯(lián)網(wǎng)技術(shù)逐漸興起,人們對計算機能夠正確執(zhí)行命令和操作的需求越來越大[1]。在遠(yuǎn)程電子醫(yī)學(xué)中,構(gòu)建一個更好的人機互動平臺,已經(jīng)成為互聯(lián)網(wǎng)時代的重要技術(shù)需求和趨勢[2]。由于手勢的應(yīng)用場景越來越復(fù)雜,在近距離攝像機的拍攝情況下,手勢的辨識越來越不能完全適應(yīng)人體的需要,而距離、角度等因素也會對手勢的辨識產(chǎn)生很大的影響[3]。如果手勢與攝像機的鏡頭沒有對準(zhǔn)就拍攝,那么畫面中的手勢就會出現(xiàn)扭曲,甚至是手指交叉,導(dǎo)致手勢特征發(fā)生變化,計算機系統(tǒng)也會出現(xiàn)錯誤識別。因此,在復(fù)雜的工作環(huán)境中,必須對手勢識別技術(shù)進行深入探索和開發(fā)。
王勇等[4]利用 FM序列波雷達(dá)多維特征,建立了一種用于卷積型神經(jīng)網(wǎng)絡(luò)的手勢辨識算法。在此基礎(chǔ)上,利用時間-頻率的方法對手勢運動的雷達(dá)信號進行了分析,得到了手勢運動的多維參量。針對手部特征的提取與準(zhǔn)確識別問題,采用多分支網(wǎng)絡(luò)和多維特征融合的方法,對其進行了研究。但該算法不能克服手勢辨識信息不足的問題,識別精度不高。韓崇等[5]選擇FM連續(xù)波雷達(dá)作為研究基礎(chǔ),提出一種手勢識別的方法。采用多普勒法對手部反射的毫米波雷達(dá)進行了靜態(tài)多普勒消除,并通過動態(tài)目標(biāo)的濾波,降低了對手勢信號的干擾和運算的工作量。在此基礎(chǔ)上,給出了一種基于移動目標(biāo)的手勢空間特征壓縮表達(dá)算法,通過手勢移動的主導(dǎo)速率描述手勢動作的特點,從而對多維度進行了壓縮,同時保持了動作中的主要特點。但這種識別技術(shù)未有效過濾手勢圖像的掩模,導(dǎo)致識別精度不高。
為了解決現(xiàn)有方法的不足,進一步提高手勢識別精度,本文將支持向量機應(yīng)用到了人機交互媒體播放界面的手勢識別中,實現(xiàn)人與機器的交流。與現(xiàn)有方法不同,該方法創(chuàng)新性利用Cam Shift方法跟蹤用戶手勢,提取出人機交互媒體播放界面中的手勢特征,克服了手勢辨識信息不足的問題。引入高斯濾波函數(shù),過濾手勢圖像的掩模,確定手心位置,完成手勢圖像的分割。利用支持向量機的分類閾值,計算手勢圖像的分類面,引入拉格朗日算法,將最優(yōu)分類面問題轉(zhuǎn)化為對偶性問題,完成播放界面的手勢識別。
人機交互媒體播放界面中,通過引入特征搜索窗口,對手勢跟蹤的窗口進行分割,并將用戶的手勢圖像存儲在跟蹤窗口中[6]。在搜索窗口內(nèi),結(jié)合逐步細(xì)化原則,在人機交互媒體播放界面刪除非手勢區(qū)域,確定手勢區(qū)域范圍,具體步驟如下:
步驟1:如果手勢跟蹤窗口依次為Kx、Ky、Kw和Kz,提取手勢特征之前,先初始化四個手勢圖像跟蹤窗口;
步驟2:利用Cam Shift方法對人機交互媒體播放界面中用戶的手勢進行跟蹤[7],得到初始的手勢區(qū)域搜索窗口;
步驟3:調(diào)整手勢區(qū)域的搜索窗口,確保搜索窗口與跟蹤窗口中的手勢包圍盒一致,計算出包圍盒的長寬比φ,如果φ在[0.5,0.85]區(qū)間內(nèi)取值,可以直接提取出用戶手勢圖像的空間特征,如果φ不在[0.5,0.85]區(qū)間內(nèi)取值,執(zhí)行步驟4;
步驟4:分割用戶的手勢圖像,在手勢區(qū)域中提取出膚色特征,并進行編碼,然后再對該膚色區(qū)域進行顏色識別,計算出目標(biāo)像素點在手勢區(qū)域中的個數(shù),計算公式為[8]:
(1)
式中:L表示包圍盒的長度,也是搜索區(qū)域的長度;W表示包圍盒的寬度,即搜索區(qū)域的寬度;函數(shù)可以利用公式(2)表示:
(2)
式中,Ω0表示目標(biāo)像素在用戶手勢圖像中存在的區(qū)域。
步驟5:通過對其他膚色區(qū)域進行識別,選取一塊具有適當(dāng)比例的長方形,以判斷用戶的手部位置,將所選取的長方形與用戶的手部位置相匹配,并將所述位置信息賦值給Kx、Ky、Kw和Kz,執(zhí)行步驟2。
根據(jù)以上步驟即可確定用戶的手勢區(qū)域,然后在手勢區(qū)域內(nèi)提取出用戶手勢的特征。為了提高手勢識別的準(zhǔn)確性,提取出的用戶手勢特征必須能夠反映出手勢動作的運動學(xué)特性。
在人機交互媒體播放界面中,波峰數(shù)量、手勢的長度和能量特征都可以作為用戶手勢的主要特征。其中用戶手勢長度可以通過下式計算得到[9]:
L=dz-dq
(3)
式中:dz表示手勢軌跡產(chǎn)生的終點;dq表示手勢軌跡形成的起點。
假設(shè)用戶手勢產(chǎn)生的能量為Em,通過下式計算:
(4)
式中:αxi、αyi和αzi表示用戶手勢產(chǎn)生過程中在x軸、y軸和z軸的加速度;gx、gy和gz表示地球引力作用下的重力加速度。
用戶手勢在每一個坐標(biāo)軸產(chǎn)生的加速度會對應(yīng)一個波峰數(shù),那么用戶手勢的波峰數(shù)特征可以通過下式計算:
B=Bx+By+Bz
(5)
式中,Bx、By和Bz表示αxi、αyi和αzi對應(yīng)的波峰數(shù)。
根據(jù)以上過程,提取出人機交互媒體播放界面中的手勢特征。
人機交互媒體播放界面中的手勢區(qū)域有很多特征點,假設(shè)用戶手掌的位置與攝像機之間的距離在1 m以內(nèi),依據(jù)指尖朝上、手心對準(zhǔn)攝像頭的原則,使得手掌所在的平面與攝像機平面之間的夾角在45°以內(nèi),通過手勢分割,處理手勢的深度信息,其步驟如下:
步驟1:在手勢深度圖像中,定義Ap,q為其中一個像素點;
步驟2:通過掃描用戶手勢的深度圖像,得到圖像中深度值最小的點Xmin;
步驟3:假設(shè)λdepth=20為用戶手勢深度圖像分割的閾值,得到手勢形成范圍[10]:
(6)
步驟4:利用二值化概念,處理手勢圖像所在范圍,得到手勢圖像的掩模Y(p,q),即:
(7)
在手勢形成范圍內(nèi),預(yù)先分割手勢圖像的深度特征,包括手腕信息和手臂信息。根據(jù)深度特征識別冗余信息后對其消除,可以增強人機交互媒體播放界面的手勢識別效果[11]。
消除冗余信息之前,先定位到手心的位置,由于手心的范圍大于手指的范圍,因此手勢圖像的掩模點密度最大,引入高斯濾波函數(shù),過濾掉手勢圖像的掩模Y(p,q),計算出濾波結(jié)果的標(biāo)準(zhǔn)差[12],即:
(8)
高斯濾波的引入可以確定用戶的整個手部范圍,用Yf(p,q)表示,在手部范圍內(nèi)選擇一個與最大灰度值對應(yīng)的特征點Sg,將Sg作為手心位置。
確定了用戶手勢圖像中的手心位置后,分割手勢范圍,步驟如下:
步驟1:將手勢區(qū)域內(nèi)切圓的圓心作為手心的位置,e=1 pxl為分割的初始值;
步驟2:增加e的大小;
步驟3:當(dāng)從屬范圍內(nèi)95%的點都在切圓范圍內(nèi)時,即可分割手勢范圍,即:
ψ=H-W-Z
(9)
式中:W表示手腕區(qū)域;Z表示手掌區(qū)域。
通過確定用戶手勢圖像中的手心位置,完成人機交互媒體播放界面手勢的分割。
人機交互媒體播放界面手勢識別中,利用支持向量機將用戶手勢圖像劃分為兩類,選擇其中一類圖像,提取出手勢圖像的特征向量,利用下式表示手勢圖像的樣本集合[13]:
(10)
假設(shè)ξ代表支持向量機的分類閾值,利用下式計算出手勢圖像的分類面:
(11)
(12)
式中,hχ表示拉格朗日與手勢圖像的乘子。將(xχ,yχ)代入到公式(12)中,經(jīng)過多次迭代,利用支持向量機訓(xùn)練手勢圖像樣本。
迭代處理之后,利用支持向量機的尋優(yōu)策略,得到人機交互媒體播放界面手勢圖像的最優(yōu)分類函數(shù),識別人機交互媒體播放界面手勢[15],即:
(13)
綜上所述,利用支持向量機得到手勢圖像的最優(yōu)分類函數(shù),識別人機交互媒體播放界面手勢。
考慮到攝像機傳感器單位時間內(nèi)可以獲取100幀數(shù)據(jù),為了避免采集到的手勢數(shù)據(jù)出現(xiàn)冗余,需要在如下實驗參數(shù)下開展實驗,保證實驗數(shù)據(jù)的質(zhì)量。
實驗硬件環(huán)境:2xXeon E5-2620 V3的CPU、16G顯存、32G內(nèi)存以及雙 K40M的GPU。
實驗軟件環(huán)境:Windows 10操作系統(tǒng)。
實驗數(shù)據(jù)是利用開源軟件LIBSVM-3.55在MATLAB下獲取的,利用攝像機拍攝10個人的手勢圖像,攝像機的型號為海康威視螢石交互網(wǎng)絡(luò)監(jiān)控攝像機CS-F2-31WFSRT。像素為100萬dpi,最低照度為 0.01 lx,鏡頭3 mm,分辨率720 px×720 px。為了保證實驗結(jié)果的真實性,選擇第3次拍攝的手勢圖像,組成訓(xùn)練數(shù)據(jù)集,其他7次拍攝到的手勢圖像組成測試集,根據(jù)支持向量機的原理,分類訓(xùn)練集中的手勢圖像。實驗數(shù)據(jù)集組成如圖1所示。
圖1 實驗數(shù)據(jù)集組成
在圖1的實驗數(shù)據(jù)集中,十種手勢圖像的實驗數(shù)據(jù)量如表1所示。
表1 實驗數(shù)據(jù)量
在測試集中,選擇手勢1進行手勢識別效果測試,由于攝像機采集的手勢數(shù)據(jù)會受到各種因素影響,導(dǎo)致手勢圖像的邊緣出現(xiàn)鋸齒,以圖2的手勢圖像作為實驗數(shù)據(jù)進行識別。
圖2 手勢圖象
利用文中方法識別用戶手勢的原始圖像,得到如圖3所示手勢識別結(jié)果。根據(jù)圖3的結(jié)果可知,采用文中方法識別人機交互媒體播放界面手勢時,能夠清晰保留手勢圖像的邊緣特征,具有較強的圖像濾波能力,提高了手勢識別的質(zhì)量。
圖3 手勢識別結(jié)果
為了避免實驗結(jié)果的單一性,將基于FMCW雷達(dá)的識別方法和基于時空壓縮特征表示學(xué)習(xí)的識別方法與文中方法作對比,分別測試實驗數(shù)據(jù)集中十種手勢的定位精度和識別效率,手勢識別準(zhǔn)確率測試結(jié)果如圖4所示。從圖4的結(jié)果可以看出,采用基于FMCW雷達(dá)的識別方法時,對數(shù)據(jù)集中十種手勢的識別準(zhǔn)確率在50%至70%之間,說明FMCW雷達(dá)對手勢的識別存在一定誤差。采用基于時空壓縮特征表示學(xué)習(xí)的識別方法時,對數(shù)據(jù)集中十種手勢的識別準(zhǔn)確率有所提高,在60%至80%之間。采用文中方法時,由于支持向量機能夠?qū)κ謩輬D像進行分類,并跟蹤手勢圖像多特征點,可將人機交互媒體播放界面中手勢的識別準(zhǔn)確率提高到90%以上。
圖4 手勢識別準(zhǔn)確率測試結(jié)果
本文提出一種基于支持向量機的人機交互媒體播放界面手勢識別方法,經(jīng)過實驗測試發(fā)現(xiàn),該方法可以識別到人機交互媒體播放界面中的手勢,并將手勢識別準(zhǔn)確率提高到90%以上。本文的研究雖然取得一定成果,但是還存在需要改進的地方,其中人機交互媒體播放界面中用到的手勢識別方法有很多,對于軌跡手勢和非軌跡手勢的融合研究不夠完善,這也是下一步研究工作的重點。