高 暢, 蔣 浩, 毛天露, 王兆其
(1. 中國(guó)科學(xué)院計(jì)算技術(shù)研究所移動(dòng)計(jì)算與新型終端北京市重點(diǎn)實(shí)驗(yàn)室,北京 100190;2. 四川大學(xué)軟件學(xué)院,四川 成都 610225)
基于雙重優(yōu)化的連續(xù)手勢(shì)識(shí)別方法
高 暢1,2, 蔣 浩1, 毛天露1, 王兆其1
(1. 中國(guó)科學(xué)院計(jì)算技術(shù)研究所移動(dòng)計(jì)算與新型終端北京市重點(diǎn)實(shí)驗(yàn)室,北京 100190;2. 四川大學(xué)軟件學(xué)院,四川 成都 610225)
基于計(jì)算機(jī)視覺的連續(xù)手勢(shì)識(shí)別因?yàn)槠渥匀恍院捅憬菪栽诖笮突?dòng)娛樂、互動(dòng)教育等方面得到了廣泛應(yīng)用。在連續(xù)手勢(shì)識(shí)別過(guò)程中,解決手勢(shì)分割問(wèn)題的已有方案多存在計(jì)算量大效率低的缺點(diǎn);解決獨(dú)立手勢(shì)識(shí)別問(wèn)題的已有方案多存在訓(xùn)練參數(shù)設(shè)定過(guò)程復(fù)雜的缺點(diǎn)。針對(duì)這兩個(gè)問(wèn)題做出兩點(diǎn)優(yōu)化:其一,提出一種基于隱狀態(tài)模式歸一化的方法對(duì)連續(xù)手勢(shì)進(jìn)行分割,提高了手勢(shì)分割的效率;其二,提出一種基于參數(shù)自反饋調(diào)節(jié)的獨(dú)立手勢(shì)訓(xùn)練和識(shí)別方法,降低了獨(dú)立手勢(shì)訓(xùn)練的難度,并提高了識(shí)別的精度。實(shí)驗(yàn)證明,提出的基于雙重優(yōu)化的連續(xù)手勢(shì)識(shí)別方法與原有方法相比在精度和效率上都有較大提升。
人機(jī)交互;連續(xù)手勢(shì)識(shí)別;手勢(shì)分割;獨(dú)立手勢(shì)識(shí)別
近年來(lái),人機(jī)交互技術(shù)快速發(fā)展,如何與計(jì)算 機(jī)進(jìn)行自然的交互已成為了研究的熱點(diǎn)。以往基于鍵盤和鼠標(biāo)的交互方式已經(jīng)十分成熟,出現(xiàn)了越來(lái)越多新穎的交互方式[1-3]如語(yǔ)音交互,腦機(jī)交互,手勢(shì)交互,這些新穎的交互方式更加自然、直觀,給人們帶來(lái)了更加良好地交互體驗(yàn)。其中,手勢(shì)交互技術(shù)因?yàn)槠淇旖菪院椭庇^性得到了巨大發(fā)展,也已經(jīng)在諸如大型互動(dòng)娛樂、互動(dòng)教育等方面得到了成功應(yīng)用。
手勢(shì)從運(yùn)動(dòng)特點(diǎn)出發(fā),可以分為靜態(tài)與動(dòng)態(tài)手勢(shì)。靜態(tài)手勢(shì)是僅依靠手的外部形狀與輪廓傳遞信息的方式,被視為動(dòng)態(tài)手勢(shì)的特例;動(dòng)態(tài)手勢(shì)是指手的形狀與位置都隨時(shí)間發(fā)生變化的手勢(shì),可表達(dá)更加豐富和準(zhǔn)確的信息,也是人們?nèi)粘I钪凶顬槌S玫慕涣鞣绞街籟4]。其中,用戶在三維空間不斷揮動(dòng)手臂,畫出圖形,計(jì)算機(jī)得到手的三維空間軌跡數(shù)據(jù),從連續(xù)數(shù)據(jù)中自動(dòng)剔除冗余數(shù)據(jù),實(shí)時(shí)發(fā)現(xiàn)并識(shí)別出手勢(shì)種類是一個(gè)重要問(wèn)題,此問(wèn)題被稱作連續(xù)手勢(shì)識(shí)別,是本文的研究對(duì)象(本文中所涉方法解決無(wú)手性變化只考慮手的空間軌跡的問(wèn)題)。
一般情況下,用戶在空間做連續(xù)手勢(shì)時(shí),并不會(huì)明確手勢(shì)的起點(diǎn)和終點(diǎn),在做不同手勢(shì)的間隙也存在一些冗余手勢(shì)。在連續(xù)手勢(shì)識(shí)別問(wèn)題中首先需要識(shí)別器剔除冗余數(shù)據(jù),明確目標(biāo)手勢(shì)的開始和結(jié)束位置,被稱為手勢(shì)分割。在手勢(shì)分割后,識(shí)別器對(duì)分割好的手勢(shì)數(shù)據(jù)進(jìn)行識(shí)別,發(fā)出對(duì)應(yīng)指令,這個(gè)問(wèn)題被稱為獨(dú)立手勢(shì)識(shí)別。這兩個(gè)問(wèn)題,是連續(xù)手勢(shì)識(shí)別過(guò)程中存在的主要問(wèn)題。以往的研究人員已經(jīng)對(duì)這兩個(gè)問(wèn)題進(jìn)行了一些研究,也提出了一些解決策略。
在手勢(shì)分割過(guò)程中,由于數(shù)據(jù)是實(shí)時(shí)更新的,所以識(shí)別器需要循環(huán)對(duì)數(shù)據(jù)流進(jìn)行檢測(cè),不斷判斷已接收到數(shù)據(jù)流中是否存在已定義的手勢(shì),假如檢測(cè)到存在已定義的手勢(shì),則對(duì)手勢(shì)進(jìn)行識(shí)別并發(fā)出指令。以往研究人員主要的思路是為已定義的獨(dú)立手勢(shì)和冗余數(shù)據(jù)分別建立模型,通過(guò)把當(dāng)前數(shù)據(jù)分別帶入這些模型,求出當(dāng)前數(shù)據(jù)與這些模型的相似度,通過(guò)比較相似度來(lái)判斷待識(shí)別的數(shù)據(jù)屬于冗余數(shù)據(jù)還是已定義的手勢(shì)。以往的研究提出了基于隱馬爾可夫模型(hidden Markov model,HMM)和閾值模型的手勢(shì)識(shí)別方法[5-8],這種方案在解決手勢(shì)分割問(wèn)題有一定效果,但由于系統(tǒng)實(shí)際運(yùn)行過(guò)程中待識(shí)別數(shù)據(jù)往往由冗余手勢(shì)和已定義手勢(shì)連接組成,此方法在處理這種情況時(shí)往往不能達(dá)到良好的效果。
在連續(xù)手勢(shì)被分割之后,需要對(duì)分割完成的獨(dú)立手勢(shì)進(jìn)行識(shí)別,在獨(dú)立手勢(shì)識(shí)別過(guò)程中,經(jīng)常會(huì)出現(xiàn)訓(xùn)練過(guò)程中不能對(duì) HMM參數(shù)進(jìn)行合適的設(shè)置,造成識(shí)別不準(zhǔn)的問(wèn)題。
針對(duì)研究過(guò)程中存在的兩個(gè)問(wèn)題,本文在原有基礎(chǔ)上做出了雙重優(yōu)化:
(1) 針對(duì)連續(xù)手勢(shì)識(shí)別過(guò)程中存在的問(wèn)題,提出了基于隱狀態(tài)模式歸一化的連續(xù)手勢(shì)識(shí)別方法,是指在使用HMM進(jìn)行手勢(shì)的訓(xùn)練和連續(xù)識(shí)別的過(guò)程中,均對(duì)手勢(shì)數(shù)據(jù)進(jìn)行時(shí)序上的逆序處理。經(jīng)處理后,連續(xù)手勢(shì)中的冗余數(shù)據(jù)對(duì)整體手勢(shì)的影響都被推后至末端的隱狀態(tài),從而在識(shí)別過(guò)程中隱狀態(tài)模式歸一化為逆序手勢(shì)連接逆序冗余數(shù)據(jù)的模式。
(2) 針對(duì)獨(dú)立手勢(shì)進(jìn)行識(shí)別過(guò)程中存在的問(wèn)題,本文提出了一種基于參數(shù)自反饋調(diào)節(jié)的獨(dú)立手勢(shì)訓(xùn)練和識(shí)別方法,即在訓(xùn)練過(guò)程時(shí),系統(tǒng)會(huì)根據(jù)樣本數(shù)據(jù)進(jìn)行自反饋,不斷調(diào)節(jié)訓(xùn)練參數(shù)使其達(dá)到最佳,自動(dòng)訓(xùn)練出識(shí)別率最高的HMM。
基于計(jì)算機(jī)視覺的連續(xù)動(dòng)態(tài)手勢(shì)識(shí)別主要分為人手運(yùn)動(dòng)軌跡數(shù)據(jù)收集,手勢(shì)分割,獨(dú)立手勢(shì)識(shí)別三個(gè)階段。一般人手運(yùn)動(dòng)軌跡數(shù)據(jù)收集方法主要是通過(guò)識(shí)別人手特征(手型,膚色)定位手的空間位置和通過(guò)識(shí)別手持標(biāo)志物定位手的空間位置兩種方法,在以往的研究過(guò)程中,通過(guò)這兩種方法均可以得到人手精確的軌跡數(shù)據(jù)[1]。本文中假定人手運(yùn)動(dòng)軌跡數(shù)據(jù)收集過(guò)程已經(jīng)完成,重點(diǎn)研究對(duì)象在于手勢(shì)分割和獨(dú)立手勢(shì)識(shí)別。有關(guān)手勢(shì)分割和手勢(shì)識(shí)別分割,前人主要提出了以下四種方案。
(1) 基于HMM的方法:HMM的基本理論最初提出于20世紀(jì)60年代末,它是一個(gè)雙重隨機(jī)過(guò)程,即狀態(tài)轉(zhuǎn)移隨機(jī)過(guò)程與觀測(cè)隨機(jī)過(guò)程。模型的狀態(tài)不可見,只能通過(guò)觀察序列觀測(cè)到,狀態(tài)轉(zhuǎn)移隨機(jī)過(guò)程決定了隱含狀態(tài)轉(zhuǎn)移的過(guò)程,觀測(cè)隨機(jī)過(guò)程決定了從隱含狀態(tài)到觀察序列輸出間的對(duì)應(yīng)關(guān)系?;贖MM曾有人提出了一系列連續(xù)手勢(shì)識(shí)別的解決方案[5-8]。在最初的研究過(guò)程中,相關(guān)研究人員曾試圖建立冗余手勢(shì)的HMM,使用模型就可以判斷當(dāng)前識(shí)別的數(shù)據(jù)是已定義的手勢(shì)還是冗余手勢(shì),但冗余手勢(shì)種類繁多,此方案雖然可以達(dá)到一定效果但整體識(shí)別率不佳。Lee和 Kim[8]在此基礎(chǔ)上提出了基于HMM和閾值模型的解決方案,通過(guò)對(duì)比待識(shí)別數(shù)據(jù)在已定義手勢(shì)對(duì)應(yīng)的HMM和閾值模型的相似度關(guān)系來(lái)確定當(dāng)前待識(shí)別數(shù)據(jù)是否是已定義手勢(shì)。該方案在以往方案的基礎(chǔ)上獲得了顯著提升,但同樣存在效率不高,有時(shí)還是需要人為進(jìn)行停頓來(lái)分割手勢(shì)的缺點(diǎn)。
(2) 基于條件隨機(jī)場(chǎng)的方法:條件隨機(jī)場(chǎng)(conditional random fields,CRF)是Lafferty于2001年提出的一種判別式概率無(wú)向圖模型,主要用于標(biāo)注和切分有序數(shù)據(jù)。CRF作為一種分類方法,用于動(dòng)態(tài)手勢(shì)識(shí)別時(shí),能很好地描述手勢(shì)序列間的依賴關(guān)系,是進(jìn)行連續(xù)手勢(shì)識(shí)別的一種有效方案。前人在此理論基礎(chǔ)上提出了一系列基于 CRF和閾值模型的方法[9-15],有效地解決了手語(yǔ)識(shí)別中的手語(yǔ)分割問(wèn)題。手語(yǔ)分割與連續(xù)手勢(shì)識(shí)別屬于同類問(wèn)題,但基于CRF的方法大多存在訓(xùn)練過(guò)程較為復(fù)雜,訓(xùn)練比較耗時(shí)的缺點(diǎn)。
(3) 基于動(dòng)態(tài)時(shí)間規(guī)整的方法:動(dòng)態(tài)時(shí)間規(guī)整(dynamic time warping,DTW)是Sakoe提出的。由于手勢(shì)在運(yùn)動(dòng)速度上存在較大差異,導(dǎo)致手勢(shì)的采樣點(diǎn)不同,DTW 通過(guò)在時(shí)間軸上調(diào)整手勢(shì)序列以消除這種速度差異。運(yùn)用該方法調(diào)整輸入手勢(shì)的時(shí)間軸,使之非線性地映射到模板手勢(shì)的時(shí)間軸上,使得二者之間距離最小,然后再進(jìn)行模板匹配得到最終識(shí)別結(jié)果。Alon等[16]提出了基于DTW的連續(xù)手勢(shì)分割和識(shí)別框架,在連續(xù)手勢(shì)識(shí)別的問(wèn)題上取得了很大進(jìn)展。但原始的基于DTW的方法大多存在識(shí)別過(guò)程比較耗時(shí)的缺點(diǎn)。
(4) 基于混合模型的解決方案:在研究過(guò)程中,一些學(xué)者發(fā)現(xiàn)使用混合模型比使用單一模型可以達(dá)到更好的效果。如王西穎等[4]提出了一種基于HMM-FNN模型的復(fù)雜動(dòng)態(tài)手勢(shì)識(shí)別方法。這種方案整合了HMM對(duì)時(shí)序數(shù)據(jù)的建模能力與模糊神經(jīng)網(wǎng)絡(luò)的模糊規(guī)則的構(gòu)建與推理能力,將其運(yùn)用到復(fù)雜手勢(shì)的識(shí)別中,取得了良好地識(shí)別效果,但使用混合模型同樣存在訓(xùn)練過(guò)程復(fù)雜,識(shí)別過(guò)程計(jì)算量大的缺點(diǎn)。
在大型互動(dòng)娛樂,互動(dòng)教育產(chǎn)品應(yīng)用過(guò)程中,多存在多人參與、多人互動(dòng)的情況,多人參與過(guò)程中仍然要求系統(tǒng)具備較高實(shí)時(shí)性和識(shí)別精度。而且為了達(dá)到更好的用戶體驗(yàn),系統(tǒng)的訓(xùn)練學(xué)習(xí)過(guò)程應(yīng)做到簡(jiǎn)單高效。針對(duì)此情況,選用基于HMM和閾值模型的方案,在前人研究基礎(chǔ)上做出雙重優(yōu)化,提出了一種高效和高識(shí)別精度的識(shí)別方法。
2.1 方法概況
為了達(dá)到高效連續(xù)手勢(shì)識(shí)別的目的,本文在基于HMM和閾值模型思想的基礎(chǔ)上,對(duì)訓(xùn)練樣本和待識(shí)別數(shù)據(jù)進(jìn)行隱狀態(tài)模式歸一化處理,顯著提高了識(shí)別效率。為了在保證識(shí)別精度的同時(shí)降低模型訓(xùn)練的難度,本文采用了參數(shù)自反饋的模型訓(xùn)練方法。圖1為本文方法整體流程圖。
圖1 算法框架圖
基于隱狀態(tài)模式歸一化的方法主要分為離線訓(xùn)練和在線識(shí)別兩個(gè)模塊。這兩個(gè)模塊的理論基礎(chǔ)都是HMM。
在離線訓(xùn)練部分中,首先進(jìn)行的是訓(xùn)練樣本收集的過(guò)程,然后進(jìn)行特征提取,最后再使用合適的參數(shù)對(duì)HMM進(jìn)行訓(xùn)練,在訓(xùn)練過(guò)程中,可采用的是隱狀態(tài)模式歸一化后的HMM。
在實(shí)時(shí)識(shí)別過(guò)程中,在收集到實(shí)時(shí)連續(xù)數(shù)據(jù)之后,要對(duì)數(shù)據(jù)進(jìn)行相同方法的特征提取,再對(duì)隱狀態(tài)模式歸一化處理,最后代入離線模型庫(kù)得到識(shí)別結(jié)果,判斷此刻的數(shù)據(jù)是否為已定義的手勢(shì)。假如識(shí)別出已定義手勢(shì),則給出識(shí)別結(jié)果,發(fā)出對(duì)應(yīng)指令。
自反饋的模型訓(xùn)練方法是基于一種自動(dòng)調(diào)節(jié)并設(shè)定訓(xùn)練參數(shù)的訓(xùn)練方法,此方法降低了模型訓(xùn)練過(guò)程的難度,同時(shí)相對(duì)于使用先驗(yàn)法人工設(shè)定參數(shù)的方法,具有更高地識(shí)別精度。
2.2 特征降維
當(dāng)接收到此數(shù)據(jù)后,首先需要對(duì)此數(shù)據(jù)進(jìn)行降維處理,將三維空間軌跡投影到可以有效表征手勢(shì)的二維平面,經(jīng)處理后原數(shù)據(jù)降維為(x1, y1),(x2,y2),… ,(xt, yt)形式,但此類數(shù)據(jù)對(duì)位置、大小敏感,會(huì)對(duì)數(shù)據(jù)的有效識(shí)別造成影響,采用經(jīng)典的求取相鄰點(diǎn)間角度正切值的方法,如圖2所示,一般選取d種角度(d一般取值為16)原數(shù)據(jù)可被轉(zhuǎn)換成Ot= (o1),(o2),… ,(ot)(1 ≤on≤d ),經(jīng)過(guò)預(yù)處理后的數(shù)據(jù)排除了手勢(shì)在空間位置和大小上的影響。
圖2 十六度特征向量圖
2.3 自反饋的手勢(shì)訓(xùn)練方法
2.3.1 實(shí)際問(wèn)題描述
想要完成獨(dú)立手勢(shì)的識(shí)別,就必須先訓(xùn)練出每個(gè)手勢(shì)對(duì)應(yīng)的HMM,在識(shí)別過(guò)程中,將待識(shí)別數(shù)據(jù)代入各個(gè)模型中,然后通過(guò)比較此段數(shù)據(jù)與各個(gè)模型的相似度來(lái)判斷手勢(shì)類別。想要達(dá)到最佳的識(shí)別效果,必須正確設(shè)置訓(xùn)練時(shí)各個(gè)參數(shù),在以往的研究中,經(jīng)常使用人工設(shè)置參數(shù)的方法進(jìn)行訓(xùn)練,該方法存在過(guò)程復(fù)雜且最終結(jié)果無(wú)法達(dá)到最佳的問(wèn)題,為解決這一問(wèn)題本文提出了自反饋的手勢(shì)訓(xùn)練方法。
2.3.2 模型基礎(chǔ)
在獨(dú)立手勢(shì)識(shí)別過(guò)程中使用的HMM為左右結(jié)構(gòu),如圖3所示,這種結(jié)構(gòu)的HMM符合手勢(shì)數(shù)據(jù)具有時(shí)序性的特點(diǎn)。
圖3 左右結(jié)構(gòu)的隱馬爾可夫模型示意圖
本文中假設(shè)獨(dú)立手勢(shì)有 G種,使用g= 1,2,3,… ,G作為獨(dú)立手勢(shì)的序號(hào)。第g種手勢(shì)對(duì)應(yīng)的HMM為λg。
每個(gè)λg由 {Ng,Mg,Ag,Bg,πg(shù)}組成,其中:
Ng為隱狀態(tài)集合的隱狀態(tài)數(shù),在此定義λg中對(duì)應(yīng)的隱狀態(tài)集合用表示;
Mg為HMM觀測(cè)值的個(gè)數(shù),觀測(cè)值取值范圍用集合 {v1, v2, v3,… ,vd}表示;
A= {ag}(1 ≤i≤ N ,1 ≤j≤N)為N × N的狀gij態(tài)轉(zhuǎn)移概率分布矩陣,因?yàn)楸疚倪x用的HMM為左右結(jié)構(gòu),所以模型的狀態(tài)轉(zhuǎn)移概率分布應(yīng)為如下形式。為N × M的觀察概率分布矩陣,其中表示t時(shí)刻狀態(tài)為條件下出現(xiàn)觀測(cè)值 vk的概率。
π ={πg(shù),πg(shù),πg(shù),… ,πg(shù)}為初始狀態(tài)分布。
g123N
2.3.3 參數(shù)自反饋調(diào)節(jié)過(guò)程
當(dāng)假設(shè)第g種手勢(shì)的訓(xùn)練樣本有 Sg個(gè),那么表示第 g種手勢(shì)的第 s個(gè)樣本的軌跡序列(1,2,3,… ,Sg),則手勢(shì)g對(duì)應(yīng)的訓(xùn)練樣本集合可以使用表示。
若使用Baum-Welch算法對(duì)訓(xùn)練數(shù)據(jù)Tg進(jìn)行訓(xùn)練,最終得到第g種手勢(shì)對(duì)應(yīng)的HMM為λg。前邊已經(jīng)提到λg由{Ng,Mg,Ag,Bg,πg(shù)}五個(gè)組件構(gòu)成。在訓(xùn)練之前,需要對(duì)這5個(gè)組件賦初值,即:
訓(xùn)練結(jié)果λg會(huì)與初始值和Tg有一定的函數(shù)對(duì)應(yīng)關(guān)系,在此使用:
表示這種對(duì)應(yīng)關(guān)系,這個(gè)問(wèn)題對(duì)應(yīng)的是HMM中的參數(shù)學(xué)習(xí)問(wèn)題,其經(jīng)典解法是Baum-Welch算法,需要特別注意的是,λg中的組件 N, M ,π在初始化后不會(huì)因訓(xùn)練過(guò)程而發(fā)生改變。
初始參數(shù)設(shè)定完畢后進(jìn)行訓(xùn)練即可得到其對(duì)應(yīng)HMM λg。將一個(gè)訓(xùn)練樣本重新帶入模型λg可以求得此訓(xùn)練樣本對(duì)于此模型相似度δ(,λ)s ggt ,這個(gè)概率的求解過(guò)程對(duì)應(yīng)HMM中的解碼問(wèn)題,這個(gè)問(wèn)題是指在給定模型參數(shù)λ和觀測(cè)序列O時(shí),尋找最有可能產(chǎn)生觀測(cè)序列 O的最佳隱狀態(tài)序列的過(guò)程,此處的概率是指對(duì)應(yīng)的最佳隱狀態(tài)序列產(chǎn)生觀測(cè)序列的概率,此概率通常使用Viterbi算法求解,使用此概率表征一個(gè)訓(xùn)練樣本與模型的相似度,并使用樣本集所有樣本對(duì)應(yīng)概率的平均值表征此模型的整體相似度。在此定義為:
為使用訓(xùn)練樣本Tg訓(xùn)練出的模型與訓(xùn)練樣本的相似度。
將式(2)帶入式(3)可以得到式(4):
這個(gè)問(wèn)題可以歸納為一個(gè)優(yōu)化問(wèn)題,在初始化時(shí),如下參數(shù)(初始參數(shù)均根據(jù)先驗(yàn)知識(shí)得出)可以使取值達(dá)到最佳效果:其中,GESTURE LENGTH為Tg中所有元素長(zhǎng)度的平均值;
d為特征值的種類數(shù),d=16
此問(wèn)題可以使用隨機(jī)優(yōu)化算法求得近似最優(yōu)解,在下降過(guò)程中,保持M和π的值不變,通過(guò)自反饋調(diào)節(jié)改變A和B,N的值使問(wèn)題達(dá)到滿足的最優(yōu)解。
2.4 隱狀態(tài)模式歸一化連續(xù)手勢(shì)訓(xùn)練/識(shí)別方法
2.4.1 實(shí)際問(wèn)題描述
圖4中所繪制的問(wèn)題為連續(xù)手勢(shì)識(shí)別過(guò)程中存在的核心問(wèn)題,即在包含冗余數(shù)據(jù)流中分割出已定義手勢(shì)并對(duì)其進(jìn)行識(shí)別。
圖4 連續(xù)手勢(shì)識(shí)別示意圖
因?yàn)檫B續(xù)手勢(shì)的繪制和識(shí)別過(guò)程均具有實(shí)時(shí)更新性,且當(dāng)用戶完成一個(gè)手勢(shì)的繪制時(shí),用戶所繪制手勢(shì)一定處于數(shù)據(jù)流末尾,所以連續(xù)手勢(shì)識(shí)別問(wèn)題可以轉(zhuǎn)換為前端帶有冗余手勢(shì)的獨(dú)立手勢(shì)識(shí)別問(wèn)題。
2.4.2 數(shù)學(xué)問(wèn)題轉(zhuǎn)化
2.4.3 問(wèn)題解決方法
本文中使用Viterbi算法求解δ(Oa→b,λg)的值。Viterbi算法解決的是解碼問(wèn)題,即在給定模型參數(shù)和觀測(cè)序列,尋找最有可能產(chǎn)生此觀察序列的隱狀態(tài)序列的過(guò)程。使用 Viterbi算法求解出δ(Oa→b,λg),還會(huì)得到與此對(duì)應(yīng)的隱狀態(tài)序列
因?yàn)槭謩?shì)序列具有時(shí)序性且本文中采用的是左右結(jié)構(gòu)的HMM。所以當(dāng) Oa→b為一個(gè)獨(dú)立手勢(shì)時(shí)(如圖 5(a)所示),此種情況下 qT*具有一定的均勻性,這種情況下δ(Oa→b,λg)處于正常前端的冗余手勢(shì)會(huì)對(duì)隱狀態(tài)進(jìn)行匹配,從而打亂后端獨(dú)立手勢(shì)與相應(yīng)隱狀態(tài)的正確匹配,這種情況下 s( Oa→b_λg)會(huì)非常低,無(wú)法滿足式(5)。而在連續(xù)手勢(shì)數(shù)據(jù)中,經(jīng)常會(huì)出現(xiàn)如圖5(b)或者更為復(fù)雜的連有冗余手勢(shì)的獨(dú)立手勢(shì),由此可見,使用滑動(dòng)窗口進(jìn)行多次匹配才能切分出正確的獨(dú)立手勢(shì)并完成識(shí)別,此類方案的實(shí)現(xiàn)方法及分析如下。
圖5 隱狀態(tài)序列與軌跡序列關(guān)系圖
方法1(原始方案). 通過(guò)滑動(dòng)窗口暴力求解的方法
訓(xùn)練過(guò)程:
在訓(xùn)練過(guò)程中,使用自反饋的手勢(shì)訓(xùn)練方法構(gòu)造每個(gè)手勢(shì)對(duì)應(yīng)的λg,再使用相應(yīng)閾值模型的構(gòu)造方法構(gòu)造閾值模型λTM。
識(shí)別過(guò)程:
連續(xù)手勢(shì)識(shí)別的過(guò)程是實(shí)時(shí)的,所以理論上需要在每次數(shù)據(jù)更新時(shí)進(jìn)行識(shí)別。又因?yàn)樽R(shí)別過(guò)程是實(shí)時(shí)檢測(cè)的,所以連續(xù)手勢(shì)數(shù)據(jù)有以下特性:
特性1:當(dāng)用戶完成一個(gè)手勢(shì)的繪制時(shí),用戶所繪制手勢(shì)一定處于數(shù)據(jù)流末尾。即在連續(xù)手勢(shì)數(shù)據(jù)流Ot= (o1),(o2),… ,(ot)中滿足式(5)的理想Oa→b一定滿足b = t。
根據(jù)特性1,只需在數(shù)據(jù)更新時(shí)檢測(cè)所有可能的 Oa→t并計(jì)算其是否滿足式(5)即可,a可能的取值范 圍 為 [t-GESTURE LENGTH MIN,t-GESTURE LENGTH MAX ](此處出現(xiàn)的GESTURE LENGTH MAX代表在樣本集中最長(zhǎng)的樣本平均長(zhǎng)度)。因?yàn)樵趯?shí)際情況中 Oa→t,Oa+1→t,…,Oa+step→t這些相鄰數(shù)據(jù)差異性較小,所以對(duì)這些相鄰類似數(shù)據(jù)進(jìn)行一次檢測(cè)即可,這種情況下算法運(yùn)行的總時(shí)間:
實(shí)驗(yàn)中發(fā)現(xiàn)一般情況下想要達(dá)到良好的識(shí)別效果一般 T ≥10,此種方法的計(jì)算量較大。
方法2. 隱狀態(tài)模式歸一化連續(xù)手勢(shì)訓(xùn)練/識(shí)別方法
針對(duì)此情況,所提出的使用隱狀態(tài)歸一化的訓(xùn)練/識(shí)別方法,可以顯著提高識(shí)別的效率,減小計(jì)算代價(jià)。
訓(xùn)練過(guò)程:
在訓(xùn)練過(guò)程中,在帶入每個(gè)手勢(shì)所對(duì)應(yīng)的HMM λg進(jìn)行訓(xùn)練之前,先要對(duì)數(shù)據(jù)進(jìn)行時(shí)序上的逆序處理,即使用Tg構(gòu)造其逆序向量使的逆序,再將 Qg分別帶入每個(gè)λg中求得 AgBg的值。在每個(gè)手勢(shì)對(duì)應(yīng)的λg訓(xùn)練完成后,再使用相應(yīng)閾值模型的構(gòu)造方法構(gòu)造閾值模型λTM。
識(shí)別過(guò)程:
在隱狀態(tài)模式歸一化的識(shí)別過(guò)程中,需先對(duì)數(shù)據(jù)進(jìn)行時(shí)序上的逆序處理,即使用 Ot構(gòu)造其逆序向量Rt,使 Rt=(ot),(ot-1),… ,(o1) =(r1),(r2),… ,(rt)。在 Rt中尋找子序列 Ra→b使子序列滿足式(5) (其中Oa→b替換為 Ra→b),由特性1可知,當(dāng)用戶完成一個(gè)手勢(shì)時(shí),所繪制手勢(shì)一定處于數(shù)據(jù)流末尾,因此處連續(xù)手勢(shì)數(shù)據(jù)進(jìn)行了逆序處理,所以即在連續(xù)手勢(shì)數(shù)據(jù)流 Rt中滿足式(5)的理想 Ra→b一定滿足a=1;在本方法的檢測(cè)過(guò)程中恒定設(shè)定 b為GESTURE LENGTH MAX。
用戶繪制的待識(shí)別的手勢(shì)有以下幾種情況。①手勢(shì)為已定義手勢(shì)中的最長(zhǎng)手勢(shì),此時(shí) R1→b是此手勢(shì)的逆序,必然滿足式(5)即可識(shí)別出此手勢(shì)。②當(dāng)手勢(shì)為短手勢(shì)時(shí), R1→b為此手勢(shì)的逆序連接一小段冗余數(shù)據(jù)的逆序。在此情況下將 R1→b帶入各個(gè)HMM使用Viterbi算法計(jì)算 s( R1→b_λg)時(shí),會(huì)匹配到其對(duì)應(yīng)正確的隱狀態(tài)序列,而冗余數(shù)據(jù)的影響會(huì)集中到最后的隱狀態(tài)上,從而使冗余數(shù)據(jù)對(duì)整體的影響降到最低。這種情況下每次數(shù)據(jù)更新只需進(jìn)行一次檢測(cè),算法運(yùn)行的總時(shí)間:
由此可見,改進(jìn)后的方法比原方法效率提高10倍以上。
為了驗(yàn)證本文中所提出的算法的預(yù)測(cè)精度及在實(shí)際連續(xù)手勢(shì)識(shí)別中對(duì)冗余手勢(shì)處理的性能,本節(jié)將在實(shí)際手勢(shì)數(shù)據(jù)集上對(duì)算法進(jìn)行測(cè)試和性能比較試驗(yàn)。
3.1 實(shí)驗(yàn)數(shù)據(jù)源及實(shí)驗(yàn)環(huán)境
本文共邀10位用戶(年齡20~30歲,男、女各5位)參與連續(xù)手勢(shì)的訓(xùn)練和識(shí)別過(guò)程,其識(shí)別對(duì)象為圖6中四種手勢(shì)。訓(xùn)練數(shù)據(jù)由用戶使用鼠標(biāo)在2D空間進(jìn)行繪制,每種手勢(shì)收集 40組樣本數(shù)據(jù)進(jìn)行訓(xùn)練。在識(shí)別測(cè)試過(guò)程中,用戶在3D空間揮動(dòng)手掌,計(jì)算機(jī)得到實(shí)時(shí)的軌跡數(shù)據(jù)進(jìn)行識(shí)別。本實(shí)驗(yàn)用計(jì)算機(jī)處理器為 AMD Athlon(tm) || P320 Dual-Core CPU,內(nèi)存4.0 GB,操作系統(tǒng)為Windows 8。
圖6 手勢(shì)種類圖
3.2 自反饋的訓(xùn)練方法相關(guān)實(shí)驗(yàn)
實(shí)驗(yàn)證明,訓(xùn)練HMM時(shí)所選取的參數(shù)N和A,會(huì)對(duì)模型的相似度Ψ(Tg,λg)造成影響。
表1為隱狀態(tài)數(shù)N對(duì)模型精度影響表(識(shí)別手勢(shì)為Number 4,HMM中的其他幾個(gè)參數(shù)設(shè)置相同)。
表1 隱狀態(tài)數(shù)N對(duì)模型精度影響表
由表1可知,當(dāng)隱狀態(tài)數(shù)目增多時(shí),模型的相似度會(huì)相應(yīng)升高,但識(shí)別時(shí)間也會(huì)相應(yīng)增加使用自反饋的參數(shù)調(diào)節(jié)方法,系統(tǒng)會(huì)選擇7作為此手勢(shì)的隱狀態(tài)數(shù),這種選擇為滿足的具有最高識(shí)別精度的解。
圖7為對(duì)訓(xùn)練參數(shù)A對(duì)模型相似度影響表。(識(shí)別手勢(shì)為Number 4,HMM中的其他幾個(gè)參數(shù)設(shè)置相同)。
圖7 訓(xùn)練參數(shù)A對(duì)模型相似度影響圖
通過(guò)以上兩實(shí)驗(yàn)可以得知,訓(xùn)練時(shí)初始化參數(shù)中的N和A會(huì)對(duì)模型精度有較大影響,通過(guò)自反饋的訓(xùn)練方法,可以找到滿足 〈max使模型精度Ψ(Tg,λg)為最大的訓(xùn)練參數(shù)值。
使用自反饋的模型訓(xùn)練方法,最終找到的模型訓(xùn)練參數(shù)如表2中所示。
表2 模型訓(xùn)練參數(shù)表
為了證明本文中自反饋調(diào)節(jié)設(shè)定參數(shù)的方法比以往使用先驗(yàn)法設(shè)定參數(shù)的方法具有提高識(shí)別精度的效果。在此進(jìn)行了對(duì)比實(shí)驗(yàn),首先,統(tǒng)計(jì)了使用自反饋調(diào)節(jié)的方法進(jìn)行訓(xùn)練的模型識(shí)別率,然后統(tǒng)計(jì)了直接使用先驗(yàn)法設(shè)定參數(shù)訓(xùn)練的模型識(shí)別率。本文方法與原有方法識(shí)別率對(duì)比如表3所示。
表3 識(shí)別率對(duì)比表(%)
由表3可見,通過(guò)本文自反饋調(diào)節(jié)方法訓(xùn)練得出的模型識(shí)別率比原方法在識(shí)別率上有所提升。
3.3 隱狀態(tài)模式歸一化的訓(xùn)練/識(shí)別方法相關(guān)實(shí)驗(yàn)
2.4 節(jié)討論發(fā)現(xiàn)使用隱狀態(tài)模式歸一化的訓(xùn)練/識(shí)別方法可以比原方法的速度快 10倍左右。設(shè)置對(duì)比試驗(yàn)為檢驗(yàn)此結(jié)論的正確性,收集每種手勢(shì)40組含有冗余數(shù)據(jù)和已定義手勢(shì)的連續(xù)數(shù)據(jù)。分別計(jì)算兩種方法每次數(shù)據(jù)更新需要的算法執(zhí)行時(shí)間T。
圖8為使用原始方法的算法執(zhí)行時(shí)間圖,圖9為使用隱狀態(tài)模式歸一化的訓(xùn)練/識(shí)別方法的算法執(zhí)行時(shí)間圖。此兩圖中橫軸為手勢(shì)類別,縱軸為算法運(yùn)行時(shí)間,圖中最大值指在一次實(shí)驗(yàn)中所有測(cè)試結(jié)果(算法運(yùn)行執(zhí)行時(shí)間)中的最大值,最小值指在一次實(shí)驗(yàn)中所有執(zhí)行時(shí)間測(cè)試結(jié)果(算法運(yùn)行執(zhí)行時(shí)間)中的最小值,平均值即為所有結(jié)果的平均值。
由圖8數(shù)據(jù)可知,使用原始方法的算法的執(zhí)行時(shí)間基本在500~600 ms之間;由圖9可知,使用隱狀態(tài)模式歸一化的訓(xùn)練/識(shí)別方法的算法執(zhí)行時(shí)間基本在40~60 ms之間,由于硬件和系統(tǒng)實(shí)際運(yùn)行環(huán)境的不同,實(shí)際測(cè)量中的函數(shù)測(cè)量時(shí)間可能不同,但整體上使用隱狀態(tài)模式歸一化的訓(xùn)練/識(shí)別方法的算法運(yùn)行時(shí)間為原始方法算法的執(zhí)行時(shí)間的十分之一左右,由此可見系統(tǒng)執(zhí)行效率得到了較大提升。
圖8 使用原始方法的算法執(zhí)行時(shí)間圖
圖9 使用隱狀態(tài)模式歸一化的訓(xùn)練/識(shí)別方法的算法執(zhí)行時(shí)間圖
本文主要有兩點(diǎn)貢獻(xiàn),其一,提出了一種基于隱狀態(tài)模式歸一化的方法對(duì)手勢(shì)進(jìn)行分割,提高了手勢(shì)分割的效率和精確度;其二,提出了一種基于參數(shù)自反饋調(diào)節(jié)的獨(dú)立手勢(shì)訓(xùn)練和識(shí)別方法,降低了獨(dú)立手勢(shì)訓(xùn)練的難度,并提高了識(shí)別的精度。實(shí)驗(yàn)證明,本文提出的基于雙重優(yōu)化的連續(xù)手勢(shì)識(shí)別方法與原有方法相比在精度和效率上都有較大提升。
由于HMM中參數(shù)眾多,選擇不同的狀態(tài)值,可使整個(gè)模型架構(gòu)發(fā)生變化,所有相關(guān)參數(shù)均需重新計(jì)算,因此,自反饋參數(shù)調(diào)節(jié)過(guò)程可能需要一定時(shí)間,本文雖為調(diào)節(jié)時(shí)間設(shè)置了一個(gè)上限值,但在此上限值內(nèi)的尋優(yōu)很有可能陷入局部最優(yōu)而不是全局最優(yōu)解的情況,此問(wèn)題的解決還需要在以后的研究過(guò)程中再繼續(xù)進(jìn)行探討。
由于在實(shí)際情況下可能會(huì)出現(xiàn)多個(gè)人同時(shí)做出手勢(shì)的情況,本文下一步將對(duì)多人連續(xù)手勢(shì)識(shí)別進(jìn)行研究。
[1]LaViola Jr J J. 3D gestural interaction: the state of the field [J/OL]. ISRN Artificial Intelligence, 2013-[2014-06-11]. http://dx.doi.org/10.1155/2013/514641.
[2]Mistry P, Maes P. SixthSense: a wearable gestural interface [C]//ACM SIGGRAPH ASIA 2009 Sketches, 2009:11.
[3]Dipietro L, Sabatini A M, Dario P. A survey of glove-based systems and their applications [J]. Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, 2008, 38(4): 461-482.
[4]王西穎, 戴國(guó)忠, 張習(xí)文, 等. 基于 HMM-FNN 模型的復(fù)雜動(dòng)態(tài)手勢(shì)識(shí)別[J]. 軟件學(xué)報(bào), 2008, 19(9):2302-2312.
[5]Pang Haibo, Ding Youdong. Dynamic hand gesture recognition using kinematic features based on hidden markov model [C]//Proceedings of the 2nd International Conference on Green Communications and Networks 2012 (GCN 2012), 2013: 255-262.
[6]Wan Jun, Ruan Qiuqi, An Gaoyun, et al. Gesture recognition based on hidden markov model from sparse representative observations [C]//Signal Processing (ICSP), 2012 IEEE 11th International Conference on, 2012: 1180-1183.
[7]Bilal S, Akmeliawati R, Shafie A A, et al. Hidden Markov model for human to computer interaction: a study on human hand gesture recognition [J]. Artificial Intelligence Review, 2013, 40: 495-516.
[8]Lee H K, Kim J H. An HMM-based threshold model approach for gesture recognition [J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 1999, 21(10): 961-973.
[9]Chung H, Yang H D. Conditional random field-based gesture recognition with depth information [J]. Optical Engineering, 2013, 52(1): 017201.
[10]de Souza C R, Pizzolato E B, dos Santos Anjo M. Fingerspelling recognition with support vector machines and hidden conditional random fields [C]//Advances in Artificial Intelligence-IBERAMIA 2012, ed: Springer, 2012: 561-570.
[11]Liu Techeng, Wang K C, Tsai A, et al. Hand posture recognition using hidden conditional random fields [C]// Proceedings of the IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM '09), 2009:1828-1833.
[12]Wang S B, Quattoni A, Morency L, et al. Hidden conditional random fields for gesture recognition [C]// Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on, 2006: 1521-1527.
[13]Liu Fawng, Jia Yunde. Human action recognition using manifold learning and hidden conditional random fields [C]// Young Computer Scientists, 2008. ICYCS 2008. The 9th International Conference for, 2008: 693-698.
[14]Song Yale, Demirdjian D, Davis R. Multi-signal gesture recognition using temporal smoothing hidden conditional random fields [C]//Automatic Face & Gesture Recognition and Workshops (FG 2011), 2011 IEEE International Conference on, 2011: 388-393.
[15]Yang H D, Sclaroff S, Lee S W. Sign language spotting with a threshold model based on conditional random fields [J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2009, 31(7): 1264-1277.
[16]Alon J, Athitsos V, Yuan Quan, et al. A unified framework for gesture recognition and spatiotemporal gesture segmentation [J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2009, 31(9):1685-1699.
A Double-Optimization Approach for Continuous Gesture Recognition
Gao Chang1,2, Jiang Hao1, Mao Tianlu1, Wang Zhaoqi1
(1. Beijing Key Laboratory of Mobile Computing and Pervasive Device, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China; 2. College of Software Engineering, Sichuan University, Chengdu Sichuan 610225, China)
The continuous gesture recognition based on computer vision has been successfully applied in the field of large interactive entertainment and large interactive education. During the process of continuous gesture recognition, the first key problem is gesture segmentation, the existing solutions of this problem mostly have the disadvantage of low efficiency; the second problem is independent gesture recognition, the existing solutions of this problem mostly have the disadvantage of complicated training problem. A double-optimization approach for these problems is proposed. Firstly, in order to improve the efficiency of hand gesture segmentation, a hidden state mode normalization method is given for continuous gesture segmentation. Secondly, to reduce the complexity of independent gesture training and improve recognition accuracy, a training method is presented based on parameter self-feedback regulation for independent gesture recognition. Experiments have shown that our methods greatly enhance accuracy and efficiency.
human computer interaction; continuous gesture recognition; gesture spotting; single gesture recognition
TP 181
A
2095-302X(2015)01-0102-09
2014-08-11;定稿日期:2014-08-20
國(guó)家“863”高技術(shù)研究發(fā)展計(jì)劃基金資助項(xiàng)目(2013AA013902)
高 暢(1993-),男,河北保定人,本科。主要研究方向?yàn)槿藱C(jī)交互、模式識(shí)別。E-mail:gaochang@ict.ac.cn
蔣 浩(1982-),男,湖南株洲人,助理研究員,博士。主要研究方向?yàn)樘摂M現(xiàn)實(shí)、智能人機(jī)交互。E-mail:jianghao@ict.ac.cn