張 輝,鄧?yán)^周,周經(jīng)緯,朱成順,劉李明,張勝文
(1.江蘇科技大學(xué) 機(jī)械工程學(xué)院,江蘇 鎮(zhèn)江 212003;2.江蘇科技大學(xué) 江蘇省船海機(jī)械裝備先進(jìn)制造重點(diǎn)實(shí)驗(yàn)室,江蘇 鎮(zhèn)江 212003)
近年來,基于視覺的手勢(shì)識(shí)別由于具有操作簡(jiǎn)單、自然的優(yōu)勢(shì)而成為人機(jī)交互領(lǐng)域研究熱點(diǎn)[1]。相比于基于模板匹配[2]、基于機(jī)器學(xué)習(xí)[3,4]等手勢(shì)識(shí)別方法,基于幾何特征的識(shí)別方法[5]在簡(jiǎn)單背景的桌面應(yīng)用條件下具有計(jì)算簡(jiǎn)單、識(shí)別速度快的優(yōu)點(diǎn)[6]。該方法主要利用手勢(shì)中的手指數(shù)目、角度、相對(duì)位置等特征進(jìn)行手勢(shì)的分類與判別。但是由于個(gè)體差異等原因,上述幾何特征即使在相同的手勢(shì)中依然存在較大范圍的變化,很難根據(jù)單一的幾何特征實(shí)現(xiàn)手勢(shì)的分類。為了提高該方法的識(shí)別率,許多學(xué)者從多角度考慮手勢(shì)幾何特征,將不同的幾何特征進(jìn)行組合來識(shí)別手勢(shì)。文獻(xiàn)[7,8]采用提取手勢(shì)指尖個(gè)數(shù)結(jié)合Hu特征的方法,構(gòu)建加權(quán)融合的特征距離,將待識(shí)別手勢(shì)與模板進(jìn)行相似度匹配來識(shí)別手勢(shì)。使用多種特征結(jié)合的手勢(shì)識(shí)別方法雖然可以獲得較高的手勢(shì)識(shí)別率,但會(huì)帶來特征數(shù)據(jù)變多,計(jì)算復(fù)雜的缺點(diǎn)。對(duì)此本文從多方面考慮手勢(shì)幾何特征,研究了一種分層的手勢(shì)識(shí)別算法,利用手勢(shì)幾何特征進(jìn)行手勢(shì)建模并分類,避免特征數(shù)據(jù)融合帶來計(jì)算復(fù)雜的問題,提高了手勢(shì)識(shí)別率。
本文基于幾何特征的手勢(shì)識(shí)別方法主要根據(jù)手指數(shù)、指間距以及指間夾角,具體的手勢(shì)識(shí)別算法流程如圖1所示。首先利用膚色信息將手勢(shì)區(qū)域與其它干擾區(qū)域進(jìn)行分割,獲得手勢(shì)圖像。其次對(duì)手勢(shì)圖像進(jìn)行形態(tài)學(xué)處理[9],統(tǒng)計(jì)出手指數(shù)。根據(jù)手指數(shù)的不同,將手勢(shì)識(shí)別拆分為兩層。層1對(duì)于某些特定的手勢(shì),其僅依靠手指數(shù)目即可完全判別,此時(shí)直接輸出識(shí)別結(jié)果。層2是在層1的基礎(chǔ)上,提取指間距以及指間夾角作為特征參數(shù),與標(biāo)準(zhǔn)模板進(jìn)行匹配,實(shí)現(xiàn)對(duì)手勢(shì)的進(jìn)一步識(shí)別。
圖1 手勢(shì)識(shí)別算法流程
作為手勢(shì)識(shí)別的關(guān)鍵步驟,手勢(shì)區(qū)域檢測(cè)就是將場(chǎng)景圖像進(jìn)行分割,獲得手勢(shì)圖像。與其它干擾目標(biāo)相比,人手最明顯的特征就是膚色,因此可以利用膚色信息進(jìn)行手勢(shì)分割。本文在相對(duì)簡(jiǎn)單的桌面應(yīng)用背景下獲取場(chǎng)景圖像,選用HSV(hue-saturation-value)色彩空間將場(chǎng)景圖像亮度信息分離,利用人體膚色信息,對(duì)場(chǎng)景進(jìn)行分割,排除非膚色物體的干擾,實(shí)現(xiàn)手勢(shì)區(qū)域的檢測(cè)。在HSV色彩空間中,用色度H、飽和度S和亮度V對(duì)色彩進(jìn)行量化表示,符合人眼的直觀特性[10]。將圖像從RGB彩色空間轉(zhuǎn)換到HSV彩色空間采用如下公式
(1)
根據(jù)文獻(xiàn)[11],在HSV顏色空間中檢測(cè)膚色時(shí),人類的膚色區(qū)域像素應(yīng)滿足
2≤H≤28,50≤S≤200
(2)
利用上述膚色分割獲得的場(chǎng)景二值圖像往往會(huì)存在噪聲、孔洞及其它無關(guān)區(qū)域,對(duì)此需要去除無關(guān)區(qū)域的干擾。由于在膚色分割過后手部區(qū)域成為場(chǎng)景二值圖中的主要部分,通過邊緣檢測(cè)算法對(duì)手勢(shì)圖像進(jìn)行輪廓檢測(cè),將檢測(cè)到的最大輪廓作為手勢(shì)圖像繪制輸出,其過程如圖2所示。
圖2 手勢(shì)圖像檢測(cè)流程
手勢(shì)識(shí)別方法在上述獲得的手勢(shì)圖像中進(jìn)行,包括手勢(shì)幾何特征的提取、建模與分類,進(jìn)而實(shí)現(xiàn)手勢(shì)的識(shí)別。其中本文幾何特征主要包括手勢(shì)圖像中手指數(shù)目以及利用指間距和指間夾角參數(shù),同時(shí)利用分層識(shí)別的思想實(shí)現(xiàn)手勢(shì)結(jié)果最終判定。其中,對(duì)于可以根據(jù)手指數(shù)目進(jìn)行唯一判定的手勢(shì)圖像可以直接輸出結(jié)果。對(duì)于相同手指數(shù)目的不同手勢(shì)圖像來說,可根據(jù)指間距以及指間夾角的不同進(jìn)行二次判定。
本文基于手勢(shì)幾何特征,實(shí)現(xiàn)手勢(shì)圖像的識(shí)別,因此對(duì)手指數(shù)的檢測(cè)是實(shí)現(xiàn)分層策略的前提[12]。手指數(shù)的檢測(cè)方法包含以下步驟:
(1)對(duì)上述步驟獲得的手勢(shì)圖像進(jìn)行開運(yùn)算操作,獲得手掌區(qū)域圖像。其中結(jié)構(gòu)元素為半徑為15像素的圓;
(2)將手勢(shì)圖像與步驟(1)的手掌圖像進(jìn)行差運(yùn)算,得到手指區(qū)域圖像;
(3)對(duì)于步驟(2)中得到的手指區(qū)域圖像進(jìn)行腐蝕操作,去除小連通區(qū)域以及其它噪聲干擾,此時(shí)統(tǒng)計(jì)出連通區(qū)域的個(gè)數(shù)即為手指數(shù)。
(1)根據(jù)統(tǒng)計(jì)手勢(shì)圖像中連通域的個(gè)數(shù)作為手指數(shù)m,當(dāng)m∈{2,3,4}時(shí),此時(shí)單憑手指數(shù)無法直接輸出識(shí)別結(jié)果,仍需提取手勢(shì)指間距以及指間夾角作為判定依據(jù);
(2)構(gòu)建手指區(qū)域的最小矩形包圍盒,其中包圍盒中心為該手指的質(zhì)心位置,計(jì)算任意兩個(gè)包圍盒的質(zhì)心距離d,以最大的質(zhì)心距離作為該手勢(shì)圖像的指間距;
(3)以手勢(shì)圖像中最外側(cè)的兩個(gè)矩形包圍盒最外側(cè)的兩個(gè)邊所在的直線構(gòu)建向量,計(jì)算兩個(gè)向量之間的夾角,作為手勢(shì)圖像的之間夾角θ;
圖3 特征提取
為了驗(yàn)證本文提出識(shí)別方法的有效性,本文采用如圖4所示的9種靜態(tài)手勢(shì)作為識(shí)別對(duì)象。為了便于區(qū)分,將圖4中的手勢(shì)進(jìn)行如下編號(hào):圖(a)、圖(b)、圖(i)這3種類型手勢(shì)分別用0、1、5表示,圖(c)~圖(h)這6種類型手勢(shì)分別用2-1、2-2、3-1、3-2、4-1、4-2表示。編號(hào)首位代表手指數(shù),而第二位代表相應(yīng)手指數(shù)下的手勢(shì)類型號(hào)。實(shí)驗(yàn)中,10位實(shí)驗(yàn)對(duì)象在相同環(huán)境下做出9種手勢(shì)圖像,其中每種手勢(shì)均以不同角度呈現(xiàn)于桌面背景中,每類手勢(shì)圖像采集5次,總共450幅圖像。
圖4 實(shí)驗(yàn)手勢(shì)
本文借助OpenCV(open source computer vision library)視覺庫(kù)進(jìn)行相關(guān)的圖像處理操作。OpenCV封裝了多種通用算法用于實(shí)現(xiàn)計(jì)算機(jī)圖像處理,成為視覺領(lǐng)域中最有力的研究工具之一。
在實(shí)驗(yàn)中,根據(jù)分層策略實(shí)現(xiàn)手勢(shì)圖像的識(shí)別。首先統(tǒng)計(jì)出手勢(shì)圖像中的手指數(shù)目,根據(jù)手指數(shù)目對(duì)需要進(jìn)一步判斷的圖像使用上述提出的手勢(shì)模型參數(shù),進(jìn)行最終判定。根據(jù)上節(jié)提出的手勢(shì)建模方法,對(duì)需要進(jìn)一步判別的手勢(shì)圖像進(jìn)行特征提取,構(gòu)建手指包圍盒,計(jì)算指間距以及指間夾角,得到手勢(shì)特征值。本文以圖4所示的手勢(shì)圖作為標(biāo)準(zhǔn)手勢(shì)圖像,采用相同方法計(jì)算標(biāo)準(zhǔn)手勢(shì)特征值Ki-j,同時(shí)考慮到個(gè)體的差異對(duì)于手勢(shì)特征值提取帶來的誤差,對(duì)實(shí)際獲得的手勢(shì)特征K′i-j按照表1中設(shè)置的閾值對(duì)手勢(shì)進(jìn)行判定。
表1 手勢(shì)特征范圍劃分
圖5 手勢(shì)特征值
首先按照本文的手指檢測(cè)算法可以成功獲得所有手指?jìng)€(gè)數(shù),對(duì)編號(hào)為0、1、5的手勢(shì)識(shí)別率可以達(dá)到100%。然后對(duì)編號(hào)為2、3、4手勢(shì)進(jìn)行進(jìn)一步識(shí)別。如圖5所示,在第二層中,利用本文提出的分層手勢(shì)識(shí)別方法將手指數(shù)目為2、3、4的6種手勢(shì)分為3個(gè)小類,在每個(gè)小類下只有兩種手勢(shì)的存在,成功將多目標(biāo)分類利用分層策略變成兩項(xiàng)分類,降低了基于幾何特征的手勢(shì)識(shí)別難度。
為了對(duì)比實(shí)驗(yàn)結(jié)果,使用傳統(tǒng)的基于Hu矩特征的模板匹配法[13]與本文方法進(jìn)行比較。同樣,模板匹配法也使用上述的手勢(shì)圖像組,并且取本文采集標(biāo)準(zhǔn)手勢(shì)特征所用的手勢(shì)圖像作為標(biāo)準(zhǔn)模板。計(jì)算手勢(shì)輪廓Hu矩值,取其中抗噪聲干擾較好的4個(gè)值作為手勢(shì)特征值,采用歐式距離作為模板匹配時(shí)的相似度評(píng)價(jià),以最小值對(duì)應(yīng)的模板手勢(shì)作為識(shí)別結(jié)果,將此模板匹配法作為方法I。此外利用本文的手指數(shù)檢測(cè)方法先進(jìn)行手勢(shì)的初步分類,對(duì)于需進(jìn)一步分類的手勢(shì)使用模板匹配法進(jìn)行識(shí)別,將此方法作為方法II,進(jìn)行比較。表2給出了3種手勢(shì)識(shí)別方法對(duì)于9種手勢(shì)的最終識(shí)別結(jié)果。
表2 手勢(shì)識(shí)別率
從表2可以看出,在單獨(dú)使用Hu特征進(jìn)行模板匹配的方法I中,識(shí)別率隨著手勢(shì)的不同有著很大差距,總體處于一個(gè)相對(duì)較低水平。方法II利用分層的識(shí)別方法,在手指數(shù)識(shí)別的基礎(chǔ)上進(jìn)行模板匹配,只需與該數(shù)目下的兩個(gè)模板進(jìn)行相似度匹配,使得識(shí)別率相比較方法I得到了明顯的提高。然而在同樣進(jìn)行分層識(shí)別的情況下,模板匹配法的識(shí)別率不如本文構(gòu)建的手勢(shì)模型識(shí)別率高,雖然隨著手指數(shù)目的增多,每個(gè)小類下的兩種手勢(shì)的特征值差距會(huì)有所降低,但使用本文方法仍能夠保持識(shí)別率在90%以上。
本文對(duì)基于幾何特征的桌面靜態(tài)手勢(shì)識(shí)別方法進(jìn)行了研究。在簡(jiǎn)單的桌面背景下,針對(duì)單一幾何特征對(duì)手勢(shì)識(shí)別準(zhǔn)確率帶來不利的影響,提出了分層的思想,將手勢(shì)識(shí)別分成兩個(gè)步驟。首先,利用膚色模型對(duì)手勢(shì)圖像進(jìn)行分割,其次根據(jù)設(shè)置的閾值統(tǒng)計(jì)封閉輪廓面積作為手指數(shù)。對(duì)于某些特定的手勢(shì)僅根據(jù)手指的數(shù)目多少就可以做出唯一判據(jù),直接輸出識(shí)別結(jié)果。否則,在此基礎(chǔ)上,構(gòu)建手勢(shì)模型,計(jì)算出手勢(shì)指間距以及指間夾角,并進(jìn)行模板匹配,從而得到最終的識(shí)別結(jié)果。本文設(shè)計(jì)的識(shí)別算法能夠識(shí)別預(yù)定義的9種自然手勢(shì)類型,簡(jiǎn)單有效,能夠滿足桌面靜態(tài)手勢(shì)識(shí)別的需求。