陸天宇,徐 湛,崔紅元,龔 昊,王 琤
1.北京信息科技大學 信息與通信工程學院,北京 100101
2.中國科學院大學 計算機科學與技術學院,北京 100089
3.北京雷鷹科技有限公司,北京 100080
作為海上交通工具與運輸工具的艦船,對其進行實時檢測有著非常重要的軍事意義與民用價值。在軍用領域,實時檢測艦船有利于動態(tài)監(jiān)測、航跡追蹤與戰(zhàn)略布局;在民用領域,實時檢測艦船有利于海上運輸、海上救援與海域安全[1]。合成孔徑雷達(synthetic aperture radar,SAR)是一種全天候全天時的主動式微波傳感器,因不受天氣影響與光照影響的優(yōu)點,在艦船檢測領域中有著廣泛的應用[2-3]。隨著衛(wèi)星遙感技術與深度學習技術的快速發(fā)展,基于深度學習的目標檢測技術被應用于SAR 圖像艦船檢測領域[4-5]。卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)[6]作為深度學習中最具代表性的網(wǎng)絡結構在目標檢測領域被廣泛使用。檢測模型可依據(jù)檢測階段分為兩大類:兩階段(two-stage)檢測模型和單階段(one-stage)檢測模型。兩階段檢測模型主要包括R-CNN(region-convolution neural network)[7]、Fast R-CNN[8]、Faster R-CNN[9]、Mask R-CNN[10]。單階段檢測模型主要包括YOLO(you only look once)[11]、SSD(single shot multibox detector)[12]。
2015 年,YOLO 被提出。YOLOv2[13]、YOLOv3[14]、YOLOv4[15]、YOLOv5 也在之后的五年里接連被提出。相較于YOLOv4 的Darknet 框架,YOLOv5 的Pytorch 框架能夠更加方便地訓練數(shù)據(jù)集,更利于模型訓練與優(yōu)化。YOLO模型雖能快速檢測目標,但在資源有限的嵌入式設備中,為了進一步加快計算速度和減少資源占用,還需對其進行輕量化處理。目前,國內(nèi)針對檢測模型優(yōu)化與嵌入式系統(tǒng)設計的研究逐漸變多[16-20]。文獻[16]提出一種基于深度分離卷積神經(jīng)網(wǎng)絡的SAR艦船檢測模型SARShipNet-20,結合通道注意力機制(CA)和空間注意力機制(SA),使其具有更少的參數(shù)量與計算量,但沒有將SAR 艦船檢測模型移植于嵌入式系統(tǒng),也沒有進行實時性驗證。文獻[17]改進檢測框損失函數(shù)和特征提取方式,提高對SAR圖像中艦船目標的檢測效果,但實驗數(shù)據(jù)量相對較少,缺少普遍性,對更高分辨率的SAR數(shù)據(jù)集的檢測效果還需研究。文獻[18]設計并實現(xiàn)了YOLOV3&MobileNetV3 輕量化網(wǎng)絡,并在現(xiàn)場可編程邏輯門陣列(FPGA)平臺,通過設計卷積神經(jīng)網(wǎng)絡加速器,實現(xiàn)了高效的輕量化神經(jīng)網(wǎng)絡,最后在測試集中對艦船目標的檢測中達到了150 幀每秒的檢測速度、88%的準確率和87%的召回率。雖然大幅度提高了檢測速度,但犧牲了準確率與召回率的檢測精度,在實時檢測中還需進一步提高檢測精度。文獻[19]針對實際大場景SAR圖像艦船檢測時容易出現(xiàn)眾多陸地上的虛警問題,提出一種基于純背景混合訓練的方法來抑制大場景SAR 艦船檢測的虛警。但在大幅度抑制虛警的同時卻帶來一定程度的漏檢。為此,還需要進一步研究貼近實際工程應用的高質(zhì)量SAR艦船檢測數(shù)據(jù)集和高質(zhì)量的SAR 艦船檢測方法。文獻[20]設計了基于兩個Jetson TX2嵌入式平臺的實時SAR船只目標檢測系統(tǒng),使用添加了空洞卷積和轉(zhuǎn)置卷積層優(yōu)化后的YOLOv2 模型進行檢測,在保證較高檢測精度的同時,有效提高了SAR圖像船只檢測速率,但是該系統(tǒng)的圖像數(shù)據(jù)來源于主機端,而非來源于嵌入式平臺的SAR 實時成像處理結果。在主機端進行數(shù)據(jù)預處理,利用以太網(wǎng)發(fā)送數(shù)據(jù)給Jetson TX2嵌入式平臺,對于大幅寬SAR成像處理和大幅寬SAR 圖像艦船實時檢測而言,計算量和數(shù)據(jù)傳輸量都巨大,硬件平臺Jetson TX2 計算性能有限,并不適合嵌入式大幅寬SAR圖像目標實時檢測系統(tǒng)。
因此,本文針對小型化SAR 商業(yè)遙感衛(wèi)星或小型化SAR無人機對SAR實時成像處理和目標檢測的應用需求,應用“通用化、系列化、模塊化”三化設計思想,設計了一種基于3U VPX 架構的大幅寬SAR 圖像嵌入式艦船實時檢測系統(tǒng)。系統(tǒng)采用基于FPGA+嵌入式GPU的異構計算架構,為艦船檢測模型實時檢測時的數(shù)據(jù)處理提供了可擴展的嵌入式平臺;應用SSDD數(shù)據(jù)集訓練了一種基于YOLOv5s的艦船檢測模型;通過基于L2-范數(shù)稀疏性懲罰的縮放因子控制法對模型的通道進行修剪,減小了模型的參數(shù)量與計算量,得到輕量化艦船檢測模型。將輕量化艦船檢測模型移植在設計的嵌入式平臺上,并對大幅寬SAR圖像進行檢測。經(jīng)實驗驗證,大幅寬SAR圖像嵌入式艦船實時檢測系統(tǒng)通過多板并行異構處理架構,在保持高檢測精度的情況下滿足任務實時檢測需求。
為了滿足大幅寬SAR 圖像艦船實時檢測需求,本文從SAR 圖像分辨率、SAR 圖像幅寬,SAR 圖像尺寸,檢測時間,平均檢測精度這五個角度進行分析。其中,SAR圖像尺寸=SAR圖像幅寬/SAR圖像分辨率,也等于艦船檢測模型檢測時需要設置的image_size(輸入圖像尺寸)。
目前典型的星載SAR的距離向幅寬是10 km,方位向根據(jù)不同的工作模式略有不同,一般成像后的圖像幅寬的一個典型值是10 km×10 km。按照這個典型值對系統(tǒng)需求進行評估,SAR圖像艦船實時檢測需求相關參數(shù)如表1所示。
表1 SAR圖像艦船實時檢測需求分析Table 1 Demand analysis of ship real-time detection in SAR images
隨著深度學習技術的廣泛應用,當前已經(jīng)有很多性能非常優(yōu)異的目標檢測模型,相比重新設計模型,在已有的經(jīng)過驗證的模型基礎上進行針對性優(yōu)化,更有實際的應用價值和意義。在這些模型的基礎上,針對SAR艦船實時檢測這個特定的應用任務,使用相關數(shù)據(jù)集進行功能適應性訓練,成為將深度學習技術應用在艦船實時檢測系統(tǒng)的前提。
目前,YOLO 系列模型中最新的版本為YOLOv5,其有四種檢測版本,分別是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。本文從mAP(平均精度)、FPS(每秒處理圖片數(shù)量)、Params(參數(shù)量)、FLOPS(浮點運算量)這四個評價參數(shù)對YOLOv5的四個檢測版本進行分析,其具體評價結果如表2所示。
由表2 得 出,YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四個檢測版本中,YOLOv5s 的FPS 最大,為500,是檢測速度第二快的YOLOv5m的1.35倍,且參數(shù)量、浮點運算量同樣最小,是參數(shù)量、浮點運算量第二小的YOLOv5m的34%、33%。大幅寬SAR圖像嵌入式系統(tǒng)艦船實時檢測系統(tǒng)對移植模型的需求是參數(shù)量少、計算量少、檢測速度快。YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四個檢測版本中,YOLOv5s 最符合需求。因此,本文選擇YOLOv5s模型進行訓練與輕量化,從而得到滿足任務需求的艦船實時檢測模型。
在地面服務器上可以使用的需要占用大量計算資源和存儲資源的目標檢測模型無法直接移植到嵌入式設備上。若使目標檢測模型成功移植在嵌入式設備中,就需要對目標檢測模型進行輕量化處理。模型的輕量化是對原有模型進行剪枝、壓縮或蒸餾等方法,從而減小模型的計算量與參數(shù)量,計算量的減少有利于加快檢測速度,參數(shù)量的減少有利于減少存儲資源占用。輕量化的方法之一是縮放因子控制法[21],下文中稱文獻[21]所使用的縮放因子控制法即為傳統(tǒng)縮放因子控制法。
1.3.1 縮放因子和稀疏性懲罰
傳統(tǒng)縮放因子控制法為基于L1-范數(shù)稀疏性懲罰的縮放因子控制法,在每個通道引入一個縮放因子γ,將其乘以該通道的輸出,然后對網(wǎng)絡權值和縮放因子進行聯(lián)合訓練,并基于L1-范數(shù)對縮放因子進行稀疏性懲罰的稀疏化訓練,得到了正常因子(數(shù)值正常、權重有效的因子)與近零因子(數(shù)值逼近零、權重很小的因子)。其稀疏化訓練中所使用的訓練公式如式(1)所示,縮放因子γ為可訓練的仿射變換尺度參數(shù),其為向量,如式(2)所示:
其中,(x,y)表示訓練的輸入和目標,W表示訓練權值,第一個加項對應CNN的正常訓練損失,g(·)是對縮放因子的稀疏性懲罰,λ對這兩項起到平衡作用。
L1-范數(shù)也叫“稀疏規(guī)則算子”(Lasso regularization),能實現(xiàn)特征的自動選擇,保留下與預測相關的特征,將與預測無關的特征設為0,從而簡化模型,獲得更好的解釋性。在傳統(tǒng)縮放因子控制法中,基于L1-范數(shù)稀疏性懲罰的稀疏化訓練公式如式(3)所示,縮放因子γ的L1范數(shù)如式(4)所示:
相較于L1-范數(shù),另一種范數(shù)即L2-范數(shù)同樣可以應用于縮放因子的稀疏性懲罰。L2-范數(shù)也叫“嶺回歸”(ridge regression),能讓向量中的每個參數(shù)都接近于0,從而使模型簡單化,不容易過擬合,提高模型泛化能力。分析L1-范數(shù)與L2-范數(shù)的區(qū)別:L1-范數(shù)只產(chǎn)生較少的與預測相關的特征,而其他特征都是0;L2-范數(shù)則會產(chǎn)生更多的特征,這些特征都接近于0。
在大幅寬SAR 圖像的艦船實時檢測中,為了避免艦船檢測模型過擬合且檢測特征數(shù)量較少,本文提出了基于L2-范數(shù)稀疏性懲罰的縮放因子控制法,基于L2-范數(shù)稀疏性懲罰的稀疏化訓練公式如式(5)所示,縮放因子γ的L2范數(shù)如式(6)所示:
1.3.2 模型輕量化流程
模型的輕量化從信道稀疏化處理開始,即在不同的層次上,如權重級、通道級、層級進行稀疏化實現(xiàn)。通道級稀疏化在靈活性和通用性方面優(yōu)于層級稀疏化,在易于實現(xiàn)方面則優(yōu)于權重級稀疏化,被應用于縮放因子控制法中。在通道級稀疏化過程中,引入縮放因子并將其與卷積層中的每個通道結合起來,即每個縮放因子都有與之對應的通道。稀疏化訓練中對這些縮放因子進行稀疏化處理,得到正常因子與近零因子。對近零因子所對應的通道進行剪枝處理,得到比原本模型更為緊湊的輕量化的模型,但剪枝過程中大量通道的刪除會對模型的檢測精度造成影響。為此,剪枝后的模型需要進行微調(diào)處理,以使其檢測精度提升到與原本模型的檢測精度相等或接近。檢測模型剪枝具體流程圖如圖1所示。
圖1 檢測模型剪枝流程圖Fig.1 Flow chart for detecting model pruning
在星載、機載(含無人機)平臺的SAR 遙感圖像艦船實時檢測系統(tǒng)中,星載或機載平臺發(fā)射雷達信號,通過海面反射回波接收,完成回波信號的數(shù)字化處理、實時回波數(shù)據(jù)存儲、同時對SAR 回波信號進行快視成像處理。成像處理后的圖像數(shù)據(jù)根據(jù)需求,進行若干級的圖像處理,然后將其輸入到艦船實時檢測系統(tǒng)中,應用輕量化的艦船檢測模型完成對艦船目標的實時檢測。由于不同的應用系統(tǒng)指標不同,因此,應用“通用化、系列化、模塊化”三化設計思想,設計了一種基于3U VPX架構的SAR 圖像嵌入式艦船實時檢測系統(tǒng),針對不同的應用需求,配置不同種類或者不同數(shù)量的處理板卡,能快速滿足任務需求。
SAR成像處理算法特點和GPU的眾核并行計算特點非常匹配,將GPU 應用于SAR 成像處理已經(jīng)被行業(yè)廣泛接受。但是受限于桌面級GPU 的體積和功耗,傳統(tǒng)的SAR 實時成像處理通常都是FPGA+DSP 架構,但由于近年來工業(yè)級嵌入式GPU 的出現(xiàn),其體積和功耗都能滿足SAR 實時處理系統(tǒng)的應用需求,將嵌入式GPU 應用在SAR 實時處理系統(tǒng)是非常有現(xiàn)實意義的。同時由于基于深度學習技術的目標檢測模型主要是基于GPU 實現(xiàn),因此設計開發(fā)基于FPGA+GPU 的異構計算架構,既可以滿足SAR實時成像處理的功能需求,也能滿足目標檢測的功能需求。
SAR 遙感數(shù)字處理系統(tǒng)通常包括以下幾種功能硬件單元:
(1)DAC 信號生成單元:用于生成SAR 雷達成像寬帶信號,信號帶寬根據(jù)成像分辨率決定,通常在100 MHz~1 GHz;
(2)ADC信號采集單元:用于采集SAR雷達場景回波信號,ADC 信號采集模塊的帶寬和采樣率通常和DAC相匹配;
(4)SAR成像處理單元:針對ADC采集到的雷達回波數(shù)據(jù),應用特定的成像處理算法(如RD 算法、CS 算法等)完成實時處理,實時處理所需要的處理器通常是FPGA、DSP,近年來GPU也已經(jīng)開始應用在實時成像處理單元;
(5)目標檢測單元:SAR 成像處理單元實時將雷達回波生成為黑白圖像,目標檢測單元根據(jù)實時生成的黑白圖像對目標進行實時檢測。
根據(jù)系統(tǒng)應用的功能需求,SAR成像處理單元需要完成連續(xù)的實時成像處理,然后將實時成像處理生成的圖像實時發(fā)送到目標檢測單元,目標檢測單元的檢測速度不能比實時成像處理生成圖像的速度慢,這樣才能滿足實時成像處理+實時目標檢測的系統(tǒng)需求。
由于不同的任務指標差別比較大,比如成像幅寬、成像分辨率等,這些指標對實時處理系統(tǒng)的總處理能力、單板處理能力、多板間數(shù)據(jù)傳輸能力、多板并行處理能力的要求都不同,因此,在實際系統(tǒng)設計中,應用“通用化、系列化、模塊化”三化設計思想,同時考慮到小型化的設計要求,設計了一種基于3U VPX架構的SAR圖像嵌入式艦船實時檢測系統(tǒng)。根據(jù)不同的功能,設計不同的、可替換的、可擴展的標準化的硬件單元板卡,這些不同的硬件單元板卡通過背板進行高速數(shù)據(jù)互聯(lián),形成一個完整的系統(tǒng),其功能框圖如圖2所示。
圖2 大幅寬SAR圖像嵌入式艦船實時檢測系統(tǒng)功能圖Fig.2 Function diagram of large size SAR image embedded ship real-time detection system
系統(tǒng)中每個功能板卡都是符合3U VPX 高可靠性工業(yè)標準的硬件板卡,硬件的設計和實現(xiàn)采用軟件無線電的思想,通過參數(shù)的設置,可以滿足不同功能指標的應用需求,下面給出系統(tǒng)中采用的硬件處理芯片的規(guī)格和指標:
(1)ADC:ADI 公司的AD9689,采樣率2.4 Gsps,量化位數(shù)14 bit,ADC和FPGA之間使用JESD204B接口;
(2)DAC:ADI 公司的AD9910,采樣率2.4 Gsps,量化位數(shù)14 bit,F(xiàn)PGA和DAC之間是并行LVDS接口;
(3)FPGA:Xilinx公司的XC7VX690T和XC7K325T;
(4)GPU:NVidia公司的AGX Xavier GPU。
這下子,公司上下議論紛紛,大家都認為程曉是個騙子,開著凱迪拉克騙起了副總裁的女兒!領導找他談話,叫他不要把他的凱迪拉克開到公司里來了,程曉自然不服。沒幾天,他的車身就被人劃傷了,程曉心疼得大哭了一場,他知道不能在這家公司待下去了。
SAR 成像處理單元和目標檢測單元的FPGA 和GPU 之間使用8x PCIe 總線進行互聯(lián)。板卡間的高速數(shù)據(jù)流傳輸說明如下:
(1)ADC 功能單元的FPGA 和SAR 成像處理單元的FPGA之間通過SRIO進行互聯(lián);
(2)SAR 成像處理單元的FPGA 完成成像預處理,預處理后的數(shù)據(jù)通過PCIe總線高速傳輸給GPU完成實時成像處理算法;
(3)SAR 成像處理單元實時生成的SAR 圖像通過PCIe 總線高速寫到FPGA 中,然后通過SRIO 總線傳輸給目標檢測單元;
(4)SAR成像處理單元的FPGA和目標實時檢測單元的FPGA 之間通過SRIO 高速鏈路接收數(shù)據(jù),然后通過PCIe總線,使用DMA技術將數(shù)據(jù)高速傳輸?shù)紾PU中。
經(jīng)實測,F(xiàn)PGA 和GPU 之間的PCIe 傳輸帶寬不小于2 GB/s,板卡之間通過不少于2 組SRIO(4×5 Gbit/s)鏈路進行數(shù)據(jù)傳輸,兩板卡之間數(shù)據(jù)傳輸吞吐率不小于40 Gbit/s,可以滿足SAR遙感圖像的實時傳輸需求。
本文基于3U VPX 架構的嵌入式異構計算平臺設計了一個嵌入式艦船實時檢測系統(tǒng),通過基于FPGA的SRIO高速傳輸鏈路實現(xiàn)了SAR遙感圖像數(shù)據(jù)從成像處理單元到目標檢測單元的高速傳輸,將SAR 實時成像數(shù)據(jù)通過PCIe總線傳輸給GPU。在GPU上應用可以滿足系統(tǒng)性能要求的輕量化模型,實現(xiàn)了艦船檢測模型的實時檢測處理;并在艦船實時檢測中統(tǒng)計檢測精度與檢測時間,將其作為評價參數(shù),對嵌入式艦船實時檢測系統(tǒng)進行性能評估。依據(jù)評估結果,對檢測模型的輕量化和計算并行化策略進行調(diào)整,以滿足應用的指標要求。
根據(jù)1.2節(jié)對檢測模型的分析,選擇YOLOv5s模型應用于嵌入式艦船檢測系統(tǒng)。為了驗證模型的檢測性能,使用SSDD 數(shù)據(jù)集進行艦船目標檢測。SSDD 船舶數(shù)據(jù)集是LI Jianwei 等基于SAR 圖像構建的一個船舶數(shù)據(jù)集,總共包含1 160張圖片,2 456個艦船,平均每張圖片的艦船數(shù)量為2.12[22]。本文將SSDD 數(shù)據(jù)集按8∶2比例隨機分為訓練集與驗證集。其中,訓練集包含956張SAR圖像,驗證集中包含258張SAR圖像。不同場景下的部分圖像如圖3所示。
本文對模型檢測效果的評價參數(shù)分別為P(精度)、R(召回率)、mAP(平均精度)、Parameters(參數(shù))、size(模型大?。?。其中,P、R、mAP 的計算公式如式(7)、式(8)、式(9)所示。
其中,TP為被模型預測為艦船的艦船目標;TN為被模型預測為非艦船的非艦船目標;FP為被模型預測為艦船的非艦船目標;FN為被模型預測為非艦船的艦船目標。
基于YOLOv5s 模型對SSDD 數(shù)據(jù)集進行訓練,迭代次數(shù)設置為100。在訓練過程中,模型在75次迭代時收斂,P、R、mAP 為0.957、0.948、0.976,參數(shù)量為7 039 094,模型大小為14.4 MB,將其命名為SSRTD(SAR_Ship_Real_Time_Detect)。為了減小艦船檢測模型的計算量與參數(shù)量、進一步加快檢測速度,對SSRTD進行輕量化處理。
通過傳統(tǒng)縮放因子控制法與基于L2-范數(shù)稀疏性懲罰的縮放因子控制法分別對SSRTD 進行輕量化處理。下文將這兩個輕量化處理分別稱為L1-輕量化與L2-輕量化。L1-輕量化中的超參數(shù):稀疏化與微調(diào)的迭代次數(shù)都設置為100,L1 正規(guī)稀疏率設置為0.000 1,剪枝比例上限為0.308 97,剪枝參數(shù)設置為0.10,conf-thres(置信度閾值)設置為0.001,iou-thres(交并比閾值)設置為0.6。在L1-輕量化中,稀疏化模型在60次迭代時收斂,微調(diào)模型在60次迭代時收斂。L2-輕量化中的超參數(shù):L2正規(guī)稀疏率設置為0.000 1,剪枝比例上限為0.405 88,剪枝參數(shù)設置為0.30,其他超參數(shù)與傳統(tǒng)縮放因子控制法的設置相同。在L2-輕量化中,稀疏化模型在60次迭代時收斂,微調(diào)模型在70次迭代時收斂。
剪枝比例上限依據(jù)稀疏化訓練效果在剪枝過程中自動生成,影響剪枝參數(shù)的取值范圍。由L1-輕量化與L2-輕量化的剪枝比例上限對比,可知基于L2-輕量化的稀疏化訓練效果更好,能對模型進行更大比例的剪枝。模型的剪枝參數(shù)設置依據(jù)于模型剪枝后檢測性能的反饋,由L1-輕量化與L2-輕量化的剪枝系數(shù)對比,得知L2-輕量化中的剪枝系數(shù)上限更高。艦船檢測模型SSRTD輕量化中的相關參數(shù)如表3所示。
將通過L1-輕量化與L2-輕量化得到的艦船檢測模型分別命名為SSRTD_L1_light 與SSRTD_L2_light。為了比較艦船檢測模型的性能,本文將艦船檢測模型SSRTD 和輕量化艦船檢測模型SSRTD_L1_light 與SSRTD_L2_light 通過評價參數(shù)P、R、mAP、Parameters、size、GFLOPs(每秒10 億次的浮點運算數(shù))進行對比。其中,GLOPS 常用來表示模型計算復雜度。其具體評價參數(shù)表如表4所示。
表4 艦船檢測模型的對比Table 4 Comparison of ship inspection models
從表4 中可以看出SSRTD_L1_light 的參數(shù)量減小了12.60%,計算量減少了12.04%;SSRTD_L2_light的參數(shù)量減小了47.39%,計算量減少了18.67%。比較兩個輕量化艦船檢測模型,可得知SSRTD_L2_light 的參數(shù)量與計算量更少,平均檢測精度更高,因此選擇SSRTD_L2_light 為嵌入式艦船實時檢測系統(tǒng)的應用模型。艦船檢測模型SSRTD_L2_light 的性能評價曲線如圖4所示,其對驗證集的檢測效果如圖5所示。
圖4 艦船檢測模型SSRTD_L2_light的性能評價曲線Fig.4 Performance evaluation curve of ship detection model SSRTD_L2_light
圖5 艦船檢測模型SSRTD_L2_light的檢測效果Fig.5 Detection effect of ship detection model SSRTD_L2_light
在艦船檢測模型輕量化后,將其應用于第2章設計的嵌入式硬件平臺。運行在星載或無人機載環(huán)境下的嵌入式艦船實時檢測系統(tǒng)的軟件根據(jù)遙測指令和參數(shù)配置,完成對嵌入式硬件系統(tǒng)中各個硬件模塊的初始化、建立各個功能單元的傳輸鏈路、啟動各個處理功能模塊。
星載或無人機載SAR 雷達系統(tǒng)根據(jù)遙測控制命令,針對特定區(qū)域使用雷達遙感,接收雷達回波的同時,嵌入式艦船實時檢測系統(tǒng)中的成像處理模塊實時完成成像處理,并將成像處理后的大幅寬圖像結果通過背板上高速SRIO總線實時傳輸給圖像目標檢測模塊。圖像目標檢測模塊中的FPGA 接收到成像后的圖像數(shù)據(jù)后通過PCIe DMA 高速傳輸給嵌入式GPU 處理器,嵌入式GPU 處理器上運行著艦船目標檢測軟件,應用多線程技術,同時完成圖像數(shù)據(jù)實時獲取任務、圖像數(shù)據(jù)緩存任務、艦船目標檢測任務等多個任務。艦船目標檢測任務調(diào)用SSRTD_L2_light輕量化艦船目標檢測模型,為了滿足實時性要求,模型計算過程部分軟件使用CUDA軟件庫,運行在GPU 的眾核處理單元上。并行計算的并行度依賴于硬件處理單位的計算資源和內(nèi)存資源,軟件開發(fā)過程中,根據(jù)實測結果,決定并行計算效率最大化的并行數(shù)。
其嵌入式艦船實時檢測系統(tǒng)流程圖如圖6所示。
在圖6 中,綠色背景中的模塊是基于GPU 處理器,應用CUDA計算平臺的并行處理功能模塊,白色背景的模塊屬于SAR圖像嵌入式艦船實時檢測系統(tǒng)中成像處理功能模塊,藍色模塊屬于SAR 圖像嵌入式艦船實時檢測系統(tǒng)中圖像目標檢測功能模塊,黃色背景模塊屬于系統(tǒng)設計開發(fā)、調(diào)試過程中的評估模塊。
由于大幅寬SAR圖像嵌入式艦船實時檢測系統(tǒng)中圖像目標檢測模塊運行的嵌入式GPU處理器的內(nèi)存和處理資源的限制,無法直接輸入一幅完整的大幅寬SAR圖像,而需要將大幅寬SAR圖像拆分成512×512尺寸的小圖,然后將這些小圖依次輸入SSRTD_L2_light 艦船檢測模型。
由于并行化的執(zhí)行效率受限于嵌入式GPU處理器的物理內(nèi)存大小和計算過程中可使用的GPU 核數(shù),如果輸入的圖像數(shù)據(jù)尺寸過小,模型計算過程中占用的物理內(nèi)存和使用的GPU核數(shù)只使用了嵌入式GPU處理器的部分資源,那么就沒有充分發(fā)揮硬件平臺的計算能力,執(zhí)行效率低。如果輸入的圖像數(shù)據(jù)尺寸過大,模型計算過程中占用的物理內(nèi)存和使用的GPU核數(shù)超出了嵌入式GPU 處理器的實際物理資源,那么操作系統(tǒng)和運行環(huán)境就不得不將數(shù)據(jù)來回在物理內(nèi)存和虛擬內(nèi)存之間搬移,反而大大降低了計算效率。因此需要通過在硬件平臺上的嵌入式GPU 處理器實測,得出滿足應用需求的并行策略。
表5給出每次調(diào)用模型計算時,并發(fā)輸入不同圖像塊數(shù)量時每個圖像塊計算所需要的時間,輸入SAR 圖像塊尺寸為512×512。嵌入式平臺的環(huán)境:python 為3.6.7版本,torch版本為1.10.0+CUDA,使用的操作系統(tǒng)為ubuntu18,使用的處理器是NVIDIA 公司的Jetson AGX Xavier。
表5 輸入不同圖像塊數(shù)量時每個圖像塊計算時間對比Table 5 Calculation time comparison of each image block when different number of image blocks are input
根據(jù)表5 實測結果,可知基于Jetson AGX Xavier GPU處理器進行并發(fā)圖像塊檢測時,輕量化艦船檢測模型SSRTD_L2_light 在并發(fā)圖像數(shù)量塊為32、64、128、256時,檢測速度都比未輕量化的艦船檢測模型SSRTD快,證明上述的L2-輕量化有效提升了艦船檢測模型的檢測速度。并發(fā)圖像塊數(shù)量的選擇影響到每個圖像塊計算所需要的時間,也同樣影響著大幅寬SAR 圖像檢測時間。使用并發(fā)圖像塊數(shù)量為64時,計算效率最快,也說明當并發(fā)圖像塊數(shù)量為64 時,目標檢測模型計算所需要的內(nèi)存資源和處理核資源和實際物理資源大小最適配的。
根據(jù)表1 的大幅寬SAR 圖像實時目標檢測的性能要求,檢測速度越快越好,因此選擇并發(fā)圖像塊數(shù)量為64,從而得到大幅寬圖像的執(zhí)行時間。
根據(jù)表6 的時間性能的計算結果對比,可以看到使用SSRTD_L2_light輕量化模型,針對10 km×10 km大幅寬圖像,4 種不同的分辨率,使用一塊Jetson AGX Xavier GPU都可以滿足SAR圖像嵌入式艦船實時檢測系統(tǒng)的實時性要求。如果幅寬超過10 km×10 km的話,單塊GPU 無法滿足實時性要求,由于基于3U VPX 的SAR 圖像嵌入式艦船實時檢測系統(tǒng)的硬件設計滿足功能板卡擴展的條件,可以使用多塊目標檢測硬件板卡來滿足實時性要求。
表6 大幅寬SAR圖像不同分辨率下檢測計算時間對比Table 6 Comparison of calculation time of target detection with different resolutions in large size SAR images
除了對實時性能進行驗證外,實驗使用SSDD數(shù)據(jù)集中的驗證集,包括單個目標、離散多目標、碼頭多目標、密集多目標等多個場景,對模型的目標檢測性能進行驗證。
本文結合SSDD 驗證集標簽中實際艦船目標數(shù)量與艦船檢測模型SSRTD_L2_light 所檢測艦船目標數(shù)量相對比,其中No 代表該SAR 圖像在SSDD 數(shù)據(jù)集中的具體編號,True代表SSDD驗證集中的艦船數(shù)量,Detect代表艦船檢測模型SSRTD_L2_light 檢測所得的艦船數(shù)量。為分析艦船檢測模型SSRTD_L2_light在SAR圖像中的檢測效果,本文從SSDD 驗證集中隨機選擇10 張SAR圖像進行分析,具體情況如表7所示。
表7 實際艦船目標數(shù)量與檢測艦船目標數(shù)量對比Table 7 Comparison between number of actual ship targets and number of detected ship targets
由表7可知,SAR圖像嵌入式艦船實時檢測系統(tǒng)的SAR 圖像艦船目標檢測中,隨機10 張SAR 圖像中的實際艦船目標數(shù)量為59,檢測艦船目標數(shù)量為59,其中真艦船目標數(shù)量為57,假艦船目標數(shù)量為2,漏檢艦船目標數(shù)量為2。其中,No.000751發(fā)生漏檢,漏檢艦船目標數(shù)量為2,No.001031發(fā)生誤檢,誤檢艦船目標數(shù)量為2。為了分析艦船目標的漏檢與誤檢情況,選擇No.000266、No.000751、No.001031、No.001093 的SAR 圖像進行展示,具體檢測效果如圖7所示。
圖7 嵌入式艦船實時檢測系統(tǒng)的檢測效果Fig.7 Detection effect of embedded ship real-time detection system
由圖7可知,發(fā)生漏檢的No.000751 SAR圖像為碼頭多目標環(huán)境,多個艦船目標??吭谝黄?,艦船目標檢測特征聚集在一起,容易把多個目標檢測成一個目標,發(fā)生漏檢;發(fā)生誤檢的No.001031 SAR 圖像為岸邊環(huán)境,由于岸邊環(huán)境復雜,可能具有艦船目標的檢測特征,因此對檢測產(chǎn)生干擾,把岸邊環(huán)境誤檢為艦船目標。相反,No.000266 與No.001093 SAR 圖像為海洋環(huán)境,干擾較少,便于艦船目標檢測,如No.001093 SAR 圖像中共有20 個艦船目標,嵌入式艦船實時檢測系統(tǒng)共檢測到20個艦船真目標。復雜環(huán)境雖對艦船目標的檢測精度產(chǎn)生了影響,但大幅寬SAR 圖像嵌入式艦船實時檢測系統(tǒng)在高分辨率大幅寬SAR圖像艦船目標實時檢測的前提下,對艦船目標的平均檢測精度達到了0.968,滿足了高分辨大幅寬SAR圖像艦船目標實時檢測的應用需求。
本文針對星載或無人機載的大幅寬SAR實時成像及目標實時檢測的應用需求,設計了一種基于3U VPX架構的SAR 圖像嵌入式艦船實時檢測系統(tǒng);提出了一種基于YOLOv5s 的艦船檢測模型SSRTD,通過基于L2-范數(shù)稀疏性懲罰的縮放因子控制法實現(xiàn)輕量化,得到輕量化艦船檢測模型SSRTD_L2_light,在保持高檢測精度的情況下,有效地減小了模型的參數(shù)量與計算量。相較于艦船檢測模型SSRTD,其參數(shù)量減小了47.39%,計算量減少了18.67%,平均檢測精度為0.968;在大幅寬SAR圖像嵌入式艦船實時檢測系統(tǒng)中,設計開發(fā)基于多線程技術和基于GPU 的眾核并行計算技術的大幅寬SAR 圖像嵌入式實時檢測系統(tǒng)軟件,并用公開SAR 圖像數(shù)據(jù)集進行功能驗證和性能評估,通過實驗驗證,針對10 km×10 km大幅寬高分辨率圖像,大幅寬SAR圖像嵌入式艦船實時檢測系統(tǒng)能滿足實時檢測需求。對于復雜環(huán)境下如碼頭環(huán)境、岸邊環(huán)境的艦船目標檢測優(yōu)化是本文繼續(xù)研究的重點,通過提升復雜環(huán)境下的艦船目標平均檢測精度來進一步優(yōu)化大幅寬SAR圖像嵌入式艦船實時檢測系統(tǒng)。