徐旭雄
(上海海事大學 信息工程學院,上海 201306)
?
基于PCA的深度信念網(wǎng)的手勢識別研究*
徐旭雄
(上海海事大學 信息工程學院,上海 201306)
針對現(xiàn)有的手勢識別均采用有監(jiān)督模型進行特征提取和識別的現(xiàn)狀,提出一種基于PCA的深度信念網(wǎng)(DBN)的半監(jiān)督的手勢特征提取與識別方法。運用所提方法進行了大量的實驗,證明該方法與直接將圖片輸入到DBN網(wǎng)絡(luò)相比,可以有效降低DBN的訓練時間,并且識別率也有所提高;并且該方法與傳統(tǒng)的有監(jiān)督的SVM的手勢識別方法相比,訓練時間大幅度減少而識別率也有很大的提升。最后,對該方法進行了魯棒性驗證,經(jīng)過大量實驗,證明了其具有很強的魯棒性。
手勢識別;PCA;深度信念網(wǎng);SVM;魯棒性
近年來,基于視覺的手勢識別技術(shù)涉及到模式識別、圖像處理以及計算機視覺[1]等諸多領(lǐng)域。隨著人工智能的發(fā)展,人機交互是其非常重要的一個環(huán)節(jié),而手勢又是人機交互中最常用的一種交互方式。因此手勢識別具有非常重要的現(xiàn)實意義,手勢識別引起了國內(nèi)外諸多學者的研究熱潮。
關(guān)于手勢識別有以下常用方法:(1)基于隱馬爾科夫模型(HMM)的手勢識別[2],這是一種概率模型,在一般拓撲結(jié)構(gòu)下,它能夠很好地對手勢信號的時空變化進行表述,但計算量太大,非常耗時。(2)采用有監(jiān)督的SVM方法[3],但它的識別率不高,且訓練時間過長。
由以上分析可知,現(xiàn)有的算法有著各自的優(yōu)劣。在生活中許多數(shù)據(jù)是無標簽的,而這對有監(jiān)督學習來說,要對這樣的數(shù)據(jù)進行識別分類,是不能完成的任務(wù)。這種情況下,只能用無監(jiān)督方法去實現(xiàn)。隨著深度學習的快速發(fā)展及其在圖像處理方面上的極佳表現(xiàn),并且深度信念網(wǎng)是深度學習中的最具代表性的半監(jiān)督的神經(jīng)網(wǎng)絡(luò),因此,本文提出一種基于PCA的深度信念網(wǎng)(Deep Believe Network,DBN)的半監(jiān)督的手勢識別模型。
DBN是常見的深度學習網(wǎng)絡(luò)中的一種,簡單來說,它是通過構(gòu)建多層非線性映射的深度網(wǎng)絡(luò)來模擬人腦結(jié)構(gòu)與認知過程,實現(xiàn)對輸入圖像逐層抽象并非監(jiān)督、貪心地提取特征。DBN結(jié)構(gòu)圖如圖1所示。
從圖1可知,DBN網(wǎng)絡(luò)的整體結(jié)構(gòu)是由多個受限玻爾茲曼機(Restricted Boltzmann Machines,RBMs)網(wǎng)絡(luò)和一層前饋反向傳播(feedforward backpropagation)BP神經(jīng)網(wǎng)絡(luò)組成。而RBM是由一個隱含層h和一個可視層v組成,兩者之間的節(jié)點是由權(quán)值W雙向連接的。而DBN最后一層采用的是有監(jiān)督的BP對整個網(wǎng)絡(luò)進行微調(diào)與分類,由文獻[4]可知,DBN的學習過程分為預(yù)訓練(pre-training)和微調(diào)(fine-tuning)兩個過程。預(yù)訓練是指在BP網(wǎng)絡(luò)前,采用的是無監(jiān)督的方法訓練RBM,前一層的輸出作為下一層的輸入;而微調(diào)指的是把深層玻爾茲曼機訓練得到的網(wǎng)絡(luò)參數(shù)值作為整體網(wǎng)絡(luò)參數(shù)初始化給BP網(wǎng)絡(luò),利用有監(jiān)督的學習方法訓練,并將BP網(wǎng)絡(luò)訓練的輸出標簽與實際標簽產(chǎn)生的誤差逐層向后傳播,完成對整個DBN網(wǎng)絡(luò)參數(shù)的微調(diào)。
由此可以看出,整個預(yù)訓練過程可看成是對BP網(wǎng)絡(luò)參數(shù)進行初始化,它能夠避免因隨機初始化BP網(wǎng)絡(luò)而導(dǎo)致的訓練時間長、容易陷入局部最優(yōu)解的局面。

圖1 DBN結(jié)構(gòu)圖
本文的實驗數(shù)據(jù)均為文獻[5]的手勢圖像,該圖片庫總共有3種不同的手勢,分別是指向手勢1、V型手勢2、搖滾手勢3,每個手勢各3 500張。手勢圖如圖2所示。這3種手勢是生活中常用的手勢,并且每種手勢的復(fù)雜程度不一樣,每種手勢的關(guān)聯(lián)信息也是不一樣的,通過本文方法,可以得知手勢的復(fù)雜度是否會影響最終的實驗結(jié)果。

圖2 3種手勢類別
2.1 實驗步驟
本文設(shè)計了如圖3所示的實驗流程圖。

圖3 實驗流程圖
具體的實驗步驟如下:
(1)選取每個手勢圖片各3 000張作為訓練集,選取500張作為測試集;原圖大小為352×288,為了減輕計算量,將圖片都壓縮為m×n;
(2)提取每個手勢圖像m×n個像素,本文選取m、n的值都為48,將圖片數(shù)量作為行,每張圖像像素作為列,形成3 000×2 304樣本矩陣,再計算均值向量,然后計算樣本矩陣的特征值與特征向量,選出主成分得到映射矩陣,最后將數(shù)據(jù)投影到映射矩陣得到降維向量。PCA處理的目的就是使用最少的前K項盡量表達原始數(shù)據(jù)的信息。在實驗中發(fā)現(xiàn),當K選取前30維時就可以表達原始數(shù)據(jù)90%的信息,為了最大程度保留原始數(shù)據(jù),故K=30是本文選擇的起點;而當K=60,它能保留原始數(shù)據(jù)95%以上的信息。故本文的K值選取為30~60,間隔為10;將這前K項分別表示為train_K;同理,對測試集也作相應(yīng)的處理,保存為test_K。
(3)將train_K作為DBN的輸入,則第一層RBM的可視層有3 000×K個神經(jīng)元,那么對每一層的RBM表達式如式(1)所示:

(1)
式中,θ={W,a,b}是RBM模型的參數(shù);連接權(quán)重Wij描述的是可視節(jié)點i和隱層節(jié)點j的對稱交互,可見節(jié)點v和隱層節(jié)點j的偏置項分別是ai和bj。
(4)通過對比散度算法[6]進行訓練,獲得該層RBM最優(yōu)的模型參數(shù)θ1={W,b,a}。
(5)固定底層RBM的參數(shù),將底層RBM的輸出作為上一層RBM的輸入,也就是可視層。再應(yīng)用對比散度算法對模型進行學習,得到該層最優(yōu)的參數(shù)θ2={W,b,a}。
(6)重復(fù)步驟(4)、(5)過程,直至得到所需層數(shù)。
當完成每層的RBM訓練之后,用RBM網(wǎng)絡(luò)參數(shù)值初始化BP網(wǎng)絡(luò),BP網(wǎng)絡(luò)將訓練誤差后向傳播以調(diào)整網(wǎng)絡(luò)參數(shù),最終實現(xiàn)整個DBN網(wǎng)絡(luò)訓練。
2.2 DBN參數(shù)設(shè)置及實驗結(jié)果
在DBN參數(shù)設(shè)置上,由實驗步驟和文獻[6-7]可設(shè)定BP網(wǎng)絡(luò)的學習率α為2,RBM學習率α為0.8, BP網(wǎng)絡(luò)的傳遞函數(shù)為sigmoid函數(shù)。RBM迭代次數(shù)固定為5;NN(即上文的BP)迭代次數(shù)固定為5;為了增加學習效率,RBM的每個Mini-batches為100,NN的Mini-batches為10,前K項的選取都在[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)分別進行實驗,指向手勢1、V型手勢2、搖滾手勢3的訓練時間及其識別率分別如表1和表2所示。

表1 3種手勢訓練時間

表2 3種手勢的識別率
由表1和表2可得:不同的K值,訓練時間和識別率都是不一樣的,K值取得越小訓練時間越短,進而相應(yīng)的識別率也偏低,但K值也不是越大越好,比如當K=60時,它的訓練時間長,而它的識別率相對K=50卻有所降低,但是總的來說,相比raw pixel而言,本文提出的方法都有極大的改進;當選擇K=50時,本文的方法與raw pixel對比,3個手勢的平均訓練時間減少了近5.4 min,而識別率提高了近2.6%。
而對這3種手勢的識別率來說,因為每種手勢的復(fù)雜度不一樣,手勢越復(fù)雜,其信息相關(guān)度越高,對其使用相同的方法去處理,會導(dǎo)致其訓練時間增加。且由于每種手勢的方向是變化的,而相應(yīng)的誤識率也會有所升高。因此,手勢3受到了最大的影響。
2.3 與傳統(tǒng)有監(jiān)督學習的SVM識別方法對比
為了驗證本文模型在分類識別上的有效性,實驗設(shè)置了與傳統(tǒng)的有監(jiān)督學習的SVM分類識別方法進行對比,對比試驗的所有訓練與測試樣本均與本文的一致,即每個手勢訓練3 000張,測試樣本500張,同樣用PCA處理這些樣本,K的取值為[30 40 50 60]。
SVM工具采用常用的開源工具LIBSVM[8]。

表6 魯棒性實驗結(jié)果
由于樣本數(shù)據(jù)過大,在實驗時的參數(shù)選擇上,SVM的核函數(shù)為線性函數(shù),而其他的原有的參數(shù)都是默認值。對比實驗SVM方法的每個手勢結(jié)果分別如表3和表4所示。
由表3和表4并對比表1和表2可知,傳統(tǒng)的SVM方法與本文方法相比,它的訓練時間變長且識別率也都變低。選擇這兩種方法最好的效果是K=50時,其比較結(jié)果如表5所示。當K=50時,本文提出的方法與用有監(jiān)督的SVM對手勢識別的各項性能指標相比,在平均訓練時間上減少了5.2 min,而每種手勢的平均識別率提高了近13.9%。

表3 SVM訓練時間

表4 SVM方法識別率

表5 對比結(jié)果
2.4 魯棒性驗證
為了驗證本文方法的魯棒性,模擬現(xiàn)實生活中的場景,給每個手勢圖像分別加上3種不同的噪聲和3種不同程度的運動模糊。如圖4所示。

圖4 不同噪聲和模糊圖
采用本文方法,且選擇模型最優(yōu)性能的K=50。其他數(shù)據(jù)不變,其實驗結(jié)果如表6所示。
由表6可知,給圖像增加了噪聲和運動模糊以后,各類手勢的識別率均有所下降,且需要更長的訓練時間,越復(fù)雜的手勢,受到的影響越大。但是,總體來說,還是維持在一個很高的識別水準,這就表明,該網(wǎng)絡(luò)結(jié)構(gòu)具有很強的魯棒性,沒有因為噪聲和模糊而使得識別率出現(xiàn)極大的偏差。
綜合上述所有實驗結(jié)果可得:本文提出的手勢識別方法可以有效降低DBN網(wǎng)絡(luò)的訓練時間,提高識別率,并且也具有非常強的魯棒性。
不同于傳統(tǒng)的有監(jiān)督的SVM分類學習模型的手勢識別方法,本文提出的基于PCA的深度信念網(wǎng)的手勢識別方法與之相比具有非常大的優(yōu)勢。當經(jīng)過加噪和運動模糊以后,本文方法的識別結(jié)果還是維持在一個很高的水準,證明了本文方法的魯棒性。本文在選擇DBN網(wǎng)絡(luò)層數(shù)時,是根據(jù)文獻的經(jīng)驗性來選擇的,而如何在動態(tài)中選取最優(yōu)的DBN網(wǎng)絡(luò)層數(shù)及其參數(shù)將是下一步的主要研究方向。
[1] 劉江華,程君實,陳佳品.基于視覺的動態(tài)手勢識別及其在仿人機器人交互中的應(yīng)用[J].機器,2002,24(3):46-51.
[2] 常亞南.基于HMM的動態(tài)手勢識別[D].廣州:華南理工大學,2012.
[3] 蔡芝蔚,吳淑燕,宋俊鋒.基于SVM和組合優(yōu)化模型的手勢識別[J].系統(tǒng)仿真學報,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ò)的手勢識別[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)督特征學習的手勢識別方法[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
航空科學基金(2013ZC15005)
TP391.9
A
10.19358/j.issn.1674- 7720.2017.13.017
徐旭雄.基于PCA的深度信念網(wǎng)的手勢識別研究[J].微型機與應(yīng)用,2017,36(13):55-58.
2017-02-14)
徐旭雄(1991-),男,碩士研究生,主要研究方向:圖像處理與模式識別,深度學習。