李 昱,季文彬,戴士杰
(1.電工裝備可靠性與智能化國家重點實驗室(河北工業(yè)大學),天津 300130; 2.河北工業(yè)大學 機械工程學院,天津 300000)
步態(tài)識別作為一種生物識別技術(shù),有著遠距離、非侵犯性和不易盜用的特點[1],在刑事偵查、醫(yī)療診斷、考勤門禁等方面已經(jīng)取得了一定的研究成果[2-3]。步態(tài)識別方法主要分為基于模型的方法和基于運動的方法兩大類,基于模型的方法是通過建立人體的物理結(jié)構(gòu)模型,得到對應(yīng)時刻的空間信息來表示人體步態(tài)運動狀態(tài),能夠有效解決遮擋、負重以及隨動物體對識別帶來的影響。
較早的步態(tài)模型有Cunado等[4]提出的內(nèi)鏈鐘擺模型和Bouchrika等[5]提出的動態(tài)耦合鐘擺模型,這兩種模型只包括了下肢的擺動;Yoo等[6-7]先是提出了包含上身軀干的2D桿狀人體模型,隨后對該模型進行改進,提出了包含一側(cè)手臂的七橢圓模型;Zhang[8]提出了五連桿雙足人體模型,同樣忽略了上肢的擺動;Lu等[9]提出了全身分層可變模型,該模型涵蓋了人體步態(tài)運動中的四肢和軀干的步態(tài)運動。傳統(tǒng)的步態(tài)模型以視覺特征作為出發(fā)點,但步態(tài)識別的整體系統(tǒng)應(yīng)盡可能地整合更多的特征,觸覺特征作為另一類主要的步態(tài)特征,常作為融合的對象。對于單一的觸覺特征,Qian等[10]提取兩只腳的1D壓力中心曲線和2D位置軌跡形成3D壓力中心曲線進行識別;Yamakawa等[11]將足底壓力均分為4部分,提出了一種基于模糊推理的識別算法;Tekeda等[12]將足底壓力分為8部分以此進行步態(tài)識別;Dai等[13]雖然融合觸覺和視覺特征進行步態(tài)識別,但同樣只涉及了下半身的步態(tài)運動。
針對目前建立的模型只依靠單一特征或者只涉及下半身運動狀態(tài)的情況,本文建立包含上肢擺動并且融合視覺和觸覺特征的全身步態(tài)運動模型,提取特征矩陣;同時將足底壓力分區(qū),通過增加特征識別點的方式減少鞋靴對于識別率的影響。為進一步提高識別率,采用參數(shù)尋優(yōu)情況下的支持向量機進行分類識別,實驗驗證了本文模型的有效性。
本文所提算法主要包括全身步態(tài)模型的建立、視覺特征和觸覺特征的提取與分類器的分類識別3部分,如圖1。
圖1 步態(tài)識別算法框圖Fig.1 Block diagram of gait recognition algorithm
人在行走過程中,左右腿作為支撐腿和擺動腿交替變化,并且同一條腿的同一骨骼在作為支撐腿和擺動腿時,對支持力的作用效果是不同的。在實際測量中,通過足底直接接觸測量儀器獲得觸覺特征,測量結(jié)果更加準確,所以本文以支撐腿為基礎(chǔ)進行建模,并且對支撐腿、擺動腿和上半身的運動參數(shù)進行了分類討論。
在步態(tài)運動中,人體所受的力主要來自于地面的反作用力N和自身重力Mg。根據(jù)牛頓力學第二定律,人體受力的動力學方程可表示為
N+Mg=Ma
(1)
式中:a為人體質(zhì)心加速度。地面反作用力包括摩擦力和支持力,本文通過地面支持力建立全身人體步態(tài)運動模型,所以只討論人體步態(tài)運動過程中在豎直方向所受到的力,如圖2。將豎直向上的方向設(shè)為y軸的正方向,則人體的受力關(guān)系可表示為
|Ny|-|Mg|=May
(2)
圖2 人體豎直方向受力示意圖Fig.2 human body vertical direction
人體的質(zhì)心位置會隨著行走狀態(tài)變化而發(fā)生改變,僅根據(jù)質(zhì)量分布和身高來判斷質(zhì)心的運動情況是不合理的。所以將式(2)中May分解為身體各個部分的質(zhì)量與其質(zhì)心位置在豎直方向的加速度乘積之和,則可得到人體步態(tài)運動的動力學模型為
|Ny|-|Mg|=m1a1y+m2a2y+…+mnany
(3)
式中:aiy(i=1,2,…,n)為身體各個部分質(zhì)心在豎直方向的加速度,加速度的獲取一般通過視覺特征,以此引入視覺特征構(gòu)建融合視覺和觸覺特征的全身步態(tài)模型。
為了更好地求取身體各部分的垂直方向加速度,作如下假設(shè):
1)將人體的運動關(guān)節(jié)看作鉸鏈,人體骨架由鉸鏈連接構(gòu)成,如圖3。
圖3 人體全身步態(tài)模型Fig.3 Full-body gait model
2)步態(tài)運動過程中支撐腳始終腳底接觸地面,不滑動。
3)身體結(jié)構(gòu)質(zhì)心等效在兩關(guān)節(jié)連線上。
4)模型簡化為11個剛體,n=11。正常行走過程中除了四肢的擺動基本不發(fā)生大的自由度運動,所以將上身軀干和頭部看做整體。
5)在步態(tài)運動過程中,雙髖關(guān)節(jié)做垂直于人體軸心的旋轉(zhuǎn)運動,并且雙髖關(guān)節(jié)連線在做繞連線中心的旋轉(zhuǎn)運動時,在冠狀面的轉(zhuǎn)動角度小,在橫斷面轉(zhuǎn)動角度大,因此認為雙髖關(guān)節(jié)連線只做與橫斷面平行的豎直運動和旋轉(zhuǎn)運動。
6)當旋轉(zhuǎn)角與行走方向一致時為正值。
以左腿作為支撐腿,右腿作為擺動腿為例,對全身11個部分在豎直方向上的加速度進行求解。W、E、S、H、K、A、M分別代表手腕、手肘、肩、髖、膝、踝、跖骨末端的骨骼關(guān)節(jié)點。
1.2.1 支撐腿加速度求解
左腳做為支撐腳,跖骨末端與踝關(guān)節(jié)的連線與地面的夾角經(jīng)歷了一個由0°到接近90°的過程,到達最大夾角后,支撐腿變?yōu)閿[動腿。以此運動過程為基礎(chǔ)研究支撐腿擺動模型,如圖4。
根據(jù)加速度與角加速度關(guān)系,將踝關(guān)節(jié)的加速度分解為水平和豎直兩個方向,可得其在豎直方向上相對于跖骨末端的加速度為
(4)
則足部質(zhì)心相對于跖骨末端在豎直方向上的加速度為
(5)
圖4 下半身運動狀態(tài)示意圖Fig.4 Schematic diagram of lower body movement status
在求解小腿豎直方向加速度時,踝關(guān)節(jié)的速度是已知的,小腿的旋轉(zhuǎn)范圍為45°~-45°,膝關(guān)節(jié)相對于踝關(guān)節(jié)在豎直方向上的加速度為
(6)
則小腿質(zhì)心相對于踝關(guān)節(jié)在垂直方向上的線加速度為
(7)
根據(jù)加速度合成原理,小腿質(zhì)心在豎直方向上的加速度為
(8)
同上可求得左大腿質(zhì)心在垂直方向的加速度為
(9)
1.2.2 擺動腿加速度求解
人體在步態(tài)運動中,腹部、胸部和頭部之間的相對運動小,所以在求取擺動腿和上半身各部分加速度時,將髖關(guān)節(jié)、腹部、胸部和頭部看做整體,如圖5。
圖5 上半身運動狀態(tài)示意圖Fig.5 Schematic diagram ofbody movement status
則左髖關(guān)節(jié)、右髖關(guān)節(jié)、左肩關(guān)節(jié)、右肩關(guān)節(jié)和脖頸根部在豎直方向的加速度相等,即
aHL=aHR=aSC=aSL=aSR=
(10)
將右髖關(guān)節(jié)作為求解擺動腿各部分質(zhì)心加速度的起點,根據(jù)運動傳遞規(guī)律,可求得右大腿質(zhì)心在豎直方向的加速度為
(11)
右小腿質(zhì)心在豎直方向上的加速度為
(12)
右足部質(zhì)心在豎直方向上的加速度為
(13)
1.2.3 上半身加速度求解
將左右肩關(guān)節(jié)分別作為求解左右臂各部分質(zhì)心加速度的起點,根據(jù)運動傳遞規(guī)律,可求得左大臂質(zhì)心在豎直方向上的加速度為
(14)
左小臂質(zhì)心在豎直方向上的加速度為
(15)
右大臂質(zhì)心在豎直方向上的加速度為
(16)
右小臂質(zhì)心在豎直方向上的加速度為
(17)
將求出的人體各個部分在豎直方向上的加速度代入式(3),得到任意時刻下的人體步態(tài)動力學關(guān)系式:
(18)
為了提高步態(tài)特征提取的速度,簡化特征提取方式,對式(18)進行矩陣化分離,得到矩陣式為
MξωL=F
(19)
式中:M為關(guān)于身體11個部分的質(zhì)量矩陣,ξ為關(guān)于身體10個部分的質(zhì)心矩陣,ω為關(guān)于某個時刻身體10個部分的運動角度和角加速度的矩陣,L為關(guān)于身體10個部分的長度矩陣,F(xiàn)為關(guān)于地面支反力和自身重力的力矩陣。其中,矩陣ξ、ω、L為視覺特征,矩陣F為觸覺特征,則各個矩陣式可以寫為
F=[|Ny|-|Mg|]
Kinect能夠為開發(fā)者提供原始深度數(shù)據(jù)流,用來進行骨骼追蹤和關(guān)節(jié)坐標提取,而普通相機只能夠通過坐標轉(zhuǎn)換等方式來提取坐標,這使得Kinect具有更快的特征提取速度,也被廣泛用于步態(tài)識別的視覺特征提取中[14-15]。實驗系統(tǒng)主要包括Walkway步道式足底壓力測試設(shè)備和微軟的Kinect For Windows v2。采樣頻率設(shè)置為25幀/s,通過足底壓力儀獲得某時刻的足底壓力分布,通過Kinect獲得人體25個關(guān)節(jié)的空間三維坐標和行走時的彩色圖像序列,獲得的足底壓力和視覺圖像每幀互相對應(yīng)。實驗系統(tǒng)具體位置擺放如圖6。
圖6 實驗系統(tǒng)布局圖Fig.6 Layout of experimental system
實驗時的具體步驟和條件為:
1)室內(nèi)光線柔和,沒有其他雜物;
2)Kinect光軸與人體行走方向垂直;
3)在實驗開始前,實驗人要先進入自然行走狀態(tài)后進入實驗區(qū)域;
4)參與實驗的人分別按正常、背包和穿大衣3種狀態(tài)進行特征采集,并且在實驗區(qū)域內(nèi)走直線。
步態(tài)運動模型的建立可以很大程度提高步態(tài)識別精度,提高抗干擾性。但對于模型中各個特征的求取也非常關(guān)鍵,更準確的特征提取也意味著更好的識別精度。
2.2.1 質(zhì)量矩陣M的選取
根據(jù)中國國家標準化管理委員會發(fā)布的《成年人人體慣性參數(shù)》(GB/T 17245—2004)求取人體的各部分質(zhì)量,得到m0~m10,如表1。
表1 成年人人體慣性參數(shù)Tab.1 Inertial parameters of adult human body
2.2.2 質(zhì)心矩陣ξ的提取
在計算四肢質(zhì)心時,認為大臂、小臂、大腿、小腿的質(zhì)心在其關(guān)節(jié)連線上,將其看做均勻密度,且斜率很小的圓臺,如圖7(a)。因為圓臺關(guān)于軸線旋轉(zhuǎn)對稱,所以圓臺上所有平行于上下底面的橫截面的重心都在O1O2上,這樣可以把圓臺橫截面的質(zhì)量假設(shè)在自身的重心上,將求圓臺重心的三維問題轉(zhuǎn)化為求一維線性體O1O2的重心問題,如圖7(b)。設(shè)線性體的線密度為
ρ(X)=ρ0π(r1/2+Xtanα)2
(21)
式中:r1為圓臺上底面直徑,X為圓臺高度,α為軸線與母線的夾角。
(a)四肢邊緣坐標提取 (b)圓臺簡化圖7 四肢重心示意圖Fig.7 Schematic diagram of center of gravity
可得圓臺質(zhì)心到底面的距離LC和距離占圓臺總高度的比例ε分別為:
(22)
(23)
式中:M為對應(yīng)各部分質(zhì)量,L為對應(yīng)各部分關(guān)節(jié)連線長度。
2.2.3 速度及加速度矩陣ω的提取
2.2.4 長度矩陣L的提取
身體長度特征可以由Kienct得到的關(guān)節(jié)三維空間坐標來計算,可得四肢和足部長度l1~l10。
2.2.5 力矩陣F的提取
分析足底壓力分布圖像,通過將足底壓力分區(qū)的方式,增多特征識別點,提高模型識別率,如圖8。以足底最大壓力圖像為例,取得非零行數(shù)r和非零列數(shù)p,每個區(qū)域的大小為一個r/4行、p/4列的矩陣,則此時的足底壓力矩陣為
Ny=N1+N2+N3+N4
(24)
圖8 足底壓力分區(qū)方法Fig.8 Plantar pressure partition method
相對于其他的機器學習方法,因為支持向量機能夠利用有限數(shù)量樣本特征在復(fù)雜模型情況下進行折中學習,可以避免欠學習和過學習情況帶來的問題,因此常用在步態(tài)識別中[16-17]。以支持向量機的C-SVC模型為基礎(chǔ),選用徑向基核函數(shù)(RBF)構(gòu)造多分類器,因為RBF能夠?qū)崿F(xiàn)非線性映射,并且計算速度快。
定義空間中任意一點x到某一個中心xc之間歐氏距離的單調(diào)函數(shù)為k(‖x-xc‖),則徑向基函數(shù)對應(yīng)的高斯核函數(shù)為
k(‖x-xc‖)=exp{-‖x-xc‖2/[(2*σ)2]}
(25)
g=1/(2σ)2
(26)
式中:xc為核函數(shù)中心;σ為函數(shù)的寬度參數(shù);g為單個訓練樣本的影響,g越大單個訓練樣本的影響越小。
C-SVC模型的懲罰參數(shù)c和核函數(shù)的參數(shù)g對識別預(yù)測的準確率有很大的影響[18],僅憑經(jīng)驗選取的參數(shù)不能發(fā)揮模型的識別性能。本文使用交叉驗證法中的K-CV法來尋找最優(yōu)參數(shù)c和g。在尋找使步態(tài)模型達到最高分類準確率對應(yīng)的參數(shù)時,選取c最小組對應(yīng)的c和g作為最佳參數(shù),因為過大的c會導(dǎo)致訓練集分類準確率很高而測試集分類準確率很低。經(jīng)過大范圍的粗略尋優(yōu)和小范圍的精細尋優(yōu)得到本模型最優(yōu)的參數(shù)c為1,g為1,如圖9。圖中x軸表示c取以2為底的對數(shù)值,y軸表示g取以2為底的對數(shù)值,方框中數(shù)值代表當前參數(shù)下的識別率。
(a)粗略尋優(yōu)
目前,國內(nèi)外基于Kinect和足底壓力的步態(tài)研究還在初級階段,仍沒有一個完整的Kinect和足底壓力結(jié)合的數(shù)據(jù)庫,因此對模型的驗證都是在本文數(shù)據(jù)庫下進行的。本文模型所需的視覺特征和觸覺特征是同時提取的,每一幀的視覺圖像、人體的關(guān)節(jié)三維坐標和足底壓力圖像相互對應(yīng),如圖10。
圖10 Kinect圖像與足底壓力圖像Fig.10 Kinect image and plantar pressure image
通過Kinect提取包括四肢長度和擺動角度在內(nèi)的視覺特征是目前常用的步態(tài)特征提取方式。取一個步態(tài)周期中的某一幀視覺特征進行分析,通過Kinect提取關(guān)節(jié)坐標,分別計算人體兩側(cè)的四肢長度,如表2。
表2 四肢長度計算值與測量值Tab.2 Calculated and measured values of limb lengths mm
由表2可知,計算值與測量值的最大誤差為足部的8.96%,最小誤差為大腿的0.45%,說明Kinect在視覺特征提取上有著很好的精度。
取每名實驗者在正常、背包和穿大衣3種情況下視覺特征和觸覺特征100幀進行融合,其中50幀作為訓練集,另外50幀作為測試集。根據(jù)參數(shù)尋優(yōu)結(jié)果,將懲罰參數(shù)c設(shè)為1,核函數(shù)參數(shù)g設(shè)為1,同時將矩陣F中的足底壓力分區(qū)。隨機抽取訓練集中的10幀特征和測試集中的10幀特征輸入分類器,對模型的識別性能進行驗證。通過對15名實驗者在3種不同步態(tài)運動狀態(tài)下的數(shù)據(jù)采集和特征處理,建立數(shù)據(jù)庫。在MATLAB中運用支持向量機的多分類算法對全身步態(tài)模型的識別性能進行驗證,平均運行時間為1.124 s。同時根據(jù)本文所建立的Kinect和足底壓力數(shù)據(jù)庫,提取了文獻[8]提出的五連桿模型和文獻[9]提出的全身分層可變模型所需的視覺特征,以及文獻[11]和文獻[12]所需的觸覺特征,對4個不同模型在本數(shù)據(jù)庫下的識別性能進行驗證,結(jié)果見表3。
由表3可知,本文模型通過對足底壓力分區(qū)增加特征識別點的方式,提高了步態(tài)識別的準確率,并且模型在背包負重和穿大衣遮擋情況下的識別性能下降更少,具有很好的魯棒性。融合了視覺和觸覺特征的全身步態(tài)模型與只使用視覺特征進行建模的方法相比識別率更高;對于只使用觸覺特征進行識別的方法,由于自身重力的增大,在背包負重情況下識別性能下降很多,而本文由于引入視覺特征進行建模,在背包負重情況下的表現(xiàn)更好。
表3 本文數(shù)據(jù)庫下不同模型的識別率Tab.3 Recognition rate of different models in the database of this paper %
1)本文提出一種融合視覺和觸覺特征的全身步態(tài)運動模型,減少了背包負重和穿大衣遮擋情況下對步態(tài)識別結(jié)果的影響。采用足底壓力分區(qū)的方式增多特征識別點,提高了步態(tài)識別率。
2)為更加快速和方便地提取步態(tài)運動特征,將步態(tài)模型進行特征分離,得到代表不同人體步態(tài)運動特征的矩陣。并且通過Kinect和步道式足底壓力儀搭建實驗系統(tǒng),建立了包括正常、背包負重和穿大衣3種情況下的數(shù)據(jù)庫,方便特征提取和模型驗證。
3)為進一步提高識別率,在步態(tài)識別過程中采用支持向量機中的多分類器方法,對分類器中的主要參數(shù)先后進行了粗略尋優(yōu)和精細尋優(yōu)。在本文數(shù)據(jù)庫范圍內(nèi)驗證了算法的有效性,比較了4種模型在本文數(shù)據(jù)庫下的表現(xiàn),結(jié)果表明,本文提出的算法識別率最高。