操小文,,薄華
(上海海事大學 信息工程學院,,上海201306)
摘要:傳統(tǒng)的手勢識別系統(tǒng)由特征提取和分類器組成,,需要人工設(shè)計特征,但很難達到足夠滿意的效果且耗費大量的時間,。將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于手勢識別,,能直接把圖像數(shù)據(jù)輸入網(wǎng)絡(luò),且不用進行復(fù)雜的前期預(yù)處理,。卷積神經(jīng)網(wǎng)絡(luò)擁有很強的魯棒性和較低的復(fù)雜性,,通過大量的仿真實驗,證明了該識別方法具有很好的識別效果,,相比現(xiàn)有方法有較大的優(yōu)勢,。
關(guān)鍵詞:特征提取,;卷積神經(jīng)網(wǎng)絡(luò),;手勢識別;魯棒性
0引言
隨著現(xiàn)有科學技術(shù)的發(fā)展,,機器人技術(shù)[1]將會給人類帶來很大的便利,,而人機交互[2]則是其中最重要的一環(huán)。因此,,要讓機器人根據(jù)人的指示完成相應(yīng)的動作,,就必須要讓機器人“明白”人的指示。人們平時運用最多的就是手勢,,而基于視覺的手勢識別技術(shù)涉及到模式識別[3],、圖像處理以及計算機視覺[4]等許多領(lǐng)域,是現(xiàn)在非常熱門的研究課題,。目前國內(nèi)對基于視覺的手勢識別技術(shù)已展開了許多的研究工作,。
關(guān)于手勢識別[5]的常用算法有以下三種:(1)基于幾何特征[6]的手勢識別,。將手勢的區(qū)域和邊緣特征用作待識別的特征,并采用各種距離公式進行模板匹配,。該方法有較強的適應(yīng)性和穩(wěn)定性,,但是學習能力不足且效率不高,有很明顯的不足,。(2)基于隱馬爾可夫模型的手勢識別,。這是一種統(tǒng)計分析模型,其拓撲結(jié)構(gòu)具有一般性,,能夠很好地描述手勢信號的時空變化,,適用于動態(tài)手勢的識別,但是計算量過于龐大且速度緩慢,,不能很好地滿足當前應(yīng)用的需要,。(3)基于人工神經(jīng)網(wǎng)絡(luò)[7]的手勢識別。具有較強的學習能力和抗干擾能力,,而且網(wǎng)絡(luò)能很好地擬合各類非線性映射,,在擁有更快的計算速度的同時還有很強的魯棒性和泛化能力,但由于其對時間序列的處理能力不強,,主要應(yīng)用于靜態(tài)手勢識別[8],,而對于動態(tài)手勢的識別[9]則效果不佳。
由以上分析可知,,現(xiàn)有算法都有或多或少的缺陷,,因此未能得到很好的應(yīng)用。而卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在二維圖像處理中的獨特優(yōu)勢,,使其在手勢識別中的研究也漸漸開展,。
1卷積神經(jīng)網(wǎng)絡(luò)
傳統(tǒng)圖像識別[10]的分類模型如圖1所示。人工設(shè)計特征是一件非常耗時耗力的事情,,必須要有非常深厚的專業(yè)知識和經(jīng)驗才能確定出能用于正確分類的特征,。然而卷積神經(jīng)網(wǎng)絡(luò)[11]則不需要人工設(shè)計特征,它能夠?qū)D像數(shù)據(jù)直接輸入網(wǎng)絡(luò)中,,然后在輸出端即可給出分類結(jié)果。其分類模型如圖2所示,。
1.1CNN網(wǎng)絡(luò)結(jié)構(gòu)
CNN包含有兩種特殊的神經(jīng)元層,,分別是卷積層和下采樣層[12],其整個網(wǎng)絡(luò)結(jié)構(gòu)由卷積層(C)和下采樣層(S)交替出現(xiàn)最后與全連接層(F)相連所構(gòu)成,,并在最后的輸出層給出結(jié)果,。本文的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
卷積操作其實是用一個卷積核[13](即特征矩陣)在圖像矩陣上移動,,卷積核與圖像上相對位置的元素作乘積,,最后將所得結(jié)果相加得到一個值,。當卷積核移動完畢,所有值就構(gòu)成了一個新的圖像矩陣,,即完成了對上一層的特征抽取,。其數(shù)學表達式如(1)所示:
其中,f為激活函數(shù),,一般為sigmoid或tanh,;b為偏置項。
下采樣則相當于對特征進行二次提取,,這樣做是為了對上一層的特征進行降維,,減少計算量并且避免因特征過多導致出現(xiàn)過擬合。經(jīng)過降維后的特征更能刻畫出圖像的一般性,,更加適用于分類[14],,并可以增強網(wǎng)絡(luò)結(jié)構(gòu)對位移的魯棒性。
下采樣的一般形式如式(2):
xij=down(xi-1j)(2)
down(·) 為下采樣函數(shù),,與卷積操作類似,,其也是對一個區(qū)域的加權(quán)求和,若用n×n大小的窗口進行下采樣,,最終的圖像大小將會是輸入圖像的1/n,。
1.2基于卷積神經(jīng)網(wǎng)絡(luò)的算法及訓練過程
本文所采用的網(wǎng)絡(luò)結(jié)構(gòu)有8層,包含輸入層,、3層卷積層,、3層下采樣層、1層全連接層,。與參考文獻[8]相比,,本文所用網(wǎng)絡(luò)多了一層卷積層和一層下采樣層,且卷積核大小設(shè)置也不一樣,。本文將網(wǎng)絡(luò)的學習速率(alpha)設(shè)置為0.2,,批次大小(batchsize)設(shè)置為20,,迭代次數(shù)(numepochs)設(shè)置為150,。且卷積核和各偏置等參數(shù)的初始值均隨機產(chǎn)生,輸入樣本后通過前向傳播和反向傳播算法對網(wǎng)絡(luò)進行訓練來更新參數(shù),。其中每層所做的操作如下:
(1)輸入層是已經(jīng)歸一化為48×48的圖像,,經(jīng)二值化處理后即可輸入網(wǎng)絡(luò)。
(2)C1網(wǎng)絡(luò)層是對輸入圖像進行卷積所得結(jié)果,,本文使用7×7的卷積核對輸入圖像進行特征抽取,,該層特征圖為3張,大小為42×42。
(3)S2網(wǎng)絡(luò)層是對C1層進行的抽樣,,抽樣窗口大小為2×2,,此時特征圖數(shù)量仍為3張,大小為21×21,。
(4)C3是對S2的卷積操作,,卷積核大小設(shè)置為6×6,特征圖為5張,,大小為16×16,。
(5)S4網(wǎng)絡(luò)層(同S2),為第二個下采樣層,,抽樣窗口仍是2×2,,特征圖為5張,大小為8×8,。
(6)C5是第三個卷積層,,卷積核大小為5×5,此時圖像大小為4×4,,特征圖數(shù)量設(shè)置為7張,。
(7)S6是第三個下采樣層,經(jīng)2×2的抽樣窗口后大小是2×2,,圖像數(shù)量為7張,。
(8)F7層是全連接層,是把S6層的特征數(shù)據(jù)向量化后連接到輸出層,。根據(jù)分類的類別數(shù),,本文的輸出層有三個神經(jīng)元,即分三類,。
整個網(wǎng)絡(luò)結(jié)構(gòu)確定后,,利用前向傳播(fp)、反向傳播(bp)等算法確定網(wǎng)絡(luò)參數(shù),,這樣整個網(wǎng)絡(luò)就訓練完畢,。
2仿真實驗
2.1手勢圖像的預(yù)處理
雖然CNN可以直接輸入原始圖像,但是簡單的預(yù)處理可以使最終識別效果更好而又不耗費太多時間,。
本文將圖像進行灰度和二值化處理,,最終歸一化到48×48作為試驗的最終輸入數(shù)據(jù),如圖4所示,。
2.2實驗結(jié)果及分析
本文的實驗數(shù)據(jù)均為作者自己拍攝,,手勢總共有3種,分別是指向手勢1,、勝利手勢2、搖滾手勢3,如圖5所示,。當用設(shè)備拍攝時,,保持設(shè)備與手的位置基本不變,在限制范圍內(nèi),,手可以任意旋轉(zhuǎn),、平移,方向不定,。
對于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),,樣本的多少對最終學習效果有很大的影響。樣本過少會使網(wǎng)絡(luò)無法學習到圖像的有效特征,,降低識別效率,。因此本文拍攝了大量的樣本來進行試驗,從各類手勢中選取2 500個訓練樣本和500個測試樣本,。取其迭代10次的平均識別率作為該方法的最終識別率,。
(1)分別用圖像的灰度圖和二值圖進行試驗,,結(jié)果如表1,、表2所示。
由以上結(jié)果可知,,卷積神經(jīng)網(wǎng)絡(luò)在手勢識別中擁有較高的識別率,,且在單一背景下因手的灰度與周圍環(huán)境的反差,用二值圖像能獲得更好的識別率,。后續(xù)試驗均采用二值化圖像進行,。
(2)為了驗證該網(wǎng)絡(luò)結(jié)構(gòu)的魯棒性,,模擬真實情況下的場景,,給圖像加上3種不同程度的噪聲和3種不同程度的運動模糊。如圖6所示,。
實驗結(jié)果如表3~表8所示,。
由上述結(jié)果可知,給圖像加了噪聲和運動模糊后,,各類手勢的識別率均有所下降,,且受影響最大的為手勢3,可能因為手勢3最復(fù)雜,,所包含的特征數(shù)最多,,在噪聲和模糊的影響下所掩蓋的特征最多,導致識別率下降最快,。但是在一定程度內(nèi),,識別率雖有所下降但依舊維持在一個較高的水準,表明該網(wǎng)絡(luò)確實有很強的魯棒性,沒有因為噪聲和模糊的存在而出現(xiàn)較大的異常,,完全可以滿足現(xiàn)有的應(yīng)用需要,。
3結(jié)論
卷積神經(jīng)網(wǎng)絡(luò)避免了對圖像前期復(fù)雜的預(yù)處理,不用去人工設(shè)計和提取特征,,節(jié)省了大量的時間和人工成本,。其獨特的卷積-下采樣結(jié)構(gòu)使其擁有很強的容忍畸變的能力,而獨有的權(quán)值共享則極大地縮減了網(wǎng)絡(luò)的訓練參數(shù),,大大降低了計算量,,且使其擁有更簡單的網(wǎng)絡(luò)結(jié)構(gòu)和更強的適應(yīng)能力,給圖像處理領(lǐng)域帶來了極大的方便,。
本文通過大量的仿真實驗,,驗證了卷積神經(jīng)網(wǎng)絡(luò)在手勢識別中的高效性和強魯棒性,具有很好的應(yīng)用前景,。后續(xù)可以通過對網(wǎng)絡(luò)結(jié)構(gòu)和算法的一些改進,,進一步降低其在手勢識別中的誤識率。
參考文獻
?。?] 劉江華,程君實,陳佳品.基于視覺的動態(tài)手勢識別及其在仿人機器人交互中的應(yīng)用[J]. 機器人,, 2002,24(3):4651.
?。?] 王茂吉.基于視覺的靜態(tài)手勢識別系統(tǒng)[D]. 哈爾濱:哈爾濱工業(yè)大學,,2006.
[3] 孫世輝.基于視覺的復(fù)雜背景下手勢識別方法的研究[D]. 大連:大連海事大學,,2014.
?。?] 王振,高茂庭.基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別算法設(shè)計與實現(xiàn)[J].現(xiàn)代計算機,2015,,34(7):6166.
?。?] 張圓圓.基于視覺的手勢識別技術(shù)及其應(yīng)用研究[J].計算技術(shù)與自動化,2015,,34(1):131135.
?。?] 殷倩倩.基于計算機視覺的靜態(tài)手勢識別[D]. 上海:復(fù)旦大學,2014.
?。?] 陳先昌.基于卷積神經(jīng)網(wǎng)絡(luò)的深度學習算法與應(yīng)用研究[D].杭州:浙江工商大學,2013.
?。?] 劉飛飛.基于視覺的實時手勢識別及應(yīng)用[D]. 西安:長安大學,2015.
?。?] 王西穎,戴國忠,張習文,等.基于HMMFNN模型的復(fù)雜動態(tài)手勢識別[J]. 軟件學報,, 2008,19(9):2529.
?。?0] 楊耿,和衛(wèi)星.運動目標圖像識別與跟蹤系統(tǒng)的研究[J].計算機測量與控制,,2005,,13(3):267269.
[11] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradientbased learning applied to document recognition[J]. Proceedings of the IEEE, 1998,86(11):22782324.
?。?2] 趙志宏,楊紹普,馬增強.基于卷積神經(jīng)網(wǎng)絡(luò)LeNet5的車牌字符識別研究[J].系統(tǒng)仿真學報,2010,22(3):638641.