瞿斌杰,孫韶媛,Samah A.F.Manssor,趙國順
(1.東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海 201620;2.東華大學(xué)數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海 201620)
生物識別技術(shù)通過計算機與光學(xué)、聲學(xué)、生物傳感器及生物統(tǒng)計學(xué)原理等高科技手段密切結(jié)合,利用人體固有的生理特性和行為特征來進行個人身份的鑒定。當前諸如面部、虹膜、指紋和簽名之類的生物識別技術(shù)已廣泛用于身份認證。這些生物識別技術(shù)的局限性在于需要被測者的配合來獲取特征信息。步態(tài)是一種重要的生物特征,它克服了上述限制,在不受控制的情況下無需對象合作,攝像機可以很容易地在遠距離捕獲目標并采集信息[1]。目前步態(tài)識別方法主要分為基于模型的方法和基于外觀的方法。
基于模型的方法試圖建立模型以從視頻序列重建人體的基礎(chǔ)結(jié)構(gòu)。文獻[2]通過構(gòu)建身體結(jié)構(gòu)模型來完成步態(tài)識別,文獻[3]從多個相機重建的3D步態(tài)數(shù)據(jù)進行識別。3D 數(shù)據(jù)比2D 數(shù)據(jù)能夠傳遞更多的信息,但采集成本高限制了其應(yīng)用。
基于外觀的方法將步態(tài)圖像序列作為輸入。此類方法首先從視頻序列中提取二進制輪廓序列,然后用多種方法將步態(tài)輪廓序列處理成單張的步態(tài)特征圖,如步態(tài)能量圖像(Gait Energy Image,GEI)[4]即是廣泛使用的一種步態(tài)特征,其通過在整個步態(tài)周期上平均輪廓序列獲得,GEI 包含了步態(tài)周期的空間信息。此外,還有其他步態(tài)特征,如運動歷史圖像(Motion History Image,MHI)[5]。受MHI 的啟發(fā),文獻[6]提出了運動剪影圖像來嵌入步態(tài)剪影的時空信息,文獻[7]提出了用于步態(tài)識別的步態(tài)流圖像。
盡管目前基于深度學(xué)習(xí)的步態(tài)識別算法已經(jīng)取得了一些成果,但是步態(tài)識別面臨著諸多挑戰(zhàn),如視角的變換、著裝變化和攜帶物等。在視角的變換方面[8],由于一般攝像頭均為固定狀態(tài),當行人由不同的方向進入攝像采集區(qū)域時,會造成多視角下目標姿態(tài)不同的問題。針對這種視角變化問題,文獻[9]將來自不同視角的樣本表示為在原對應(yīng)視圖下的線性組合,通過提取特征表示系數(shù)進行分類,文獻[10]提取一種基于均值的視角不變步態(tài)特征方法,并基于形狀距離測量步態(tài)相似性。文獻[11]提出了基于頻域特性和視圖轉(zhuǎn)換的模型。在此基礎(chǔ)上,文獻[12]進一步應(yīng)用線性判別分析簡化計算。因此,構(gòu)造視角轉(zhuǎn)換模型可以在較小代價下實現(xiàn)精度較高的識別效果。在著裝變化方面,人的著裝在很大程度上會改變?nèi)梭w的輪廓,尤其在著裝較厚或者衣物較長的情況下,會對人體姿態(tài)形成遮擋,影響步態(tài)的識別效果。在攜帶物方面,在前景分離的過程中,人所攜帶的物品極有可能被當作人體的一部分而被提取出來,從而影響步態(tài)特征的準確性。若該行人在其他時刻未攜帶物品或攜帶其他物品,則較難實現(xiàn)精確識別。
本文提出一種基于視角轉(zhuǎn)換的步態(tài)識別方法。通過VTM-GAN 網(wǎng)絡(luò)將不同視角下的步態(tài)特征統(tǒng)一轉(zhuǎn)換至90°狀態(tài)下,即目標運動方向與拍攝方向呈垂直狀態(tài),采用視角轉(zhuǎn)換后的步態(tài)數(shù)據(jù)構(gòu)建步態(tài)正負樣本對,擴充用于網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)來增加模型的泛化能力,將時空雙流卷積神經(jīng)網(wǎng)絡(luò)作為步態(tài)識別網(wǎng)絡(luò),并在CASIA-B 數(shù)據(jù)集上進行了實驗驗證。
良好的步態(tài)序列預(yù)處理可以提升實驗效果,因此將原始步態(tài)序列中的圖像經(jīng)過混合高斯模型背景差分[13]、形態(tài)學(xué)處理以及尺寸歸一化等操作后能夠得到質(zhì)量較高的步態(tài)二值圖。
基于混合高斯模型的背景差分法是一種較常用的背景減除算法,該算法認為像素間顏色互不相關(guān),對每一像素點的處理都是獨立的。通過對每個背景像素點建立2 個~3 個高斯模型后分別進行前背景匹配,得到背景圖象后進行差分運算得到步態(tài)前景圖。
通過背景差分后得到的步態(tài)二值圖往往存在較多的空洞以及噪聲,因此,引入圖像形態(tài)學(xué)處理中的開運算[14],即先腐蝕再膨脹來消除噪聲以提高步態(tài)輪廓的質(zhì)量,開運算數(shù)學(xué)表達式如式(1)所示:
其中,A表示待處理圖像,B表示開運算所定義的結(jié)構(gòu)體用以遍歷圖像。
經(jīng)過前兩步得到的步態(tài)二值圖中,目標位置及大小往往因為拍攝角度以及目標位置的改變不盡相同,所以采用步態(tài)尺寸歸一化得到步態(tài)二值圖序列。將每個歸一化后的輪廓圖B表示為:
其中,(x,y)表示步態(tài)圖左上角坐標,w和h分別表示為歸一化后二值圖的寬度和高度,實驗中為了減少因縮放尺度給圖像質(zhì)量帶來的影響,將歸一化二值圖的寬高比例設(shè)置為1,即w=h=240。歸一化二值圖的高度為目標的高度,再對每個目標的中心(Gx,Gy)進行計算,其中x的計算如式(3)所示:
對步態(tài)二值圖進行平均化相加操作來獲取GEI,其定義如式(4)所示:
其中,g(x,y)為步態(tài)能量圖,Sq,t(x,y)表示在第q個步態(tài)序列中時刻t的步態(tài)剪影圖中坐標為(x,y)的像素值。
對于CGI 的合成,本文參考了文獻[15]提出的方法,在GEI 基礎(chǔ)上,通過該方法將步態(tài)二值圖序列根據(jù)三通道RGB 色彩的映射,來保留GEI 圖像中損失的時間信息。
本文主要以VTM-GAN 網(wǎng)絡(luò)作為視角轉(zhuǎn)換網(wǎng)絡(luò),以時空雙流卷積神經(jīng)網(wǎng)絡(luò)作為步態(tài)識別網(wǎng)絡(luò),步態(tài)視角轉(zhuǎn)換網(wǎng)絡(luò)VTM-GAN 基于Cycle-GAN 網(wǎng)絡(luò)[16],將不同視角下 的GEI 轉(zhuǎn)換成90°狀態(tài)下 的GEI,從而構(gòu)建擴充的正負數(shù)據(jù)樣本對。時空雙流卷積神經(jīng)網(wǎng)絡(luò)同時保留時間空間信息,通過距離度量判斷同時輸入的樣本是否來源于同一個目標。
VTM-GAN 網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。VTM-GAN 網(wǎng)絡(luò)具有2 個輸入端,本質(zhì)上是2 個鏡像對稱的GAN 網(wǎng)絡(luò),共有2 個G1生成器、2 個G2生成器及2 個鑒別器,在每一對生成器間共享權(quán)值且采用跳躍鏈接技術(shù)。該網(wǎng)絡(luò)思想是源于Cycle-GAN 網(wǎng)絡(luò),在網(wǎng)絡(luò)中有兩個數(shù)據(jù)域A和B,該網(wǎng)絡(luò)從域A獲取輸入圖像并傳遞到第一個生成器G1,完成從域A至域B圖像的轉(zhuǎn)換。然后新生成的圖像被傳遞到另一個生成器G2,再完成從域B到域A圖像的轉(zhuǎn)換,其目的是在原始域A轉(zhuǎn)換回圖像A'。輸出A'必須與原始輸入圖像相似,用來定義非配對數(shù)據(jù)集中原來不存在的映射。
圖1 VTM-GAN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of VTM-GAN
該網(wǎng)絡(luò)的損失函數(shù)主要由對抗損失、身份損失、身份保持損失、循環(huán)一致性損失以及分類損失組成。網(wǎng)絡(luò)的對抗損失主要由兩部分組成,對于映射A→B和它對應(yīng)的判別器DB,損失函數(shù)可以定義為:
同理,對于映射B→A和它對應(yīng)的判別器DA,損失函數(shù)可以定義為:
當網(wǎng)絡(luò)優(yōu)化時,對于生成器G1即去最小化目標函數(shù)式(5),而對于鑒別器即去最大化目標函數(shù)式(5),如式(7)所示:
對于生成器G2就是去最小化目標函數(shù)式(6),而對于鑒別器就是去最大化目標函數(shù)式(6),如式(8)所示:
因為映射G1完全可將所有域A中的圖像轉(zhuǎn)換成域B中同一張圖像,從而導(dǎo)致?lián)p失無效化,所以引入循環(huán)一致性損失同時學(xué)習(xí)G1和G2兩個映射,并要求G2(G1(a))≈a以及G1(G2(b))≈b,該損失如式(9)所示:
綜上所述,可得網(wǎng)絡(luò)總損失如式(10)所示:
其中,λ用于調(diào)節(jié)循環(huán)一致性損失在總損失中的比重。
生成器是負責(zé)域A到域B的圖像的生成,輸入一個域B的圖片生成域B的圖片b',用于計算b'與輸入b的損失稱為身份損失,而身份保持損失的作用是不僅希望生成的GEI 看上去像同一個人,而且能夠保持原有的身份信息,因此引入分類損失,并使分類器與生成器進行競爭,與鑒別器進行協(xié)作,將真實圖片與生成的圖片作為輸入,然后預(yù)測它們的標簽,希望兩者間預(yù)測得到的是同樣的標簽,并且使生成的特征盡可能地靠近真實的特征。
基于以上的思想,將步態(tài)數(shù)據(jù)庫中不同視角、不同狀態(tài)風(fēng)格下的步態(tài)特征圖統(tǒng)一轉(zhuǎn)換為90°狀態(tài)下正常行走風(fēng)格的步態(tài)特征圖,從而完成對步態(tài)數(shù)據(jù)庫樣本的擴充并且消除了多視角對于步態(tài)識別的影響[17],如圖2 所示,其中,NM 表示正常狀態(tài),BG 表示背包狀態(tài),CL 表示穿外套狀態(tài)。
圖2 視角轉(zhuǎn)換示意圖Fig.2 Schematic diagram of view transformation
表1 所示為網(wǎng)絡(luò)生成器的具體參數(shù),其中,輸入尺寸為240 像素×240 像素×1 通道。采用的Unet 網(wǎng)絡(luò)結(jié)構(gòu)由編碼器及解碼器兩部分構(gòu)成,并且在第4 層編碼器之后之間引入[?1,1)范圍內(nèi)遵循均勻分布的噪聲,反卷積層的第一層設(shè)置Dropout 大小為0.5。跳躍連接將d1 與e3、d2 與e2、d3 與e1 進行合并。
表1 生成器參數(shù)Table 1 Generator parameters
表2 所示為網(wǎng)絡(luò)鑒別器參數(shù),其中輸入尺寸為240 像素×240 像素×1 通道。對輸入圖像進行特征提取,然后確定該輸入是否屬于某特定類別,鑒別器最后一層卷積層通過產(chǎn)生一維輸出來完成鑒別。
表2 鑒別器參數(shù)Table 2 Discriminator parameters
時空雙流卷積神經(jīng)網(wǎng)絡(luò)具有左右兩側(cè)輸入端,網(wǎng)絡(luò)的左右兩側(cè)具有相同結(jié)構(gòu)和參數(shù),兩側(cè)輸入的樣本對可以通過模仿減法運算來得到一對特征的差別,隨后可以通過兩者的差別進而得到樣本間的相似度。其主要思想是通過一個函數(shù)將輸入映射到目標空間,在目標空間基于距離度量的歐式距離來對比相似度。在分別計算每對樣本差值之前,只使用線性投影,這是由卷積核在最底卷積階段實現(xiàn)的,即在網(wǎng)絡(luò)底層進行特征的融合,能夠在輸入端減少數(shù)據(jù)復(fù)雜度,進而能夠一定程度地減少網(wǎng)絡(luò)復(fù)雜度,更易于計算。一對卷積核可接受兩個輸入,可以看作權(quán)重比較器。在每個空間位置,首先分別對其兩個輸入的局部區(qū)域重新加權(quán),然后將這些加權(quán)后的項相加來模擬減法。在底層融合之后的深層卷積層可以從樣本對之間的差異中學(xué)習(xí)更多復(fù)雜信息。
在網(wǎng)絡(luò)的頂層設(shè)置一個Softmax 二分類器來判斷輸入樣本對是否為同一目標,利用邏輯回歸損失對整個網(wǎng)絡(luò)進行訓(xùn)練。該預(yù)測器可用式(11)表示:
其中,x和xi為輸入樣本對,?將x和xi映射到同一空間,與此同時,φ計算兩個輸入的權(quán)值差,η作為預(yù)測器來預(yù)測最終的相似度,?可由一層或多層卷積層和全連接層組成,φ必須有兩個輸入并且可由一個卷積層或全連接層構(gòu)成,預(yù)測器η由全連接層和Softmax層構(gòu)成,Si為預(yù)測器。
該網(wǎng)絡(luò)在訓(xùn)練階段最小化來自相同類別的一對樣本的損失函數(shù)值,最大化來自不同類別的一對樣本的損失函數(shù)值。給定一組映射函數(shù)Gw(X),其中參數(shù)w為共享參數(shù)向量,目的是尋找一組參數(shù)w,使得當X1和X2屬于同一類別時,相似性度量較小,且最小化損失函數(shù)。當屬于不同類別時,相似性度量較大,且最大化損失函數(shù)。其中,X1和X2是網(wǎng)絡(luò)的一組輸入圖像,Y為輸入組的一個0,1 標簽,如果輸入為同一個人,即一組正對,那么Y=0,否則Y=1,相似性度量公式如式(12)所示:
綜上,該網(wǎng)絡(luò)可以用式(13)簡明地表示為:
其中,Wl和分別代表了一對樣本第l層的權(quán)值,f為非線性激活函數(shù),本文采用Relu 作為非線性激活函數(shù)。
網(wǎng)絡(luò)結(jié)構(gòu)及各層參數(shù)設(shè)置如圖3 和表3 所示,在表3 中,輸入尺寸為240 像素×240 像素×2 通道。因為是對稱的網(wǎng)絡(luò),所以左右兩側(cè)網(wǎng)絡(luò)參數(shù)相同網(wǎng)絡(luò)中的N 為批歸一化技術(shù),網(wǎng)絡(luò)中的D 為Dropout 技術(shù),通過減少每次訓(xùn)練時的參數(shù)量,提高了模型準確率,增強了模型的泛化能力。
圖3 時空雙流卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of spatial-temporal double flow convolutional neural network
表3 網(wǎng)絡(luò)參數(shù)設(shè)置Table 3 Setting of network parameters
本文采用CASIA-B[17]數(shù)據(jù)集作為實驗數(shù)據(jù),該數(shù)據(jù)集是一個大規(guī)模、多視角的步態(tài)庫,其中共有124 個人,每個人有11 個視角(0o,18o,36o,…,180o),并在普通條件(NM)、穿大衣(CL)以及攜帶包裹(BG)這3 種行走條件下采集。實驗的具體流程依次為步態(tài)圖像預(yù)處理、GEI 及CGI 的合成、VTM-GAN網(wǎng)絡(luò)視角轉(zhuǎn)換、步態(tài)樣本對構(gòu)建、時空雙流卷積神經(jīng)的網(wǎng)絡(luò)訓(xùn)練,最后通過測試得到各視角下的準確率。
本文算法使用PyTorch1.4框架,實驗的軟硬件配置如下:CPU為Intel i5-6600,內(nèi)存為8 GB,GPU為NVIDIA GTX 1060,操作系統(tǒng)為Windows10,CUDA為9.2。
圖4 所示為實驗得到的各角度不同狀態(tài)下CASIA-B 的GEI,其能很好地表現(xiàn)步態(tài)的速度、形態(tài)等特征。
圖4 不同角度及狀態(tài)下的步態(tài)能量圖Fig.4 Gait energy diagrams at different angles and states
圖5 所示為將步態(tài)二值圖序列通過RGB 三通道色彩映射后得到的CGI 圖像,通過色彩映射保留了步態(tài)序列的時間信息。
圖5 CGI 圖像示例Fig.5 Examples of CGI image
圖6 所示為通過視角轉(zhuǎn)換后的到的計時步態(tài)圖像(CGI)步態(tài)樣本。圖7 所示為將不同視角下、不同行走狀態(tài)下的步態(tài)能量圖像(GEI),通過VTM-GAN網(wǎng)絡(luò)轉(zhuǎn)換成90°狀態(tài)下的結(jié)果示例,圖中每3 列為一組,每一列分別包含輸入步態(tài)、實際步態(tài)和正常視圖中的合成步態(tài)。
圖6 CGI 視角轉(zhuǎn)換后結(jié)果Fig.6 Result of CGI after view transformation
圖7 GEI 視角轉(zhuǎn)換后結(jié)果Fig.7 Results of GEI after view transformation
為衡量該視角轉(zhuǎn)換網(wǎng)絡(luò)的準確性,本文采用余弦相似度來判斷參考圖像與合成圖像的相似度,余弦相似度公示如式(14)所示:
其中,Ai、Bi分別代表參考圖像與合成圖像。如果合成圖像與參考圖像通過式(14)計算所得結(jié)果越接近1,那么兩圖就越接近,即合成GEI 的信息保留程度就越高。
如圖8 所示,通過計算參考步態(tài)以及合成步態(tài)的余弦相似度,發(fā)現(xiàn)兩者的相似度總體在98.5%以上,因為從0°及180°轉(zhuǎn)換至90°的視角跨度較大,所以相似度有所下降。
圖8 視角轉(zhuǎn)換后合成步態(tài)與參考步態(tài)的余弦相似度Fig.8 Cosine similarity between the synthesized gaits and the reference gaits after the view transformation
在視角轉(zhuǎn)換前,一共擁有124×10=1 240 個側(cè)視圖下的步態(tài)樣本,而將CASIA-B 的124 個目標的GEI 以及CGI 樣本全部經(jīng)過視角轉(zhuǎn)換后,每種共有124×10×11=13 640 個側(cè)視圖下的樣本,視角轉(zhuǎn)換突破了原數(shù)據(jù)庫多視角上的限制,大大擴充了可訓(xùn)練的步態(tài)樣本數(shù)量。本文使用CASIA-B 中的NM01-NM04、CL01、BG01 序列作為訓(xùn)練集,即124×6×11=8 184 個特征來構(gòu)建正負樣本對用于時空雙流卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,每個目標包含了6×11=66 個側(cè)視圖下的GEI 及CGI,任選同一目標的兩個GEI 及兩個CGI構(gòu)成一組正樣本對,則共可構(gòu)成對,即2 145 對。因此,對于124 個目標,總共可以構(gòu)成265 980 對正樣本對。同樣,隨機選取某一目標的一個GEI 及一個CGI,再選取其他目標的某一個GEI 及某一個CGI 來構(gòu)建負樣本對。本文構(gòu)建的正負樣本對都為265 980 對,即各占總樣本對的一半。通過這種樣本構(gòu)建方法,網(wǎng)絡(luò)訓(xùn)練過程中的樣本量成倍增加,緩解了模型因數(shù)據(jù)量較少而產(chǎn)生過擬合問題。
時空雙流卷積神經(jīng)網(wǎng)絡(luò)采用Adam 進行優(yōu)化,設(shè)置初始學(xué)習(xí)率為0.000 1,訓(xùn)練過程中采用自適應(yīng)方式調(diào)節(jié)各個參數(shù)的學(xué)習(xí)率。用二分類交叉熵損失作為模型的目標函數(shù)訓(xùn)練網(wǎng)絡(luò),訓(xùn)練集由數(shù)量相同的正負樣本對構(gòu)成,Mini-Batch 尺寸為128,每訓(xùn)練一個Mini-Batch進行一次網(wǎng)絡(luò)的權(quán)值更新,損失函數(shù)如式(15)所示:
其中,L(y,y)為二分類交叉熵損失函數(shù),y和y分別為預(yù)測值與真實值。
在訓(xùn)練中,每5 000 次對模型進行一次測試得到如圖9 所示的訓(xùn)練準確率及損失變化曲線,時空雙流卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過將近1 600K 次迭代后,網(wǎng)絡(luò)損失函數(shù)和訓(xùn)練準確率逐漸開始趨于穩(wěn)定,表明模型已經(jīng)趨于穩(wěn)定。
圖9 網(wǎng)絡(luò)損失及訓(xùn)練準確率變化曲線Fig.9 Network loss and training accuracy curves
對網(wǎng)絡(luò)進行測試時,分別采用CASIA-B 中NM05-NM06、CL02、BG03 序列中的每個視角下的GEI作為測試集。首先將待測試樣本利用VTM-GAN網(wǎng)絡(luò)進行視角轉(zhuǎn)換至側(cè)視狀態(tài)下,此時一共可以得到124×11×4=5 456 個測試GEI。然后隨機在某類樣本中選擇一個作為基樣本,將待測樣本與基樣本構(gòu)成一組樣本對輸入至訓(xùn)練好的時空雙流卷積神經(jīng)網(wǎng)絡(luò)中,如圖10 所示,最終得到NM、BG 和CL 各狀態(tài)下各視角的平均準確率分別為94.4%、92.5% 和90.5%。
圖10 NM、BG 及CL 狀態(tài)下平均測試準確率Fig.10 Average test accuracy in NM,BG and CL states
將本文方法與文獻[18]提出的基于3DCNN 方法、文獻[19]提出的Deterministic Learning 方法以及文獻[7]提出的SST-MSCI 方法進行比較,如圖11所示,本文方法在視角為0°時識別準確率略低于SST-MSCI 方法,但是在剩余的視角下,識別準確率均高于其他幾種算法。此外,將本文方法與文獻[20]提出的GaitGAN 方法進行了對比,該方法在NM 狀態(tài)下識別準確率達到了98.75%,但在BG 以及CL 狀態(tài)下本文方法均高于GaitGAN 算法在這兩種狀態(tài)下的識別準確率。
圖11 不同方法識別準確率的對比Fig.11 Comparison of recognition accuracy of different methods
本文采用基于視角轉(zhuǎn)換的方法進行步態(tài)識別研究,針對目前步態(tài)識別中多視角、缺少對步態(tài)時間信息的利用以及數(shù)據(jù)量較少等問題,結(jié)合VTM-GAN網(wǎng)絡(luò)將不同視角下的步態(tài)樣本統(tǒng)一轉(zhuǎn)換至保留步態(tài)信息最豐富的90°狀態(tài)下,從而構(gòu)建擴充的步態(tài)樣本對訓(xùn)練時空雙流卷積神經(jīng)網(wǎng)絡(luò)。實驗結(jié)果表明,與3DCNN、Deterministic Learning 等步態(tài)識別方法相比,本文方法在各角度下步態(tài)識別準確率有所提升,驗證了基于視角轉(zhuǎn)換方法的有效性。但是針對多視角狀態(tài)下的步態(tài)識別仍需改進,如研究更精準的行人檢測模型來獲取精確的步態(tài)數(shù)據(jù),并結(jié)合多種生物特征的優(yōu)點研究特征融合識別算法。