秦月紅,王 敏
(河海大學 計算機與信息學院,南京 211100)
步態(tài)是指走路時所表現的姿態(tài)和動作,目前對于步態(tài)的研究一般是對人類步行運動的研究.與指紋、人臉、虹膜等不同的是,步態(tài)是唯一可在遠距離非侵犯條件下獲取并利用的生物特征.心理學、醫(yī)學等領域的研究表明,步態(tài)具有唯一性,每個人的走路姿勢都不相同,因此步態(tài)可以用來鑒別身份.步態(tài)識別就是一種利用步態(tài)鑒別身份的技術.隨著監(jiān)控視頻的覆蓋率逐漸擴大,視頻清晰度的不斷提升,步態(tài)識別在公安刑偵、社會安全、身份認證等領域逐漸發(fā)揮起重要作用[1].由此,步態(tài)識別在計算機視覺領域也掀起了一片研究熱潮.
然而,步態(tài)識別仍然面臨著很多挑戰(zhàn),拍攝視角、衣著、攜帶物、行走環(huán)境的變化等因素大大影響了步態(tài)識別的準確率.而在眾多干擾因素中,最常見的就是拍攝視角的變化,因為在實際情境中人行走的方向和視頻拍攝之間的角度是最難控制且變化最多的.解決跨視角步態(tài)識別問題,是本文研究的重點.
在深度學習領域,生成對抗網絡[2](Generative Adversarial Networks,GAN)自2014年提出以來就一直是學術界的研究熱點,其原理為生成器和判別器的相互作用.在圖像處理方面,對于修復受損圖像、生成全新圖像等應用場景,GAN的效果非常好.受此啟發(fā),本文通過對生成對抗網絡改進,將任意視角或行走狀態(tài)下的步態(tài)模板轉換成特定視角且正常狀態(tài)的步態(tài)模板,進而去除干擾,提取有效的步態(tài)特征,從而提高步態(tài)識別的準確率.
本文的結構安排如下,第1部分介紹了近年來國內外對于步態(tài)識別的研究成果,第2部分介紹所提出的基于生成對抗網絡的跨視角步態(tài)特征提取方法,第3部分展示了所提出方法與其他相關方法的的實驗結果對比與分析,第4部分對全文進行了總結與展望.
近年來,隨著深度學習的發(fā)展,越來越多的研究人員將深度學習用于步態(tài)識別技術中.如Shiraga等人將步態(tài)能量圖作為模板,提出了基于卷積神經網絡的步態(tài)識別模型GEINet[3].Wu等人在文獻[4]中提出的基于深度卷積神經網絡的3種模型(deepCNNs)就取得了非常優(yōu)異的效果,該模型輸入為一對步態(tài)圖像,經特征提取和計算,輸出的是兩個樣本的相似度,文中還對不同情況下三種模型的性能進行的對比分析.
為了克服衣著和攜帶物對識別效果的影響,Liao等提出了一種從原始視頻中提取人體姿態(tài)關鍵點的方法[5],然后利用基于姿態(tài)的時空網絡學習步態(tài)特征.Feng等提出了基于長短時記憶模塊的人體姿態(tài)估計模型[6],針對人體關節(jié)熱圖進行特征提取.
為了解決跨視角步態(tài)識別問題,一些研究人員試圖利用3D重建的方法,以通過在所需視角下投影3D模型來生成任意的二維視圖,但這種方法通常需要嚴格的環(huán)境條件和巨大的計算代價.目前,解決跨視角問題最常見的方法是構建能夠將步態(tài)特征從一個視圖投影到另一個視圖的轉換模型.Makihara等[7]提出了一種視圖轉換模型,主要是利用奇異值分解的方法計算每個步態(tài)能量圖的投影矩陣并計算出視角特征值.受魯棒的主成分分析在特征提取上的良好表現的啟發(fā),Zheng等[8]提出了一種魯棒的視圖轉換模型用于步態(tài)識別.Bashir等[9]提出了一種基于高斯過程的框架來預估測試集中的步態(tài)視角的方法,然后運用典型相關分析得出不同視角的步態(tài)序列的相關性.此外,Yu等人在文獻[10]中提出了一種用自動編碼器(SPAE)去除來自于攜帶物、衣著等影響因素,之后將不同視角的步態(tài)模板特征轉換到統(tǒng)一側面視角的模型.但訓練自動編碼器過程較為復雜,要按照任務拆分從下至上依次訓練,逐層累加,各層累加完畢后要對整個網絡重新調整.
受GAN在多領域圖像翻譯上的優(yōu)秀效果的啟發(fā),本文提出了一種基于生成對抗網絡跨視角的步態(tài)特征提取方法,主要思想是步態(tài)模板的多視角和多狀態(tài)轉換.生成對抗網絡是一種深度學習模型,是近年來復雜分布上的無監(jiān)督學習領域中最具前景的方法之一.例如,Choi等人在2017年提出的StarGAN[11]模型在人臉表情、發(fā)色轉換的效果非常驚人,堪稱GAN在多領域圖像翻譯中的典型成功案例.GAN的實現方法是讓生成器和判別器進行博弈,訓練過程中通過相互競爭讓這兩個模型同時得到增強.Yu等在2017年提出的GaitGAN[12]就是將GAN用于視角轉換來進行步態(tài)特征提取,與傳統(tǒng)GAN不同的是,GaitGAN使用了兩個判別器來確保生成圖片真實且保留有效的身份信息.但這種方法只是把任意視角的步態(tài)模板轉換成了側面視角的步態(tài)模板,并不能應對實際情況中復雜的多視角變換問題.此外,He等人在2019年提出的MGANs[13]也是一種基于GAN的多任務視角轉換模型,該文首次將流形學習的概念引入步態(tài)視圖特征轉換,同時還提出了一種新的步態(tài)模板周期能量圖(PEI).
圖1給出了整個算法的流程圖.首先,所有測試集、訓練集和驗證集的步態(tài)視頻序列都被統(tǒng)一處理成同一種步態(tài)模板.對于測試集中的一個a視角下的測試樣本pa,驗證集是含有n個樣本的b視角下的某種行走狀態(tài)的樣本集合假定pa一定與上述驗證集中的某個樣本具有相同身份,我們的目標就是確定pa的身份是{1,2,…,n}中的哪一個.具體過程是,測試樣本的步態(tài)模板pa首先經過一個編碼器E編碼得到隱特征zp=E(pa),然后經過一個視角轉換器V把zp從視角a轉換到視角b,得到視角轉換后的特征隱表示zg=V(zp,a,b).將zg以及行走狀態(tài)的標簽聯(lián)合輸入到生成對抗網絡中的生成器,得到視角b下的正常行走狀態(tài)的假特征模板的隱表示.在整個算法模型中,對生成器和判別器的訓練是尤為重要的,通過對生成器與判別器進行迭代交叉訓練,使得所得到的在達到視圖轉換的同時最大化的保留身份信息.對于驗證集中的所有步態(tài)模板gbi同樣經過E的編碼得到隱特征其中i∈{1,2,…,n}.最終確定pa的身份是視角b驗證集中的gbx,利用最近鄰分類器的計算公式如下:
其中,‖·‖2代表L2范數.
圖1 算法流程圖
本文提出的算法使用的步態(tài)模板為步態(tài)能量圖[14](GEI).在還沒有運用深度學習的方法研究步態(tài)識別問題時,Han等人在文獻[14]中提出的利用GEI和主成分分析進行數據降維的方法(GEI+PCA)在正常行走狀態(tài)下就取得較好的效果,只是該方法較易受到衣著、攜帶物、視角變化等因素的影響.GEI是步態(tài)識別技術中最常用的步態(tài)模板,具有計算簡便且能保留原有的步態(tài)序列的周期性的特點.簡單來說,步態(tài)能量圖就是一個完整周期內的所有步態(tài)剪影圖的平均,如圖2所示.
圖2 步態(tài)能量圖的合成過程
GEI中的像素值可以解釋為一個步態(tài)周期內,人體占據GEI中像素位置的概率.由于GEI在步態(tài)識別中的成功應用,本文也采用GEI作為輸入的步態(tài)模板.本文提取GEI的方法與Zheng等人在文獻[8]中提出的方法相同.
本文提出的基于生成對抗網絡的跨視角步態(tài)特征提取模型主要包含4個部分:(1)基于卷積神經網絡的編碼器用于對GEI中的特征進行編碼;(2)視角轉換器用來將一個視角的步態(tài)模板轉換到另一個視角;(3)生成器用于生成視角轉換之后的假GEI;(4)判別器用于判斷生成器生成的圖像的真實性并判斷其是否保留了原有輸入的身份信息.接下來對每部分進行具體介紹.
2.3.1 編碼器
為了獲得有用的特征進行步態(tài)識別,本文提出的模型中引入了一個基于卷積神經網絡的編碼器,具體結構如表1所示,其主要由4個卷積層構成.在特征提取的最初階段,輸入是a視角下的步態(tài)能量圖pa.為了減少計算量,提高訓練速度,圖片尺寸縮放為64×64像素.之后使用均值池化并經過全連接層得到步態(tài)特征隱表示zp.非線性激活層采用L-ReLU函數.
表1 編碼器的組成
2.3.2 視角轉換器
在跨視角的步態(tài)識別問題中,如何在保留步態(tài)模板的身份特征的情況下轉換其視角非常關鍵.根據流形學習的理論,我們所觀察到的數據實際上是由一個低維流形映射到高維空間的.可以假設輸入的步態(tài)模板位于一個低維的流形上,沿著該流形移動的樣本可以實現視角的轉換[13].從視角a到視角b的轉換過程可以用如下公式表示:
其中,za和zb是經過編碼器編碼后得到的步態(tài)特征隱表示,wi表示從視角i–1到視角i的轉換向量.與傳統(tǒng)的視角轉換方法不同的是,本文提出的模型是將視圖的特征轉換到一個隱空間.具體的轉換過程是通過沒有偏置的全連接層來完成的,從而減少重建視圖所積累的錯誤.全連接層的權重可以表示為nb表示角度的標簽,每個角度對應一個權值.因此,編碼視角a到b的過程用向量可以表示為其中eiab∈{0,1},進而視圖轉換過程可以表示為如下公式:
2.3.3 生成器
視角轉換器的輸出就是生成器的輸入,主要由5個反卷積層構成,具體參數如表2所示.生成器的作用是生成與真實GEI難以區(qū)分的假圖片,但由于步態(tài)識別的結果受衣著、攜帶物等不同行走狀態(tài)的影響,所以本文方法中引入了行走狀態(tài)的獨熱編碼作為標簽來控制輸出的GEI的行走狀態(tài)為正常狀態(tài),從而消除穿大衣、背包等干擾因素.定義生成器的輸入是[zb,c],其中zb是經過視角轉換后的視角b下的步態(tài)特征隱表示,c為需要生成的行走狀態(tài)的獨熱編碼,通過生成器的反卷積過程得到重構后的步態(tài)能量圖yb.
表2 生成器的組成
2.3.4 判別器
判別器的主要任務有兩個:(1)判斷生成圖片的真實性;(2)判別該生成圖片的域是否為指定的角度域和狀態(tài)域.與編碼器類似,判別器主要由4個卷積層構成,具體參數如表3所示.判別器的輸入為生成器生成的假圖片yb和真實圖要注意這里的應是與生成的yb所指定的角度域、狀態(tài)域一致的真實GEI.通過對生成器和判別器的迭代訓練,可以確保生成器生成足夠真實且保留原有身份信息的假GEI.
表3 判別器的組成
2.4.1 重構損失
為了使生成圖像盡可能多的保留原始身份信息,最為重要的就是將真實圖與生成圖的逐像素損失最小化,因此提出了重建損失,公式如下:
其中,∥ ·∥1代表L1范數,E、V、G分別表示編碼器,視角轉換器和生成器,pa是a視角下的原始輸入GEI,c表示行走狀態(tài)的獨熱編碼,是真實的GEI.
2.4.2 對抗損失
對于生成器和判別器的訓練,我們采用的是常見的對抗損失,公式如下:
其中,E、V、G、D分別代表編碼器、視角轉換器、生成器和判別器,pa是a視角下的原始輸入GEI,c表示行走狀態(tài)的獨熱編碼,是真實的GEI.
2.4.3 目標損失函數
最終的關于E、V、G、D的最終目標損失函數定義如下:
其中,λ是用來調節(jié)重建損失和對抗損失的所占比重的超參數,在本文提出的算法訓練過程中,λ=0.0001.定義最終損失函數后,使用反向傳播算法對編碼器、視角轉換器、生成器和判別器進行訓練.
3.1.1 CASIA-B數據集
CASIA-B步態(tài)數據集[15]是中國科學院自動化研究所提供的開源跨視角數據集,其中包括124人(31女,93男),拍攝視角有11個(從0°到180°,每18度為一個間隔),三種行走狀態(tài).每人有10個視頻序列,6個為正常行走狀態(tài)(nm01–nm06),2個為穿大衣行走狀態(tài)(cl0,cl02),2個為背包行走狀態(tài)(bg01,bg02).
3.1.2 OUMVLP數據集
OUMVLP數據集[16]是目前規(guī)模最大的多視角步態(tài)數據集,由日本大阪大學提出,其中包括10 307個人(5114男和5193女),年齡范圍從2到87歲,每人有14個視角(0°,15°,…,90°;180°,195°,…,270°)和兩個視頻序列(#00作為驗證集,#01作為測試集).
對于CASIA-B數據集,實驗中我們規(guī)定前62人(ID:001-062)作為訓練集,后62人(ID:063-124)作為驗證集,并將測試集分為正常行走(nm)、背包(bg)、穿大衣(cl)及3種狀態(tài)混合(all)共4類,分別進行4組實驗,具體見表4.訓練過程的迭代次數為80 000次,學習率為1×10–5.
表4 CASIA-B實驗設計
對于OUMVLP數據集,為了驗證模型的魯棒性,便于與CASIA-B數據集做比較,實驗中我們從所有人中隨機抽取62人作為訓練集,再從剩下的人中隨機選擇幾組(62人為一組)作為驗證集(#01)和測試集(#00).
經過在CASIA-B數據集上的實驗,3種行走狀態(tài)下與所有情況下的平均rank-1準確率如表5所示.
為了對實驗結果更加直觀的進行分析,我們選擇了3種在非跨視角情況下取得較好識別效果的方法(GEI-PCA[14],SPAE[10],GaitGAN[12])在同樣數據集上的平均rank-1準確率進行了對比.圖3為測試集與驗證集視角相同條件下識別準確率的柱狀圖,從圖中可以看出在nm和bg狀態(tài)下,本文提出的方法與其他3種方法沒有較大優(yōu)勢,但在cl狀態(tài)下,識別準確率有所提升,驗證了本文方法對于衣著這個干擾因素具有更好的適應性.
表5 3種行走狀態(tài)下的平均rank-1準確率(單位:%)
圖3 同視角下的平均rank-1準確率比較
為了更好驗證本文方法是否在跨視角步態(tài)識別上更具優(yōu)勢,在排除相同視角的情況下,我們選取了54°、90°和126°三種典型視角與 deepCNNs[4]、SPAE[10]、GaitGAN[12]及MGANs[13]4種方法進行了比較,這4種方法代表了近年來利用深度學習進行跨視角步態(tài)識別研究的最先進成果.具體結果如表6所示.
由于幾年來在OU-MVLP數據集上的實驗數據不多,所以下面只選擇了GEINet[3]與本文提出的實驗結果進行比較,如表7所示.
綜合2個數據集上的實驗結果可以得出結論,在測試集與驗證集視角不一致的情況下,本文提出的方法的平均rank-1準確率具有大幅度的提升,因此,該方法能較好地解決跨視角步態(tài)識別問題.
表6 CASIA-B排除相同視角下3種典型視角的識別準確率 (單位:%)
表7 OU-MVLP排除相同視角下的rank-1準確率 (單位:%)
結合3.3部分的實驗結果,不難發(fā)現,在相同視角的步態(tài)識別問題上,本文提出的模型雖然不是最優(yōu)但并沒有顯著劣勢,且在穿著大衣的干擾因素下與其他方法相比具有更好的效果.在跨視角步態(tài)識別問題上,本文方法的平均rank-1準確率有了大幅度的提升.這主要由于本文提出的模型在同視角識別的狀態(tài)下,與傳統(tǒng)深度學習方法相比沒有做出過多改進,而在跨視角識別問題和攜帶物、衣著變化上則具有一定優(yōu)勢.
此外,隨著行走狀態(tài)的改變,從表5可以看出,3種情況對于步態(tài)識別準確率的影響程度是cl>bg>nm,這與以往研究結果一致.這是由于步態(tài)識別最重要的部分在于提取腿部特征,所以在穿著大衣的情況下能保留的腿部有效信息是最少的,所以該情況下識別準確率會收到較大影響.對于跨視角步態(tài)識別問題,觀察表5不難發(fā)現,視角在90°左右的識別效果較好,而在0°和180°附近時識別效果較差.這是由于在90°狀態(tài)下,可以提取到的腿部變化的信息是最多的,隨著跨度增大,提取的有效信息逐漸變少,從而導致不同視角下的識別準確率差異較大.
綜上所述,本文提出的模型能較好的解決跨視角步態(tài)識別問題,且在行走狀態(tài)變化情況下具有一定的魯棒性,實驗結果也驗證了該方法是有效且可行的.
本文提出了一種基于生成對抗網絡的步態(tài)特征提取方法,能有效緩解拍攝視角、衣著和攜帶物變化等因素對步態(tài)識別結果的影響,在CASIA-B和OUMVLP數據集上的實驗結果驗證了本文提出的方法可以對步態(tài)模板進行任意角度的轉化并提取出包含有效身份信息的步態(tài)特征.同時,與現有的其他方法的比較也表明本文的方法是有效且可行的.
然而,目前所做的工作還不夠,實驗所用的數據集的規(guī)模還比較小,識別準確率也還不夠高.今后,在訓練階段要使用更大規(guī)模的數據集,使用網絡結構更復雜且更具魯棒性的模型.相信未來生成對抗網絡的發(fā)展會更好,使得包括步態(tài)識別在內的其他問題取得新的研究突破.