專利名稱:基于異構(gòu)數(shù)據(jù)融合的傳感器協(xié)同手勢識(shí)別方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及人機(jī)交互領(lǐng)域,特別是涉及一種基于異構(gòu)數(shù)據(jù)融合的傳感器協(xié)同手勢識(shí)別方法及系統(tǒng)。
背景技術(shù):
人機(jī)交互是一門涉及計(jì)算機(jī)科學(xué)、行為心理學(xué)、社會(huì)倫理學(xué)、圖形界面設(shè)計(jì)以及工業(yè)設(shè)計(jì)學(xué)等眾多專業(yè)背景的交叉學(xué)科,以用戶體驗(yàn)為終極目標(biāo),是連接人與計(jì)算機(jī)的橋梁。隨著計(jì)算機(jī)技術(shù)水平的提高以及社會(huì)不同領(lǐng)域的生產(chǎn)需求和人們生活需求的不斷擴(kuò)大,新型智能人機(jī)交互方式成為必然。在人機(jī)交互的多種方式中,手勢動(dòng)作是最為自然、直觀且易于學(xué)習(xí)的方式之一。智能感知?jiǎng)幼髡Z義的手勢交互技術(shù),是實(shí)現(xiàn)自然、高效的人機(jī)交互的必然趨勢。目前傳統(tǒng)的手勢識(shí)別方法主要有2種方式I.基于視覺的手勢識(shí)別,通過攝像頭采集手勢圖像并加以處理進(jìn)而對(duì)手勢進(jìn)行識(shí)另Ij,是一種比較直觀的手段。該方法的主要優(yōu)點(diǎn)是設(shè)備造價(jià)低廉,輸入方式為非接觸式;2.基于傳感器的手勢識(shí)別,此類方法是將傳感器穿戴在手上,實(shí)時(shí)提取手勢特征并采用特定的模式識(shí)別算法完成手勢動(dòng)作的識(shí)別。該方法的特點(diǎn)是能較好的獲取穩(wěn)定的手勢信號(hào),且不受背景影響,抗干擾能力較強(qiáng)。在第一種方法中,需要利用圖像信息來實(shí)現(xiàn)手勢動(dòng)作識(shí)別,而基于視覺的技術(shù)普遍對(duì)周圍環(huán)境的光線和用戶所處的位置和方向有強(qiáng)烈的依賴性,跟蹤過程中經(jīng)常會(huì)出現(xiàn)手部目標(biāo)丟失的情況,另外,基于視覺的手勢識(shí)別方法對(duì)于翻轉(zhuǎn)動(dòng)作也不敏感。在第二種方法中,由于加速度計(jì)在低速和勻速操作中靈敏度不高,而角速度傳感器對(duì)平移動(dòng)作不敏感,因此基于這些傳感器的手勢識(shí)別精度和效率不高,經(jīng)常會(huì)出現(xiàn)錯(cuò)判和漏判現(xiàn)象。
發(fā)明內(nèi)容
本發(fā)明的目的是克服使用單一的手勢識(shí)別方法的缺點(diǎn),并發(fā)揚(yáng)基于視覺和傳感器手勢識(shí)別各自的優(yōu)點(diǎn),提出一種結(jié)合視覺和多傳感器的手勢識(shí)別方法,使其識(shí)別準(zhǔn)確率高、魯棒性強(qiáng),手勢動(dòng)作識(shí)別可靠,以達(dá)到更好的識(shí)別結(jié)果。為實(shí)現(xiàn)上述目的,本發(fā)明提出了一種基于異構(gòu)數(shù)據(jù)融合的傳感器協(xié)同手勢識(shí)別方法,包括步驟I,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢動(dòng)作識(shí)別模型;步驟2,利用所述手勢動(dòng)作識(shí)別模型構(gòu)建閾值模型;步驟3,基于所述手勢動(dòng)作識(shí)別模型和閾值模型對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。所述步驟I包括步驟11,通過攝像頭和多個(gè)傳感器檢測手勢動(dòng)作,獲得用于訓(xùn)練手勢動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢動(dòng)作的三維位置、三軸角速度、三軸加速度的數(shù)據(jù)序列;
步驟12,結(jié)合所述攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù);步驟13,從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量,其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,并利用所述特征向量訓(xùn)練手勢動(dòng)作識(shí)別模型。進(jìn)一步的,所述手勢動(dòng)作識(shí)別模型為左-右結(jié)構(gòu)的連續(xù)隱馬爾科夫模型。其中所述步驟11中采用用戶協(xié)同實(shí)現(xiàn)的分割方法以區(qū)分手勢對(duì)應(yīng)的數(shù)據(jù)序列。所述步驟12中的所訴預(yù)處理包括空閑數(shù)據(jù)和異常數(shù)據(jù)剔除以及數(shù)據(jù)平滑濾波。所述步驟2中所述閾值模型是由系統(tǒng)中所有手勢動(dòng)作識(shí)別模型的隱狀態(tài)完全連接的遍歷結(jié)構(gòu)的隱馬爾可夫模型,且對(duì)于給定的一個(gè)手勢動(dòng)作識(shí)別模式,所述閾值模型的似然值都小于任意一個(gè)手勢模式的手勢動(dòng)作識(shí)別模型的似然值。·
進(jìn)一步的,所述步驟3包括步驟301,設(shè)定初始時(shí)間t=l,并將觀測序列和手勢棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測值增添到觀測序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測序列;步驟302,分別使用所有手勢動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測序列的似然值;步驟303,找到所述似然值最大的第一手勢動(dòng)作識(shí)別模型;步驟304,判斷所述第一手勢動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),同時(shí)執(zhí)行步驟305 ;否則執(zhí)行步驟306 ;步驟305,將所述手勢模式與手勢棧棧頂緩存的手勢模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回步驟11采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢棧棧頂緩存的手勢模式,并壓入上述手勢模式及其候選終點(diǎn),同時(shí)返回步驟11采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢棧頂緩存的手勢模式,并將上述手勢模式的起點(diǎn)的t-1時(shí)刻作為手勢棧棧頂緩存的手勢模式的終點(diǎn),同時(shí)將上述手勢模式及其候選終點(diǎn)壓棧,,執(zhí)行步驟307 ;步驟306,彈出手勢棧棧頂手勢模式,并將t-Ι時(shí)刻設(shè)為該手勢模式的終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),然后執(zhí)行步驟307 ;步驟307,對(duì)手勢棧彈出的手勢模式的長度進(jìn)行判別,如若手勢模式的長度滿足約束條件,那么其是一個(gè)真手勢模式,執(zhí)行步驟308 ;否則返回步驟11采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢模式的長度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長度;步驟308,根據(jù)相應(yīng)的手勢動(dòng)作識(shí)別模型,對(duì)所述真手勢模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測序列中進(jìn)行標(biāo)記,同時(shí)返回步驟11采集下一時(shí)刻的動(dòng)作數(shù)據(jù)。本發(fā)明還提供了一種基于異構(gòu)數(shù)據(jù)融合的多傳感器協(xié)同手勢識(shí)別系統(tǒng),其特征在于,包括手勢動(dòng)作識(shí)別模型訓(xùn)練模塊,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢動(dòng)作識(shí)別模型;閾值模型構(gòu)建模塊,利用所述手勢動(dòng)作識(shí)別模型構(gòu)建閾值模型;分割識(shí)別模塊,基于所述手勢動(dòng)作識(shí)別模型和閾值模型對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。進(jìn)一步的,所述手勢動(dòng)作識(shí)別模型訓(xùn)練模塊包括樣本數(shù)據(jù)獲得模塊,通過單目攝像頭和多個(gè)傳感器檢測手勢動(dòng)作,獲得用于訓(xùn)練手勢動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢動(dòng)作的三維位置、三軸角速度、三軸加速度的數(shù)據(jù)序列;預(yù)處理模塊,結(jié)合所述單目攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù);
·
特征向量提取模塊,用于從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量,其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,利用所述特征向量訓(xùn)練手勢動(dòng)作識(shí)別模型。進(jìn)一步的,所述分割識(shí)別模塊包括觀測序列增添模塊,設(shè)定初始時(shí)間t=l,并將觀測序列和手勢棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測值增添到觀測序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測序列;似然值計(jì)算模塊,分別使用所有手勢動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測序列的似然值;判斷模塊,找到所述似然值最大的第一手勢動(dòng)作識(shí)別模型,判斷所述手勢動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),同時(shí)執(zhí)行對(duì)比模塊;否則執(zhí)行彈出模塊;對(duì)比模塊,將上述手勢模式與手勢棧棧頂緩存的手勢模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢棧棧頂緩存的手勢模式,并壓入上述手勢模式及其候選終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢棧棧頂緩存的手勢模式,并將上述手勢模式的起點(diǎn)的t-Ι時(shí)刻作為手勢棧棧頂緩存的手勢模式的終點(diǎn),同時(shí)將上述手勢模式及其候選終點(diǎn)壓棧,并利用韋特比回饋算法找出該手勢模式的起點(diǎn),并執(zhí)行判別模塊;彈出模塊,用于彈出手勢棧棧頂手勢模式,并將t-Ι時(shí)刻設(shè)為該手勢模式的終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),然后執(zhí)行判別模塊;判別模塊,對(duì)手勢棧彈出的手勢模式的長度進(jìn)行判別,如若手勢模式的長度滿足約束條件,那么其是一個(gè)真手勢模式,執(zhí)行標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢模式的長度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長度;
標(biāo)記模塊,根據(jù)相應(yīng)的手勢動(dòng)作識(shí)別模型,對(duì)所述真手勢模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測序列中進(jìn)行標(biāo)記,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的動(dòng)作數(shù)據(jù)。本發(fā)明的有益效果在于I.識(shí)別的準(zhǔn)確率高本發(fā)明所述的方法是一種結(jié)合視覺和多傳感器的手勢識(shí)別方法,克服了單純基于視覺的手勢識(shí)別方法跟蹤過程中容易出現(xiàn)手誤判以及對(duì)翻轉(zhuǎn)動(dòng)作不敏感的缺點(diǎn),同時(shí)克服了加速度傳感器在低速和勻速操作中靈敏度不高和角速度傳感器對(duì)平移動(dòng)作不敏感的缺點(diǎn),發(fā)揚(yáng)了基于視覺的手勢識(shí)別方法對(duì)平移敏感,以及加速度傳感器和角速度傳感器對(duì)翻轉(zhuǎn)動(dòng)作敏感的優(yōu)點(diǎn),從而減少了手勢錯(cuò)判和漏判的現(xiàn)象,提高了識(shí)別的準(zhǔn)確率。2.魯棒性強(qiáng),手勢動(dòng)作識(shí)別可靠本發(fā)明所述的方法降低了手勢動(dòng)作識(shí)別過程中環(huán)境的依賴性,提取的特征向量不受用戶動(dòng)作幅度和空間跨度的影響,輔助以訓(xùn)練好的隱馬爾可夫模型,最大程度上保證了系統(tǒng)的魯棒性,不會(huì)出現(xiàn)遺漏和誤判?!?br>
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
圖I是左右結(jié)構(gòu)的隱馬爾可夫模型示意圖;圖2是本發(fā)明的閾值模型示意圖;圖3是本發(fā)明的手勢分割識(shí)別流程圖;圖4是本發(fā)明的傳感器協(xié)同手勢識(shí)別方法流程圖;圖5是本發(fā)明的傳感器協(xié)同手勢識(shí)別系統(tǒng)示意圖。
具體實(shí)施例方式本發(fā)明識(shí)別的手勢數(shù)據(jù)集限定為動(dòng)態(tài)手勢,包括簡單的命令手勢,如控制電視頻道和音量加減的手勢,以及切換電視頻道的數(shù)字手勢。通過使用立體攝像頭和運(yùn)動(dòng)傳感器實(shí)時(shí)采集用戶的運(yùn)動(dòng)數(shù)據(jù)序列,并提取有效的手勢特征,本發(fā)明在特征級(jí)融合的基礎(chǔ)上對(duì)異構(gòu)數(shù)據(jù)構(gòu)成的手勢使用隱馬爾可夫模型實(shí)現(xiàn)了同步的分割和識(shí)別。本發(fā)明的實(shí)施例如下,圖4是本發(fā)明的傳感器協(xié)同手勢識(shí)別方法流程圖,如圖4所示,本發(fā)明的傳感器協(xié)同手勢識(shí)別方法,包括步驟I,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢動(dòng)作識(shí)別模型;步驟2,利用所述手勢動(dòng)作識(shí)別模型構(gòu)建閾值模型;步驟3,基于所述手勢動(dòng)作識(shí)別模型和閾值模型對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。具體實(shí)現(xiàn)步驟如下手勢動(dòng)作識(shí)別模型訓(xùn)練階段步驟11,通過攝像頭和多個(gè)傳感器檢測手勢動(dòng)作,獲得用于訓(xùn)練手勢動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢動(dòng)作的三維位置、三軸角速度、三軸加速度的數(shù)據(jù)序列。利用深度傳感器和單目攝像頭以及裝有陀螺儀和加速度計(jì)兩種運(yùn)動(dòng)傳感器的手持裝置(如輸入筆、遙控器等)同步檢測用戶某個(gè)獨(dú)立的、包含某種語意或表達(dá)某種意圖的手勢動(dòng)作,并分別記錄該手勢動(dòng)作整個(gè)過程中的3D位置、角速度和加速度構(gòu)成的數(shù)據(jù)序列。上述手勢動(dòng)作的3D位置數(shù)據(jù)是由深度傳感器和單目攝像頭對(duì)圖像中的每一幀通過CAMSHIFT跟蹤算法和卡爾曼濾波器算法得到的,該3D位置信息是手部區(qū)域的重心位置(X,y, z)。上述的角速度和加速度數(shù)據(jù)則是由安裝在輸入筆上的陀螺儀和加速度計(jì)分別采集到的輸入筆在空間三個(gè)方向的轉(zhuǎn)動(dòng)角速度(wx,wy,wz)和加速度(ax,ay,az)。為了使數(shù)據(jù)同步,圖像的幀率以及陀螺儀和加速度計(jì)的采集頻率同設(shè)為30HZ,所獲得的手勢數(shù)據(jù)序列米用(X1, Y1, Z1, Wx1, Wy1, Wz1, ax1; ay^ az1; x2, y2, z2, wx2, wy2, wz2, ax2, ay2, az2, · · · , xN, yN,Zn. WXn, wyN, wzN, axN, ayN, azN)標(biāo)記,長度是9N,其中,N表示一個(gè)手勢執(zhí)行過程中所采集的數(shù)據(jù)個(gè)數(shù)。 需要說明的是,采集手勢數(shù)據(jù)時(shí),為了區(qū)分不同手勢所對(duì)應(yīng)的數(shù)據(jù)序列,本實(shí)施例采用了用戶協(xié)同實(shí)現(xiàn)的分割方法,具體的實(shí)現(xiàn)方式是設(shè)計(jì)一個(gè)專門的按鈕,在手勢動(dòng)作的開始和結(jié)束時(shí)通過該按鈕標(biāo)記一個(gè)手勢動(dòng)作,在用戶輸入動(dòng)作時(shí)按住該按鈕,完成動(dòng)作時(shí)松開按鈕,從而準(zhǔn)確的得到一個(gè)手勢動(dòng)作所對(duì)應(yīng)的數(shù)據(jù)序列。為了保證訓(xùn)練結(jié)果的準(zhǔn)確性,在訓(xùn)練階段需要有大量的樣本數(shù)據(jù),因此在執(zhí)行本步驟時(shí)應(yīng)該保證能夠得到大量通過深度傳感器和單目攝像頭以及運(yùn)動(dòng)傳感器所獲得的手勢動(dòng)作數(shù)據(jù)序列,這些數(shù)據(jù)都將作為訓(xùn)練手勢動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù)。在第一樣本數(shù)據(jù)集中,每一種類型的手勢動(dòng)作應(yīng)該采集有多組數(shù)據(jù)序列。步驟12,結(jié)合所述攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù)。所述預(yù)處理的目的是去除第一樣本數(shù)據(jù)中那些影響手勢動(dòng)作識(shí)別的冗余數(shù)據(jù)。在本實(shí)施例中,第一樣本數(shù)據(jù)的預(yù)處理包括空閑數(shù)據(jù)剔除、異常數(shù)據(jù)剔除和數(shù)據(jù)平滑濾波。下面以一個(gè)手勢動(dòng)作所對(duì)應(yīng)的數(shù)據(jù)序列為例,對(duì)其數(shù)據(jù)預(yù)處理的過程進(jìn)行說明,對(duì)于其它手勢動(dòng)作而言,它們的數(shù)據(jù)預(yù)處理過程與之類似。步驟121、空閑數(shù)據(jù)剔除;用戶在手勢動(dòng)作輸入開始或者結(jié)束階段,可能會(huì)有短時(shí)間的靜止?fàn)顟B(tài),同時(shí)用戶在連續(xù)動(dòng)作過程中也有可能出現(xiàn)瞬間的停頓,這些在靜止?fàn)顟B(tài)下的數(shù)據(jù)被稱為空閑數(shù)據(jù)??臻e數(shù)據(jù)不包含任何運(yùn)動(dòng)信息,在手勢動(dòng)作識(shí)別過程中是無效的,甚至?xí)绊懯謩輨?dòng)作的正常識(shí)別。因此需要剔除這些空閑數(shù)據(jù)。由于基于視覺的方法對(duì)翻轉(zhuǎn)動(dòng)作不敏感,陀螺儀對(duì)平移動(dòng)作不敏感,而加速度計(jì)在低速和勻速運(yùn)動(dòng)中靈敏度不高,故而單獨(dú)采用3D位置、角速度或加速度判斷和剔除空閑數(shù)據(jù)時(shí)容易將有效的運(yùn)動(dòng)數(shù)據(jù)剔除掉。為了避免上述問題,本實(shí)施例采用3D位置、角速度和加速度的綜合判斷結(jié)果剔除空閑數(shù)據(jù)。當(dāng)且僅當(dāng)?shù)谝粯颖緮?shù)據(jù)中某一項(xiàng)的3D位置、角速度和加速度都是空閑數(shù)據(jù)時(shí),才將該數(shù)據(jù)項(xiàng)剔除。空閑數(shù)據(jù)的判斷是通過基于統(tǒng)計(jì)的方法實(shí)現(xiàn)的。首先,在數(shù)據(jù)的采集過程中對(duì)歷史數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,得到相鄰兩幀位置偏移量、角速度和加速度的均值和方差,然后根據(jù)一定的可信度得到相應(yīng)的置信區(qū)間范圍。如果第一樣本數(shù)據(jù)中的某一項(xiàng)值的位置偏移量、角速度和加速度都落在相應(yīng)的置信區(qū)間范圍內(nèi),則認(rèn)為該數(shù)據(jù)項(xiàng)為靜止?fàn)顟B(tài)時(shí)的數(shù)據(jù),否則認(rèn)為是正常數(shù)據(jù)。這一判斷過程描述成如下的形式
(|dxt-y dx|<kX O dx)&& (| dyt-μ dy | <kX σ dy)&&( | dzt_ μ dz | <kX σ dz) && (| wxt- μ | <IX owx)&&(|wyt-ywy|<lX σ wy)&&( | wzt-μ WJ <1 X o J如果&&(|axt_yax I <mX σ ax)&&(|ayt-y ay!<mX σ ay) &&( | azt- μ az|〈mX σ az),那么樣本數(shù)據(jù)中第t項(xiàng)數(shù)據(jù)(xt, yt, zt, wxt, wyt, wzt, axt, ayt, azt)是空閑數(shù)據(jù),需
要剔除掉,上述形式中,(μ dx,P dy,P dz,^ wx,^ wy ^ wz,^ ax,^ ay,^ ax^ 矛口 ( O dx,O dy,
Odz, σ ,σ wy) σ wz, σ ax, σ ay) σ az)分別是處于靜止?fàn)顟B(tài)時(shí)對(duì)歷史數(shù)據(jù)統(tǒng)計(jì)出來的均值和方差,k,l,m是經(jīng)驗(yàn)系數(shù),(dxt,dyt,dzt)則是樣本數(shù)據(jù)中第t項(xiàng)數(shù)據(jù)的位置偏移量,它是通過式(I)計(jì)算得到的dxt= I Xt-Xt-! I,dyt= | yt-yt_! I, dzt= | Zt-Zw | (I),式(I)中,(xt,yt,zt)和(Xt_1; y^, ζΜ)分別是第一樣本數(shù)據(jù)中第t項(xiàng)數(shù)據(jù)和第t-Ι項(xiàng)數(shù)據(jù)的3D位置坐標(biāo)。需要說明的是,由于要計(jì)算第一樣本數(shù)據(jù)中的第一項(xiàng)數(shù)據(jù)的位置偏移量,因此在步驟I所述的采集過程中,必須記錄第一項(xiàng)數(shù)據(jù)前一時(shí)刻的3D位置。步驟122、異常數(shù)據(jù)剔除;在實(shí)際的手勢動(dòng)作識(shí)別過程中,按下或松開按鍵、手的抖動(dòng)以及陀螺儀和加速度計(jì)設(shè)備供電電壓不穩(wěn)定等都會(huì)產(chǎn)生異常數(shù)據(jù),例如,在靜止?fàn)顟B(tài)時(shí),陀螺儀和加速度計(jì)的數(shù)據(jù)值突然變大,或者在運(yùn)動(dòng)狀態(tài)時(shí),相鄰數(shù)據(jù)的變化突然變大。另外,由于環(huán)境的影響,深度傳感器和單目攝像頭使用跟蹤算法采集的手部位置數(shù)據(jù)也會(huì)出現(xiàn)異常情況,例如誤判手部位置,這些異常數(shù)據(jù)對(duì)識(shí)別性能和精度有很大影響。在本實(shí)施例中,采用基于統(tǒng)計(jì)的方法來剔除這些異常數(shù)據(jù)。首先,在數(shù)據(jù)的采集過程中對(duì)歷史數(shù)據(jù)進(jìn) 行統(tǒng)計(jì)分析,得到位置偏移量、角速度和加速度的均值和方差,然后根據(jù)一定的可信度得到相應(yīng)的置信區(qū)間范圍。如果第一樣本數(shù)據(jù)中的某一項(xiàng)值的位置偏移量、角速度和加速度都落在該置信區(qū)間范圍內(nèi),則認(rèn)為該數(shù)據(jù)項(xiàng)為正常數(shù)據(jù),否則認(rèn)為是異常數(shù)據(jù)。這一判斷過程可用下列形式表示
(| H xoii(|^-^|>^xC)ii (| |>mc)如果||(卜-/4|>/ xOIl (卜?/4|>/ Il (卜V/C|>4 O
11(\axt -/41 >mn xOIK IiW -/CI >mn X C ) 11 (卜-/CI >mn X C)那么樣本數(shù)據(jù)中第t 項(xiàng)數(shù)據(jù)(xt, yt, zt, WXt, wyt, wzt, axt, ayt, azt)是異常數(shù)據(jù),需要剔除掉,上述形式中,和 ,^,,^^,^☆,《,(^,《^,,^分別是處于正常狀態(tài)時(shí)對(duì)歷史數(shù)據(jù)統(tǒng)計(jì)出來的均值和方差,kn, ln, mn是經(jīng)驗(yàn)系數(shù),(dxt, dyt, dzt)的計(jì)算和步驟122 一樣。步驟123、數(shù)據(jù)平滑濾波。陀螺傳感器所采集的數(shù)據(jù)經(jīng)常有數(shù)據(jù)不夠平滑的缺點(diǎn),因此需要在本步驟中對(duì)第一樣本數(shù)據(jù)進(jìn)行平滑濾波。平滑濾波的方法有多種,如滑動(dòng)窗口算法或者中值濾波算法,在本實(shí)施例中可采用上述兩種方法中的任意一種,在其他實(shí)施例中,也可以采用現(xiàn)有技術(shù)中的其他方法。本步驟并非是本發(fā)明方法所必須的,若陀螺傳感器所采集的數(shù)據(jù)較為平滑,則本步驟可以省略。一個(gè)手勢動(dòng)作的第一樣本數(shù)據(jù)在經(jīng)過上述預(yù)處理后,所得到的數(shù)據(jù)序列可(Xl,Y1,
Z1, WX1, Wy1, WZ1, ax” ay” az” X2, y2, z2, wx2, wy2, wz2,以用 ax2, ay2, az2, · · ·,xM, yM, zM, wxM, wyM,wzM, axM, ayM, azM)表示,長度是9M (M表示采集的數(shù)據(jù)個(gè)數(shù),之前提到,最原始采集的數(shù)據(jù)個(gè)數(shù)是N個(gè),總長度是9N,這N個(gè)數(shù)據(jù)經(jīng)過前述的切分和預(yù)處理變成了 M個(gè),M SN)。對(duì)手勢數(shù)據(jù)做上述數(shù)據(jù)預(yù)處理,得到第二樣本數(shù)據(jù),有助于更好地訓(xùn)練手勢動(dòng)作識(shí)別模型,進(jìn)而提高手勢動(dòng)作識(shí)別的準(zhǔn)確率。但若所采集的第一樣本數(shù)據(jù)效果非常好,則該預(yù)處理步驟也可省略,以加快速度。步驟13,從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量,其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,并利用所述特征向量訓(xùn)練手勢動(dòng)作識(shí)別模型??煽康奶卣飨蛄刻崛∈怯绊懯謩輨?dòng)作識(shí)別性能的關(guān)鍵一環(huán)。用戶在輸入手勢動(dòng)作時(shí),不同的人動(dòng)作幅度不一樣,手勢持續(xù)的時(shí)間也不同,因此必須提取與幅度和持續(xù)時(shí)間無關(guān)的具有較強(qiáng)魯棒性的特征。此外,從用戶角度來看,用戶輸入手勢動(dòng)作后期望在短時(shí)間內(nèi)能得到響應(yīng),因此要求特征向量提取方法具有較低的算法復(fù)雜度。步驟131、基于視覺的手勢特征提??;經(jīng)過上述的2個(gè)步驟,由深度傳感器和單目 攝像頭通過CAMSHIFT跟蹤算法和卡爾曼濾波器算法得到的是手部的軌跡點(diǎn)序列,即手部的重心坐標(biāo)序列。在本實(shí)施例中,對(duì)軌跡點(diǎn)序列提取方向特征。假設(shè)跟蹤算法得到t時(shí)刻的軌跡點(diǎn)為Pt (xt, it, zt),t-Ι時(shí)刻的軌跡點(diǎn)為Pw (Xt^1, yt_i,ζΜ),則t時(shí)刻的軌跡點(diǎn)的方向特征的計(jì)算公式如式(2)所示
權(quán)利要求
1.一種基于異構(gòu)數(shù)據(jù)融合的傳感器協(xié)同手勢識(shí)別方法,其特征在于,包括 步驟I,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢動(dòng)作識(shí)別模型; 步驟2,利用所述手勢動(dòng)作識(shí)別模型構(gòu)建閾值模型; 步驟3,基于所述手勢動(dòng)作識(shí)別模型和閾值模型對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
2.如權(quán)利要求I所述的多傳感器協(xié)同手勢識(shí)別方法,其特征在于,所述步驟I包括 步驟11,通過攝像頭和多個(gè)傳感器檢測手勢動(dòng)作,獲得用于訓(xùn)練手勢動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢動(dòng)作的三維位置、三軸角速度、三軸加速度的數(shù)據(jù)序列; 步驟12,結(jié)合所述攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù); 步驟13,從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量,其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,并利用所述特征向量訓(xùn)練手勢動(dòng)作識(shí)別模型。
3.如權(quán)利要求I所述的多傳感器協(xié)同手勢識(shí)別方法,其特征在于,所述手勢動(dòng)作識(shí)別模型為左-右結(jié)構(gòu)的連續(xù)隱馬爾科夫模型。
4.如權(quán)利要求2所述的多傳感器協(xié)同手勢識(shí)別方法,其特征在于,所述步驟11中采用用戶協(xié)同實(shí)現(xiàn)的分割方法以區(qū)分手勢對(duì)應(yīng)的數(shù)據(jù)序列。
5.如權(quán)利要求2所述的多傳感器協(xié)同手勢識(shí)別方法,其特征在于,所述步驟12中的所訴預(yù)處理包括空閑數(shù)據(jù)和異常數(shù)據(jù)剔除以及數(shù)據(jù)平滑濾波。
6.如權(quán)利要求I所述的多傳感器協(xié)同手勢識(shí)別方法,其特征在于,所述步驟2中所述閾值模型是由系統(tǒng)中所有手勢動(dòng)作識(shí)別模型的隱狀態(tài)完全連接的遍歷結(jié)構(gòu)的隱馬爾可夫模型,且對(duì)于給定的一個(gè)手勢動(dòng)作識(shí)別模式,所述閾值模型的似然值都小于任意一個(gè)手勢模式的手勢動(dòng)作識(shí)別模型的似然值。
7.如權(quán)利要求2所述的多傳感器協(xié)同手勢識(shí)別方法,其特征在于,所述步驟3包括 步驟301,設(shè)定初始時(shí)間t=l,并將觀測序列和手勢棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測值增添到觀測序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測序列;步驟302,分別使用所有手勢動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測序列的似然值; 步驟303,找到所述似然值最大的第一手勢動(dòng)作識(shí)別模型; 步驟304,判斷所述第一手勢動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),同時(shí)執(zhí)行步驟305 ;否則執(zhí)行步驟306 ; 步驟305,將所述手勢模式與手勢棧棧頂緩存的手勢模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回步驟11采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢棧棧頂緩存的手勢模式,并壓入上述手勢模式及其候選終點(diǎn),同時(shí)返回步驟11采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢棧頂緩存的手勢模式,并將上述手勢模式的起點(diǎn)的t-i時(shí)刻作為手勢棧棧頂緩存的手勢模式的終點(diǎn),同時(shí)將上述手勢模式及其候選終點(diǎn)壓棧,,執(zhí)行步驟 307 ; 步驟306,彈出手勢棧棧頂手勢模式,并將t-Ι時(shí)刻設(shè)為該手勢模式的終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),然后執(zhí)行步驟307 ; 步驟307,對(duì)手勢棧彈出的手勢模式的長度進(jìn)行判別,如若手勢模式的長度滿足約束條件,那么其是一個(gè)真手勢模式,執(zhí)行步驟308 ;否則返回步驟11采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢模式的長度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長度; 步驟308,根據(jù)相應(yīng)的手勢動(dòng)作識(shí)別模型,對(duì)所述真手勢模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測序列中進(jìn)行標(biāo)記,同時(shí)返回步驟11采集下一時(shí)刻的動(dòng)作數(shù)據(jù)。
8.一種基于異構(gòu)數(shù)據(jù)融合的多傳感器協(xié)同手勢識(shí)別系統(tǒng),其特征在于,包括 手勢動(dòng)作識(shí)別模型訓(xùn)練模塊,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢動(dòng)作識(shí)別模型; 閾值模型構(gòu)建模塊,利用所述手勢動(dòng)作識(shí)別模型構(gòu)建閾值模型; 分割識(shí)別模塊,基于所述手勢動(dòng)作識(shí)別模型和閾值模型對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
9.如權(quán)利要求8所述的多傳感器協(xié)同手勢識(shí)別系統(tǒng),其特征在于,所述手勢動(dòng)作識(shí)別模型訓(xùn)練模塊包括 樣本數(shù)據(jù)獲得模塊,通過單目攝像頭和多個(gè)傳感器檢測手勢動(dòng)作,獲得用于訓(xùn)練手勢動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢動(dòng)作的三維位置、三軸角速度、三軸加速度的數(shù)據(jù)序列; 預(yù)處理模塊,結(jié)合所述單目攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù); 特征向量提取模塊,用于從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量,其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,利用所述特征向量訓(xùn)練手勢動(dòng)作識(shí)別模型。
10.如權(quán)利要求9所述的多傳感器協(xié)同手勢識(shí)別系統(tǒng),其特征在于,所述分割識(shí)別模塊包括 觀測序列增添模塊,設(shè)定初始時(shí)間t=l,并將觀測序列和手勢棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測值增添到觀測序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測序列; 似然值計(jì)算模塊,分別使用所有手勢動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測序列的似然值; 判斷模塊,找到所述似然值最大的第一手勢動(dòng)作識(shí)別模型,判斷所述手勢動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),同時(shí)執(zhí)行對(duì)比模塊;否則執(zhí)行彈出模塊; 對(duì)比模塊,將上述手勢模式與手勢棧棧頂緩存的手勢模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢棧棧頂緩存的手勢模式,并壓入上述手勢模式及其候選終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢模式的起點(diǎn)在手勢棧棧頂緩存的手勢模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢棧棧頂緩存的手勢模式,并將上述手勢模式的起點(diǎn)的t-Ι時(shí)刻作為手勢棧棧頂緩存的手勢模式的終點(diǎn),同時(shí)將上述手勢模式及其候選終點(diǎn)壓棧,并利用韋特比回饋算法找出該手勢模式的起點(diǎn),并執(zhí)行判別模塊; 彈出模塊,用于彈出手勢棧棧頂手勢模式,并將t-Ι時(shí)刻設(shè)為該手勢模式的終點(diǎn),并利用韋特比回饋算法找出該手勢模式的起點(diǎn),并利用韋特比回饋算法找出該手勢模式的起 點(diǎn),然后執(zhí)行判別模塊; 判別模塊,對(duì)手勢棧彈出的手勢模式的長度進(jìn)行判別,如若手勢模式的長度滿足約束條件,那么其是一個(gè)真手勢模式,執(zhí)行標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢模式的長度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長度; 標(biāo)記模塊,根據(jù)相應(yīng)的手勢動(dòng)作識(shí)別模型,對(duì)所述真手勢模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測序列中進(jìn)行標(biāo)記,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的動(dòng)作數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種基于異構(gòu)數(shù)據(jù)融合的傳感器協(xié)同手勢識(shí)別方法及系統(tǒng),該方法包括步驟1,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢動(dòng)作識(shí)別模型;步驟2,利用所述手勢動(dòng)作識(shí)別模型構(gòu)建閾值模型;步驟3,基于所述手勢動(dòng)作識(shí)別模型和閾值模型對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。本發(fā)明克服了基于視覺的技術(shù)普遍對(duì)周圍環(huán)境和位置有強(qiáng)烈依賴性和對(duì)翻轉(zhuǎn)動(dòng)作不敏感的問題,同時(shí)解決了基于傳感器的手勢識(shí)別中手勢識(shí)別精度和效率不高,經(jīng)常會(huì)出現(xiàn)錯(cuò)判和漏判的問題,提供了一種識(shí)別準(zhǔn)確率高、魯棒性強(qiáng),手勢動(dòng)作識(shí)別可靠的手勢識(shí)別方法及系統(tǒng)。
文檔編號(hào)G06K9/00GK102945362SQ20121039725
公開日2013年2月27日 申請日期2012年10月18日 優(yōu)先權(quán)日2012年10月18日
發(fā)明者黃美玉, 陳益強(qiáng), 紀(jì)雯 申請人:中國科學(xué)院計(jì)算技術(shù)研究所