吳 建,丁 韜,許 鏡
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
步態(tài)識別是近年來計(jì)算機(jī)視覺和生物特征識別領(lǐng)域一個備受關(guān)注的研究方向,旨在根據(jù)人們走路的姿勢進(jìn)行身份識別。每個人走路的風(fēng)格都各有不同,這都源于每個人的骨骼長度、肌肉強(qiáng)度、重心強(qiáng)度以及運(yùn)動神經(jīng)靈敏度等24種不同成分的差異性所造成的,如果把這些成分都考慮到,則步態(tài)是個體所特有的,這點(diǎn)在醫(yī)學(xué)[1]和心理學(xué)[2]上也得到了多方面的印證。正是由于每個人的步態(tài)具有唯一性,且利用步態(tài)來識別個體具有遠(yuǎn)距離,非受控,不易偽裝等優(yōu)點(diǎn),所以使得步態(tài)識別技術(shù)有了長足的發(fā)展,特別是在醫(yī)療、監(jiān)控和疑犯跟蹤等方面都有很廣闊的應(yīng)用前景。
步態(tài)識別作為一種新興的生物識別技術(shù),相比于較為成熟的識別技術(shù)如指紋識別、人臉識別[3]等,在識別精度和速度方面都有一定的不足。隨著卷積神經(jīng)網(wǎng)絡(luò)的帶動發(fā)展,步態(tài)識別研究成果在各方面的性能得到了很大的提升。步態(tài)特征提取是整個識別過程中最為關(guān)鍵的一步,也是一直以來國內(nèi)外學(xué)者的研究熱點(diǎn)?,F(xiàn)如今的步態(tài)特征提取方法主要可分為基于模型匹配的方法和基于外觀匹配的方法?;谀P推ヅ涞姆椒ㄊ抢萌梭w動力學(xué)的知識,將人體運(yùn)動的特征參數(shù)模型化,在這些特征模型的基礎(chǔ)上進(jìn)行步態(tài)分析。文獻(xiàn)[4]用單一視角的步態(tài)輪廓圖來重構(gòu)3D步態(tài)模型,并從模型中提取周期內(nèi)的步態(tài)輪廓圖來構(gòu)建步態(tài)能量圖,最后通過空間分類器來進(jìn)行識別;文獻(xiàn)[5]采用改進(jìn)的FAST算法提取步態(tài)能量圖中的特征點(diǎn),同時用性能良好的BRIEF算法來描述特征點(diǎn),最后通過特征點(diǎn)的匹配取得了很好的識別效果;文獻(xiàn)[6]提取人體4個下肢關(guān)節(jié)角度作為運(yùn)動特征,并使用確定性學(xué)習(xí)方法學(xué)習(xí)這些人體姿態(tài)參數(shù),最終完成身份識別。這些方法的優(yōu)點(diǎn)在于能充分抓住人體的運(yùn)動信息,在人體遮擋或者偽裝的情況下,模型化后的特征參數(shù)也能保證人體運(yùn)動信息的完整性。但該方法參數(shù)運(yùn)算量較大,且對攝像頭的分辨率有較高的要求。基于外觀匹配的方法是從行人的步態(tài)序列中產(chǎn)生時空模式來分析步態(tài),通過計(jì)算視覺之間的相似性來進(jìn)行步態(tài)識別。文獻(xiàn)[7]采用步態(tài)能量圖作為方法的輸入,使用卷積神經(jīng)網(wǎng)絡(luò)和多任務(wù)學(xué)習(xí)模型來預(yù)測人的多個屬性;文獻(xiàn)[8]通過使用具有不同功能的編碼器、生成器對不同視角或狀態(tài)下的步態(tài)能量圖進(jìn)行轉(zhuǎn)換,擬合成側(cè)面視角下正常行走的步態(tài)能量圖再進(jìn)行匹配;文獻(xiàn)[9]提出通過深度神經(jīng)網(wǎng)絡(luò)直接學(xué)習(xí)步態(tài)能量圖或步態(tài)序列之間的相似度來學(xué)習(xí)步態(tài)特征從而完成步態(tài)識別。
步態(tài)能量圖(gait energy image,GEI)通過在長時間范圍內(nèi)平均步態(tài)輪廓圖,可以有效地抑制由于預(yù)處理失敗而導(dǎo)致的噪聲,但卻丟失了部分時間上的信息。文獻(xiàn)[10]提出了一種基于時間保持的步態(tài)能量圖(chrono-gait image,CGI),該模板利用紅綠藍(lán)(red green blue,RGB)顏色空間保存了原生步態(tài)序列中的時間信息;文獻(xiàn)[11]在步態(tài)能量圖的基礎(chǔ)上,選擇更重要的GEI特征形成子集,并且使用全局-局部保持投影(globality-locality preserving projections,GLPP)算法來優(yōu)化特征子集;文獻(xiàn)[12]直接將步態(tài)輪廓圖當(dāng)作沒有時序關(guān)系的圖像集,識別效果顯著。但這里選取步態(tài)輪廓圖作為步態(tài)特征,它更注重了步態(tài)的時間信息而忽略了部分空間信息,步態(tài)的空間信息在識別過程中同樣發(fā)揮著重要的作用。為了解決在提取步態(tài)特征過程中無法兼顧步態(tài)圖像的時空信息和當(dāng)前的步態(tài)識別方法實(shí)時性較低的問題,本文提出使用多通道步態(tài)模板(period energy image,PEI)來平衡步態(tài)圖像的時空信息。綜合考慮到在保留步態(tài)時序信息的同時能降低圖像噪聲和減少計(jì)算量,這里選擇七通道作為通道數(shù)的劃分界限,并將該七通道的步態(tài)模板當(dāng)成圖像集作為深度神經(jīng)網(wǎng)絡(luò)的輸入,同時改進(jìn)了分類器的學(xué)習(xí)方式。
本文的主要任務(wù)包括步態(tài)檢測和步態(tài)序列預(yù)處理,而后對步態(tài)序列進(jìn)行歸一化和周期檢測等處理,最終獲得多通道步態(tài)模板。
在靜態(tài)背景下運(yùn)動目標(biāo)檢測與分割問題上,通常使用的方法為光流法、幀間差分法和背景減除法。光流法是利用圖像序列中像素在時間域上的變化以及相鄰幀之間的相關(guān)性來找到上一幀跟當(dāng)前幀之間存在的對應(yīng)關(guān)系,幀間差分法是在圖像序列相鄰幾幀間采用基于像素的時間差分來提取出圖像中的運(yùn)動區(qū)域,背景減除法是將當(dāng)前幀與背景圖像進(jìn)行差分比較來實(shí)現(xiàn)對運(yùn)動區(qū)域的檢測。通過對各個方法進(jìn)行對比,最終采用背景減除法[13]對人體進(jìn)行檢測與分割。本文針對室內(nèi)環(huán)境采用直接差分的背景減除方法,而室外環(huán)境則采用背景實(shí)時更新的背景減除方法。假設(shè)B(x,y)和fn(x,y)分別代表背景圖像和當(dāng)前圖像中(x,y)處的像素值,進(jìn)行差分運(yùn)算得
(1)
首先,通過遍歷原始的步態(tài)輪廓圖像,找出上、下、左、右邊界像素值為1的點(diǎn),以此來確定人體輪廓的最小矩形框作為人體目標(biāo)輪廓圖像。然后將目標(biāo)輪廓中的每個像素點(diǎn)(xn,yn)縮放至(64,64yn/xn),其質(zhì)心橫坐標(biāo)xc為
(2)
(2)式中:xi為人體輪廓像素點(diǎn)的橫坐標(biāo);N為總體的像素點(diǎn)數(shù)。最后,歸一化輪廓圖為64×64大小,如圖1。
圖1 原始步態(tài)輪廓圖和歸一化步態(tài)輪廓圖Fig.1 Original and normalized gait contours
步態(tài)區(qū)別于其他生物特征的一個重要方面就是人體步態(tài)具有很強(qiáng)的周期性。通過對單幅特征圖像或者整個周期的圖像進(jìn)行匹配,可以在識別過程中對周期步態(tài)進(jìn)行有效地評估。本文用人體運(yùn)動的幅度來表示周期性變化,通過檢測步態(tài)周期來找到一些關(guān)鍵幀,并在一個周期內(nèi)測量每個步態(tài)框架的相對位置。步態(tài)輪廓圖腿部區(qū)域的平均寬度W可表示為
(3)
(3)式中:h表示個體圖像的高度;Li和Ri分別表示個體第i行中最左側(cè)和最右側(cè)前景像素的位置,這里0≤α≤β≤1。連續(xù)3個波峰或3個波谷之間的時間跨度為一個步態(tài)周期,如圖2。步態(tài)周期檢測從全部的幀序列中得到長度較小的周期序列,為周期內(nèi)劃分多個通道的步態(tài)能量圖提供了依據(jù)。
圖2 步態(tài)周期圖Fig.2 Gait periodogram
為了用簡單的方法提取出視頻中有用的信息,目前常用的方法是提取步態(tài)能量圖,如圖3。
圖3 步態(tài)能量圖Fig.3 Gait energy image
步態(tài)能量圖將一個步態(tài)周期內(nèi)的輪廓圖沿著時間維度對齊并平均,其定義可表示為
(4)
(4)式中:N代表行為序列的長度;t代表時間;(x,y)代表二維圖像平面坐標(biāo)。
在GEI中,通過在長時間范圍內(nèi)平均步態(tài)輪廓圖,可以有效地抑制由于預(yù)處理失敗而導(dǎo)致的噪聲。GEI由于考慮了計(jì)算成本和識別性能之間的有效平衡,已經(jīng)成為了步態(tài)的個性簽名,是當(dāng)前最常用的方法之一。
以單一通道的步態(tài)能量圖為基礎(chǔ),這里提出了多通道的步態(tài)模板。GEI雖然抑制了噪聲,降低了計(jì)算成本,但它卻完全丟失了步態(tài)序列上的時間信息。CGI[10]利用RGB顏色空間保存了步態(tài)時間上的信息,但空間上的信息可能會被忽略。PEI平均了這2種方法的優(yōu)劣,得到了更有效的步態(tài)模板。在多通道的步態(tài)模板中,步態(tài)序列中的幀被映射到不同的通道,本文根據(jù)幀的幅度來確定通道的邊界,步態(tài)輪廓圖在一定范圍內(nèi)對應(yīng)的幅度用T(k)表示為
(5)
(5)式中:k為通道數(shù),k=1,2,…,nc;m為通道窗口的大??;nc表示可能重疊的窗口數(shù),代表了整個步態(tài)序列的空間信息。每個通道中的模板PEIk用該通道中幀的平均值序列來表示成步態(tài)能量圖為
(6)
(6)式中:Nk為該通道內(nèi)步態(tài)輪廓圖的數(shù)量;Bt為第t幀的輪廓圖像。通常情況下,通過增大m來提高Nk的大小可以提升降噪的效果,但同時也會增加計(jì)算量。這里通過(5)式和(6)式得到不同視角下(36°,90°和144°)的七通道步態(tài)模板如圖4。
圖4 七通道步態(tài)模板Fig.4 Seven-channel gait template
基于單幅圖像提取特征的方法提取了步態(tài)能量圖中的高維特征,這樣既降低了計(jì)算成本,也保留了大部分的步態(tài)信息,但是這樣會忽略步態(tài)中的時序信息,而直接從有序的步態(tài)輪廓圖中提取特征能很好地建模步態(tài)中的時域和空域信息,但是計(jì)算復(fù)雜且不易于訓(xùn)練。本文方法結(jié)合了以上2種方法的優(yōu)點(diǎn),將多通道的步態(tài)能量圖當(dāng)作沒有時序關(guān)系的圖像集,讓深度神經(jīng)網(wǎng)絡(luò)自身去提取并利用這種關(guān)系。
深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)是一種前饋網(wǎng)絡(luò)系統(tǒng),主要包括卷積層和池化層。卷積層主要是在原始的輸入上進(jìn)行特征提取,池化層主要負(fù)責(zé)對輸入的特征圖進(jìn)行壓縮,提取主要特征。卷積神經(jīng)網(wǎng)絡(luò)的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,在圖像處理問題上有很出色的表現(xiàn)。由于深度學(xué)習(xí)在各種生成任務(wù)上表現(xiàn)良好,因此被廣泛用于步態(tài)識別任務(wù)[14-16],本文步態(tài)識別系統(tǒng)的工作原理如圖5。
圖5 步態(tài)識別基本過程Fig.5 Basic process of gait recognition
步態(tài)識別過程如下。
1)攝像頭采集人的步態(tài);
2)通過背景減除法從視頻幀中提取步態(tài)輪廓圖,并且對目標(biāo)輪廓圖進(jìn)行歸一化等預(yù)處理;
3)通過步態(tài)周期檢測從預(yù)處理后的輪廓圖中得到長度較小的周期序列,然后從中獲取多通道步態(tài)模板;
4)將多張模板圖像當(dāng)成圖像集作為輸入進(jìn)行特征提取,這里提取的特征包含豐富的時間和空間信息,并且具有較強(qiáng)的魯棒性;
5)通過特征的分類與匹配來判斷是否為同一個行人。
特征提取作為整個步態(tài)識別過程中最為關(guān)鍵的一步,直接影響了最后的識別結(jié)果。本文通過提取幀級通道能量圖特征方法來代替提取單一的步態(tài)能量圖的方法,以獲得更全面的特征信息。
fi=H(G(F(xi)))
(7)
(4)式中:函數(shù)F(·)通過CNN網(wǎng)絡(luò)對序列中的每個輪廓圖都進(jìn)行特征提?。缓瘮?shù)G(·)將提取到的多幅圖像的特征映射到序列級函數(shù)中,得到一個聚合特征向量;函數(shù)H(·)通過全連接網(wǎng)絡(luò)對得到的聚合特征向量進(jìn)行辨別從而實(shí)現(xiàn)識別效果。由于一個周期的輪廓圖包含了整個動作中的完整信息,這里的xi表示為周期內(nèi)的多通道步態(tài)模板,方法的基本流程如圖6。
圖6 方法實(shí)現(xiàn)的基本流程Fig.6 Basic process of method implementation
識別任務(wù)大都是基于數(shù)據(jù)上的距離度量展開的,為了處理相似度,可以在特定的任務(wù)中選擇合適的特征并手動構(gòu)建距離函數(shù)。然而這種方法需要很大的人工投入,并且數(shù)據(jù)的改變會造成系統(tǒng)的魯棒性降低。度量學(xué)習(xí)作為一個理想的替代,學(xué)習(xí)樣本之間的距離度量,為估計(jì)樣本相似性提供更可靠的依據(jù)。
(8)
(8)式中,ε1為閾值參數(shù)。對其距離進(jìn)行l(wèi)2范數(shù)歸一化處理得
(9)
(10)
傳統(tǒng)的三元組損失函數(shù)只要求樣本對之間的類內(nèi)距離小于類間距離,而并沒有提出相似樣本對之間的相似程度。在著裝、遮擋、不同視角等外界環(huán)境的影響下,就很有可能導(dǎo)致相似樣本對之間產(chǎn)生較大的差異。
基于以上的問題,這里做出了相應(yīng)的改進(jìn)。本文添加了新的損失函數(shù)來增強(qiáng)約束,使得相似樣本對之間的距離應(yīng)小于一個設(shè)定的閾值τ2,并且這個閾值應(yīng)該小于τ1。這樣,改進(jìn)的損失函數(shù)通過增加約束來增大類間距離和減小類內(nèi)距離,改進(jìn)后的Triplet Loss函數(shù)可表示為
(11)
(4)式中:N為訓(xùn)練樣本的個數(shù);β為平衡類內(nèi)和類間距離所占比重的系數(shù)。
本文在MATLAB R2016b和PyTorch 0.4環(huán)境下進(jìn)行實(shí)驗(yàn),計(jì)算機(jī)配置為NVIDIA 1080TI GPU,運(yùn)算平臺為CUDA 9.0,實(shí)驗(yàn)過程都是基于Windows10(64 bit)操作系統(tǒng)上完成。
本次實(shí)驗(yàn)采用CASIA-B標(biāo)準(zhǔn)步態(tài)數(shù)據(jù)集,如圖7。CASIA-B是一個大規(guī)模的,多視角的步態(tài)庫,共有124人,每個人有11個視角(0°,18°,36°,…,90°,…,180°),在普通條件,穿大衣和攜帶背包3種行走條件下采集。實(shí)驗(yàn)數(shù)據(jù)均通過降維和降噪處理。
圖7 11個視角和3種行走狀態(tài)Fig.7 Eleven perspectives and three walking states
由于步態(tài)能量圖直接由輪廓圖平均相加而成,所以輪廓圖的規(guī)范程度對識別效果有很大的影響。而且在跨視角情況下又很容易導(dǎo)致提取到的步態(tài)輪廓圖的形變問題。這里在融合步態(tài)能量圖之前對輪廓圖使用STN(spatial transformer network)網(wǎng)絡(luò)進(jìn)行預(yù)處理。STN網(wǎng)絡(luò)通過對輪廓圖進(jìn)行旋轉(zhuǎn)、縮放、平移、投影和彈性變形處理,有效地改善了步態(tài)能量圖的特征表達(dá)能力。STN網(wǎng)絡(luò)的結(jié)構(gòu)如圖8。
圖8 STN網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 Spatial transformer network structure
圖8中,U為輸入的原始步態(tài)輪廓圖,θ為定位網(wǎng)格產(chǎn)生的空間變換參數(shù),Tθ(G)為空間變換函數(shù),V為輸出的特征圖。
實(shí)驗(yàn)中對不同視角下的步態(tài)樣本進(jìn)行分析,在CASIA-B步態(tài)標(biāo)準(zhǔn)數(shù)據(jù)集中,每個樣本有6組正常行走狀態(tài),2組攜帶背包和2組穿大衣狀態(tài)。由于本文的主要目標(biāo)是研究視角變化對特征表達(dá)的影響,所以試驗(yàn)均在同狀態(tài)(nm-nm,bg-bg,cl-cl)下進(jìn)行。在6組正常行走狀態(tài)中,選取4組作為訓(xùn)練集,剩下2組作為測試集。攜帶背包和穿大衣狀態(tài)各選一組作為訓(xùn)練集和測試集,實(shí)驗(yàn)如表1。
在跨視角對比實(shí)驗(yàn)中視角的選擇上,本文選取了90°,54°,126°,72°和108°視角進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2—表6。
表1 CASIA-B數(shù)據(jù)集的試驗(yàn)
表2 90°視角下各算法識別率對比
從表2中可以看出,本文算法在對穿大衣等協(xié)變量上有很強(qiáng)的魯棒性,各個狀態(tài)下識別率均高于基于生成對抗網(wǎng)絡(luò)的步態(tài)識別[16]。與文獻(xiàn)[16]相比,平均提高了19.5% 。其中,選擇度量學(xué)習(xí)中改進(jìn)的三元組損失函數(shù)對最終的識別性能也有所提升。從實(shí)驗(yàn)結(jié)果可以看出,平均提高了1.0%。
表3 54°視角下各算法識別率對比
表4 126°視角下各算法識別率對比
從表2—表4可以看出,本文算法相比于DeepCNNs[9]算法在某些情況下識別率略有降低,這是因?yàn)镈eepCNNs算法中使用了復(fù)雜的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其網(wǎng)絡(luò)分為局部特征匹配的底層網(wǎng)絡(luò),中級特征匹配和全局特征匹配的上層網(wǎng)絡(luò),對步態(tài)特征的映射更為明顯,但是訓(xùn)練時間和測試時間都有很大程度的增加。實(shí)驗(yàn)表明,本文算法相比于GaitSet[12]算法在速度上提升了10倍左右,更適合于實(shí)時應(yīng)用場景的識別。
表5 72°視角下各算法識別率對比
表6 108°視角下各算法識別率對比
從表3—表6可以看出,本文算法在各個視角下的識別率都有很大提升,與基于生成對抗網(wǎng)絡(luò)方法所用算法相比,在72°和108°視角下識別率分別平均提高了19.7%,19.4%,有效緩解了視角變化給識別率所帶來的影響。其中,側(cè)身角度識別效果更佳,這是因?yàn)閭?cè)身角度同時擁有與步行方向平行的步幅信息和與行走方向垂直的步態(tài)信息,包含的特征信息更加豐富。
本文以標(biāo)準(zhǔn)數(shù)據(jù)集CASIA-B為研究對象,對原始步態(tài)輪廓序列進(jìn)行周期檢測和歸一化處理,最后獲取了一個周期的七通道步態(tài)模板。這里提出了將七通道步態(tài)模板當(dāng)成圖像集作為輸入的識別方法,在提高了識別率的同時,還加速了網(wǎng)絡(luò)的收斂速度,減少了識別時間。本文算法在各個視角的情況下都取得了很好的實(shí)驗(yàn)結(jié)果。在今后的工作中,為了應(yīng)用于真實(shí)的識別場景,還將增加更多視角下的實(shí)驗(yàn),同時對通道數(shù)進(jìn)行相應(yīng)的調(diào)整,以設(shè)計(jì)出一個能應(yīng)對各種環(huán)境的步態(tài)識別系統(tǒng)。