呂華富
(四川大學(xué)計算機學(xué)院,成都 610065)
手勢是人類除語言外最為自然的交流方式之一。隨著科學(xué)技術(shù)的不斷發(fā)展,尤其使無人機、虛擬現(xiàn)實等技術(shù)的發(fā)展,人通過手勢來進行人機交互的需求也在不斷增長。較成熟的手勢識別系統(tǒng)已經(jīng)開始應(yīng)用于很多領(lǐng)域,如體感游戲、智能電視、醫(yī)療設(shè)備、手語識別和機器人控制等[1-3]。因此,對手勢識別的研究有著重要意義。
手勢識別的流程分為檢測分割、分析和識別三個主要階段。檢測分割階段主要進行手勢檢測和分割,分析階段主要完成特征檢測的任務(wù),識別階段完成特征提取和手勢識別任務(wù)。現(xiàn)有手勢識別方法中在分析和識別階段需要人工提取特征來完成手勢識別任務(wù),分類器上多使用SVM[4]、人工神經(jīng)網(wǎng)絡(luò)[5]以及隱馬爾科夫模型[6]。而在近年來,隨著深度學(xué)習(xí)快速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)逐漸成為圖像分類領(lǐng)域中最熱門的算法。其中很重要的一個原因是它的特征學(xué)習(xí)能力使得特征識別突破了需要人工設(shè)計的局限,使其具有了一定的通用性。
基于卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點,本文采用其來完成手勢識別任務(wù),并在公開的ThomasMoeslund手勢識別數(shù)據(jù)集[7]上做實驗分析。
在ThomasMoeslund手勢識別數(shù)據(jù)集中包含24種未處理的靜態(tài)手勢圖像。圖1展示了24種待識別手勢的實例圖像。可以看到所有手勢背景均為均質(zhì)的黑色。為了驗證網(wǎng)絡(luò)的性能,本文中將數(shù)據(jù)集劃分為1440張(約70%)和600張(約30%)兩部分,分別作為訓(xùn)練集和測試集。
圖1
手勢分割的過程如下:
原始圖像是248×256的灰度圖。第一步將灰度圖轉(zhuǎn)換為二值圖。這個二值圖通過在原始圖像上設(shè)置125灰度的閾值得到,其中大于閾值的部分值為1,其余值為0。通過嘗試發(fā)現(xiàn)這個閾值可以很好地在這個數(shù)據(jù)集中區(qū)分黑色背景和手勢部分。第二步對二值圖像進行形態(tài)學(xué)處理。首先采用8×8的結(jié)構(gòu)元素對二值圖進行膨脹,然后對二值圖進行填孔,最后采用3×3的結(jié)構(gòu)元素對二值圖進行腐蝕。第三步定位手勢位置并在原始圖像中將手勢分割出來。通過跟蹤最大白色像素區(qū)域的邊界,確定手勢區(qū)域并于矩形的方式在原始圖像相同位置提取像素。
隨機選取的部分分割好的手勢圖像實例如圖2所示。觀察圖片可以發(fā)現(xiàn)分割好的手勢圖像中手勢信息保存完整,而且由于是單一背景并不需要再對背景進行處理。為了節(jié)約計算資源和卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的時間,統(tǒng)一通過模式平均技術(shù)將分割圖像調(diào)整大小到64×64。
圖2
第1節(jié)中描述了訓(xùn)練本文網(wǎng)絡(luò)所用的數(shù)據(jù)。訓(xùn)練集包含1440張64×64像素的已經(jīng)分割處理好的手勢圖像。實驗在Win10環(huán)境下進行,實驗計算機配置采用英特爾(Intel)i5處理器、內(nèi)存8G,所有程序均使用MATLAB編寫并在MATLAB 2017b環(huán)境下運行。下面將展示卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和訓(xùn)練過程。
網(wǎng)絡(luò)輸入是64×64手勢圖像。訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)包含3個卷積層。其結(jié)構(gòu)描述如下:
第一個卷積層:先對原圖進行一圈零填充,然后使用3×3的卷積核對64×64的原始圖像進行卷積操作,得到16張64×64的卷積特征圖。接著使用2×2的池化窗口對卷積特征圖進行最大值池化操作,得到16張32×32的特征圖。
第二個卷積層:先對輸入特征圖進行一圈零填充,然后使用3×3的卷積核進行卷積操作,每個得到32張32×32的卷積特征圖。接著使用2×2的池化窗口對卷積特征圖進行最大值池化操作,每個得到32張16×16的特征圖。
第三個卷積層:先對輸入特征圖進行一圈零填充,然后使用3×3的卷積核進行卷積操作,每個得到64張32×32的卷積特征圖。接著使用2×2的池化窗口對卷積特征圖進行最大值池化操作,每個得到32張16×16的特征圖。
輸出層和最后一層卷積層通過全連接的方式進行連接??紤]到待識別的手勢種類是24,最后的輸出層包含24個神經(jīng)元。表1和圖3分別展示了卷積神經(jīng)網(wǎng)絡(luò)的一些具體參數(shù)和學(xué)習(xí)曲線。
表1
圖3
首先在測試集上測試訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)。然后在使用未進行訓(xùn)練的測試集來進行測試,以此來驗證網(wǎng)絡(luò)的泛化能力。網(wǎng)絡(luò)性能的好壞通過通用識別準確率來進行衡量。識別準確率定義為:
表2展示了在測試集和訓(xùn)練集上手勢的識別準確率。觀察結(jié)果可以看到訓(xùn)練好的網(wǎng)絡(luò)不僅在訓(xùn)練集上識別準確率高達99.86%,在測試集上識別準確率也高達98.67%。
表3展示了本文結(jié)果與一些在此數(shù)據(jù)集上的早期工作的對比??梢钥吹奖疚氖褂梅椒ㄔ赥homasMoes?lund手勢識別數(shù)據(jù)集上識別相同種類數(shù)量的手勢取得了更高的識別準確率。本文的結(jié)果展示了在盡量保存原始手勢信息的情況下,選用合理結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)來識別靜態(tài)手勢可以取得更高的識別準確率。
后采用形態(tài)學(xué)處理保證手勢的完整性。通過判斷處理后的二值圖像中最大連通區(qū)域定位手勢在原始圖像中的位置,并在原圖像中分割出完整的手勢。通過以上操作得到了包含完整手勢信息的手勢圖像的同時也極大地減少了多余背景對于手勢分類的影響。使用測試集手勢圖像再使用訓(xùn)練集訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)上進行識別得到98.67%的識別準確率。本文也存在比較明顯的缺點,那就是本文的高識別準確率是在背景單一的數(shù)據(jù)集上獲得的。今后的研究可選取更加復(fù)雜的數(shù)據(jù)集,考慮更多的環(huán)境因素的影響,獲取一個泛化能力更強的網(wǎng)絡(luò)模型。
本文采用基于膚色的方法將手勢圖像二值化,然
表2
表3
參考文獻:
[1]孫麗娟,張立材,郭彩龍.基于視覺的手勢識別技術(shù).計算機技術(shù)與發(fā)展,2008,18(10):214–216.
[2]易靖國,程江華,庫錫樹.視覺手勢識別綜述.計算機科學(xué),2016,43(6A):103-108.
[3]李勇,高文,姚鴻勛.基于顏色手套的中國手指語字母的動靜態(tài)識別.計算機工程與應(yīng)用,2002,17:55-58.
[4]Sultana A,Rajapuspha T.Vision Based Gesture Recognition for Alphabetical Hand Gestures Using the SVM Classifier.Int J Comput Science and Engineering Technology,2012,3(7):218-223.
[5]Yewale SK,Bharne PK.Hand Gesture Recognition Using Different Algorithms Based on Artificial Neural Network.In:2011 International Conference on Emerging Trends in Networks and Computer Communications(ETNCC),22-24 April2011,Udaipur,pp(2011):287-292.
[6]ZakiM.M.,Shaheen S.I.Sign Language Recognition Using a Combination ofNew Vision Based Features,Pattern Recognition Letters,Vol.32,Issue 4,1Mar2011:572-577.
[7]Thomas Moeslund's Gesture Recognition Database-PRIMA.http://www-prima.inrialpes.fr/FGnet/data/12-MoeslundGesture/database.htm l.
[8]Nguyen T-N,Huynh H-H,Meunier J.Static Hand Gesture Recognition Using Principal Component Analysis Combined with Artificial Neural Network.JAutom Control Eng,2015,3(1):40-45.
[9]OKOyedotun.,A Khashman.Deep Learning In Vision-based Static Hand Gesture Recognition.Neural Comput&Applic,2016,28(12).