趙佳鑫, 張雅麗, 施新凱, 李御瑾
(中國人民公安大學 信息網(wǎng)絡安全學院, 北京 100038)
視頻偵查技術具有可以突破時空限制、證據(jù)固定等優(yōu)勢,逐步成為公安辦案的新手段。 在視頻偵查工作中,目標識別與追蹤工作一直是案件偵破的重要環(huán)節(jié),其效率與準確性至關重要。 犯罪分子因其反偵查意識越來越強,在作案過程中往往是全副偽裝,使得很多技術手段受限。 現(xiàn)有的人臉識別技術主要應用在人像卡口或裝有高清監(jiān)控設備的場景下,犯罪嫌疑人在實施犯罪的過程中會故意利用攝像頭盲區(qū)、偽裝人臉圖像信息等致使身份無法識別。 而步態(tài)識別可以利用現(xiàn)有攝像頭進行遠距離識別,嫌疑人難以隱藏與偽裝,在視頻偵查中具有明顯的優(yōu)勢,成為近年來身份識別領域研究的熱門。
步態(tài)識別是一種分析行人走路的姿態(tài),利用算法將其從步態(tài)數(shù)據(jù)庫中識別出來的方法,已經在行人無更換外衣、無攜帶、攝像方向無改變的情況下,具有較高的識別正確率,然而面對復雜的真實場景,該技術仍有許多不容易解決的問題,如:行走路面不平和攝像頭角度變化會產生視角問題,有無穿外套和是否攜帶包裹產生遮擋問題,這些因素導致其在復雜的實際行走過程中識別正確率仍然較低。
本文主要研究基于深度學習的步態(tài)識別技術,在GaitSet 模型中利用Triplet 和Softmax 聯(lián)合損失函數(shù)來提升行人在穿大衣和攜帶包裹這兩種情況下的步態(tài)識別正確率。
識別步態(tài)有兩種主要方法, 第一種方法將步態(tài)視為圖像,典型的代表是提取步態(tài)能量圖。 步態(tài)能量圖是步態(tài)識別任務中最常用的特征圖,其主要工作是把一組剪影圖對齊壓縮成一張圖片,利用步態(tài)模板對行人進行分類,通過計算在長時間范圍內的平均步態(tài)剪影,可以減少在預處理階段中由于處理不完全而殘留的噪點。 步態(tài)能量圖是當前最常用的步態(tài)識別方法之一,能夠實現(xiàn)計算量與識別準確率相對均衡,一直以來都被當作步態(tài)識別的代名詞。但這種方法沒有考慮到步態(tài)中的時序信息和空域信息,其步態(tài)識別正確率并不高。
第二種方法將步態(tài)視為視頻序列來處理,直接從最初的剪影序列中提取步態(tài)特征,常使用LSTM方法、3D-CNN 方法或者雙流法(two stream)。 視頻信號和語音信號都含有時序信息,而LSTM 模型通常用于處理這些帶有時間順序的信息,首先利用卷積神經網(wǎng)絡提取每幀視頻的步態(tài)特征,然后利用LSTM 對時序關系建模;3D-CNN 模型可以處理視頻比圖像多出的時間維度,常被用于視頻分類工作,然而由于其計算任務重以及計算周期較長,往往難以在實際中得到真正的應用。
雙流法是包含RGB 圖像和光流兩個通道的視頻行為識別方法。 其中,光流通道被用來建模時序信息, RGB 圖像通道被用來建??沼蛐畔?,該方法將兩個通道進行信息融合,并聯(lián)合訓練,可以很好的建模步態(tài)序列中的時序和空域信息,但其往往會受限于一些外部因素。
為了兼顧運算量與識別正確率,Chao 等人提出了一套新的解決方案:把步態(tài)特征看作一組由視頻幀組成的圖像序列。 行走是一種周期性的運動,所以步態(tài)可以選用其中一個周期進行表示。 在一個周期的步態(tài)序列中,可以觀察到不同位置的剪影,都具有可以區(qū)別于其他剪影的外形,如圖1 所示。
圖1 一個周期的步態(tài)剪影Fig.1 A cycle of gait silhouette
僅需通過觀察步態(tài)剪影的大致形狀,便能一一分辨,即使面對已經被全部打亂順序的步態(tài)剪影圖,也能再次組成其原本正確的順序。 因此,假定步態(tài)剪影的外形本身就包含著順序,進而剪影圖的先后信息將不再是必要的輸入,能夠直接把步態(tài)視為一組圖像來提取時序信息。 Chao 等人在此理論基礎上,提出了一種GaitSet 深度學習網(wǎng)絡模型,添加聯(lián)合損失函數(shù)后網(wǎng)絡框架如圖2 所示。
圖2 添加聯(lián)合損失函數(shù)GaitSet 框架圖Fig.2 GaitSet frame diagram for adding joint loss function
本文采用GaitSet 模型結構。 GaitSet 模型十分靈活,輸入僅會對輪廓圖的大小加以限制,即輸入的序列可以包含有不同角度、具有隨意組合的行走狀態(tài)、數(shù)量不受限的、可間斷的剪影。 該模型不計算一對步態(tài)序列間的相似度,而是直接學習步態(tài)的表示。因此,只需要對每個樣本的表示計算一次,就能夠通過測量不同樣本的表示之間的歐式距離來進行分類識別。 GaitSet 極 大 地 提 高 了 在 CASIA - B 和OUMVLP 兩大公開數(shù)據(jù)集的識別性能,顯示了其在不同視角和多行走條件下的強大魯棒性以及對大型數(shù)據(jù)集的高泛化能力。
聯(lián)合損失函數(shù)將多種損失函數(shù)結合,起到聯(lián)合優(yōu)化的效果。 本文采用Softmax loss 和Triplet loss兩個損失函數(shù)聯(lián)合訓練的方法,增大步態(tài)示例類間距離,縮小步態(tài)示例類內距離,使得模型在多個損失函數(shù)的優(yōu)化下,提高表征能力。
Triplet 損失函數(shù)通常用于訓練差異性較小的示例,其具體公式(1):
其中,L表示損失;表示錨(anchor)示例;表示正(positive)示例;表示負(Negative)示例;表示一組Batch 中的所有示例個數(shù)。
Softmax 損失函數(shù)最常用于處理圖像多分類任務,其具體公式(2):
最終的聯(lián)合損失函數(shù)公式(3):
其中,和分別代表Triplet 和Softmax 兩個損失函數(shù)的權重;當0 且≠0 時為Softmax 損失函數(shù);當0 且≠0 時為Triplet 損失函數(shù);當≠0 且≠0 時為聯(lián)合損失函數(shù)。
CASIA-B 是2005 年由中國科學院自動化研究所提出的免費公開人體步態(tài)數(shù)據(jù)集,該數(shù)據(jù)集是一個具有大規(guī)模、多角度、多行走條件等優(yōu)勢的通用數(shù)據(jù)集,在步態(tài)識別領域具有很高的地位。 數(shù)據(jù)集中的步態(tài)信息共包含124 個不同身份的行人(ID 編號為1 ~124),每個行人分別從11 個視角(0° ~180°)對普通行走(NM)、穿大衣(CL)和攜帶包裹(BG)這3 種行走條件進行錄制, NM 行走條件錄制6 次、CL 和BG 兩種行走條件各錄制2 次,視頻中某個ID 的行人在普通行走條件下,不同視角的步態(tài)圖像例子如圖3 所示。
圖3 NM 類型步態(tài)圖像示例Fig.3 Example of NM type gait image
每個數(shù)據(jù)集具有13 640 個步態(tài)視頻,同時擁有1 364 個背景視頻,總計15 004 個,視頻幀的長度也在幾個到幾百個不等,共占用16 GB 的內存。 而在實驗時,在對數(shù)據(jù)集的信息進行整理分析的過程中,發(fā)現(xiàn)026 和027 兩個行人ID 的步態(tài)視頻因為數(shù)據(jù)本身存在瑕疵而無法正常使用,同時剪影圖中行人輪廓在109 號視頻中也基本沒有出現(xiàn),所以能用到的視頻總共有14 614 個,步態(tài)視頻約占91%,其余各類視頻占9%。 數(shù)據(jù)經過預處理之后,產生人體步態(tài)圖像約1 116 300 張,占用內存3.2 GB 左右。預處理后,行人ID 為010,在攜帶包裹條件下,01 次錄制,視角為90°的剪影圖像如圖4 所示;預處理后,行人ID 為010,在穿大衣條件下,01 次錄制,視角為90°的剪影圖像如圖5 所示。
圖4 CASIA-B 數(shù)據(jù)集預處理后攜帶包裹剪影圖像Fig.4 BG silhouette image after preprocessing of CASIA-B data set
圖5 CASIA-B 數(shù)據(jù)集預處理后穿大衣剪影圖像Fig.5 CL silhouette image after preprocessing of CASIA-B data set
在GaitSet 網(wǎng)絡模型的基礎上,將CASIA-B 數(shù)據(jù)集采用大樣本訓練的劃分形式。 按照慣例,所劃分的訓練集部分要完全的輸入到GaitSet 網(wǎng)絡進行訓練。 但在驗證的過程中,由于所有行人中的部分步態(tài)圖像需要作為對照組,所以另一部分未被作為對照而是用作識別的步態(tài)圖像被稱為探針。 因為要均衡NM、BG、CL 三者之間的量,防止其中某一行走條件的信息過多或者過少,所以實驗過程中,將所有行人ID 中的nm-05、06、cl-01、bg-01、cl-02、bg-02剪影圖像用作識別,剩余的nm-01、02、03、04 剪影圖像組成步態(tài)圖庫。
本次實驗使用8 個NVIDIA Tesla K80 12 G 顯卡,全連接隱層數(shù)量為256,學習率為0.000 1,視頻提取幀數(shù)為30,批尺寸為8×16,三元組損失Margin為0.2,訓練輪數(shù)80 000。
在訓練過程中,把100 輪分為一組,共訓練800組,每組的平均損失函數(shù)如圖6 所示。 可以觀察到,與單獨使用Triplet 損失函數(shù)單調遞增趨勢不同的是,聯(lián)合損失函數(shù)整體呈現(xiàn)單調遞減趨勢。 由于訓練的所有Batch 數(shù)據(jù)都是由隨機目標ID 的隨機類型、隨機角度和隨機幀序列等組成,所以每個相鄰Step 之間都有一定程度的震蕩,因此損失值最終能收斂到margin 值附近即合理。
圖6 損失函數(shù)曲線Fig.6 Loss function curve
在聯(lián)合損失函數(shù)權重的設置中,公式(3)中和的不同取值,會影響模型的最終識別效果,為了達到在穿大衣和攜帶包裹兩種情況下較高的識別正確率,需選取最佳的值和值,本文對和分別采用1:0、0.9:0.1、0.8:0.2、0.7:0.3、0.6:0.4、0.5:0.5、0.4:0.6、0.3:0.7、0.2:0.8、0.1:0.9、0:1,共11 組不同的權重分配方法進行實驗,對比結果如圖7 所示。
圖7 兩類損失函數(shù)在不同權重下的測試結果對比Fig.7 Comparison of the test results of the two types of loss functions under different weights
當0 且1 時,表示單獨使用Softmax 損失函數(shù)訓練GaitSet,精確度曲線如圖8 所示。
圖8 僅使用Softmax loss 訓練GaitSet 的精確度曲線Fig.8 Only use the Softmax loss to train the accuracy curve of GaitSet
可以看出,雖然在單獨使用Softmax 損失函數(shù)訓練GaitSet 網(wǎng)絡時,最終分類精確度很高,但是在圖7 的測試結果中,采用0、1 權重訓練得到的模型,在3 種行走狀態(tài)下的識別正確率都很低,可見Triplet 損失函數(shù)是必不可少的;而在Triplet 損失函數(shù)和Softmax 損失函數(shù)聯(lián)合訓練的測試結果中,穿大衣和攜帶包裹兩種行走條件在所有權重下識別正確率均有不同幅度的提升,其中0.1:0.9 權重的識別正確率提升最大;而在0.2:0.8、0.3:0.7、0.4:0.6、0.5:0.5、0.6:0.4、0.7:0.3、0.8:0.2、0.9:0.1 這幾種權重的測試結果中,普通行走條件下的識別正確率相較于GaitSet 原網(wǎng)絡均有小幅下降,唯有0.1:0.9權重的識別正確率有小幅上升,所以選定01、09,最終損失函數(shù)如公式(4)所示。
在LT 的訓練集劃分形式下,將本文的實驗結果根據(jù)行走條件同GaitSet 和CNN-LB 進行對比,記錄在11 個不同視角下的識別正確率,并分別計算每種行走條件下的所有視角識別正確率的平均值,結果如表1 所示。
表1 中3 種算法在正常行走條件下的識別情況差別不大,識別正確率都高于91%,尤其是GaitSet算法和本文的方法均已高達95%;在攜帶包裹的行走條件下,可以推測三種算法都因行人身體被部分遮擋導致識別正確率受到影響,但相對來說,受到影響最小的是本文利用聯(lián)合損失函數(shù)訓練GaitSet 網(wǎng)絡的方法,步態(tài)識別正確率突破90%;三種算法對于行人因穿大衣而導致身體被大面積遮擋的情況,識別效果都不理想,而本文的方法達到了75.1%的識別正確率,具有相對更好的識別結果。
表1 多視角下的步態(tài)識別實驗結果對比Tab.1 Comparison of experimental results of gait recognition under multiple viewing angles
在多視角的監(jiān)控視頻下,對攜帶包裹和穿外套的步態(tài)識別效果普遍不佳。 針對上述不足,本文提出了一種Triplet 損失與Softmax 損失聯(lián)合監(jiān)督的步態(tài)識別方法,增強模型的泛化能力,在幾乎不增加模型運算量的同時,提高了攜帶包裹和穿大衣這兩種行走狀態(tài)下的識別正確率。 由于實際場景的復雜性,步態(tài)識別技術目前還難以直接應用于視頻偵查實戰(zhàn)。 但是,當犯罪嫌疑人進行面部遮擋、偽裝以及光照條件較差時,人臉識別技術將會受限,步態(tài)識別技術可以作為人臉識別的重要補充間接應用于公安實踐中。