?

基于幾何特征的桌面靜態手勢識別

2020-11-02 11:53鄧繼周周經緯朱成順劉李明張勝文
計算機工程與設計 2020年10期
關鍵詞:膚色識別率夾角

張 輝,鄧繼周,周經緯,朱成順,劉李明,張勝文

(1.江蘇科技大學 機械工程學院,江蘇 鎮江 212003;2.江蘇科技大學 江蘇省船海機械裝備先進制造重點實驗室,江蘇 鎮江 212003)

0 引 言

近年來,基于視覺的手勢識別由于具有操作簡單、自然的優勢而成為人機交互領域研究熱點[1]。相比于基于模板匹配[2]、基于機器學習[3,4]等手勢識別方法,基于幾何特征的識別方法[5]在簡單背景的桌面應用條件下具有計算簡單、識別速度快的優點[6]。該方法主要利用手勢中的手指數目、角度、相對位置等特征進行手勢的分類與判別。但是由于個體差異等原因,上述幾何特征即使在相同的手勢中依然存在較大范圍的變化,很難根據單一的幾何特征實現手勢的分類。為了提高該方法的識別率,許多學者從多角度考慮手勢幾何特征,將不同的幾何特征進行組合來識別手勢。文獻[7,8]采用提取手勢指尖個數結合Hu特征的方法,構建加權融合的特征距離,將待識別手勢與模板進行相似度匹配來識別手勢。使用多種特征結合的手勢識別方法雖然可以獲得較高的手勢識別率,但會帶來特征數據變多,計算復雜的缺點。對此本文從多方面考慮手勢幾何特征,研究了一種分層的手勢識別算法,利用手勢幾何特征進行手勢建模并分類,避免特征數據融合帶來計算復雜的問題,提高了手勢識別率。

1 算法流程

本文基于幾何特征的手勢識別方法主要根據手指數、指間距以及指間夾角,具體的手勢識別算法流程如圖1所示。首先利用膚色信息將手勢區域與其它干擾區域進行分割,獲得手勢圖像。其次對手勢圖像進行形態學處理[9],統計出手指數。根據手指數的不同,將手勢識別拆分為兩層。層1對于某些特定的手勢,其僅依靠手指數目即可完全判別,此時直接輸出識別結果。層2是在層1的基礎上,提取指間距以及指間夾角作為特征參數,與標準模板進行匹配,實現對手勢的進一步識別。

圖1 手勢識別算法流程

2 手勢區域檢測

作為手勢識別的關鍵步驟,手勢區域檢測就是將場景圖像進行分割,獲得手勢圖像。與其它干擾目標相比,人手最明顯的特征就是膚色,因此可以利用膚色信息進行手勢分割。本文在相對簡單的桌面應用背景下獲取場景圖像,選用HSV(hue-saturation-value)色彩空間將場景圖像亮度信息分離,利用人體膚色信息,對場景進行分割,排除非膚色物體的干擾,實現手勢區域的檢測。在HSV色彩空間中,用色度H、飽和度S和亮度V對色彩進行量化表示,符合人眼的直觀特性[10]。將圖像從RGB彩色空間轉換到HSV彩色空間采用如下公式

(1)

根據文獻[11],在HSV顏色空間中檢測膚色時,人類的膚色區域像素應滿足

2≤H≤28,50≤S≤200

(2)

利用上述膚色分割獲得的場景二值圖像往往會存在噪聲、孔洞及其它無關區域,對此需要去除無關區域的干擾。由于在膚色分割過后手部區域成為場景二值圖中的主要部分,通過邊緣檢測算法對手勢圖像進行輪廓檢測,將檢測到的最大輪廓作為手勢圖像繪制輸出,其過程如圖2所示。

圖2 手勢圖像檢測流程

3 手勢識別

手勢識別方法在上述獲得的手勢圖像中進行,包括手勢幾何特征的提取、建模與分類,進而實現手勢的識別。其中本文幾何特征主要包括手勢圖像中手指數目以及利用指間距和指間夾角參數,同時利用分層識別的思想實現手勢結果最終判定。其中,對于可以根據手指數目進行唯一判定的手勢圖像可以直接輸出結果。對于相同手指數目的不同手勢圖像來說,可根據指間距以及指間夾角的不同進行二次判定。

3.1 手指數檢測

本文基于手勢幾何特征,實現手勢圖像的識別,因此對手指數的檢測是實現分層策略的前提[12]。手指數的檢測方法包含以下步驟:

(1)對上述步驟獲得的手勢圖像進行開運算操作,獲得手掌區域圖像。其中結構元素為半徑為15像素的圓;

(2)將手勢圖像與步驟(1)的手掌圖像進行差運算,得到手指區域圖像;

(3)對于步驟(2)中得到的手指區域圖像進行腐蝕操作,去除小連通區域以及其它噪聲干擾,此時統計出連通區域的個數即為手指數。

3.2 手勢建模與識別

(1)根據統計手勢圖像中連通域的個數作為手指數m,當m∈{2,3,4}時,此時單憑手指數無法直接輸出識別結果,仍需提取手勢指間距以及指間夾角作為判定依據;

(2)構建手指區域的最小矩形包圍盒,其中包圍盒中心為該手指的質心位置,計算任意兩個包圍盒的質心距離d,以最大的質心距離作為該手勢圖像的指間距;

(3)以手勢圖像中最外側的兩個矩形包圍盒最外側的兩個邊所在的直線構建向量,計算兩個向量之間的夾角,作為手勢圖像的之間夾角θ;

圖3 特征提取

4 實驗與分析

為了驗證本文提出識別方法的有效性,本文采用如圖4所示的9種靜態手勢作為識別對象。為了便于區分,將圖4中的手勢進行如下編號:圖(a)、圖(b)、圖(i)這3種類型手勢分別用0、1、5表示,圖(c)~圖(h)這6種類型手勢分別用2-1、2-2、3-1、3-2、4-1、4-2表示。編號首位代表手指數,而第二位代表相應手指數下的手勢類型號。實驗中,10位實驗對象在相同環境下做出9種手勢圖像,其中每種手勢均以不同角度呈現于桌面背景中,每類手勢圖像采集5次,總共450幅圖像。

圖4 實驗手勢

本文借助OpenCV(open source computer vision library)視覺庫進行相關的圖像處理操作。OpenCV封裝了多種通用算法用于實現計算機圖像處理,成為視覺領域中最有力的研究工具之一。

在實驗中,根據分層策略實現手勢圖像的識別。首先統計出手勢圖像中的手指數目,根據手指數目對需要進一步判斷的圖像使用上述提出的手勢模型參數,進行最終判定。根據上節提出的手勢建模方法,對需要進一步判別的手勢圖像進行特征提取,構建手指包圍盒,計算指間距以及指間夾角,得到手勢特征值。本文以圖4所示的手勢圖作為標準手勢圖像,采用相同方法計算標準手勢特征值Ki-j,同時考慮到個體的差異對于手勢特征值提取帶來的誤差,對實際獲得的手勢特征K′i-j按照表1中設置的閾值對手勢進行判定。

表1 手勢特征范圍劃分

圖5 手勢特征值

首先按照本文的手指檢測算法可以成功獲得所有手指個數,對編號為0、1、5的手勢識別率可以達到100%。然后對編號為2、3、4手勢進行進一步識別。如圖5所示,在第二層中,利用本文提出的分層手勢識別方法將手指數目為2、3、4的6種手勢分為3個小類,在每個小類下只有兩種手勢的存在,成功將多目標分類利用分層策略變成兩項分類,降低了基于幾何特征的手勢識別難度。

為了對比實驗結果,使用傳統的基于Hu矩特征的模板匹配法[13]與本文方法進行比較。同樣,模板匹配法也使用上述的手勢圖像組,并且取本文采集標準手勢特征所用的手勢圖像作為標準模板。計算手勢輪廓Hu矩值,取其中抗噪聲干擾較好的4個值作為手勢特征值,采用歐式距離作為模板匹配時的相似度評價,以最小值對應的模板手勢作為識別結果,將此模板匹配法作為方法I。此外利用本文的手指數檢測方法先進行手勢的初步分類,對于需進一步分類的手勢使用模板匹配法進行識別,將此方法作為方法II,進行比較。表2給出了3種手勢識別方法對于9種手勢的最終識別結果。

表2 手勢識別率

從表2可以看出,在單獨使用Hu特征進行模板匹配的方法I中,識別率隨著手勢的不同有著很大差距,總體處于一個相對較低水平。方法II利用分層的識別方法,在手指數識別的基礎上進行模板匹配,只需與該數目下的兩個模板進行相似度匹配,使得識別率相比較方法I得到了明顯的提高。然而在同樣進行分層識別的情況下,模板匹配法的識別率不如本文構建的手勢模型識別率高,雖然隨著手指數目的增多,每個小類下的兩種手勢的特征值差距會有所降低,但使用本文方法仍能夠保持識別率在90%以上。

5 結束語

本文對基于幾何特征的桌面靜態手勢識別方法進行了研究。在簡單的桌面背景下,針對單一幾何特征對手勢識別準確率帶來不利的影響,提出了分層的思想,將手勢識別分成兩個步驟。首先,利用膚色模型對手勢圖像進行分割,其次根據設置的閾值統計封閉輪廓面積作為手指數。對于某些特定的手勢僅根據手指的數目多少就可以做出唯一判據,直接輸出識別結果。否則,在此基礎上,構建手勢模型,計算出手勢指間距以及指間夾角,并進行模板匹配,從而得到最終的識別結果。本文設計的識別算法能夠識別預定義的9種自然手勢類型,簡單有效,能夠滿足桌面靜態手勢識別的需求。

猜你喜歡
膚色識別率夾角
膚色(外一首)
探究鐘表上的夾角
求解異面直線夾角問題的兩個路徑
Conversation in a house
人的膚色為什么不同
為什么人有不同的膚色?
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
聽力正常青年人的低通濾波言語測試研究*
任意夾角交叉封閉邊界內平面流線計算及應用
提升高速公路MTC二次抓拍車牌識別率方案研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合