胡駿飛,文志強(qiáng),譚海湖
(湖南工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,湖南 株洲 412007)
基于二值化卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)分類(lèi)方法研究
胡駿飛,文志強(qiáng),譚海湖
(湖南工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,湖南 株洲 412007)
針對(duì)手勢(shì)分類(lèi)問(wèn)題,提出了一種基于二值化卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)分類(lèi)方法。根據(jù)神經(jīng)網(wǎng)絡(luò)在低精度化后仍能保持較高分類(lèi)準(zhǔn)確性和魯棒性的特點(diǎn),結(jié)合傳統(tǒng)高精度卷積網(wǎng)絡(luò)手勢(shì)分類(lèi)方法與二值化方法提出一種網(wǎng)絡(luò)結(jié)構(gòu)。并通過(guò)實(shí)驗(yàn)研究了隱層參數(shù)對(duì)手勢(shì)分類(lèi)效果的影響,并與常用的方法進(jìn)行了分類(lèi)性能和運(yùn)行效率對(duì)比。實(shí)驗(yàn)結(jié)果表明,所提出的方法在N=512時(shí)的表現(xiàn)最佳,與其他方法相比,計(jì)算效率明顯提升,且錯(cuò)誤率接近最好的結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò);深度學(xué)習(xí);二值化;手勢(shì)分類(lèi)
隨著時(shí)代變遷和科學(xué)技術(shù)發(fā)展,尤其是虛擬現(xiàn)實(shí)、無(wú)人機(jī)等技術(shù)的發(fā)展,人們對(duì)于人機(jī)交互的需求越來(lái)越多樣化。在眾多交互手段中,作為人類(lèi)除語(yǔ)言外最為自然的交流方式之一的手勢(shì),一定會(huì)獲得更高的接受度。因此,對(duì)手勢(shì)識(shí)別的研究有著重要意義。
目前,手勢(shì)識(shí)別在手機(jī)交互、體感游戲操作等領(lǐng)域應(yīng)用廣泛。這些應(yīng)用中通過(guò)使用距離檢測(cè)裝置(深度攝像頭)提高識(shí)別精度,達(dá)到了不錯(cuò)的識(shí)別效果。但同樣制約了手勢(shì)識(shí)別的更廣泛應(yīng)用,主要原因有:第一,市面上的攝像頭不具備深度探測(cè)功能;第二,深度檢測(cè)裝置成本較高。因此,設(shè)計(jì)一種適應(yīng)于普通攝像頭的手勢(shì)識(shí)別算法是存在市場(chǎng)需求。
近些年來(lái),由于Y.Lecun等[1]神經(jīng)網(wǎng)絡(luò)研究者的努力,卷積神經(jīng)網(wǎng)絡(luò)逐漸成為圖像分類(lèi)領(lǐng)域最熱門(mén)的算法。一個(gè)重要原因是它的特征學(xué)習(xí)能力使得特征識(shí)別突破了需要人工設(shè)計(jì)的局限,使其具有了一定的通用性。但手勢(shì)分類(lèi)的算法通常會(huì)用在許多計(jì)算能力不高的設(shè)備上,卷積神經(jīng)網(wǎng)絡(luò)的大量計(jì)算消耗成為其更廣泛應(yīng)用的阻礙。因此,本文采用二值化近似策略對(duì)卷積網(wǎng)絡(luò)手勢(shì)分類(lèi)方法進(jìn)行優(yōu)化,降低其計(jì)算消耗。采用二值化近似可有效減少權(quán)值的內(nèi)存消耗,并簡(jiǎn)化計(jì)算中的大量高精度乘法運(yùn)算,在對(duì)正確率影響不大的情況下,提高計(jì)算效率。本文的目的是使用二值化卷積神經(jīng)網(wǎng)絡(luò)(binary convolution neural networks,BCNN)對(duì)普通webcamera攝像頭手勢(shì)識(shí)別系統(tǒng)中的分類(lèi)模塊進(jìn)行優(yōu)化,包括二值化卷積神經(jīng)網(wǎng)絡(luò)手勢(shì)分類(lèi)模型的建立和參數(shù)選擇策略,以期獲得更快的運(yùn)行效率和更優(yōu)的分類(lèi)準(zhǔn)確率。
當(dāng)前,手勢(shì)分類(lèi)算法主要有以下幾種方式:對(duì)圖像直接利用k近鄰(k-nearest neighbor,KNN)進(jìn)行手勢(shì)模板匹配分類(lèi)[2];利用人手的幾何特征進(jìn)行手勢(shì)分類(lèi),通過(guò)凸缺陷檢測(cè)分析指尖來(lái)分類(lèi)手勢(shì);還有一種非常流行的方法是采用從圖像中提取經(jīng)過(guò)精心設(shè)計(jì)的通用特征,然后將這些特征輸入分類(lèi)器達(dá)到對(duì)手勢(shì)進(jìn)行分類(lèi)識(shí)別的目的。這些算法的大量工作都放在了特征的選擇和設(shè)計(jì)上,常用的特征包括:Haar小波[3]、尺度不變特征變換(scale-invariant feature transform,SIFT)[4]、方向梯度直方圖(histogram of oriented gradient,HOG)[5]、hu矩[6]。
深度學(xué)習(xí)的興起導(dǎo)致各分類(lèi)識(shí)別問(wèn)題都開(kāi)始使用卷積神經(jīng)網(wǎng)絡(luò)(convolution neural networks,CNN)進(jìn)行檢測(cè)分類(lèi)。相對(duì)之前的各種算法,卷積神經(jīng)網(wǎng)絡(luò)里輸入最后部分的分類(lèi)器中的特征均從數(shù)據(jù)中學(xué)習(xí)得到。早在90年代,卷積網(wǎng)絡(luò)就已被應(yīng)用到手勢(shì)識(shí)別領(lǐng)域中[7]。2011年,J.Nagi等[8]在手勢(shì)識(shí)別中采用了最大池化的卷積神經(jīng)網(wǎng)絡(luò)(max pooling convolution neural networks,MPCNN)方式對(duì)人機(jī)交互中手勢(shì)進(jìn)行分類(lèi)識(shí)別,準(zhǔn)確率達(dá)96.87%。2014年,該研究組研究了CNN與支持向量機(jī)(support vector machine,SVM)相結(jié)合的算法CNNSVM[9],進(jìn)一步提升了正確率。常見(jiàn)的手勢(shì)識(shí)別技術(shù)見(jiàn)表1。
對(duì)二值化神經(jīng)網(wǎng)絡(luò)的研究,源于著名的Bengio團(tuán)隊(duì)對(duì)卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中權(quán)值精度變化影響的研究[10]。他們發(fā)現(xiàn)在訓(xùn)練過(guò)程中對(duì)卷積權(quán)值的精度進(jìn)行降低(將浮點(diǎn)數(shù)改為定點(diǎn)數(shù)及動(dòng)態(tài)定點(diǎn)數(shù))對(duì)網(wǎng)絡(luò)的正確率影響非常小,但可顯著降低程序的內(nèi)存占用。隨后的研究[11]中,他們進(jìn)一步將權(quán)值精度降為二值,依然取得了與最高正確率相近的結(jié)果。不僅如此,這種二值的連接方式是一種類(lèi)似于dropout(一種通過(guò)隨機(jī)阻斷傳播,減輕網(wǎng)絡(luò)過(guò)擬合問(wèn)題的方法)的效果,降低了噪聲對(duì)網(wǎng)絡(luò)的影響。此外,還有一些簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)計(jì)算的方法被提出,如:boolean network[12]在訓(xùn)練中使用高精度權(quán)值,在測(cè)試中使用二值權(quán)值; V.P.Plagianakos等[13]采用3-bit的權(quán)值進(jìn)行訓(xùn)練,也取得了不錯(cuò)的效果。
2.1 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)
一個(gè)卷積神經(jīng)網(wǎng)絡(luò)中包含許多操作層(layer)。在網(wǎng)絡(luò)的最前端,手勢(shì)圖像的像素點(diǎn)被拉成一個(gè)一維向量作為輸入層(input layer)輸入網(wǎng)絡(luò),之后的每一層都會(huì)將上一層的輸出作為輸入進(jìn)行一些簡(jiǎn)單計(jì)算,然后把結(jié)果作為下一層的輸入,直到數(shù)據(jù)流在最后一層輸出結(jié)果,該過(guò)程稱(chēng)正向傳播。每一層的計(jì)算都需一些參數(shù),這些參數(shù)是控制輸出結(jié)果的關(guān)鍵,卷積神經(jīng)網(wǎng)絡(luò)一般采用監(jiān)督學(xué)習(xí)的方式對(duì)這些參數(shù)進(jìn)行訓(xùn)練。網(wǎng)絡(luò)在進(jìn)行訓(xùn)練的過(guò)程中,通過(guò)計(jì)算輸出層的代價(jià)函數(shù)進(jìn)行反向傳播,并在反向傳播中對(duì)每一層的參數(shù)進(jìn)行更新。
神經(jīng)網(wǎng)絡(luò)除了輸入層和輸出層,中間的層稱(chēng)作隱層(hidden layer),目前使用的卷積神經(jīng)網(wǎng)絡(luò)都擁有非常多的隱層??紤]到手勢(shì)識(shí)別的樣本復(fù)雜度,本文參考MPCNN網(wǎng)絡(luò)架構(gòu)結(jié)構(gòu)設(shè)計(jì)。網(wǎng)絡(luò)按照區(qū)塊(block)進(jìn)行劃分,每個(gè)區(qū)塊包含若干個(gè)操作層,網(wǎng)絡(luò)區(qū)塊分為卷積塊、全連接塊和Softmax塊。
1)卷積塊。其主要對(duì)輸入數(shù)據(jù)進(jìn)行卷積,包括卷積層、BatchNormal層、ReLU層及最大池化層。
卷積層,用一個(gè)固定大小的卷積核對(duì)輸入圖像進(jìn)行卷積操作,得到的卷積圖像作為輸出。卷積層是一種部分聯(lián)通網(wǎng)絡(luò),相比全聯(lián)通網(wǎng)絡(luò)需要的鏈接數(shù)要少,每個(gè)輸出值只與一個(gè)小區(qū)域鏈接,且同一幅卷積圖像的每個(gè)區(qū)域共享權(quán)值。這意味著卷積層需要學(xué)習(xí)的參數(shù)值只包含卷積核的參數(shù)及每個(gè)卷積核相應(yīng)的偏置值。卷積層賦予了網(wǎng)絡(luò)對(duì)圖像的理解能力,實(shí)際上卷積的操作是提取圖像特定的特征,人類(lèi)視覺(jué)系統(tǒng)的處理過(guò)程也是對(duì)圖像逐層提取特征逐步抽象。卷積層對(duì)參數(shù)的訓(xùn)練就是訓(xùn)練特定的特征提取器。
BatchNormal層,該層對(duì)輸入數(shù)據(jù)的各維度進(jìn)行批量規(guī)范化,加入該層可有效提升網(wǎng)絡(luò)學(xué)習(xí)速率[14]。
ReLU(rectified linear units)層,這是一個(gè)非線(xiàn)性激活單元,通常作為激活函數(shù)用在全連接層之后。該層的表達(dá)式如式(1)所示,即
式中:L(X)為網(wǎng)絡(luò)層的函數(shù);
X為該層輸入的數(shù)據(jù)張量。
此處是取X與0中的較大值。ReLU層中不存在需要學(xué)習(xí)的參數(shù)。ReLU是經(jīng)常被用在現(xiàn)代神經(jīng)網(wǎng)絡(luò)中的激活函數(shù),相較于過(guò)去經(jīng)常使用的sigmoid函數(shù)和tanh函數(shù),它有著以下優(yōu)點(diǎn):第一,相對(duì)于傳統(tǒng)的sigmoid和tanh,ReLU的計(jì)算比較簡(jiǎn)單,極大地減少了訓(xùn)練中的計(jì)算開(kāi)銷(xiāo);第二,ReLU是一種單端飽和的激活函數(shù),可有效減少sigmoid這種雙端飽和函數(shù)在梯度反向傳播時(shí)造成的衰減現(xiàn)象,使得網(wǎng)絡(luò)能從這些在別的激活函數(shù)中被衰減掉的梯度中進(jìn)行學(xué)習(xí),加快了訓(xùn)練的收斂速度;第三,ReLU作為一種稀疏性的激活函數(shù),能有效減少干擾特征被激活造成的影響。然而由于ReLU對(duì)于負(fù)數(shù)輸入的梯度也為零,會(huì)造成某些情況下無(wú)法繼續(xù)學(xué)習(xí)。
最大池化層,通過(guò)對(duì)每個(gè)2×2的區(qū)域取出一個(gè)值來(lái)減小輸入圖片的尺寸。最大池化層取值的策略是取出各個(gè)區(qū)域中4個(gè)像素值中的最大值,最終輸出圖片的寬和高是輸入圖片的一半。最大池化層使得圖像網(wǎng)絡(luò)在向前傳播的過(guò)程中抽象到更高的層級(jí),之后的卷積層可以在不同的尺度對(duì)圖像進(jìn)行特征提取。
2)全連接塊。這一個(gè)區(qū)塊主要包含全連接層、BatchNormal層以及ReLU層。
全連接層,輸入數(shù)據(jù)會(huì)進(jìn)行一次仿射變換,也就是輸入數(shù)據(jù)X與參數(shù)w進(jìn)行點(diǎn)積運(yùn)算再加上一個(gè)偏置b。一個(gè)有n個(gè)輸入和m個(gè)輸出的全連接層的表達(dá)式如式(2)所示:
3)Softmax塊。放在最后的一個(gè)區(qū)塊,由Softmax層組成。
通過(guò)Softmax層計(jì)算出的數(shù)值可以輸入代價(jià)函數(shù)優(yōu)化網(wǎng)絡(luò),也可以作為測(cè)試的結(jié)果輸出。這一層同樣不具備學(xué)習(xí)參數(shù)。Softmax層輸出數(shù)值代表著網(wǎng)絡(luò)對(duì)輸入對(duì)象屬于哪種類(lèi)型的概率評(píng)估,因此這些數(shù)值相加之和為1。該層的表達(dá)式如式(3)所示,即
式中:L(x)i為輸入對(duì)象屬于第i類(lèi)的概率;
xi為第i類(lèi)的輸入值;
K為輸入的總類(lèi)數(shù)。
Softmax是邏輯回歸在多分類(lèi)問(wèn)題上的推廣,分類(lèi)標(biāo)簽可以取得兩個(gè)以上的值,在手勢(shì)識(shí)別中需要對(duì)兩個(gè)以上的手勢(shì)進(jìn)行分類(lèi)。
2.2 傳統(tǒng)卷積網(wǎng)絡(luò)的二值化方法
目前通行的深度卷積神經(jīng)網(wǎng)絡(luò)算法都有一個(gè)共同缺陷,就是計(jì)算消耗巨大。主要體現(xiàn)在:1)權(quán)值占用大量?jī)?nèi)存,這是由于權(quán)值采用雙精度浮點(diǎn)數(shù),而一個(gè)深度神經(jīng)網(wǎng)絡(luò)往往擁有上百萬(wàn)個(gè)權(quán)值,一個(gè)vgg網(wǎng)絡(luò)(牛津大學(xué)Visual Geometry Group推出的網(wǎng)絡(luò),簡(jiǎn)稱(chēng)為vgg網(wǎng)絡(luò))權(quán)值可以占到1 GB,AlexNet網(wǎng)絡(luò)占用約500 MB;2)計(jì)算中存在大量的乘法運(yùn)算,高精度的數(shù)乘運(yùn)算對(duì)計(jì)算資源的消耗巨大。因此,對(duì)網(wǎng)絡(luò)計(jì)算消耗的優(yōu)化也主要圍繞這兩個(gè)方面展開(kāi)。
研究組在MPCNN手勢(shì)分類(lèi)方法的基礎(chǔ)上,提出一種基于二值化的卷積神經(jīng)網(wǎng)絡(luò)手勢(shì)分類(lèi)方法,采用二值化近似的策略對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),降低其對(duì)計(jì)算資源的消耗。二值化網(wǎng)絡(luò)降低計(jì)算資源消耗的方式主要有兩個(gè):第一,采用二值化近似的權(quán)值表示原有的雙精度權(quán)值,降低了網(wǎng)絡(luò)在計(jì)算中的內(nèi)存占用;第二,對(duì)每一層中計(jì)算消耗最大的乘法計(jì)算中的輸入和權(quán)值采用二值化近似的值進(jìn)行替代,這樣乘法計(jì)算就可以簡(jiǎn)化成加減法甚至位運(yùn)算。
以卷積塊為例,對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行二值化近似改造的具體方式如下。
第一步,在正向傳播過(guò)程中,對(duì)卷積網(wǎng)絡(luò)的權(quán)值矩陣w中每個(gè)元素按照式(4)進(jìn)行二值化得到wb,并保留原本的w,即
wb代表二值化近似后得到矩陣wb中的權(quán)值,其中,cf, wf, hf為卷積核的數(shù)量、寬度和高度。標(biāo)準(zhǔn)的sign函數(shù)中,當(dāng)w=0時(shí),會(huì)取得sign(w)=0,而這里為了達(dá)到二值化的效果,不允許有第3個(gè)值存在,所以規(guī)定當(dāng)w=0時(shí)取sign(w)=1。
第二步,在每層的前一層之前增加一個(gè)二值化激活層得到節(jié)點(diǎn)值Xb,替代原本的ReLU激活層,如式(5)所示,即
最后,將得到的Xb與權(quán)值wb在二值化卷積層進(jìn)行卷積操作,如式(6)所示,即
式中:Lb(Xb)為二值化的網(wǎng)絡(luò)層函數(shù);
Xb, wb分別經(jīng)過(guò)式(4)和式(5)得到。
對(duì)于卷積塊,其結(jié)構(gòu)也需要一定的調(diào)整。將歸一化處理BatchNormal層和二值化激活層放在卷積操作之前,這個(gè)是為了防止二值化激活層的結(jié)果在經(jīng)過(guò)最大池化層時(shí)出現(xiàn)結(jié)果大多數(shù)為1的情況。具體的網(wǎng)絡(luò)改變對(duì)比如圖1所示。
訓(xùn)練的反向傳播過(guò)程如下:最后一層算出梯度,倒數(shù)第二層到第一層逐層反向傳播算出節(jié)點(diǎn)的梯度以及權(quán)值的梯度,再對(duì)二值化前保留的w進(jìn)行更新得到wu并進(jìn)行如式(7)的clip操作,即
式中:wu為在正向傳播過(guò)程中保留的浮點(diǎn)數(shù)權(quán)值更新后的值;
3.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)集
實(shí)驗(yàn)在linux ubuntu14.04環(huán)境下進(jìn)行,實(shí)驗(yàn)計(jì)算機(jī)配置采用英特爾(Intel) i5處理器、內(nèi)存8 G,用于CUDA加速的GPU為NVIDIA GTX950。圖像采集以及預(yù)處理使用普通的webcamera+opencv,深度神經(jīng)網(wǎng)絡(luò)的建立訓(xùn)練在theano框架下進(jìn)行。圖2為實(shí)驗(yàn)采用的數(shù)據(jù)集。
實(shí)驗(yàn)采用的數(shù)據(jù)集由兩部分組成,一部分是根據(jù)美國(guó)標(biāo)準(zhǔn)手語(yǔ)0~9為標(biāo)準(zhǔn)使用webcamera采集的10種手勢(shì),這里簡(jiǎn)稱(chēng)為W手勢(shì)集。W手勢(shì)集在webcamera采集過(guò)程采取不同的光照以及不同的手勢(shì)角度,每種手勢(shì)包含2 200個(gè)樣本,共22 000個(gè)樣本。另一部分是Massey大學(xué)研究者制作的美國(guó)標(biāo)準(zhǔn)手語(yǔ)數(shù)據(jù)集[15],簡(jiǎn)稱(chēng)為M手勢(shì)集。該數(shù)據(jù)集從5位志愿者的身上采集了包括代表數(shù)字0~9以及字母與a~z的手勢(shì)總共2 515個(gè)手勢(shì)樣本,每種手勢(shì)取65個(gè)樣本。
3.2 網(wǎng)絡(luò)的訓(xùn)練與參數(shù)的選擇
實(shí)驗(yàn)采用的網(wǎng)絡(luò)結(jié)構(gòu)由2個(gè)卷積塊、2個(gè)全連接塊和1個(gè)Softmax塊組成。卷積塊的設(shè)計(jì)相對(duì)固定,所以參考文獻(xiàn)[8]的設(shè)計(jì),核心大小均為3×3,特征圖的個(gè)數(shù)均設(shè)計(jì)為20個(gè)。全連接塊2的節(jié)點(diǎn)數(shù)量由訓(xùn)練數(shù)據(jù)的類(lèi)別決定,全連接塊1的節(jié)點(diǎn)數(shù)量N由實(shí)驗(yàn)中的測(cè)試結(jié)果決定。具體網(wǎng)絡(luò)設(shè)置如表2所示。
分別取N等于64, 128, 300, 512和1 024進(jìn)行對(duì)比。由于W手勢(shì)集和M手勢(shì)集存在比較大的差異,所以這里使用W數(shù)據(jù)集作為訓(xùn)練集,M數(shù)據(jù)集作為測(cè)試集進(jìn)行實(shí)驗(yàn),更能體現(xiàn)網(wǎng)絡(luò)的泛化能力。網(wǎng)絡(luò)的訓(xùn)練過(guò)程采用Adam[16]的方式進(jìn)行權(quán)值更新,使用dropout進(jìn)行規(guī)范化處理,增強(qiáng)網(wǎng)絡(luò)的魯棒性。在不同節(jié)點(diǎn)數(shù),經(jīng)過(guò)200 epcho的訓(xùn)練得到:1)取不同N條件下網(wǎng)絡(luò)的收斂過(guò)程,如圖3所示;2)不同N條件下網(wǎng)絡(luò)的錯(cuò)誤率,如圖4所示。
從訓(xùn)練結(jié)果可看出N在取512時(shí)相對(duì)其他選擇項(xiàng)收斂的結(jié)果更為穩(wěn)定,取得的正確率更高。因此,取512作為手勢(shì)分類(lèi)網(wǎng)絡(luò)的隱層節(jié)點(diǎn)數(shù)N的值。
3.3 實(shí)驗(yàn)比較
為了驗(yàn)證分類(lèi)性能,將提出的方法與以下3種分類(lèi)方法進(jìn)行對(duì)比:1)基于k近鄰的手勢(shì)分類(lèi)方法[2],該方法直接使用圖片的像素點(diǎn)作為輸入,分類(lèi)器的參數(shù)取k=5;2)采取手勢(shì)的方向梯度直方圖特征,再使用SVM作為分類(lèi)器(HOG-SVM)的手勢(shì)分類(lèi)方法[5];3)使用高精度的卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)分類(lèi)方法,該方法采用與本文相同的網(wǎng)絡(luò)架構(gòu),即2個(gè)包含20個(gè)3×3卷積塊鏈接、一個(gè)包含512個(gè)隱層節(jié)點(diǎn)的全連接塊(MPCNN)[8]。提出方法采用的隱層節(jié)點(diǎn)數(shù)N=512(BCNN)。
對(duì)比實(shí)驗(yàn)共包含3組實(shí)驗(yàn):第一組,在分別從W數(shù)據(jù)集每種手勢(shì)中隨機(jī)取出2 000個(gè)樣本作為訓(xùn)練集,另外的200個(gè)樣本作為測(cè)試集;第二組,采用M數(shù)據(jù)集中的數(shù)字0~9的手勢(shì)樣本每組取55個(gè)作為訓(xùn)練集,10個(gè)作為測(cè)試集;第三組,使用W數(shù)據(jù)集作為訓(xùn)練集,M數(shù)據(jù)集作為測(cè)試集。對(duì)KNN、HOG-SVM、MPCNN和提出方法BCNN分別進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)的測(cè)試結(jié)果見(jiàn)表3,其中運(yùn)行時(shí)間為處理2 000個(gè)樣本的運(yùn)行時(shí)間。
通過(guò)實(shí)驗(yàn)結(jié)果可以看出,KNN能從總體上比較完整地體現(xiàn)出數(shù)據(jù)集的空間分布正確率較高,但是其計(jì)算效率低,消耗內(nèi)存較大,尤其是在訓(xùn)練集比較大的情況下特別嚴(yán)重。HOG-SVM雖然計(jì)算效率大幅提升,但是正確率下滑嚴(yán)重。MPCNN網(wǎng)絡(luò)進(jìn)行分類(lèi),無(wú)論是正確率還是運(yùn)行效率,都要高于傳統(tǒng)方法,是一種十分優(yōu)秀的分類(lèi)模型。在MPCNN網(wǎng)絡(luò)相同架構(gòu)的情況下,BCNN網(wǎng)絡(luò)在第一組和第二組實(shí)驗(yàn)中的正確率僅有很小的降低,在第三組實(shí)驗(yàn)中甚至還超過(guò)MPCNN網(wǎng)絡(luò),且在運(yùn)行效率上有了進(jìn)一步提升。由于theano框架內(nèi)在計(jì)算機(jī)制會(huì)將二值化的權(quán)值也當(dāng)做高精度進(jìn)行計(jì)算,其在高精度的神經(jīng)網(wǎng)絡(luò)和二值化的神經(jīng)網(wǎng)絡(luò)測(cè)試運(yùn)行時(shí)間差保持在同一個(gè)數(shù)量級(jí)上,加速效果還沒(méi)有達(dá)到理論值,因此下一步的研究將會(huì)放在前向傳播的程序優(yōu)化上。
針對(duì)手勢(shì)分類(lèi)問(wèn)題,對(duì)多種手勢(shì)分類(lèi)方法特別是卷積神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行了研究[17],提出一種基于二值化卷積神經(jīng)網(wǎng)絡(luò)手勢(shì)分類(lèi)方法。對(duì)所提出方法的隱層節(jié)點(diǎn)數(shù)N在取不同參數(shù)情況下的分類(lèi)準(zhǔn)確率和訓(xùn)練收斂穩(wěn)定性進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明該方法在N=512的表現(xiàn)最佳。通過(guò)與其他3種分類(lèi)算法的對(duì)比實(shí)驗(yàn),證明了MPCNN比KNN和HOG-SVM模型具備更好的魯棒性、準(zhǔn)確度和運(yùn)行效率,而二值化的卷積神經(jīng)網(wǎng)絡(luò)BCNN在分類(lèi)準(zhǔn)確性損失不大的情況下進(jìn)一步提高了運(yùn)行的效率。由于二值算法的計(jì)算效率高,可以將其運(yùn)行在一些小微型設(shè)備上,用于開(kāi)發(fā)手勢(shì)識(shí)別系統(tǒng)。接下來(lái)的研究可以放在進(jìn)一步提高算法的準(zhǔn)確性以及對(duì)二值算法的移植上。
[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]安 濤,彭進(jìn)業(yè),吳 靜.基于Haar小波分解的實(shí)時(shí)手勢(shì)識(shí)別[J].計(jì)算機(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的手勢(shì)識(shí)別[J].科技通報(bào),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)蔭偉.基于視覺(jué)的多特征手勢(shì)識(shí)別[J].計(jì)算機(jī)工程與科學(xué),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]盧永樂(lè),文志強(qiáng),李建飛.基于改進(jìn)模擬退火算法的LUT逆半調(diào)模板選擇[J].湖南工業(yè)大學(xué)學(xué)報(bào),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.
(責(zé)任編輯:申 劍)
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
國(guó)家自然科學(xué)基金資助項(xiàng)目(61170102)
胡駿飛(1990-),男,湖南邵陽(yáng)人,湖南工業(yè)大學(xué)碩士生,主要研究方向?yàn)樯疃葘W(xué)習(xí),E-mail:hjunfei@foxmail.com