国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于二值化卷積神經網絡的手勢分類方法研究

2017-02-23 14:05胡駿飛文志強譚海湖
湖南工業(yè)大學學報 2017年1期
關鍵詞:手勢權值正確率

胡駿飛,文志強,譚海湖

(湖南工業(yè)大學 計算機學院,湖南 株洲 412007)

基于二值化卷積神經網絡的手勢分類方法研究

胡駿飛,文志強,譚海湖

(湖南工業(yè)大學 計算機學院,湖南 株洲 412007)

針對手勢分類問題,提出了一種基于二值化卷積神經網絡的手勢分類方法。根據神經網絡在低精度化后仍能保持較高分類準確性和魯棒性的特點,結合傳統(tǒng)高精度卷積網絡手勢分類方法與二值化方法提出一種網絡結構。并通過實驗研究了隱層參數對手勢分類效果的影響,并與常用的方法進行了分類性能和運行效率對比。實驗結果表明,所提出的方法在N=512時的表現(xiàn)最佳,與其他方法相比,計算效率明顯提升,且錯誤率接近最好的結果。

卷積神經網絡;深度學習;二值化;手勢分類

0 引言

隨著時代變遷和科學技術發(fā)展,尤其是虛擬現(xiàn)實、無人機等技術的發(fā)展,人們對于人機交互的需求越來越多樣化。在眾多交互手段中,作為人類除語言外最為自然的交流方式之一的手勢,一定會獲得更高的接受度。因此,對手勢識別的研究有著重要意義。

目前,手勢識別在手機交互、體感游戲操作等領域應用廣泛。這些應用中通過使用距離檢測裝置(深度攝像頭)提高識別精度,達到了不錯的識別效果。但同樣制約了手勢識別的更廣泛應用,主要原因有:第一,市面上的攝像頭不具備深度探測功能;第二,深度檢測裝置成本較高。因此,設計一種適應于普通攝像頭的手勢識別算法是存在市場需求。

近些年來,由于Y.Lecun等[1]神經網絡研究者的努力,卷積神經網絡逐漸成為圖像分類領域最熱門的算法。一個重要原因是它的特征學習能力使得特征識別突破了需要人工設計的局限,使其具有了一定的通用性。但手勢分類的算法通常會用在許多計算能力不高的設備上,卷積神經網絡的大量計算消耗成為其更廣泛應用的阻礙。因此,本文采用二值化近似策略對卷積網絡手勢分類方法進行優(yōu)化,降低其計算消耗。采用二值化近似可有效減少權值的內存消耗,并簡化計算中的大量高精度乘法運算,在對正確率影響不大的情況下,提高計算效率。本文的目的是使用二值化卷積神經網絡(binary convolution neural networks,BCNN)對普通webcamera攝像頭手勢識別系統(tǒng)中的分類模塊進行優(yōu)化,包括二值化卷積神經網絡手勢分類模型的建立和參數選擇策略,以期獲得更快的運行效率和更優(yōu)的分類準確率。

1 相關工作

當前,手勢分類算法主要有以下幾種方式:對圖像直接利用k近鄰(k-nearest neighbor,KNN)進行手勢模板匹配分類[2];利用人手的幾何特征進行手勢分類,通過凸缺陷檢測分析指尖來分類手勢;還有一種非常流行的方法是采用從圖像中提取經過精心設計的通用特征,然后將這些特征輸入分類器達到對手勢進行分類識別的目的。這些算法的大量工作都放在了特征的選擇和設計上,常用的特征包括:Haar小波[3]、尺度不變特征變換(scale-invariant feature transform,SIFT)[4]、方向梯度直方圖(histogram of oriented gradient,HOG)[5]、hu矩[6]。

深度學習的興起導致各分類識別問題都開始使用卷積神經網絡(convolution neural networks,CNN)進行檢測分類。相對之前的各種算法,卷積神經網絡里輸入最后部分的分類器中的特征均從數據中學習得到。早在90年代,卷積網絡就已被應用到手勢識別領域中[7]。2011年,J.Nagi等[8]在手勢識別中采用了最大池化的卷積神經網絡(max pooling convolution neural networks,MPCNN)方式對人機交互中手勢進行分類識別,準確率達96.87%。2014年,該研究組研究了CNN與支持向量機(support vector machine,SVM)相結合的算法CNNSVM[9],進一步提升了正確率。常見的手勢識別技術見表1。

對二值化神經網絡的研究,源于著名的Bengio團隊對卷積神經網絡訓練過程中權值精度變化影響的研究[10]。他們發(fā)現(xiàn)在訓練過程中對卷積權值的精度進行降低(將浮點數改為定點數及動態(tài)定點數)對網絡的正確率影響非常小,但可顯著降低程序的內存占用。隨后的研究[11]中,他們進一步將權值精度降為二值,依然取得了與最高正確率相近的結果。不僅如此,這種二值的連接方式是一種類似于dropout(一種通過隨機阻斷傳播,減輕網絡過擬合問題的方法)的效果,降低了噪聲對網絡的影響。此外,還有一些簡化神經網絡計算的方法被提出,如:boolean network[12]在訓練中使用高精度權值,在測試中使用二值權值; V.P.Plagianakos等[13]采用3-bit的權值進行訓練,也取得了不錯的效果。

2 基于二值化卷積神經網絡的手勢分類

2.1 卷積神經網絡的結構設計

一個卷積神經網絡中包含許多操作層(layer)。在網絡的最前端,手勢圖像的像素點被拉成一個一維向量作為輸入層(input layer)輸入網絡,之后的每一層都會將上一層的輸出作為輸入進行一些簡單計算,然后把結果作為下一層的輸入,直到數據流在最后一層輸出結果,該過程稱正向傳播。每一層的計算都需一些參數,這些參數是控制輸出結果的關鍵,卷積神經網絡一般采用監(jiān)督學習的方式對這些參數進行訓練。網絡在進行訓練的過程中,通過計算輸出層的代價函數進行反向傳播,并在反向傳播中對每一層的參數進行更新。

神經網絡除了輸入層和輸出層,中間的層稱作隱層(hidden layer),目前使用的卷積神經網絡都擁有非常多的隱層??紤]到手勢識別的樣本復雜度,本文參考MPCNN網絡架構結構設計。網絡按照區(qū)塊(block)進行劃分,每個區(qū)塊包含若干個操作層,網絡區(qū)塊分為卷積塊、全連接塊和Softmax塊。

1)卷積塊。其主要對輸入數據進行卷積,包括卷積層、BatchNormal層、ReLU層及最大池化層。

卷積層,用一個固定大小的卷積核對輸入圖像進行卷積操作,得到的卷積圖像作為輸出。卷積層是一種部分聯(lián)通網絡,相比全聯(lián)通網絡需要的鏈接數要少,每個輸出值只與一個小區(qū)域鏈接,且同一幅卷積圖像的每個區(qū)域共享權值。這意味著卷積層需要學習的參數值只包含卷積核的參數及每個卷積核相應的偏置值。卷積層賦予了網絡對圖像的理解能力,實際上卷積的操作是提取圖像特定的特征,人類視覺系統(tǒng)的處理過程也是對圖像逐層提取特征逐步抽象。卷積層對參數的訓練就是訓練特定的特征提取器。

BatchNormal層,該層對輸入數據的各維度進行批量規(guī)范化,加入該層可有效提升網絡學習速率[14]。

ReLU(rectified linear units)層,這是一個非線性激活單元,通常作為激活函數用在全連接層之后。該層的表達式如式(1)所示,即

式中:L(X)為網絡層的函數;

X為該層輸入的數據張量。

此處是取X與0中的較大值。ReLU層中不存在需要學習的參數。ReLU是經常被用在現(xiàn)代神經網絡中的激活函數,相較于過去經常使用的sigmoid函數和tanh函數,它有著以下優(yōu)點:第一,相對于傳統(tǒng)的sigmoid和tanh,ReLU的計算比較簡單,極大地減少了訓練中的計算開銷;第二,ReLU是一種單端飽和的激活函數,可有效減少sigmoid這種雙端飽和函數在梯度反向傳播時造成的衰減現(xiàn)象,使得網絡能從這些在別的激活函數中被衰減掉的梯度中進行學習,加快了訓練的收斂速度;第三,ReLU作為一種稀疏性的激活函數,能有效減少干擾特征被激活造成的影響。然而由于ReLU對于負數輸入的梯度也為零,會造成某些情況下無法繼續(xù)學習。

最大池化層,通過對每個2×2的區(qū)域取出一個值來減小輸入圖片的尺寸。最大池化層取值的策略是取出各個區(qū)域中4個像素值中的最大值,最終輸出圖片的寬和高是輸入圖片的一半。最大池化層使得圖像網絡在向前傳播的過程中抽象到更高的層級,之后的卷積層可以在不同的尺度對圖像進行特征提取。

2)全連接塊。這一個區(qū)塊主要包含全連接層、BatchNormal層以及ReLU層。

全連接層,輸入數據會進行一次仿射變換,也就是輸入數據X與參數w進行點積運算再加上一個偏置b。一個有n個輸入和m個輸出的全連接層的表達式如式(2)所示:

3)Softmax塊。放在最后的一個區(qū)塊,由Softmax層組成。

通過Softmax層計算出的數值可以輸入代價函數優(yōu)化網絡,也可以作為測試的結果輸出。這一層同樣不具備學習參數。Softmax層輸出數值代表著網絡對輸入對象屬于哪種類型的概率評估,因此這些數值相加之和為1。該層的表達式如式(3)所示,即

式中:L(x)i為輸入對象屬于第i類的概率;

xi為第i類的輸入值;

K為輸入的總類數。

Softmax是邏輯回歸在多分類問題上的推廣,分類標簽可以取得兩個以上的值,在手勢識別中需要對兩個以上的手勢進行分類。

2.2 傳統(tǒng)卷積網絡的二值化方法

目前通行的深度卷積神經網絡算法都有一個共同缺陷,就是計算消耗巨大。主要體現(xiàn)在:1)權值占用大量內存,這是由于權值采用雙精度浮點數,而一個深度神經網絡往往擁有上百萬個權值,一個vgg網絡(牛津大學Visual Geometry Group推出的網絡,簡稱為vgg網絡)權值可以占到1 GB,AlexNet網絡占用約500 MB;2)計算中存在大量的乘法運算,高精度的數乘運算對計算資源的消耗巨大。因此,對網絡計算消耗的優(yōu)化也主要圍繞這兩個方面展開。

研究組在MPCNN手勢分類方法的基礎上,提出一種基于二值化的卷積神經網絡手勢分類方法,采用二值化近似的策略對神經網絡進行改進,降低其對計算資源的消耗。二值化網絡降低計算資源消耗的方式主要有兩個:第一,采用二值化近似的權值表示原有的雙精度權值,降低了網絡在計算中的內存占用;第二,對每一層中計算消耗最大的乘法計算中的輸入和權值采用二值化近似的值進行替代,這樣乘法計算就可以簡化成加減法甚至位運算。

以卷積塊為例,對卷積神經網絡進行二值化近似改造的具體方式如下。

第一步,在正向傳播過程中,對卷積網絡的權值矩陣w中每個元素按照式(4)進行二值化得到wb,并保留原本的w,即

wb代表二值化近似后得到矩陣wb中的權值,其中,cf, wf, hf為卷積核的數量、寬度和高度。標準的sign函數中,當w=0時,會取得sign(w)=0,而這里為了達到二值化的效果,不允許有第3個值存在,所以規(guī)定當w=0時取sign(w)=1。

第二步,在每層的前一層之前增加一個二值化激活層得到節(jié)點值Xb,替代原本的ReLU激活層,如式(5)所示,即

最后,將得到的Xb與權值wb在二值化卷積層進行卷積操作,如式(6)所示,即

式中:Lb(Xb)為二值化的網絡層函數;

Xb, wb分別經過式(4)和式(5)得到。

對于卷積塊,其結構也需要一定的調整。將歸一化處理BatchNormal層和二值化激活層放在卷積操作之前,這個是為了防止二值化激活層的結果在經過最大池化層時出現(xiàn)結果大多數為1的情況。具體的網絡改變對比如圖1所示。

訓練的反向傳播過程如下:最后一層算出梯度,倒數第二層到第一層逐層反向傳播算出節(jié)點的梯度以及權值的梯度,再對二值化前保留的w進行更新得到wu并進行如式(7)的clip操作,即

式中:wu為在正向傳播過程中保留的浮點數權值更新后的值;

3 實驗結果及分析

3.1 實驗環(huán)境與數據集

實驗在linux ubuntu14.04環(huán)境下進行,實驗計算機配置采用英特爾(Intel) i5處理器、內存8 G,用于CUDA加速的GPU為NVIDIA GTX950。圖像采集以及預處理使用普通的webcamera+opencv,深度神經網絡的建立訓練在theano框架下進行。圖2為實驗采用的數據集。

實驗采用的數據集由兩部分組成,一部分是根據美國標準手語0~9為標準使用webcamera采集的10種手勢,這里簡稱為W手勢集。W手勢集在webcamera采集過程采取不同的光照以及不同的手勢角度,每種手勢包含2 200個樣本,共22 000個樣本。另一部分是Massey大學研究者制作的美國標準手語數據集[15],簡稱為M手勢集。該數據集從5位志愿者的身上采集了包括代表數字0~9以及字母與a~z的手勢總共2 515個手勢樣本,每種手勢取65個樣本。

3.2 網絡的訓練與參數的選擇

實驗采用的網絡結構由2個卷積塊、2個全連接塊和1個Softmax塊組成。卷積塊的設計相對固定,所以參考文獻[8]的設計,核心大小均為3×3,特征圖的個數均設計為20個。全連接塊2的節(jié)點數量由訓練數據的類別決定,全連接塊1的節(jié)點數量N由實驗中的測試結果決定。具體網絡設置如表2所示。

分別取N等于64, 128, 300, 512和1 024進行對比。由于W手勢集和M手勢集存在比較大的差異,所以這里使用W數據集作為訓練集,M數據集作為測試集進行實驗,更能體現(xiàn)網絡的泛化能力。網絡的訓練過程采用Adam[16]的方式進行權值更新,使用dropout進行規(guī)范化處理,增強網絡的魯棒性。在不同節(jié)點數,經過200 epcho的訓練得到:1)取不同N條件下網絡的收斂過程,如圖3所示;2)不同N條件下網絡的錯誤率,如圖4所示。

從訓練結果可看出N在取512時相對其他選擇項收斂的結果更為穩(wěn)定,取得的正確率更高。因此,取512作為手勢分類網絡的隱層節(jié)點數N的值。

3.3 實驗比較

為了驗證分類性能,將提出的方法與以下3種分類方法進行對比:1)基于k近鄰的手勢分類方法[2],該方法直接使用圖片的像素點作為輸入,分類器的參數取k=5;2)采取手勢的方向梯度直方圖特征,再使用SVM作為分類器(HOG-SVM)的手勢分類方法[5];3)使用高精度的卷積神經網絡的手勢分類方法,該方法采用與本文相同的網絡架構,即2個包含20個3×3卷積塊鏈接、一個包含512個隱層節(jié)點的全連接塊(MPCNN)[8]。提出方法采用的隱層節(jié)點數N=512(BCNN)。

對比實驗共包含3組實驗:第一組,在分別從W數據集每種手勢中隨機取出2 000個樣本作為訓練集,另外的200個樣本作為測試集;第二組,采用M數據集中的數字0~9的手勢樣本每組取55個作為訓練集,10個作為測試集;第三組,使用W數據集作為訓練集,M數據集作為測試集。對KNN、HOG-SVM、MPCNN和提出方法BCNN分別進行實驗,實驗的測試結果見表3,其中運行時間為處理2 000個樣本的運行時間。

通過實驗結果可以看出,KNN能從總體上比較完整地體現(xiàn)出數據集的空間分布正確率較高,但是其計算效率低,消耗內存較大,尤其是在訓練集比較大的情況下特別嚴重。HOG-SVM雖然計算效率大幅提升,但是正確率下滑嚴重。MPCNN網絡進行分類,無論是正確率還是運行效率,都要高于傳統(tǒng)方法,是一種十分優(yōu)秀的分類模型。在MPCNN網絡相同架構的情況下,BCNN網絡在第一組和第二組實驗中的正確率僅有很小的降低,在第三組實驗中甚至還超過MPCNN網絡,且在運行效率上有了進一步提升。由于theano框架內在計算機制會將二值化的權值也當做高精度進行計算,其在高精度的神經網絡和二值化的神經網絡測試運行時間差保持在同一個數量級上,加速效果還沒有達到理論值,因此下一步的研究將會放在前向傳播的程序優(yōu)化上。

4 結語

針對手勢分類問題,對多種手勢分類方法特別是卷積神經網絡的方法進行了研究[17],提出一種基于二值化卷積神經網絡手勢分類方法。對所提出方法的隱層節(jié)點數N在取不同參數情況下的分類準確率和訓練收斂穩(wěn)定性進行對比實驗,結果表明該方法在N=512的表現(xiàn)最佳。通過與其他3種分類算法的對比實驗,證明了MPCNN比KNN和HOG-SVM模型具備更好的魯棒性、準確度和運行效率,而二值化的卷積神經網絡BCNN在分類準確性損失不大的情況下進一步提高了運行的效率。由于二值算法的計算效率高,可以將其運行在一些小微型設備上,用于開發(fā)手勢識別系統(tǒng)。接下來的研究可以放在進一步提高算法的準確性以及對二值算法的移植上。

[1]LECUN Y,KAVUKCUOGLU K,F(xiàn)ARABET C.Convolutional Networks and Applications in Vision[C]// Proceedings of 2010 IEEE International Symposium on Circuits and Systems (ISCAS).Paris:IEEE,2010:253-256.

[2]STENGER B.Template-Based Hand Pose Recognition Using Multiple Cues[C]//Asian Conference on Computer Vision-ACCV 2006.Hyderabad:DBLP,2006:551-560.

[3]安 濤,彭進業(yè),吳 靜.基于Haar小波分解的實時手勢識別[J].計算機工程,2011,37(24):138-140.

AN Tao,PENG Jinye,WU Jing.Real-Time Gesture Recognition Based on Haar Wavelet Decomposition[J].Computer Engineering,2011,37(24):138-140.

[4]DARDAS N H,GEORGANAS N D.Real-Time Hand Gesture Detection and Recognition Using Bag-of-Features and Support Vector Machine Techniques[J].IEEE Transactions on Instrumentation and Measurement,2011,60(11):3592-3607.

[5]任 彧,顧成成.基于HOG特征和SVM的手勢識別[J].科技通報,2011,27(2):211-214.

REN Yu,GU Chengcheng.Hand Gesture Recognition Based on HOG Characters and SVM[J].Bulletin of Science and Technology,2011,27(2):211-214.

[6]翁漢良,戰(zhàn)蔭偉.基于視覺的多特征手勢識別[J].計算機工程與科學,2012,34(2):123-127.

WENG Hanliang,ZHAN Yinwei.Vision-Based Hand Gesture Recognition with Multiple Cues[J].Computer Engineering and Science,2012,34(2):123-127.

[7]NOWLAN S J,PLATT J C.A Convolutional Neural Network Hand Tracker[C]//Advances in Neural Information Processing Systems 8.Denver:NIPS,1995:901-908.

[8]NAGI J,DUCATELLE F,CARO G A D,et al.Max-Pooling Convolutional Neural Networks for Vision-Based Hand Gesture Recognition[C]//2011 IEEE International Conference on Signal and Image Processing Applications (ICSIPA).Kuala Lumpur:IEEE,2011:342-347.

[9]NAGI J,CARO G A D,GIUSTI A,et al.Convolutional Neural Support Vector Machines:Hybrid Visual Pattern Classifiers for Multi-Robot Systems[C]//2012 11th International Conference on Machine Learning and Applications (ICMLA).Raton:IEEE,2012:27-32.

[10]COURBARIAUX M,DAVID J P,BENGIO Y.Training Deep Neural Networks with Low Precision Multiplications[J/OL].[2016-10-22].http://arxiv.org/ abs/1412.7024.

[11]COURBARIAUX M,BENGIO Y,DAVID J P B.Binary Connect:Training Deep Neural Networks with Binary Weights During Propagations[J/OL].[2015-11-12].http://arxiv.org/abs/1511.00363.

[12]KIM M,SMARAGDIS P.Bitwise Neural Networks[J/ OL].[2016-01-22].http://arxiv.org/abs/1601.06071.

[13]PLAGIANAKOS V P,VRAHATIS M N.Training Neural Networks with 3-Bit Integer Weights[C]// Proceedings of Genetic and Evolutionary Computation Conference (GECCO 1999).Orlando:IEEE,1999:910-915.

[14]IOFFE S,SZEGEDY C.Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift[J/OL].[2016-12-02].http:// arxiv.org/abs/1502.03167.

[15]BARCZAK A L C,REYES N H,ABASTILLAS M,et al.A New 2D Static Hand Gesture Colour Image Dataset for ASL Gestures[J].Research Letters in the Information and Mathematical Sciences,2011,15:12-20.

[16]KINGMA D,BA J.Adam:A Method for Stochastic Optimization[J/OL].[2016-12-20].http://arxiv.org/abs/ 1412.6980.

[17]盧永樂,文志強,李建飛.基于改進模擬退火算法的LUT逆半調模板選擇[J].湖南工業(yè)大學學報,2015,29(1):76-82.

LU Yongle,WEN Zhiqiang,LI Jianfei.Template Selection for LUT Inverse Halftoning Based on Improved Simulated Annealing Algorithm[J].Journal of Hunan University of Technology,2015,29(1):76-82.

(責任編輯:申 劍)

Research on Hand Gesture Classification Based on Binary Convolutional Neural Networks

HU Junfei,WEN Zhiqiang,TAN Haihu
(School of Computer,Hunan University of Technology,Zhuzhou Hunan 412007,China)

A classification method based on binary convolutional neural networks has been proposed in view of some problems in current gesture classification.Based on the characteristics of neural networks, which can keep a relatively high degree of accuracy and robustness in classification even under a low precision, a proposal has been made of a new network structure with the traditional high-precision classification method of convolutional networks and the binary classification method combined together.In the process of the experiment, a research has been conducted on the effect of hidden layer parameters on the hand gesture classification, followed by a comparison between the classification performance and the operational efficiency of the conventional classification methods.The experimental results show that the proposed method has the best performance when N=512.Compared with other methods, its computational efficiency has been significantly improved, with its error rate close to the best result.

convolutional neural networks;deep learning;binary;gesture classification

TP391

A

1673-9833(2017)01-0075-06

10.3969/j.issn.1673-9833.2017.01.014

2016-12-23

國家自然科學基金資助項目(61170102)

胡駿飛(1990-),男,湖南邵陽人,湖南工業(yè)大學碩士生,主要研究方向為深度學習,E-mail:hjunfei@foxmail.com

猜你喜歡
手勢權值正確率
一種融合時間權值和用戶行為序列的電影推薦模型
CONTENTS
門診分診服務態(tài)度與正確率對護患關系的影響
挑戰(zhàn)!神秘手勢
V字手勢的由來
基于MATLAB的LTE智能天線廣播波束仿真與權值優(yōu)化
勝利的手勢
基于權值動量的RBM加速學習算法研究
生意
品管圈活動在提高介入手術安全核查正確率中的應用
沙坪坝区| 天峨县| 原平市| 额济纳旗| SHOW| 天等县| 进贤县| 屏边| 三门县| 江川县| 淅川县| 绥德县| 抚宁县| 藁城市| 内乡县| 河源市| 民权县| 绥江县| 平远县| 吉首市| 林州市| 龙口市| 万安县| 垣曲县| 普格县| 扶沟县| 嘉荫县| 湟源县| 西平县| 浮山县| 崇义县| 临夏县| 呼伦贝尔市| 寿阳县| 青田县| 尼玛县| 和林格尔县| 奉节县| 普兰县| 磴口县| 盐城市|