本發(fā)明利用Kinect采集到的深度信息和骨骼信息進行人體步態(tài)識別,屬于計算機視覺與生物特征識別領域。
背景技術:
:步態(tài)識別是一種新興的生物特征識別方法,是依據人走路的姿勢進行個人的身份驗證。與其他生物特征識別技術相比,步態(tài)識別具有非接觸遠距離和不易偽裝的特點。根據解剖學的研究,每個人生理結構的差異性、不同的肌肉強度、不同的骨骼長度等,共同決定了人體的步態(tài)具有唯一性,這也是步態(tài)識別作為生物特征識別的理論基礎。步態(tài)識別技術涉及到了計算機視覺及模式識別等多項
技術領域:
,由于其所具有其他生物特征所不具有的優(yōu)勢和特點,在監(jiān)控、醫(yī)療、人機交互等方面應用前景廣闊。因此,國內外眾多研究者將研究熱情投入于步態(tài)識別中,并逐漸將步態(tài)識別技術推向生物特征識別領域的前沿。在現(xiàn)如今的步態(tài)識別領域,基本可以分為2D方法和3D方法。2D方法一般是分析由攝像機從某一特定視角得到的行走視頻,首先使用背景差分等算法將視頻段中運動的人體從背景中分離出來,得到步行者的輪廓圖,隨后再通過建?;驁D像處理的方法提取不同的步態(tài)特征。3D方法通常會通過深度相機或經過標定的多相機來間接重構出人體的在行走過程中的3D信息,然后再提取有用的步態(tài)特征進行識別?;?D視頻的方法使用方便,配置簡單,一般只需要普通的攝像機,不需要其他輔助器材,具有很大的應用市場。但現(xiàn)在的方法中,光照的變化、衣著的變化,尤其是視角的變化,都會給識別效果造成巨大影響。而基于3D的方法中,雖然對視角的變化不敏感,但現(xiàn)有的大多數(shù)方法中主要面臨以下兩方面挑戰(zhàn):1)在利用多相機構建3D信息的方法中,由于需要對多相機進行標定,步驟復雜,且實際應用性較差。2)在利用深度相機的3D方法中,雖然省去了相機標定的步驟,但部分方法使用的深度相機價格昂貴,市場推廣性較差。近年來,隨著Kinect等新型深度傳感器的問世,深度相機趨于商業(yè)化、廉價化。這些深度相機不僅不易受光線影響,而且易于利用深度信息分割運動人體與背景信息,同時可以較為便利高效的獲取人體關節(jié)3D信息,從而為步態(tài)識別的應用開啟了一扇新的大門。技術實現(xiàn)要素:本發(fā)明充分利用Kinect所具有的優(yōu)勢,將Kinect作為步態(tài)數(shù)據采集設備,利用其可以方便準確的估計人體關節(jié)三維空間位置信息的特點,構建出合適的步態(tài)運動模型。我們選取了關鍵骨骼段的長度作為靜態(tài)特征,肢體擺動的角度變化作為動態(tài)特征,并使其進行特征融合后完成分類識別。本方法算法簡單,具有較強的實時性,且提取的步態(tài)特征具有視角不變的特性。本發(fā)明采用的技術方案如下:一種基于Kinect的視角不變性步態(tài)識別方法,其特征在于,包括以下步驟:(1)骨骼關節(jié)三維空間位置坐標的獲取,即利用Kinect提供的SDK自動捕獲進入視野范圍內的人體,并將行走過程中每幀的關節(jié)位置信息的三維空間坐標(x,y,z)保存在列表數(shù)據結構中;(2)靜態(tài)特征的選擇與獲取,具體步驟包括:a.設置人體距離Kinect的閾值,獲取具有準確穩(wěn)定關節(jié)信息所在的置信幀;b.定義了8組關節(jié)之間的距離作為靜態(tài)特征,根據置信幀中每幀關節(jié)的三維坐標信息,利用歐式距離計算各段距離,并將這8段距離組成了一個8維的靜態(tài)特征向量;c.根據置信幀的幀數(shù),對以上得到的靜態(tài)特征向量進行統(tǒng)計平均運算,將結果作為最終的靜態(tài)特征向量;(3)動態(tài)特征的選擇與獲取,具體步驟包括:a.定義了上下四肢共8個關節(jié)的擺動角度作為動態(tài)角度特征,并計算其在每幀的角度值,得到8個動態(tài)角度序列;b.將得到的8個角度序列按照同名關節(jié)分組,將同組關節(jié)的左右角度序列數(shù)據進行差分運算,再對差分序列進行零點檢測,將零點對應與左右角度序列中的幀標記出來,并將這些幀當作周期分割幀,進行周期提取,最終得到包含一個周期信息的四組動態(tài)角度序列;c.將得到的四組動態(tài)角度序列分別作為動態(tài)特征,單獨測試識別效果,最終確定識別率最高的那一組動態(tài)角度序列作為最終的動態(tài)特征向量。(4)特征的匹配與融合,具體步驟包括:a.利用歐式距離計算靜態(tài)特征向量樣本與模板之間的距離,并以此距離作為匹配分值;b.利用動態(tài)時間規(guī)整DTW算法計算動態(tài)特征向量樣本與模板之間的距離,并以此距離作為匹配分值;c.將以上a和b步驟中得到的兩種特征的匹配分值分別歸一化之后,按照線性加權原則進行特征融合,其中權重與每種特征單獨的正確識別率正相關。(5)分類識別,即根據特征融合之后的匹配分值作為最終樣本與模板之間的相似性度量標準,采用最近鄰分類準則進行分類識別。特別地,所述步驟(2)中考慮到人體骨骼長度左右對稱的特點,選定的8組關節(jié)之間的距離依次是:右大腿、右小腿、右大臂、右小臂、脊柱、肩寬、頸長、頭縱距。特別地,所述步驟(3)中8個關節(jié)的擺動角度分別為:左右大臂、左右小臂、左右大腿、左右小腿在某一平面的擺動角度。附圖說明圖1是本發(fā)明方法的整體框架圖;圖2是實驗環(huán)境俯視圖;圖3是作為靜態(tài)特征所定義的8段骨骼長度示意圖;圖4是作為動態(tài)特征所定義的8個關節(jié)擺動角度示意圖;圖5是左右角度動態(tài)變化圖;圖6是四組動態(tài)特征的正確識別率圖。具體實施方式圖1給出了本發(fā)明方法的框架圖,按所示流程,包括如下具體步驟:(1)獲取每幀關節(jié)點坐標。為了盡可能多的獲取步態(tài)過程中關節(jié)骨骼位置信息,我們在如附圖2所示的實驗環(huán)境下進行步態(tài)數(shù)據的采集與測試工作。采集過程中Kinect被放置在高度為1.0米的三腳架上,人從距離Kinect4.5米遠之外的地方面向Kinect行走,如圖中方向箭頭①所示,這個方向可以保證將全部關節(jié)位置信息完整清晰的保留下來。當人體進入Kinect視野范圍之內時,我們利用Kinect提供的SDK可以自動將行走過程中每幀的所需關節(jié)位置信息的三維空間坐標(x,y,z)保存在列表數(shù)據結構中,其中三維坐標的單位是米。在測試階段,由于本方法具有視角不變性,所以測試者可以從附圖2中所示的其他任意方向行走,包括橫向行走。(2)提取靜態(tài)特征我們根據步驟(1)中提取到的關節(jié)空間位置信息來提取靜態(tài)特征并形成靜態(tài)特征向量。具體過程如下:(2-1)提取靜態(tài)特征為了提取到更穩(wěn)定準確的靜態(tài)特征,我們首先對步驟(1)中提取到的關節(jié)信息進行了篩選。我們通過實驗發(fā)現(xiàn)當人體距離Kinect1.8米到3.0米范圍內,對關節(jié)點位置的估測精度最高。因此我們通過設置距離的上下限,只獲取在此距離范圍內的幀。我們將頭部(HEAD)關節(jié)點作為人體距離Kinect的代表點,根據下面的公式提取置信幀:{fa}={Hf|Hf,z>1.8∩Hf,z<3.0}其中,{fa}是所選置信幀的集合,Hf代表頭部的關節(jié)點,Hf,z代表頭部關節(jié)點的z坐標值,即為距離Kinect的深度值。我們選取了8組關節(jié)之間的距離,即骨骼長度作為靜態(tài)特征,如附圖3所示。將這8段距離組成了一個8維的靜態(tài)特征向量(d1,d2,d3,d4,d5,d6,d7,d8)。這個靜態(tài)特征向量的8個分量如下表所示:向量分量關節(jié)點1關節(jié)點2d1HIP_RIGHTKNEE_RIGHTd2KNEE_RIGHTANKLE_RIGHTd3SHOULDER_RIGHTELBOW_RIGHTd4ELBOW_RIGHTWRIST_RIGHTd5SPINE_SHOULDERSPINE_BASEd6SHOULDER_RIGHTSHOULDER_LEFTd7SPINE_SHOULDERNECKd8NECKHEAD這里關節(jié)之間的距離采用歐式距離。在篩選得到的置信幀{fa}集合中,每一幀我們都會得到相應關節(jié)的三維坐標,我們根據以下公式每幀的這8個骨骼長度。di=(x1-x2)2+(y1-y2)2+(z1-z2)2]]>其中di表示表格中特征向量的各個分量,即相應關節(jié)之間的距離,i取1到8。(x1,y1,z1)和(x2,y2,z2)分別代表表格中對應關節(jié)點1和關節(jié)點2當前幀的三維空間坐標。(2-2)構成靜態(tài)特征向量我們對在步驟(2-1)中置信幀{fa}范圍下得到的靜態(tài)特征向量,根據置信幀{fa}的幀數(shù),對向量求平均得到最終的靜態(tài)特征向量(d1,d2,d3,d4,d5,d6,d7,d8)。(3)提取動態(tài)特征我們根據步驟(1)中提取到的關節(jié)空間位置信息來提取動態(tài)特征并形成動態(tài)特征向量。具體過程如下:(3-1)定義動態(tài)特征并提取我們選取了兩組手臂關節(jié)的擺動角度,兩組腿部關節(jié)的擺動角度,如附圖4所示,一共有a1到a8,8個角度的變化情況。假設關節(jié)點HIP_RIGHT在當前幀下的坐標是(x,y,z),關節(jié)點KNEE_RIGHT在當前幀下的坐標是(x′,y′,z′),我們可以根據下面的公式計算得到每幀a1的角度。tan∠a1=(x-x′y-y′)⇒a1=tan-1(x-x′y-y′)]]>根據上述公式,我們以此類推得到其余關節(jié)擺動角度a2到a8每幀的角度值。最終我們可以到的8個動態(tài)角度序列({a1},{a2},{a3},{a4},{a5},{a6},{a7},{a8})。(3-2)步態(tài)周期提取本方法通過結合左右肢體的動態(tài)特征,來準確地進行步態(tài)周期提取。首先,我們將步驟(3-1)中得到的8個角度序列按照同名關節(jié)分組,即可以分為HIP({a1},{a3}),KNEE({a2},{a4}),SHOULDER({a5},{a7}),ELBOW({a6},{a8})4組。每組中分別包含這個關節(jié)的左側及右側擺動角度。我們將這4組角度的動態(tài)變化情況繪制出來,如附圖5所示。從圖中我們可以發(fā)現(xiàn)左右數(shù)據的交點是比較穩(wěn)定的步態(tài)周期分界點。我們將每組關節(jié)的左右角度序列數(shù)據進行差分運算,再對差分序列進行零點檢測。由于差分序列是離散序列,無法得到零點,因此我們通過設置閾值,檢測差分序列中在閾值范圍內的點作為候選零點。具體的,我們在實驗中將閾值設置在(﹣3°,﹢3°)。候選零點都是在某段范圍內相鄰或接近的點,我們將某段范圍內的局部最小值點作為此段范圍內最終的零點,從而得到各段的零點。將這些零點對應與左右角度序列中的幀標記出來,并將這些幀當作周期分割幀,進行周期提取。最后我們得到提取周期后的4組角度序列HIP({a1T},{a3T}),KNEE({a2T},{a4T}),SHOULDER({a5T},{a7T}),ELBOW({a6T},{a8T}),其中下標T表示一個周期內的角度序列。(3-3)構成動態(tài)特征向量在步驟(3-2)中得到的4組角度序列,我們分別將其當作4種獨立的動態(tài)特征并對它們進行了識別率的考察,從而選擇出最佳的動態(tài)特征。我們統(tǒng)計了這4組動態(tài)特征的正確識別率,如附圖6所示。從圖中我們可以看到,以a2為代表的KNEE({a2T},{a4T})這一組動態(tài)特征,識別率明顯優(yōu)于其他3組動態(tài)特征,最終我們確定將({a2T},{a4T})這一組動態(tài)角度序列作為最后的動態(tài)特征向量。其中,我們稱{a2T}為右動態(tài)特征向量,{a4T}為左動態(tài)特征向量。(4)靜態(tài)與動態(tài)特征匹配在測試階段,我們首先需要分別對靜態(tài)特征與動態(tài)特征分別與數(shù)據庫中的相應特征進行模板匹配,具體分為:(4-1)靜態(tài)特征匹配我們將步驟(2)中得到的測試樣本的8維靜態(tài)特征向量與數(shù)據庫中用同樣方法采集到的靜態(tài)特征向量模板分別計算距離,這里的距離是歐式距離,并將得到的距離進行歸一化處理。最后將測試樣本與各個模板歸一化之后的距離作為測試樣本與各個模板之間的匹配分值。(4-2)動態(tài)特征匹配我們將步驟(3)中得到的測試樣本的左(右)動態(tài)特征向量與數(shù)據庫中用同樣方法采集到的左(右)動態(tài)特征向量模板分別采用DTW算法進行模板匹配,具體過程如下:a)創(chuàng)建兩個n×m的矩陣D和d,分別為累積距離矩陣和維數(shù)匹配距離矩陣,這里n和m為測試模板與參考模板中動態(tài)特征向量的維數(shù)。b)通過一個循環(huán)計算兩個模板的維數(shù)匹配距離矩陣d。接下來進行動態(tài)規(guī)劃,為每個格點(i,j)都計算其三個可能的前續(xù)格點的累積距離D1、D2和D3。c)利用最小值函數(shù)min,找到三個前續(xù)格點的累積距離的最小值作為累積距離,與當前幀的匹配距離d(i,j)相加,作為當前格點的累積距離,直到計算過程一直達到終點(n,m),并將D(n,m)輸出。需要注意的是,由于在某些行走方向下,遠離Kinect一側的身體會被靠近一側的身體所遮擋,造成數(shù)據不準確,本方法中,系統(tǒng)會自動判斷并選擇靠近Kinect一側的身體的特征,如左側靠近時會使用左動態(tài)特征向量{a4T},同理,右側靠近時則會使用右動態(tài)特征向量{a2T}。(5)特征融合將步驟(4)中得到的兩種匹配分值按照線性歸一化的方式歸一至[0,1]區(qū)間,其中線性歸一化公式如下:s^=s-min(S)max(S)-min(S)]]>其中,S是歸一化之前的矩陣,其元素為s,這里代表各個待歸一化的匹配分值,是歸一化矩陣,其元素是將歸一化之后的兩個分值根據加權求和原則進行融合,其中加權求和公式如下:F=Σi=1Rωisi,ωi=CiΣj=1RCi]]>其中F代表融合后的分值,R代表需要融合的特征的個數(shù),這里R=2。ωi表示第i個特征的權值,si表示第i個特征的匹配分值。權重ωi是根據第i個特征單獨進行識別時的正確識別率Ci所求得,這樣就可以根據某個特征識別率的高低來分配特征融合時的權值。(6)分類識別將步驟(5)中特征融合之后的匹配分值F作為最終樣本與模板之間的相似性度量標準,采用最近鄰分類準則,即將樣本與每個模板的匹配分值F按從小到大的順序升序排序,將測試樣本分到與其匹配分值最小的那個模板類中。表1是在我們采集的數(shù)據庫下實驗測試的正確識別率(%)。此數(shù)據庫中包含28位男性與24位女性,一共52位個體。每個人都有在6個方向(0°,90°,135°,180°,225°,270°)上的行走數(shù)據,我們用180°方向的數(shù)據作為模板數(shù)據進行訓練,用其他行走方向的數(shù)據作為測試。我們分別單獨測試了靜態(tài)特征、動態(tài)特征,最后測試了特征融合之后的分類結果??梢詮膱D中看到,特征融合之后的識別率優(yōu)于使用單一特征的識別效果。表1綜上所述,本發(fā)明提出了一種利用Kinect作為數(shù)據采集設備進行實時步態(tài)識別的方法。利用Kinect得到的人體關節(jié)三維空間位置信息,我們選取了8段關鍵的骨骼長度作為靜態(tài)特征,對比并最終確定了腿部膝蓋的擺動角度變化作為動態(tài)特征,并使其在匹配層進行特征融合后利用最近鄰分類器完成分類識別。本方法算法簡單,具有較強的實時性,且提取的步態(tài)特征具有視角不變的特性。當前第1頁1 2 3