周海,侯晴宇,卞春江,馮水春,劉一騰
(1.中國科學院國家空間科學中心,北京 100190;2.中國科學院復雜航天系統電子信息技術重點實驗室,北京 100190;3.中國科學院大學,北京 100049;4.哈爾濱工業大學航天學院,哈爾濱 150001)
小目標檢測在紅外圖像處理領域占有重要地位,特別是在遙感領域中具有較高的軍民應用價值。而復雜背景下的低信噪比小目標檢測是一項具有挑戰性的任務,因為圖像中的目標通常很小很弱并缺乏特定的形狀、紋理和結構信息。
近幾十年來,許多紅外小目標檢測算法被提出,算法主要包括單幀檢測和多幀關聯2 個步驟。由于多幀關聯往往是在單幀檢測基礎上進一步開展時域關聯處理,因此,單幀檢測算法對于復雜背景下弱小目標的檢測能力更為關鍵。本文聚焦在紅外小目標單幀檢測算法的研究上,傳統的單幀檢測算法可分為兩類:局部對比法(local contrast measure,LCM)和 非 局 部 自 相 關 法(nonlocal autocorrelation measure,NAM)。
LCM 主要是通過定義一種合理的局部對比度來抑制背景和增強小目標。Chen 等[1]應用LCM 來測量每個像素位置與其鄰域之間的差異。Han 等[2]進一步考慮中心子塊的均值估計來改進LCM(improved local contrast measure,ILCM),并通過增加窗口的滑動步長提高算法效率。Wei 等[3]提出一種基于多尺度圖像塊的對比度度量方法(multiscale patch-based contrastmeasure,MPCM),利用每個位置像素與其相鄰區域的灰度比作為真實目標對比度的增強因子。類似的LCM 還包括相對局部對比度度量(relative local contrast measure,RLCM)[4]和多尺度改進的LCM(multiscale modifiedlocalcontrast measure,MLCM)[5]。Han 等[6]聯合比值和差值的局部對比度(ratiodifference jointlocalcontrast measure,RDLCM)來 增強小目標并抑制背景。
以紅外塊圖像(infrared pat ch image,IPI)模型為代表的NAM 利用目標的稀疏性和背景的低秩性將目標檢測問題轉化為最優化問題,然后通過求解目標函數來分離目標和背景[7]。IPI 存在的2 個明顯缺點是檢測結果中目標形態的過收縮和噪聲殘留,主要原因是采用核范數作為背景的低秩正則項。通過在IPI 模型中引入更多的低秩矩陣恢復技術以獲得更好的性能。Dai 等[8]提出非負約束的紅外塊圖像模型和加權的紅外塊圖像張量模型(reweighted infrared patchtensor model,RIPT)[9],同時采用不同形式的緊秩對傳統IPI 模型低秩正則項替換來解決背景殘留問題。此外,Zhang 等[10]使用非凸秩逼近最小化聯合范數,Zhou 等[11]聯合應用Schatten 1/2 擬范數正則化和重加權稀疏增強來提高檢測性能。
傳統檢測算法通常僅采用手工制作的特征,其性能取決于特征選取的有效性。深度學習可以從大量的訓練數據中自動學習特征,更有助于描述數據中豐富而獨特的信息。近年來一些基于深度學習的目標檢測算法被提出,如Faster R-CNN[12]、YoloV 2[13]、YoloV3[14]、SSD[15]等。這些算法對紋理明顯的大目標具有很高的檢測性能,但由于紅外小目標紋理特征并不十分明顯,現有深度學習算法難以適用。
針對現有檢測算法的不足和應用對算法實時處理性能的需求,本文主要工作如下:①以文獻[16]提出的強魯棒型紅外小目標檢測網絡(robustinfrared small targetdetection network,RISTDnet)[16]為研究基礎,面向更為豐富的目標結構特征和實時處理性能提升的需求,提出一種增強型紅外小目標檢測網絡(enhanced infraredsmalltargetdetection network,EISTDnet);②提出基于現場可編程邏輯門陣列(field programmable gate array,FPGA)平臺的EISTDnet 高性能實時并行處理優化與實現算法;③使用多幅測試圖像對EISTDnet 檢測性能和實時處理性能進行了實驗驗證,并與其他檢測算法進行了對比。
首先,利用EISTDnet 計算目標似然圖,似然圖中的各像素值表征該像素屬于小目標概率,然后,在目標似然圖上設置閾值,進行閾值分割提取真實目標。
RISTDnet 在復雜背景下對小目標已能夠表現出較好的檢測性能,但依然存在兩方面不足:①通過對更多復雜場景下不同類型小目標進行測試,發現RISTDnet 對部分呈現條狀結構特征的低信噪比小目標檢測能力偏弱,如圖1 所示的高分5 號紅外圖像[17];②雖然能夠在地面服務器中通過使用高性能GPU NVIDIA RTX2080Ti 獲得較好的RISTDnet處理性能,但在以空天飛行器為代表的算法應用場景中,受使用環境制約只能選用以FPGA 為主的低功耗小體積嵌入式處理器,難以滿足RISTDnet 快速實時處理需求。針對上述問題,EISTDnet 在研究中重點通過1.1 節和1.2 節介紹的兩方面優化策略對網絡結構開展重新設計。

圖1 低信噪比條狀小目標示意圖[17]Fig.1 Small strip target with low SNR[17]
多尺度特征提取主要用于為復雜背景下的低信噪比小目標獲得足夠數量的特征圖。RISTDnet定義了5 種特征提取尺度:3×3、5×5、7×7、9×9 和11×11,并通過15 種定權卷積核生成15 幅特征圖,如圖2(a)~圖2(o)所示。這些定權卷積核在設計上均基于對圖像中復雜背景和目標特性的研究而制定,以滿足不同場景下有效特征提取。運算方式是以輸入圖像逐像素為中心,計算每個卷積核模板下鄰域紅色像素的平均值減去黑色像素的平均值,目的是提取小目標的對比度信息。

圖2 EISTDnet定權特征提取卷積核Fig.2 EISTDnet feature extraction convolution kernel with fixed weight
EISTDnet 繼承了RISTDnet 特征提取定權卷積核對傳統斑點狀小目標提取能力,并針對復雜場景中更為豐富的條狀小目標結構特征,新增8 種定權卷積核,如圖2(p)~圖2(w)所示。這些卷積核的結果是以紅色像素為中心,分別計算4 種顏色條帶的累加和,繼而通過比較選出4 個條帶累加和中最大的那條,計算其與紅色像素的平均值減去所有黑色像素的平均值,目的是增強不同方向下條狀小目標對比度信息提取能力。
卷積網絡主要采用深度學習算法用于對小目標深度特征進行提取。由于卷積運算為4 層循環乘加運算,計算量龐大,因而EISTDnet 在設計時充分考慮了應用中處理器性能約束,采用卷積核尺寸歸一化、歸一化(batch normalization,BN)層參數融合和特征映射層簡化3 種方法對卷積網絡開展輕量化設計。
1)卷積核尺寸歸一化。RISTDnet 卷積核包括11×11、7×7、5×5、3×3 和1×1 這5 種尺寸規格,差異較大。這在對卷積層并行實時計算時,難以對卷積核并行展開。并且由于5 種尺寸中除1×1 外互相之間不能整除,因此并行展開時無法選擇出一個適用于各層的最優卷積核展開尺度,這會造成部分計算資源的浪費。
EISTDnet 在設計中為提高實時處理架構并行展開能力,最大化利用處理資源,對較大卷積核采用多級小卷積核串聯的方式予以優化,如圖3 所示。

圖3 卷積核尺寸多級串聯優化Fig.3 Multi-stage series optimization of convolution kernel size
由圖3 可以看出一個5×5 的卷積核可以替換成2 級3×3 的卷積核,此時卷積權重個數由25 降低至18,同理對于11×11 和7×7 卷積核可以分別替換成5 級和3 級3×3 的卷積核,此時權重數量由121和49 分別降低至45 和27。優化算法在確保替換前后各卷積層感受野不變的情況下,大幅度降低了卷積核權重數,并將原有3×3 尺度以上的卷積核歸一化到3×3,有利于選擇處理架構最優并行展開尺度,提高計算效率。
2)BN 層參數融合。BN 層主要是為在網絡訓練過程中解決梯度消失和梯度爆炸問題,同時提高泛化性能。BN 層計算涉及到高精度乘加運算,因而在FPGA 實現時需要消耗大量計算時間與參數存儲資源。由于BN層在推理階段參數已經完全固定,EISTDnet 設計中對BN 層采用訓練后與卷積層參數融合的方式降低推理階段計算資源開銷。
設卷積計算為
式中:Y為卷積層輸出;W為卷積核參數;X為卷積層輸入;b為偏置。
BN 層與卷積層融合后輸出Y bn依然可依照式(1)進行卷積計算,僅需對W和b變 量采用W′和b′進行參數更新:
式中: γ為尺度因子; ε為方差調整因子; β為偏移因子; μ和 σ2為每個通道的平均值與方差。這4 個變量均為訓練結束后BN 層靜態參數。
3)特征映射層簡化。RISTDnet 特征映射層采用Sigmoid 函數將特征提取結果分別映射到目標和背景似然圖。以x為變量Sigmoid 函數定義為
Sigmoid 函數具有單增性質,可將變量映射到[0,1]內,從而獲得百分比表示的概率似然值。在網絡訓練階段通過Sigmoid 函數獲得概率似然值有利于計算損失函數,但其推理階段FPGA 處理中通常需采用級數展開算法進行運算,如式(5)所示,式中O(x12)為可忽略的極小項。這些高次方級數展開計算會消耗FPGA 大量乘加運算資源。
考慮到映射后數值在實時處理中僅用于閾值分割,因而在EISTDnet 設計中將推理階段特征映射函數簡化為S(x)=x,相對Sigmoid 函數運算開銷降低明顯,僅需要通過調整閾值分割取值即可獲得同等目標提取精度,不會影響網絡檢測性能。
采用強化多尺度特征提取和卷積網絡輕量化兩方面優化策略后,EISTDnet 網絡結構如圖4 所示,主要由多尺度定權特征提取網絡和變權卷積網絡兩部分組成。

圖4 EISTDnet網絡結構Fig.4 Network structure of EISTDnet
多尺度定權特征提取網絡主要用于提取手工制作的多尺度特征,其中,紅色方框示意的15 種特征提取圖采用繼承RISTDnet 的原始定權特征卷積核提取,黃色方框示意的8 種特征提取圖為EISTDnet新增的特征卷積核提取,提取后將原圖與特征圖串聯作為變權卷積網絡輸入。變權卷積網絡通過采用自學習訓練后參數進一步對目標深度特征進行提取。
變權卷積網絡中包含一個特征拼接子網絡,采用Passthrough 層結構設計。如圖5 所示,特征連接子網絡在對高分辨率特征圖進行分割和重新排列后,將結果與卷積后低分辨率特征圖連接起來,形成多尺度特征圖,更有利于檢測不同大小的小目標。

圖5 特征拼接子網絡細節Fig.5 Detail of feature connection sub-network
變權卷積網絡中的特征映射層采用簡化設計方法,在推理階段僅需要將輸入的特征圖進行通道展開重新組織即可生成目標似然圖用于后續閾值分割,如圖6 所示。

圖6 特征映射層細節Fig.6 The detail of feature mapping layer
從網絡結構可以看出EISTDnet 是一個多尺度手工制作特征和深度自學習特征融合的小目標檢測框架,其網絡參數如表1 所示。其中各卷積層后均跟有ReLU 層,篇幅考慮不予表中列出。

表1 EISTDnet 網絡參數Table 1 EISTDnet network parameters
表2 給出了EISTDnet 相對RISTDnet 在各項優化策略應用前后運算操作數變化。可以直觀看出由于新增了8 種多尺度特征提取,EISTDnet 運算操作數相對RISTDnet 增加了29.23%。但通過應用3 種網絡輕量化優化方法,EISTDnet 運算操作數降低至RISTDnet 的48.46%,有效削減了推理階段實時處理計算資源需求。

表2 EISTDnet 與RISTDnet 運算操作數比對Table 2 Com parison of operands between EISTDnet and RISTDnet
EISTDnet 網絡結構主要由多尺度定權特征提取網絡和變權卷積網絡兩部分組成。其中變權卷積網絡中卷積操作采用常規卷積運算,而多尺度定權特征提取網絡由于新加入8 種基于四向特征點比較的特征提取卷積核,其計算過程無法簡單轉化為常規卷積運算。因此,在頂層設計上EISTDnet采用獨立模塊分別實現多尺度定權特征提取網絡和變權卷積網絡實時處理。
與CPU、DSP 等嵌入式處理器不同,FPGA 可以針對算法內不同處理單元計算需求與特點量身定制處理電路,并采用數據復用、并行處理與流水處理等設計算法構建高性能處理架構。EISTDnet實現中有效運用了這些設計算法。
多尺度定權特征提取網絡中不同特征提取卷積核之間存在數據深度復用關系,如圖7 所示。

圖7 多尺度定權特征提取數據復用關系示意圖Fig.7 Multi-scale feature extraction data reuse relationship with fixed weight
對于輸入圖像中坐標為 (x,y)的像素,設其灰度值為s,則由圖7 可以直觀看出,只要再計算以該像素 為 中 心 的k3、k5、k7、k9和k11這5 個 不 同 尺 度 框 體和變量,即可獲得圖2(a)~圖2(o)15 種不同特征提取卷積核對應特征值,對應關系如式(6)~式(20)所示。F(A)代表圖2(a)卷積核特征提取值,其余標號以此類推:
同理對于EISTDnet 新增定權特征提取卷積核,也存在如圖8 所示復用關系。

圖8 EISTDnet新增定權特征提取數據復用關系示意圖Fig.8 New feature extraction data reuse relationship with fixed weight of EISTDnet
對于輸入圖像中坐標為 (x,y)的 像素,設ta1/2/3/4分別代表以其為中心,縱向距離為1 像素、2 像素、3 像素和4 像素的2 點和變量,tb1/2/3/4、tc1/2/3/4和td1/2/3/4分別代表以其為中心,其他3 個方向距離為2 點和變量。設tmax1/2/3/4和tsum1/2/3/4分別為四向2 點和的最大值變量與四向2 點和的累加和變量,如式(21)~式(28)所示,MAX 為取最大值運算符。
則對于圖2(p)~圖2(w)中8 種新增特征提取卷積核,對應特征值關系如式(29)~式(35)所示。
對于F(W)則 需要通過記錄坐標 (x,y)相鄰點變量予以計算,設s3(x,y)為 坐標 (x,y)鄰域3×3 區域累加和,則可通過如式(36)~式(37)所示計算F(W)。
從式(6)~式(37)推導可得出,由于計算時存在大量的數據復用,在處理時僅需要對原圖各像素通過加法簡單計算出k3、k5、k7、k9、k11和tsum2/3/4這8 個變量,繼而通過最大值比較運算獲得tmax1/2/3/4這4 個變量,即可進一步通過簡單線性計算獲得23 幅特征圖對應特征點,循環全圖所有像素即可獲得23 幅特征圖。由于所提算法采用分塊循環計算這一設計思路,因而并不受固定圖像分辨率大小制約,可滿足不同分辨率圖像特征提取需求。
與優化前卷積形式計算算法相比,得益于不同模板之間的耦合性和數據深度復用策略,優化后可大幅度降低圖像讀取次數與運算操作數,提高處理速率的同時降低FPGA 內部資源占用,如表3 所示(以640×512 輸入圖像為例)。

表3 圖像讀取與運算操作比對Table 3 Im age reading and operation com parison
基于本節優化方式,特征提取模塊FPGA 實現框圖如圖9 所示,其中變量計算模塊和特征值計算模塊均采用并行計算方式對讀出圖像點進行快速處理,同時圖像塊緩存采用乒乓設計以保證整體運算單元處于高效流水工作狀態。

圖9 定權特征提取模塊FPGA實現框圖Fig.9 FPGA implementation block diagram of fixed-weight feature extraction module
EISTDnet 變權卷積網絡中超過90%的操作涉及到卷積,因此,基于FPGA 的實時處理設計側重于卷積并行計算的優化。為實現變權卷積網絡高性能快速處理,需重點考慮以下3 點優化目標:
1)在FPGA 內計算資源允許條件下盡可能構建大規模并行流水計算架構,減少計算單元等待周期,降低計算延時,提高處理性能;
2)基于有限片內緩存加強數據復用設計,盡可能降低外部緩存訪問頻次,以降低外部存儲器吞吐和規模需求,節約硬件成本和功耗開銷;
3)充分利用分布式寄存器提高FPGA 布局布線后工作頻率,進一步提高系統整體處理性能。
2.2.1 多維循環并行展開優化
卷積網絡中的卷積運算操作由4 層循環組成,如圖10 所示。這些循環沿著卷積核和特征圖滑動從而產生豐富的優化設計空間,其中最為關鍵的是循環并行展開的層次、維度和規模。

圖10 卷積運算4層循環示意圖Fig.10 Four-layer loop diagram of convolution operation
循環展開的維度與方式決定了卷積計算中不同的并行化設計,繼而會影響處理架構優化設計中數據復用和存儲訪問方式。4 層循環各自一維展開如圖11 所示。

圖11 循環一維展開示意圖Fig.11 One-dimensional unfolding loop diagram
從圖11 中可以直觀看出,卷積核循環和輸入通道循環展開有助于快速生成輸出特征點,節省處理中間結果緩存,但展開并行計算時不同乘法器所需的輸入特征點和權重均不同,復用度較低,對輸入特征圖和權重緩存訪問吞吐量要求較高;輸入特征圖和輸出通道展開分別充分復用了權重和特征點,但并行計算中間結果分屬不同輸出特征值,需要較大輸出中間結果緩存深度。
并行展開尺度對不同卷積層的契合度直接影響整體并行架構運算效率,即各維度展開尺度應為不同層相關維度的公因數,否則會在處理過程中無法充分利用展開后的并行度,例如對于EISTDnet 輸出通道展開時,若將并行尺度設為24,則在處理Conv1.1 層時利用率為100%,但在處理Conv2.1 層時利用率會降低為75%。因而僅采用一維循環展開時往往會受限于公因數大小難以構建高利用率大規模并行展開架構,多維展開能夠有效解決該難題。
EISTDnet 在網絡結構設計時運用了卷積核尺寸歸一化設計算法,除最后一層外其余各層卷積核均為3×3。同時輸入和輸出通道數各層最大公因數均為8,輸入特征圖各層最大公因數為64×80。受限于FPGA 片內乘法器數量,為最大化并行度和盡可能提升數據復用率,并平衡不同展開維度對緩存帶寬和深度影響,EISTDnet 適合采用卷積核、輸入特征圖和輸出通道三維循環展開,如圖12 所示。此時卷積核循環并行展開度為3,輸入特征圖并行展開度為16×8,輸出通道并行展開度為8,整體并行度為3 072。

圖12 EISTDnet二維循環展開示意圖Fig.12 Two-dimensional loop unfolding diagram of EISTDnet
2.2.2 多級緩存與循環計算順序優化
變權卷積網絡在FPGA 實現中涉及多級緩存單元,從類型上分主要包含片外動態隨機存儲器(dynam ic RAM,DRAM)、塊緩存(b l o c k RAM,BRAM)和寄存器(register,REG)3 種。如圖13 所示,REG 在FPGA 片內,與計算資源耦合緊密,使用靈活但容量最小;BRAM 同屬片內資源,并為雙口RAM 形式,吞吐能力強,但使用規模與扇出過大時會影響布線后時序,需在REG 配合下使用;DRAM 具有較大容量,但吞吐能力受輸入輸出(inputoutput,IO)限制,延遲相對較大,過度使用也會直接加劇硬件成本和功耗開銷。

圖13 多級緩存示意圖Fig.13 Multi-level cache diagram
受BRAM 和REG 數量限制FPGA 內無法存儲完整的特征圖,每層卷積計算時需將待處理的輸入特征圖劃分為多個塊依次從DRAM 中讀出。結合循環展開機制,通過優化卷積循環計算順序和分塊大小,可以有效增加片內緩沖區數據的重復使用、減少片上緩存需求并降低外部DRAM 訪問頻次,避免因DRAM 訪問帶來的長延遲和高功耗。
在循環計算順序選擇中為盡快生成可直接存入外部DRAM 的輸出特征值,節省片內輸出特征值中間結果緩存,輸出通道循環除已展開的部分外其余應放在最后進行。此外,由于輸入特征圖尺寸相對卷積核較大,并且循環展開中輸入特征圖展開尺度也大于卷積核展開尺度,為充分復用當前展開的特征圖,降低片內緩存吞吐壓力,卷積核循環應首先完成,再完成輸入特征圖循環。此時輸入特征圖分塊可按輸入通道依次緩存,卷積核片內緩存則需要從外部緩存搬入當前分塊對應的8 個輸出通道全部權重,從而最大化片內數據復用,降低DRAM 吞吐壓力。如圖14 所示變權卷積網絡循環最優計算順序。

圖14 循環計算順序示意圖Fig.14 Diagram of cyclic calculation sequence
2.2.3 高性能計算架構
依據多維循環并行展開、循環計算順序和多級緩存優化設計結果,EISTDnet 變權卷積網絡在實現中構建了以8 個16×8×3 并行計算矩陣為主的實時高性能并行處理架構,如圖15 所示,其中C1~C8對應8 個輸出通道循環展開。每個矩陣中包含16×8個計算單元,每個計算單元中包含的3 個乘法器用于對卷積核循環展開并行計算。

圖15 變權卷積網絡實時高性能并行處理架構示意圖Fig.15 Real-time high-performance parallel processing architecture of variable-weight convolutional networks
考慮到卷積核權重需要從緩存中同時為多個計算單元更新,因而將權重隊列設為8×8,每個權重隊列僅負責更新當前矩陣橫排的8 個計算單元,以控制每個權重隊列扇出。而對于輸入特征圖隊列,則采用依次傳遞的方式對不同矩陣進行更新,更新后的特征點在計算單元內利用分布式寄存器進行緩存,同時控制了輸入特征點隊列扇出和隊列數量,有效抑制當并行計算單元規模過大時由扇出引入的時序問題,以進一步優化FPGA 布局布線后時鐘頻率,提高處理性能。
此外,對于EISTDnet 變權卷積網絡處理中特征拼接需求,在設計中采用外部緩存地址動態管理的方式對數據進行虛擬拼接,即在相關層特征圖BRAM 分塊向DRAM 存儲時依據拼接需求動態調整讀寫地址,避免拼接數據搬移對處理架構帶來的額外負擔。
為驗證EISTDnet 及FPGA 實現性能,構建了訓練和測試實驗數據集,并以FPGA 處理板為核心搭建了一整套實驗與測試平臺。
實驗數據集針對復雜場景下弱小目標進行設計,包括多種云、地表、空天、海洋等復雜背景類型。數據集建立過程中對圖像隨機添加不同位置、信噪比和大小的目標到背景圖像中,目標位置服從均勻分布,目標信噪比范圍為0.5~1,目標尺寸范圍為1×1~13×13,并包含條狀小目標。訓練數據集包含6 743 幅圖像,測試數據集包含3 個測試序列共4 917 幅圖像,如表4 和圖16 所示。

圖16 測試序列典型幀示意圖Fig.16 Diagram of test sequence typical frames

表4 測試序列典型幀與數量Table 4 Typical fram es and number of test sequences
實驗與測試平臺采用高性能FPGA 處理板對EISTDnet 的實現予以驗證,實物如圖17 所示。

圖17 高性能FPGA處理板Fig.17 Self-developed image processing board
為驗證算法處理性能,以高性能FPGA 處理板為核心搭建了一套自測試驗證系統,系統組成如圖18 所示。高性能處理板實時接收圖像模擬源發送設備輸出的測試序列圖,由FPGA 處理后將結果送至處理結果接收解析設備存儲,繼而通過解析軟件對結果進行分析比對,完成對EISTDnet 實現功能性能測試與驗證。

圖18 自測試驗證系統Fig.18 Self-test verification system
為證明EISTDnet 的優越性,本文將其測試結果與ILCM、MLCM、MPCM、RIPT 和RLCM 這5 種算法的仿真結果進行對比,這些算法的代碼來自相應作者的網站。不同算法對應的目標增強結果如圖19 所示,可以看出EISTDnet 相對其他算法具有較明顯優勢。


圖19 不同算法檢測結果對比Fig.19 Detection results of different methods
此外,為更系統地描述EISTDnet 與其他算法性能比較,采用受試者工作特征(receiver operating characteristic,ROC)曲線作為性能量化指標,曲線中虛警率(false posi t iverate,FPR)和檢測率(t rueposi t ive rate,TPR)定義如式(38)和式(39)所示。
式中:Nfalse為 檢出的錯誤目標數量;Npix為每張圖片像素總數;Ntest為 測試用圖片總數;Ntrue為檢出的正確目標數量;Nreal為測試序列中實際目標數量。
圖20 給出了EISTDnet 與其他5 種算法在不同測試序列下ROC 曲線對比,可以直觀看出,本文算法相較其他算法檢測率提升明顯,在低虛警率(10?3)下3 個測試序列平均檢測率提升49.5%,充分說明EISTDnet 對復雜背景下低信噪比小目標的檢測優勢。

圖20 不同算法ROC曲線對比Fig.20 ROC curves of different methods
表5 給出了EISTDnet 與RISTDnet 在3 個測試序列下的檢測率對比。圖21 給出了不同信噪比下EISTDnet 與RISTDnet 對條狀小目標檢測率的對比曲線。從表5 和圖21 可知,EISTDnet 與RISTDnet相比檢測性能有一定優勢,性能差異主要體現在測試序列中信噪比偏低的條狀小目標。表6 分別統計了各測試序列中信噪比最低的50 個條狀目標在10?3虛警率下2 種網絡的檢測性能,這些目標信噪比范圍為0.5~0.68。

圖21 不同信噪比下EISTDnet與RISTDnet條狀弱小目標檢測率曲線Fig.21 Stripe dim targets detection rate curves of different SNR between EISTDnet and RISTDnet

表6 EISTDnet 與RISTDnet 條狀弱小目標檢測性能對比Table 6 Com parison of stripe dim target detection perform ance between EISTDnet and RISTDnet
表7 給出了優化后的檢測算法FPGA 硬件資源使用情況,FPGA 型號為Xilinx 公司生產XC7VX690T,開發工具為Vivado2 019.1。

表7 FPGA 資源利用率Table 7 FPGA resource utilization
從表7 中可以看出,為盡可能優化時序并降低外部存儲器訪問頻次,片內BRAM 和用來生成REG的觸發器(flip flop,FF)利用率分別高達93%與87%。大量BRAM 和FF 的使用有效保證了并行處理架構無阻塞流水運行,同時,降低了FPGA 內布局布線難度,繼而提高了系統布局布線后時鐘頻率。乘除等復雜高精度運算全部使用片內DSP 硬核資源,由于卷積并行計算矩陣規模較大,利用率也高達91%。
圖22 給出了EISTDnet 網絡在FPGA 內處理流水線示意圖,依據處理流程流水線上主要包括圖像傳輸、特征提取、卷積網絡計算3 級。其中由于計算規模較大,卷積網絡計算占用了流水線上最長處理時間,因而其處理時延決定了FPGA 實時流水處理能力。而對于固定尺寸輸入圖像,卷積網絡處理時延取決于網絡各層處理循環數量,其僅與循環分塊數量、輸入通道數量和輸出通道數量相關,而這些參數在網絡訓練后固化,不受圖像特性影響,因此,FPGA 整體流水處理架構具有良好的穩定性和實時性保障。

圖22 EISTDnet網絡在FPGA內處理流水線示意圖Fig.22 Schematic diagram of EISTDnet network processing pipeline in FPGA
圖23 給出了EISTDnet 的FPGA 實現仿真波形。FPGA 實現中圖像傳輸、特征提取和卷積計算三部分采用并行流水處理方式,仿真顯示單幀圖像流水線上最大處理時鐘數為5826324 個時鐘周期(clock period,簡稱clk)。FPGA 布局布線后時鐘支持的最高頻率為187MH z,實際片內工作時鐘為1 8 0 MHz,此時處理周期為32.37m s,可滿足3 0 Hz、640×512圖像快速實時處理需求。

圖23 EISTDnet 的FPGA實現仿真波形Fig.23 FPGA simulation waveform of EISTDnet
圖24 給出了同等規模處理架構下RISTDnet 的實現仿真波形,仿真顯示單幀圖像流水線上最大處理時鐘數為135 9 8 7 2 0 個時鐘周期,1 8 0MHz 時鐘下處理周期為75.55ms。對比可見得益于計算操作數的優化和并行處理架構與卷積核尺寸之間的匹配性,EISTDnet 在FPGA 實時處理速率上相對RISTDnet提高了1.33 倍。

圖24 RISTDnet 的FPGA實現仿真波形Fig.24 FPGA simulation waveform of RISTDnet
本文面向復雜背景紅外弱小目標實時檢測難題,提出一種基于深度學習的增強型紅外小目標檢測網絡EISTDnet,并基于FPGA 平臺實現其高性能實時處理,具體結論如下:
1)EISTDnet 可實現較為優異的檢測性能,經3 個序列共4 917 幅圖像測試,相比傳統5 種算法,在虛警率為10?3條件下,平均檢測率提升49.5%,充分說明EISTDnet 對復雜背景下低信噪比紅外小目標的檢測優勢。
2)針對RISTDnet 對復雜背景下條狀弱小目標檢測性能較弱的問題,EISTDnet 通過增加8 種定權特征提取卷積核強化特征提取能力,對信噪比范圍在0.5~0.68 之間的條狀小目標,實現了10?3虛警率下29.4%檢測率的提升。
3)由于定權特征圖數量增加,EISTDnet 運算操作數相對RISTDnet 增加了29.23%。通過采用卷積核尺寸歸一化、BN 層融合和特征映射層簡化3 種優化算法,EISTDnet 運算操作數降低至RISTDnet的48.46%。同時,通過采用數據深度復用算法進一步優化EISTDnet 多尺度定權特征提取模塊,優化后該模塊運算操作數降低至優化前的15.51%。運算操作數的多方面優化顯著降低了對處理芯片計算資源的需求。
4)通過多維循環并行展開、循環計算順序優化和多級緩存優化算法,構建了EISTDnet 高性能并行計算架構,在單片FPGA 上實現30Hz、640×512 圖像快速實時處理,相比RISTDnet 處理速率提高了1.33 倍。
為繼續提高EISTDnet 實時處理性能,擬在后續進一步開展針對該網絡的裁剪壓縮方法研究,并通過訓練與優化網絡參數控制裁減壓縮后精度損失。