欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法及系統(tǒng)的制作方法

文檔序號(hào):6380508閱讀:258來(lái)源:國(guó)知局
專利名稱:一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法及系統(tǒng)的制作方法
一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法及系統(tǒng)技術(shù)領(lǐng)域
本發(fā)明屬于人機(jī)交互領(lǐng)域,特別涉及一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(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ī)交互的多種方式中,手勢(shì)動(dòng)作是最為自然、直觀且易于學(xué)習(xí)的方式之一。智能感知?jiǎng)幼髡Z(yǔ)義的手勢(shì)交互技術(shù),是實(shí)現(xiàn)自然、高效的人機(jī)交互的必然趨勢(shì)。
手勢(shì)分割,是識(shí)別手勢(shì)的前提,分割的正確合理性直接影響識(shí)別結(jié)果的好壞。但是由于用戶手勢(shì)動(dòng)作的任意性和隨機(jī)性,手勢(shì)分割一直是一個(gè)研究難點(diǎn),目前手勢(shì)分割的主要方法有
I.通過(guò)用戶協(xié)同實(shí)現(xiàn)分割,具體分兩種情況一種是制定手勢(shì)規(guī)則,或者開(kāi)始和結(jié)束時(shí)讓手脫離攝像頭視線,或者定義手勢(shì)由起始姿態(tài),軌跡曲線和選擇姿態(tài)構(gòu)成;另外一種是通過(guò)用戶按壓專門的按鈕實(shí)現(xiàn)分割,例如在用戶輸入動(dòng)作時(shí)按住該按鈕,完成動(dòng)作時(shí)松開(kāi)按鈕,這樣就能夠較為準(zhǔn)確地得到一個(gè)手勢(shì)動(dòng)作所對(duì)應(yīng)的特征序列。
2.通過(guò)數(shù)據(jù)分析實(shí)現(xiàn)分割,具體分兩種情況一種是基于特征的方法,或者統(tǒng)計(jì)手勢(shì)轉(zhuǎn)換時(shí)的特征,如果某一時(shí)刻采集的手勢(shì)特征與某個(gè)已知的手勢(shì)轉(zhuǎn)換特征相匹配, 該處就是一個(gè)分割點(diǎn),或者分別統(tǒng)計(jì)手勢(shì)起始時(shí)和結(jié)束時(shí)的特征約束條件,以判定手勢(shì)的起點(diǎn)和終點(diǎn);另外一種是基于模型的方法,常用的模型有神經(jīng)網(wǎng)絡(luò)(NN),連續(xù)動(dòng)態(tài)規(guī)劃(CDP),動(dòng)態(tài)時(shí)間規(guī)整(DTW),隱馬爾科夫模型(HMM),條件模型(最大熵馬爾科夫模型 (MEMM)和條件隨機(jī)場(chǎng)(CRF ))。
第一種方法需要用戶的合作,多余的規(guī)則或按壓動(dòng)作會(huì)增加用戶的負(fù)擔(dān),減少交互體驗(yàn)的愉悅感,第二種方法中基于特征的分割,要求手勢(shì)之間有非手勢(shì)的運(yùn)動(dòng)模式,不適用于連續(xù)手勢(shì)運(yùn)動(dòng)的分割,而基于模型的分割則不存在該限制,因此是目前手勢(shì)分割的首選方法。
在基于模型的分割算法中,基于神經(jīng)網(wǎng)絡(luò)(NN)的分割算法采用了固定窗口的分割算法,不能容忍手勢(shì)長(zhǎng)度的變化,而基于連續(xù)動(dòng)態(tài)規(guī)劃(CDP)的分割算法計(jì)算時(shí)間復(fù)雜度高,基于動(dòng)態(tài)時(shí)間規(guī)整(DTW)的分割算法不能應(yīng)用于手勢(shì)變化的動(dòng)態(tài)系統(tǒng)中,基于最大熵馬爾科夫模型(MEMM)的分割算法存在標(biāo)記偏差的問(wèn)題,而基于條件隨機(jī)場(chǎng)(CRF)的分割算法雖然性能要好于基于隱馬爾科夫模型(HMM)的分割算法,但是其收斂速度慢,擴(kuò)展性差,故而現(xiàn)在最流行的分割算法仍然是基于HMM的算法。
經(jīng)典的基于HMM的分割算法都是使用一個(gè)通用的閾值模型作為自適應(yīng)的似然值閾值,以從連續(xù)的動(dòng)作序列中區(qū)分出手勢(shì)動(dòng)作序列。它的基本原理是,實(shí)時(shí)的使用韋特比算法計(jì)算連續(xù)輸入的動(dòng)作序列針對(duì)各個(gè)手勢(shì)模型和通用閾值模型的似然值,當(dāng)手勢(shì)模型的最大似然值高于通用閾值模型的似然值時(shí),將當(dāng)前時(shí)刻記為似然值最大的手勢(shì)模型對(duì)應(yīng)的手勢(shì)模式的終點(diǎn),再通過(guò)韋特比算法解碼該手勢(shì)模式,找到手勢(shì)模式的起點(diǎn),從而實(shí)現(xiàn)了手勢(shì)動(dòng)作序列的分割。然而僅適用通用閾值模型作為自適應(yīng)的似然值閾值,很可能將那些復(fù)雜的非手勢(shì)動(dòng)作序列也誤判為手勢(shì)動(dòng)作序列,因?yàn)橥ㄓ玫拈撝的P椭皇且粋€(gè)由系統(tǒng)中的所有手勢(shì)模型的所有狀態(tài)完全連接而成的遍歷模型,它只能與預(yù)定義的手勢(shì)子模式以任意次序組合而成的模式匹配,而不能與非預(yù)定義的手勢(shì)子模式構(gòu)成的非手勢(shì)模式匹配,故而當(dāng)某個(gè)手勢(shì)模型針對(duì)當(dāng)前輸入動(dòng)作序列計(jì)算出來(lái)的似然值高于通用的閾值模型時(shí),并不能武斷地判定當(dāng)前輸入動(dòng)作序列屬于某個(gè)手勢(shì)模式。基于以上原因,檢測(cè)和建模非手勢(shì)運(yùn)動(dòng)模式成為基于HMM分割手勢(shì)的難點(diǎn)。發(fā)明內(nèi)容
本發(fā)明的目的是克服傳統(tǒng)的基于HMM的手勢(shì)分割算法在表征非手勢(shì)模式上存在的缺陷,并在采集了大量的非手勢(shì)模式后對(duì)其進(jìn)行了聚類和建模。本發(fā)明將訓(xùn)練的非手勢(shì)模型導(dǎo)入到手勢(shì)分割識(shí)別系統(tǒng)中,使得手勢(shì)分割識(shí)別系統(tǒng)能夠更好的表征非手勢(shì)模式,減少了將非手勢(shì)模式誤判為手勢(shì)模式的概率,提高了手勢(shì)分割算法的準(zhǔn)確性。
為實(shí)現(xiàn)上述目的,本發(fā)明提出了一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法, 包括
步驟1,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型,利用所述手勢(shì)動(dòng)作識(shí)別模型構(gòu)建閾值模型,手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成手勢(shì)分割模型;
步驟2,利用所述手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中自動(dòng)檢 測(cè)非手勢(shì)模式;
步驟3,利用所述非手勢(shì)模式訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型;
步驟4,基于非手勢(shì)動(dòng)作識(shí)別模型擴(kuò)展手勢(shì)分割模型,對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
所述步驟2包括
步驟21,利用所述的手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中分割和識(shí)別出有效的手勢(shì)1吳式;
步驟22,將所述手勢(shì)模式的起點(diǎn)與前一個(gè)動(dòng)作模式的終點(diǎn)之間的觀測(cè)序列作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái);
步驟23,計(jì)算所述手勢(shì)模式的似然值,并對(duì)其進(jìn)行判斷若似然值小于 Υ,則判定當(dāng)前的手勢(shì)模式為偽手勢(shì)模式,并將其作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái),否則判定當(dāng)前的手勢(shì)模式為一個(gè)真手勢(shì)模式,對(duì)其進(jìn)行分割識(shí)別,其中 Υ是一個(gè)小于訓(xùn)練手勢(shì)的最低似然值的似然值閾值。
所述步驟21包括
步驟201,通過(guò)攝像頭和多個(gè)傳感器檢測(cè)手勢(shì)動(dòng)作,獲得用于訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢(shì)動(dòng)作的三維位置、三軸角速度、 三軸加速度的數(shù)據(jù)序列;
步驟202,結(jié)合所述攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù);
步驟203,從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量, 其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,并利用所述特征向量訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型;
步驟204,設(shè)定初始時(shí)間t=l,并將觀測(cè)序列和手勢(shì)棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測(cè)值增添到觀測(cè)序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測(cè)序列;
步驟205,分別使用所有手勢(shì)動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測(cè)序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測(cè)序列的似然值;
步驟206,找到所述似然值最大的第一手勢(shì)動(dòng)作識(shí)別模型;
步驟207,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值; 若高于則將所述t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),同時(shí)執(zhí)行步驟208 ;否則執(zhí)行步驟209 ;
步驟208,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),同時(shí)將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,并執(zhí)行步驟210 ;
步驟209,彈出手勢(shì)棧棧頂手勢(shì)模式,并將t-Ι時(shí)刻設(shè)為該手勢(shì)模式的終點(diǎn),然后執(zhí)行步驟210 ;
步驟210,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是一個(gè)真手勢(shì)模式,執(zhí)行步驟211 ;否則返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度;
步驟211,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回步驟201采集下一時(shí)刻的動(dòng)作數(shù)據(jù)。
所述步驟3包括
步驟301,通過(guò)基于歐式距離的動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算非手勢(shì)模式間的相似度矩陣,再采用ISODAT A算法對(duì)非手勢(shì)模式集進(jìn)行聚類;
步驟302,對(duì)聚類后的每個(gè)非手勢(shì)模式聚類訓(xùn)練一個(gè)非手勢(shì)動(dòng)作識(shí)別模型,其中非手勢(shì)動(dòng)作識(shí)別模型采用左右結(jié)構(gòu)的隱馬爾可夫模型。
所述步驟4包括
步驟401,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否同時(shí)高于閾值模型的似然值和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值;若高于則將t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),同時(shí)執(zhí)行步驟402 ;否則執(zhí)行步驟403 ;
步驟402,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),同時(shí)將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,并執(zhí)行步驟404 ;
步驟403,彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并將t-Ι時(shí)刻記為該手勢(shì)模式的終點(diǎn),同時(shí)執(zhí)行步驟404 ;
步驟404,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是一個(gè)真手勢(shì)模式,執(zhí)行步驟404 ;否則返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度;
步驟405,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù)。
本發(fā)明還提供了一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別系統(tǒng),包括
手勢(shì)分割模型訓(xùn)練模塊,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型,利用所述手勢(shì)動(dòng)作識(shí)別模型構(gòu)建閾值模型,手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成手勢(shì)分割模型;
非手勢(shì)模式檢測(cè)模塊,利用所述手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中自動(dòng)檢測(cè)非手勢(shì)模式;
非手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練模塊,利用所述非手勢(shì)模式訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型;
分割識(shí)別模塊,基于非手勢(shì)動(dòng)作識(shí)別模型擴(kuò)展手勢(shì)分割模型,以對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
所述非手勢(shì)模式檢測(cè)模塊包括
手勢(shì)模式檢測(cè)模塊,利用所述的手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中分割和識(shí)別出有效的手勢(shì)模式;
非手勢(shì)模式截取模塊,將所述手勢(shì)模式的起點(diǎn)與前一個(gè)動(dòng)作模式的終點(diǎn)之間的觀測(cè)序列作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái)。
非手勢(shì)模式判斷模塊,計(jì)算所述手勢(shì)模式的似然值,并對(duì)其進(jìn)行判斷若似然值小于 Υ,則判定當(dāng)前的手勢(shì)模式為偽手勢(shì)模式,并將其作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái),否則判定當(dāng)前的手勢(shì)模式為一個(gè)真手勢(shì)模式,對(duì)其進(jìn)行分割識(shí)別,其中I;是一個(gè)小于訓(xùn)練手勢(shì)的最低似然值的似然值閾值。
所述手勢(shì)模式檢測(cè)模塊包括
樣本數(shù)據(jù)獲得模塊,通過(guò)攝像頭和多個(gè)傳感器檢測(cè)手勢(shì)動(dòng)作,獲得用于訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢(shì)動(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)練手勢(shì)動(dòng)作識(shí)別模型;
觀測(cè)序列增添模塊,設(shè)定初始時(shí)間t=l,并將觀測(cè)序列和手勢(shì)棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測(cè)值增添到觀測(cè)序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測(cè)序列;
似然值計(jì)算模塊,分別使用所有手勢(shì)動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測(cè)序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測(cè)序列的似然值;
判斷模塊,找到所述似然值最大的第一手勢(shì)動(dòng)作識(shí)別模型,判斷所述手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn), 同時(shí)執(zhí)行對(duì)比模塊;否則執(zhí)行第一彈出模塊;
對(duì)比模塊,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),同時(shí)將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,然后執(zhí)行第一判別模塊;;
第一彈出模塊,用于彈出手勢(shì)棧棧頂手勢(shì)模式,并將t-Ι時(shí)刻設(shè)為該手勢(shì)模式的終點(diǎn),然后執(zhí)行第一判別模塊;
第一判別模塊,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是一個(gè)真手勢(shì)模式,執(zhí)行第一標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度;
第一標(biāo)記模塊,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的動(dòng)作數(shù)據(jù)。
所述非手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練模塊包括
非手勢(shì)模式聚類模塊,通過(guò)基于歐式距離的動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算非手勢(shì)模式間的相似度矩陣,再采用ISODAT A算法對(duì)非手勢(shì)模式集進(jìn)行聚類;
訓(xùn)練模塊,對(duì)聚類后的每個(gè)非手勢(shì)模式聚類訓(xùn)練一個(gè)非手勢(shì)模型,其中非手勢(shì)模型采用左右結(jié)構(gòu)的隱馬爾可夫模型。
所述分割識(shí)別模塊包括
手勢(shì)模式判斷模塊,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否同時(shí)高于閾值模型的似然值和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值;若高于則將t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),同時(shí)執(zhí)行對(duì)比判斷模塊;否則執(zhí)行第二彈出模塊;
對(duì)比判斷模塊,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面, 則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),同時(shí)將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,并執(zhí)行第二判別模塊;
第二彈出模塊,用于彈出手勢(shì)棧棧頂手勢(shì)模式,并將t-Ι時(shí)刻設(shè)為該手勢(shì)模式的終點(diǎn),然后執(zhí)行第二判別模塊;
第二判別模塊,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是一個(gè)真手勢(shì)模式,執(zhí)行第二標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度;
第二標(biāo)記模塊,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù)。
本發(fā)明的有益效果在于
(I)可以自動(dòng)檢測(cè)非手勢(shì)模式,減少人工標(biāo)定量。
(2)手勢(shì)分割的準(zhǔn)確率高。從測(cè)試集的動(dòng)作序列中檢測(cè)非手勢(shì)模式,并在采集了大量的非手勢(shì)模式后對(duì)其進(jìn)行了聚類和建模,將訓(xùn)練的非手勢(shì)模型導(dǎo)入到手勢(shì)分割識(shí)別系統(tǒng)中,使得手勢(shì)分割識(shí)別系統(tǒng)能夠更好的表征非手勢(shì)模式,減少了將非手勢(shì)模式誤判為手勢(shì)模式的概率,提高了手勢(shì)分割算法的準(zhǔn)確性。
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。


圖I是本發(fā)明的閾值模型示意圖2是本發(fā)明的手勢(shì)分割識(shí)別流程圖3是本發(fā)明的非手勢(shì)模式檢測(cè)流程圖4是本發(fā)明的擴(kuò)展手勢(shì)分割識(shí)別流程圖5是本發(fā)明的自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法流程圖6是本發(fā)明的自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別系統(tǒng)示意圖。
具體實(shí)施方式
本發(fā)明識(shí)別的手勢(shì)數(shù)據(jù)集限定為動(dòng)態(tài)手勢(shì),包括簡(jiǎn)單的命令手勢(shì),如控制電視頻道和音量加減的手勢(shì),以及切換電視頻道的數(shù)字手勢(shì)。通過(guò)給出一種自動(dòng)檢測(cè)非手勢(shì)模式的方法,本發(fā)明擴(kuò)展了基于HMM閾值模型的分割模型,對(duì)動(dòng)態(tài)手勢(shì)實(shí)現(xiàn)了精確的分割。
圖5是本發(fā)明的自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法流程圖,如圖5所示,本發(fā)明的自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法,包括
步驟1,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型,利用所述手勢(shì)動(dòng)作識(shí)別模型構(gòu)建閾值模型,手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成手勢(shì)分割模型;
步驟2,利用所述手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中自動(dòng)檢測(cè)非手勢(shì)模式;
步驟3,利用所述非手勢(shì)模式訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型;
步驟4,基于非手勢(shì)動(dòng)作識(shí)別模型擴(kuò)展手勢(shì)分割模型,對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
步驟I的具體實(shí)現(xiàn)步驟如下
1.訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型
需要說(shuō)明的是,本步驟的一般實(shí)現(xiàn)方法是,首先基于視覺(jué)或者運(yùn)動(dòng)傳感器采集手勢(shì)數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,再對(duì)處理后的數(shù)據(jù)提取魯棒的特征向量,最終基于特征向量進(jìn)行模型訓(xùn)練。
需要說(shuō)明的是,采集手勢(shì)數(shù)據(jù)時(shí),為了區(qū)分不同手勢(shì)所對(duì)應(yīng)的數(shù)據(jù)序列,本實(shí)施例采用了用戶協(xié)同實(shí)現(xiàn)的分割方法,具體的實(shí)現(xiàn)方式是設(shè)計(jì)一個(gè)專門的按鈕,在手勢(shì)動(dòng)作的開(kāi)始和結(jié)束時(shí)通過(guò)該按鈕 標(biāo)記一個(gè)手勢(shì)動(dòng)作,在用戶輸入動(dòng)作時(shí)按住該按鈕,完成動(dòng)作時(shí)松開(kāi)按鈕,從而準(zhǔn)確的得到一個(gè)手勢(shì)動(dòng)作所對(duì)應(yīng)的數(shù)據(jù)序列。
在本實(shí)施例中,所述手勢(shì)動(dòng)作識(shí)別模型為左-右結(jié)構(gòu)的隱馬爾科夫模型(HMM),該模型中有且只有一個(gè)初始狀態(tài)和終止?fàn)顟B(tài),該模型的訓(xùn)練可采用前述的Baum-Welch算法實(shí)現(xiàn),最終輸出為初始狀態(tài)概率分布,狀態(tài)轉(zhuǎn)移概率矩陣和輸出觀測(cè)值概率分布矩陣。隱馬爾科夫模型h可以表不為一個(gè)五兀組(S,V, A, B, π ),其中S = {s1; S2, S3,, sN}是一組狀態(tài)的集合,V = (V1, V2, V3, , νκ}是一組輸出觀測(cè)值組成的集合,A = Iiaij]是N行 N列的狀態(tài)轉(zhuǎn)移概率矩陣,每個(gè)元素au = P (qt+1 = Sj | qt = Si),I彡i, j彡N表征從狀態(tài)SiR到狀態(tài)\_的概率,B={bj(k)}是N行K列的輸出觀測(cè)值的概率分布矩陣,每個(gè)元素 bj (k) =P (vk I Sj),I彡k彡K,I彡j彡N表示在狀態(tài)Sj時(shí)輸出觀測(cè)值Vk的概率,= {Jij 是初始狀態(tài)概率分布,Jii = PQ1 = Si)表示時(shí)刻I選擇狀態(tài)Si的概率。當(dāng)輸出觀測(cè)值為連續(xù)型變量時(shí),此時(shí)的隱馬爾科夫模型稱為連續(xù)隱馬爾科夫模型。當(dāng)模型中有且只有一個(gè)初始狀態(tài)和終止?fàn)顟B(tài)時(shí),此時(shí)的隱馬爾科夫模型稱為左右結(jié)構(gòu)的隱馬爾科夫模型。
2.構(gòu)建閾值模型
為了從連續(xù)的動(dòng)作序列中定位出有效的手勢(shì)動(dòng)作序列,嵌入在輸入流中的手勢(shì)動(dòng)作序列對(duì)應(yīng)的手勢(shì)模型的似然值應(yīng)該具有足夠的區(qū)分能力。僅使用一個(gè)簡(jiǎn)單的似然值閾值通常并不起作用,無(wú)法保證分割出來(lái)的動(dòng)作序列是否真的屬于某個(gè)手勢(shì)模式。因此,本實(shí)施例中參照方法[I] (H. K. Lee and J. H. Kim, " Anhmm-based threshold model approach for gesture recognition, " IEEE Transactions onpattern analysis and machine in telligence, Vol. 21, pp. 961—973, October 1999.)構(gòu)建了一個(gè)閾值模型(見(jiàn)圖1),以它的似然值作為一個(gè)自適應(yīng)的閾值,當(dāng)且僅當(dāng)最好的手勢(shì)模型的似然值高于該動(dòng)作模型的似然值時(shí),一個(gè)手勢(shì)模式才從連續(xù)的動(dòng)作序列中分割出來(lái)并實(shí)現(xiàn)同步地識(shí)別。圖1給出的閾值模型是一個(gè)遍歷結(jié)構(gòu)的簡(jiǎn)化版本,其中,A, B, Z分別表示一個(gè)手勢(shì)動(dòng)作識(shí)別模型,每個(gè)圓圈代表一個(gè)狀態(tài),起始狀態(tài)S和終止?fàn)顟B(tài)T是不產(chǎn)生觀察值的空狀態(tài),實(shí)線箭頭表示狀態(tài)之間的真實(shí)轉(zhuǎn)移路徑,而虛箭頭不代表真正的連接,它只是一種形象化的表示,說(shuō)明模型中的所有狀態(tài)都可以通過(guò)一步轉(zhuǎn)移到其它任何狀態(tài)。
上述閾值模型是由系統(tǒng)中所有手勢(shì)模型的狀態(tài)完全連接的遍歷模型,能夠與由預(yù)定義的手勢(shì)子模式以任意次序組合而成的模式匹配,且能保證對(duì)于給定的一個(gè)手勢(shì)模式,它的似然值將小于給定手勢(shì)模式的手勢(shì)模型的似然值。閾值模型構(gòu)建的具體步驟是將系統(tǒng)中訓(xùn)練的所有手勢(shì)模型的所有狀態(tài)拷貝出來(lái),保持每一個(gè)狀態(tài)的輸出觀察概率和自轉(zhuǎn)移概率不變,同時(shí)修改每個(gè)狀態(tài)在原來(lái)手勢(shì)模型中的外轉(zhuǎn)移特性,令每個(gè)狀態(tài)都可以通過(guò)一步轉(zhuǎn)移到其它任何狀態(tài),且轉(zhuǎn)移概率相等,具體的計(jì)算公式如式(I):
α = ,■/ = I,2,…,N; j Φ i;Λ. _ 1UJ,
其中a u是從狀態(tài)i到j(luò)的轉(zhuǎn)移概率,N是狀態(tài)數(shù)目(除了起始和終止?fàn)顟B(tài)的所有狀態(tài)的總和)。需要說(shuō)明的是,正是因?yàn)殚撝的P椭袑⒚恳粋€(gè)狀態(tài)轉(zhuǎn)移到其它任何狀態(tài)的概率均分化,從而其轉(zhuǎn)向原來(lái)手勢(shì)模型中的前向狀態(tài)的概率低于其在原來(lái)的手勢(shì) 模型中的前向轉(zhuǎn)移概率,如此,給定一個(gè)手勢(shì)模式,閾值模型的似然值才會(huì)低于相應(yīng)的手勢(shì)模型的似然值。
本實(shí)施例中,手勢(shì)分割模型由手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成。
本實(shí)施例中,按照?qǐng)D3所示的非手勢(shì)模式檢測(cè)流程圖,從測(cè)試集的動(dòng)作序列中檢測(cè)非手勢(shì)模式,
輸入連續(xù)動(dòng)作序列(相當(dāng)于觀測(cè)序列)0,初始化7 =0,其中T/為前一個(gè)手勢(shì)模式或非手勢(shì)模式的終點(diǎn)。
基于上個(gè)階段訓(xùn)練的手勢(shì)分割模型實(shí)時(shí)地對(duì)投入測(cè)試的動(dòng)作序列進(jìn)行手勢(shì)分割和識(shí)別,得到有效的手勢(shì)模式€,及其起點(diǎn)Ts (gs)和終點(diǎn)Te (gs)。
將當(dāng)前的手勢(shì)模式gs的起點(diǎn)Ts (gs)與T/之間的觀測(cè)序列作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái)。即將動(dòng)作序列()檢測(cè)為一個(gè)非手勢(shì)模式。
更新T:=TS (gs)-l。
采用前向算法或后向算法計(jì)算所述手勢(shì)模式gs與相應(yīng)的手勢(shì)模型的似然值L,并對(duì)其進(jìn)行判斷若似然值L小于IV,則判定當(dāng)前的手勢(shì)模式為偽手勢(shì)模式,并將其作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái),否則判定當(dāng)前的手勢(shì)模式為一個(gè)真手勢(shì)模式,對(duì)其進(jìn)行分割識(shí)別,其中 Υ是一個(gè)小于訓(xùn)練手勢(shì)的最低似然值的似然值閾值。在步驟I中應(yīng)用 Baum-Welch算法訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的時(shí)候會(huì)計(jì)算每個(gè)手勢(shì)模式與手勢(shì)動(dòng)作識(shí)別模型的似然值,假設(shè)Lmin和δ ^分別是訓(xùn)練手勢(shì)模式與相應(yīng)手勢(shì)動(dòng)作識(shí)別模型似然值的最低值和方差,則本實(shí)施例中,設(shè)定 Υ = Lmin-3* δ LO
手勢(shì)分割和識(shí)別具體步驟包括
步驟201,通過(guò)攝像頭和多個(gè)傳感器檢測(cè)手勢(shì)動(dòng)作,獲得用于訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢(shì)動(dòng)作的三維位置、三軸角速度、 三軸加速度的數(shù)據(jù)序列;
步驟202,結(jié)合所述攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù);
步驟203,從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量, 其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,并利用所述特征向量訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型;
步驟204,設(shè)定初始時(shí)間t=l,并將觀測(cè)序列O和手勢(shì)棧S置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測(cè)值增添到觀測(cè)序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測(cè)序列;步驟205,分別使用所有手勢(shì)動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測(cè)序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測(cè)序列的似然值;令Eh是模型h的終止?fàn)顟B(tài),則對(duì)于給定的模型h,觀測(cè)序列O的似然值設(shè)定為t時(shí)刻到達(dá)狀態(tài)Eh的最優(yōu)路徑產(chǎn)生觀察序列Ot 的聯(lián)合概率,記為St (Eh)。
步驟206,找到所述似然值最大的第一手勢(shì)動(dòng)作識(shí)別模型;似然值最大的手勢(shì)模型滿足下述的條件
g* = argmaxh eG δ t (Eh),其中G是所有訓(xùn)練的手勢(shì)動(dòng)作識(shí)別模型的集合。
步驟207,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值; 若高于則將所述t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),即令Te = t,并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn)Ts,執(zhí)行步驟208 ;否則執(zhí)行步驟 209 ;似然值高于閾值模型的最大似然值的手勢(shì)模型滿足下述條件
g*=argmaxh e G δ t (Eh),并且沒(méi)(^) >沒(méi)(八/ )其中TR是閾值模型。
步驟208,判斷手勢(shì)棧S是否為空,如果為空,將所述手勢(shì)模式g*壓入手勢(shì)棧中, 并標(biāo)記手勢(shì)棧棧頂緩存的手勢(shì)模式的起點(diǎn)和終點(diǎn),令Ts (gs)=Ts, Te (gs)=Te,同時(shí)返回步驟 201采集下一時(shí)刻,即t+Ι時(shí)刻的第一樣本數(shù)據(jù);如果手勢(shì)棧S不為空,則將上述手勢(shì)模式 g*與手勢(shì)棧棧頂緩存的手勢(shì)模式gs進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),更新手勢(shì)棧棧頂緩存的手勢(shì)模式gs的起點(diǎn),即令Ts (gs) =Ts,同時(shí)返回步驟201采集下一時(shí)刻,即t+Ι時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式g*的起點(diǎn)Ts在手勢(shì)棧棧頂緩存的手勢(shì)模式gs的第一個(gè)候選終點(diǎn)Te (gs)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式gs,并壓入上述手勢(shì)模式g*,同時(shí)更新手勢(shì)棧棧頂緩存的手勢(shì)模式的起點(diǎn)和終點(diǎn),令Ts (gs) =Ts, Te (gs) =Te,并返回步驟201采集下一時(shí)刻,即t+Ι時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式g* 的起點(diǎn)Ts在手勢(shì)棧棧頂緩存的手勢(shì)模式gs的第一個(gè)候選終點(diǎn)的后面,彈出手勢(shì)棧頂緩存的手勢(shì)模式gs,并將上述手勢(shì)模式g*的起點(diǎn)Ts的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式 gs的終點(diǎn),同時(shí)將上述手勢(shì)模式g*壓棧,并更新手勢(shì)棧棧頂緩存的手勢(shì)模式的起點(diǎn)和終點(diǎn), 令八(gs)=Ts, Te (gs)=Te,再執(zhí)行步驟210;其中手勢(shì)棧S用于存儲(chǔ)前一個(gè)未找到真正終點(diǎn)的手勢(shì)模式,初始化為空。
步驟209,彈出手勢(shì)棧頂緩存的手勢(shì)模式gs,并將t-Ι時(shí)刻作為該手勢(shì)模式的終點(diǎn),然后執(zhí)行步驟210。
步驟210,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度€進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是一個(gè)真手勢(shì)模式,執(zhí)行步驟211 ;否則返回步驟201采集下一時(shí)刻,即 t+Ι時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度。
步驟211,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,返回步驟201采集下一時(shí)刻,即t+Ι時(shí)刻的動(dòng)作數(shù)據(jù)。
步驟204-211可以參照?qǐng)D2進(jìn)行理解。
需要說(shuō)明的是,步驟205中闡述的韋特比算法的具體實(shí)現(xiàn)步驟是假設(shè)t時(shí)刻的觀測(cè)序列表示為Ot = (O1, 02,. . .,ot),其中Ot是按照手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練階段的步驟3) 提取的t時(shí)刻的動(dòng)作特征,Qt是時(shí)刻t的隱狀態(tài),Sj是模型h的第j個(gè)隱狀態(tài),λ h是模型h的參數(shù),則t時(shí)刻到達(dá)狀態(tài)h的最優(yōu)路徑產(chǎn)生觀察序列Ot的聯(lián)合概率
^t(Si)= max P(ql,...,qt_l,q, = s Ot | Xh) (2),- hh
可通過(guò)式(3 )迭代計(jì)算得到
δ I (Sj) = 31 jbj (O1)I ^ j ^ N,
δ t (Sj) =Iiiaxi [ δ η (Si) adb 2 ^ t ^ Τ, I ^ j ^ N. (3)
式(3)中N是模型h的狀態(tài)數(shù)目,Bij是從狀態(tài)Si到Sj的轉(zhuǎn)移概率,bj (Ot)是狀態(tài) Sj輸出觀測(cè)值Ot的概率。在隱馬爾可夫模型中,當(dāng)某一時(shí)刻的隱狀態(tài)是某個(gè)模型的終止?fàn)顟B(tài)時(shí),說(shuō)明執(zhí)行了一個(gè)相應(yīng)的動(dòng)作。因此可以使用St(Eh)表示觀測(cè)序列與模型的相似度, 即似然值。
需要進(jìn)一步說(shuō)明的是,在本實(shí)施例中,步驟210通過(guò)一個(gè)濾波器對(duì)手勢(shì)模式的長(zhǎng)度進(jìn)行判別。具體的做法是,首先對(duì)所有訓(xùn)練手勢(shì)模型的數(shù)據(jù)樣本的長(zhǎng)度進(jìn)行統(tǒng)計(jì),得到其均值和方差,然后設(shè)定合適的置信區(qū)間,如果g*的長(zhǎng)度I在置信區(qū)間內(nèi),那么它是一個(gè)手勢(shì)模式,否則不是。上述判斷過(guò)程可用下列形式表示,如果α σ χ< I1-U11〈 β σ i,則g*是一個(gè)手勢(shì)模式,其中,U1和O1分別是所有訓(xùn)練手勢(shì)模型的數(shù)據(jù)樣本的長(zhǎng)度的均值和方差,α和 β是經(jīng)驗(yàn)系數(shù)。
需要再一步說(shuō)明的是,正是由于步驟I構(gòu)建的閾值模型,只能與任意預(yù)定義的手勢(shì)子模式以任意次序組合而成的模式匹配,而不能與非預(yù)定義的手勢(shì)子模式組合成的非手勢(shì)模式匹配,因而當(dāng)某個(gè)手勢(shì)模型針對(duì)給定的動(dòng)作序列計(jì)算出來(lái)的似然值高于該閾值模型時(shí),并不能武斷地判定給定的動(dòng)作序列屬于某個(gè)手勢(shì)模式(給定的動(dòng)作序列很有可能就是一個(gè)與某個(gè)手勢(shì)模式相似的非手勢(shì)模式),也因此,本實(shí)施例中才能采用本階段給出的非手勢(shì)模式檢測(cè)方法自動(dòng)地從連續(xù)動(dòng)作序列中檢測(cè)出非手勢(shì)模式。直觀上,利用上述的分割方法分割出來(lái)的手勢(shì)模式間的動(dòng)作序列都屬于非手勢(shì)模式,同時(shí)當(dāng)某個(gè)分割出來(lái)的手勢(shì)模式利用韋特比算法計(jì)算出來(lái)的手勢(shì)模型的似然值高于閾值模型的似然值且遠(yuǎn)遠(yuǎn)小于訓(xùn)練手勢(shì)的最低似然值時(shí),該手勢(shì)模式也屬于一個(gè)非手勢(shì)模式。
當(dāng)利用步驟2獲得的非手勢(shì)模式的個(gè)數(shù)達(dá)到一定要求后,本實(shí)施例將利用它們來(lái)訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型。在本實(shí)施例中,所述步驟3具體包括
步驟301,通過(guò)基于歐式距離的動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算非手勢(shì)模式間的距離,再采用I S O D A T A算法對(duì)非手勢(shì)模式集進(jìn)行聚類。由于非手勢(shì)模式是一種具有相當(dāng)大隨機(jī)性的信號(hào),即使同一個(gè)人執(zhí)行同一個(gè)動(dòng)作,每一次運(yùn)動(dòng)的結(jié)果都是不同的,也不可能具有完全相同的時(shí)間長(zhǎng)度。因此兩個(gè)非手勢(shì)模式相匹配時(shí),其中一個(gè)非手勢(shì)模式的時(shí)間軸要不均勻地扭曲或彎折,以使其特征與另一個(gè)非手勢(shì)模式特征對(duì)正。動(dòng)態(tài)時(shí)間規(guī)整算法(DTW) 將時(shí)間規(guī)整與距離測(cè)度結(jié)合起來(lái),比較兩個(gè)大小不同的模式,可以有效解決非手勢(shì)模式長(zhǎng)度多變的問(wèn)題。DTW的目標(biāo)就是要找出兩個(gè)向量之間的最短距離。一般而言,對(duì)于兩個(gè)η 維空間中的向量X和y,它們之間的距離可以定義為兩點(diǎn)之間的直線距離,稱為歐式距離 dist(x, y) = |x-y| U但是如果向量的長(zhǎng)度不同,它們之間的距離就無(wú)法使用上述的數(shù)學(xué)形式來(lái)計(jì)算,因?yàn)槲覀儾⒉恢纼蓚€(gè)向量的元素對(duì)應(yīng)關(guān)系。DTW算法通過(guò)使用滿足一定條件的的時(shí)間規(guī)整函數(shù)W(n)描述輸入模板和參考模板的時(shí)間對(duì)應(yīng)關(guān)系,采用動(dòng)態(tài)規(guī)劃算法(DP)求解兩模板匹配時(shí)累計(jì)距離最小所對(duì)應(yīng)的規(guī)整函數(shù),即找到最佳的元素對(duì)應(yīng)關(guān)系, 從而計(jì)算出兩個(gè)不同長(zhǎng)度向量之間的距離。在本案例中,應(yīng)用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算出任意兩個(gè)非手勢(shì)模式間的距離后,便可以采用IS0DATA算法對(duì)非手勢(shì)模式進(jìn)行聚類。所述 IS0DATA算法,被稱為迭代自組織數(shù)據(jù)分析或動(dòng)態(tài)聚類,它的處理流程是先選擇若干樣品作為聚類中心,再按照最小距離準(zhǔn)則使其余樣品向各中心聚集,從而得到初始聚類,然后判斷初始聚類結(jié)果是否符合要求,若不符,則將聚類集進(jìn)行分裂和合并處理,以獲得新的聚類中心(聚類中心是通過(guò)樣品均值的迭代運(yùn)算來(lái)決定的),再判斷聚類結(jié)果是否符合要求。如此反復(fù)迭代,直到完成聚類劃分操作。步驟302,對(duì)聚類后的每個(gè)非手勢(shì)模式訓(xùn)練一個(gè)非手勢(shì)動(dòng)作識(shí)別模型,其中非手勢(shì)動(dòng)作識(shí)別模型也采用左右結(jié)構(gòu)的隱馬爾可夫模型,其訓(xùn)練方法不再累述。
完成了非手勢(shì)動(dòng)作識(shí)別模型的訓(xùn)練后,本實(shí)施例就可以利用它們對(duì)分割識(shí)別系統(tǒng)進(jìn)行擴(kuò)展,以提高系統(tǒng)的性能。在非手勢(shì)模式檢測(cè)和非手勢(shì)動(dòng)作模型訓(xùn)練階段中給出的分割方法中,手勢(shì)分割模型是由所述手勢(shì)動(dòng)作識(shí)別模型及其構(gòu)建的閾值模型構(gòu)成的,因此只要手勢(shì)動(dòng)作識(shí)別模型的似然值高于閾值模型的似然值,一個(gè)手勢(shì)模式就從輸入的連續(xù)動(dòng)作序列中檢測(cè)出來(lái),而上述分析也已說(shuō)明該檢測(cè)方法的不可靠性,故而本實(shí)施例將非手勢(shì)動(dòng)作識(shí)別模型增加到前述的手勢(shì)分割識(shí)別模型中,在基于擴(kuò)展的手勢(shì)分割識(shí)別模型的分割識(shí)別方法中,只有當(dāng)手勢(shì)動(dòng)作識(shí)別模型的似然值高于閾值模型和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值時(shí),一個(gè)手勢(shì)模式才從輸入的連續(xù)動(dòng)作序列中檢測(cè)出來(lái)。擴(kuò)展后的手勢(shì)分割識(shí)別流程圖,如圖4所示,具體內(nèi)容可以表述為步驟4:
步驟4的具體步驟和步驟21的具體步驟類似,唯一的區(qū)別在于,步驟207中,只需判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值,即要求所述第一手勢(shì)動(dòng)作識(shí)別模型滿足下述條件
g*=argmaxhe G δ t (Eh),并且^"/(/>) 漢),其中 TR 是閾值模型,在步驟 4 中, 步驟207應(yīng)該改為,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否同時(shí)高于閾值模型的似然值和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值,即要求所述第一手勢(shì)動(dòng)作識(shí)別模型滿足下述條件
g*=argmaxh eG5t (Eh),且汾(/‘ ) > 67(/ ),且 W E K ) > δ (Ε,),其中 F 代表所有的非手勢(shì)動(dòng)作識(shí)別模型。;
在面向人機(jī)交互的應(yīng)用場(chǎng)景中,當(dāng)一個(gè)用戶執(zhí)行手勢(shì)動(dòng)作時(shí),本實(shí)施例將以30ΗΖ 的頻率實(shí)時(shí)采集動(dòng)作數(shù)據(jù)dt,并參照手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練階段實(shí)時(shí)提取當(dāng)前時(shí)刻的動(dòng)作特征ft,然后將該特征向量作為t時(shí)刻的觀測(cè)值Ot增添到觀測(cè)序列O中,接著交互系統(tǒng)就可以按照?qǐng)D4所示的分割識(shí)別流程對(duì)該觀測(cè)序列進(jìn)行實(shí)時(shí)地分割和識(shí)別,并根據(jù)手勢(shì)識(shí)別的結(jié)果做出相應(yīng)的響應(yīng),實(shí)現(xiàn)實(shí)時(shí)自然的人機(jī)交互。
本發(fā)明的實(shí)施例如下所述,圖6是本發(fā)明的自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別系統(tǒng)示意圖,如圖6所示,本發(fā)明的自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別系統(tǒng),包括
手勢(shì)分割模型訓(xùn)練模塊100,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型,利用所述手勢(shì)動(dòng)作識(shí)別模型構(gòu)建閾值模型,手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成手勢(shì)分割模型;
非手勢(shì)模式檢測(cè)模塊200,利用所述手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中自動(dòng)檢測(cè)非手勢(shì)模式;
非手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練模塊300,利用所述非手勢(shì)模式訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型;
分割識(shí)別模塊400,基于非手勢(shì)動(dòng)作識(shí)別模型擴(kuò)展手勢(shì)分割模型,以對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
手勢(shì)分割模型訓(xùn)練模塊100具體而言如下
1.訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型
需要說(shuō)明的是,本步驟的一般實(shí)現(xiàn)方法是,首先基于視覺(jué)或者運(yùn)動(dòng)傳感器采集手勢(shì)數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,再對(duì)處理后的數(shù)據(jù)提取魯棒的特征向量,最終基于特征向量進(jìn)行模型訓(xùn)練。
需要說(shuō)明的是,采集手勢(shì)數(shù)據(jù)時(shí),為了區(qū)分不同手勢(shì)所對(duì)應(yīng)的數(shù)據(jù)序列,本實(shí)施例采用了用戶協(xié)同實(shí)現(xiàn)的分割方法,具體的實(shí)現(xiàn)方式是設(shè)計(jì)一個(gè)專門的按鈕,在手勢(shì)動(dòng)作的開(kāi)始和結(jié)束時(shí)通過(guò)該按鈕標(biāo)記一個(gè)手勢(shì)動(dòng)作,在用戶輸入動(dòng)作時(shí)按住該按鈕,完成動(dòng)作時(shí)松開(kāi)按鈕,從而準(zhǔn)確的得到一個(gè)手勢(shì)動(dòng)作所對(duì)應(yīng)的數(shù)據(jù)序列。
在本實(shí)施例中,所述手勢(shì)動(dòng)作識(shí)別模型為左-右結(jié)構(gòu)的隱馬爾科夫模型(HMM),該模型中有且只有一個(gè)初始狀態(tài)和終止?fàn)顟B(tài),該模型的訓(xùn)練可采用前述的Baum-Welch算法實(shí)現(xiàn),最終輸出為初始狀態(tài)概率分布,狀態(tài)轉(zhuǎn)移概率矩陣和輸出觀測(cè)值概率分布矩陣。隱馬爾科夫模型h可以表不為一個(gè)五兀組(S,V, A, B, π ),其中S = {s1; S2, S3,, sN}是一組狀態(tài)的集合,V = (V1, V2, V3, ... , νκ}是一組輸出觀測(cè)值組成的集合,A = Iiaij]是N行 N列的狀態(tài)轉(zhuǎn)移概率矩陣,每個(gè)元素au = P (qt+1 = Sj | qt = Si),I彡i, j彡N表征從狀態(tài) Si轉(zhuǎn)到狀態(tài)\_的概率,B = {bj(k)}是N行K列的輸出觀測(cè)值的概率分布矩陣,每個(gè)元素 bj (k) =P (vk I Sj),I彡k彡K,I彡j彡N表示在狀態(tài)Sj時(shí)輸出觀測(cè)值Vk的概率,= {Jij 是初始狀態(tài)概率分布,Jii = PQ1 = Si)表示時(shí)刻I選擇狀態(tài)Si的概率。當(dāng)輸出觀測(cè)值為連續(xù)型變量時(shí),此時(shí)的隱馬爾科夫模型稱為連續(xù)隱馬爾科夫模型。當(dāng)模型中有且只有一個(gè)初始狀態(tài)和終止?fàn)顟B(tài)時(shí),此時(shí)的隱馬爾科夫模型稱為左右結(jié)構(gòu)的隱馬爾科夫模型。
2.構(gòu)建閾值模型
為了從連續(xù)的動(dòng)作序列中定位出有效的手勢(shì)動(dòng)作序列,嵌入在輸入流中的手勢(shì)動(dòng)作序列對(duì)應(yīng)的手勢(shì)模型的似然值應(yīng)該具有足夠的區(qū)分能力。僅使用一個(gè)簡(jiǎn)單的似然值閾值通常并不起作用,無(wú)法保證分割出來(lái)的動(dòng)作序列是否真的屬于某個(gè)手勢(shì)模式。因此,本實(shí)施例中參照方法[I]構(gòu)建了一個(gè)閾值模型(見(jiàn)圖1),以它的似然值作為一個(gè)自適應(yīng)的閾值,當(dāng)且僅當(dāng)最好的手勢(shì)模型的似然值高于該動(dòng)作模型的似然值時(shí),一個(gè)手勢(shì)模式才從連續(xù)的動(dòng)作序列中分割出來(lái)并實(shí)現(xiàn)同步地識(shí)別。
上述閾值模型是由系統(tǒng)中所有手勢(shì)模型的狀態(tài)完全連接的遍歷模型,能夠與由預(yù)定義的手勢(shì)子模式以任意次序組合而成的模式匹配,且能保證對(duì)于給定的一個(gè)手勢(shì)模式, 它的似然值將小于給定手勢(shì)模式的手勢(shì)模型的似然值。圖1給出的閾值模型是一個(gè)遍歷結(jié)構(gòu)的簡(jiǎn)化版本,其中,其中,A,B, Z分別表示一個(gè)手勢(shì)動(dòng)作識(shí)別模型,每個(gè)圓圈代表一個(gè)狀態(tài),起始狀態(tài)S和終止?fàn)顟B(tài)T是不廣生觀察值的空狀態(tài),實(shí)線箭頭表不狀態(tài)之間的真實(shí)轉(zhuǎn)移路徑,虛箭頭也不代表真正的連接,它只是一種形象化的表示,說(shuō)明模型中的所有狀態(tài)都可以通過(guò)一步轉(zhuǎn)移到其它任何狀態(tài)。上述閾值模型是由系統(tǒng)中所有手勢(shì)模型的狀態(tài)完全連接的遍歷模型,能夠與由預(yù)定義的手勢(shì)子模式以任意次序組合而成的模式匹配,且能保證對(duì)于給定的一個(gè)手勢(shì)模式,它的似然值將小于給定手勢(shì)模式的手勢(shì)模型的似然值。閾值模型構(gòu)建的具體步驟是將系統(tǒng)中訓(xùn)練的所有手勢(shì)模型的所有狀態(tài)拷貝出來(lái),保持每一個(gè)狀態(tài)的輸出觀察概率和自轉(zhuǎn)移概率不變,同時(shí)修改每個(gè)狀態(tài)在原來(lái)手勢(shì)模型中的外轉(zhuǎn)移特性, 令每個(gè)狀態(tài)都可以通過(guò)一步轉(zhuǎn)移到其它任何狀態(tài),且轉(zhuǎn)移概率相等,具體的計(jì)算公式如式 Cl):1 — O.
aij = N 二,=j 本 K (j)
其中au是從狀態(tài)i到j(luò)的轉(zhuǎn)移概率,N是狀態(tài)數(shù)目(除了起始和終止?fàn)顟B(tài)的所有狀態(tài)的總和)。需要說(shuō)明的是,正是因?yàn)殚撝的P椭袑⒚恳粋€(gè)狀態(tài)轉(zhuǎn)移到其它任何狀態(tài)的概率均分化,從而其轉(zhuǎn)向原來(lái)手勢(shì)模型中的前向狀態(tài)的概率低于其在原來(lái)的手勢(shì)模型中的前向轉(zhuǎn)移概率,如此,給定一個(gè)手勢(shì)模式,閾值模型的似然值才會(huì)低于相應(yīng)的手勢(shì)模型的似然值。
本實(shí)施例中,手勢(shì)分割模型由手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成。
本實(shí)施例中,非手勢(shì)模式檢測(cè)模塊的具體實(shí)現(xiàn)過(guò)程(參照?qǐng)D3)是
手勢(shì)模式檢測(cè)模塊,利用所述的手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中分割和識(shí)別出有效的手勢(shì)模式gs,及其起點(diǎn)Ts (gs)和終點(diǎn)Te (gs)。(之前先輸入連續(xù)動(dòng)作序列(相當(dāng)于觀測(cè)序列)0,初始化7 =0,其中T/為前一個(gè)手勢(shì)模式或非手勢(shì)模式的終點(diǎn)。)
非手勢(shì)模式截取模塊,將所述手勢(shì)模式的起點(diǎn)與前一個(gè)動(dòng)作模式的終點(diǎn)之間的觀測(cè)序列作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái)。將當(dāng)前的手勢(shì)模式gs的起點(diǎn)Ts (gs) 與前一個(gè)手勢(shì)模式或非手勢(shì)模式的終點(diǎn),記為I 之間的觀測(cè)序列作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái)。即將動(dòng)作序列
((, + ,…,)檢測(cè)為一個(gè)非手勢(shì)模式。更新 C=Ts (gs) -1
非手勢(shì)模式判斷模塊,采用前向算法或后向算法gs與相應(yīng)的手勢(shì)模型的似然值L, 并對(duì)其進(jìn)行判斷 若似然值L小于IV,則判定當(dāng)前的手勢(shì)模式為偽手勢(shì)模式,并將其作為一個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái),否則判定當(dāng)前的手勢(shì)模式為一個(gè)真手勢(shì)模式,對(duì)其進(jìn)行分割識(shí)別,其中I;是一個(gè)小于訓(xùn)練手勢(shì)的最低似然值的似然值閾值。應(yīng)用Baum-Welch 算法訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的時(shí)候會(huì)計(jì)算每個(gè)手勢(shì)模式與手勢(shì)動(dòng)作識(shí)別模型的似然值,假設(shè)Lmin和δ ^分別是訓(xùn)練手勢(shì)模式與相應(yīng)手勢(shì)動(dòng)作識(shí)別模型似然值的最低值和方差,則本實(shí)施例中,設(shè)定TL=Lmin-3* δ L。
手勢(shì)模式檢測(cè)模塊具體包括
樣本數(shù)據(jù)獲得模塊,通過(guò)攝像頭和多個(gè)傳感器檢測(cè)手勢(shì)動(dòng)作,獲得用于訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢(shì)動(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)練手勢(shì)動(dòng)作識(shí)別模型;
觀測(cè)序列增添模塊,設(shè)定初始時(shí)間t=l,并將觀測(cè)序列和手勢(shì)棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測(cè)值增添到觀測(cè)序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測(cè)序列;
似然值計(jì)算模塊,分別使用所有手勢(shì)動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測(cè)序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測(cè)序列的似然值;
令Eh是模型h的終止?fàn)顟B(tài),則對(duì)于給定的模型h,觀測(cè)序列O的似然值設(shè)定為t時(shí)刻到達(dá)狀態(tài)Eh的最優(yōu)路徑產(chǎn)生觀察序列Ot的聯(lián)合概率,記為δ t (Eh)。
判斷模塊,找到所述似然值最大的第一手勢(shì)動(dòng)作識(shí)別模型,似然值最大的手勢(shì)模型滿足下述的條件
g*=argmaxh e G δ t (Eh),
其中G是所有訓(xùn)練的手勢(shì)動(dòng)作識(shí)別模型的集合。
判斷所述手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),執(zhí)行對(duì)比模塊;否則執(zhí)行第一彈出模塊;
似然值高于閾值模型的最大似然值的手勢(shì)模型滿足下述條件
g*=argmaxh eG δ t (Eh),并且 07(人0) >沒(méi)(人識(shí)),
其中TR是閾值模型。
對(duì)比模塊,判斷手勢(shì)棧S是否為空,如果為空,將所述手勢(shì)模式g*壓入手勢(shì)棧中, 并標(biāo)記手勢(shì)棧棧頂緩存的手勢(shì)模式的起點(diǎn)和終點(diǎn),令Ts (gs)=Ts, Te (gs)=Te,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻,即t+Ι時(shí)刻的第一樣本數(shù)據(jù);如果手勢(shì)棧S不為空,則將上述手勢(shì)模式g*與手勢(shì)棧棧頂緩存的手勢(shì)模式gs進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),更新手勢(shì)棧棧頂緩存的手勢(shì)模式gs的起點(diǎn),即令Ts(gs)=Ts,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻,即t+1 時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式g*的起點(diǎn)Ts在手勢(shì)棧棧頂緩存的手勢(shì)模式gs的第一個(gè)候選終點(diǎn)Te (gs)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式gs,并壓入上述手勢(shì)模式g*,同時(shí)更新手勢(shì)棧棧頂緩存的手勢(shì)模式的起點(diǎn)和終點(diǎn), 令八(gs)=Ts, Te (gs)=Te,并返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻,即t+i時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式g*的起點(diǎn)Ts在手勢(shì)棧棧頂緩存的手勢(shì)模式gs的第一個(gè)候選終點(diǎn)的后面,則彈出手勢(shì)棧頂緩存的手勢(shì)模式gs,并將上述手勢(shì)模式g*的起點(diǎn)Ts的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式gs的終點(diǎn),同時(shí)將上述手勢(shì)模式g*壓棧,并更新手勢(shì)棧棧頂緩存的手勢(shì)模式的起點(diǎn)和終點(diǎn),令Ts (gs)=Ts, Te (gs)=Te,再執(zhí)行第一判別模塊;其中手勢(shì)棧 S用于存儲(chǔ)前一個(gè)未找到真正終點(diǎn)的手勢(shì)模式,初始化為空。
第一彈出模塊,彈出手勢(shì)棧頂緩存的手勢(shì)模式gs,并將t-Ι時(shí)刻作為該手勢(shì)模式的終點(diǎn),然后執(zhí)行第一判別模塊。
第一判別模塊,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是一個(gè)真手勢(shì)模式,執(zhí)行第一標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度;手勢(shì)棧用于 存儲(chǔ)前一個(gè)未找到真正終點(diǎn)的手勢(shì)模式,初始化為空。
第一標(biāo)記模塊,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的動(dòng)作數(shù)據(jù)。
觀測(cè)序列增添模塊-第一標(biāo)記模塊可以參照?qǐng)D2進(jìn)行理解。
需要說(shuō)明的是,韋特比算法的具體實(shí)現(xiàn)步驟是假設(shè)t時(shí)刻的觀測(cè)序列表示為Ot= (O1, O2, , Ot),其中Ot是按照手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練階段提取的t時(shí)刻的動(dòng)作特征,qt 是時(shí)刻t的隱狀態(tài),Sj是模型h的第j個(gè)隱狀態(tài),λ h是模型h的參數(shù),則t時(shí)刻到達(dá)狀態(tài) Sj的最優(yōu)路徑產(chǎn)生觀察序列Ot的聯(lián)合概率
4(、.;)= max 尸U), \λ ) (2),
可通過(guò)式(3)迭代計(jì)算得到
δ I (Sj) = n jbj (O1)I ^ j ^ N,
δ t (Sj) =Iiiaxi [ δ H(Si)BijIbj(Ot)2 ^ t ^ T, I ^ j ^ N. (3)
式(3)中N是模型h的狀態(tài)數(shù)目,au是從狀態(tài)Si到S」的轉(zhuǎn)移概率,b>t)是狀態(tài) Sj輸出觀測(cè)值Ot的概率。在隱馬爾可夫模型中,當(dāng)某一時(shí)刻的隱狀態(tài)是某個(gè)模型的終止?fàn)顟B(tài)時(shí),說(shuō)明執(zhí)行了一個(gè)相應(yīng)的動(dòng)作。因此可以使用St(Eh)表示觀測(cè)序列與模型的相似度, 即似然值。
需要進(jìn)一步說(shuō)明的是,在本實(shí)施例中,通過(guò)一個(gè)濾波器對(duì)手勢(shì)模式的長(zhǎng)度進(jìn)行判別。具體的做法是,首先對(duì)所有訓(xùn)練手勢(shì)模型的數(shù)據(jù)樣本的長(zhǎng)度進(jìn)行統(tǒng)計(jì),得到其均值和方差,然后設(shè)定合適的置信區(qū)間,如果g*的長(zhǎng)度I在置信區(qū)間內(nèi),那么它是一個(gè)手勢(shì)模式,否則不是。上述判斷過(guò)程可用下列形式表示,如果σ^Ι -^Κβ O1,則g*是一個(gè)手勢(shì)模式,其中,U1和O1分別是所有訓(xùn)練手勢(shì)模型的數(shù)據(jù)樣本的長(zhǎng)度的均值和方差,α和β是經(jīng)驗(yàn)系數(shù)。
需要再一步說(shuō)明的是,正是由于構(gòu)建的閾值模型,只能與任意預(yù)定義的手勢(shì)子模式以任意次序組合而成的模式匹配,而不能與非預(yù)定義的手勢(shì)子模式組合成的非手勢(shì)模式匹配,因而當(dāng)某個(gè)手勢(shì)模型針對(duì)給定的動(dòng)作序列計(jì)算出來(lái)的似然值高于該閾值模型時(shí),并不能武斷地判定給定的動(dòng)作序列屬于某個(gè)手勢(shì)模式(給定的動(dòng)作序列很有可能就是一個(gè)與某個(gè)手勢(shì)模式相似的非手勢(shì)模式),也因此,本實(shí)施例中才能采用本階段給出的非手勢(shì)模式檢測(cè)方法自動(dòng)地從連續(xù)動(dòng)作序列中檢測(cè)出非手勢(shì)模式。直觀上,利用上述的分割方法分割出來(lái)的手勢(shì)模式間的動(dòng)作序列都屬于非手勢(shì)模式,同時(shí)當(dāng)某個(gè)分割出來(lái)的手勢(shì)模式利用韋特比算法計(jì)算出來(lái)的手勢(shì)模型的似然值高于閾值模型的似然值且遠(yuǎn)遠(yuǎn)小于訓(xùn)練手勢(shì)的最低似然值時(shí),該手勢(shì) 模式也屬于一個(gè)非手勢(shì)模式。
當(dāng)利用非手勢(shì)模式檢測(cè)模塊獲得的非手勢(shì)模式的個(gè)數(shù)達(dá)到一定要求后,本實(shí)施例將利用它們來(lái)訓(xùn)練非手勢(shì)模型。在本實(shí)施例中,所述非手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練模塊300包括
非手勢(shì)模式聚類模塊,通過(guò)基于歐式距離的動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算非手勢(shì)模式間的距離,再采用ISODAT A算法對(duì)非手勢(shì)模式集進(jìn)行聚類。由于非手勢(shì)模式是一種具有相當(dāng)大隨機(jī)性的信號(hào),即使同一個(gè)人執(zhí)行同一個(gè)動(dòng)作,每一次運(yùn)動(dòng)的結(jié)果都是不同的,也不可能具有完全相同的時(shí)間長(zhǎng)度。因此兩個(gè)非手勢(shì)模式相匹配時(shí),其中一個(gè)非手勢(shì)模式的時(shí)間軸要不均勻地扭曲或彎折,以使其特征與另一個(gè)非手勢(shì)模式特征對(duì)正。動(dòng)態(tài)時(shí)間規(guī)整算法(DTW)將時(shí)間規(guī)整與距離測(cè)度結(jié)合起來(lái),比較兩個(gè)大小不同的模式,可以有效解決非手勢(shì)模式長(zhǎng)度多變的問(wèn)題。DTW的目標(biāo)就是要找出兩個(gè)向量之間的最短距離。一般而言,對(duì)于兩個(gè)η維空間中的向量X和y,它們之間的距離可以定義為兩點(diǎn)之間的直線距離,稱為歐式距離dist(x,y) = |x-y| U但是如果向量的長(zhǎng)度不同,它們之間的距離就無(wú)法使用上述的數(shù)學(xué)形式來(lái)計(jì)算,因?yàn)槲覀儾⒉恢纼蓚€(gè)向量的元素對(duì)應(yīng)關(guān)系。DTW算法通過(guò)使用滿足一定條件的的時(shí)間規(guī)整函數(shù)W(n)描述輸入模板和參考模板的時(shí)間對(duì)應(yīng)關(guān)系,采用動(dòng)態(tài)規(guī)劃算法(DP)求解兩模板匹配時(shí)累計(jì)距離最小所對(duì)應(yīng)的規(guī)整函數(shù),即找到最佳的元素對(duì)應(yīng)關(guān)系,從而計(jì)算出兩個(gè)不同長(zhǎng)度向量之間的距離。在本案例中,應(yīng)用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算出任意兩個(gè)非手勢(shì)模式間的距離后,便可以采用IS0DATA算法對(duì)非手勢(shì)模式進(jìn)行聚類。所述IS0DATA算法,被稱為迭代自組織數(shù)據(jù)分析或動(dòng)態(tài)聚類,它的處理流程是先選擇若干樣品作為聚類中心,再按照最小距離準(zhǔn)則使其余樣品向各中心聚集,從而得到初始聚類,然后判斷初始聚類結(jié)果是否符合要求,若不符,則將聚類集進(jìn)行分裂和合并處理,以獲得新的聚類中心(聚類中心是通過(guò)樣品均值的迭代運(yùn)算來(lái)決定的),再判斷聚類結(jié)果是否符合要求。 如此反復(fù)迭代,直到完成聚類劃分操作。
訓(xùn)練模塊,對(duì)聚類后的每個(gè)非手勢(shì)模式聚類訓(xùn)練一個(gè)非手勢(shì)模型,其中非手勢(shì)動(dòng)作識(shí)別模型也采用左右結(jié)構(gòu)的隱馬爾可夫模型,其訓(xùn)練方法不再累述。
完成了非手勢(shì)動(dòng)作識(shí)別模型的訓(xùn)練后,本實(shí)施例就可以利用它們對(duì)分割識(shí)別系統(tǒng)進(jìn)行擴(kuò)展,以提高系統(tǒng)的性能。在非手勢(shì)模式檢測(cè)和非手勢(shì)動(dòng)作模型訓(xùn)練階段中給出的分割方法中,手勢(shì)分割模型是由所述手勢(shì)動(dòng)作識(shí)別模型及其構(gòu)建的閾值模型構(gòu)成的,因此只要手勢(shì)動(dòng)作識(shí)別模型的似然值高于閾值模型的似然值,一個(gè)手勢(shì)模式就從輸入的連續(xù)動(dòng)作序列中檢測(cè)出來(lái),而上述分析也已說(shuō)明該檢測(cè)方法的不可靠性,故而本實(shí)施例將非手勢(shì)動(dòng)作識(shí)別模型增加到前述的手勢(shì)分割識(shí)別模型中,在基于擴(kuò)展的手勢(shì)分割識(shí)別模型的分割識(shí)別方法中,只有當(dāng)手勢(shì)動(dòng)作識(shí)別模型的似然值高于閾值模型和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值時(shí),一個(gè)手勢(shì)模式才從輸入的連續(xù)動(dòng)作序列中檢測(cè)出來(lái)。擴(kuò)展后的手勢(shì)分割識(shí)別流程圖,其中F代表所有的非手勢(shì)動(dòng)作識(shí)別模型,具體內(nèi)容可以表述為分割識(shí)別模塊,手勢(shì)模式檢測(cè)模塊的具體內(nèi)容和分割識(shí)別模塊的具體內(nèi)容類似,唯一的區(qū)別在于,手勢(shì)模式檢測(cè)模塊的判斷模塊中,只需判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值,即要求所述第一手勢(shì)動(dòng)作識(shí)別模型滿足下述條件
g*=argmaxh e G δ t (Eh),并)>J/(/7;(i)
其中TR是閾值模型,在分割識(shí)別模塊的手勢(shì)模式判斷模塊中,內(nèi)容變?yōu)榕袛嗨龅谝皇謩?shì)動(dòng)作識(shí)別模型 的似然值是否同時(shí)高于閾值模型的似然值和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值,即要求所述第一手勢(shì)動(dòng)作識(shí)別模型滿足下述條件
g*=argmaxh e G δ t (Eh),且汾丨:人#) > 汾(人 ),且 W e.丨),其中 F 代表所有的非手勢(shì)動(dòng)作識(shí)別模型,如圖4所示。
即該分割識(shí)別模塊包括
手勢(shì)模式判斷模塊,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否同時(shí)高于閾值模型的似然值和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值;若高于則將t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),執(zhí)行對(duì)比判斷模塊;否則執(zhí)行第二彈出模塊;
對(duì)比判斷模塊,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面, 則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其候選終點(diǎn),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后一個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),然后將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,并執(zhí)行第一判別模塊;
第二彈出模塊,用于彈出手勢(shì)棧棧頂手勢(shì)模式,并將t-Ι時(shí)刻設(shè)為該手勢(shì)模式的終點(diǎn),然后執(zhí)行第二判別模塊;
第二判別模塊,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是一個(gè)真手勢(shì)模式,執(zhí)行第二標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度;
第二標(biāo)記模塊,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù)。
在面向人機(jī)交互的應(yīng)用場(chǎng)景中,當(dāng)一個(gè)用戶執(zhí)行手勢(shì)動(dòng)作時(shí),本實(shí)施例將以30HZ 的頻率實(shí)時(shí)采集動(dòng)作數(shù)據(jù)dt,并參照手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練階段實(shí)時(shí)提取當(dāng)前時(shí)刻的動(dòng)作特征ft,然后將該特征向量作為t時(shí)刻的觀測(cè)值Ot增添到觀測(cè)序列O中,接著交互系統(tǒng)就可以按照?qǐng)D五所示的分割識(shí)別流程對(duì)該觀測(cè)序列進(jìn)行實(shí)時(shí)地分割和識(shí)別,并根據(jù)手勢(shì)識(shí)別的結(jié)果做出相應(yīng)的響應(yīng),實(shí)現(xiàn)實(shí)時(shí)自然的人機(jī)交互。
當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法,其特征在于,包括 步驟1,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型,利用所述手勢(shì)動(dòng)作識(shí)別模型構(gòu)建閾值模型,手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成手勢(shì)分割模型; 步驟2,利用所述手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中自動(dòng)檢測(cè)非手勢(shì)模式; 步驟3,利用所述非手勢(shì)模式訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型; 步驟4,基于非手勢(shì)動(dòng)作識(shí)別模型擴(kuò)展手勢(shì)分割模型,對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
2.如權(quán)利要求I所述的手勢(shì)分割識(shí)別方法,其特征在于,所述步驟2包括 步驟21,利用所述的手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中分割和識(shí)別出有效的手勢(shì)模式; 步驟22,將所述手勢(shì)模式的起點(diǎn)與前一個(gè)手勢(shì)模式或非手勢(shì)模式的終點(diǎn)之間的觀測(cè)序列作為ー個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái); 步驟23,計(jì)算所述手勢(shì)模式的似然值,并對(duì)其進(jìn)行判斷若似然值小于 Υ,則判定當(dāng)前的手勢(shì)模式為偽手勢(shì)模式,并將其作為ー個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái),否則判定當(dāng)前的手勢(shì)模式為ー個(gè)真手勢(shì)模式,對(duì)其進(jìn)行分割識(shí)別,其中I;是ー個(gè)小于訓(xùn)練手勢(shì)的最低似然值的似然值閾值。
3.如權(quán)利要求2所述的手勢(shì)分割方法,其特征在于,所述步驟21包括 步驟201,通過(guò)攝像頭和多個(gè)傳感器檢測(cè)手勢(shì)動(dòng)作,獲得用于訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢(shì)動(dòng)作的三維位置、三軸角速度、三軸加速度的數(shù)據(jù)序列; 步驟202,結(jié)合所述攝像頭和多個(gè)傳感器的特性,對(duì)所述第一樣本數(shù)據(jù)中的各個(gè)數(shù)據(jù)序列進(jìn)行預(yù)處理,得到第二樣本數(shù)據(jù); 步驟203,從所述第二樣本數(shù)據(jù)中提取不受動(dòng)作幅度和空間跨度影響的特征向量,其中所述特征向量融合了動(dòng)作的位移方向、轉(zhuǎn)動(dòng)角度和加速度的特征,并利用所述特征向量訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型; 步驟204,設(shè)定初始時(shí)間t=l,并將觀測(cè)序列和手勢(shì)棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測(cè)值增添到觀測(cè)序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測(cè)序列;步驟205,分別使用所有手勢(shì)動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測(cè)序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測(cè)序列的似然值; 步驟206,找到所述似然值最大的第一手勢(shì)動(dòng)作識(shí)別模型; 步驟207,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),同時(shí)執(zhí)行步驟208 ;否則執(zhí)行步驟209 ; 步驟208,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回步驟201采集下ー時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后ー個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),然后將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,并執(zhí)行步驟210 ; 步驟209,彈出手勢(shì)棧棧頂手勢(shì)模式,并將t-Ι時(shí)刻設(shè)為該手勢(shì)模式的終點(diǎn),然后執(zhí)行步驟210 ; 步驟210,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是ー個(gè)真手勢(shì)模式,執(zhí)行步驟211 ;否則返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度; 步驟211,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回步驟201采集下ー時(shí)刻的動(dòng)作數(shù)據(jù)。
4.如權(quán)利要求I所述的手勢(shì)分割識(shí)別方法,其特征在于,所述步驟3包括 步驟301,通過(guò)基于歐式距離的動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算非手勢(shì)模式間的相似度矩陣,再采用I S O D A T A算法對(duì)非手勢(shì)模式集進(jìn)行聚類; 步驟302,對(duì)聚類后的每個(gè)非手勢(shì)模式聚類訓(xùn)練ー個(gè)非手勢(shì)動(dòng)作識(shí)別模型,其中非手勢(shì)動(dòng)作識(shí)別模型采用左右結(jié)構(gòu)的隱馬爾可夫模型。
5.如權(quán)利要求I所述的手勢(shì)分割識(shí)別方法,其特征在于,所述步驟4包括 步驟401,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否同時(shí)高于閾值模型的似然值和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值;若高于則將t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),同時(shí)執(zhí)行步驟402 ;否則執(zhí)行步驟403 ; 步驟402,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回步驟201采集下ー時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后ー個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),然后將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,并執(zhí)行步驟404 ; 步驟403,彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并將t-Ι時(shí)刻作為該手勢(shì)模式的終點(diǎn),然后執(zhí)彳了步驟404 ; 步驟404,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是ー個(gè)真手勢(shì)模式,執(zhí)行步驟404 ;否則返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度; 步驟405,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回步驟201采集下一時(shí)刻的第一樣本數(shù)據(jù)。
6.一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別系統(tǒng),其特征在于,包括 手勢(shì)分割模型訓(xùn)練模塊,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型,利用所述手勢(shì)動(dòng)作識(shí)別模型構(gòu)建閾值模型,手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成手勢(shì)分割模型; 非手勢(shì)模式檢測(cè)模塊,利用所述手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中自動(dòng)檢測(cè)非手勢(shì)模式; 非手勢(shì)動(dòng)作識(shí)別模型訓(xùn)練模塊,利用所述非手勢(shì)模式訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型; 分割識(shí)別模塊,基于非手勢(shì)動(dòng)作識(shí)別模型擴(kuò)展手勢(shì)分割模型,以對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。
7.如權(quán)利要求6所述的手勢(shì)分割識(shí)別系統(tǒng),其特征在于,所述非手勢(shì)模式檢測(cè)模塊包括 手勢(shì)模式檢測(cè)模塊,利用所述的手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中分割和識(shí)別出有效的手勢(shì)模式; 非手勢(shì)模式截取模塊,將所述手勢(shì)模式的起點(diǎn)與前一個(gè)動(dòng)作模式的終點(diǎn)之間的觀測(cè)序列作為ー個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái); 非手勢(shì)模式判斷模塊,計(jì)算所述手勢(shì)模式的似然值,并對(duì)其進(jìn)行判斷若似然值小于ん則判定當(dāng)前的手勢(shì)模式為偽手勢(shì)模式,并將其作為ー個(gè)非手勢(shì)模式從動(dòng)作序列中檢測(cè)出來(lái),否則判定當(dāng)前的手勢(shì)模式為ー個(gè)真手勢(shì)模式,對(duì)其進(jìn)行分割識(shí)別,其中 Υ是ー個(gè)小于訓(xùn)練手勢(shì)的最低似然值的似然值閾值。
8.如權(quán)利要求7所述的手勢(shì)分割識(shí)別系統(tǒng),其特征在于,所述手勢(shì)模式檢測(cè)模塊包括 樣本數(shù)據(jù)獲得模塊,通過(guò)攝像頭和多個(gè)傳感器檢測(cè)手勢(shì)動(dòng)作,獲得用于訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型的第一樣本數(shù)據(jù),其中所述第一樣本數(shù)據(jù)是記錄某一手勢(shì)動(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)練手勢(shì)動(dòng)作識(shí)別模型; 觀測(cè)序列增添模塊,設(shè)定初始時(shí)間t=l,并將觀測(cè)序列和手勢(shì)棧置為空,同時(shí)將所述特征向量作為t時(shí)刻的觀測(cè)值增添到觀測(cè)序列中,對(duì)于隱馬爾科夫模型,數(shù)據(jù)序列統(tǒng)稱為觀測(cè)序列; 似然值計(jì)算模塊,分別使用所有手勢(shì)動(dòng)作識(shí)別模型和閾值模型對(duì)t時(shí)刻的觀測(cè)序列采用韋特比算法進(jìn)行解碼,分別得到所述觀測(cè)序列的似然值; 判斷模塊,找到所述似然值最大的第一手勢(shì)動(dòng)作識(shí)別模型,判斷所述手勢(shì)動(dòng)作識(shí)別模型的似然值是否高于閾值模型的似然值;若高于則將所述t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),同時(shí)執(zhí)行對(duì)比模塊;否則執(zhí)行第一彈出模塊; 對(duì)比模塊,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后ー個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),同時(shí)將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,然后執(zhí)行第一判別模塊; 第一彈出模塊,彈出手勢(shì)棧棧頂手勢(shì)模式,并將t-Ι時(shí)刻設(shè)為該手勢(shì)模式的終點(diǎn),然后執(zhí)行第一判別模塊; 第一判別模塊,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是ー個(gè)真手勢(shì)模式,執(zhí)行第一標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度; 第一標(biāo)記模塊,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下ー時(shí)刻的動(dòng)作數(shù)據(jù)。
9.如權(quán)利要求6所述的手勢(shì)分割識(shí)別系統(tǒng),其特征在于,所述非手勢(shì)動(dòng)作識(shí)別模型訓(xùn) 練模塊包括 非手勢(shì)模式聚類模塊,通過(guò)基于歐式距離的動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算非手勢(shì)模式間的相似度矩陣,再采用ISODAT A算法對(duì)非手勢(shì)模式集進(jìn)行聚類; 訓(xùn)練模塊,對(duì)聚類后的每個(gè)非手勢(shì)模式聚類訓(xùn)練ー個(gè)非手勢(shì)模型,其中非手勢(shì)模型采用左右結(jié)構(gòu)的隱馬爾可夫模型。
10.如權(quán)利要求6所述的手勢(shì)分割識(shí)別系統(tǒng),其特征在于,所述分割識(shí)別模塊包括 手勢(shì)模式判斷模塊,判斷所述第一手勢(shì)動(dòng)作識(shí)別模型的似然值是否同時(shí)高于閾值模型的似然值和所有非手勢(shì)動(dòng)作識(shí)別模型的似然值;若高于則將t時(shí)刻記為所述第一手勢(shì)動(dòng)作識(shí)別模型對(duì)應(yīng)的手勢(shì)模式的候選終點(diǎn),并利用韋特比回饋算法找出該手勢(shì)模式的起點(diǎn),同時(shí)執(zhí)行對(duì)比判斷模塊;否則執(zhí)行第二彈出模塊; 對(duì)比判斷模塊,將上述手勢(shì)模式與手勢(shì)棧棧頂緩存的手勢(shì)模式進(jìn)行對(duì)比,當(dāng)兩者相同時(shí),返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),否則按下述情況進(jìn)行判斷和操作當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)的前面,則彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并壓入上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn),同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù);當(dāng)上述手勢(shì)模式的起點(diǎn)在手勢(shì)棧棧頂緩存的手勢(shì)模式的第一個(gè)候選終點(diǎn)和最后ー個(gè)候選終點(diǎn)之間,則彈出手勢(shì)棧頂緩存的手勢(shì)模式,并將上述手勢(shì)模式的起點(diǎn)的前一時(shí)刻作為手勢(shì)棧棧頂緩存的手勢(shì)模式的終點(diǎn),同時(shí)將上述手勢(shì)模式及其起點(diǎn)和候選終點(diǎn)壓棧,并執(zhí)行第二判別模塊; 第二彈出模塊,彈出手勢(shì)棧棧頂緩存的手勢(shì)模式,并將t-Ι時(shí)刻作為該手勢(shì)模式的終點(diǎn),然后執(zhí)行第二判別模塊; 第二判別模塊,對(duì)手勢(shì)棧彈出的手勢(shì)模式的長(zhǎng)度進(jìn)行判別,如若手勢(shì)模式的長(zhǎng)度滿足約束條件,那么其是ー個(gè)真手勢(shì)模式,執(zhí)行第二標(biāo)記模塊;否則返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù),其中手勢(shì)模式的長(zhǎng)度記為其終點(diǎn)時(shí)刻和起點(diǎn)時(shí)刻之間的時(shí)間段長(zhǎng)度; 第二標(biāo)記模塊,根據(jù)相應(yīng)的手勢(shì)動(dòng)作識(shí)別模型,對(duì)所述真手勢(shì)模式的起點(diǎn)時(shí)刻和終點(diǎn)時(shí)刻之間的觀測(cè)序列中進(jìn)行標(biāo)記,同時(shí)返回樣本數(shù)據(jù)獲得模塊采集下一時(shí)刻的第一樣本數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種自動(dòng)檢測(cè)非手勢(shì)模式的手勢(shì)分割識(shí)別方法及系統(tǒng),該方法包括步驟1,基于攝像頭和傳感器采集的異構(gòu)數(shù)據(jù)訓(xùn)練手勢(shì)動(dòng)作識(shí)別模型,利用所述手勢(shì)動(dòng)作識(shí)別模型構(gòu)建閾值模型,手勢(shì)動(dòng)作識(shí)別模型和閾值模型構(gòu)成手勢(shì)分割模型;步驟2,利用所述手勢(shì)分割模型從輸入的連續(xù)動(dòng)作序列中自動(dòng)檢測(cè)非手勢(shì)模式;步驟3,利用所述非手勢(shì)模式訓(xùn)練非手勢(shì)動(dòng)作識(shí)別模型;步驟4,基于非手勢(shì)動(dòng)作識(shí)別模型擴(kuò)展手勢(shì)分割模型,對(duì)輸入的連續(xù)動(dòng)作序列進(jìn)行分割識(shí)別。本發(fā)明,使得手勢(shì)分割識(shí)別系統(tǒng)能夠更好的表征非手勢(shì)模式,減少了將非手勢(shì)模式誤判為手勢(shì)模式的概率,提高了手勢(shì)分割算法的準(zhǔn)確性。
文檔編號(hào)G06K9/00GK102982315SQ20121043654
公開(kāi)日2013年3月20日 申請(qǐng)日期2012年11月5日 優(yōu)先權(quán)日2012年11月5日
發(fā)明者黃美玉, 陳益強(qiáng), 紀(jì)雯 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
保定市| 青浦区| 宁津县| 东宁县| 共和县| 乃东县| 泗阳县| 临海市| 兴城市| 南京市| 建水县| 镶黄旗| 河池市| 龙江县| 光泽县| 普陀区| 肇源县| 逊克县| 贞丰县| 蓬溪县| 乌鲁木齐县| 浮梁县| 承德市| 伊宁县| 望谟县| 临洮县| 通化市| 道孚县| 延长县| 泸西县| 万全县| 乐都县| 浙江省| 杨浦区| 静海县| 尚志市| 峡江县| 萍乡市| 和田市| 延寿县| 淳化县|