張俊凱
(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)
隨著電子信息技術的飛速發展,無人機巡邏安全監控系統作為屬于城市安防工程的重要組成部分,受到了越來越多的重視。目前,無人機巡邏安全監控系統通常應用于道路、廣場等公共場合,已經對維護公共安全、解決取證困難、協助公安部門破案提供了極大幫助。在無人機巡邏安全監控系統中,行人監控和危險分子識別是一個重要的組成部分,行人監控能夠對造成刑事案件的嫌疑人進行追蹤,還可以協助進行走失人員的查找[1]。
傳統對嫌疑目標的搜索方案主要是通過調集警員觀看大量的監控視頻進行人工比對。一方面,耗費的人力成本越來越高。其次,傳統人工比對的方式獲得的識別結果受人本身因素影響大。行人重識別技術正是為了解決這個問題而提出的[2]。行人重識別即在行人檢測的基礎上,對行人進行進一步識別以判斷其身份的技術[3-4]。行人重識別根據從輸入的目標行人圖像提取到的特征,在無人機巡邏安全監控系統中自動查找出該目標行人的其他圖像[5-7]。其針對實際場景中行人普遍都處于運動過程且受到視角變化、行人姿態變化、攝像機低分辨率、目標遮擋以及光照條件變化等因素的影響難以進行人臉比對的場景[7-8]。
本文將基于基礎卷積操作的輕量化方法,進行基礎模塊的多層級多視野架構設計,使用整體結構搜索設計技術,完成總體結構設計,實現無人機視角下的行人重識別技術。
針對傳統3x3卷積結構運算量大的問題,對卷積結構進行改進,在傳統的卷積結構中,每個輸入通道都通過一個卷積算子和所有輸出通道進行信息交互。對傳統卷積結構進行改進,如圖1所示:
針對每個輸入特征通道,圖1中的結構利用N個K×K卷積核進行特征提取,由于這些卷積核是線性相關的,因而這種冗余會占用大量的存儲空間,并耗費巨大的運算量。在圖1的結構中對每組N個K×K卷積核進行主成分分析,提取出不相關的主成分,將模型進行充分的精簡。具體操作方法是,將每個輸入通道對應的維度為N×K×K的卷積參數表示為G個K×K卷積核的線性組合,G為主成分的數量,線性組合的實現方式為1×1卷積。將輸入的M個通道分為M組,每組有G個獨立的卷積核,并用1×1卷積將其線性組合成N個K×K卷積核。
精簡后模型的總計算量為

深度可分離卷積相對傳統卷積的計算量

通常情況下,G取1至3,因此運算量能夠得到極大的精簡。圖1中的結構被用來建立整個模型的基礎計算單元,如圖2所示:

圖2 重識別模型的計算模塊
圖2(a)所示為輕量化卷積模塊Lite,其首先通過1×1卷積對輸入特征通道進行信息融合,接下來利用1中的K×K卷積進行特征提取,最終利用1×1卷積進行進一步信息融合,獲得輸出。圖2(b)是利用多通道進行多層級信息處理的計算架構,其中每一路包含不同數量的Lite模塊,不同分支能夠提取不同層次的圖像特征。每個分支的最后利用聚合模塊(Aggregation Block,AG)將不同通道的特征分別進行加權。AG模塊的結構由一個全局池化層和兩個全連接層組成,如圖3所示,全局池化層融合各個特征通道的空間信息,后續的兩個全連接神經網絡層負責對池化層的輸出進行信息整合,最終獲得不同特征通道的權重,并將計算出的權重對相應特征通道進行加權。圖2(b)中四個通道加權后的特征在級聯之后利用1×1卷積層進行整合,獲得輸出特征。

圖3 級聯模塊(AG Block)組成結構和原理說明
在進行整體結構設計之前,首先考慮引入歸一化模塊,降低真實世界圖像在風格、光照、環境、相機位置等方面的變化帶來的影響。由于需要遍歷的模型較多,采用One-Shot NAS(Neural Architecture Search)方法,將所有候選結構以0-1編碼方式集成到一起再進行搜索。在圖4中,圖4(a)是一個簡單的鏈式神經網絡,如果將其每一層可以選擇的操作算子進行限制,例如限制為只能從三種操作算子之一進行選取,而在圖4(b)中所表示的網狀網絡就是代表這一簡單鏈式神經網絡的超網絡。每一個合法的鏈式神經網絡都是這一超網絡的子圖。

圖4 One-Shot 架構搜索方法原理示意
One-Shot的模型設計過程分為三個階段:第一階段,根據搜索空間 訓練權重為W的超網絡S,W中既包含卷積權重,也包含0-1編碼的結構信息,如果某一候選結構訓練后編碼為0,則此結構不包含在最優模型中。訓練過程描述為:

其中Ltrain()為目標函數,其隨著模型精度提升而降低,隨著模型復雜度降低而降低,當精度和復雜度達到最佳平衡時,Ltrain()數值最低。
最終模型結構設計如圖5所示:

圖5 行人重識別模型總體結構
模型輸入為RGB圖像中的行人區域,針對每個區域輸出一個長度為512的特征向量,模型分為四個串行階段,每個階段按照統一分辨率處理圖像,并由普通卷積層與利用NAS方法優化獲得的多個模塊組合而成,整個模型中共計有6個NAS優化獲得的模塊。由于在搜索過程中兼顧了精度和運算復雜度的考量,最終模型針對輸入尺寸128*64的浮點操作數為0.96GFlops,能夠在常見嵌入式芯片上達到40fps以上的理論計算量。
指標包含Rank-n(n=1,2,5,10,15…)和mAP(mean Average Precision)。由于重識別任務類似于分類任務,模型對每個輸入行人區域都會輸出一系列概率值,對應于該行人屬于不同身份的概率。針對某一個行人目標,如果模型預測的其最可能屬于的n個身份中包括該人的真實身份,則該人的Rank-n對應的精度為100%。通過將所有測試行人的指標進行平均可獲得該數據集的Rank-n對應的精度。精度隨Rank變化的曲線為CMC(Cumulative Matching Characteristics)曲線。
mAP是測試集中所有輸入行人的AP(Average Precision)的平均值,而每個行人的AP又指Precision(準確率)的平均值。
由于雇傭演員拍攝成本較高,因而拍攝場景中行人目標較少(少于50人),為了更好的反映算法效果,在公開的大數據集(包含超過1000個行人身份)上進行測試。數據集中包含1501個行人身份和32688張圖像,并充分涵蓋了場景的變化、尺度、遮擋以及人數密集等會對識別效果產生影響的因素。在Rank-1,Rank-5,Rank-10,Rank-20下對模型進行測試,并求測試數據集中的mAP數值,結果圖6所示:

圖6 行人重識別測試結果
測試數據集中的mAP數值為75.0%,Rank-1為91.2%,Rank-5為96.6%,Rank-10為97.9%,Rank-20為98.5%,顯著高于當前研究現狀。
本文設計的基于無人機圖像的行人重識別技術基于基礎卷積操作的輕量化方法,設計了一種基礎模塊的多層級多視野架構,使用了整體結構搜索設計技術,完成的總體結構設計實現了無人機視角下的行人重識別技術。實驗證明,本文算法在無人機視角下的圖像中,克服了攝像頭位置較高、視角較偏的難題,獲得了較好的行人重識別效果。