基于Chebyshev神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)手勢學(xué)習(xí)和識別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,涉及基于Chebyshev神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)手勢學(xué)習(xí)和 識別方法。
【背景技術(shù)】
[0002] 手勢識別人機(jī)交互技術(shù)主要通過識別用戶手勢動(dòng)作實(shí)現(xiàn)對計(jì)算機(jī)的操作,它能提 供一種更加自然的人機(jī)交互手段[1~3]?;跈C(jī)器視覺的動(dòng)態(tài)手勢識別主要采用攝像機(jī)跟 蹤運(yùn)動(dòng)目標(biāo)(指尖),然后通過計(jì)算指尖運(yùn)動(dòng)軌跡與預(yù)設(shè)模板的相關(guān)系數(shù)來判斷手勢的交 互語義[4'5]。
[0003] 動(dòng)態(tài)手勢識系統(tǒng)是一個(gè)比較復(fù)雜的非線性動(dòng)態(tài)系統(tǒng),它的輸入(指尖運(yùn)動(dòng)軌跡) 和輸出(手勢類別)之間的函數(shù)映射很難確定,要進(jìn)行動(dòng)態(tài)手勢識別,必須首先進(jìn)行系統(tǒng)辯 識,即通過一組實(shí)驗(yàn)數(shù)據(jù)確定動(dòng)態(tài)手勢識別系統(tǒng)的模型結(jié)構(gòu)和模型參數(shù)。神經(jīng)網(wǎng)絡(luò)由于其 高度的并行性、自適應(yīng)學(xué)習(xí)能力以及對于非線性系統(tǒng)的逼近能力等特點(diǎn),被廣泛應(yīng)用于非 線性系統(tǒng)的辯識控制和模式識別等領(lǐng)域 [6]。當(dāng)前用于系統(tǒng)辨識和模式識別的神經(jīng)網(wǎng)絡(luò)主 要是基于BP訓(xùn)練算法的多層前饋神經(jīng)網(wǎng)絡(luò)。但傳統(tǒng)BP算法有一些固有的缺點(diǎn),如容易限 于局部極小、收斂速度慢、不能有效利用以往的學(xué)習(xí)經(jīng)驗(yàn)、隱含層及其神經(jīng)元數(shù)量設(shè)定缺乏 理論指導(dǎo)等,為了克服傳統(tǒng)BP算法的缺點(diǎn),許多改進(jìn)算法被不斷提出來,這些改進(jìn)算法有 的是通過梯度下降方法或數(shù)值優(yōu)化方法來改進(jìn)BP網(wǎng)絡(luò)訓(xùn)練的迭代規(guī)則,如帶動(dòng)量的梯度 下降法、Levenberg-Marquardt方法等 [6],有的是通過正交設(shè)計(jì)方法選擇BP神經(jīng)網(wǎng)絡(luò)的訓(xùn) 練樣本,減少網(wǎng)絡(luò)訓(xùn)練樣本數(shù)[7],有的粒子群或遺傳算法思想應(yīng)用到BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練 [6' 8]。但上述改進(jìn)算法仍不能完全避免冗長的學(xué)習(xí)訓(xùn)練,且訓(xùn)練速度依賴于選擇的訓(xùn)練樣本, 不太適應(yīng)需要對用戶手勢進(jìn)行在線學(xué)習(xí)訓(xùn)練的情況。
[0004] 文獻(xiàn)[9]提出了基于正交多項(xiàng)式函數(shù)的神經(jīng)網(wǎng)絡(luò)構(gòu)造理論和構(gòu)造方法,并證明了 在最高冪次相同情況下,選擇Chebyshev正交多項(xiàng)式構(gòu)造的神經(jīng)網(wǎng)絡(luò)性能最優(yōu)。文獻(xiàn)[10] 提出了通過Chebyshev正交基神經(jīng)網(wǎng)絡(luò)進(jìn)行非線性動(dòng)態(tài)系統(tǒng)辯識的方法,并給出了該網(wǎng)絡(luò) 的一種自適應(yīng)學(xué)習(xí)訓(xùn)練算法,相對于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)能夠大大降低網(wǎng)絡(luò)訓(xùn)練計(jì)算量。文獻(xiàn)
[11]提出了一種用于非線性動(dòng)態(tài)系統(tǒng)辯識的自適應(yīng)Chebyshev神經(jīng)網(wǎng)絡(luò),并證明了該方法 的穩(wěn)定性和收斂性。文獻(xiàn)[12?15]針對單輸入、單輸出(SISO)情況利用多種正交基函數(shù) 系構(gòu)造正交基前饋神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)函數(shù)逼近,并提出一種直接計(jì)算網(wǎng)絡(luò)權(quán)值方法以及依照訓(xùn) 練精度要求自適應(yīng)確定隱含層神經(jīng)元數(shù)目的算法,大大提高了網(wǎng)絡(luò)的訓(xùn)練速度。
[0005] 基于機(jī)器視覺的動(dòng)態(tài)手勢識別是一個(gè)典型的多輸入、多輸出非線性系統(tǒng),其輸入 是動(dòng)態(tài)手勢軌跡向量,具有多個(gè)分量,其輸出是手勢識別結(jié)果,是一個(gè)表明各種手勢可能性 的向量。文獻(xiàn)[16]利用Laguerre正交基函數(shù)系構(gòu)造一個(gè)多輸入、多輸出的正交基神經(jīng)網(wǎng) 絡(luò),并在動(dòng)態(tài)手勢學(xué)習(xí)肯識別中取得不錯(cuò)效果。本文將Chebyshev前饋神經(jīng)網(wǎng)絡(luò)推廣到多 輸入、多輸出(MMO)情況,提出網(wǎng)絡(luò)權(quán)值直接計(jì)算方法以及依照訓(xùn)練精度要求自適應(yīng)確定 隱含層神經(jīng)元數(shù)目的算法,并將其應(yīng)用于動(dòng)態(tài)手勢學(xué)習(xí)和識別,提高動(dòng)態(tài)手勢的學(xué)習(xí)速度 和識別正確率。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供基于Chebyshev神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)手勢學(xué)習(xí)和識別方法,解 決了現(xiàn)有方法對于動(dòng)態(tài)手勢的學(xué)習(xí)速度慢,且識別正確率低的問題。
[0007] 本發(fā)明所采用的技術(shù)方案是按照以下步驟:
[0008] 步驟1:建立MMO-CNN神經(jīng)網(wǎng)絡(luò)模型;
[0009] 輸入層有n個(gè)節(jié)點(diǎn),Xk= (Xl,k,x2,k,...,xn, k)TG Rn為網(wǎng)絡(luò)的輸入向量;輸出層有 m個(gè)節(jié)點(diǎn),Yk= (y 1>k,y2,k,. . .,ym,k)TG Rm為網(wǎng)絡(luò)的輸出向量,輸出層節(jié)點(diǎn)中的E表示輸出 層神經(jīng)元采用線性激勵(lì)函數(shù);隱含層有h個(gè)神經(jīng)元,采用Chebyshev正交多項(xiàng)式Tj(x) (j = 0,1,2,. . .,h_l)作為其激勵(lì)函數(shù);輸入層節(jié)點(diǎn)到隱含層神經(jīng)元的權(quán)值全部為1,W e RhXmS 隱含層到輸出層的權(quán)矩陣,其中Wp為隱含層第j個(gè)神經(jīng)元與輸出層的第i個(gè)節(jié)點(diǎn)的連接 權(quán)值;
[0010] 步驟2 :采用p個(gè)學(xué)習(xí)樣本對MMO-CNN神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,這些學(xué)習(xí)樣本 的輸入分別為X2,......,Xp,相應(yīng)的預(yù)期輸出為山 1,D2,......,Dp,實(shí)際輸出為A1, Y2,......,Yp,網(wǎng)絡(luò)的實(shí)際輸入輸出關(guān)系表示為:
[0011]
【主權(quán)項(xiàng)】
1.基于Chebyshev神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)手勢學(xué)習(xí)和識別方法,其特征在于按照以下步驟進(jìn) 行: 步驟1 :建立MMO-CNN神經(jīng)網(wǎng)絡(luò)模型; 輸入層有n個(gè)節(jié)點(diǎn),Xk= (Xl,k,x2,k,...,xn,k)TGRn為網(wǎng)絡(luò)的輸入向量;輸出層有m個(gè) 節(jié)點(diǎn),Yk=(yu,y2,k,. . .,ym,k)TeRn為網(wǎng)絡(luò)的輸出向量,輸出層節(jié)點(diǎn)中的E表示輸出層神 經(jīng)元采用線性激勵(lì)函數(shù);隱含層有h個(gè)神經(jīng)元,采用Chebyshev正交多項(xiàng)式Tj(x)(j= 0,1, 2, . . .,h-1)作為其激勵(lì)函數(shù);輸入層節(jié)點(diǎn)到隱含層神經(jīng)元的權(quán)值全部為1,WeRhXm為隱 含層到輸出層的權(quán)矩陣,其中Wp為隱含層第j個(gè)神經(jīng)元與輸出層的第i個(gè)節(jié)點(diǎn)的連接權(quán) 值; 步驟2 :采用p個(gè)學(xué)習(xí)樣本對MMO-CNN神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,這些學(xué)習(xí)樣本的輸入 分別為AX2,......",相應(yīng)的預(yù)期輸出為山1#,......,,實(shí)際輸出為^,......, Yp,網(wǎng)絡(luò)的實(shí)際輸入輸出關(guān)系表示為:
定義誤差函數(shù):-乃,* 其中:為學(xué)習(xí)樣本的理想輸出,yu為實(shí)際輸出; 步驟3 :確定MMO-CNN權(quán)值:通過公式
其中:Wj, k=(wu,Wj,2,...,Wj, k),
in為學(xué)習(xí)速度且要求〇 <n< 1 ;權(quán)值迭代公式的矩陣形式為:w(r+l) =w(r)-n〇T(〇W(r)-D),其中:
GRpXh為輸入轉(zhuǎn)換矩陣,r= 0,1,2,…為迭代次 數(shù),當(dāng)網(wǎng)絡(luò)訓(xùn)練達(dá)到穩(wěn)態(tài)后(即r足夠大時(shí))有:
,代入W(r+1) =W(r)-n〇T(〇W(r)-D)則有: 〇T(〇ff-D) = 0 由此可以得到MIMO-Chebyshev網(wǎng)絡(luò)權(quán)值直接計(jì)算公式: W = (oTo)-1?^ 其中pinv(O) = (〇T〇r〇T稱為〇的偽逆,基于偽逆的權(quán)值計(jì)算方法能夠直接通過 矩陣運(yùn)算一步得到MIM0-CNN的網(wǎng)絡(luò)權(quán)值,避免了冗長的迭代訓(xùn)練,能夠適應(yīng)動(dòng)態(tài)手勢的快 速學(xué)習(xí)和識別; 步驟4 :網(wǎng)絡(luò)隱含層神經(jīng)元數(shù)目自適應(yīng)確定; 給定網(wǎng)絡(luò)目標(biāo)精度e>0,滿足該精度要求的最小隱含層神經(jīng)元數(shù)目自適應(yīng)確定算法 下: (1)設(shè)定目標(biāo)精度,取e= 0.005,設(shè)定神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元數(shù)目最大值
(2) 如果h>MaxHideNode,則說明在MaxHideNode范圍內(nèi),無法滿足網(wǎng)絡(luò)目標(biāo)精度要 求,程序退出,否則跳轉(zhuǎn)至(3); (3) 計(jì)算當(dāng)隱含層神經(jīng)元數(shù)目為h時(shí),神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣W及最小均方誤差(MSE); (4) 如果MSE<e,則說明找到了滿足網(wǎng)絡(luò)目標(biāo)精度要求的最小隱含層神經(jīng)元數(shù)目h, 程序退出,否則h=h+1,跳轉(zhuǎn)至(2); 步驟5 :進(jìn)行指尖跟蹤;通過二部圖的最優(yōu)匹配算法,如Kuhn-Munkrs算法等實(shí)現(xiàn)兩幀 圖像中的指尖匹配,從而間接實(shí)現(xiàn)指尖跟蹤; 步驟6 :動(dòng)態(tài)手勢軌跡提取;動(dòng)態(tài)手勢軌跡是由一個(gè)手的兩個(gè)指尖(拇指、食指)運(yùn)動(dòng) 形成,當(dāng)檢測到有兩個(gè)指尖漸近且距離小于某個(gè)閾值時(shí)開始手勢記錄,即落筆,當(dāng)檢測到有 兩個(gè)指點(diǎn)漸遠(yuǎn)且距離大于某個(gè)閾值時(shí)結(jié)束手勢記錄,即抬筆,從落筆開始,按照一定的時(shí)間 間隔記錄兩個(gè)指尖的中間位置,直到抬筆結(jié)束,如此得到動(dòng)態(tài)手勢經(jīng)過的點(diǎn)的集合,即手勢 軌跡,為了后面的動(dòng)態(tài)手勢學(xué)習(xí)和識別的需要,我們從手勢軌跡的點(diǎn)集合中選取確定數(shù)目 的代表點(diǎn),如果手勢軌跡的點(diǎn)數(shù)超過15個(gè),可以通過查找到跨度最小的兩個(gè)點(diǎn),并用它們 的中點(diǎn)取代它們,重復(fù)執(zhí)行,直到手勢軌跡中點(diǎn)的數(shù)目為15個(gè),這些點(diǎn)就可以看成一個(gè)手 勢軌跡的代表點(diǎn),根據(jù)手勢軌跡的15個(gè)代表點(diǎn)可以得到14個(gè)向量并對它們進(jìn)行歸一化處 理,然后將該手勢筆畫的向量依次連接,即可構(gòu)成表示該手勢軌跡的向量; 步驟7 :基于MM0-CNN的動(dòng)態(tài)手勢學(xué)習(xí)和識別; (1) 神經(jīng)網(wǎng)絡(luò)輸入輸出設(shè)計(jì): 輸入節(jié)點(diǎn)數(shù)量根據(jù)手勢軌跡向量的分量數(shù)目確定,同時(shí)利用手勢軌跡向量的各個(gè)分量 作為神經(jīng)網(wǎng)絡(luò)的輸入;輸出層節(jié)點(diǎn)數(shù)設(shè)置對應(yīng)動(dòng)態(tài)手勢的種類數(shù)m,長度為m的輸出向量可 以作為動(dòng)態(tài)手勢判斷的依據(jù); (2) 隱含層神經(jīng)元數(shù)量和神經(jīng)網(wǎng)絡(luò)權(quán)值的確定: 動(dòng)態(tài)手勢學(xué)習(xí)的關(guān)鍵是根據(jù)手勢訓(xùn)練樣本,確定相應(yīng)的神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元數(shù)量 和網(wǎng)絡(luò)權(quán)值,對于這些訓(xùn)練樣本的輸入向量,通過前面介紹的動(dòng)態(tài)手勢軌跡提取方法獲取, 而對于這些訓(xùn)練樣本的預(yù)期輸出向量,由于動(dòng)態(tài)手勢分為m種,所以設(shè)置m個(gè)長度為m的單 位向量對應(yīng)m種手勢,其中第N種手勢的預(yù)期輸出向量(yi,y2, ....ym)T用如下公式確定:
設(shè)定網(wǎng)絡(luò)精度目標(biāo)為0.005,利用給出的訓(xùn)練樣本,采用最小隱含層神經(jīng)元數(shù)目自適 應(yīng)確定算法可以確定隱含層神經(jīng)元數(shù)量,通過將訓(xùn)練樣本的輸入向量和預(yù)期輸出向量送 入神經(jīng)網(wǎng)絡(luò),利用公式W=(①1?)-1?%,可以求出MM0-CNN的最優(yōu)權(quán)值矩陣W,之后該 MIM0-CNN就可以用于動(dòng)態(tài)手勢識別; (3) 動(dòng)態(tài)手勢的識別: 獲取動(dòng)態(tài)手勢軌跡后,將手勢軌跡向量(Xl,k,x2,k,. . . .,xn,k)T作為輸入向量輸入到已 確定權(quán)值的MIM0-CNN,利用公式
計(jì)算得到網(wǎng)絡(luò) 輸出向量(yu,x2,k,. . . .,Xm,k)T,根據(jù)該輸出向量即可進(jìn)行手勢識別:找出該向量的最大元 素,如果該元素大于某個(gè)閾值,則該元素在向量中的位置就是要識別的動(dòng)態(tài)手勢編號。
【專利摘要】本發(fā)明公開了基于Chebyshev神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)手勢學(xué)習(xí)和識別方法,本發(fā)明以Chebyshev正交多項(xiàng)式作為隱含層神經(jīng)元激勵(lì)函數(shù)構(gòu)造多輸入、多輸出三層前饋神經(jīng)網(wǎng)絡(luò),并給出權(quán)值直接確定方法和隱含層節(jié)點(diǎn)數(shù)目自適應(yīng)確定算法。給出一個(gè)基于顏色直方圖的指尖檢測算法和基于二部圖最優(yōu)匹配的指尖跟蹤算法以便實(shí)時(shí)獲取動(dòng)態(tài)手勢軌跡。針對動(dòng)態(tài)手勢識別要求對MIMO-CNN進(jìn)行輸入輸出結(jié)構(gòu)設(shè)計(jì)和網(wǎng)絡(luò)權(quán)值學(xué)習(xí)訓(xùn)練,并運(yùn)用經(jīng)過訓(xùn)練的MIMO-CNN識別動(dòng)態(tài)手勢。測試結(jié)果表明:MIMO-CNN能夠提高網(wǎng)絡(luò)訓(xùn)練速度和精度,從而提高動(dòng)態(tài)手勢學(xué)習(xí)速度和識別準(zhǔn)確率,而且在動(dòng)態(tài)手勢識別方面具有較好的魯棒性和泛化能力。
【IPC分類】G06K9-66, G06N3-02, G06K9-00
【公開號】CN104573621
【申請?zhí)枴緾N201410514602
【發(fā)明人】李文生, 鄧春健, 呂燚
【申請人】李文生, 鄧春健, 呂燚
【公開日】2015年4月29日
【申請日】2014年9月30日