徐旭雄
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
?
基于PCA的深度信念網(wǎng)的手勢(shì)識(shí)別研究*
徐旭雄
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
針對(duì)現(xiàn)有的手勢(shì)識(shí)別均采用有監(jiān)督模型進(jìn)行特征提取和識(shí)別的現(xiàn)狀,提出一種基于PCA的深度信念網(wǎng)(DBN)的半監(jiān)督的手勢(shì)特征提取與識(shí)別方法。運(yùn)用所提方法進(jìn)行了大量的實(shí)驗(yàn),證明該方法與直接將圖片輸入到DBN網(wǎng)絡(luò)相比,可以有效降低DBN的訓(xùn)練時(shí)間,并且識(shí)別率也有所提高;并且該方法與傳統(tǒng)的有監(jiān)督的SVM的手勢(shì)識(shí)別方法相比,訓(xùn)練時(shí)間大幅度減少而識(shí)別率也有很大的提升。最后,對(duì)該方法進(jìn)行了魯棒性驗(yàn)證,經(jīng)過大量實(shí)驗(yàn),證明了其具有很強(qiáng)的魯棒性。
手勢(shì)識(shí)別;PCA;深度信念網(wǎng);SVM;魯棒性
近年來,基于視覺的手勢(shì)識(shí)別技術(shù)涉及到模式識(shí)別、圖像處理以及計(jì)算機(jī)視覺[1]等諸多領(lǐng)域。隨著人工智能的發(fā)展,人機(jī)交互是其非常重要的一個(gè)環(huán)節(jié),而手勢(shì)又是人機(jī)交互中最常用的一種交互方式。因此手勢(shì)識(shí)別具有非常重要的現(xiàn)實(shí)意義,手勢(shì)識(shí)別引起了國(guó)內(nèi)外諸多學(xué)者的研究熱潮。
關(guān)于手勢(shì)識(shí)別有以下常用方法:(1)基于隱馬爾科夫模型(HMM)的手勢(shì)識(shí)別[2],這是一種概率模型,在一般拓?fù)浣Y(jié)構(gòu)下,它能夠很好地對(duì)手勢(shì)信號(hào)的時(shí)空變化進(jìn)行表述,但計(jì)算量太大,非常耗時(shí)。(2)采用有監(jiān)督的SVM方法[3],但它的識(shí)別率不高,且訓(xùn)練時(shí)間過長(zhǎng)。
由以上分析可知,現(xiàn)有的算法有著各自的優(yōu)劣。在生活中許多數(shù)據(jù)是無標(biāo)簽的,而這對(duì)有監(jiān)督學(xué)習(xí)來說,要對(duì)這樣的數(shù)據(jù)進(jìn)行識(shí)別分類,是不能完成的任務(wù)。這種情況下,只能用無監(jiān)督方法去實(shí)現(xiàn)。隨著深度學(xué)習(xí)的快速發(fā)展及其在圖像處理方面上的極佳表現(xiàn),并且深度信念網(wǎng)是深度學(xué)習(xí)中的最具代表性的半監(jiān)督的神經(jīng)網(wǎng)絡(luò),因此,本文提出一種基于PCA的深度信念網(wǎng)(Deep Believe Network,DBN)的半監(jiān)督的手勢(shì)識(shí)別模型。
DBN是常見的深度學(xué)習(xí)網(wǎng)絡(luò)中的一種,簡(jiǎn)單來說,它是通過構(gòu)建多層非線性映射的深度網(wǎng)絡(luò)來模擬人腦結(jié)構(gòu)與認(rèn)知過程,實(shí)現(xiàn)對(duì)輸入圖像逐層抽象并非監(jiān)督、貪心地提取特征。DBN結(jié)構(gòu)圖如圖1所示。
從圖1可知,DBN網(wǎng)絡(luò)的整體結(jié)構(gòu)是由多個(gè)受限玻爾茲曼機(jī)(Restricted Boltzmann Machines,RBMs)網(wǎng)絡(luò)和一層前饋反向傳播(feedforward backpropagation)BP神經(jīng)網(wǎng)絡(luò)組成。而RBM是由一個(gè)隱含層h和一個(gè)可視層v組成,兩者之間的節(jié)點(diǎn)是由權(quán)值W雙向連接的。而DBN最后一層采用的是有監(jiān)督的BP對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào)與分類,由文獻(xiàn)[4]可知,DBN的學(xué)習(xí)過程分為預(yù)訓(xùn)練(pre-training)和微調(diào)(fine-tuning)兩個(gè)過程。預(yù)訓(xùn)練是指在BP網(wǎng)絡(luò)前,采用的是無監(jiān)督的方法訓(xùn)練RBM,前一層的輸出作為下一層的輸入;而微調(diào)指的是把深層玻爾茲曼機(jī)訓(xùn)練得到的網(wǎng)絡(luò)參數(shù)值作為整體網(wǎng)絡(luò)參數(shù)初始化給BP網(wǎng)絡(luò),利用有監(jiān)督的學(xué)習(xí)方法訓(xùn)練,并將BP網(wǎng)絡(luò)訓(xùn)練的輸出標(biāo)簽與實(shí)際標(biāo)簽產(chǎn)生的誤差逐層向后傳播,完成對(duì)整個(gè)DBN網(wǎng)絡(luò)參數(shù)的微調(diào)。
由此可以看出,整個(gè)預(yù)訓(xùn)練過程可看成是對(duì)BP網(wǎng)絡(luò)參數(shù)進(jìn)行初始化,它能夠避免因隨機(jī)初始化BP網(wǎng)絡(luò)而導(dǎo)致的訓(xùn)練時(shí)間長(zhǎng)、容易陷入局部最優(yōu)解的局面。
圖1 DBN結(jié)構(gòu)圖
本文的實(shí)驗(yàn)數(shù)據(jù)均為文獻(xiàn)[5]的手勢(shì)圖像,該圖片庫(kù)總共有3種不同的手勢(shì),分別是指向手勢(shì)1、V型手勢(shì)2、搖滾手勢(shì)3,每個(gè)手勢(shì)各3 500張。手勢(shì)圖如圖2所示。這3種手勢(shì)是生活中常用的手勢(shì),并且每種手勢(shì)的復(fù)雜程度不一樣,每種手勢(shì)的關(guān)聯(lián)信息也是不一樣的,通過本文方法,可以得知手勢(shì)的復(fù)雜度是否會(huì)影響最終的實(shí)驗(yàn)結(jié)果。
圖2 3種手勢(shì)類別
2.1 實(shí)驗(yàn)步驟
本文設(shè)計(jì)了如圖3所示的實(shí)驗(yàn)流程圖。
圖3 實(shí)驗(yàn)流程圖
具體的實(shí)驗(yàn)步驟如下:
(1)選取每個(gè)手勢(shì)圖片各3 000張作為訓(xùn)練集,選取500張作為測(cè)試集;原圖大小為352×288,為了減輕計(jì)算量,將圖片都?jí)嚎s為m×n;
(2)提取每個(gè)手勢(shì)圖像m×n個(gè)像素,本文選取m、n的值都為48,將圖片數(shù)量作為行,每張圖像像素作為列,形成3 000×2 304樣本矩陣,再計(jì)算均值向量,然后計(jì)算樣本矩陣的特征值與特征向量,選出主成分得到映射矩陣,最后將數(shù)據(jù)投影到映射矩陣得到降維向量。PCA處理的目的就是使用最少的前K項(xiàng)盡量表達(dá)原始數(shù)據(jù)的信息。在實(shí)驗(yàn)中發(fā)現(xiàn),當(dāng)K選取前30維時(shí)就可以表達(dá)原始數(shù)據(jù)90%的信息,為了最大程度保留原始數(shù)據(jù),故K=30是本文選擇的起點(diǎn);而當(dāng)K=60,它能保留原始數(shù)據(jù)95%以上的信息。故本文的K值選取為30~60,間隔為10;將這前K項(xiàng)分別表示為train_K;同理,對(duì)測(cè)試集也作相應(yīng)的處理,保存為test_K。
(3)將train_K作為DBN的輸入,則第一層RBM的可視層有3 000×K個(gè)神經(jīng)元,那么對(duì)每一層的RBM表達(dá)式如式(1)所示:
(1)
式中,θ={W,a,b}是RBM模型的參數(shù);連接權(quán)重Wij描述的是可視節(jié)點(diǎn)i和隱層節(jié)點(diǎn)j的對(duì)稱交互,可見節(jié)點(diǎn)v和隱層節(jié)點(diǎn)j的偏置項(xiàng)分別是ai和bj。
(4)通過對(duì)比散度算法[6]進(jìn)行訓(xùn)練,獲得該層RBM最優(yōu)的模型參數(shù)θ1={W,b,a}。
(5)固定底層RBM的參數(shù),將底層RBM的輸出作為上一層RBM的輸入,也就是可視層。再應(yīng)用對(duì)比散度算法對(duì)模型進(jìn)行學(xué)習(xí),得到該層最優(yōu)的參數(shù)θ2={W,b,a}。
(6)重復(fù)步驟(4)、(5)過程,直至得到所需層數(shù)。
當(dāng)完成每層的RBM訓(xùn)練之后,用RBM網(wǎng)絡(luò)參數(shù)值初始化BP網(wǎng)絡(luò),BP網(wǎng)絡(luò)將訓(xùn)練誤差后向傳播以調(diào)整網(wǎng)絡(luò)參數(shù),最終實(shí)現(xiàn)整個(gè)DBN網(wǎng)絡(luò)訓(xùn)練。
2.2 DBN參數(shù)設(shè)置及實(shí)驗(yàn)結(jié)果
在DBN參數(shù)設(shè)置上,由實(shí)驗(yàn)步驟和文獻(xiàn)[6-7]可設(shè)定BP網(wǎng)絡(luò)的學(xué)習(xí)率α為2,RBM學(xué)習(xí)率α為0.8, BP網(wǎng)絡(luò)的傳遞函數(shù)為sigmoid函數(shù)。RBM迭代次數(shù)固定為5;NN(即上文的BP)迭代次數(shù)固定為5;為了增加學(xué)習(xí)效率,RBM的每個(gè)Mini-batches為100,NN的Mini-batches為10,前K項(xiàng)的選取都在[30 40 50 60]中選擇,本文設(shè)定RBM的深度為兩層即三層DBN網(wǎng)絡(luò)。第一層隱含層神經(jīng)元為200,第二層為200×200的網(wǎng)絡(luò)結(jié)構(gòu);在以上數(shù)據(jù)的基礎(chǔ)上,選擇K值和未經(jīng)PCA處理的圖片(raw pixel)分別進(jìn)行實(shí)驗(yàn),指向手勢(shì)1、V型手勢(shì)2、搖滾手勢(shì)3的訓(xùn)練時(shí)間及其識(shí)別率分別如表1和表2所示。
表1 3種手勢(shì)訓(xùn)練時(shí)間
表2 3種手勢(shì)的識(shí)別率
由表1和表2可得:不同的K值,訓(xùn)練時(shí)間和識(shí)別率都是不一樣的,K值取得越小訓(xùn)練時(shí)間越短,進(jìn)而相應(yīng)的識(shí)別率也偏低,但K值也不是越大越好,比如當(dāng)K=60時(shí),它的訓(xùn)練時(shí)間長(zhǎng),而它的識(shí)別率相對(duì)K=50卻有所降低,但是總的來說,相比raw pixel而言,本文提出的方法都有極大的改進(jìn);當(dāng)選擇K=50時(shí),本文的方法與raw pixel對(duì)比,3個(gè)手勢(shì)的平均訓(xùn)練時(shí)間減少了近5.4 min,而識(shí)別率提高了近2.6%。
而對(duì)這3種手勢(shì)的識(shí)別率來說,因?yàn)槊糠N手勢(shì)的復(fù)雜度不一樣,手勢(shì)越復(fù)雜,其信息相關(guān)度越高,對(duì)其使用相同的方法去處理,會(huì)導(dǎo)致其訓(xùn)練時(shí)間增加。且由于每種手勢(shì)的方向是變化的,而相應(yīng)的誤識(shí)率也會(huì)有所升高。因此,手勢(shì)3受到了最大的影響。
2.3 與傳統(tǒng)有監(jiān)督學(xué)習(xí)的SVM識(shí)別方法對(duì)比
為了驗(yàn)證本文模型在分類識(shí)別上的有效性,實(shí)驗(yàn)設(shè)置了與傳統(tǒng)的有監(jiān)督學(xué)習(xí)的SVM分類識(shí)別方法進(jìn)行對(duì)比,對(duì)比試驗(yàn)的所有訓(xùn)練與測(cè)試樣本均與本文的一致,即每個(gè)手勢(shì)訓(xùn)練3 000張,測(cè)試樣本500張,同樣用PCA處理這些樣本,K的取值為[30 40 50 60]。
SVM工具采用常用的開源工具LIBSVM[8]。
表6 魯棒性實(shí)驗(yàn)結(jié)果
由于樣本數(shù)據(jù)過大,在實(shí)驗(yàn)時(shí)的參數(shù)選擇上,SVM的核函數(shù)為線性函數(shù),而其他的原有的參數(shù)都是默認(rèn)值。對(duì)比實(shí)驗(yàn)SVM方法的每個(gè)手勢(shì)結(jié)果分別如表3和表4所示。
由表3和表4并對(duì)比表1和表2可知,傳統(tǒng)的SVM方法與本文方法相比,它的訓(xùn)練時(shí)間變長(zhǎng)且識(shí)別率也都變低。選擇這兩種方法最好的效果是K=50時(shí),其比較結(jié)果如表5所示。當(dāng)K=50時(shí),本文提出的方法與用有監(jiān)督的SVM對(duì)手勢(shì)識(shí)別的各項(xiàng)性能指標(biāo)相比,在平均訓(xùn)練時(shí)間上減少了5.2 min,而每種手勢(shì)的平均識(shí)別率提高了近13.9%。
表3 SVM訓(xùn)練時(shí)間
表4 SVM方法識(shí)別率
表5 對(duì)比結(jié)果
2.4 魯棒性驗(yàn)證
為了驗(yàn)證本文方法的魯棒性,模擬現(xiàn)實(shí)生活中的場(chǎng)景,給每個(gè)手勢(shì)圖像分別加上3種不同的噪聲和3種不同程度的運(yùn)動(dòng)模糊。如圖4所示。
圖4 不同噪聲和模糊圖
采用本文方法,且選擇模型最優(yōu)性能的K=50。其他數(shù)據(jù)不變,其實(shí)驗(yàn)結(jié)果如表6所示。
由表6可知,給圖像增加了噪聲和運(yùn)動(dòng)模糊以后,各類手勢(shì)的識(shí)別率均有所下降,且需要更長(zhǎng)的訓(xùn)練時(shí)間,越復(fù)雜的手勢(shì),受到的影響越大。但是,總體來說,還是維持在一個(gè)很高的識(shí)別水準(zhǔn),這就表明,該網(wǎng)絡(luò)結(jié)構(gòu)具有很強(qiáng)的魯棒性,沒有因?yàn)樵肼暫湍:沟米R(shí)別率出現(xiàn)極大的偏差。
綜合上述所有實(shí)驗(yàn)結(jié)果可得:本文提出的手勢(shì)識(shí)別方法可以有效降低DBN網(wǎng)絡(luò)的訓(xùn)練時(shí)間,提高識(shí)別率,并且也具有非常強(qiáng)的魯棒性。
不同于傳統(tǒng)的有監(jiān)督的SVM分類學(xué)習(xí)模型的手勢(shì)識(shí)別方法,本文提出的基于PCA的深度信念網(wǎng)的手勢(shì)識(shí)別方法與之相比具有非常大的優(yōu)勢(shì)。當(dāng)經(jīng)過加噪和運(yùn)動(dòng)模糊以后,本文方法的識(shí)別結(jié)果還是維持在一個(gè)很高的水準(zhǔn),證明了本文方法的魯棒性。本文在選擇DBN網(wǎng)絡(luò)層數(shù)時(shí),是根據(jù)文獻(xiàn)的經(jīng)驗(yàn)性來選擇的,而如何在動(dòng)態(tài)中選取最優(yōu)的DBN網(wǎng)絡(luò)層數(shù)及其參數(shù)將是下一步的主要研究方向。
[1] 劉江華,程君實(shí),陳佳品.基于視覺的動(dòng)態(tài)手勢(shì)識(shí)別及其在仿人機(jī)器人交互中的應(yīng)用[J].機(jī)器,2002,24(3):46-51.
[2] 常亞南.基于HMM的動(dòng)態(tài)手勢(shì)識(shí)別[D].廣州:華南理工大學(xué),2012.
[3] 蔡芝蔚,吳淑燕,宋俊鋒.基于SVM和組合優(yōu)化模型的手勢(shì)識(shí)別[J].系統(tǒng)仿真學(xué)報(bào),2016,8(6):12-17.
[4] HINTON G E. Learning multiple layers of representation[C]. Trends in Cognitive Sciences, 2007: 428-434.
[5] 操小文,薄華.基于卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)識(shí)別[J].微型機(jī)與應(yīng)用,2016,35(9):55-57,61.
[6] HINTON G E.Training products of experts by minimizing contrastive divergence[J].Neural Computation,2002,14(8):1771-1800.
[7] 陶美平,馬力,黃文靜,等.基于無監(jiān)督特征學(xué)習(xí)的手勢(shì)識(shí)別方法[J].微電子學(xué)與計(jì)算機(jī),2016,1(4):100-103.
[8] CHANG C C, LIN C J. LIBSVM: a library for support vector machines[EB/OL].[2013-11-12](2016-7-30).http://www.csie.ntu.edu.tw/-cj-lin/libsvm/.
Study on gesture recognition based on PCA and DBN
Xu Xuxiong
(College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)
In contrast to the supervised feature extraction method adopted in gesture recognition ,this paper proposed a semi-supervised gesture feature extraction and recognition method based on PCA and deep belief network (DBN).The experimental results show that the proposed method can reduce the training time of DBN and improve the recognition rate compared with the direct input the pictures to the DBN network. Furthermore,comparing with the traditional supervised SVM gesture recognition, a significant reduction in training time and the recognition rate is also greatly improved in this paper.Finally, the robustness of the proposed method is verified by a lot of experiments, which prove that the proposed method has strong robustness.
gesture recognition; PCA; deep belief network; SVM; robustness
航空科學(xué)基金(2013ZC15005)
TP391.9
A
10.19358/j.issn.1674- 7720.2017.13.017
徐旭雄.基于PCA的深度信念網(wǎng)的手勢(shì)識(shí)別研究[J].微型機(jī)與應(yīng)用,2017,36(13):55-58.
2017-02-14)
徐旭雄(1991-),男,碩士研究生,主要研究方向:圖像處理與模式識(shí)別,深度學(xué)習(xí)。