李為斌 劉 佳
(南京信息工程大學(xué)自動化學(xué)院 江蘇 南京 210044)
隨著計算視覺技術(shù)的迅速發(fā)展,傳統(tǒng)的人機交互技術(shù)(如鍵盤、鼠標等)逐漸無法滿足人們?nèi)粘;顒又械膽?yīng)用。許多研究工作致力于開發(fā)新的人機交互技術(shù),包括手勢識別、人臉識別、人體姿態(tài)識別[1]等。其中,手勢識別是人機交互中一種十分重要的交互方式,它主要由計算機通過視頻輸入設(shè)備(攝像頭等)對用戶手勢進行檢測、跟蹤與識別,從而理解人的意圖。魯棒的人手識別系統(tǒng)對手語識別、機器人控制、人機交互等多方面應(yīng)用的發(fā)展起到積極影響[2]。
在手勢識別技術(shù)發(fā)展初期,一些研究[3]使用數(shù)據(jù)手套等傳感器設(shè)備來直接檢測、獲取人手及其各個關(guān)節(jié)的空間信息,以便于精確地提取并識別出特定的手勢。一些學(xué)者將光學(xué)標識引入識別系統(tǒng)中以提高識別準確性,也取得了較好的效果[4]。數(shù)據(jù)手套和光學(xué)標識等外部設(shè)備雖然提高了識別的穩(wěn)定性和準確性,但在一定程度上掩蓋了手勢自然的表達方式。為了追求用戶更舒適的體驗,自然手勢識別技術(shù)逐漸成為當前研究的重心。然而,由于人手結(jié)構(gòu)的復(fù)雜性、手勢動作的多義性以及圖像獲取過程的模糊性,使得手勢識別成為了一個極具挑戰(zhàn)性的研究課題。
手勢一般可劃分為靜態(tài)手勢和動態(tài)手勢兩類,本文主要對近年來基于視覺的動態(tài)手勢識別研究進行綜述,著重于從手勢分割、手勢跟蹤、特征提取和識別算法四個方面進行梳理和歸納?;谝曈X的手勢識別系統(tǒng)基本流程如圖1所示。
手勢分割旨在將圖像中手勢區(qū)域和背景區(qū)域分離。手勢分割的結(jié)果在一定程度上會影響到手勢跟蹤、特征提取以及手勢識別的準確性。目前手勢分割技術(shù)主要受限于復(fù)雜的背景條件,如手勢距離視頻采集設(shè)備不一、光照條件變化頻繁等。另外手勢運動幅度較大也會影響到手勢分割的結(jié)果。常用的手勢分割方法可分為基于表現(xiàn)特征、基于運動信息、基于深度閾值和混合分割四類。
對于動態(tài)手勢識別,主要考慮的是手勢的運動而不是手勢的姿態(tài),計算復(fù)雜度應(yīng)盡可能低。因此,低層次的特征(如膚色、手形)往往是首選。膚色檢測是最常用的分割方法,它利用人手膚色和背景間的差異性以實現(xiàn)分割。膚色檢測的關(guān)鍵因素在于顏色空間的選擇。RGB顏色空間[5]在早期手勢分割研究中得到了廣泛的應(yīng)用,但其對光照條件敏感,且計算成本相對較高,學(xué)者們提出了幾種能更好地分離開色度和亮度分量的正交顏色空間,如HSV[6]、YCrCb[7]、Lab[8]等。在HSV中,顏色信息多由色調(diào)(Hue)分量和飽和度(Saturation)分量表示,通常不隨亮度(Value)分量變化而變化。在YCrCb內(nèi),Y表示圖像的亮度分量,Cr和Cb表示色度分量。膚色分割方法計算成本低,且對手勢的旋轉(zhuǎn)、部分遮擋和尺度變化具有一定的魯棒性,但它不能有效處理背景中類膚色的區(qū)域(如人臉、手臂)。
利用手形特征分割手勢是另一種簡單有效的方法。手勢輪廓能有效表示手的形狀,它可以通過邊緣檢測算子(如Canny、Sobel、Prewitt、Laplace等)獲得。與膚色檢測相比,輪廓特征不受光照變化和類膚色背景的干擾,但其有效性可能受到部分遮擋和視點變化的影響。綜上所述,膚色和手形特征在手勢分割應(yīng)用中各具優(yōu)勢,一些研究通過將它們結(jié)合起來以提高準確性[9-10]。
在某些特定的交互場景中,人手是唯一移動的對象,利用運動信息來檢測和分割手勢的方法是可行的。這一領(lǐng)域主要有背景差分法和光流法[11]兩類。背景差分法是指將圖像序列中的當前幀與預(yù)設(shè)的背景圖像進行比較來檢測運動的手勢。該方法檢測運動目標速度快,易于實現(xiàn),其關(guān)鍵在于背景圖像的選取。
光流法是一種基于像素的目標運動估計方法,它利用圖像序列中的像素強度數(shù)據(jù)的時域變化和相關(guān)性來確定各自像素位置的運動。與背景差分法相比,基于光流的分割算法無需預(yù)先保存背景圖像,它能在復(fù)雜環(huán)境下清晰地描述手勢的運動,具有較好的魯棒性,但在手勢有遮擋時分割效果不佳,且實時性較差。
隨著深度傳感技術(shù)迅速興起,基于深度相機的手勢識別的研究得到了更多的關(guān)注。與基于單目視覺的方法相比,其主要優(yōu)勢是,能夠有效地捕獲具有時空信息的深度圖像。深度圖像中每個像素點代表了在三維場景內(nèi)目標對象與攝像頭間的真實距離,這也為基于深度閾值的分割方法提供了可靠的理論依據(jù)。文獻[12]假設(shè)人手是距離視頻設(shè)備最近的對象,根據(jù)經(jīng)驗設(shè)置了一個深度值在0.8米至1米的閾值區(qū)間,通過將人手置于此區(qū)間內(nèi)以實現(xiàn)檢測和分割的目的。文獻[13]提出了一種動態(tài)閾值分割算法,首先利用NITE工具包來檢測手掌質(zhì)心并跟蹤,然后根據(jù)質(zhì)心的深度值設(shè)置一個動態(tài)閾值區(qū)間,依據(jù)此區(qū)間分割出動態(tài)手勢。上述兩種方法雖然簡單可行,但其缺陷在于無法精確地切除手臂區(qū)域。
針對手臂區(qū)域的分割問題,Ren等[14]建議在手腕處系一條黑色的絲帶,這是最簡單、穩(wěn)定的優(yōu)化方案,也在很多識別系統(tǒng)中得以應(yīng)用。Chen等[15]將手掌矩心記作圓心來繪制手掌的最大內(nèi)圓,在內(nèi)圓的像素點集合內(nèi),相距最遠的兩個連續(xù)像素點被記作手腕的兩個端點,最后根據(jù)手腕線完成手臂和手勢區(qū)域的分離。該方法具有較強的適用性和準確性,但計算復(fù)雜度略高,有待進一步優(yōu)化。
基于深度閾值的分割方法往往假設(shè)人手是最接近相機的對象,顯然此方案僅適用于非常有限的場景。Tao等[16]通過結(jié)合動態(tài)閾值和YCrCb顏色空間的方法進行手勢識別和分割,取得了較好的效果。Wen等[8]設(shè)計了一種基于深度信息的雙手識別系統(tǒng),它首先基于Lab顏色空間完成手勢的粗分割,然后使用K-means聚類算法進行手部聚類以進一步分割手勢區(qū)域。該方法能有效解決因雙手互相重疊而導(dǎo)致分割失敗的問題。綜上所述,通過利用彩色圖像和深度圖像的彼此優(yōu)勢,設(shè)計一種具有更高精度的分割算法是值得探究的。
手勢跟蹤在動態(tài)手勢的識別中起著關(guān)鍵的作用,其主要目的是確定視頻序列中人手的運動軌跡。目前手勢跟蹤算法主要分為三類:基于生成模型、基于判別模型和基于混合模型的跟蹤方法。
生成模型方法通過在線學(xué)習(xí)方式建立目標模型,然后使用模型搜索重建誤差最小的圖像區(qū)域,完成目標定位。使用生成模型跟蹤手勢時,首先需要對當前幀中的手勢區(qū)域進行建模,然后在下一幀中尋找與該模型最相似的區(qū)域就是預(yù)測位置。生成模型以統(tǒng)計學(xué)和貝葉斯為理論基礎(chǔ),一般涉及的算法有連續(xù)自適應(yīng)均值漂移(Camshift)算法、卡爾曼濾波(Kalman Filter)、粒子濾波(Particle Filter)等。
2.1.1Camshift算法
Camshift算法是一種以顏色概率分布圖為基礎(chǔ)的目標跟蹤算法。文獻[17]使用Camshift算法和HSV顏色空間來跟蹤手勢,其具體跟蹤過程是:首先初始化一個搜索窗口,并計算色度分量概率分布;然后使用meanshift算法調(diào)整搜索窗口的中心位置和大小;隨后再將當前幀迭代得到的搜索窗口用作下一幀搜索窗口的初始值,如此反復(fù)直至收斂。該方法具有低復(fù)雜性和較高的實用性,但在更復(fù)雜的場景中它的魯棒性不穩(wěn)定。例如包含手臂區(qū)域的圖像,由于手臂具有和手勢相似的顏色概率分布,會導(dǎo)致搜索窗口漂移。為了解決這一問題,Yang等[18]尋找并計算了一個手部深度優(yōu)化概率,然后將其與Camshift算法進行結(jié)合,通過實時更新直方圖以確保手部跟蹤的準確性。
2.1.2卡爾曼濾波
卡爾曼濾波是一種能夠?qū)δ繕宋恢眠M行有效預(yù)測的算法。當目標的運動滿足高斯模型時,對其運動狀態(tài)進行預(yù)測,并與觀察模型進行對比,根據(jù)誤差來更新運動目標的狀態(tài)。Park等[19]將狀態(tài)方程設(shè)為三個維度,在各個維度上使用三維向量作為在軸上的速度,并應(yīng)用卡爾曼濾波算法逐幀預(yù)測手掌質(zhì)心及其周圍參考點。該方法能適應(yīng)人手運動速度的連續(xù)變化,跟蹤效果較好。Yeo等[20]利用卡爾曼濾波以消除不穩(wěn)定的噪聲來估計和細化最優(yōu)位置。該方法能夠使手部的位置或軌跡變得更加平滑且跳動更小,更適合控制應(yīng)用程序。
基于卡爾曼濾波的跟蹤算法具有實時性好、無偏和最優(yōu)的特點,能有效地解決手勢部分遮擋和跟蹤丟失的問題,但缺點是僅適合于線性系統(tǒng),適用范圍小。為了解決這一問題,學(xué)者們提出了粒子濾波算法。
2.1.3粒子濾波
粒子濾波算法源于蒙特卡洛方法,其核心思想是利用隨機搜索以獲得目標的后驗分布的估計。粒子濾波往往將跟蹤問題視為狀態(tài)估計問題。目前粒子濾波算法大多被用于跟蹤手掌質(zhì)心或手指的空間坐標,在跟蹤過程中,通過使用一組隨機采樣粒子對目標的位置進行建模。文獻[21]設(shè)計的跟蹤算法可分為基于圖像的二維位置跟蹤和一維深度跟蹤兩部分。通過將盡可能多的處理放在二維空間中以實現(xiàn)更快的跟蹤,指尖點三維坐標則通過合并可用的深度信息來獲得。相較于文獻[22]中三維跟蹤方法,該算法的跟蹤精度和穩(wěn)定性更優(yōu)異。
在嘈雜環(huán)境中,粒子濾波的魯棒性優(yōu)于卡爾曼濾波,但其也存在粒子退化現(xiàn)象。許多研究者嘗試將粒子濾波與其他算法結(jié)合起來,解決樣本退化問題[23]。
判別模型方法通常將手勢跟蹤視作二分類問題,它同時提取手勢和背景信息用來訓(xùn)練分類器,將手勢從圖像序列背景中分離出來,從而得到當前幀的手勢位置。目前判別模型在手勢跟蹤中應(yīng)用較多。
Keskin等[24]提出了一種利用多層隨機決策樹預(yù)測手部關(guān)節(jié)位置的方法,其主要思想是通過聚類將手勢數(shù)據(jù)集劃分為更簡單的子集,然后為每個子集訓(xùn)練單獨的手勢估計器。
文獻[25]提出了一種用于無標記復(fù)雜關(guān)節(jié)實時連續(xù)手勢恢復(fù)的跟蹤算法,主要包括以下階段:用于圖像分割的隨機決策樹分類器、用于標記數(shù)據(jù)集生成的魯棒方法、用于特征提取的卷積神經(jīng)網(wǎng)絡(luò)以及用于穩(wěn)定實時手勢恢復(fù)的逆運動學(xué)算法。
文獻[26]提出了一種基于多視圖卷積神經(jīng)網(wǎng)絡(luò)的三維回歸方法,它首先將深度圖像點云投影到三個正交平面上,然后為每個投影圖像生成一組手關(guān)節(jié)的熱圖,最后將三組熱圖與預(yù)先學(xué)習(xí)的手勢先驗相融合以得到三維關(guān)節(jié)位置。
判別模型方法一般具有較好的穩(wěn)健性,但其缺乏模型擬合中固有的準確性。生成模型方法在初始化時可能會依賴于前一幀,這使得從錯誤中恢復(fù)變得更具挑戰(zhàn)性。混合模型通過結(jié)合判別模型方法和生成模型方法來提高相鄰幀的模型擬合的魯棒性。
文獻[27]提出使用一種混合方法跟蹤人手的關(guān)節(jié)三維運動,其中,判別模型方法采用基于部分的姿勢檢索算法,通過檢測深度圖像中的指尖來估計完整或部分手勢;生成模型方法則使用顏色信息和特定手勢模型來預(yù)測最佳的手勢位置。
文獻[28]設(shè)計了一種判別估計器用以預(yù)測手勢的分布,并從該分布中提取不同的手勢假設(shè);然后通過結(jié)合粒子群優(yōu)化算法和遺傳算法來檢測三維手勢模型和觀察圖像之間的重建誤差;最后將誤差最小的結(jié)果輸出。該方法具有較好的魯棒性,且在目標跟蹤丟失后能確保快速恢復(fù)跟蹤。
Mueller等[29]使用兩個卷積神經(jīng)網(wǎng)絡(luò)實時定位和估計人手的3D關(guān)節(jié)位置。該方法在SynthHands數(shù)據(jù)集和EgoDexter基準數(shù)據(jù)集上測試,結(jié)果表明它在目標遮擋、背景變化等環(huán)境中能實現(xiàn)低誤差。
表1列舉了近幾年主流的動態(tài)手勢的跟蹤算法。
表1 動態(tài)手勢跟蹤算法及跟蹤對象
特征提取是將輸入樣本中感興趣區(qū)域轉(zhuǎn)換為特征向量的集合。在手勢識別中,提取的特征應(yīng)包含待測手勢的相關(guān)信息,并以緊湊的形式表示,作為該手勢的標識,將其與其他手勢區(qū)分開來。結(jié)合現(xiàn)有的多數(shù)文獻來看,動態(tài)手勢特征主要包括全局特征、局部特征和融合特征。
全局特征通常用于表示圖像序列的整體屬性,可以通過運動歷史圖、運動能量圖、時空形狀等加以描述。Ren等[30]在陸地移動距離算法(Earth Mover’s Distance,EMD)基礎(chǔ)上設(shè)計了一種手指陸地移動距離(FEMD)算法。相比于其他距離度量方法,該算法僅考慮手指的外輪廓而不包括手掌區(qū)域,它通過一組記錄著每個輪廓頂點到手掌中心點之間相對距離的時間序列曲線來表示手部輪廓,其中每個手指對應(yīng)于曲線的某一段。文獻[31]提出超像素陸地移動距離(SPEMD)算法來度量不同手勢間的差異性,其中手形和紋理信息以超像素的形式進行描述。該方法對手勢的旋轉(zhuǎn)、平移和縮放都有一定的魯棒性。文獻[32]通過組合指尖到手掌質(zhì)心的距離、手形邊緣曲率特征以提高識別準確率,但也導(dǎo)致其特征維數(shù)較高,實時性受到影響。
這類特征通過提取圖像序列中能有效地表征動態(tài)手勢的局部特征點,再對這些特征點的各種屬性進行統(tǒng)計建模,實現(xiàn)對動態(tài)手勢的描述。文獻[33]提出了HON4G(Histogram of Oriented 4D Normals)描述符來描述深度序列,該描述符使用了時間、深度和空間坐標的4D空間中的表面法線方向直方圖來捕獲運動和幾何數(shù)據(jù)。在MSR Gesture 3D數(shù)據(jù)集上測試,實驗結(jié)果驗證了該描述子的優(yōu)越性。
文獻[34]提出了一種改進的三維局部稀疏運動尺度不變特征變換(3D SMoSIFT)特征描述子。首先為每個灰度幀和深度幀構(gòu)建金字塔作為尺度空間,然后使用角點檢測算法和稀疏光流法快速檢測和跟蹤尺度空間中動態(tài)手勢周圍的魯棒關(guān)鍵點,再基于這些關(guān)鍵點構(gòu)建三維梯度和運動空間,最后分別在兩個空間上計算SIFT描述符。在Chalearn手勢數(shù)據(jù)集的評估結(jié)果表明,該特征能明顯提高識別精度。
文獻[35]提出了三維面片直方圖(Histogram of 3D facets,H3DF)特征描述符來有效捕獲和編碼三維形狀信息。首先將三維云點及其周圍點定義為三維面,其中每個面均由小平面建模,然后使用空間中心池策略來組織小平面的集合以描述感興趣區(qū)域,形成最終的H3DF描述符。
對于某些特定手勢,單一特征通常能給出優(yōu)異的識別結(jié)果,但其適用范圍小,且穩(wěn)定性一般。為了提高穩(wěn)定性和適用性,學(xué)者們考慮了將多個特征相融合的方案。Monnier等[36]首先從每個視頻幀中提取歸一化骨架關(guān)節(jié)位置和HOG特征,以產(chǎn)生相應(yīng)的多維描述符序列,然后對這些特征描述符進行插值以確定其固定寬度,最后合并該序列中的特征形成最終描述符。Liang等[37]提出了一種融合全局特征運動能量圖和局部特征梯度直方圖來識別手勢的方法。首先將歸一化的運動能量矢量分割為一組分段,并利用相應(yīng)的幀索引將深度視頻分割成一組網(wǎng)格;然后使用HOG特征從深度序列中提取手勢的局部紋理信息和運動信息。
識別算法是手勢識別研究中最后但最重要的一步,當前主流的識別算法包括基于模板匹配的方法、基于數(shù)據(jù)分類的方法和基于深度學(xué)習(xí)的方法。動態(tài)時間規(guī)整算法(Dynamic Time Warping,DTW)是最常用的模板匹配方法;數(shù)據(jù)分類方法中應(yīng)用較為廣泛的有支持向量機(Support Vector Machine,SVM)、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)、隱馬爾可夫模型(Hidden Markov Model,HMM)等;深度學(xué)習(xí)方法有卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)。
DTW算法是一種基于動態(tài)規(guī)劃思想的非線性規(guī)整方法,它利用規(guī)整函數(shù)描述待測模板和參考模板的時間對應(yīng)關(guān)系,以求解出兩個時間序列的相似度。使用DTW算法識別手勢時,需預(yù)先記錄一系列參考模板,然后匹配并計算待測手勢和參考模板間的相似度,將其中相似度最高的模板手勢記作識別結(jié)果。DTW算法具有訓(xùn)練樣本需求少、精度高等特點。Plouffe等[38]利用DTW算法識別動態(tài)手勢,識別精度達到96.25%。
然而,DTW算法受限于計算復(fù)雜度高、穩(wěn)定性差等問題,尤其是在復(fù)雜手勢、訓(xùn)練樣本數(shù)量較多等情況下。因此,涌現(xiàn)了很多優(yōu)化原始DTW算法的研究,如Ruan等[39]針對搜索路徑和匹配過程兩個方面進行改進,通過全局約束算法將搜索路徑斜率約束至[1/2,2]區(qū)間內(nèi),再利用失真閾值算法實時地控制待測手勢與參考手勢匹配的過程。經(jīng)測試,該方法能顯著地減少計算復(fù)雜度,提高識別效率。
支持向量機是一種基于統(tǒng)計學(xué)習(xí)理論的有監(jiān)督的學(xué)習(xí)模型,其基本原理是利用在樣本空間或特征空間求出最優(yōu)超平面,使小同類樣本集與超平面之間的距離最大。Huang等[40]提出了一種基于Gabor濾波器和SVM分類器的手勢識別方法。該方法通過使用自適應(yīng)膚色模型以克服光照變化對手部檢測的干擾,并采用基于Gabor濾波器的手勢角度估計和校正方法實現(xiàn)對手勢變化的魯棒。Dardas等[41]利用SIFT描述符提取圖像中的關(guān)鍵點,并使用K-means聚類算法和矢量量化算法將這些關(guān)鍵點映射為直方圖向量,將該直方圖作為多類SVM的輸入向量以構(gòu)建手勢分類器。在可變尺度、方向和光照條件以及復(fù)雜背景等情況,該方法都能達到令人滿意的實時性能,分類精度達到96.23%。
人工神經(jīng)網(wǎng)絡(luò)是受生物神經(jīng)網(wǎng)絡(luò)啟發(fā)的一類信息處理模型,它由許多相互連接的并行神經(jīng)元組成。人工神經(jīng)網(wǎng)絡(luò)的模型種類繁多,對于不同的需求可衍生出不同的結(jié)構(gòu),目前誤差反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)應(yīng)用較為廣泛。Hasan等[42]提取了手部輪廓和復(fù)數(shù)矩來表征手勢,并使用BPNN對兩類特征進行訓(xùn)練,識別正確率分別達到70.83%和86.38%。文獻[43]使用量子粒子群算法對BPNN進行優(yōu)化,很大程度上解決了其收斂速度慢、局部極小化導(dǎo)致網(wǎng)絡(luò)訓(xùn)練失敗等問題,提高了識別效率和穩(wěn)定性。
Tusor等[44]利用模糊神經(jīng)網(wǎng)絡(luò)(Fuzzy Neural Network,FNN)建立了模糊手勢模型,并設(shè)置了14個取值介于“大”、“中”和“小”的模糊特征值用于描述和區(qū)分不同的手勢。文獻[45]提出一種自成長和自組織神經(jīng)氣(Self-Growing and Self-Organized Neural Gas,SGONG)網(wǎng)絡(luò),該網(wǎng)絡(luò)通過擬合人手形狀提取出有效的特征。該特征對手勢的尺度和旋轉(zhuǎn)變化不敏感。此外,該網(wǎng)絡(luò)的收斂速度也比其他網(wǎng)絡(luò)更快。
隱馬爾可夫模型是一種典型的概率統(tǒng)計模型,通常用于描述具有隱藏狀態(tài)的馬爾可夫過程。HMM能有效地捕獲時序中的相關(guān)性。由于手勢動作是一個時間序列,因此HMM在手勢識別領(lǐng)域中得到了廣泛的應(yīng)用。使用HMM識別動態(tài)手勢時,需預(yù)先為每個手勢訓(xùn)練一個單獨HMM模型,然后求解每個HMM模型產(chǎn)生待測手勢的概率,概率最大的HMM模型對應(yīng)的手勢就是識別結(jié)果。
文獻[46]選用字母軌跡的運動角度作為手勢的特征向量,并利用左右拓撲結(jié)構(gòu)的HMM對23個預(yù)設(shè)字母軌跡進行識別,識別準確率達到91.6%。一些研究將HMM與其他分類器相結(jié)合,如文獻[47]利用AdaBoost分類器檢測用戶的手部,再使用粒子濾波進行跟蹤,最后基于HMM完成手勢識別。該方法在識別精度方面有著顯著提升,但計算復(fù)雜度極大,無法滿足實時性的要求。
深度學(xué)習(xí)是近年來最受學(xué)者們關(guān)注的研究領(lǐng)域之一,如今已成為大數(shù)據(jù)和人工智能相結(jié)合最成功的典型。深度學(xué)習(xí)是一種非監(jiān)督學(xué)習(xí),它不僅能自動提取圖像中的特征,還能夠自動學(xué)習(xí)更高層次的特征,這克服了人工提取特征的主觀性和局限性。根據(jù)時間維度處理方式不同,可將基于深度學(xué)習(xí)的手勢識別方法分為卷積神經(jīng)網(wǎng)絡(luò)、三維卷積神經(jīng)網(wǎng)絡(luò)(3DCNN)和序列模型。
4.5.1CNN
CNN又稱為二維卷積神經(jīng)網(wǎng)絡(luò)(2DCNN),是深度學(xué)習(xí)中最基礎(chǔ)的網(wǎng)絡(luò)結(jié)構(gòu)之一,通常由卷積層、池化層和全連接層組成。目前CNN已經(jīng)在人臉識別、目標檢測等領(lǐng)域取得了極大的成功,在手勢識別領(lǐng)域也迅速興起。Neverova等[48]開發(fā)了一種手部姿勢估計的深度學(xué)習(xí)模型,該模型關(guān)鍵之處是通過將人手分割成不同的部分來將結(jié)構(gòu)信息編碼至訓(xùn)練目標中。Oyedotun和Khashman[49]使用CNN和堆疊去噪自動編碼器來識別24種美國手語手勢,在公共數(shù)據(jù)集上取得91.33%的識別率。2DCNN主要提取圖像序列中的空間特征,很少涉及到時間維度信息,因此多用于靜態(tài)手勢的分類應(yīng)用中。
4.5.23DCNN
與2DCNN相比,3DCNN可以保持時間結(jié)構(gòu)的同時,還能有效地捕獲時空維度上的判別特征。目前一些3DCNN已經(jīng)被提出并應(yīng)用于手勢識別中,其中值得關(guān)注的是,Molchanov等[50]提出了一種基于深度和強度數(shù)據(jù)的駕駛員手勢識別的3DCNN,該方法為歸一化的深度和強度數(shù)據(jù)分別訓(xùn)練了兩個獨立的子網(wǎng)絡(luò),通過將兩個網(wǎng)絡(luò)輸出結(jié)果進行融合以實現(xiàn)最終預(yù)測。此外,為了避免訓(xùn)練樣本集相似度較高而導(dǎo)致的過擬合問題,還采用了時空數(shù)據(jù)增強技術(shù)來改變手勢的輸入體積。在VIVA數(shù)據(jù)集測試下,該系統(tǒng)的分類率達到了77.5%。文獻[51]設(shè)計了一種以多種數(shù)據(jù)類型為輸入的3DCNN,該結(jié)構(gòu)通過對相鄰視頻幀進行卷積和子采樣,以實現(xiàn)顏色信息、深度信息以及人體骨骼信息的融合。
4.5.3序列模型
近幾年,一些學(xué)者采用將CNN(或3DCNN)與序列模型相結(jié)合的方式來識別動態(tài)手勢,其基本原理是利用序列模型的結(jié)構(gòu)特性來處理時間維度信息。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是最常用的序列模型之一,它能利用隱藏層中的循環(huán)結(jié)構(gòu)來處理時間數(shù)據(jù)。Molchanov等[52]利用循環(huán)機制對文獻[50]中的3DCNN進行了擴展,提出了一種循環(huán)三維卷積神經(jīng)網(wǎng)絡(luò)(R3DCNN)。該網(wǎng)絡(luò)首先利用3DCNN提取視頻序列中局部時空特征,然后將這些特征輸入到RNN中,最后在Softmax層中預(yù)測待測手勢概率。
長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是一類特殊的RNN,它能解決RNN內(nèi)存不足的問題,多被用作RNN的隱藏層。為了利用手部骨骼關(guān)鍵點的三維數(shù)據(jù)序列來解決手勢識別問題,文獻[53]介紹了一種結(jié)合3DCNN和LSTM循環(huán)網(wǎng)絡(luò)的動態(tài)手勢識別方法。其中,3DCNN主要用于檢測與骨骼關(guān)節(jié)位置相關(guān)的空間特征,LSTM循環(huán)網(wǎng)絡(luò)則考慮序列的時間演化。該方法在六種基準數(shù)據(jù)集上進行了實驗,結(jié)果表明其在小數(shù)據(jù)集的性能最佳。
綜上所述,目前常用的手勢識別方法都有其自身的優(yōu)缺點,為了便于選擇和應(yīng)用,有必要對其優(yōu)缺點進行比較和總結(jié)。表2對不同的手勢識別方法進行了詳細的對比。
表2 常用的手勢識別算法比較
視覺手勢識別技術(shù)的發(fā)展給人機交互帶來了一種全新的方式,用戶與計算機之間只需徒手便能完成交互功能,這讓用戶成功擺脫了數(shù)據(jù)手套和光學(xué)標識等外部設(shè)備的束縛,從而提高了人機交互的靈活性和自然性。從最初的手語識別應(yīng)用,到后來體感游戲的創(chuàng)新,手勢識別技術(shù)正日趨成熟,時至今日手勢識別與其他領(lǐng)域也有著密切的結(jié)合,主要包括醫(yī)療輔助、智能汽車和機器人。
1) 醫(yī)療系統(tǒng)。在傳統(tǒng)外科手術(shù)中,醫(yī)生使用鍵盤或觸摸屏等設(shè)備操控計算機以查閱病例資料,該方式不能保證環(huán)境無菌,而手勢識別系統(tǒng)則可以幫助醫(yī)生直接使用手勢控制計算機,極大提高了手術(shù)安全性和效率。倫敦圣托馬斯醫(yī)院和多倫多森尼布魯克醫(yī)院[54-55]是該領(lǐng)域的先驅(qū)者,他們已成功將手勢識別技術(shù)應(yīng)用于醫(yī)療實踐中。
2) 車載系統(tǒng)。自2013年谷歌宣布研發(fā)利用手勢控制汽車的技術(shù)至今,手勢識別融合車載系統(tǒng)的方案得到了越來越多廠商的關(guān)注。2015年,寶馬推出了首款搭載著手勢控制功能的智能車,它支持通過手勢實現(xiàn)接聽電話、控制音量和縮放導(dǎo)航地圖等功能。此外,奧迪、福特、谷歌等車企也接連展示過同類型的概念車。
3) 機器人控制。對于新興的社交機器人而言,能夠通過理解用戶手勢來實現(xiàn)人機互動是極其重要的。Fischinger等[56]發(fā)布了一款護理機器人Hobbit,為了便于老年人與機器人的日常交互,他新增了一個3D手勢界面。深圳優(yōu)必選科技公司推出的多款智能機器人都支持客戶利用自然手勢完成資料查閱、音樂播放和日程提醒等功能。
盡管已經(jīng)取得了這么多令人欣喜的進展,但手勢識別研究仍然是一個較為新興的領(lǐng)域,今后其發(fā)展將呈現(xiàn)以下趨勢:
1) 智能學(xué)習(xí)算法的研究。目前,大多數(shù)手勢識別系統(tǒng)仍需經(jīng)歷模型訓(xùn)練的階段,這一過程通常需要大量的訓(xùn)練樣本,同時耗費大量的時間。智能學(xué)習(xí)算法旨在讓計算機通過“在線學(xué)習(xí)”的方式對用戶執(zhí)行的手勢動作示范進行學(xué)習(xí)和記憶,而無需額外的訓(xùn)練操作,從而顯著地提高識別效率。
2) 多個深度攝像頭的融合。不同于普通攝像頭,Kinect和Leap motion等新型的深度攝像頭能直接獲取豐富的手勢信息,從而用于精確的手勢識別。此前大多數(shù)研究者通過單獨使用Kinect或Leap motion進行研究,并取得了較好的結(jié)果。通過將多個深度攝像頭進行融合以設(shè)計出具有更高精度與穩(wěn)定性的識別系統(tǒng),是該領(lǐng)域中一個值得研究的潛在方向。
3) 現(xiàn)有的大多數(shù)手勢識別系統(tǒng)無法同時識別多個用戶執(zhí)行的手勢。與識別單一用戶手勢不同,這類問題需要考慮到不同手勢特征的提取以及手勢模型的構(gòu)建。此外,由于個人習(xí)慣、熟練度和時間的不同,不同用戶執(zhí)行特定的手勢也是不同的。因此,開發(fā)一種考慮這些個體差異的多用戶手勢識別技術(shù),是該領(lǐng)域的另一個未來研究方向。