本發(fā)明涉及人工智能及模式識別技術(shù)領(lǐng)域,尤其是一種基于隱馬爾科夫模型的動(dòng)態(tài)手勢切分識別方法。
背景技術(shù):
隨著手機(jī)觸摸操作和人體跟蹤識別的發(fā)展,人們體會(huì)到了手勢交互方式具有以人為中心的自然性,簡潔性,和直接性等優(yōu)勢,基于人手智能輸入的交互界面正在成為新的技術(shù)趨勢,尤其是隨著沉浸式虛擬現(xiàn)實(shí)新設(shè)備的興起,各種交互方案被用來提高沉浸式體驗(yàn),其中以手勢交互最為簡潔、直接、自然。
手勢識別作為一種人機(jī)交互手段,已廣泛應(yīng)用于增強(qiáng)現(xiàn)實(shí),虛擬現(xiàn)實(shí),體感游戲等場景,對于這些應(yīng)用場景,操作手勢是隨機(jī)嵌入在連續(xù)動(dòng)作流當(dāng)中的,目前許多基于視覺的手勢識別系統(tǒng)都假設(shè)輸入的各個(gè)動(dòng)作間存在停頓或已經(jīng)切分好的獨(dú)立手勢,而在實(shí)時(shí)場景下的應(yīng)用研究相對較少,在實(shí)際應(yīng)用條件下難以在復(fù)雜手勢流中定位具有操作意義手勢的開始和結(jié)束關(guān)鍵點(diǎn);并且同一種手勢由于執(zhí)行速度不同和動(dòng)作幅度不同而不可避免地帶有時(shí)空差異性,對識別的準(zhǔn)確率和魯棒性會(huì)造成很大影響,造成了自動(dòng)切分困難,實(shí)時(shí)性差,以及手勢識別率不高的問題。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于隱馬爾科夫模型的動(dòng)態(tài)手勢切分識別方法。
本發(fā)明的技術(shù)方案為:一種基于隱馬爾科夫模型的動(dòng)態(tài)手勢切分識別方法,包括訓(xùn)練隱馬爾科夫模型(hmm)和連續(xù)動(dòng)態(tài)手勢切分與識別;
s1)、訓(xùn)練隱馬爾科夫模型(hmm)
s101)、通過數(shù)據(jù)手套獲取k個(gè)手勢的手部姿態(tài)數(shù)據(jù)作為訓(xùn)練樣本數(shù)據(jù),其中,每個(gè)手勢的手部姿態(tài)數(shù)據(jù)包括m個(gè)子訓(xùn)練樣本,每個(gè)訓(xùn)練樣本包括t個(gè)時(shí)刻,每個(gè)時(shí)刻包含n個(gè)特征數(shù)據(jù),每個(gè)子訓(xùn)練樣本的數(shù)據(jù)表示為
s=(s1,1,s1,2,...s1,t;s2,1,s2,2,...s2,t;...;sn,1,sn,2,...sn,t),其中,si,j表示該樣本j時(shí)刻第i個(gè)特征的數(shù)據(jù);
s102)、對每個(gè)子訓(xùn)練樣本s進(jìn)行差分預(yù)處理,得到同一特征數(shù)據(jù)相鄰兩時(shí)刻數(shù)據(jù)之間的差距di,j,同一手勢相鄰兩時(shí)刻之間的差距di,j=si,j+1-si,j,差分預(yù)處理后的子訓(xùn)練樣本的數(shù)據(jù)為
d=(d1,1,d1,2,...d1,t-1;d2,1,d2,2,...d2,t-1;...;dn,1,dn,2,...dn,t-1);
s103)、針對每個(gè)子訓(xùn)練樣本的數(shù)據(jù)計(jì)算得到其總能量w,其表達(dá)式為:
其中,wi表示子訓(xùn)練樣本d第i維特征的能量,w表示該子訓(xùn)練樣本d的總能量,其第i維特征數(shù)據(jù)的能量為:
s104)、對子訓(xùn)練樣本的數(shù)據(jù)進(jìn)行s加權(quán)處理,根據(jù)
s105)、采用kmeans聚類算法對加權(quán)后的子訓(xùn)練樣本數(shù)據(jù)s進(jìn)行離散化處理,將子訓(xùn)練樣本數(shù)據(jù)s表示為s=(s1,s2,...st),其中,sj=(s1,j,s2,j,...sn,j)表示j時(shí)刻的手部姿態(tài)數(shù)據(jù),預(yù)設(shè)m個(gè)類別,隨機(jī)初始化m個(gè)聚類中心,m個(gè)類別的聚類中心分別記為cz(z=1,2,...m),通過
s106)、分別將離散化處理后的每個(gè)手勢的m個(gè)子訓(xùn)練樣本數(shù)據(jù)s輸入到隱馬爾科夫模型(hmm)中,結(jié)合模型的前向-后向算法(baum-welch)訓(xùn)練得到每個(gè)手勢的hmm參數(shù)λ,從而得到k個(gè)手勢相關(guān)的訓(xùn)練好的隱馬爾科夫模型(hmm);
s2)、連續(xù)動(dòng)態(tài)手勢切分與識別
s201)、數(shù)據(jù)采集,通過數(shù)據(jù)手套獲取需要測試的連續(xù)的動(dòng)作手勢數(shù)據(jù)作為測試數(shù)據(jù);
s202)、手勢識別,按照步驟s102)對測試數(shù)據(jù)進(jìn)行差分處理,并按照步驟s103)計(jì)算差分處理后的測試數(shù)據(jù)的能量累加和,若某一時(shí)間段能量累加和變化激增,則該時(shí)間段的手勢為有效手勢,對該段有效的連續(xù)手勢進(jìn)行切分并提取該段有效手勢;
s203)、加權(quán)處理,按照步驟s104對步驟s202)中提取的有效手勢進(jìn)行加權(quán)處理;
s204)、離散化處理,并根據(jù)步驟s105)中的聚類中心cz,將該有效手勢歸類到距離相應(yīng)聚類中心cz最近的類別,并用相應(yīng)的類別號表示該有效手勢;
s205)、將加權(quán)處理與離散化處理后的有效手勢分別輸入到k個(gè)手勢對應(yīng)的訓(xùn)練好的隱馬爾科夫模型(hmm)中,計(jì)算該有效手勢在不同手勢對應(yīng)的隱馬爾科夫模型(hmm)下的概率值,并將概率值最大的隱馬爾科夫模型(hmm)對用的手勢作為識別結(jié)果。
所述的手部姿態(tài)數(shù)據(jù)包括手指彎曲數(shù)據(jù)、手掌的方位數(shù)據(jù);
所述的手指彎曲數(shù)據(jù)可以為通過彎曲傳感器采集的彎曲度數(shù)據(jù),也可以為通過慣性傳感器采集的手指彎曲方向的旋轉(zhuǎn)數(shù)據(jù);
所述的手掌的方位數(shù)據(jù)可以是通過慣性傳感器采集的方位數(shù)據(jù),也可以是通過光學(xué)定位獲取的方位數(shù)據(jù);
本發(fā)明的有益效果為:可以有效實(shí)時(shí)的檢測出連續(xù)動(dòng)態(tài)手勢的起始點(diǎn)和終止點(diǎn),進(jìn)一步提高了手勢別人的實(shí)時(shí)性,符合人們正常手勢交流的習(xí)慣,使手勢交流更加自然流暢,并且本發(fā)明結(jié)合加權(quán)處理,有效切分復(fù)雜手勢序列,減少冗余數(shù)據(jù),進(jìn)一步識別提取出動(dòng)態(tài)手勢中能量較大的有效手勢,提高了手勢切分后手勢識別的識別率,從而進(jìn)一步提高手勢識別精度和效率,并且能有效的解決實(shí)時(shí)場景下,連續(xù)動(dòng)態(tài)手勢的時(shí)空差異性問題和手勢開始到結(jié)束間的手勢切分問題。
附圖說明
圖1為本發(fā)明的流程圖;
圖2為本實(shí)施例的能量累加的示意圖;
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式作進(jìn)一步說明:
如圖1所示,一種基于隱馬爾科夫模型的動(dòng)態(tài)手勢切分識別方法,包括隱馬爾科夫模型(hmm)的訓(xùn)練和連續(xù)動(dòng)態(tài)手勢切分與識別;
s1)、訓(xùn)練隱馬爾科夫模型(hmm)
s101)、通過數(shù)據(jù)手套獲取k個(gè)手勢的手部姿態(tài)數(shù)據(jù)作為訓(xùn)練樣本數(shù)據(jù),其中,每個(gè)手勢的手部姿態(tài)數(shù)據(jù)包括m個(gè)子訓(xùn)練樣本,每個(gè)子訓(xùn)練樣本包括t個(gè)時(shí)刻,每個(gè)時(shí)刻包含n個(gè)特征數(shù)據(jù),每個(gè)子訓(xùn)練樣本的數(shù)據(jù)表示為
s=(s1,1,s1,2,...s1,t;s2,1,s2,2,...s2,t;...;sn,1,sn,2,...sn,t),其中,si,j表示該樣本j時(shí)刻第i個(gè)特征的數(shù)據(jù);
s102)、對每個(gè)子訓(xùn)練樣本s進(jìn)行差分預(yù)處理,得到同一特征數(shù)據(jù)相鄰兩時(shí)刻數(shù)據(jù)之間的差距di,j,同一手勢相鄰兩時(shí)刻之間的差距di,j=si,j+1-si,j,差分預(yù)處理后的子訓(xùn)練樣本的數(shù)據(jù)為
d=(d1,1,d1,2,...d1,t-1;d2,1,d2,2,...d2,t-1;...;dn,1,dn,2,...dn,t-1);
s103)、針對每個(gè)子訓(xùn)練樣本的數(shù)據(jù)計(jì)算得到其總能量w,其表達(dá)式為:
其中,wi表示子訓(xùn)練樣本d第i維特征的能量,w表示該子訓(xùn)練樣本d的總能量,其第i維特征數(shù)據(jù)的能量為:
s104)、對子訓(xùn)練樣本的數(shù)據(jù)進(jìn)行s加權(quán)處理,根據(jù)
s105)、采用kmeans聚類算法對加權(quán)后的子訓(xùn)練樣本數(shù)據(jù)s進(jìn)行離散化處理,將子訓(xùn)練樣本數(shù)據(jù)s表示為s=(s1,s2,...st),其中,sj=(s1,j,s2,j,...sn,j)表示j時(shí)刻的手部姿態(tài)數(shù)據(jù),預(yù)設(shè)m個(gè)類別,隨機(jī)初始化m個(gè)聚類中心,m個(gè)類別分別記為cz(z=1,2,...m),通過
s106)、分別將離散化處理后的每個(gè)手勢的m個(gè)子訓(xùn)練樣本數(shù)據(jù)s輸入到隱馬爾科夫模型(hmm)中,結(jié)合模型的前向-后向算法(baum-welch)訓(xùn)練得到每個(gè)手勢的hmm參數(shù)λ,從而得到k個(gè)手勢相關(guān)的訓(xùn)練好的隱馬爾科夫模型(hmm);
s2)、連續(xù)動(dòng)態(tài)手勢切分與識別
s201)、數(shù)據(jù)采集,通過數(shù)據(jù)手套獲取需要測試的連續(xù)的動(dòng)作手勢數(shù)據(jù)作為測試數(shù)據(jù);
s202)、手勢識別,按照步驟s102)對測試數(shù)據(jù)進(jìn)行差分處理,并按照步驟s103)計(jì)算差分處理后的測試數(shù)據(jù)的能量累加和,若某一時(shí)間段能量累加和變化激增,則該時(shí)間段的手勢為有效手勢,對該段有效的連續(xù)手勢進(jìn)行切分并提取該段有效手勢;
s203)、加權(quán)處理,按照步驟s104對步驟s202)中提取的有效手勢進(jìn)行加權(quán)處理;
s204)、離散化處理,并根據(jù)步驟s105)中的聚類中心cz,將該有效手勢歸類到距離相應(yīng)聚類中心cz最近的類別,并用相應(yīng)的類別號表示該有效手勢;
s205)、將加權(quán)處理與離散化處理后的有效手勢分別輸入到k個(gè)手勢對應(yīng)的訓(xùn)練好的隱馬爾科夫模型(hmm)中,計(jì)算該有效手勢在不同手勢對應(yīng)的隱馬爾科夫模型(hmm)下的概率值,并將概率值最大的隱馬爾科夫模型(hmm)對用的手勢作為識別結(jié)果。
所述的手部姿態(tài)數(shù)據(jù)包括手指彎曲數(shù)據(jù)、手掌的方位數(shù)據(jù);
所述的手指彎曲數(shù)據(jù)可以為通過彎曲傳感器采集的彎曲度數(shù)據(jù),也可以為通過慣性傳感器采集的手指彎曲方向的旋轉(zhuǎn)數(shù)據(jù);
所述的手掌的方位數(shù)據(jù)可以是通過慣性傳感器采集的方位數(shù)據(jù),也可以是通過光學(xué)定位獲取的方位數(shù)據(jù);
上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理和最佳實(shí)施例,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。