?

基于隱馬爾可夫模型的非接觸手勢識別方法

2021-02-16 00:40張煒寧王春東
天津理工大學學報 2021年6期
關鍵詞:馬爾可夫手勢觀測

張煒寧,王春東*

(天津理工大學a.天津市智能計算及軟件新技術重點實驗室,b.計算機視覺與系統教育部重點實驗室,c.計算機科學與工程學院,天津 300384)

隨著移動計算的迅猛發展和逐漸普及,手勢識別技術也正日益發展[1]。傳統的可穿戴設備交互需要借助外圍設備等,給日常生活和工作帶來諸多不便,越來越多的用戶希望以非接觸的方式與智能設備進行交互[2]。非接觸式手勢識別以一種更方便的方式來實現交互,例如用戶可以在不觸碰電腦的情況下通過滑動手勢來實現網頁的翻轉以及點擊鏈接。

傳統的非接觸手勢識別分為兩類:1)基于專業的硬件設備,例如智能手環。由于可穿戴設備的功率有限,給老年人帶來了一些不便。很多場景應用攝像頭來進行手勢識別,但只能在視線范圍內工作[3-7]。2)基于射頻設備?;谏漕l設備的手勢識別雖然不需要用戶佩戴傳感器,并且可以在非視線條件下工作。但前期需要進行大量的數據收集和訓練,另外對環境的要求也很高[8-12]。

在本文中,提出了一種智能的基于WiFi信號的非接觸手勢識別算法(non contact ges,NCGes)。它是一種與室內位置無關的手勢識別的菲涅爾區域模型[13]。利用菲涅爾區域模型原理來識別簡單手勢,再結合隱馬爾科夫模型識別復雜手勢。在3種不同的環境中進行實驗測試。實驗結果表明NCGes系統能達到很好的性能。它不需要用戶佩戴傳感器設備,并且可以在視線范圍外工作,能達到十分可觀的精確度。

1 相關工作

1.1 基于計算機視覺

基于視覺的手勢識別是指對視頻采集設備拍攝到的包含手勢的圖像序列,通過計算機視覺技術進行處理,進而對手勢加以識別。手的檢測和相應圖像區域的分割是基于視覺的手勢識別的關鍵。所識別的特征可以是手的膚色、形狀和運動等。

1.2 基于機器學習

隨著人工智能技術的迅速發展,也有很多學者使用機器學習來實現手勢識別。雖然機器學習方法不使用昂貴的專業設備,但是初步的訓練和學習非常復雜,工作量很大,對環境也有很高的要求。

1.3 基于菲涅爾區域模型

隨著WiFi設備的發展,很多研究者利用信道狀態信息(chanael status information,CSI)來實現手勢識別。文獻[12]是一個利用CSI來識別WiFi設備下的人類活動的活動識別系統?;赪iFi-CSI的細紋理手勢識別系統被提出。

本文通過與現有方法比較,提出了一種基于菲涅爾區域模型的手勢識別方法,根據用戶在菲涅爾區域模型中的位置變化來實現識別。

2 觀察分析

本章進行原理分析,首先對隱馬爾可夫模型和菲涅爾區域理論進行介紹,并分析人的手勢對菲涅爾區域的影響以及隱馬爾可夫模型如何應用到手勢識別當中。

2.1 隱馬爾可夫模型

隱馬爾可夫模型(hidden Markov model,HMM)是一種結構最簡單的動態貝葉斯網的生成模型,它也是一種著名的有向圖模型。隱藏的馬爾可夫鏈隨機生成的狀態序列,隱馬爾可夫模型如圖1所示,稱為狀態序列。每個狀態生成一個觀測,而由此產生的觀測隨機序列,稱為觀測序列。

圖1 隱馬爾可夫模型Fig.1 Hidden Markov model

隱馬爾可夫模型是由馬爾可夫鏈生成隨機不可觀測的隨機狀態序列,再由各個狀態生成可觀測的隨機序列。隱馬爾可夫模型由初始的概率分布、狀態轉移概率分布以及觀測概率分布確定。假設I是狀態序列,O是對應觀測序列公式(1)為:

在隱馬爾可夫模型中,有幾個矩陣變量,分別是狀態轉移概率矩陣A,觀測概率矩陣B,以及初始狀態概率向量C,其中狀態轉移概率矩陣A公式(2)為:

式中,aij=p(it+1=qj|it=qi)是在時刻t處于狀態qi的條件下生成狀態qj的概率。

初始狀態概率向量公式(3)為:

式中,Ci為t=1時刻處于狀態qi的概率。

隱馬爾可夫模型由初始狀態概率向量C,狀態轉移概率矩陣A和觀測概率矩陣B決定,C和A決定狀態序列,B決定觀測序列,因此隱馬爾可夫模型可以用三元符號表示公式為:

狀態轉移概率矩陣A與初始狀態概率向量C確定了隱藏的馬爾可夫模型,生成不可觀測的狀態序列,觀測概率矩陣B確定了如何從狀態生成觀測,與狀態序列綜合確定了如何產生觀測序列。

復雜手勢的識別正是利用的隱馬爾可夫模型的觀測性能。本文系統是利用菲涅爾區域模型與隱馬爾可夫模型相結合的方法來進行人體復雜手勢的識別。

2.2 菲涅爾區域

菲涅爾區域是利用WiFi信號的CSI進行室內人體感知的理論基礎,是指無線電磁波在傳輸的過程中,在收發設備之間由電波的直線路徑與折線路徑的行程差為nλ/2的折點(反射點)形成的,以收發設備為焦點的橢圓區域。

當物體移動時,它將通過一系列菲涅爾區域,然后接收信號功率顯示一個連續的正弦波形,其峰值和波谷是通過穿過菲涅爾區域邊界產生的。假設相位差φ(λ,d′),是靜態矢量Hs(λ)和動態矢量Hd(d′,λ)之間的相位差,可以表示為:

式中,d0是視線長度。當d0和λ為常數時,菲涅爾相位隨反射路徑長度的變化而變化。

用戶在菲涅爾區域中行走時,每經過一個菲涅爾區域的邊界時,接收到的信號會以波峰或波谷的形式出現。而當用戶沿某一菲涅爾區域的邊界行走時,反射信號路徑的長度不變,接收到的信號保持穩定。當用戶連續走過多個菲涅爾區域邊界時,接收到的信號看起來像一個正弦波形,這個正弦波的峰值各自對應于奇/偶菲涅爾區域的邊界。另外菲涅爾區具有邊界清晰、信號穩定等優點,相比于其他算法有更好的效率。

3 系統描述

在本章設計了一個智能的復雜手勢識別系統,系統架構如圖2所示,系統分為硬件模塊和軟件模塊。硬件模塊收集數據集,軟件模塊進行處理,首先建立手勢動作特征數據集并進行信號預處理,然后進行特征提取,分析波峰和波谷的特性。最后是手勢識別模塊,使用貝葉斯算法進行簡單手勢的識別,再使用隱馬爾可夫模型的維特比算法實現復雜手勢的識別。

圖2 系統架構Fig.2 System architecture

3.1 數據預處理

建立手勢動作數據集:利用兼容IEEE802.11 a/g/n的Intel 5 300無線網卡,即可從每個時刻接收到的無線信號數據包中獲取一組CSI,每組CSI是以子載波頻差為頻率采樣間隔,對WiFi帶寬內的虛擬遺憾最少化算法(countfactual regret minimization,CFR)的K個離散采樣值。

實驗過程中設置的數據包發送速率為40個/s,連續測試發送60 s,即發送端在信號收集環節共發送了2 400個數據包。接收到數據包后根據動作模板執行得到對應的dat數據,并進行解析。

1)濾波去噪。直接獲取到的數據中包含許多干擾數據,不能直接使用。人類行為活動信號的頻率集中在0~5 Hz之間,容易受到其他頻率信息干擾,去噪的目的就是去除無關信息。使用線性濾波器濾除無關信息。線性濾波處理的輸出像素值(i.e.g(i,j))是輸入像素值(i.e.f(i+k,j+l))的加權,公式(6)為:

式中,加權系數h(k,l)稱為核。

2)平滑處理。去噪后,行為曲線上仍存在一些尖銳的毛刺影響光滑度,因此要進行平滑處理。使用粗糙懲罰算法來進行平滑處理,經過平滑處理的行為信號在特征提取過程中得到的特征會更加真實,出現錯誤的可能性小。

3.2 特征提取

經過預處理后的數據集不能直接被識別,還需要從手勢動作的數據中提取相位差特征。

1)滑動窗口法。為了在提取特征數目有限的情況下盡可能多地獲得數據樣本,使用滑動窗口法按時間順序將步態數據劃分為不同的集合,更全面地表征某種行為。

滑動窗口法在使用過程中涉及兩個關鍵變量,分別是窗口大小和滑動步長。窗口大小指的是每次特征提取處理的單位數據量,滑動步長等價于完全將一次行為數據處理結束,滑動窗口需要移動的次數,間接反映了行為數據的大小。為了同時滿足信號在時、頻域采樣過程中的數據要求,通常情況下滑動步長與信號的采樣頻率相等,窗口大小取決于采樣頻率,其計算公式(7)為:

式中,f為信號的采樣頻率。設置無線信號發送速率為50個/s,故信號采樣速率為50 Hz,窗口大小為128。

2)相位差提取。一旦在相位差提取階段選擇了兩個子載波,較長的反射路徑將導致較大的相位差。當用戶的位置固定時,兩個子載波之間的頻率差越大,相位差越大。如果兩個子載波之間的差異太小,則這兩個波形太接近,無法進行差分。但是兩個子載波之間的巨大差異將導致相位模糊。因此,子載波的選擇尤為重要。

多徑效應會導致波形失真和隨機相移。因此選擇π/2作為最大允許相位延遲來選擇子載波,在數學上,可以根據相位差來計算波長λ1和λ2之間的子載波之間的頻率差公式為:

如果房間大小是8×12 m,發射機和接收機之間的距離是6 m。當波長Δρ僅限于π/2,允許的最大頻率差是6.8 MHz。如果WiFi卡配置為40 MHz帶寬,根據802.11n-2009規范,相鄰子載波的CSI值為1.25 MHz。又因為單個副載波的菲涅爾區域定位具有局限性,只能識別到用戶正在穿過菲涅爾區域,而不能具體感知用戶所在位置,因此選擇了兩個CSI子載波。

3.3 手勢識別

先使用樸素貝葉斯分類算法進行簡單手勢識別。簡單手勢識別是復雜手勢識別的基礎,實現簡單手勢識別后就要利用隱馬爾可夫及其相關算法進行復雜手勢識別。

隱馬爾可夫模型對復雜動態手勢具有良好的描述能力。在日常生活中,大部分復雜手勢都是由簡單手勢組合而成的。例如朋友見面時的“揮手”動作,是由“向左揮手”和“向右揮手”兩個簡單手勢動作交替組合成的復雜手勢動作。再比如在交談中需要用到“指向”動作,是由“向前指”和“向后收”兩個簡單手勢動作組合完成的。利用隱馬爾可夫模型的特性,就能夠根據若干個簡單手勢動作的組合來識別復雜手勢。

首先將數據集劃分為訓練集和測試集兩部分,其中訓練集用來訓練特征數據得到分類模板,測試集使用訓練好的分類模板預測新的動作數據,用來評估分類模型對于沒有識別過的新動作的判別能力。本文將80%用于生成轉換概率,20%用于測試驗證。

1)訓練。對復雜手勢的識別分為訓練和識別兩部分。復雜手勢識別是HMM中狀態序列未知的參數估計問題,也就是說已知觀測序列O=(o1,o2,...,oT),估計模型參數λ=(A,B,π),使得在該模型下觀測序列概率P(O|λ)最大。由于狀態序列未知,因此這可以看作是一個含有隱變量的參數估計問題,解決這一問題的經典算法就是最大期望算法(exceptation maximization,EM),而Baum-Welch算法就是EM算法在隱馬爾科夫模型學習中的具體體現。

首先要寫出完全數據的對數似然函數關于給定模型參數和觀測變量的前提下對隱變量的條件概率分布的期望,稱之為Q函數計算公式為:

在本文中,將隱藏狀態即下一時刻檢測到的手勢動作定義為q,本系統共有四種隱藏狀態,分別為“左揮”手勢、“右揮”手勢、“前指”手勢及“后拉”手勢??捎^察到的輸出即當前時刻檢測到的手勢動作定義為v,本系統共有4種輸出狀態,分別為“左揮”手勢、“右揮”手勢、“前指”手勢及“后拉”手勢。狀態轉移概率即q轉變為v的概率定義為a,即從當前手勢到另外一個手勢的概率。輸出手勢的概率為b即觀察到某手勢的概率。

訓練過程的實質就是參數重估計算概率并將重估前后產生觀測序列時的模型概率差值與閾值相比較的過程,若大于閾值則繼續重復訓練,若小于閾值則訓練結束。

2)識別。訓練的目的是得到HMM模型,為識別做準備。識別過程是將待測序列的樣本進行分類,然后將待測樣本依次放入訓練出來的HMM模型,計算每個HMM產生這個待測樣本的概率,概率最大的HMM模型即為識別出來的手勢。根據識別出來的手勢動作,與前一時刻的手勢動作組合,即可判斷出當前所做的復雜的組合手勢動作。上述過程要通過使用維特比(Viterbi)算法來完成。

Viterbi算法實際上解決的是最大化的問題,給定觀測狀態序列找出最可能對應的狀態序列。首先導入兩個變量δ和ψ。δ是在時刻t狀態為i的所有單個路徑(i1,i2,…,it)中概率的最大值,從而可以得到δ的遞推公式,算法在設定初始值后不斷迭代,終止情況計算公式為:

將Viterbi算法應用于HMM模型,定義HMM模型為λ={π,A,B},A是隱藏狀態轉移概率矩陣,B是一個模糊矩陣的觀測狀態,π是初始狀態概率分布。則隱藏狀態計算公式為:

式中,N為隱藏狀態的數量,也就是手勢的數量。

觀測狀態計算公式為:

其中,M為可觀察到的狀態數,即實驗中觀察到的特征數。

Viterbi算法的核心是使用遞歸方法降低計算復雜度,根據公式,為了計算t時刻的概率,只需要知道t-1時刻的概率。所以只需要記錄在t時刻引起最大部分概率的狀態。

計算目標是找到概率最大的隱藏狀態序列,進而判斷當前手勢動作,并推斷出之前的手勢動作。復雜手勢是根據這兩種手勢的組合來判斷的。

4 實驗

4.1 動作模板

搭建好實驗平臺后,需要確定系統待識別的手勢動作模板,針對每種步態分別建立一系列步態模板。本文的動作模板共3種:“左揮手->右揮手”手勢、“前指->后拉”手勢和“前指->右揮手”手勢。為了方便表示,后文分別用為手勢1、手勢2和手勢3來表示。

4.2 系統性能驗證

系統的性能指標是衡量模型好壞的關鍵,本文在測試環境中進行了廣泛的實驗評估,以測試NCGes系統的性能。

1)簡單手勢識別準確率。4種手勢識別性能的混淆矩陣,簡單手勢識別準確率如圖3所示。每行表示用戶實際執行的手勢,每一列表示分類識別的手勢。矩陣中的每個元素對應于行中被分類為列中的手勢的分數。

圖3 簡單手勢識別準確率Fig.3 Recognition accuracy of simple gesture

對4種基本手勢進行分類,平均準確率為92.7%。對比4種手勢識別準確地發現其識別精度相近。其中前指、后拉識別精度較高,左揮手、右揮手識別精度較低。結果表明,垂直切割菲涅爾區域邊界的手勢動作更容易被識別。

2)復雜手勢識別準確率。本文在實驗中測試了不同場景志愿者站在不同位置時的3種復雜手勢。復雜手勢識別準確率如4所示。

圖4 復雜手勢識別準確率Fig.4 Recognition accuracy of complex gesture

3)不同場景下的準確率。不同環境的識別準確率對比,如圖5所示。影響不同實驗環境識別性能的因素包括:環境中與所用AP占用相同工作頻段的其他路由器造成的同頻干擾,以及環境中的移動人員及靜止障礙物造成多徑效應。因此,教室和會議室的識別準確率相對較高,實驗室準確率相對較低。但總體來看,3種環境下的識別準確率區別不大,因此NCGes系統對環境具有較強的普適性和魯棒性。

圖5 不同環境的識別準確率對比Fig.5 Comparison of recognition accuracy in different environment

5 結論

本文基于隱馬爾可夫模型,實現了WiFi環境下的復雜手勢識別。并且進行了全面的理論研究和深入的實驗分析,實驗結果表明,該系統能夠在不同的室內環境下實現復雜手勢識別,總體識別誤差率小于10%,具有較強的智能性和魯棒性。研究結果驗證了本文提出的方法。相信這一技術可以應用于許多室內公共環境中,為行為識別以及人機交互的新應用提供理論依據。

猜你喜歡
馬爾可夫手勢觀測
國外智能化對地觀測衛星發展研究
面向電力系統的繼電保護故障建模研究
挑戰!神秘手勢
基于馬爾可夫鏈共享單車高校投放研究
基于馬爾可夫鏈共享單車高校投放研究
基于馬爾科夫算法對預測窗戶狀態模型的研究
事業單位財務風險預測建模及分析
2018年18個值得觀測的營銷趨勢
勝利的手勢
可觀測宇宙
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合