湯榮山,葛萬成
(同濟大學中德學院,上海 200092)
現(xiàn)今以指紋識別與人臉識別為代表的生物識別技術(shù)已經(jīng)被廣泛應(yīng)用于社會安全層面,但這些技術(shù)存在一些限制條件。比如,檢測攝像頭必須靠近被識別的個體;監(jiān)測到的數(shù)據(jù)必須具有高的分辨率;個體在識別過程中需要進行配合等。然而,步態(tài)識別技術(shù)不需要任何主體的配合,能夠?qū)崿F(xiàn)在任意角度下不引起被檢測個體注意的非接觸性遠程識別。本文中所有實驗基于一種廣泛使用的步態(tài)特征表征方式——步態(tài)能量圖(GEI)[1]。由于人類行走通常是在一定頻率下進行的重復性動作,即步態(tài)周期,是指在移動過程中一只腳接觸地面開始到同一只腳再次觸碰地面為止的周期。因此,需要使用一個步態(tài)周期內(nèi)的步態(tài)剪影來生成GEI。目前,所有步態(tài)識別方法的實施都基于一個前提,即必須獲得被檢測主體至少一個步態(tài)周期的步態(tài)數(shù)據(jù)。因此,在公共場所搜集個體的完整步態(tài)數(shù)據(jù)成為步態(tài)識別領(lǐng)域的一大挑戰(zhàn)。本文提出的方法主要關(guān)注完整步態(tài)數(shù)據(jù)的還原,并使用卷積神經(jīng)網(wǎng)絡(luò)把不同類型的不完整GEIs轉(zhuǎn)換為完整GEIs。最后,本文比較了由不同幀數(shù)和起始幀組成的不完整GEIs重構(gòu)的完整GEIs的重構(gòu)質(zhì)量和識別率。實驗結(jié)果表明,還原出的GEIs的重構(gòu)結(jié)果、驗證任務(wù)和認同任務(wù)的步態(tài)識別結(jié)果都與目標結(jié)果相接近。
用于尋找一個步態(tài)周期內(nèi)的初始與結(jié)束幀的方法,被稱為歸一化自動相關(guān)性(Normalized Auto Correlation,NAC)[2]。該方法可將一個步態(tài)周期內(nèi)的步態(tài)數(shù)據(jù)序列量化。步態(tài)周期的起始幀和結(jié)束幀可以用于產(chǎn)生不同類型的GEIs。該方法可以表示為:
其中g(shù)(x,y,n)是第n幀步態(tài)剪影的位置(x,y)的像素值,C(N)是第N幀的自相關(guān)函數(shù)。Ntotal是步態(tài)序列的總幀數(shù)。由于步態(tài)是對稱運動,NAC的峰值會每半個周期Ntotal周期性地出現(xiàn)。
GEI是主體步態(tài)周期內(nèi)的序列均值。Bt(x,y)是位置(x,y)處的二進制像素,t是幀數(shù),N是一個主體步態(tài)周期內(nèi)的總幀數(shù)。步態(tài)能量圖可以由式(3)計算:
關(guān)于組成不完整GEIs的幀數(shù)選擇,需要考慮以下幾個因素。
(1)實際環(huán)境中,步態(tài)剪影是從監(jiān)控錄像視頻中提取的,通常包含不確定的幀數(shù),可能是5幀、10幀也可能是15幀。
(2)由于人不會在一幀的時間內(nèi)行走太快,沒必要每隔一幀就產(chǎn)生一種新的GEIs。當然,幀的間隔太多也會忽略很多變化。
(3)不同的數(shù)據(jù)集包含有不同的步態(tài)周期,神經(jīng)網(wǎng)絡(luò)由固定幀生成的不完整GEIs來訓練,訓練后的結(jié)果不能應(yīng)用于其他數(shù)據(jù)集。因此,組成不完整GEIs的幀數(shù)在于特定數(shù)據(jù)集所包含的步態(tài)周期的平均幀數(shù),即每個選出的不完整GEIs的幀數(shù)必須占有數(shù)據(jù)集在一個步態(tài)周期內(nèi)的幀數(shù)的一定比例,而不是固定值。
本文的選擇如下:1 f-GEI、1/10 GC、1/6 GC、1/4 GC、1/3 GC、2/5 GC、1/2 GC、3/5 GC、2/3 GC。具體到本文所用的數(shù)據(jù)集,劃分如下:1 f-GEI、3 f-GEI、5 f-GEI、8 f-GEI、10 f-GEI、13 f-GEI、15 f-GEI、18 f-GEI、20 f-GEI。 其 中,GC 為 一個步態(tài)周期內(nèi)的幀數(shù),1 f-GEI代表由1幀組成的GEI。本文選取2/3步態(tài)周期的幀數(shù)來作為最大值。通常情況下,幀間隔的選擇為2~3幀。該間隔對于本文的情況非常合理。
由于不同起始幀組成的不完整GEIs也是各不相同,本文選擇了14個不同的起始幀來組成新類型的不完整GEIs。這些起始幀包括frame 1、frame 2、frame 3、frame 4、…、frame 11、frame 12、frame 13、frame 14。
第一幀為最小起始幀,在這之間每隔一幀就生成一種不完整GEIs。詳細原則為:
其中N是組成不完整GEIs的末尾幀,ncycle代表一個步態(tài)周期內(nèi)的幀數(shù),nf表示組成幀數(shù),fstart表示起始幀,fend為結(jié)束幀。
總之,生成的不完整GEIs由9種不同的幀數(shù)組成,每種又包含14種由不同起始幀組成的GEIs。因此,本文會生成9×14種不完整GEIs。另外,需要將這些GEIs的像素值從x∈[0,255]歸一化到x∈[0,1]。
由不同幀數(shù)和不同起始幀組成的不完整GEIs有明顯的不同外形,但完整的GEIs通常只有一種外形。因此,使用唯一的網(wǎng)絡(luò)直接將1f-GEIs轉(zhuǎn)換成完整GEIs會帶來很大誤差。本文沒有使用由很低幀數(shù)組成的不完整GEIs直接去訓練卷積神經(jīng)網(wǎng)絡(luò),而是采用了一種逐漸轉(zhuǎn)換的策略。本文首先訓練多個獨立的卷積神經(jīng)網(wǎng)絡(luò),每一個獨立的網(wǎng)絡(luò)只負責一個小范圍的轉(zhuǎn)化,如將1幀GEI轉(zhuǎn)換為由1/10步態(tài)周期的幀數(shù)組成的GEIs,以此類推。
圖1為獨立的卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。編碼器部分包含3層卷積層。多次試驗顯示,包含2層卷積層的獨立的卷積神經(jīng)網(wǎng)絡(luò),不能完整學習到GEI的細節(jié),而當將卷積層數(shù)量增加到大于3時,網(wǎng)絡(luò)的損失也不再進一步下降。在每個卷積層后添加Relu作為激活函數(shù),池化層用來下采樣特征圖譜。之后添加了組歸一化層[3]和dropout技術(shù)來避免過擬合并加快收斂。帶有字母D的方塊代表附加dropout技術(shù),帶有H的方塊代表隱藏層。在最終的輸出層,Relu函數(shù)由Sigmoid函數(shù)取代,這是因為輸出圖像應(yīng)該是像素值為x∈[0,1]的灰度圖。
圖1 獨立的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
以這些預(yù)訓練的獨立卷積神經(jīng)網(wǎng)絡(luò)作為隱藏層,可以重構(gòu)一個端到端卷積神經(jīng)網(wǎng)絡(luò),如圖2所示。端到端卷積神經(jīng)網(wǎng)絡(luò)使用預(yù)訓練的獨立的卷積神經(jīng)網(wǎng)絡(luò)的參數(shù),并用所有類型的不完整GEIs來做微調(diào)。微調(diào)后的端到端卷積神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)不同類型的不完整GEIs到完整GEIs的直接轉(zhuǎn)換。其中,輸入處的斜杠代表輸入可以是第2.1章節(jié)部分數(shù)據(jù)預(yù)處理所述類型的不完整GEIs。每個隱藏層下的標注詳細標明了該層的轉(zhuǎn)換范圍,如1/10 GEI-1/6 GC表示將由1/6步態(tài)周期的幀數(shù)組成的GEI轉(zhuǎn)換為由1/10步態(tài)周期的幀數(shù)組成的GEIs。編碼器和解碼器部分與圖1所示一致。
圖2 端到端卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
從數(shù)據(jù)預(yù)處理開始到結(jié)果分析的流程,如圖3所示。本文首先使用步態(tài)剪影生成完整GEIs和不同類型的不完整GEIs,然后將生成的GEIs歸一化。這兩個步驟是按2.1章節(jié)數(shù)據(jù)預(yù)處理部分所示的方法進行的。之后將數(shù)據(jù)分為訓練集、驗證集和測試集,這三個步驟屬于數(shù)據(jù)預(yù)處理。隨后,開始訓練9個獨立的卷積神經(jīng)網(wǎng)絡(luò),并使用訓練好的參數(shù)來重組端到端的卷積神經(jīng)網(wǎng)絡(luò)。本文動用了所有類型的不完整GEIs來訓練端到端的卷積神經(jīng)網(wǎng)絡(luò),并在訓練時評估驗證集的精度。這兩部分屬于網(wǎng)絡(luò)訓練部分。訓練完成后,評估網(wǎng)絡(luò)的重構(gòu)性能,并且比較由網(wǎng)絡(luò)還原的GEIs、完整GEIs和不完整GEIs三者之間的步態(tài)識別性能,最后對得到的結(jié)果做了分析和總結(jié)。
圖3 工作流程
本文使用OU-ISIR數(shù)據(jù)庫-大量個體步態(tài)數(shù)據(jù)集(OULP)[2]中85°下的步態(tài)剪影來訓練網(wǎng)絡(luò)。85°下的個體總數(shù)為3 254。先從3 254個個體中隨機選取2 254個,使用他們的GEIs作為訓練集。剩下的1 000個主體的GEIs中,一半作為驗證集,一半作為測試集。該數(shù)據(jù)分組原則不僅適用于獨立的卷積神經(jīng)網(wǎng)絡(luò),而且適用于端到端的卷積神經(jīng)網(wǎng)絡(luò)的訓練。唯一的區(qū)別是不同類型的卷積神經(jīng)網(wǎng)絡(luò)的輸入和輸出不同。端到端的卷積神經(jīng)網(wǎng)絡(luò)的輸入是所有類型的不完整GEIs,輸出是相應(yīng)的完整GEIs。相比之下,獨立的卷積神經(jīng)網(wǎng)絡(luò)的輸入和輸出分別是由固定幀數(shù)組成的一種類型的不完整 GEIs。
本文測試分為兩部分。第一部分為測試網(wǎng)絡(luò)性能,即由端到端的卷積神經(jīng)網(wǎng)絡(luò)重構(gòu)的GEIs的質(zhì)量。第二部分比較了不同GEIs之間的步態(tài)識別率。
網(wǎng)絡(luò)的輸出與完整GEIs的對比結(jié)果可以作為網(wǎng)絡(luò)性能評估的標準。本文使用均方誤差(Mean Squared Error,MSE)、 結(jié) 構(gòu) 相 似(Structural Similarity Index,SSIM)[4]指數(shù)以及重構(gòu)精度來表示。
表1中的數(shù)據(jù)來自于使用不同的不完整GEIs通過端到端的卷積神經(jīng)網(wǎng)絡(luò)所得的結(jié)果。表1中數(shù)據(jù)反映,由更多幀數(shù)組成的不完整GEIs還原的GEIs擁有更高的質(zhì)量,且更接近于目標GEIs。然而,該上升趨勢隨著組成不完整GEIs的幀數(shù)的增加而漸緩。這是因為18f-GEIs和20f-GEIs本身已經(jīng)非常接近于完整GEIs。
表1 端到端的卷積神經(jīng)網(wǎng)絡(luò)的重構(gòu)結(jié)果
表2展示了一些使用由不同起始幀組成的不完整GEIs的測試結(jié)果。本文選取5f-GEIs和8f-GEIs的測試結(jié)果,因為5和8幀正好是OULP數(shù)據(jù)集中大多數(shù)個體的步態(tài)周期的1/6和1/4。與其他幀相比較,如1幀(很難恢復出高質(zhì)量的GEIs)或20幀(太接近于完整GEIs),5和8幀更具代表性。
表2 使用端到端的卷積神經(jīng)網(wǎng)絡(luò)恢復5f-GEIs和8f-GEIs的重構(gòu)結(jié)果
從表2可以看出,由不同起始幀數(shù)組成的不完整GEIs還原的GEIs的質(zhì)量大致相同。以上結(jié)果證明,端到端的卷積神經(jīng)網(wǎng)絡(luò)足以應(yīng)付由不同起始幀組成的不完整GEIs的還原工作。
步態(tài)識別有兩種測試類型:驗證任務(wù)和識別任務(wù)上的步態(tài)識別。
3.2.1 驗證任務(wù)
在驗證任務(wù)里,本文首先使用99%的主成分分析(PCA)來減少數(shù)據(jù)的維度,然后計算每個配對的相似分數(shù),使用L2-距離作為相似分數(shù)的計算準則。
L2-距離的表達式為:
選取不同的臨界值,比較這些計算的相似系數(shù)。決策規(guī)則可以表示為:
其中D表示決策結(jié)果。如果特定匹配對的相似系數(shù)S≤T(T為預(yù)設(shè)臨界值),那么該匹配對可以被判定為正匹配對(Positive),代表該匹配對包含的兩個GEIs屬于同一個個體;否則,它將會被判定為負匹配對,代表兩個GEIs不屬于同一個體。
錯誤接收率(False Acceptance Rate,F(xiàn)AR)代表本該判定為負匹配的配對被判定為正匹配占總匹配失敗數(shù)的比例。錯誤識別率(False Rejection Rate,F(xiàn)RR)代表本該判定為正匹配的配對被判定為負匹配占總匹配成功的比例。因為錯誤接收和錯誤拒絕都屬于誤判,所以在步態(tài)識別中需要減少兩種誤判,通常會在FRR和FAR之間尋找到一個平衡點。在該點處FAR和FRR之間的差距最小,該點的值被稱為等誤差率點(Equal Error Rate,EER)。EER將會成為驗證任務(wù)的步態(tài)識別性能的判斷標準。
圖4中,不同值的詳細信息被標注在圖例中,水平軸為不同的不完整GEIs,縱軸為相應(yīng)的EERs。可以看出,由不同幀數(shù)組成的不完整GEIs,在驗證任務(wù)上的步態(tài)識別性能在經(jīng)過端到端的卷積神經(jīng)網(wǎng)絡(luò)還原后被大幅度提升。對于由更多幀組成的不完整GEIs,被還原后它們在驗證任務(wù)上的識別性能甚至超越了完整GEIs的性能。
圖4 不同GEIs計算出的EERs的比較圖例
3.2.2 認同任務(wù)
認同任務(wù)上的步態(tài)識別測試原理和驗證任務(wù)相同,不同的是需要從網(wǎng)絡(luò)輸出組中找到和完整GEIs組中每個個體最相似的GEI,并且根據(jù)相似度給予一個排名。例如,假設(shè)在網(wǎng)絡(luò)輸出和完整GEIs組中各有5個GEIs,對網(wǎng)絡(luò)輸出組中的5個GEIs從1到5標號。對網(wǎng)絡(luò)輸出組中的樣本1,計算完整組中所有可能與之匹配的匹配對之間的相似系數(shù),這樣樣本1就有5個相似系數(shù)。相似系數(shù)最小的匹配對被稱為排名1匹配,表示在相似系數(shù)最小的匹配對中確實存在真值,兩個主體確實屬于同一個體,然后選出排名2匹配,以此類推。
排名n匹配的認同率可以表示為:
其中n可以是任意實整數(shù),排名n的認同率Ridentification等于成功匹配的對數(shù)Nmatching與總對數(shù)Nsamples的比值。如果網(wǎng)絡(luò)輸出組的所有樣本都能從完整GEIs組中在排名n下找到正確匹配,那么該認同率就為100%。
由圖5和圖6可以看出,經(jīng)過端到端的卷積神經(jīng)網(wǎng)絡(luò)還原后的排名5匹配的認同率高于排名1匹配的認同率,與排名5匹配的相似系數(shù)吻合度較高。另外,端到端的卷積神經(jīng)網(wǎng)絡(luò)大幅提升了不完整GEIs的認同率,尤其是對由較少幀組成的不完整GEIs。對于由較多幀構(gòu)成的不完整GEIs,盡管網(wǎng)絡(luò)沒有明顯提升其識別率,但是它們的識別性能在被還原后也幾乎與目標GEIs的識別性能一致??梢?,認同任務(wù)下的識別率提升趨勢與驗證任務(wù)下的趨勢完全相同。
本文提出了一個新的步態(tài)識別方法,解決了由步態(tài)識別時數(shù)據(jù)的不完整性引起的相關(guān)問題??紤]到由不同起始幀或不同幀數(shù)組成的不完整GEIs的外形各不相同,相應(yīng)的完整GEIs卻只有一種外形,本文設(shè)計了一種端到端的卷積神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)經(jīng)過學習大量不完整GEIs的特征后,能從各種不完整GEIs直接恢復出完整的GEIs。所提出的網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合各種不同類型的輸入在OULP數(shù)據(jù)集中測試,還原出的GEIs的重構(gòu)結(jié)果和在驗證任務(wù)、認同任務(wù)上的步態(tài)識別結(jié)果都與目標結(jié)果相接近,甚至OULP數(shù)據(jù)集中由多幀組成的不完整GEIs還原的完整GEIs在驗證任務(wù)上的識別率高于目標完整GEIs。
圖5 Rank-1(排名1)認同率對比曲線
圖6 Rank-5(排名5)認同率對比曲線