孟彩茹 宋京 孫明揚(yáng)
摘? 要: 手勢識別在人機(jī)交互中起著重要的作用,然而手勢形態(tài)和背景的復(fù)雜多樣性給手勢識別過程帶來難題。為了降低特征提取的難度和提高識別準(zhǔn)確率,設(shè)計(jì)一種改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)和支持向量機(jī)(SVM)模型來對手勢進(jìn)行識別。該模型首先對手勢圖像分割處理和數(shù)據(jù)增強(qiáng)處理,然后用Inception模塊改進(jìn)后的CNN完成對手勢特征的提取,最后通過SVM對不同手勢分類識別。實(shí)驗(yàn)結(jié)果表明,該模型在自建手勢數(shù)據(jù)集下平均識別率為98.13%,在MNIST數(shù)據(jù)集下平均識別率為98.95%,同一數(shù)據(jù)集下較傳統(tǒng)模型識別率均有提高。
關(guān)鍵詞: 手勢識別; CNN; SVM; 特征提取; 圖像分割; 數(shù)據(jù)增強(qiáng)
中圖分類號: TN915?34; TP183? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)22?0128?04
Abstract: Gesture recognition plays an important role in human?computer interaction. However, the complex diversity of gesture shape and background brings difficulties to the process of gesture recognition. In order to reduce the difficulty of feature extraction and improve the recognition accuracy, an improved convolution neural network (CNN) and support vector machine (SVM) model is designed to recognize gestures. In this model, the gesture image segmentation and data enhancement are performed, the CNN improved by the Inception module is used to complete the gesture features extraction, and different gestures are classified and recognized by SVM. The experimental results show that the average recognition rate of the model is 98.13% under the self?built gesture dataset and is 98.95% under the MNIST dataset, which are all higher than those of the traditional model under the same dataset.
Keywords: gesture recognition; CNN; SVM; feature extraction; picture segmentation; data enhancement
0? 引? 言
手勢識別是計(jì)算機(jī)視覺領(lǐng)域中一個具有挑戰(zhàn)性的問題,多年來一直是人們研究的熱點(diǎn)[1]。在手勢識別領(lǐng)域,研究人員使用了許多不同的算法,取得了許多成果。M Rossi等結(jié)合兩種不同結(jié)構(gòu)分類器來對手勢進(jìn)行識別,人工先提取圖像特征,用隱馬爾可夫(HMM)模型來區(qū)分?jǐn)?shù)據(jù),后用SVM對手勢肌電信號進(jìn)行識別[2]。田園等利用Kinect的深度攝像頭去獲取手部深度信息,記錄特征點(diǎn)坐標(biāo),確定手指尖位置,然后用特征點(diǎn)匹配的方法識別手勢[3]。這些方法需要人工設(shè)計(jì)提取手勢特征,這不僅是一項(xiàng)繁瑣費(fèi)時的工作,而且還會因?yàn)樘崛【鹊蛯?dǎo)致識別準(zhǔn)確率不高。近些年來,深度學(xué)習(xí)在人工智能領(lǐng)域取得很大進(jìn)步。許悅雷等先利用主成分分析算法(PCA)的降維處理技術(shù)優(yōu)化CNN的權(quán)值,再用優(yōu)化后的CNN對手勢識別[4]。石雨鑫等結(jié)合CNN與隨機(jī)森林(RF)兩種算法進(jìn)行手勢識別,先對手勢進(jìn)行分割處理,接著利用CNN進(jìn)行特征提取,最后由隨機(jī)森林分類器完成手勢識別[5]。謝崢桂先對手勢圖像進(jìn)行手勢分割預(yù)處理,然后再用CNN進(jìn)行特征提取和識別[6]。
目前手勢識別仍然具有廣泛的實(shí)際應(yīng)用和現(xiàn)實(shí)意義,如識別手語促進(jìn)與聾啞人的交流、加強(qiáng)控制智能機(jī)器人使用戶更加自然、輔助汽車駕駛提高安全度等。手勢識別需要一個識別率高且泛化能力強(qiáng)的模型,為此本文設(shè)計(jì)了一種改進(jìn)CNN?SVM模型用于手勢識別,該模型首先對手勢圖像進(jìn)行手勢分割處理和數(shù)據(jù)增強(qiáng)處理,然后用加入Inception模塊改進(jìn)后的CNN完成對手勢特征的提取,最后通過SVM分類識別。對手勢進(jìn)行預(yù)處理,減少模型參數(shù),降低了算法復(fù)雜度;加入Inception模塊提高了對圖像尺度的適應(yīng)性;利用SVM分類提高了模型泛化能力和準(zhǔn)確率。為驗(yàn)證模型性能,在兩種數(shù)據(jù)集下進(jìn)行了測試。實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的模型較傳統(tǒng)模型泛化能力更強(qiáng),分類更準(zhǔn)確,識別率均達(dá)到98%以上。
1? 手勢圖像的預(yù)處理
1.1? 手勢分割處理
為了降低手勢圖像的復(fù)雜多樣性對手勢特征提取和訓(xùn)練過程中的影響,提高特征提取和識別的可靠性,需要先對手勢圖像進(jìn)行分割處理。手勢分割的方法有很多,常見的有膚色分割法、輪廓分割法、SS?ROI分割法等。觀察手勢圖像,很容易看出手部膚色是區(qū)別于其他物體的首要特征,本文選用膚色分割法對手勢圖像做分割處理。首先是顏色空間的選取,因?yàn)槭植磕w色在不一樣顏色空間中有著不一樣的區(qū)域分布,顏色空間有很多種,常用的有RGB 顏色空間、HSV 顏色空間和 YCrCb 顏色空間等。因?yàn)樵赮CrCb顏色空間中,膚色基本上不受亮度的影響,膚色點(diǎn)多數(shù)都落在Cr,Cb分量上,即在膚色分割過程中有不錯的效果和穩(wěn)定性[7]。所以本文選擇 YCrCb 空間對手勢圖像分割,手勢圖像映射到 YCrCb 空間所用關(guān)系式如下:
1.2? 數(shù)據(jù)集增強(qiáng)處理
為了訓(xùn)練更加有效的深度學(xué)習(xí)模型,提高模型對新圖片的適應(yīng)能力??紤]到手勢識別過程中實(shí)際情況的復(fù)雜性,如光照強(qiáng)度、手勢的方向、噪聲數(shù)據(jù)等影響,本文還對手勢圖片做了數(shù)據(jù)增強(qiáng)處理,包括對圖片的隨機(jī)上下翻轉(zhuǎn)、隨機(jī)左右翻轉(zhuǎn)、隨機(jī)裁剪、隨機(jī)設(shè)置圖片的亮度、隨機(jī)添加噪聲擾動。
2? 改進(jìn)的CNN與SVM混合模型
2.1? 傳統(tǒng)CNN結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)于1998年由Yann Lecun提出,該算法擅長處理識別各種圖像[9]。卷積神經(jīng)網(wǎng)絡(luò)是一種具有深度監(jiān)督學(xué)習(xí)結(jié)構(gòu)的多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),可以看作是由兩部分組成:自動特征提取器和可訓(xùn)練分類器。特征提取器包含特征映射層:卷積層、池化層以及全連接層。在本文中,卷積層從原始圖像中提取基本手勢特征;池化層再進(jìn)一步提取手勢的主要特征;在全連接層中匯總可以區(qū)別手勢的各個部分特征;最后由分類器進(jìn)行手勢的預(yù)測識別。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
2.2? 傳統(tǒng)CNN的改進(jìn)
2.2.1? Inception模塊
為了降低網(wǎng)絡(luò)復(fù)雜度,提高識別準(zhǔn)確率和網(wǎng)絡(luò)模型對尺度的適應(yīng)性。本文添加Inception 模塊來限制輸入信道的數(shù)量,這樣在同一層級網(wǎng)絡(luò)上可運(yùn)行多個尺寸的濾波器,即讓網(wǎng)絡(luò)層級變得更寬而不是更深。Inception模塊最開始出現(xiàn)于谷歌團(tuán)隊(duì)提出的GoogLeNet[10]網(wǎng)絡(luò)中,它利用3個不同大小的濾波器(1×1,3×3,5×5)對上層進(jìn)行卷積操作,并且其還可以執(zhí)行最大池化。最后全部子層的輸出連接在一起傳送至下一個模塊。Inception 結(jié)構(gòu)[11]如圖3所示。
2.2.2? SVM分類器
本文使用的卷積神經(jīng)網(wǎng)絡(luò)可以準(zhǔn)確地提取圖像中的手勢特征[12],在此基礎(chǔ)上,使用一些傳統(tǒng)的分類方法也能實(shí)現(xiàn)較高精度的分類。傳統(tǒng)分類方法有支持向量機(jī)分類、樸素貝葉斯分類、隨機(jī)森林分類等。其中,SVM學(xué)習(xí)[13]的超平面是距離各個類別樣本點(diǎn)最遠(yuǎn)的平面,用于分類的可靠性是機(jī)器學(xué)習(xí)工具中最好的。其采用最大類間分類平面的原則對樣本數(shù)據(jù)分類,相比于Softmax具有更強(qiáng)的泛化推廣能力和更高的識別準(zhǔn)確率。故本文選用SVM分類器替代原CNN模型中的Softmax分類器。SVM分類器替代原CNN模型中的Softmax分類器具體操作如下:
1) 訓(xùn)練原始CNN網(wǎng)絡(luò)得到較高的識別率;
2) 將訓(xùn)練模型中損失函數(shù)Softmax Loss更改為Hinge Loss;
3) 將全連接層之前的學(xué)習(xí)率系數(shù)lr_mult全部改為0,固定特征提取完畢;
4) 重新訓(xùn)練時就只訓(xùn)練最后的SVM分類器,訓(xùn)練一段時間直至CNN?SVM模型完成。
2.3? 混合模型網(wǎng)絡(luò)結(jié)構(gòu)
參照第2.1節(jié)傳統(tǒng)卷積網(wǎng)絡(luò)結(jié)構(gòu)圖,結(jié)合2.2節(jié),本文設(shè)計(jì)的用于手勢識別改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)由3個卷積層、3個池化層、1個全連接層、3個Inception結(jié)構(gòu)以及1個SVM分類層組成。其混合模型網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖4所示。
3? 混合模型訓(xùn)練與測試結(jié)果分析
本文采用自建手勢數(shù)據(jù)集訓(xùn)練和測試模型,隨后在經(jīng)典Minist數(shù)據(jù)集下驗(yàn)證。訓(xùn)練模型過程中使用隨機(jī)梯度下降法來最小化訓(xùn)練模型中的誤差,即每完成一次迭代時重新評估和更新一次權(quán)值。這個重復(fù)迭代到一定次數(shù)的過程可以找出使訓(xùn)練數(shù)據(jù)最小誤差的模型的系數(shù)。自建手勢數(shù)據(jù)集包含表示數(shù)字1~10的10種手勢如圖5所示,每種手勢有800張且手勢形態(tài)不一,共計(jì)8 000張手勢圖像。選取其中4 000張作為訓(xùn)練樣本,在訓(xùn)練過程中運(yùn)用數(shù)據(jù)增強(qiáng)技術(shù)提高模型的泛化能力,其余4 000張作為測試集,驗(yàn)證模型性能的優(yōu)劣。
4? 結(jié)? 語
本文設(shè)計(jì)了基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)的模型對手勢進(jìn)行識別。該模型主要修改了傳統(tǒng)CNN網(wǎng)絡(luò)結(jié)構(gòu)加入Inception模塊并結(jié)合SVM算法,首先對手勢圖像進(jìn)行分割處理和數(shù)據(jù)增強(qiáng)處理,然后利用該模型對手勢進(jìn)行識別分類。實(shí)驗(yàn)結(jié)果表明,改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)模型比傳統(tǒng)模型具有更好的識別性能。在接下來的研究中,將針對更加復(fù)雜的背景,如手部遮擋等情況進(jìn)行識別研究,同時嘗試多種圖像預(yù)處理算法,以求得到更精準(zhǔn)的識別率。
參考文獻(xiàn)
[1] 朱雯文,葉西寧.基于卷積神經(jīng)網(wǎng)絡(luò)的手勢識別算法[J].華東理工大學(xué)學(xué)報(自然科學(xué)版),2018,44(2):260?269.
[2] ROSSI M, BENATTI S, FARELLA E, et al. Hybrid EMG classifier based on HMM and SVM for hand gesture recognition in prosthetics [C]// 2015 IEEE International Conference on Industrial Technology. Seville: IEEE, 2015: 301?311.
[3] 田元,王學(xué)璠,王志鋒,等.基于Kinect的實(shí)時手勢識別方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2018,39(6):1721?1726.
[4] 史鶴歡,許悅雷,馬時平,等.PCA預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)識別算法[J].西安電子科技大學(xué)學(xué)報,2016,43(3):161?166.
[5] 石雨鑫,鄧洪敏,郭偉林.基于混合卷積神經(jīng)網(wǎng)絡(luò)的靜態(tài)手勢識別[J].計(jì)算機(jī)科學(xué),2019,46(z1):165?168.
[6] 謝錚桂.基于改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)的手勢識別的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2019,36(3):192?195.
[7] SHAIK B K, GANESAN P, KALIST V, et al. Comparative study of skin color detection and segmentation in HSV and YCbCr color space [J]. Procedia computer science, 2015, 57: 41?48.
[8] 楊世強(qiáng),弓逯琦.基于高斯模型的手部膚色建模與區(qū)域檢測[J].中國圖象圖形學(xué)報,2016,21(11):1492?1501.
[9] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報,2017,40(6):1229?1251.
[10] SZEGEDY C, LIU W, JIA Y Q, et al. Going deeper with convolutions [C]// 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 17?33.
[11] SZEGEDY C, VANHOUCKE V, IOFFE S, et al. Rethinking the inception architecture for computer vision [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 2818?2826.
[12] 溫靜,安國艷,梁宇棟.基于CNN特征提取和加權(quán)深度遷移的單目圖像深度估計(jì)[J].圖學(xué)學(xué)報,2019,40(2):248?255.
[13] 黃孝喜,李晗雨,王榮波,等.基于卷積神經(jīng)網(wǎng)絡(luò)與SVM分類器的隱喻識別[J].數(shù)據(jù)分析與知識發(fā)現(xiàn),2018,2(10):77?83.