周玉金 謝宜壯 喬婷婷,2 馮 杏
(1.北京理工大學(xué)信息與電子學(xué)院雷達技術(shù)研究所;嵌入式實時信息處理技術(shù)北京市重點實驗室,北京 100081;2.華北電力大學(xué)電氣與電子工程學(xué)院,北京 102206)
星載合成孔徑雷達(Synthetic Aperture Radar,SAR)具有全天時、全天候、成像幅度大等特點,其被廣泛應(yīng)用于海上目標監(jiān)視領(lǐng)域[1]。目前,隨著SAR成像技術(shù)的不斷發(fā)展,SAR 成像的圖像分辨率不斷提高,船只目標在SAR 圖像中具有了更高的辨識度。因此,基于SAR 圖像的船只目標檢測應(yīng)用變得十分廣泛,在軍事領(lǐng)域,對特定船只目標進行實時位置檢測,有利于緊急戰(zhàn)略部署;在民用領(lǐng)域,可以對海運進行實時監(jiān)測和調(diào)度[2]。
近年來,隨著深度學(xué)習(xí)領(lǐng)域的不斷發(fā)展,SSD,YOLO 和Faster-RCNN(Faster Region Convolutional Neural Networks)等深度學(xué)習(xí)檢測模型在SAR 船只檢測領(lǐng)域取得了很好的效果,利用深度學(xué)習(xí)技術(shù)實現(xiàn)SAR 船只檢測,在有效避免了復(fù)雜特征設(shè)計的同時大幅度提升了算法檢測精度[3]。李健偉等發(fā)布了國內(nèi)首個SAR 圖像船只公開數(shù)據(jù)集,并基于該數(shù)據(jù)集證明了采用R-CNN 深度學(xué)習(xí)網(wǎng)絡(luò)方法較傳統(tǒng)方法具有明顯優(yōu)勢[4]。孫顯等公開了高分辨率SAR船只檢測數(shù)據(jù)集AIR-SARShip-1.0,并對多種深度學(xué)習(xí)模型檢測效果進行了對比,采用的密集連接端到端網(wǎng)絡(luò)方法達到了更好的檢測效果,但檢測速度較慢[5]。高分辨SAR 數(shù)據(jù)集的公開有效促進了深度學(xué)習(xí)網(wǎng)絡(luò)方法在SAR 船只目標檢測領(lǐng)域的發(fā)展,SAR 船只檢測精度得到了不斷提高。然而,考慮到SAR 船只檢測的應(yīng)用場景,算法的設(shè)計和實現(xiàn)不僅要保證較高的檢測精度,也要考慮船只檢測算法和檢測系統(tǒng)的實時性。
在星上和機載系統(tǒng)硬件資源和功耗受限的背景下,設(shè)計并實現(xiàn)高效可行的SAR 船只目標檢測系統(tǒng)變得十分重要。本文基于Jetson TX2嵌入式平臺成功部署了改進的YOLOv2 SAR 船只檢測網(wǎng)絡(luò),并設(shè)計了SAR 船只目標檢測系統(tǒng),在保證較高檢測精度的同時實現(xiàn)了高速SAR 船只目標檢測。實時處理方案通過高速以太網(wǎng)鏈路進行平臺間的通信,實現(xiàn)了兩個Jetson TX2 嵌入式平臺的協(xié)同工作,有效提升了SAR船只目標檢測系統(tǒng)的實時處理能力。
Jetson TX2 平臺是由英偉達公司推出的高性能嵌入式開發(fā)平臺,其性能與上一代產(chǎn)品Jetson TX1相比具有顯著提升,具有高性能、低功耗以及易于開發(fā)等優(yōu)點,在實時圖像處理領(lǐng)域具有很好的應(yīng)用前景。TX2 平臺的核心芯片是Tegra Parker SOC,其芯片架構(gòu)為ARM+GPU 架構(gòu),不僅具有較強的復(fù)雜運算能力,同時還具有很好的并行運算性能。CPU集群由雙核Denver2 處理器和四核ARM Cortex-A57組成,最高主頻皆為2 GHz。雙核Denver2具有良好的單線程性能,四核Cortex-A57 集群則具有良好的多線程性能,兩個處理器通過高速一致性結(jié)構(gòu)連接在一起,根據(jù)需要可以選擇一個或者多個核心進行異構(gòu)多進程處理。GPU 由兩個NVIDIA Pascal 架構(gòu)的多數(shù)據(jù)流處理器(SM,Streaming Multiprocessor)組成,每個SM 具有128 個CUDA 內(nèi)核,與獨立的GPU一樣支持API 和CUDA 庫,主頻在0.85 GHz 到1.3 GHz 之間,浮點計算性能可以達到1.5 TFLOPS[6]。TX2 核心芯片具有很好的并行計算能力,該平臺在深度學(xué)習(xí)算法實現(xiàn)和加速方面具有一定優(yōu)勢[7]。在外設(shè)接口方面,芯片上集成了PCIE 接口、1 千兆以太網(wǎng)、UART 串口、顯示器接口等,可以同時以多種方式與外界進行數(shù)據(jù)交互,便于進行開發(fā)和應(yīng)用。功耗方面,該平臺具有五種工作模式,可以根據(jù)具體的性能要求進行靈活調(diào)節(jié),保證了性能和功耗之間的平衡,其最低功耗可以達到7.5 W,最高為15 W。
SAR 船只目標檢測系統(tǒng)框圖如圖1 所示,SAR船只目標檢測系統(tǒng)由一臺千兆交換機,一臺主機和兩個Jetson TX2嵌入式平臺構(gòu)成,TX2平臺A和TX2平臺B 為獨立的服務(wù)端,主機同時作為TX2 平臺A和TX2平臺B 的客戶端。TX2嵌入式平臺和主機分別通過千兆網(wǎng)線與交換機連接,TX2 嵌入式平臺的IP 地址和主機IP 地址被設(shè)置為同一網(wǎng)段,在共享局域網(wǎng)環(huán)境下,TX2 平臺A 和TX2 平臺B 可以通過Socket編程分別與主機進行獨立通信。
Socket(套接字)是一個對TCP/IP 協(xié)議進行封裝的編程調(diào)用接口,通過Socket 通信機制實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸可以簡化用戶編程,與基礎(chǔ)的信號機制相比,Socket 通信機制不僅能實現(xiàn)同一臺計算機下不同進程的通信,還可以實現(xiàn)多臺計算機間的通信[8-9]。Socket 通信采用client/server 通信模式,在SAR 船只目標檢測系統(tǒng)中,主機作為客戶端采用多線程的方式分別與TX2平臺A和TX2平臺B進行獨立通信,主機作為客戶端在不同線程中可以與不同IP 的服務(wù)端建立連接,進而主機可以與兩個TX2 嵌入式平臺同時進行狀態(tài)交互,實現(xiàn)兩個TX2 平臺對數(shù)據(jù)的協(xié)同處理。
Socket通信主要實現(xiàn)客戶端和服務(wù)器端之間處理狀態(tài)的實時交互,為了進一步實現(xiàn)SAR 圖像切片在主機與嵌入式平臺間的快速傳輸,檢測系統(tǒng)采用共享文件的方式進行數(shù)據(jù)傳輸,兩個TX2 嵌入式平臺可以同時訪問共享文件夾中的SAR 圖像切片,并將處理結(jié)果保存到共享文件夾下的指定目錄,主機可以同時對共享目錄進行實時檢測,并對返回結(jié)果進行分析和展示。
主機主要負責數(shù)據(jù)預(yù)處理和檢測結(jié)果展示,TX2嵌入式平臺主要實現(xiàn)基于深度學(xué)習(xí)的船只目標檢測算法。數(shù)據(jù)預(yù)處理包括SAR 成像和對成像后的大場景圖進行切片,SAR 成像原始數(shù)據(jù)量較大,數(shù)據(jù)緩存和成像需要大量內(nèi)存資源,目前大多采用FPGA 平臺進行數(shù)據(jù)緩存和成像,而TX2 嵌入式平臺內(nèi)存資源有限,主要負責船只目標檢測,本文通過計算機模擬星上或機載SAR 成像硬件平臺,與TX2 嵌入式平臺進行數(shù)據(jù)交互,對TX2 嵌入式平臺的數(shù)據(jù)傳輸性能以及處理能力進行驗證。SAR 船只目標檢測系統(tǒng)處理流程如圖2 所示,主機端首先完成客戶端初始化,包括IP 設(shè)置和共享文件夾掛載,然后完成數(shù)據(jù)預(yù)處理和數(shù)據(jù)發(fā)送,對airsarship1.0 數(shù)據(jù)集中的大場景SAR 成像圖片進行切片,將處理后的切片存在指定的共享目錄中等待服務(wù)端處理。主機作為客戶端采用多線程方案,其可以同時與兩個服務(wù)端進行通信,最后,主機接收處理結(jié)果并進行展示。
TX2嵌入式平臺作為服務(wù)端主要完成船只目標檢測,服務(wù)端Socket 通信初始化流程主要包括以下步驟:第一步,使用socket函數(shù)建立套接字;第二步,使用bind函數(shù)對設(shè)定的IP 地址和端口號進行綁定;第三步,啟動listen 函數(shù)對端口進行監(jiān)聽;第四步,循環(huán)運行accept函數(shù)等待客戶端連接。TX2 嵌入式平臺接收到客戶端發(fā)送的開始命令后對切片進行處理,并將檢測結(jié)果保存到指定共享文件夾內(nèi)。
文獻[10]中提出了一種改進的YOLOv2深度學(xué)習(xí)網(wǎng)絡(luò),該網(wǎng)絡(luò)在YOLOv2 網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上添加了空洞卷積和轉(zhuǎn)置卷積層,以提高對不同尺度目標的檢測性能,該網(wǎng)絡(luò)在模型復(fù)雜度和目標檢測性能之間取得了平衡[11],本文基于SAR 船只目標檢測系統(tǒng)對該網(wǎng)絡(luò)進行了實現(xiàn),并取得了較好的檢測結(jié)果。
NVIDIA 官方提供的JetPack(Jetson Development Pack)開發(fā)工具套件為用戶提供了可靠方便的Jetson TX2嵌入式平臺環(huán)境搭建方案,JetPack4.4開發(fā)套件包含cuda10.2、cuDNN 等深度學(xué)習(xí)開發(fā)工具包,并且支持OpenCV 計算機視覺庫,為深度學(xué)習(xí)網(wǎng)絡(luò)的搭建提供了可靠的基礎(chǔ)環(huán)境。為了成功部署改進的YOLOv2 算法,在安裝JetPack4.4 開發(fā)套件的基礎(chǔ)上,還需要配置pytorch1.4 和torchvision0.4開發(fā)環(huán)境。
SAR船只目標檢測系統(tǒng)需要對網(wǎng)絡(luò)連接進行設(shè)置,包括IP 地址設(shè)置和共享文件夾創(chuàng)建。通過千兆以太網(wǎng)將主機、兩個嵌入式平臺分別與交換機相連,并將IP 地址設(shè)為同一網(wǎng)段,通過ping 命令可以確認連接狀態(tài)。TX2嵌入式平臺端的共享文件夾創(chuàng)建需要安裝cifs-utils包,并通過mount命令進行掛載。
基于本文搭建的SAR 船只目標檢測系統(tǒng),對改進的YOLOv2 算法進行了實驗,實驗采用AIRSARShip-1.0 數(shù)據(jù)集,數(shù)據(jù)集和訓(xùn)練集的劃分依據(jù)文獻[5],選取21景大圖作為訓(xùn)練集,余下10景大圖作為測試集,深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練平臺采用GTX Titan Xp GPU,使用的網(wǎng)絡(luò)框架為Pytorch。在訓(xùn)練過程中,將大圖切為1024x1024像素尺寸大小的切片,相鄰兩幅圖重合256*256 像素大小,同時使用圖像旋轉(zhuǎn)、圖像翻轉(zhuǎn)、按比例縮放等方式做數(shù)據(jù)增強。模型訓(xùn)練batchsize 設(shè)置為14,epoch 設(shè)置為64,前20 個epoch 學(xué)習(xí)率設(shè)置為0.001,后44 個epoch 學(xué)習(xí)率設(shè)置為0.0001,完成訓(xùn)練后在TX2 嵌入式平臺部署網(wǎng)絡(luò)并將訓(xùn)練好的網(wǎng)絡(luò)權(quán)重導(dǎo)入TX2嵌入式平臺。
參考文獻[5],采用船只目標檢測AP 值對網(wǎng)絡(luò)檢測精度進行衡量,AP 值計算方式如式(1)所示
其中pinterp(rn+1)計算方式如式(2)所示
其中,TP代表檢測結(jié)果為真且真值為真的檢測框數(shù)量,F(xiàn)P 代表檢測結(jié)果為真但真值為假的檢測框數(shù)量,F(xiàn)N 代表檢測結(jié)果為假但真值為真的檢測框數(shù)量。如式(5)所示
IOU 為檢測框與標注框重合部分面積除以兩者做并集部分的面積,當IOU 大于0.5 時檢測成功,記為TP,當IOU 小于0.5 時認為虛警,記為FP,然后未檢測出的艦船記為FN。數(shù)據(jù)集只包含船只一個類別,所以代表所有類的AP 平均值mAP 與AP 值相同。在本文提出的SAR 船只目標檢測系統(tǒng)上進行網(wǎng)絡(luò)部署并測試得到,船只目標檢測AP值為78.73%,檢測速度為1.9 FPS。
基于TX2 嵌入式平臺的部分切片檢測結(jié)果如圖3 所示,改進后的YOLOv2 網(wǎng)絡(luò)無論在近岸還是遠海環(huán)境下都具有較好的檢測性能。
主機GUI 界面如圖4 所示,GUI 界面主要實現(xiàn)傳輸控制和處理流程展示,可以指定輸入輸出文件存儲位置,并且可以對處理進度進行實時顯示,返回兩個TX2 嵌入式平臺數(shù)據(jù)處理完成情況和總的完成時間。
本文基于TX2 嵌入式平臺設(shè)計了SAR 船只目標檢測系統(tǒng),該方案采用兩個TX2 嵌入式平臺協(xié)同工作,基于SAR 船只目標檢測系統(tǒng)實現(xiàn)了改進的YOLOv2 網(wǎng)絡(luò),保證較高檢測精度的同時,有效提高了SAR 圖像船只檢測速率,為解決檢測速率和檢測精度兩者之間的矛盾提供了有效方案。同時在平臺間實現(xiàn)了高速網(wǎng)絡(luò)數(shù)據(jù)傳輸,保證了SAR 船只目標檢測系統(tǒng)的實時性,未來將考慮在SAR 船只目標檢測系統(tǒng)中集成更多TX2 嵌入式平臺做并行數(shù)據(jù)處理,進一步提升數(shù)據(jù)處理能力。