陳影柔,田秋紅,楊慧敏,梁慶龍,包嘉欣
(浙江理工大學 信息學院,杭州 310018)
手勢識別作為一種新興的人機交互技術,被廣泛應用到虛擬現實系統、互動游戲平臺、手語識別和控制機器人等領域[1–4],其最終目的是實現人機自然交互.最初的手勢識別通過佩戴內置傳感器的物理設備來獲取手勢的空間信息,從而識別出手勢語義信息.佩戴物理設備的方式雖能提高手勢識別的準確度,但在一定程度上影響了人機交互的自然性.因此,目前眾多學者轉向基于視覺的手勢識別研究.基于視覺的手勢識別利用圖像采集設備來捕捉手勢圖像,通過對手勢圖像分析以提取出手勢特征,進而識別出手勢語義信息[5].手勢特征的選擇直接影響到手勢識別的準確率.目前常見的手勢特征提取方法主要包括兩類:基于人工設計的手勢特征提取和基于卷積神經網絡的手勢特征提取.基于人工設計的手勢特征提取通常針對特定的數據集來設計有效的手勢特征,從而進行手勢建模.
Hu 矩特征和傅里葉描述子是常見的圖像特征,常用來描述圖像的輪廓信息,因其具有平移、旋轉和尺度不變性,常用來進行手勢建模.Paulraj 等[6]利用從左右手勢圖像中提取的Hu 矩特征建立手勢圖像識別模型,該方法對手勢圖像的平均識別率為92.85%.Fernando 等[7]提出基于手部高寬度比與Hu 矩特征融合的手勢識別方法,該方法不受圖像背景和小范圍亮度變化的干擾.李丹嬌等[8]提出一種結合CSS 和傅里葉描述子的手勢特征提取方法.基于人工設計特征的手勢特征提取能夠提取出具有針對性的手勢特征,且對于具有相似背景的手勢圖像集識別效果較好.但該方法學習能力不強,提取的手勢特征不能適應多變的手勢背景環境.此外,在樣本量不斷增大的情況下,識別率不會顯著提高.另外,人手是非剛性物體,手勢的變換具有多樣性和復雜性,人工設計的手勢特征往往會忽略手勢的細節特征,導致對圖像的描述不夠完整,從而加大手勢識別的難度.
基于卷積神經網絡的手勢識別方法可以從大量數據中自主學習手勢圖像的深層次特征.Pigou 等[9]構建了基于卷積神經網絡的手勢圖像識別系統,該系統對20 種意大利手勢圖像的識別準確率為91.7%.Bobi?等[10]將提取的手勢圖像的梯度方向直方圖作為網絡的輸入,利用多層前饋神經網絡和反向傳播算法進行訓練,實現了手勢的準確識別.Bheda 等[11]提出了一種利用深度卷積網絡對美國手語字母和數字圖像進行分類的方法.Rao 等[12]對手語視頻幀進行預處理、分割和特征提取,形成手語特征空間,并利用前饋網絡對提取的特征訓練并進行測試,該方法對手勢視頻的識別率為90%.Chai 等[13]利用Faster R-CNN 對手部區域進行檢測和分割,并將手勢的彩色圖像和深度圖像作為卷積神經網絡的輸入進行訓練,有效地提高了手勢識別率,但該方法在訓練網絡時產生的參數量過多,降低了手勢識別效率.基于卷積神經網絡的手勢識別方法雖能夠提取深層次的手勢圖像特征,有效地表征手勢圖像的全局語義信息,但該方法忽略了底層網絡提取的手勢局部特征.另外,目標手勢在原圖中占比較小,手勢特征信息經過層層卷積、池化等操作后,目標手勢檢測的敏感度有所降低,而為了豐富手勢的特征信息,實現較高的識別精度,往往需要大量的數據集和較深的網絡層進行訓練,消耗了大量的運行時間,難以保證手勢識別的實時性.另外,這兩類方法的研究手勢圖像中往往忽略脖子、手臂等干擾情況.
綜上所述,單一特征的手勢識別在復雜背景下的識別率有待提高,因此,本文提出了基于多特征加權融合的靜態手勢識別方法.該方法提取分割后的手勢圖像的傅里葉和Hu 矩等形狀特征,將兩者融合作為手勢圖像的局部特征,利用優化的VGG 網絡和輕量級Alex-Net 網絡設計雙通道卷積網絡模型,用來提取手勢圖像的深層次特征,最后將分割后的手勢圖像的局部特征與手勢灰度圖像的深層次特征進行加權融合,使融合后的特征更有效.手勢識別算法流程如圖1所示.

圖1 手勢識別算法總體框架
本文采取膚色聚類及腐蝕、膨脹等一系列形態學操作對手部區域進行預處理[14],得到目標手部區域[15],預處理流程如圖2所示.由于不同手勢的手部區域面積、手勢方向、手部形狀等均不相同,因此在手勢識別中通過形狀特征來描述手勢圖像的特征具有很大的優勢.傅里葉描述子可以提取手部形狀信息,Hu 矩則可以描述手部區域面積、重心與對稱性等細節特征.因此,將兩者融合能夠有效表達手勢圖像的局部特征,更好地區分不同的手勢圖像.

圖2 手勢預處理
傅里葉描述子(Fourier Descriptor,FD)是一種計算簡單的手勢圖像形狀和邊界特征的表示方法[16].每個傅里葉描述符都具有物理意義,能夠兼顧描述手勢的局部特征和全局特征.因此,本文選擇傅里葉描述子作為手勢圖像局部特征的描繪子之一.首先提取手勢閉合輪廓信息,由輪廓圖像上各像素點的坐標可得到手勢輪廓的傅里葉描述序列,如式(1)所示.

其中,Tu為邊界的傅里葉描述子,u=0,1,···,n?1.t(k)為輪廓像素點的復數坐標序列.
為了保證手勢圖像在空間域中旋轉、平移以及尺度變換的穩定性,需要對傅里葉描述子進行歸一化.歸一化傅里葉描述子dv的定義如式(2)所示.

其中,u=2,3,···,n?1;v=1,2,···,n?2.將dv寫成向量形式,則為手勢輪廓的傅里葉描述子特征向量.
Hu 矩能夠全面地描述手勢圖像的形狀特征,且不受手勢旋轉和縮放等因素的影響,因此本文采用Hu 矩特征提取手勢圖像的形狀及輪廓特征,并將其作為手勢圖像的局部特征.
手勢圖像的(r+s)階幾何矩可以定義為:

其中,V(i,j)是 點(i,j)處的灰度值,I和J分別是手勢圖像的寬度和高度,r,s=0,1,2,···.
則對應的圖像的(r+s)階中心矩定義為:


Hu 矩特征包含手部區域的重心、手部區域的面積以及對稱性等局部特征,通過手勢圖像的二階和三階歸一化中心矩的線性組合可以構造7 個不變矩,具體計算公式如下:

根據7 個不變矩的具體計算公式對手勢圖像進行特征提取,形成的特征向量為H=(φ1,φ2,φ3,φ4,φ5,φ6,φ7).
使用Hu 矩和傅里葉描述子不能完整的描述手勢圖像的局部表征信息,導致對手勢圖像的描述不夠完整.另外,使用通用的特征描述子提取的特征不能適應多變的手勢背景環境.此外,在樣本量不斷增大的情況下,人工設計手勢特征的方法在特征學習方面和識別率方面表現出了局限性.目前,卷積神經網絡(Convolutional Neural Networks,CNN)已經成為模式識別領域的研究熱點之一,其在特征提取階段表現出優越性,因此普遍應用在大規模圖像分類中.然而,由于目標手勢在手勢圖像中占比較小,往往需要訓練較深的網絡層來提高手勢識別的精度,但設計深層網絡容易產生冗余參數,不僅容易產生過擬合問題,而且影響手勢識別的實時性,而參數量較少的淺層網絡不足以滿足手勢特征表示.故本文設計了一種新的雙通道卷積神經網絡特征提取方法來提取手勢圖像的深層次特征,以提高手勢識別精度和實時性.
本文采用輕量級AlexNet 網絡和優化的VGG 網絡作為網絡模型的子結構來設計雙通道卷積神經網絡模型,其結構如圖3所示.

圖3 基于雙通道卷積神經網絡的手勢圖像深層次特征提取
2.1.1 輕量級AlexNet 網絡
AlexNet 網絡是2012年提出的一種深度神經網絡,其網絡結構的結構圖如圖2(a)所示.該網絡包含8 個用于特征學習的網絡層,前5 個網絡層是用于手勢圖像特征提取的卷積層,后3 個是用于特征整合的全連接層.AlexNet 網絡采用隨機失活、ReLU 激活函數和截取圖像等方法有效地降低了網絡的過擬合概率,且通過重疊的最大池化豐富圖像特征.綜合上述優點,選取AlexNet 網絡作為手勢圖像的特征提取網絡之一,為了降低AlexNet 網絡的參數量,對AlexNet 網絡進行壓縮,獲得輕量級AlexNet 網絡.參數量對比如表1所示.

表1 AlexNet 網絡模型改進及參數量變化
如表1所示,輕量級AlexNet 網絡相比于AlexNet網絡,Conv4 和Conv5 的卷積核個數分別變為48 和32,全連接層的神經元個數變為128,大大減少了參數量.2.1.2 優化的VGG 網絡
VGG 是AlexNet 網絡的進階版,共有A、B、C、D和E 等5 種網絡結構[17],本文采用性能最好的VGG16網絡作為手勢圖像特征提取網絡之一,該網絡包含5 個塊結構,共有13 個卷積層,3 個全連接層,且卷積層之間用池化層分開.VGG 網絡采用多個3×3 卷積核,模仿出了更大的感受野,并減少了手勢識別模型訓練產生的參數量.故本文選取VGG 網絡作為手勢圖像的特征提取網絡之一并對其進行優化,以提高網絡模型的性能和穩定性.優化后的VGG 網絡塊結構如圖4所示,將批量歸一化(Batch Normalization,BN)層加到網絡模型中,在特征提取網絡中的每一層卷積層后加入BN 層,使得下一層卷積層的輸入特征與當前層的特征服從相同的正態分布,實現手勢圖像的準確分類.

圖4 VGG 網絡結構圖
考慮到雙通道卷積神經網絡生成的特征維度較大,易造成特征表示的繁冗以及計算效率的降低,因此,需要對提取的特進行有效的降維.使用PCA 網絡進行主成分分析是對多維數據進行統計分析的方法之一[18].利用PCA 變換不僅減少了輸入信息量,而且將輸入集轉換為一組有序的獨立成分.因此,本文選用PCA 方法對雙通道卷積神經網絡生成的高維特征進行降維.PCA 降維算法如算法1.

算法1.PCA 降維算法X={X1,X2,···,Xm} C=1 m XXT 1 給定輸入向量,計算其協方差矩陣 .2 求出協方差矩陣的特征值及對應的特征向量.K1>K2>···>Km>0 3 將特征值按照重要性排序 .4 將得到的特征向量按對應特征值大小從上到下按行排列成矩陣,取前k 行組成矩陣P.Z=PX 5即為降維到k 維后的數據.
由于手形的復雜性,只采取單一手勢特征無法實現手勢精準分類,因此本文將提取的手勢局部特征和降維后的深層次特征進行融合.由于雙通道卷積神經網絡得到的深層次手勢特征識別結果優于局部特征,因此將提取的手勢局部特征與手勢深層次特征進行權重分配,以得到較高的識別率.
實驗數據集共包含26 種手勢,由30 位手語者采集而成,單張手勢圖像存在脖子、干擾手臂和復雜的背景區域.對于每位手語者,每種手勢采集50 張手勢圖像,包括不同背景、不同方向、不同光照的手勢圖像,該數據集的手勢圖像總數為39 000(=30×50×26)張.本實驗將手勢圖像按照3:1 的比例設置訓練集和測試集.部分手勢圖如圖5所示.

圖5 部分手勢圖像數據集
3.2.1 批處理大小及學習率的設置
為了選擇最優的batch_size,本文對批處理大小(batch_size)進行對比實驗,實驗結果如圖6所示.由圖6可知,當batch_size為32 時,損失值波動幅度大且準確率低,而batch_size64 和128 時,損失值波動均較小,準確率提高均較快,且在一定迭代次數后batch_size為64 準確率與batch_size為128 的準確率基本相同.故在兼顧速度和準確率兩方面因素,本文選用batch_size為64.
為了防止手勢圖像識別模型出現過擬合問題,本文網絡的最大迭代次數設為60 000 次,通過指數衰減策略來更新訓練過程中的學習率,學習率更新公式如式(10).

其中,global_steps為當前的迭代次數,lr為初始學習率,初值為0.001,decay_rate為學習率衰減系數,初值為0.9,decay_steps為學習率衰減速度,初值為5000.
3.2.2 網絡結構對比分析
為了驗證本文所構建的雙通道卷積神經網絡提取手勢圖像的可行性,對自建數據庫中手勢圖像構建四組網絡模型進行實驗研究,分別為:VGG 網絡模型、AlexNet 網絡模型、基于 VGG 和AlexNet 的雙通道卷積神經網絡模型、基于優化的VGG 和輕量級AlexNet的雙通道卷積神經網絡模型.實驗結果如圖7所示.本文提出的雙通道卷積神經網絡模型減少了模型參數量,同時有效提高手勢圖像識別準確率。

圖6 使用不同batch_size 訓練網絡的實驗結果比較
為了進一步驗證本文提出方法的有效性,本文在ASL 公共手勢圖像數據集上進行了實驗研究,得到識別準確率為96.42%.與MPC 方法[19]、深度學習的CNN 方法、DBN 方法[20]和HSF-RDF[21]相比,識別準確率有明顯提高,結果如表2所示.由此充分驗證了提出方法的有效性.

圖7 不同網絡結構對手勢圖像的識別效果

表2 不同方法對不同數據集的識別結果
3.2.3 VGG 網絡優化
為了提高網絡穩定性,本文在VGG 網絡模型中增加BN 層,其變化結果如圖8所示.由圖8可知:BN 層對網絡損失的穩定性具有重要作用,添加BN 層后隨著迭代次數增加損失值迅速下降且穩定,同時準確率得到明顯提高.

圖8 添加BN 層的網絡模型對比
3.2.4 特征對比實驗
基于雙通道卷積神經網絡的特征提取方式雖然能提取手勢灰度圖像的深層次特征,但會引起前層網絡提取的手勢局部特征丟失.而手勢局部特征在相似背景下手勢圖像識別中起到了非常關鍵的作用[22].本文基于傅里葉描述子(Fourier Descriptor,FD)[16]和具有旋Hu 矩特征,構建手勢識別方法進行對比實驗.本文分別提取原始手勢圖像的傅里葉描述子、Hu 矩和傅里葉描述子與Hu 矩融合作為手勢圖像特征輸入到雙通道卷積神經網絡進行分類識別,如圖9所示.由圖9可知,本文方法比其他方法有較高準確率,驗證了本文提出方法的有效性.

圖9 不同特征組合的實驗結果
3.2.5 不同權重比的設置
通過對ASL 公共手勢圖像數據集進行對比實驗,本文設計的雙通道網絡的識別準確率已達96.4%.但由于自建數據庫中每張手勢圖像均存在脖子、干擾手臂等復雜背景,現有方法的識別準確率不高.故本文提出融合局部特征和深層特征方法進行手勢識別提高復雜背景下手勢圖像識別率.為了驗證局部特征和深層次特征在手勢特征表示中所起作用,賦予手勢局部特征不同的權重對圖5所示數據庫進行實驗.通過調整局部特征與深層次特征所占權重比不同,統計手勢識別率,結果如圖10所示.由圖10可知:當手勢局部特征所占權重因子為0.3 時,手勢識別率是一個拐點,在其之前手勢識別率隨著局部特征權重比增加而提高,在其之后手勢識別率隨著局部特征權重比增加而降低,故由實驗結果可知手勢局部特征所占權重因子為0.3最佳.
3.2.6 實驗驗證
為了驗證本文提出方法對自建數據庫中手勢圖像的有效性,對自建數據庫進行實驗測試.與現有手勢數據庫(ASL)相比,自建數據集共包含26 種英文字母手勢,且單張手勢圖像存在脖子、干擾手臂和復雜背景區域等,故現有方法難以實現對自建數據庫的準確識別.為了減少手勢圖像中脖子、干擾手臂和復雜的背景區域等干擾信息,本文設計基于手臂分割獲取局部特征方法,解決深層次特征在卷積過程中局部信息丟失問題.本文提出方法對圖5中每個手勢圖像分別提取FD 特征和Hu 矩特征兩局部特征,基于雙通道卷積神經網絡提取手勢圖像的深層次特征;然后按照3:10 的權重將局部特征與深層次特征進行融合,并將融合的特征作為Softmax 分類器的輸入訓練靜態手勢圖像的識別模型進行識別,每種字母手勢對應的識別率如表3所示.由表3可知,對自建數據庫的26 個復雜背景下的靜態手勢圖像的識別準確率均大于96%,識別準確率高,26 個靜態手勢圖像的平均識別率為99.13%.

圖10 不同局部特征權重比下的手勢識別率

表3 字母手勢識別結果
本文提出了基于多特征加權融合的手勢識別方法.該方法使用傅里葉描述子和Hu 矩提取分割后的手勢圖像的形狀特征,將融合后的特征作為手勢圖像的局部特征.其次,對VGG 網絡模型和AlexNet 網絡模型進行優化,并利用優化的VGG 網絡和輕量級AlexNet網絡構建雙通道卷積神經網絡結構,提取手勢圖像的深層次特征,采用主成分分析方法對深層次特征進行降維,并將降維后的特征與局部特征進行加權融合,以充分利用手勢的各部分特征;最后,采用Softmax 分類器對輸入的特征進行識別,實驗結果表明,提出的方法對手勢圖像的識別準確率較高.雖然本文方法在進行手勢圖像識別時取得了較好的效果,但是訓練網絡模型仍需要較長的學習時間,未來將致力于減少算法運行時間,并將其應用在大型數據集中.