王賽男
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院南京工程分院,南京211135)
近些年來,基于圖像的生物特征識別技術(shù)得到了迅速發(fā)展,漸漸融入人們生活中,如人臉識別、虹膜識別和指紋識別等[1]。然而,此類身份識別方法均存在一個問題:需要被識別人參與和協(xié)作[2-3]。步態(tài)識別作為一種新興的生物特征識別技術(shù),其具有遠(yuǎn)距離識別、非侵犯性和不易被察覺等特點(diǎn),可以較好地解決上述問題?,F(xiàn)有步態(tài)特征識別方法可分為三大類:①時空描述法:主要通過研究人體在行走過程中步速、步長和單步時長來進(jìn)行步態(tài)識別[4-6]。②模型法:該類方法主要通過構(gòu)造與人體結(jié)構(gòu)或運(yùn)動相關(guān)的模型來實(shí)現(xiàn)步態(tài)識別[7-9]。③動靜態(tài)特征法:其主要提取和分析人體在行走過程中的靜態(tài)特征和動態(tài)特征,如步態(tài)能量圖(Gait Energy Image,GEI)[10]、質(zhì)心和輪廓關(guān)鍵點(diǎn)特征等[11-12],并 使 用PCA(Principal Component Analysis)和SVM(Support Vector Machine)等方法實(shí)現(xiàn)步態(tài)識別[13]。上述方法中,時空描述法相對出現(xiàn)較早,其識別精度有限,受攝像機(jī)位置影響較大;模型法則根據(jù)已有數(shù)據(jù),經(jīng)過大量計算后,才可以得到一定的識別性能,算法計算速度相對較慢,且魯棒性欠佳;基于動靜態(tài)特征法可以有效地提取人體行走過程中的信息,但目前大部分算法均將GEI 經(jīng)過PCA 或改進(jìn)的PCA 算法降維后,直接輸入到分類器中進(jìn)行識別。
上述基于動靜態(tài)特征法的步態(tài)識別中,并沒有對GEI 進(jìn)行特征提取和處理,因此,本文使用SIFT(Scale-Invariant Feature Transform)算子[14]提取GEI 特征,引入稀疏表示和字典原子標(biāo)簽信息的方法,提出了一種基于步態(tài)能量圖特征和稀疏編碼的步態(tài)識別方法。該方法在生成識別字典時使用K-means 的方法對GEI 特征進(jìn)行篩選[15],并將字典中每個原子加入標(biāo)簽信息,從而提高步態(tài)識別準(zhǔn)確率,加快算法運(yùn)行速度。由于步態(tài)圖像數(shù)據(jù)量有限,即使通過人工模擬也達(dá)不到海量數(shù)據(jù)的要求。
步態(tài)能量圖是由Man 等人[10]提出的一種有效的步態(tài)特征,其計算公式如下:
上式中T 表示步態(tài)周期,Bt(x,y)為側(cè)影輪廓二值圖像中像素點(diǎn)(x,y)在t 時刻的值(人體所在區(qū)域取值為255,背景所在區(qū)域則為0)。圖1(a)為不同時刻步態(tài)序列圖像疊加結(jié)果,由于本文使用中科院步態(tài)數(shù)據(jù)庫CASIA,該庫中包含人體目標(biāo)區(qū)域提取結(jié)果,故步態(tài)圖像序列的預(yù)處理過程(主要為運(yùn)動檢測、目標(biāo)提取、濾波去噪等)不在本文中討論。圖1(b)為提取得到的步態(tài)能量圖,步態(tài)周期通常使用人體的側(cè)影寬高比來確定,具體如圖1(c)所示,其橫軸為時間,縱軸為側(cè)影寬高比,兩個波谷間間隔即為步態(tài)周期。
圖1 步態(tài)信息(取自中科院步態(tài)數(shù)據(jù)庫CASIA A)
提取得到GEI 后,本文引入SFIT 算子對GEI 進(jìn)行特征提取,得到步態(tài)能量圖特征。為了去除噪聲和不同目標(biāo)共有特征帶來的影響,本文使用K-means 聚類的方法,對步態(tài)能量圖特征進(jìn)行篩選,圖2 為第i 個目標(biāo)人物數(shù)據(jù)特征提取和篩選過程。圖2 中Gij為目標(biāo)人物i 第j 個視頻由公式(1)得到的GEI,Yi為提取得到的GEI 特征,Zi為基于K-means 聚類方法篩選后得到的GEI 特征。本文根據(jù)聚類后類別中特征數(shù)量對類別進(jìn)行排序,去除數(shù)量最多類別(如圖2 中類別2)中離該類中心點(diǎn)距離最近的前5%GEI 特征,其可能是不同目標(biāo)共有特征;去除數(shù)量最少類別(如圖2 中類別3)中離該類中心點(diǎn)距離最遠(yuǎn)的后10%GEI 特征,其可能是噪聲提取得到的特征。
圖2 步態(tài)能量圖特征提取和篩選
本文使用SIFT 算子和基于K-means 的方法提取與篩選GEI 特征,并引入稀疏編碼和投票的方法,對不同目標(biāo)人物進(jìn)行步態(tài)識別。本文識別字典D 中原子由篩選后的GEI 特征構(gòu)成,并根據(jù)原子所屬目標(biāo)人物信息記錄其標(biāo)簽信息,從而得到標(biāo)簽信息集W ,具體如圖3 所示。
圖3 識別字典和標(biāo)簽信息生成過程
圖3 中W 即為標(biāo)簽信息集,其表示字典D 中每個原子所屬的目標(biāo)人物信息,如目標(biāo)人物1 提取得到的GEI 特征為Z1,其對應(yīng)的標(biāo)簽信息為,k 為目標(biāo)人物總數(shù),則Zk對應(yīng)的標(biāo)簽信息為。本文識別字典原子由SIFT 算子提取得到,其尺寸為128×1,且與標(biāo)簽信息集W 中原子關(guān)系一一對應(yīng)。
在得到識別字典D 和標(biāo)簽信息集W 后,本文使用稀疏編碼和投票的方法對不同目標(biāo)人物進(jìn)行步態(tài)識別。記待識別視頻提取得到的步態(tài)能量圖為Gtext,使用SIFT 算子特征提取和篩選后得到m 個GEI 特征,l=1,2,…m。為了實(shí)現(xiàn)步態(tài)識別,本文使用稀疏編碼的方法,求取在識別字典D 上的解αl,并根據(jù)標(biāo)簽信息集W,通過投票的方法得到其識別結(jié)果。由于識別字典原子個數(shù)遠(yuǎn)遠(yuǎn)大于1,故得到的αl為稀疏解,根據(jù)稀疏編碼的方法,可使用下式求取αl的近似解αl:
上式中l(wèi)=1,2,...,m,即待識別視頻共提取得到m個GEI 特征。Ll為一列向量,其長度與W 中列向量相同,以圖3 中標(biāo)簽信息集為例,則可知Ll長度為k。
通過識別字典和標(biāo)簽信息集得到待識別視頻GEI特征標(biāo)簽信息Ll后,本文使用投票的方法,得到最終步態(tài)識別結(jié)果,具體可由下式計算得到:
其中CL 為m 個步態(tài)能量圖特征標(biāo)簽信息均值,長度和Ll相同,均為k。由于標(biāo)簽信息集W 在定義時其非零元素所在行號即為目標(biāo)人物序號,故CL 中最大值所在的行號即為步態(tài)識別結(jié)果,如CL 中最大值所在行號為7,則該視頻步態(tài)識別結(jié)果為目標(biāo)人物7。
本文算法步驟如下所示:
1) 提取訓(xùn)練數(shù)據(jù)步態(tài)能量圖特征,基于K-means 聚類的方法對特征進(jìn)行篩選;
2) 生成識別字典D 和標(biāo)簽信息集W ;
3) 計算待識別視頻標(biāo)簽信息
for l=1:m
3.1 提取測試數(shù)據(jù)步態(tài)能量圖特征ztestl;
3.2 求取稀疏解α?l(公式2);
3.3 計算標(biāo)簽信息Ll(公式3);
endfor
4) 計算識別結(jié)果CL(公式4)。
本文算法前兩個步驟主要使用訓(xùn)練數(shù)據(jù)得到識別字典和對應(yīng)的標(biāo)簽信息集,步驟3 和4 則使用識別字典等對待識別視頻進(jìn)行處理,實(shí)現(xiàn)步態(tài)識別。
本文實(shí)驗在MATLAB 平臺下仿真實(shí)現(xiàn),CPU 為Intel i5-3210M 2.5GHz,RAM 為8GB。數(shù)據(jù)庫使用中國科學(xué)院自動化研究所提供的步態(tài)數(shù)據(jù)庫CASIA B,其包含140 個目標(biāo)人物行走視頻,幀率為25fps,圖像分辨率為320×240。目標(biāo)人物拍攝角度選為90 度(有利于GEI 的提?。凶邨l件分為三種:普通條件(每個樣本共6 個視頻)、穿大衣(每個樣本共2 個視頻)和攜帶包裹(每個樣本共2 個視頻),具體如圖4 所示。
文中在對步態(tài)輪廓圖像進(jìn)行處理時,先提取步態(tài)周期T ,再計算一個周期內(nèi)步態(tài)圖像加權(quán)平均值,從而得到步態(tài)能量圖,將其作為本文實(shí)驗輸入數(shù)據(jù)。
圖4 不同行走條件下側(cè)面輪廓圖像
本文將目標(biāo)在普通行走條件下所有樣本前2 個視頻作為訓(xùn)練數(shù)據(jù)集,生成識別字典D 和標(biāo)簽信息集W ,并將剩下的數(shù)據(jù)作為測試數(shù)據(jù)集,評價指標(biāo)使用平均識別率(ARR)。 ARR 表示正確識別的目標(biāo)人物數(shù)占總數(shù)的比例,其值越大,表示識別率越高,即算法識別效果越好。
表1 為不同行走條件下ARR 值,為了評價算法性能,分別將本文算法與基于LDA[17]、W(2D)2PCA[18]、文獻(xiàn)[19]和文獻(xiàn)[20]的算法進(jìn)行比較。表1 中本文算法識別字典原子數(shù)為9000,特征篩選時K-means 方法中聚為5 類,噪聲特征去除比例為10%,共有特征去除比例為5%。由表1 中平均識別率對比可知,在不同行走條件下,本文算法ARR 有所提高,均優(yōu)于其他4 種算法。本文在步態(tài)能量圖的基礎(chǔ)上提取其SFIT 特征,可以有效地減小前景分割時噪聲帶來的影響,并通過基于Kmeans 聚類的特征篩選方法,進(jìn)一步減小噪聲和共有特征帶來的影響,從而可以提高不同行走條件下步態(tài)識別的魯棒性。
表1 不同算法平均識別率對比
表2 為不同算法平均運(yùn)行時間對比結(jié)果,該表中各算法參數(shù)設(shè)置與表1 相同(只統(tǒng)計測試數(shù)據(jù)集不同行走條件下步態(tài)識別的平均運(yùn)行時間,訓(xùn)練數(shù)據(jù)處理和步態(tài)能量圖提取時間不計入)。由表2 可知,本文算法運(yùn)行時間優(yōu)于文獻(xiàn)[19]
表2 不同算法平均運(yùn)行時間對比
文獻(xiàn)[19]和文獻(xiàn)[20],略高于LDA 和W(2D)2PCA,但本文算法ARR 值均優(yōu)于上述算法。從表1 和表2 對比可知,在不同行走條件下,本文算法平均識別率優(yōu)于所對比算法,且運(yùn)行時間快于目前主流改進(jìn)算法(如文獻(xiàn)[19]和文獻(xiàn)[20])。
本文在提取得到GEI 特征后,為了去除噪聲和共有特征帶來的影響,使用基于K-means 聚類的方法進(jìn)行特征篩選,其聚類類別數(shù)對最終步態(tài)識別有著一定的影響。圖5 為不同聚類類別數(shù)下本文算法三種行走狀態(tài)的ARR 值,均去除最少類別的10%和最多類別的5%。由圖5 可知,當(dāng)聚類類別數(shù)較小時,在去除噪聲和共有特征的同時也會去除有效的GEI 特征;當(dāng)聚類類別較大時,則噪聲和共有特征去除較少。因此,本文在實(shí)驗中聚類類別數(shù)為5,其可以得到較好的平均識別率。
圖5 聚類類別數(shù)對識別結(jié)果的影響
由圖2 可知,本文在提取GEI 特征后,使用Kmeans 的方法對其進(jìn)行篩選,篩選時去除特征的比例直接影響著識別字典。因此,本小節(jié)對特征篩選時特征去除比例進(jìn)行研究,圖6 為識別字典生成時不同篩選值對平均識別率的影響,聚類類別數(shù)均為5。圖6(a)中共有特征去除比例取值范圍為1%~10%,噪聲特征去除比例為固定值10%;圖3(b)中噪聲特征去除比例取值范圍為5%~14%,共有特征去除比例為固定值5%。由圖6 可知,在生成識別字典時,測試數(shù)據(jù)ARR值與共有特征,噪聲特征去除比例存在著一定的相關(guān)性。當(dāng)共有特征和噪聲特征去除比例較小時,識別字典中原子區(qū)分度下降,平均識別率低;當(dāng)共有特征和噪聲特征去除比例較大時,識別字典中原子所包含的特征信息減少,使得平均識別率降低。因此,為了提高步態(tài)識別率,本文在特征篩選時,共有特征去除比例選為5%,噪聲特征去除比例為10%。
本文實(shí)驗部分還研究了識別字典尺寸對最終步態(tài)識別結(jié)果的影響,圖7 給出了不同尺寸的識別字典對應(yīng)的平均識別率和平均運(yùn)行時間。為了便于分析,圖7中平均識別率為三種行走條件ARR 的均值。由圖7 可知,識別字典尺寸(原子數(shù))與平均識別率存在一定的正相關(guān)性,但原子數(shù)大于9000 后,平均識別率增加不明顯。平均運(yùn)行時間則隨著字典尺寸的增加而快速增加,因此,本文綜合算法識別率和運(yùn)行時間,在實(shí)驗中識別字典原子數(shù)選取為9000。
圖6 不同特征篩選值對識別結(jié)果影響
圖7 不同識別字典尺寸對識別結(jié)果影響
為了提高步態(tài)識別準(zhǔn)確率,本文對步態(tài)能量圖進(jìn)行研究,提出一種基于步態(tài)能量圖特征和稀疏編碼的步態(tài)識別方法。該方法提取步態(tài)能量圖特征,使用識別字典和投票的方法進(jìn)行步態(tài)識別,并引入K-means聚類的特征篩選方法。在CASIA B 步態(tài)數(shù)據(jù)庫上實(shí)驗結(jié)果表明,本文方法平均識別率優(yōu)于其他方法,下一步可將字典學(xué)習(xí)方法用于該方法中,進(jìn)一步提高算法運(yùn)行速度。