葉茂華
(淮安信息職業技術學院,江蘇 淮安 223003)
基于CNN的手勢識別技術研究
葉茂華
(淮安信息職業技術學院,江蘇 淮安 223003)
手勢操作作為一種全新的操作方式,在智能設備中得到了廣泛應用。傳統的手勢識別方法需要復雜的預處理過程,識別速度與準確度比較差。文章提出一種基于CNN的手勢識別技術,取得了較好的識別效果,識別速度也有明顯的提升。
卷積神經網絡;手勢識別;特征提取
隨著人工智能技術的快速發展,人機交互得到了極大的豐富,從打字、觸屏到語音,交互方式的發展給人們的操作帶來了便利和極佳的使用體驗。近年來,手勢操作得到了人們廣泛的重視,通過對用戶不同手勢的識別,系統能夠理解用戶的意圖并完成相應的操作。本文主要利用卷積神經網絡(Convolutional Neural Network,CNN)較強的容錯性與魯棒性,提出了一種新的手勢識別技術,實現了較好的手勢識別性能。
神經網絡是一種利用仿生學原理,模仿大腦神經突觸的信息處理過程而建立的網絡模型。CNN是一種局部激活的前饋型神經網絡,具有局部感受野、權值共享與降采樣三大基本特征。典型的CNN主要由輸入層、輸出層、卷積層、池化層以及全連接層組成,其典型網絡結果如圖1所示。

圖1 CNN結果
通過圖1可以看出,當待處理圖像傳入輸入層后,需要經過若干個卷積層與池化層的處理,通過若干個全連接層得到最終的輸出結果。在卷積層通過濾波掩膜對圖像進行卷積操作,能夠實現圖像局部特征的提取,CNN局部感受野的特征得到了體現。同時在同一卷積層中掩膜的參數保持一致,體現了CNN權值共享的特征。經過卷積層的處理,圖像提取的特征進入池化層進行降采樣以減少后續數據的處理量,最大值池化是最常用的池化方式。通過上述處理,將提取的圖像特征拉伸為特征向量,再經過若干全連接層后,即可實現圖像特征的較好分類識別。
CNN主要包括各卷積層的掩膜參數、層與層間的傳遞權值等。這些參數需要利用大量的訓練數據進行優化調節,一般采用誤差反向傳遞傳播的方法,將誤差反向進行傳遞,并根據誤差逐層調節模型參數,最終達到較好的分類識別性能。
CNN的復雜網絡結果、大規模的可設置參數賦予其較強的容錯能力與魯棒性。一方面對圖像特征的提取具備平移、旋轉及尺度不變性,使得訓練好的CNN模型能夠較好地適應不同場景的識別問題。另一方面CNN模型在訓練中的調參過程耗時較長,一旦訓練完成,其識別過程十分迅速,極大增強了CNN的實用價值。
傳統的手勢識別方法首先通過邊緣檢測,提取手勢區域,之后利用邊緣特征、Hog特征、SIFT特征等實現手勢特征的提取,最后利用特征向量完成手勢的識別。這種方法學習能力較差,對場景的適應性不足。因此基于CNN的手勢識別方法,具有較強的容錯能力與適應性。
在實際應用中,手勢圖像通常只占全部圖像的一小部分,為了排除無關圖像對手勢識別可能造成的影響,需要對圖像進行簡單的預處理,主要包括手勢區域的檢測、分割與二值化操作。首先在較大尺度下,通過對人體軀干等結構的識別并在彩色圖像中檢測手勢所在區域;其次利用圖像分割,將手勢區域分割出來;然后將得到的手勢區域利用自適應閾值對圖像進行二值化操作,并將背景區域置0,手勢區域置1;最后再將手勢區域平移至圖像中心,并將圖像規范為統一大小,作為神經網絡的輸入。
考慮到手勢區域的圖像不大,特征豐富度不高,因此本文采用了一種6層處理模型,具體如圖2所示。

圖2 CNN結果
第一層為卷積層C1,利用5×5的卷積掩膜對圖像進行滑動卷積,得到局部圖像的初級特征;第二層為池化層S2,對C1層得到的局部特征圖像進行降采樣,利用2×2最大值池化掩膜實現特征數據的1/4降采樣;第三層為卷積層C3,利用5×5的卷積掩膜對池化得到的特征圖進行進一步特征提取,得到圖像的高級特征;第四層為池化層S4,進一步利用2×2最大值池化掩膜并對C3層得到的圖像高級特征進行降采樣;第五層為卷積層C5,與前兩卷積層不同,該層采用全連接方式,對S4層的全部特征進行卷積操作,得到圖像的特征向量;第六層為全連接層F6,通過C5特征向量上的全連接權重和,最終得到長度為10的識別結果向量。
CNN模型建立后,需要對其進行訓練,以實現模型參數的優化調節。本文采用了Thomas Moeslund手勢識別數據庫作為訓練樣本,選擇5類手勢作為訓練對象,每類收拾選擇1 000張手勢圖片,其中每次迭代訓練隨機選擇900張作為訓練樣本,另外100張作為測試樣本,共計迭代10次,得到最終的CNN模型。
CNN模型訓練完成后,利用數據集中已選取的測試樣本對模型的識別性能進行測試,得到5種手勢的識別結果,結果如圖3和表1所示。

圖3 手勢示意

表1 手勢識別結果
通過仿真實驗結果可以看出,模型對手勢1、手勢2以及手勢5的識別效果較好,均達到了100%的準確識別率,而手勢3與手勢4出現了部分誤識別情況,這主要由于手勢3與手勢4中拇指的間距較小,同時相互區分度不大,才導致在不同拍攝角度產生誤識別情況。總體來看,本文提出的基于CNN的手勢識別方法取得了較好的識別效果。
針對傳統手勢識別方法所存在的弊端,本文設計了針對手勢識別方法的CNN結構,并利用手勢數據集實現了網絡模型的訓練與參數的調節,最后通過仿真實驗的結果可以證明該方法在實際生活中具有較強的應用價值。
[1]蔡娟,蔡堅勇,廖曉東,等.基于卷積神經網絡的手勢識別初探[J].計算機系統應用,2015(4):113-117.
[2]賈維闖,宮進,吳雄華.基于加速度的BP神經網絡手勢識別設計[J].電子技術與軟件工程,2016(21):94.
[3]陳祖雪.基于深度卷積神經網絡的手勢識別研究[D].西安:陜西師范大學,2016.
Research on gesture recognition based on CNN
Ye Maohua
(Huai’an College of Information Technology, Huai’an 223003, China)
Gesture manipulation, as a new way of operation, has been widely applied in intelligent devices. Traditional gesture recognition methods generally need complex preprocessing with poor recognition speed and accuracy compared with the new. In this paper, a gesture recognition method based on convolutional neural network is proposed, good recognition results are achieved with recognition speed improved obviously.
convolutional neural network; gesture recognition; feature extraction
葉茂華(1981— ),男,江蘇淮安人,工程師,學士;研究方向:軟件工程。