冒睿瑞,江 波
(中國電子科技集團公司第三十二研究所,上海 201808)
近年來,隨著嵌入式設備智能化的發(fā)展,基于戰(zhàn)場末端智能設備需求量不斷增加,對其性能要求也愈加嚴格。其中,戰(zhàn)場智能感知作為軍事智能化的關鍵一環(huán),在各種軍事行動如偵察、打擊、決策以及毀傷評測中承擔重要使命。在現(xiàn)代戰(zhàn)爭的復雜場景中,微小目標跟蹤檢測識別技術更貼近現(xiàn)實場景應用需求,相比普通目標識別,一直是目標感知領域中的技術難點[1]。微小目標在整張圖像中所占比重極小,像素點信息少[2],當目標背景為復雜的環(huán)境時,對于提取微小目標的特征信息存在巨大挑戰(zhàn),其顏色、邊緣輪廓等都較為模糊。
面對微小目標檢測跟蹤的挑戰(zhàn),國內(nèi)外科研人員基于不同理論開展研究,并提出多種方法。CHEN 等[3]利用上下文模型和小區(qū)域提議生成器提出了最新的區(qū)域卷積神經(jīng)網(wǎng)絡算法,以提高微小目標檢測性能;LI 等[4]提出一種新的感知生成對抗網(wǎng)絡模型,該模型通過減少微小目標與正常尺寸目標之間的表示差異來提升微小目標的檢測性能;吳言楓等[5]提出一種動態(tài)背景下“低小慢”目標自適應實時檢測技術,根據(jù)圖像的亮度對比度獲得顯著性圖,提取顯著性特征的方法為通過形態(tài)學梯度,依據(jù)圖像中目標所在占比的變化,以及質(zhì)心距離、寬高比等信息篩選真實目標,從而進行微小目標檢測。
在面向戰(zhàn)場軍事需求時,相比于運行高性能人工智能服務器,微小目標跟蹤檢測技術無法較好地運行在嵌入式設備上,其實際效果不能滿足戰(zhàn)場實時需求?,F(xiàn)有的目標檢測管道通常通過學習多個尺度上所有對象的特征表示來跟蹤檢測微小目標。但是,這種臨時架構的性能增益通常僅限于償還計算成本。當前,基于高性能人工智能服務器的主流移動目標跟蹤檢測系統(tǒng)僅對視頻進行采集、存儲和回看,考慮到戰(zhàn)場實時性的要求,基于高性能AI 服務器的移動目標跟蹤檢測方法已經(jīng)不再適用直接移植至嵌入式平臺,嵌入式平臺的算力無法與高性能服務器相比,但其具有高可靠性和高實時性的優(yōu)勢,這使得面向嵌入式設備的目標跟蹤檢測技術在軍事領域具有廣闊的應用發(fā)展空間。
針對上述問題,本文提出一種面向嵌入式設備的高實時微小目標跟蹤檢測方法。該方法利用輕量級卷積神經(jīng)網(wǎng)絡,并融合相關濾波算法,以提升微小目標跟蹤檢測的精度和速度。
目標跟蹤檢測是機器視覺領域的一個重要研究課題,在戰(zhàn)場感知領域有重要應用。近年來,目標跟蹤檢測的研究已經(jīng)取得較大進步,但在實際過程中目標可能發(fā)生形變、劇烈運動、被遮擋等情況,從而導致目標丟失、跟蹤失?。?],因此,目標跟蹤的研究仍具有較大挑戰(zhàn)性。文獻[7]提出一種基于快速多尺度估計的重新檢測目標跟蹤算法,在相關濾波算法的基礎上構建一個新的自適應檢測指標,該檢測指標可以更加準確地檢測出當前幀是否出現(xiàn)跟蹤失敗的情況。與其他指標不同,新的檢測指標減少對最大響應值的依賴。當檢測到目標丟失時,通過重新檢測的方法尋回目標,恢復跟蹤。若當前幀需要進行重新檢測,則當前幀的模型拒絕更新,仍采用前一幀的模型。文獻[8]通過最小輸出誤差平方和(Minimum Output Sum of Squared Error,MOOSE)濾波器進行目標跟蹤,當使用單幀圖像進行初始化時,產(chǎn)生穩(wěn)定的相關濾波器,在高速運動跟蹤中對光照強弱、尺寸比例、目標姿態(tài)和非剛性變形的變化具有魯棒性。
深度學習模型的訓練和推斷耗費大量的計算資源,其中包括內(nèi)存、人工智能處理器等。當需要執(zhí)行實時模型推斷或在計算資源有限設備端運行模型訓練時,造成計算瓶頸。
解決以上問題的有效方法是提高運算效率。模型剪枝優(yōu)化加速是深度學習領域的一種有效模型壓縮方法,可以有效提高推斷效率,模型剪枝優(yōu)化加速可以提高內(nèi)存使用效率、降低能耗、縮小規(guī)模等。文獻[9]提出一種基于稀疏卷積神經(jīng)網(wǎng)絡的模型剪枝方法,利用L1 正則化在模型訓練中的稀疏化作用,對模型的卷積層和批規(guī)范化(BN)層參數(shù)進行稀疏正則化訓練,獲得權值稀疏的神經(jīng)網(wǎng)絡模型,再根據(jù)濾波器的稀疏性和BN 層的特征縮放系數(shù)對兩者的重要性進行判斷,最后用結構化剪枝方法對稀疏濾波器及對應的連接進行剪枝。文獻[10]提出一種基于層融合特征系數(shù)的動態(tài)網(wǎng)絡結構化剪枝方法,保證網(wǎng)絡的結構性,使剪枝后的網(wǎng)絡能結合現(xiàn)有的深度學習庫和硬件裝置加速方法,并且考慮層與層之間對改變特征圖的綜合影響,將卷積層和BN 層操作表達為全連接形式,提取由濾波器參數(shù)、BN 層縮放系數(shù)及特征圖方差多個動態(tài)參數(shù)組成的層融合特征系數(shù),通過層融合特征系數(shù)判定卷積網(wǎng)絡每層中濾波器的重要性,結合動態(tài)剪枝策略,搜索最優(yōu)的剪枝網(wǎng)絡。
神經(jīng)網(wǎng)絡輕量化與優(yōu)化的另一種方式是對算法進行針對性的改進,提高計算效率[11]。例如,文獻[12]提出一種基于ShuffleNet 和集成隨機權向量函數(shù)連接網(wǎng)絡分類器的人臉識別方法,該方法克服了深度神經(jīng)網(wǎng)絡復雜結構的缺陷,在提高人臉識別準確度的同時,降低深度神經(jīng)網(wǎng)絡訓練的復雜度,形成輕量級深層網(wǎng)絡人臉識別模型。
由于微小目標的成像尺寸較小,因此只有少量的目標紋理信息,容易受到快速運動、背景、噪聲、拖尾等因素的干擾,對檢測算法的精度與魯棒性要求很高[13]。傳統(tǒng)主流方法適用于算力與內(nèi)存資源充分的高性能AI 服務器,然而由于軍事武器裝備平臺的特殊性,戰(zhàn)場端的計算平臺受空間、供電、散熱等限制,只能使用體積小、功耗低、發(fā)熱小的計算性能有限的嵌入式平臺,因此算法的計算速度至關重要。
本文將基于嵌入式設備改進的CSPdarkNet53檢測算法與基于相關濾波理論的目標跟蹤算法相融合,并對整體神經(jīng)網(wǎng)絡進行輕量化改造,提出面向嵌入式設備的高實時目標檢測跟蹤方法。
當前主流的基于實時視頻的目標檢測方法是將實時視頻進行分幀處理,形成一系列連續(xù)的圖像[14],針對這些圖像單獨進行目標檢測,最終將檢測結果進行合成形成目標檢測識別視頻。但此類方法對于計算資源的要求高,不適于嵌入式裝備有限的計算能力。
視覺目標跟蹤是計算機視覺中一個基本問題,根據(jù)是否使用幀間關系,有兩種解決思路:一種是利用單幀圖像信息進行判決,常見方法是使用深度學習卷積神經(jīng)網(wǎng)絡;另一種是通常使用濾波算法與幀間前后關系進行統(tǒng)計運算[15]。使用深度學習算法能夠提取物體關鍵信息,精度高但運算量也較高。濾波算法計算相較于深度學習開銷較小,因而處理速度快,但易受圖像質(zhì)量波動的影響。
本文對于實時視頻分幀后形成的一系列圖像[16],按連續(xù)若干張形成一組,第1 張圖像采用面向嵌入式設備改進的CSPDarkNet53 算法進行目標檢測,之后若干張圖像采用相關濾波目標跟蹤算法對目標進行跟蹤識別,相關濾波目標跟蹤算法相比CSPDarkNet53 算法具有優(yōu)異的性能及良好的實時性,對于計算資源的開銷較小,適用于嵌入式設備的高實時目標檢測。
相關濾波目標跟蹤算法的相關性是指不同事物之間的相關性。它通常用于描述各種事物之間的相似程度,是一種度量。根據(jù)共振原理,將相關性引入目標跟蹤過程中,通過相關性與目標跟蹤算法的結合,使得目標的跟蹤通過計算目標模型和候選區(qū)域的相關性來達到跟蹤目標的目的,所得到的相關性最大位置就是當前幀下目標的位置[17]。
相關濾波是直接且有效的濾波方法,其在目標跟蹤中的最早應用是在MOSSE 濾波器中,如圖1 所示,2 個目標越相關,相關值越大,即視頻幀序列與初始目標越相似,所對應的值也就越大[8]。
圖1 相關濾波算法Fig.1 Correlation filtering algorithm
由于在時間域進行卷積操作,計算量大且時間較長,因此將其轉化成在頻率域上的計算可以大幅減少計算量[18]:
其中:G表示輸出圖像;F表示輸入圖像;M*表示濾波器。為在后續(xù)幀內(nèi)找到最相似的目標圖像,通過輸出的平方誤差最小得到最佳的濾波器,目標函數(shù)如下:
通過式(2),可求得濾波器M*的閉合解如下:
其中:M為當前幀的模型;Fi表示輸入圖像表示期望響應的共軛。當前濾波器的模型僅適應于當前幀的模型,為使濾波器具有較強魯棒性,濾波器的模型需要根據(jù)需求進行更新,從而找到最優(yōu)濾波模型,方法如下:
Ai更新如下:
其中:μ是學習率,即當前幀內(nèi)的濾波器與上個濾波器模型的比值。根據(jù)應用需求進行模型的更新,以確保跟蹤精度,從而匹配最優(yōu)的濾波模板。
基于嵌入式設備的微小目標檢測對模型的精度和速度都有較高的要求,本文基于CSPDarkNet53 網(wǎng)絡模型進行改進,在提高算法速度的同時保證目標識別準確率。
網(wǎng)絡的第1 次下采樣對于微小目標的識別極為重要,如果采用簡單的池化或單純的卷積進行下采樣,則無法保證很好地提取出微小目標的特征,導致后面的特征提取丟失微小目標[19]。傳統(tǒng)的下采樣一般采用卷積、特征提取的組合,但是這在第1 次下采樣中帶來大量的計算量。因此,本文采用亞像素卷積的逆過程來實現(xiàn)下采樣,極大地減少了計算量和內(nèi)存消耗,同時保持一定的特征提取性能。原始亞像素卷積如圖2 所示。
圖2 亞像素卷積Fig.2 Sub-pixel convolution
亞像素卷積可以將(C×r×r)×H×W的輸入轉為C×(r×H)×(r×W),利用這一原理,本文采用其逆過程實現(xiàn)下采樣,如圖3 所示。
圖3 下采樣過程Fig.3 Downsampling process
圖3 所示的亞像素卷積可以將C×H×W的輸入轉化為(C×2×2)×(H/2)×(W/2),從而達到下采樣的目的。該下采樣方法不僅節(jié)省大量的計算量,同時也給后面的特征提取保留豐富的細節(jié)信息,有利于小目標的特征提取。
骨干(Backbone)網(wǎng)絡一般用于下采樣后的進一步特征提取,在豐富特征語義信息的同時防止網(wǎng)絡過深帶來的梯度消失、梯度爆炸等問題。網(wǎng)絡模型主要采取CSPDarkNet53 骨干網(wǎng)絡,該網(wǎng)絡模型深達161 層,參數(shù)以及計算量大,不適用于嵌入式設備上的目標識別。雖然DarkNet19 網(wǎng)絡大幅縮減模型層數(shù)和參數(shù)量,但是對于微小目標的識別效果不是特別理想。本文提出輕量化網(wǎng)絡模型,對骨干網(wǎng)絡CSPDarkNet53 進行深度裁剪,輕量化CPSResNet 模塊,滿足本文中嵌入式設備微小目標識別的需求,同時CSP(Cross Stage Partial)可以兼顧網(wǎng)絡輕量化與模型檢測的準確性,增強卷積網(wǎng)絡的學習能力,降低計算瓶頸以及內(nèi)存成本。其次,本文采用改進的PANet 網(wǎng)絡,通過多次融合高低層特征提升微小目標檢測的效果。
2.3.1 輕量化CSPResNet 骨干網(wǎng)絡
本文基于CSPDarkNet53 提出一種輕量化的骨干網(wǎng)絡,該骨干網(wǎng)絡能夠減少網(wǎng)絡中的模塊數(shù)量及每個模塊中殘差單元的數(shù)量,其次,減少卷積核參數(shù),提高微小目標的識別時間,適用于嵌入式設備。具體的網(wǎng)絡結構如圖4 所示。其中網(wǎng)絡輸入圖片尺寸為1 024×1 024×3。
圖4 骨干網(wǎng)絡結構Fig.4 Backbone network structure
如圖4 所示,虛線框中為輕量型骨干網(wǎng)絡,首先相比于原來的CSPDarkNet53 網(wǎng)絡,本文極大地減少了CSP 模塊的數(shù)量,其次降低CSP 模塊中殘差模塊的數(shù)量,最后削減模塊中卷積核的數(shù)量,降低網(wǎng)絡主干網(wǎng)的參數(shù)。
主干網(wǎng)絡中共包含4 個CSP 模塊,這4 個模塊結構相同,如圖5(a)所示,其中卷積2、3、4 部分為殘差模塊。輸入特征進入CSP_block 模塊后,分成兩路進行處理,組成CSP 結構,在左邊處理流程中,卷積2、3、4 部分為殘差模塊。不同模塊中的卷積核參數(shù)如圖5(b)所示。同時,本文將下采樣后的底層特征圖連接到接下來的每一層CSP 模塊后,可以增強底層特征信息的傳輸,避免丟失微小目標的少量特征。
圖5 CSP_block 模塊Fig.5 CSP_block module
2.3.2 輕量化路徑聚合網(wǎng)絡
路徑聚合網(wǎng)絡(PANet)通過增強自底向上的路徑,充分融合淺層與高層之間的特征信息,從而將特征信息中的有用部分傳遞給子網(wǎng)絡,縮短高層特征與底層特征的距離,以適用于小目標檢測識別[20]。但是由于創(chuàng)建多個路徑通道,網(wǎng)絡計算量較大,不適合部署在嵌入式設備上。本文提出了輕量化的PANet,通過減少原來CSPDarkNet53 網(wǎng)絡中的Neck部分,將主干網(wǎng)直接通過PANet 與CSPDarkNet53 head 相連接,極大地降低了網(wǎng)絡層數(shù)和計算量,同時高低層特征通過多種路徑相連接,強化了小目標檢測效果,具體的輕量化PANet 結構如圖6 所示。
圖6 輕量化PANet 結構Fig.6 Lightweight PANet structure
2.3.3 剪枝優(yōu)化
由于神經(jīng)網(wǎng)絡模型計算量較大,在嵌入式設備上運行速率較低[21],因此通過采用模型剪枝的方式,對模型中不必要的計算進行刪除,從而簡化模型來提高運行速度。對于裁剪網(wǎng)絡的方式,其主要是判斷每個卷積核對整個網(wǎng)絡的貢獻程度,本文主要利用深度神經(jīng)網(wǎng)絡中的批量標準化(BN)層中的參數(shù)γ,確定剪枝參數(shù),以決定每一層中剪除的具體通道[22]。BN 層的相關參數(shù)加上L1 正則化懲罰來訓練模型,其新的損失函數(shù)如下:
利用小批量統(tǒng)計的方式規(guī)范化BN 層內(nèi)部激活函數(shù),BN 層轉換如下:
分析基準網(wǎng)絡的每一層權重,采用基于判斷權重值的大小判定其重要性來進行裁剪,對于過濾器,將其所有權重的絕對值求和,作為評價該過濾器的指標,將值低的過濾器裁掉,保留值較高的過濾器,以達到降低模型復雜度的目的;在裁剪的過程中,同時考慮每一層卷積核對剪枝的敏感度,對于裁剪比較敏感的卷積層,對其裁剪程度適當減??;當刪除部分的卷積核后,輸出層的通道數(shù)發(fā)生變換,刪除其對應的通道;在進行剪枝操作后,與原模型對比精準度,通過采用較小的學習率微調(diào)剪枝后的模型以回升精度,具體模型剪枝步驟如圖7所示。
圖7 模型剪枝步驟Fig.7 Model pruning steps
本文對整個網(wǎng)絡進行排序,然后自行確定剪枝比例,去除參數(shù)值較小的通道,最后進行微調(diào),重復操作,以到達最優(yōu)的剪枝效果。
本文實驗硬件環(huán)境為Jetson AGX Xavier開發(fā)套件板,同時使用JetPack SDK4.3 軟件套件,主要軟件環(huán)境為L4T32.2、CUDA10.0、CUDNN7.6、OPENCV4.4。本文推理程序主要使用C/C++編寫,采用多種圖像預讀及處理多線程方法來提高程序執(zhí)行效率,且使用平臺最大電源功耗模式來考驗嵌入式平臺下極限推理性能。
本文實驗數(shù)據(jù)采用三維物體場景渲染器自建軍事場景進行圖像采集,通過場景渲染器修改渲染大小來模擬現(xiàn)實場景目標,實驗選用5 種尺度目標大小考驗算法的識別能力,如圖8 所示。數(shù)據(jù)集圖像中分別包含100 像素、400 像素、900 像素、2 500 像素和10 000 像素的待測目標。
圖8 微小目標數(shù)據(jù)集示意圖Fig.8 Schematic diagram of tiny target dataset
訓練集內(nèi)含1 024 像素×1 024 像素分辨率的圖片10 000 張,驗證集內(nèi)含圖片2 000 張。本文算法主要考驗對單類微小目標的識別和跟蹤能力,因而采用目標檢測中不同的交并比(IoU)閾值下的精確度AP 作為準確度評價指標,AP25、AP50 和AP75 表示在IoU 閾值25、50 和75 下的檢測成功率,采用推理速度FPS,即推理時間倒數(shù)作為性能評價指標。
模型訓練及前期預處理使用高性能服務器,搭載4 塊NVIDIA Tesla P100 加速卡。所有的網(wǎng)絡模型將其動量設為0.9,學習率設為0.002 6,權重衰減設為0.000 5,并進行10 000 次迭代,得到最終的訓練結果。通過設定不同的稀疏策略進行訓練,選出綜合最優(yōu)的精度和稀疏度,然后利用通道剪枝以及層剪枝分別壓縮模型的寬度和深度,最后微調(diào)剪枝后的模型以回升精度,從而達到最優(yōu)的模型剪枝效果。
本次實驗對比多個主流的目標檢測網(wǎng)絡,包含若干個單步法快速檢測網(wǎng)絡,如DarkNet53、DarkNet19、CSP改進的DarkNet53 和ResNeXt50+CSP。并且,本文將所提模型與剪枝后的模型分開進行對比,能夠進一步驗證剪枝優(yōu)化的效果。
第1 組實驗使用圖像像素尺寸為1 024 像素×1 024 像素,對比5 種不同像素尺度的微小目標檢測準確率,基準為本文所提的輕量化檢測網(wǎng)絡,基準裁剪為裁剪優(yōu)化過后的網(wǎng)絡。
本文首先使用所提輕量網(wǎng)絡訓練一個基準模型,如圖9(a)所示,從圖中可以看出基準模型的γ值大致服從期望為1 的正態(tài)分布;然后使用稀疏訓練出基準裁剪的模型,如圖9(b)所示,可以明顯看出,經(jīng)過稀疏過程,BN 層的γ值大部分逐漸被壓到接近0,而接近0 的通道其輸出值近似于常量,因而可以進行后續(xù)剪枝操作。
圖9 剪枝前后BN 層γ 值稀疏分布變化Fig.9 The sparse distribution of γ values in BN layer before and after pruning
利用層剪枝以及通道剪枝策略,模型大小從23.4M 壓縮到2.6M,在900 像素目標 下,AP 值減少0.23,通過反復微調(diào),AP 值回升到80.05,基準裁剪的模型大幅壓縮減少資源占用,提高了運行速度。
如表1 所示,在極小目標情況下(100 像素),傳統(tǒng)的快速單步法檢測網(wǎng)絡基本無法正常工作,改進后的DarkNet53+CSP 依然表現(xiàn)很差,而本文所提卷積網(wǎng)絡具有一定概率能夠成功識別;在稍大一些的目標400 像素~2 500 像素下,能夠看出本文所提模型在識別能力上均領先對照模型,而改進的DarkNet53和ResNeXt50+CSP 也比基礎的算法有明顯優(yōu)勢;但在很大目標識別上,由于DarkNet53 和DarkNet19 均缺乏多尺度特征提取的能力,預測精度變得很差,而本文的模型保證了很高的識別成功率。
表1 多種算法的小目標檢測精度對比Table 1 Comparison of tiny target detection accuracy of multiple algorithms
如表2 所示,本文測試了算法在多種圖像輸入尺寸下嵌入式平臺的實時推理性能。在模型輸入尺寸較大的情況下,推理延遲普遍較高,難以滿足高實時高負載應用場景的性能需求,而本文所提輕量化模型經(jīng)過裁剪有27.8 frame/s 的速度,大幅領先對比算法。當卷積網(wǎng)絡規(guī)模變小時,推理速度普遍提高,且本文模型均保持性能較優(yōu)。
表2 多種圖像輸入尺寸下推理性能比較Table 2 Comparison of inference performance under various image input sizes (frame·s-1)
針對特定現(xiàn)實場景應用,如在中高分辨率尺寸場景下,若在嵌入式平臺進行多路圖像處理,因其運算量成倍提高,則目前算法推理性能均難以滿足高實時要求。本文采用的濾波跟蹤補幀方法能夠大幅提升等效推理性能。如表3 所示的實驗驗證了基準裁剪算法在608 像素×608 像素輸入下,幀間隔對推理速度和精度的影響:推理幀間隔為0 時為原始算法性能,而當補幀間隔為2 時,能夠達到性能與精度的最佳平衡。
表3 推理幀間隔對性能和精度的影響Table 3 The effect of inference frame interval on performance and accuracy
針對嵌入式平臺的算力瓶頸導致微小目標跟蹤檢測算法的指標性能不能滿足現(xiàn)實戰(zhàn)場需求的問題,本文提出一種面向嵌入式的高實時微小目標跟蹤檢測方法。將卷積神經(jīng)網(wǎng)絡進行輕量化改進,對模型進行剪枝優(yōu)化,并深度融合相關濾波跟蹤算法,以提高基于嵌入式平臺的微小目標檢測速度和精度。實驗結果表明,該方法在Nvidia Jetson AGX Xavier 嵌入式平臺的微小目標跟蹤檢測中,檢測精度和檢測速度都優(yōu)于目前主流目標檢測算法。