梁歡, 陳一民, 李德旭, 黃晨
(上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444)
增強(qiáng)現(xiàn)實(shí)(Augmented Reality,AR)技術(shù)是在虛擬現(xiàn)實(shí)(Virtual Reality,VR)基礎(chǔ)上發(fā)展起來(lái)的,是將計(jì)算機(jī)生成的虛擬場(chǎng)景融合到真實(shí)世界場(chǎng)景中,強(qiáng)化用戶對(duì)現(xiàn)實(shí)的感觀和認(rèn)知,實(shí)現(xiàn)對(duì)現(xiàn)實(shí)世界的增強(qiáng)。隨著移動(dòng)設(shè)備硬件的提升和移動(dòng)通信技術(shù)的發(fā)展,手持設(shè)備已經(jīng)逐步成為了移動(dòng)增強(qiáng)現(xiàn)實(shí)的理想平臺(tái),移動(dòng)增強(qiáng)現(xiàn)實(shí)(Mobile Augmented Reality,MAR)也應(yīng)運(yùn)而生。
手勢(shì)是日常生活中人與人之間相互交流的一部分。以“手勢(shì)”作為輸入圖像信息,完成人與計(jì)算機(jī)的智能交互功能,成為感知用戶界面的重要組成部分。這也使得手勢(shì)識(shí)別成為人機(jī)交互領(lǐng)域中的一項(xiàng)關(guān)鍵技術(shù)。而近年來(lái)3D攝像頭的產(chǎn)生使手勢(shì)識(shí)別的應(yīng)用更加普及與便捷。
手勢(shì)識(shí)別的方法有隱馬爾科夫模型(HMM)[1]、動(dòng)態(tài)時(shí)間規(guī)整(DTW)[2]、支持向量機(jī)(SVM)[3]、3D卷積神經(jīng)網(wǎng)絡(luò)(3DCNN)[4]、等。這些算法在手勢(shì)識(shí)別方面都有其各自的優(yōu)點(diǎn),但這些算法或因其算法復(fù)雜度較大,實(shí)時(shí)性比較低;或因訓(xùn)練樣本比較復(fù)雜及樣本集較大,訓(xùn)練非常耗時(shí);或因計(jì)算量大、計(jì)算速度較低,手勢(shì)識(shí)別速度與識(shí)別率均比較低等問(wèn)題,在移動(dòng)端都不太適用。
針對(duì)以上問(wèn)題,本文提出了一種面向MAR的基于深度學(xué)習(xí)和隱馬爾科夫模型的手勢(shì)交互方法。首先通過(guò)leap motion采集手勢(shì)視頻序列,提取人手的骨骼數(shù)據(jù)、灰度深度圖像數(shù)據(jù),以彌補(bǔ)移動(dòng)終端缺乏深度攝像頭的缺點(diǎn);隨后采用DBN和3DCNN對(duì)提取到手勢(shì)數(shù)據(jù)進(jìn)行訓(xùn)練,得到高維的特征數(shù)據(jù);最后,將高維數(shù)據(jù)特征融合為概率,并作為隱馬爾可夫模型的觀測(cè)概率對(duì)手勢(shì)進(jìn)行訓(xùn)練和識(shí)別,以提高手勢(shì)識(shí)別的效率。該方法利用高性能工作站處理手勢(shì)信息,然后通過(guò)無(wú)線局域網(wǎng)將數(shù)據(jù)發(fā)送給移動(dòng)端,以降低移動(dòng)端的負(fù)荷量,解決了移動(dòng)端的計(jì)算能力較低的問(wèn)題。
深度置信網(wǎng)絡(luò)(Deep Belief Network,DBN),是一種生成模型,通過(guò)訓(xùn)練其神經(jīng)元間的權(quán)重,可以讓整個(gè)神經(jīng)網(wǎng)絡(luò)按照最大概率來(lái)生成訓(xùn)練數(shù)據(jù)[5]。在本文中,不僅可以使用DBN識(shí)別特征、分類(lèi)數(shù)據(jù),還可以用它來(lái)生成數(shù)據(jù)。
3D卷積神經(jīng)網(wǎng)絡(luò)(3D Convolutional Neural Networks,3DCNN),是一種深度神經(jīng)網(wǎng)絡(luò)模型,可應(yīng)用于目標(biāo)識(shí)別等應(yīng)用環(huán)境中,對(duì)圖像序列的目標(biāo)識(shí)別和人的行為識(shí)別或動(dòng)作識(shí)別進(jìn)行檢測(cè)[6]。3D卷積是在2D卷積的基礎(chǔ)上加上時(shí)間的維度,對(duì)每一幀加入時(shí)間維度的圖像進(jìn)行CNN處理,以此來(lái)獲取手勢(shì)的運(yùn)動(dòng)信息[7]。
隱馬爾可夫模型(Hidden Markov Model,HMM),是在Markov鏈的基礎(chǔ)上發(fā)展起來(lái)的[8],通過(guò)一組概率分布相聯(lián)系,是一個(gè)雙重隨機(jī)過(guò)程,其中一個(gè)隨機(jī)過(guò)程是描述了狀態(tài)和觀察值之間的統(tǒng)計(jì)對(duì)應(yīng)關(guān)系;另一個(gè)則Markov鏈,描述狀態(tài)的轉(zhuǎn)移[5]。在連續(xù)的情況下,該過(guò)程的一種狀態(tài)序列會(huì)根據(jù)當(dāng)前狀態(tài)的隨機(jī)函數(shù)產(chǎn)生一個(gè)觀察值。每一個(gè)轉(zhuǎn)移都有一個(gè)轉(zhuǎn)移概率和一個(gè)輸出概率。
本文定義的動(dòng)態(tài)手勢(shì)和靜態(tài)手勢(shì),每個(gè)手勢(shì)都會(huì)帶有骨骼特征與灰度深度圖像特征,因此,為了保持動(dòng)態(tài)手勢(shì)的空間和時(shí)間不變性,以更完整地表達(dá)手勢(shì)定義。本文基于手勢(shì)一般具有對(duì)稱(chēng)性的特點(diǎn),對(duì)數(shù)據(jù)進(jìn)行如下預(yù)處理:只關(guān)注位置較高的手,如果是雙手做動(dòng)作,做一個(gè)鏡像再進(jìn)行特征處理,為了方便圖像處理,本文使用右手視角。經(jīng)過(guò)數(shù)據(jù)處理后,可以有效地減少實(shí)驗(yàn)數(shù)據(jù)量,降低實(shí)驗(yàn)的復(fù)雜度,此外,將深度圖像通過(guò)掩模去掉背景可以有效地減少噪聲。為方便實(shí)驗(yàn),我們將數(shù)據(jù)進(jìn)行歸一化處理,對(duì)于深度圖像使用Z軸歸一化即將深度信息去除平均值,而對(duì)于灰度圖像則采用標(biāo)準(zhǔn)圖像倒數(shù)進(jìn)行歸一化。
在骨骼特征的提取中,只考慮手的關(guān)節(jié)活動(dòng)變化。為了捕捉到手勢(shì)的動(dòng)態(tài)性,本文對(duì)骨骼的移動(dòng)距離在時(shí)間上進(jìn)行求導(dǎo)處理,如式(1)。
(1)
本文的模型是基于數(shù)據(jù)驅(qū)動(dòng)學(xué)習(xí)的,如圖1所示。
圖1 手勢(shì)模型
1.3.1 模型建立
首先,將骨骼特征信息作為DBN的輸入, DBN整個(gè)訓(xùn)練過(guò)程分為兩步:第一步,使用貪心的逐層無(wú)監(jiān)督學(xué)習(xí)對(duì)堆疊的限制玻耳茲曼機(jī)(Restricted Boltzmann Machine,RBM)層進(jìn)行訓(xùn)練[9];第二步,在DBN的頂層使用softmax分類(lèi)器層作為輸出層,轉(zhuǎn)化成概率作為HMM的輸入。對(duì)于給出的特征向量f,DBN模型將會(huì)產(chǎn)生相應(yīng)的高維的數(shù)據(jù)特征。
RBM由隱藏單元和可見(jiàn)單元構(gòu)成。其中隱藏單元和可見(jiàn)單元都是二元變量。在一個(gè)RBM中,v表示所有的可見(jiàn)單元,h表示所有隱藏單元,給定模型參數(shù)θ的情況下,可見(jiàn)單元和隱單元的聯(lián)合概率分布用能量函數(shù)Ev,h;θ定義為式(2)。
(2)
(3)
其中wij表示可見(jiàn)單元vi和隱單元hj之間的對(duì)稱(chēng)連接權(quán)值,bi和aj表示偏置項(xiàng),I和J是可見(jiàn)單元和隱單元的數(shù)目。
其次,采用3DCNN對(duì)圖像的灰度深度特征進(jìn)行訓(xùn)練,最終得出相應(yīng)的高維特征數(shù)據(jù)。
3DCNN的結(jié)構(gòu)包含卷積層、池化層和全連接層,3D卷積層是由3D卷積核對(duì)連續(xù)幀進(jìn)行卷積實(shí)現(xiàn)的,具體實(shí)現(xiàn)結(jié)構(gòu),如圖2所示。
圖2 3DCNN結(jié)構(gòu)圖
將4種上下文相關(guān)的幀圖像堆積成大小為64*64*4的輸入,第一層是由5*5的卷積核生成的32幅卷積圖像組成,卷積層之后跟著的是寬度為(2,2,2)的3D池化層,所有卷積層的輸出會(huì)作為大小為1024的全連接層的輸入,最后輸出層會(huì)輸出概率序列作為HMM的輸入。本文中使用右手視角,僅對(duì)圖像的灰度信息進(jìn)行處理,這樣可以有效地減少實(shí)驗(yàn)數(shù)據(jù)量。
pH1:T,X1:T=pH1p(X1H1)
(4)
其中pH1是初始隱藏狀態(tài)下的先驗(yàn)條件,p(XtHt-1)是對(duì)允許狀態(tài)轉(zhuǎn)換及其概率建模的過(guò)渡轉(zhuǎn)換,p(XtHt)是觀測(cè)概率。
最后,HMM框架用于手勢(shì)分割和識(shí)別,對(duì)每個(gè)給定的手勢(shì)a∈A,引入一組狀態(tài)Ha來(lái)定義該手勢(shì)的馬爾可夫模型。由于本文的目標(biāo)是捕獲所執(zhí)行手勢(shì)的速度變化,所以p(XtHt-1)設(shè)置轉(zhuǎn)換矩陣:當(dāng)在時(shí)間t處于特定節(jié)點(diǎn)n時(shí),轉(zhuǎn)換到時(shí)間t+1,可以維持在同一個(gè)節(jié)點(diǎn)(較慢),轉(zhuǎn)換到節(jié)點(diǎn)n+1,或轉(zhuǎn)換到節(jié)點(diǎn)n+2(較快)。因?yàn)镠MM的圖是有向樹(shù),所以使用維特比算法,可以精確有效地搜索路徑空間,找到最可能的路徑。
2.3.2 模型求解
首先,從獲取到的骨骼數(shù)據(jù)中提取出骨骼特征,對(duì)于給定的特征向量f,使用DBN模型預(yù)測(cè)觀測(cè)概率,步驟如2.3.1。DBN隨后以監(jiān)督的方式進(jìn)行微調(diào),以預(yù)測(cè)觀測(cè)概率。DBN的每個(gè)層的節(jié)點(diǎn)數(shù)是[Nf,2 000,2 000,1 000,NH]。
RBM是無(wú)向圖模型,涉及可見(jiàn)和隱藏變量,相鄰層的隱藏單元和可見(jiàn)單元之間對(duì)稱(chēng)連接,但在同一層內(nèi)的單元之間沒(méi)有連接。在大多數(shù)情況下,RBM模型中的單位是二進(jìn)制隨機(jī)變量。然而,在本文的情況下,第一層中的可見(jiàn)單元包含骨架特征f∈RNf的向量,其值是連續(xù)的。為了能夠處理這些數(shù)據(jù),采用高斯伯努利RBM(GRBM)[10]。標(biāo)準(zhǔn)RBM第一層f對(duì)隱藏二進(jìn)制隨機(jī)單元h∈{0,1}F的能量項(xiàng)由公式(5)給出式(5)。
(5)
其中θ=W,b,a是自由參數(shù),Wij為可見(jiàn)單元i和隱藏單元j之間的對(duì)稱(chēng)關(guān)系,變量bi和aj分別為可見(jiàn)單元和隱藏單位的偏差項(xiàng)。推理和生成建模所需的條件分布由二進(jìn)制隱藏單元的傳統(tǒng)邏輯函數(shù)g和連續(xù)單位的正態(tài)分布N給出,如式(6)和式(7)。
(6)
(7)
本文采用隨機(jī)最大似然的方法對(duì)DBN進(jìn)行逐層訓(xùn)練。DBN初始化時(shí)使用的是提前預(yù)訓(xùn)練的結(jié)果。初始化的原因是為了防止陷入局部最小的問(wèn)題中,與此同時(shí),初始化也可以有效提升生成模型的能力。
然后,我們根據(jù)leapmotion提取到的灰度圖像數(shù)據(jù)提取相應(yīng)的灰度特征。3DCNN通過(guò)預(yù)處理產(chǎn)生四個(gè)分辨率為64×64的視頻樣本(身體和手的灰度和深度圖像)。此外,通過(guò)使用隨數(shù)據(jù)提供的自動(dòng)生成的分割掩模去除背景并應(yīng)用中值濾波,減少了深度圖中的噪點(diǎn)。
最后,我們將前兩個(gè)過(guò)程生成的數(shù)據(jù)結(jié)合起來(lái)融合成觀測(cè)概率作為HMM的輸入。采用中期融合的方法,利用每個(gè)模塊(相應(yīng)網(wǎng)絡(luò)的倒數(shù)第二層的Vs和Vr節(jié)點(diǎn),即頂層輸出之前的層表示)的高級(jí)表示。通過(guò)在2 024個(gè)隱藏單元的一層中連接這兩個(gè)層,以平均的方式進(jìn)行融合。然后,直接從所得到的網(wǎng)絡(luò)中獲得交叉模式的觀測(cè)概率。整個(gè)融合過(guò)程如圖1圖所示。
實(shí)驗(yàn)軟件開(kāi)發(fā)平臺(tái)包括VS2016、Vuforia for Unity工具包、Leapmotion_Core_Assets以及相關(guān)的Unity開(kāi)發(fā)包;手勢(shì)訓(xùn)練在工作站完成,配置為INTEL_XEON E5 2623 V4*1顆 4cores,2.6GHz,內(nèi)存64G;移動(dòng)AR環(huán)境為DELL Venue8 784001平板,其操作系統(tǒng)為Android5.1,后置攝像頭像素為800萬(wàn);手勢(shì)交互使用leapmotion,放置在平板攝像頭的正下方。
2.2.1 手勢(shì)定義
1) 命令手勢(shì)定義
根據(jù)手勢(shì)的自然性特征,我們定義9個(gè)命令手勢(shì),僅涉及單手的動(dòng)作,包含手掌的運(yùn)動(dòng)和手形的變化。定義的命令手勢(shì)分為靜態(tài)和動(dòng)態(tài)手勢(shì),其中靜態(tài)手勢(shì)的掌心位置和手形不發(fā)生變化;動(dòng)態(tài)手勢(shì)的掌心位置發(fā)生變化。具體定義,如表1所示。
表1中,(G1)5指伸展靜止不動(dòng)表示某一狀態(tài)開(kāi)啟;手指朝前畫(huà)圓(G2)表示啟動(dòng)模型walk動(dòng)作;手指朝前畫(huà)三角形(G3)表示啟動(dòng)模型run動(dòng)作;手指朝前畫(huà)矩形(G4)表示啟動(dòng)模型jump動(dòng)作;手掌朝下向上揮動(dòng)(G5)表示啟動(dòng)模型winpose動(dòng)作;手指朝下畫(huà)“b”(G6)表示啟動(dòng)模型KO動(dòng)作;手指朝左畫(huà)“m”(G7)表示啟動(dòng)模型damage動(dòng)作;手掌朝左向右揮動(dòng)(G8)表示啟動(dòng)模型hit動(dòng)作;握拳(G9)靜止不動(dòng)表示某一狀態(tài)關(guān)閉。
表1 命令手勢(shì)定義表
2) 交互動(dòng)作定義
為了提供一種直觀、自然、便利的手勢(shì)交互方式與虛擬模型進(jìn)行交互,我們針對(duì)命令手勢(shì)特定義7種交互動(dòng)作,如表2所示。
表2 交互動(dòng)作定義表
2.2.2 手勢(shì)識(shí)別
本文共涉及到9個(gè)手勢(shì),共兩種:靜態(tài)手勢(shì)和動(dòng)態(tài)手勢(shì),每種手勢(shì)分別采集200個(gè)測(cè)試樣本進(jìn)行測(cè)試,結(jié)果如表3所示。
表3 不同算法下動(dòng)態(tài)手勢(shì)識(shí)別率
表3中顯示單獨(dú)使用HMM方法識(shí)別手勢(shì)的識(shí)別率明顯低于本文所提出的方法,由此可表明通過(guò)隱馬爾可夫與深度學(xué)習(xí)相結(jié)合的方法有效地提高了手勢(shì)識(shí)別率。
實(shí)驗(yàn)過(guò)程中,采用留一交叉驗(yàn)證法對(duì)手勢(shì)進(jìn)行正確率的驗(yàn)證,從表2中可以看出,DL-HMM各手勢(shì)識(shí)別率均高于傳統(tǒng)的HMM方法,其中靜態(tài)手勢(shì)高出2%,動(dòng)態(tài)手勢(shì)高出1.93%;對(duì)于SVM,靜態(tài)手勢(shì)高出1.5%,動(dòng)態(tài)手勢(shì)高出1.15%;對(duì)于3DCNN,其中靜態(tài)手勢(shì)高出0.75%,動(dòng)態(tài)手勢(shì)高出0.86%;對(duì)于RNN,其中靜態(tài)手勢(shì)高出1.25%,動(dòng)態(tài)手勢(shì)高出1.14%。因此,DL-HMM有效地提高了手勢(shì)識(shí)別率。
2.2.3 手勢(shì)交互實(shí)驗(yàn)
該實(shí)驗(yàn)的目的是檢驗(yàn)手勢(shì)交互的效果與準(zhǔn)確性,并且將基于傳感器的手勢(shì)交互方法應(yīng)用到移動(dòng)端,實(shí)現(xiàn)對(duì)模型的操作。實(shí)驗(yàn)開(kāi)始后,打開(kāi)實(shí)現(xiàn)本文算法的應(yīng)用,并將標(biāo)識(shí)置于攝像頭的范圍內(nèi)。手機(jī)獲取到注冊(cè)到標(biāo)記上的模型,通過(guò)本算法,利用leapmotion對(duì)手勢(shì)的獲取,注冊(cè)到標(biāo)識(shí)位置的模型會(huì)產(chǎn)生相應(yīng)的動(dòng)作,實(shí)驗(yàn)結(jié)果,如圖3所示。
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)
圖3 手勢(shì)交互效果圖
圖3顯示了部分手勢(shì)與模型的交互過(guò)程,從中可以看出,當(dāng)右手五指自然伸展,手掌朝下靜止不動(dòng),模型狀態(tài)啟動(dòng),模型呈初始狀態(tài)如圖3(a)所示;當(dāng)右手手指朝前畫(huà)三角形,啟動(dòng)模型run動(dòng)作,如圖3(b)和(c)所示;當(dāng)右手手指朝前畫(huà)圓,啟動(dòng)模型walk動(dòng)作,如圖3(d)、(e)和(f)所示;當(dāng)右手手掌朝下向上揮動(dòng),模型啟動(dòng)模型jump動(dòng)作,如圖3(g)、(h)和(i)所示;當(dāng)右手手指朝畫(huà)“m”,啟動(dòng)模型damage動(dòng)作,如圖3(j)和(k)所示;當(dāng)右手握拳靜止不動(dòng),模型狀態(tài)關(guān)閉,模型停止動(dòng)作,如圖3(l)所示。
本文在移動(dòng)AR環(huán)境下提出了基于深度學(xué)習(xí)和隱馬爾可夫相結(jié)合的手勢(shì)識(shí)別算法實(shí)現(xiàn)了移動(dòng)端的動(dòng)態(tài)手勢(shì)識(shí)別和交互。實(shí)驗(yàn)表明,本文所提出的方法可有效地提高了手勢(shì)識(shí)別率,同時(shí),在交互實(shí)驗(yàn)中,通過(guò)采用leapmotion彌補(bǔ)了移動(dòng)終端缺少深度信息的弱點(diǎn),提升了交互的準(zhǔn)確性。通過(guò)引入手勢(shì)識(shí)別可有提升系統(tǒng)的執(zhí)行效率,提升了交互的體驗(yàn)感。由于移動(dòng)終端處理能力的限制,因此,為了保證手勢(shì)交互的執(zhí)行效率,我們采用工作站處理手勢(shì)信息,通過(guò)無(wú)線局域網(wǎng)交換手勢(shì)信息,降低移動(dòng)終端的負(fù)荷。
參考文獻(xiàn)
[1] 嚴(yán)焰, 劉蓉, 黃璐,等. 基于HMM的手勢(shì)識(shí)別研究[J]. 華中師范大學(xué)學(xué)報(bào)(自科版), 2012, 46(5):555-559.
[2] 李凱, 王永雄, 孫一品. 一種改進(jìn)的DTW動(dòng)態(tài)手勢(shì)識(shí)別方法[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2016, 37(7):1600-1603.
[3] 石曼銀. 一種基于SVM向量機(jī)的手勢(shì)識(shí)別算法[J]. 電子測(cè)試, 2013(16):24-25.
[4] 苗啟廣, 李宇楠, 徐昕. 基于3DCNN的大規(guī)模視頻手勢(shì)識(shí)別研究[J]. 中興通訊技術(shù), 2017, 23(4):9-13.
[5] Bengio Y, Guyon G, Dror V, et al. Deep learning of representations for unsupervised and transfer learning[J] Workshop on Unsupervised & Transfer Learning, 2012(7):1-20.
[6] Zhou N, Du J. Recognition of Social Touch Gestures Using 3D Convolutional Neural Networks[C]// Chinese Conference on Pattern Recognition. Springer Singapore, 2016:164-173.
[7] 易生, 梁華剛, 茹鋒. 基于多列深度3D卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)識(shí)別[J]. 計(jì)算機(jī)工程, 2017, 43(8):243-248.
[8] Rabiner L R. A tutorial on hidden Markov models and selected applications in speech recognition[J]. Readings in Speech Recognition, 1990, 77(2):267-296.
[9] Hinton G E, Osindero S, and Teh Y-W, “A fast learning algorithm for deep belief nets,”[J]. Neural computation, 2006,
[10] Torres-Valencia C A, García H F, Holguín G A, et al. Dynamic Hand Gesture Recognition Using Generalized Time Warping and Deep Belief Networks[C]// International Symposium on Visual Computing. Springer, Cham, 2015:682-691.