張加加,王修暉
(中國計量大學 信息工程學院,浙江 杭州 310018)
近年來,隨著人臉識別和指紋識別技術的日益成熟,越來越多的學者將目光轉向了其它人類身份識別方法,其中,步態識別算法逐漸成為眾多學者研究的一個熱點。步態識別是計算機視覺和生物特征識別領域中的一個研究方向。在計算機視覺中,人體運動步態的視覺分析是從運動輪廓圖像序列中進行人的檢測、跟蹤和識別[1];在生物特征識別中,是利用人的生理或行為特征進行人身份的鑒別[2]。步態識別算法的過程可以分成三步:運動分割、特征提取與描述、步態識別。與人臉識別、指紋識別等生物特征識別技術相比,步態識別最大的優勢[3]是不需要近距離的接觸,它可以在遠距離的情況下用于識別一個人的身份,正是因為步態識別的遠距離非接觸性的優點,所以步態識別技術在智能監控[4]和醫療診斷[5]方面已經有了一定的研究究成果。
在傳統的步態識別中,都是人們手動設置模型參數來提取步態特征,然后用這些步態特征來訓練分類器,而深度學習中的卷積神經網絡(convolutional neural network,CNN)是一種能夠自適應學習特征的方法。傳統的步態識別方法可以分為兩類:基于模型的方法和基于特征的方法。基于模型的方法是先構建一種人體模型,然后跟蹤分析模型的參數,最后進行步態識別。在最新研究中,基于人體骨架模型的步態識別方法得到了較好的研究成果,文獻[6]介紹了一種利用kinect傳感器提取人體骨架信息構建一個數學模型來進行步態識別的方法。基于特征的方法是直接從人體圖像中提取出步態的特征數據用于步態識別。文獻[7]提出了一種基于連續密度隱馬爾科夫模型的人體步態識別方法,該方法借助于Cox回歸分析的漸進自適應算法對訓練過的步態模型進行參數自適應和步態識別。劉磊等[8]選擇下肢表面肌電信號等特殊步態識別信息源,提出了一種基于多核相關向量機的人體步態識別方法。Chen等[9]提出了一種利用2D-EGEI提取步態特征的方法來進行步態識別。Wang等[10]提出了一種利用Gabor小波優化步態能量圖,并使用(2D)2PCA方法進行降維的步態識別方法。此外Sagar[11]提出了一種融合兩種模型來進行步態識別的方法。實際上,以上提出的方法都是基于傳統步態特征的提取和描述。基于傳統模型的方法雖然在一定程度上緩解了各種外界障礙物的影響,但對于解決不同視角下步態特征之間的高度非線性相關性依然缺乏有效的建模手段,且無法很好的自適應學習步態特征。
自2012年AlexNet問世至今,幾乎在每年的ILSVRC大賽上都會出現一個更加優秀、更具有統治地位的CNN網絡模型出現。其中知名的模型有AlexNet[12]、GoogLeNet[13]、VGGNet[14]和ResNet[15]。近年來卷積神經網絡發展迅速,在圖像分類問題上更是大放異彩,例如張等[16]提出的一種Joint-Res CNN在人臉識別上可達到93.12%的識別率;薛等[17]提出的一種CNN網絡模型結構在SAR圖像分類上的準確率可達到98.98%。以卷積神經網絡為基礎的模型提供了對圖像和序列數據進行特征抽取的有效方式,步態識別作為以圖像序列為輸入的任務,也適合運用深度學習方法進行建模。基于神經網絡的非線性模型也給消除步態識別中外界障礙物的影響提供了有效的解決手段,例如Wu等[18]提出的基于CNN的跨視角步態識別方法的識別率可以高達94.1%。
鑒于CNN網絡結構能夠自適應提取特征,以及對圖像的平移、比例縮放、傾斜等變換具有高度不變性,我們提出了一種基于CNN的步態識別方法。首先我們訓練一個CNN網絡模型提取個體步態序列圖像的特征,最后利用SVM分類器對個體進行分類識別。我們的主要貢獻有:1)提出了兩種多通道CNN網絡結構,使步態特征更加多樣性;2)將CNN網絡結構和SVM分類器結合起來構建了一個新的步態識別架構,有效地提高了步態識別的正確率;3)在公開步態數據集CASIA和OU-ISIR上進行了驗證測試,并取得了較好的分類效果。
為了能夠自動學習人體步態圖像的特征,我們提出的步態識別方法,結合了CNN自適應提取特征和SVM泛化能力強的優點。我們將整個步態識別過程分為兩個階段:第一階段利用CNN網絡結構自動提取步態訓練集的步態特征,并將這些步態特征作為第二階段的輸入;第二階段采用支持向量機(support vector machine, SVM)進行步態識別和分類。我們采用步態輪廓圖作為算法的輸入,并構造出對應的步態能量圖(GEI),流程圖如圖1。

圖1 步態識別流程圖Figure 1 Flowchart of the proposed gait recognition method
CNN主要由卷積層、池化層和全連接層組成。在本文中,我們使用的步態訓練集和步態測試集都是經過預處理的步態能量圖(GEI),步態能量圖經過卷積、池化提取局部步態特征信息,然后用全連接層整合卷積層或者池化層中的局部信息,輸出對應輸入步態能量圖的特征向量。訓練時將全連接層的輸出特征向量連同訓練樣本的標簽一同輸入到損失函數層進行損失計算,最后利用反向傳播算法來訓練我們的CNN網絡結構,經過多次迭代訓練出一個最優的CNN網絡模型,從中取出全連接層輸出的步態特征向量作為第二階段SVM分類器的輸入。
在本文中,我們提出了三種不同的CNN網絡結構來提取步態特征,分別是單通道卷積CNN網絡結構(SCNN)、早期多通道卷積CNN網絡結構(ECNN)和晚期多通道卷積CNN網絡結構(LCNN),如圖2。這三種CNN網絡結構都是由三層卷積,三層池化,一層全連接層組成,所有卷積核的滑動步長都為1,卷積后使用激活函數ReLU,所有池化窗口的大小都為2×2,滑動步長為2,全連接層中,我們添加了dropout函數。值得注意的是在早期多通道卷積CNN網絡結構和晚期多通道卷積CNN網絡結構中,我們分別在不同階段添加了多通道卷積技術。

圖2 三種CNN網絡結構Figure 2 Three CNN network structures
1)在單通道CNN網絡結構(SCNN)中,我們使用的是簡單的單通道CNN網絡結構,輸入為一張步態能量圖(GEI),輸出為這張步態能量圖(GEI)對應的步態特征。單通道CNN網絡結構中,第一層卷積核的大小為9×9,卷積核數量為16,第二層卷積核大小為7×7,卷積核數量為64,第三次卷積核大小為5×5,卷積核數量為256。
2)在早期多通道卷積CNN網絡結構(ECNN)中,我們在第二層卷積中,應用了多通道卷積技術,多通道卷積技術能夠得到具有多樣性特征的步態特征面。我們將得到的多樣性步態特征整合到一起作為第三層卷積的輸入,在多樣性步態特征的基礎上,第三層卷積后的步態特征會更具有代表性。早期多通道卷積CNN網絡結構中,第一層卷積核的大小為9×9,卷積核數量為32,第二層的多通道卷積中,一個通道的卷積核大小為7×7,另一個卷積核的大小為5×5,兩個通道的卷積核數量都為32,經過Concat連接后得到64個特征面,第三層卷積核大小為5×5,卷積核數量為256。
3)晚期多通道卷積CNN網絡結構(LCNN)和前一個網絡結構很相似,它們的不同之處是在于何時應用多通道卷積技術。在這個網絡結構中,我們在最后一層應用多通道卷積技術,將第二層卷積后得到的步態特征利用多通道技術再一次進行卷積,這次卷積后得到的多樣性步態特征直接作為我們的輸出步態特征。晚期多通道卷積CNN網絡結構中,第一層卷積核的大小為9×9,卷積核數量為32,第二層卷積核大小為7×7,卷積核數量為64,第三層的多通道卷積中,一個通道的卷積核大小為7×7,另一個卷積核的大小為5×5,兩個通道的卷積核數量都為128,經過Concat連接后得到256個特征面。
本文提出了三種不同的CNN網絡結構,第一種單通道卷積CNN網絡結構(SCNN)是最原始的CNN網絡結構,它所提取的圖像特征比較少,不具有多樣性,對圖像識別的結果有一定的誤差。第二種和第三種都是一種創新的CNN網絡結構,融合了多通道卷積技術。兩者的主要區別是第二種CNN網絡結構中的多通道卷積核僅將一些簡單的圖像特征融合后再傳入第三層卷積層,而第三種CNN網絡結構中的多通道卷積核提取的都是抽象的高級圖像特征,因此在最后的識別效果上是最好的。和第一種單通道卷積CNN網絡結構相比,第二種和第三種多通道卷積CNN網絡結構模型較復雜,訓練時間大約增加了一倍。
步態訓練集經過第一階段CNN網絡結構的全連接層后可以得到一個低維的步態特征向量,本階段利用SVM將第一階段提取的步態特征向量從一個低維空間映射到高維空間,然后在這個新的空間中求取樣本的最優線性分類面,而這種非線性變換是通過定義適當的核函數實現的。特征空間最優線性分類面函數如式(1):
(1)
其中,(x,xi)是步態樣本特征空間中的兩類可分樣本集,yi∈{1,2,…,n}是步態樣本特征空間的類標記,b是分類閾值,k(xi,x)是通過滿足Mercer條件而引入的代替特征空間內積的非線性核函數。本文算法使用RBF核函數進行計算:
(2)
通過求取下列函數Q(α)的最優化解αi(i=1,2,…,n)來確定最優分類面函數。
(3)
(4)
式(3)是不等式約束下的二次函數極值求解,滿足式(4)的條件且αi≥0,i=1,2,…,n。由核函數k(x,xi)的正定性決定了Q(α)是凸函數,由于其局部最優解也就是全局最優解,因此解是唯一的。最優化的過程實際上就是使分類間隔最大的過程。
支持向量機的最優分類函數為
(5)
訓練時將第一階段全連接層的輸出特征向量連同訓練樣本的標簽一同輸入到SVM訓練器中,經過調整核函數的參數,得到一個優化后的SVM分類器。
經過訓練CNN網絡結構和SVM分類器,整個步態識別方法的識別模型就已經形成了,將我們的步態測試集放入這個步態識別模型中,就可以自動得到每個步態個體的類別標簽。本文提出的基于CNN和SVM融合的步態識別算法工作流程如下:
//訓練CNN網絡模型階段
Input:步態訓練集X={x1,x2,…,xn}
Output:步態訓練集對應的步態特征
1:初始化所有的權值和偏置;
2:for epoch =1 to MAXEPOCH do;
3:卷積層提取特征;
4:池化層降低特征向量維數;
5:將特征向量連接到全連接層;
6:計算每個樣本的實際輸出;
7:計算網絡中權值和偏置的偏導數;
8:使用反向傳播算法更新所有權值和偏置;
9:End for
//SVM模型訓練階段
10:輸入CNN網絡模型訓練階段提取的步態特征向量;
11:調整核函數的參數;
//測試
12:將步態測試集數據放入訓練好的整個模型中,得出每個步態個體的類別。
在該部分中,為了驗證方法的有效性和可行性,分別在CASIA-B和OU-ISIR Large Population這兩個步態數據庫上進行了實驗評估。利用三種不同的模型來進行步態識別實驗,通過調節模型參數及對比實驗結果反饋,驗證基于CNN與SVM網絡模型對步態識別的可行性及有效性。
本實驗的計算機配置:服務器4臺,GPU顯卡12塊,內存128 GB+256 GB,機械硬盤4TB+12TB,固態硬盤400 GB 2個,512 GB 2個;軟件配置:TensorFlow。
CASIA-B數據庫是個多視角的步態數據庫,該數據庫提供了124個對象在三種不同條件下的步態能量圖(Gait Energy Image, GEI),分別是正常條件(NM)、背包條件(BG)和穿大衣條件(CL),每種條件下又包含了11種不同的視角。每個個體都有10組步態序列圖像,其中正常條件下的步態序列有6組,背包條件和穿大衣條件下各2組。在圖3中我們列舉了一個個體在CASIA-B數據庫中的數據樣本。

圖3 CASIA-B數據集中的步態樣本示例Figure 3 Gait samples from CASIA Dataset B
實驗中,所有輸入圖片的大小經過調整后為200×200,在CNN網絡結構訓練階段,所有網絡都經過了20 000次循環,每個批次用11張圖像,網絡初始學習率為0.000 1,在SVM訓練階段,我們使用的核函數為RBF,懲罰因子C設為100,gamma設為0.000 01。
3.1.1 NM環境下的實驗對比結果
在該實驗中,使用的訓練集是4組Galley NM集,測試集是2組Probe NM集,實驗得出了各個角度下的識別率。將實驗結果分別和文獻[9]、[10]兩種傳統方法和[19]中提出的基于神經網絡的方法進行了對比,對比結果如表1。

表1 NM環境下各角度識別率的實驗對比Table 1 Correct recognition rates of different algorithms under the NM condition %
3.1.2 BG和CL環境下的實驗對比結果
在該實驗中,我們用的訓練和測試方法和文獻[20]中提出的方法一樣,[20]和[21]文提出的都是一種基于傳統的特征提取的步態識別方法。為了驗證我們提出的方法對背包和穿大衣狀態具有魯棒性,將我們的實驗結果和文獻[20]、[21]中的實驗結果進行了對比,實驗對比結果如表2。

表2 BG和CL環境下識別率的實驗對比
3.1.3 實驗結果分析
由表1可以看出,我們提出的三種步態識別方法和其它三種方法相比,在各角度下的識別率都具有明顯優勢,這是因為我們提出的方法所用的步態特征是利用步態能量圖(GEI)所提取的平均步態周期性變化特征,然后利用卷積神經網絡(CNN)自適應學習特征的能力提取更抽象的步態特征,最后利用SVM分類器進行步態分類,結合了步態能量圖、卷積神經網絡(CNN)和SVM三者的優勢。從表2中,可以看到,我們提出的方法在識別率上遠遠高于其它兩種方法,主要也是因為本文用于提取步態特征的方法有效地利用了卷積神經網絡(CNN)自適應提取更抽象的步態特征的優勢,而文獻[20]和[21]兩種基于傳統的步態特征提取方法無法很好的自適應學習步態特征,且僅利用了步態能量圖(GEI)作為步態特征。通過兩個實驗對比結果可以看出,不管是在NM環境下,還是在BG和CL環境下,我們提出的方法和其它方法相比都具有明顯的優勢,這說明我們提出的方法在步態識別上確實是可行的。
OU-ISIR大型人口數據庫包括4 000多個個體,個體的年齡范圍是1到94歲,每個個體使用四個視角的攝像機進行記錄:55°、65°、75°和85°。在所有常用于步態識別評估的數據集中,該數據集是受試者數量最多的數據集之一,因此在性能評估方面具有可靠性。圖4顯示的是OU-ISIR Large Population數據庫上的樣本實例。

圖4 OU-ISIR數據庫中的步態樣本實例Figure 4 Gait samples from the OU-ISIR Dataset
實驗中,所有輸入圖片的大小為88×128,經過CNN網絡結構的卷積池化以后,最終得到的是大小為11×16的特征面。在CNN網絡結構訓練階段,所有網絡的都經過了20 000次循環,每個批次用40張圖像,網絡初始學習率為0.000 01,在SVM訓練階段,我們使用的核函數為RBF,懲罰因子C設為100,gamma設為0.000 01。在表3中,我們記錄了每個角度的識別率,并且和Iwama等人[22]提出的利用GEI特征的步態方面進行了對比。
表3 OU-ISIR Large Population數據庫上各角度實驗對比結果
Table 3 Correct recognition rates on the OU-ISIR Large Population Dataset

角度/(°)SCNN/%ECNN/%LCNN/%GEI/%5588.0089.8090.4084.706591.0092.2093.0086.637590.4090.8091.4086.918585.6087.8089.7085.72
從表3可以看出,本文提出的方法識別率也是高于Iwama提出方法的識別率的,和文獻[23]、[24]一樣,他們都是傳統的非自適應學習特征的方法,僅利用了步態能量圖(GEI)作為步態特征。由此可以進一步得出,不管是在CASIA-B數據庫中還是OU-ISIR Large Population數據庫中,利用卷積神經網絡(CNN)自適應學習能力提取的步態特征具有廣泛性和有效性,因為卷積神經網絡提取的特征具有高度不變性,再結合SVM分類器的非線性特征,就可以達到很好的分類效果。通過以上三個實驗的對比結果,我們不難看出,本文提出的結合CNN和SVM分類器的步態分類方法,的確具有廣泛的可執行性。
本文將CNN網絡和SVM分類器結合起來應用在了步態識別上,從實驗結果可以看出,本文提出的步態識別方法得確取得了很好的識別效果,但我們的方法只是多視角的步態識別,并不是跨視角的識別方法,且是在有監督的情況下進行步態特征學習的,所以我們接下來的研究重點就是如何在無監督的情況下,訓練出一種能取得較好識別效果的步態模型,并將它做成一個完整的步態系統。