朱小鵬,云利軍,2+,張春節(jié),王 坤
(1.云南師范大學 信息學院,云南 昆明 650500;2.云南師范大學 云南省光電信息技術(shù) 重點實驗室,云南 昆明 650500)
人體步態(tài)與虹膜、指紋一樣,作為每個人獨一無二的生物特征[1],在近些年越來越受到了關(guān)注。目前在國內(nèi)對步態(tài)識別也展開了相應的研究,但是相比于虹膜識別、指紋識別以及人臉識別,步態(tài)識別的相關(guān)研究要略顯滯后。在虹膜識別、指紋識別、人臉識別等領(lǐng)域中,深度學習等技術(shù)也早已成為了較為常用的技術(shù)手段,而步態(tài)識別的常用技術(shù)手段依舊停留在使用傳統(tǒng)的圖像處理技術(shù)。相比于虹膜、指紋、人臉等這些生物特征,步態(tài)有著其獨一無二的特點與優(yōu)勢[2]。首先步態(tài)數(shù)據(jù)的采集可以是非接觸式的方式,采集距離可達50 m;其次,步態(tài)數(shù)據(jù)的采集是一種非配合式的采集方法[3],在采集的過程中并不需要被采集人的完全配合,正是由于這些優(yōu)點,所以步態(tài)識別在被用在刑事偵查領(lǐng)域時能夠保證一線公安干警的人身安全。
從目前的步態(tài)識別研究中來看,絕大多數(shù)還是著重于在可見光下對人體步態(tài)數(shù)據(jù)的收集與識別進行研究,而在紅外圖像中的步態(tài)識別的研究工作則較為少見。由于紅外攝像儀與可見光攝像機的成像原理的不同[4],造成了紅外攝像儀的成像質(zhì)量遠不如可見光相機的成像質(zhì)量,但在一些特殊場景和天氣中,例如黑夜、大雨、大雪、濃霧等極端天氣下和可視條件差等情況下,紅外攝像儀仍然能夠保持正常工作[5]?;诩t外攝像儀的這一特性也極大程度上擴展了步態(tài)識別應用的條件與領(lǐng)域。
目前,在步態(tài)識別領(lǐng)域的相關(guān)研究仍然不多,特別是利用深度學習等方法進行步態(tài)識別任務的研究則更為少見?,F(xiàn)有的步態(tài)識別方法中較為典型的就是步態(tài)能量圖(gait engery image,GEI)[6]。通常我們把每個人的行走過程定義成若干個步態(tài)周期組成的集合,而步態(tài)能量圖的主要思想就是把人體行走中的某個步態(tài)周期中的所有輪廓按照某種規(guī)則相疊加在一起,以此構(gòu)成該識別目標的步態(tài)模板,再以此模板去完成相關(guān)的識別任務。該方法的優(yōu)點在于能夠最大程度減少步態(tài)輪廓圖中的噪點干擾,同時也能夠較為有效融合步態(tài)輪廓圖中的空間信息。但是步態(tài)能量圖所存在的不足也較為明顯,當采集步態(tài)信息的時候,如果兩個攝像頭所拍攝的角度有較大差別,那么生成的步態(tài)能量圖勢必會因為角度原因產(chǎn)生差別。
例如,Maryam Babaeea等[7]提出了一種基于深度學習的方法來將不完整的步態(tài)周期轉(zhuǎn)換為相應的完整步態(tài)能量圖(GEI)。更確切地說,這種轉(zhuǎn)變是通過訓練幾個獨立的自動編碼器完成的,然后把它們組合成一個統(tǒng)一的模型。
另外,施沫寒、王志海提出了區(qū)別于單純依靠圖像本身進行步態(tài)識別的方法,將步態(tài)周期中的時間序列作為一個重要的因素,并使用基于Shapelet的時間序列分類方法進行步態(tài)識別[8],但是該方法與深度學習相關(guān)方法相比時僅在數(shù)據(jù)量較小時準確率較好。Hanqing Chao等[9]提出了一種步態(tài)識別的觀念,即把步態(tài)周期中的每幀圖片視為單個步態(tài)特征,再使用深度神經(jīng)網(wǎng)絡(luò)對這些單幀步態(tài)圖片進行特征學習,在使用CASIA-B的數(shù)據(jù)集進行訓練后,最終得出的準確率能夠維持在95%左右。
Zifeng Wu等[10]提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)的步態(tài)識別方法網(wǎng)絡(luò)。通過一小組標記的多視角人類行走視頻,可以訓練深度網(wǎng)絡(luò)以此來對人物身份進行識別。
除了以上這些方法,還有相關(guān)研究人員使用非計算機視覺領(lǐng)域的方法完成了對人體步態(tài)的識別。當視角發(fā)生改變后帶來的是識別準確率的下降,為了解決此問題,Xianye Ben等[11]提出了張量分析法,該方法通過通用的張量表示框架實現(xiàn)了跨視點步態(tài)識別任務。
在研究中,本文采用了CASIA-C步態(tài)數(shù)據(jù)庫[12],該數(shù)據(jù)庫是由中國科學院自動化研究所生物識別與安全技術(shù)研究中心所提供的。CASIA-C步態(tài)數(shù)據(jù)庫為紅外圖像數(shù)據(jù)庫,其中包含了153人在正常行走、快走、慢走、攜帶包走等4種條件下的步態(tài)圖片。CASIA-C數(shù)據(jù)庫為本文的研究提供了基礎(chǔ)條件,但由于紅外攝像機本身的成像原理,造成了CASIA在成像后具有圖像缺失等缺點,因此本文利用傳統(tǒng)圖像處理技術(shù)對該數(shù)據(jù)集進行了前期預處理。
在識別模型方面,采用了本團隊前期的研究成果,在可見光的步態(tài)識別研究中所搭建的LFN模型[13],并在LFN的基礎(chǔ)上做了進一步的改進與優(yōu)化,使得模型的識別準確率和穩(wěn)定性都有了較大的改善,改進后的模型將其稱為LFN V2。
本文實驗采用的數(shù)據(jù)集為生物識別與安全技術(shù)研究中心所提供的紅外步態(tài)數(shù)據(jù)庫,但由于紅外圖像本身存在對比度低、噪點多、邊緣模糊、視覺特性差[14-16]等特點,為了抑制紅外圖像所產(chǎn)生的不屬于步態(tài)的額外信息,本文在該數(shù)據(jù)集的基礎(chǔ)上做了相應的預處理,以滿足本文的實驗要求。在前期使用本團隊搭建的用于可見光的步態(tài)識別模型得到了良好的效果,但由于紅外圖像存在輪廓缺失的情況,從而造成了步態(tài)輪廓特征的丟失,使該模型應用在紅外圖像時出現(xiàn)了不穩(wěn)定的情況?;诖?,本文對模型做了進一步改進。
由于CASIA-C的原始數(shù)據(jù)是把用紅外攝像儀所拍攝的行人步行視頻分解成單幀圖像后,再進行了簡單的前背景分離,這就造成了在CASIA-C數(shù)據(jù)集中每張圖片的行人步態(tài)輪廓并不在統(tǒng)一的位置,當直接把這樣的源數(shù)據(jù)用作模型輸入時,就會導致模型在進行步態(tài)特征學習時,會學習到很多不必要的行人輪廓所處的空間信息,這與我們僅僅只想關(guān)注行人本身的步態(tài)特征相違背。
基于此,本文將對CASIA-C數(shù)據(jù)庫做出相應的預處理,其主要思想就是需要獲得每個行人步態(tài)輪廓的外接矩形,且需要保證外接矩形在每張步態(tài)輪廓的方向一致,以免增加額外的空間信息。因為CASIA-C數(shù)據(jù)集已經(jīng)將所有圖像轉(zhuǎn)為了二值化圖像,所以本文在確定步態(tài)輪廓外接矩形的坐標點時,選擇了直接對圖形的像素點進行逐個掃描。由于圖像本身是二值化圖像,所以當像素值由0變換為255后,就可以判定其屬于步態(tài)輪廓范圍,當把整幅圖像掃描結(jié)束后,將圖像中屬于步態(tài)輪廓的列像素最小的坐標記為ymin, 將列像素中最大的坐標記為ymax, 同時在圖像的行像素中將最小的坐標記為xmin, 最大的行像素的坐標記為xmax。 由這4個點可以得出行人步態(tài)輪廓外接矩形的頂角坐標為 (xmin,ymin), (xmax,ymin), (xmin,ymax), (xmax,ymax), 隨后根據(jù)這4個頂角坐標就可以確定出行人步態(tài)輪廓的外接矩形,并按照這個外接輪廓截取出符合預期的數(shù)據(jù)。按照以上方法進行預處理后的效果如圖1所示。
圖1 輪廓裁剪后的對比
從圖1中可以看出,經(jīng)過預處理后能夠很好丟棄掉不屬于步態(tài)本身的空間特征信息,從而使模型只專注于對步態(tài)特征的提取。同時為了防止后期數(shù)據(jù)歸一化時的人體輪廓的形變,我們按照裁剪出來的人體外接矩形的長或?qū)挼某叽纾谥車畛渖虾谏袼?,使其變?yōu)橐粡堈叫蔚膱D片,以利于后期對數(shù)據(jù)歸一化時調(diào)整圖像大小不會發(fā)生形變。
對數(shù)據(jù)預處理的第二步就是抹除掉人體輪廓中不屬于步態(tài)信息的特征,例如因紅外熱成像本身的原因,使其會記錄下行人在被采集圖像時所穿衣服的大致輪廓,或者是由于行人佩戴了飾品,從而造成圖像局部的空洞。這些因素都會在無意間增加與步態(tài)信息無關(guān)的特征,從而使得模型學習了這些無關(guān)特征后降低模型的泛化能力。
由于非步態(tài)信息的特征在圖像中的表現(xiàn)大多數(shù)為黑色的空洞,所以在這部分的預處理中本文使用了圖像形態(tài)學中的閉運算,其數(shù)學表達式為
img=close(source,element)= erode(dilate(source,element)
(1)
式中:img表示經(jīng)過閉運算得出的最后圖像,close表示閉運算,erode表示圖形學中的腐蝕[17],dilate代表圖形學中的膨脹[18],source表示原圖像,而element則表示在進行閉運算時所需核的尺寸。將閉運算展開之后,可以發(fā)現(xiàn)閉運算的本質(zhì)就是對圖像中人體輪廓部分先進行膨脹以彌合圖像本身的黑洞,再進行腐蝕把由于膨脹而變形的人體輪廓恢復到接近原始的狀態(tài)。經(jīng)過閉運算之后的效果如圖2所示。
圖2 經(jīng)過閉運算后步態(tài)對比
圖2中,圖2(a)、圖2(c)為沒有經(jīng)過閉運算的步態(tài)圖像,圖2(b)、圖2(d)是經(jīng)過閉運算處理后的步態(tài)輪廓圖像。從圖中可明顯看出,經(jīng)過閉運算處理之后的圖像把穿著的衣服、所背包裹以及發(fā)際線帶來的輪廓很好彌合了起來,使得模型著重于對步態(tài)輪廓的學習而不需要對這部分的特征進行學習,從而提高了模型的泛化能力。
在對步態(tài)識別的前期研究中,對可見光條件下的人體步態(tài)識別進行了深入研究,搭建了自己的步態(tài)識別模型并取得了較好的效果。由于紅外圖像的成像質(zhì)量要遠低于普通可見光圖像,而且由于紅外圖像本身的特性給步態(tài)識別帶來了許多額外的信息,使得該模型并沒有在紅外圖像的步態(tài)識別中表現(xiàn)出良好的性能。基于此,本文對該模型進行了改進,以使其能夠在紅外圖像的步態(tài)識別中表現(xiàn)出良好的識別效果。具體方法包括以下3個步驟:
(1)保證LFN的大框架不發(fā)生改變,只在局部進行微調(diào),以保證模型依然具有對步態(tài)特征進行學習的能力??紤]到紅外圖像的步態(tài)輪廓圖具有更多的噪點,導致了圖像具有更多的冗余信息,我們在設(shè)計模型的時候希望獲得更大范圍的步態(tài)特征信息。因此本文在LFN的基礎(chǔ)上取消了全連接層之前的最后一個池化層,以此來獲得更大范圍的步態(tài)輪廓信息。同時,為了抑制圖像訓練中的過擬合現(xiàn)象,把LFN中Dropout隨機隱藏神經(jīng)元[19]的個數(shù)由50%增大到了60%,從而使得模型獲得更強的魯棒性。
(2)把所有的卷積層后連接的激活函數(shù)由線性整流函數(shù)(ReLU)[20]改成了Maxou[21]激活函數(shù),這主要是因為在使用ReLU時如果權(quán)重為負數(shù)的時候梯度將會被置為0,從而導致這個神經(jīng)元有很大的概率將不會再被任何數(shù)據(jù)所激活。Maxout的工作原理類似于池化層,根據(jù)模型設(shè)計者自己設(shè)置的超參k,然后輸出k個參數(shù)中的最大值。由于Maxout具有非常強的擬合能力,所以能夠擬合出任意激活函數(shù)的形態(tài),同時也能夠很好彌補ReLU中神經(jīng)元死亡的缺點。
(3)對LFN的優(yōu)化器以及學習率的調(diào)整策略進行了更改。在LFN中使用的優(yōu)化器為Adam[22],其優(yōu)點在于擁有較高的計算效率同時對內(nèi)存需求較少,并且能夠自動進行學習率的調(diào)整,但在實驗驗證過程中Adam的表現(xiàn)并不穩(wěn)定。所以,本文在優(yōu)化器方面將其改為隨機梯度下降(SGD)的優(yōu)化算法,并將初始學習率設(shè)置為0.05,同時每經(jīng)過30輪訓練后把學習率迭代更改為上次學習率的0.8倍。經(jīng)過實驗驗證,發(fā)現(xiàn)改進之后的LFN V2相比于LFN,在識別能力和正確率的穩(wěn)定性方面都有了較大進步。改進后的LFN V2結(jié)構(gòu)如圖3所示。
圖3 改進后的模型結(jié)構(gòu)
與LFN一樣,改進后的LFN V2對輸入層經(jīng)過一次卷積、激活和池化操作之后,再對得到的圖片張量數(shù)據(jù)賦值為3份,然后用所分得的3份數(shù)據(jù)各自進行相應的計算。上面兩層分別進行卷積、激活、池化等操作后,再把所得的結(jié)果相加,而最下面的一層中池化層核的尺寸要大于上面兩層的池化層,其目的是為了能夠得到與上兩層不同的感受野特征,以此達到更好的效果。
該模型的各部分參數(shù)見表1。
表1 模型結(jié)構(gòu)參數(shù)
由表1可以看出卷積層Conv4中所輸出的張量維度為256,但我們將Maxout的超參設(shè)置為2,卷積層Conv4的維度被Maxout合并為了128,因此該部分數(shù)據(jù)能夠正常與上部分數(shù)據(jù)相合并。
損失函數(shù)的主要作用是衡量當前模型中樣本的預測值與真實值之間的大小,本文中依然選擇了對數(shù)似然函數(shù)作為損失函數(shù),相比與其它的損失函數(shù),在多分類任務中對數(shù)似然函數(shù)要更加簡潔,同時在樣本量足夠多的條件下其收斂性更好。其公式如下所示
(2)
3.1.1 數(shù)據(jù)集設(shè)置
首先,分別從未經(jīng)預處理和經(jīng)過預處理過后的數(shù)據(jù)集中隨機挑選出實驗中將要用到的數(shù)據(jù),其中行人樣本為153個,在每個樣本中隨機挑選出250張圖片,這些圖片中分別包含了正常步行、快步行走、慢速行走以及攜帶包行走,由于250張圖片是隨機挑選的,所以這4類照片的數(shù)量并不嚴格相等。同時,再次將每個樣本中的250張圖片隨機按照80%與20%的比例分為實驗的訓練集與測試集,所得訓練集共30 600張圖片,測試集7650張圖片。
3.1.2 實驗設(shè)置
在實驗設(shè)置中,以同樣的數(shù)據(jù)集作為前提,分別以LFN模型和改進之后的LFN V2模型進行實驗對比,實驗主要分為在同一模型條件下,使用未經(jīng)處理的數(shù)據(jù)集和經(jīng)過處理的數(shù)據(jù)集進行效果對比,ReLU與Maxout效果對比,取消全連接層之前的池化層與未取消全連接層之前的池化層對比,使用Adam優(yōu)化器與SGD優(yōu)化器對比。在比較過程中,主要以測試集的識別準確率為對比目標。在加載實驗數(shù)據(jù)集的時候我們會統(tǒng)一將步態(tài)輪廓圖壓縮成64*64分辨率大小的圖片,然后再輸入模型內(nèi)進行訓練。
此外,由于缺少相關(guān)紅外圖像方面的步態(tài)識別研究,本文將選取非紅外圖像的步態(tài)研究成果作為本次實驗的橫向?qū)Ρ取?/p>
在實驗中,首先使用了原版LFN模型進行了實驗,并將其實驗結(jié)果作為對照組。實驗所用數(shù)據(jù)集如前文介紹,共用153名非重復的行人步態(tài)輪廓,其中每個行人包含200張的訓練集圖片與50張測試集圖片,訓練集與測試集的圖片相互之間不重復。
本文使用LFN模型進行了1000輪的實驗,根據(jù)其實驗結(jié)果中的數(shù)據(jù)繪制了準確率的曲線圖,如圖4所示。
圖4 原LFN模型的識別準確率
圖4中,位于上方的虛線為模型訓練集的正確率,在經(jīng)過1000輪訓練后,模型在訓練集上的準確率能夠達到99.5%以上。圖中下方的實線是模型對測試集的正確率,由曲線可以看出在經(jīng)過800輪的訓練之后,模型對測試集的正確率開始逐漸收斂到97.5%至98.0%之間,其準確率最高可以達到98.24%,但也可以明顯看出,測試集的準確率波動幅度較大。
在ReLU與Maxout的對比中,我們首先采用了未經(jīng)輪廓裁剪與形態(tài)學處理的原始圖像數(shù)據(jù),在該次實驗中,我們僅僅對ReLU與Maxout進行了更換,模型結(jié)構(gòu)與超參設(shè)置均保持不變,使用ReLU進行了1000次迭代訓練后,根據(jù)訓練結(jié)果繪制了準確率曲線,如圖5所示。
圖5 激活函數(shù)為ReLU的識別準確率
由圖5可以看出,使用ReLU激活函數(shù)的模型,在測試集的準確率基本上維持在98%以下。
隨后在同樣的超參設(shè)置下,我們將ReLU改為Maxout后同樣進行了1000次的迭代訓練,訓練結(jié)果如圖6所示。
圖6 激活函數(shù)為Maxout的識別準確率
由圖6可以看出將ReLU改為Maxout后經(jīng)過1000次的迭代訓練,在測試集上的識別準確率收斂到98.5%左右,由以上兩次對比實驗結(jié)果可以看出在未經(jīng)預處理的數(shù)據(jù)集上,使用Maxout的效果要優(yōu)于ReLU的效果。
隨后我們對取消全連接層前面的池化層的合理性同樣進行了實驗驗證,此外在本輪實驗中我們所采用的數(shù)據(jù)集是經(jīng)過上文方法預處理后的數(shù)據(jù)集。同樣地,我們依舊在保證模型基本結(jié)構(gòu)與超參的設(shè)置不變的前提下,將有最后一個池化層和沒有最后一個池化層進行了實驗對比。如圖7所示為保留最后一個池化層后經(jīng)過1000次迭代訓練的準確率曲線。
圖7 保留最后一個池化層的識別準確率
從圖7我們可以明顯的看出,在保留了最后一個池化層后模型在測試集上的準確率是明顯低于98%,且在前100輪訓練中準確率的波動性較大。
隨后我們將經(jīng)過預處理之后的數(shù)據(jù)輸入到經(jīng)過上文所述的改進模型后,在同樣的超參設(shè)置下進行了1000輪訓練,訓練后的準確率如圖8所示。
圖8 LFN V2模型的識別準確率
由圖8可以看出在改進后的LFN V2模型中,在測試集上的正確率平均約在98.8%左右,由上述實驗對比結(jié)果可以看出,雖然在前期由于模型的各種參數(shù)與學習率大小還未達到較為理想的區(qū)間,導致在訓練的前200輪中,測試集的正確率具有較大的波動,但是隨著模型對參數(shù)的學習,以及模型學習率按照預先設(shè)置的條件進行改變后,測試集的準確率波動有了明顯的改善,經(jīng)過400輪訓練后模型在測試集的準確率收斂到了98.8%左右,并在隨后的訓練中一直保持在這個范圍,沒有出現(xiàn)明顯的波動。經(jīng)過改進后的LFN V2模型無論是在模型的穩(wěn)定性以及識別正確率上都優(yōu)于未經(jīng)改進或改進不完全的模型。
由于紅外步態(tài)識別方面的相關(guān)研究較少,所以使用了較為相近的基于可見光的步態(tài)識別的相關(guān)研究成果與本文的模型作橫向?qū)Ρ?,對比結(jié)果見表2。
表2 步態(tài)識別相關(guān)研究對比
表2中所選橫向?qū)Ρ鹊哪P投际菓迷诳梢姽庀碌牟綉B(tài)識別,并且在其研究過程中將人體的步態(tài)按照攝像機不同的角度進行了區(qū)分,且所選用的數(shù)據(jù)皆是其研究數(shù)據(jù)中最好的結(jié)果。雖然從數(shù)據(jù)上看,本文的模型識別結(jié)果要好于其它模型,但是由于應用領(lǐng)域不同及其研究的是不同角度上對步態(tài)識別的結(jié)果,所以其在單一角度上的圖片總量要少于本文數(shù)據(jù)集,因而僅從數(shù)據(jù)上比較并不嚴謹,在此列出的原因僅是為了與本文給出的模型效果進行簡單的橫向?qū)Ρ取?/p>
本文首先對紅外圖像數(shù)據(jù)集進行了預處理,剔除了數(shù)據(jù)集中包含的冗余空間信息,并使用圖像形態(tài)學中的閉運算,先使圖像進行一定程度的膨脹,再對其進行相應的腐蝕操作,以此彌合圖像中冗余的紋理信息。此外提出了一種基于深度學習的紅外人體步態(tài)識別方法。其模型主要來源于本團隊早期為可見光人體步態(tài)識別設(shè)計的一個深度學習模型,并在此模型的基礎(chǔ)上進行了改進。經(jīng)過實驗驗證,改進之后的模型對紅外圖像中的人體步態(tài)識別的準確率和穩(wěn)定性有了較大的提升。