蔡 旻 高涵文 李華一 陶重犇
1(蘇州科技大學天平學院 江蘇 蘇州 215009) 2(蘇州科技大學電子與信息工程學院 江蘇 蘇州 215009)
隨著對直觀、簡單的人機交互需求的持續增長,近年來手勢識別研究領域受到越來越多的關注。手勢識別系統主要分為兩類:基于數據手套的手勢識別[1]和基于計算機視覺的手勢識別[2]。前者需要戴上數據手套,通過數據手套將用戶的手勢信息傳遞給計算機,如李秀艷等[3]提出了一種基于深度學習的可穿戴手套進行動態手勢系列識別的方法。該方法雖然定位準確,處理方法快,但是需要人們佩戴特定的設備,影響了人們的活動自由。為了滿足手勢識別的自然性與易操作性,本文利用Kinect獲取人手臂的位置,然后利用深度信息分割出人手臂的區域,硬件部分簡單且成本低廉,使用起來也自然簡便。
基于計算機視覺的手勢識別主要有基于膚色模型[4-5]和基于分類學習[6-7]的兩種識別方法。本文提出的手勢識別方法屬于分類學習的范疇,主要運用HMM、Adaboost學習等算法結合SIFT等特征進行識別。例如,馬杰等[8]提出密集卷積與空間轉換網絡相融合的識別方法,該方法需采集大量樣本、訓練時間長、效率低;楊學文等[9]綜合手勢主方向和類-豪斯多夫距離模板匹配法,較好地解決了手勢發生形變時識別率較低的問題。但在傳統的手勢識別中,基本都是采用人工提取特征的方式,這樣有一定的主觀性和局限性。而卷積神經網絡(CNN)可自動提取圖像中的有用信息并學習,在一定程度上解決了這個問題。CNN雖然克服了人工提取特征的主觀性和局限性,提高了識別率,但是網絡模型對形變手勢的魯棒性仍然不足。針對此問題,本文提出了一種基于CRF和HMM混合模型的手勢識別方法來提高手勢識別的魯棒性。
HMM是用來描述具有隱式未知參數的馬爾可夫過程,其原理是從可觀察的參數中確定該過程的隱含參數。一方面,每個觀察狀態僅取決于當前的隱藏狀態,并且每個隱藏狀態僅取決于先前的狀態。然后,通過HMM的解碼問題,使用維特比算法來確定給定的觀察序列的最有可能的隱藏狀態序列。另一方面,HMM使用高斯混合模型(GMM)來模擬數據分布。當訓練數據太少時,GMM的建模能力就會變得很差,這是HMM的一個主要缺點。然而,利用判別模型,比如條件隨機場(CRF)[10],就可以彌補這個缺點。
CRF模型會對標記序列的決策過程進行建模。因此,它考慮了特定標簽序列的后驗概率。與HMM類似,在每個時間步驟中,一個標簽取決于前一個標簽。但不同的是其也可能取決于整個觀察序列,并不要求觀察數據的條件獨立性。與HMM相反,CRF無法模擬行為模型。由于CRF是順序過程中的局部分類器,為了保證其結構標注的一致性,必須在后期處理中引入高層次的知識作為過濾的附加條件。然而,HMM的生成框架卻具有處理高級結構化信息的能力。
通過上述對于CRF和HMM優缺點的比較,本文發現兩者之間有一定的互補性。本文研究將這兩個模型結合在一個混合框架中,提出一種將CRF的判別能力與HMM的建模能力相結合的CRF和HMM混合模型方法。圖1顯示了所提出的混合模型。判別式CRF階段提供了輸入到HMM階段的局部類后驗概率,其解釋了關于標簽序列的更多全局約束。假設:一個標簽是yt,觀察值為xt。當CRF用于手勢識別任務時,這個特征向量將被量化為多個區間。序列幀的數量記為T;Y分別表示y1:T和x1:T;X、Xd表示量化的特征向量。

圖1 CRF和HMM混合模型
如圖1所示,觀察序列X和狀態序列y1:T的HMM聯合概率p(y1:T,x1:T)是使用CRF局部后驗概率p(yt|xt)計算。
根據這個模型,HMM概率p(y1:T,x1:T)取決于使用CRF計算的后驗概率:
(1)
在標準HMM中,p(xt|yt)是一種高斯混合概率。在本文的新模型中,這種分布將在某種程度上被CRF計算的分類分布p(yt|xt)所取代。因此,p(xt|yt)是根據CRF算法中的貝葉斯規則從p(yt|xt)計算得到的:
(2)
由于每個手勢類都被認為具有同等的可能性,因此對于?t∈N,p(yt)是一個常數。解碼過程的目的是找到使p(y1:T,x1:T)最大化的隱藏狀態序列y1:T。由于觀察概率p(xt)與時間無關,所以p(xt)與p(xt|yt)的最大化無關。因此,p(xt|yt)的最大化轉向了p(yt|xt)的最大化。鑒于CRF能夠計算每個類的后驗,假設p(yt|xt)=p(yt|x1:T)=p(yt|X)?p(yt|Xd)。在CRF中使用向前-向后(Baum-Welch)算法計算,其中正向概率αt和反向概率βt使用以下遞歸計算:
(3)
(4)
(5)
式中:si、sj是屬于S的隱藏狀態;ol是屬于O的觀察值。最后,按照向前-向后算法計算,如下:
(6)
(7)
本文對HMM和CRF進行單獨的訓練,如圖2所示。在第一個階段,HMM使用標準的Baum-Welch算法進行訓練,這意味著目標函數是有全局手勢模型的可能性。對每個手勢類分別學習轉換概率矩陣,并將其聚集到一個全局模型中,用于解碼手勢序列。

圖2 CRF和HMM混合模型訓練和解碼流程圖
在第二階段,使用LBFGS算法訓練CRF。由于CRF不能像HMM這樣進行訓練,所以這個訓練階段的目標函數是局部框架級狀態后驗。由此可見局部幀級標簽是必要的。因此,本文引入了一個框架級標簽階段。在第二個訓練階段,CRF學習所有手勢的單個模型,考慮到模型中的子類和子手勢一樣多,子手勢的數量等于HMM手勢模型中的狀態數。
要識別的手勢序列可能以任意順序包含任意數量的手勢,因此,模型應該在手勢模型之間均勻切換。這可以通過在全局序列模型中收集所有的手勢模型來建模,如圖3所示。在這個模型中,每一行都代表一個孤立的具有可變狀態數的區間數。該全局模型允許用等概率手勢轉換概率描述任意手勢序列。

圖3 基于HMM的手勢序列識別模型
為了對特征空間進行建模,HMM依賴于學習數據庫中估計的高斯混合。在考慮樣本數量非常小的情況下,高斯分布p(xt|yt)的參數很難估計,特別是方差。因此,本文首先將這種高斯混合限制為每個手勢類為一個高斯函數,其次,計算每個手勢類的方差,以增加數據量來提高估計,從而使每個手勢類都有相同的方差。
CRF方法的初始形式在數學上可以處理離散或連續特征。然而,由于CRF分類階段來源于邏輯回歸,所以它相比于連續特征更適合于離散特征。實際上,在遷移學習領域,連續特征離散化所導致的信息丟失在用單個例子訓練CRF時可能會產生正則化效果。特征量化還允許有效地調整與每個離散特征值關聯的參數。雖然量化涉及到信息的丟失,但是大量特性的集成允許捕獲整個手勢的全局表示。因此,本文將使用特征量化過程。
通過將每個連續特征映射為Nq離散特征的統一標量來實現量化,符合以下方程:
Q:[-Vmax,Vmax]→[-Nq,Nq]

(8)
本文對Nq值進行了一定的調整,以便在驗證過程中獲得最佳的識別性能。最終發現Nq=16是最佳值。
相比于標準的HMM,本文混合結構的HMM是由描述每個手勢的狀態構成的。雖然可以通過狀態自動轉換對手勢持續時間進行建模,但通過設置每個手勢的狀態數目可變,可以更好地實現建模。本文通過實驗驗證了這種想法在每個手勢的狀態數固定的情況下比相同系統的性能更好。每個手勢i的狀態數取決于它的幀長fg(i),那么每個狀態的幀數記為fs。Ne(i)=fg(i)/fs表示一個手勢模型i的狀態數。由此可知,將數據模型限制為每個狀態只有一個高斯分布。
混合模型的CRF部分具有標準的線性結構,CRF訓練使得由一個單獨的模型就可以來區分數據集的所有手勢。為了使系統適應手勢持續時間的變化,本文選擇了觀測窗口w0的可變尺寸fw,如式(9)所示。在學習數據庫上對fw進行統計估計。為了避免過度擬合,正則化參數根據經驗調整為1.5。
(9)
為了能夠準確地識別動態手勢,本文定義了一組14個手勢用于實驗,如圖4所示。在識別階段,首先利用Kinect感應器來提取圖像特征和深度信息。其次,由特征提取算法提取出圖像中人體的骨架節點,并利用該信息來創建人體骨架模型。然后,將人體的骨架節點和人體骨架的關節角度信息保存到一個緩沖區。最后,由CRF和HMM混合模型通過訓練和解碼來識別手勢序列。

圖4 利用Kinect識別的人體手勢模型
具體算法步驟如下:
步驟1將所有手勢類視頻進行特征提取到特征文件,使用Bawm-Welch算法進行訓練。對每個手勢類分別學習轉移概率矩陣,并將其聚類到一個全局模型用于解碼手勢序列。
步驟2使用LBFGS算法訓練CRF。這個訓練階段的目標函數是局部框架級狀態后驗概率。
步驟3將所有測試序列視頻特征提取至特征文件,用Bawm-Welch算法對CRF進行解碼。對每個測試序列分別學習后驗概率矩陣,并將其聚類到一個全局模型中,用于解碼手勢序列。
步驟4將HMM的轉移概率和CRF的后驗概率聚類到的一個全局模型,并進行維特比測試數據解碼,從而得到手勢序列。
圖5顯示了調整后的HMM模型(上曲線),CRF和HMM混合模型(下曲線)對每個狀態fs的幀數的識別誤差L。這些系統針對fs的每個值進行了訓練??梢杂^察到,HMM和CRF混合模型的性能優于HMM模型,并且HMM和CRF混合模型顯示出了穩定的結果,而HMM性能卻是不穩定的。

圖5 混合模型、HMM模型幀數變化的對比圖
圖6給出了兩個HMM模型(左圖)和兩個CRF和HMM混合模型(右圖)的每個狀態幀數fs的誤差L的變化。每一對系統都用兩個不同的特征向量進行評估。

(a) HMM (b) 混合模型圖6 HMM和混合模型對特征向量變化的魯棒性
當特征向量大小減小時,CRF和HMM混合模型的性能幾乎保持不變。也就是說,對于CRF和HMM混合模型,最小的特性就足夠了,而對于標準的HMM來說,需要添加特性才能大大提高識別性能。這種減少特征數的識別能力使特征提取任務更容易,速度也更快。
圖7分別得到了HMM模型,CRF和HMM混合模型的兩種不同的訓練結果。從圖7(c)可以看出CRF和HMM混合模型達到了預期目標,即使出現了如圖7(a)中橢圓標出的多處離散性錯誤,但在手勢檢測時并未產生錯誤。而圖7(d)中雖然迭代了多達180次,但仍然未能實現預期目標。在圖7(b)中用橢圓標出部分表示存在連續性錯誤,從而導致了在圖7(b)中的真實輸出出現了手勢檢測錯誤。因此,當性能曲線未達到標準時,HMM模型無法滿足識別精度要求。

(a) 混合模型準確檢測手勢 (b) HMM錯誤檢測手勢

(c) 迭代實現目標 (d) 迭代未實現目標圖7 兩種方法的手勢檢測結果比較
通過上述CRF和HMM混合模型的魯棒性實驗證明了在一個簡單的系統中,通過對CRF和HMM融合模型的優點組合和缺點補償,可以達到較高的識別性能。
本文提出了一種CRF和HMM混合模型的手勢識別方法。這種HMM和CRF混合模型融合了單個模型的優點,是一個比經典HMM模型和CRF模型性能更好的模型,對不同的變體具有很好的魯棒性。實驗證明了CRF和HMM混合模型能夠有效地對序列數據的時空變化進行建模,并能構成一個魯棒的識別混合系統,為隱馬爾可夫模型在視頻語義識別領域開辟了新的應用前景。