戴文鑫
(四川大學計算機學院,成都610065)
合成孔徑雷達(Synthetic Aperture Radar,SAR)是全天候全天時的傳感器,能夠對觀測區(qū)域進行高分辨的成像,它可以在能見度極低和晚上等氣象條件如霧氣極重的條件下,提供分辨率高的圖像。目前在SAR圖像已廣泛應用于漁船探測、船舶交通監(jiān)測和移民控制[1-2]。傳統(tǒng)的SAR 圖像船舶目標檢測方法包括四個階段:海陸分割[7]、預處理、預篩和識別[8]。海陸分割的目的是消除土地帶來的不利影響,預處理旨在提高后續(xù)階段的船舶檢測精度,預篩試圖尋找候選區(qū)域作為船舶建議框,恒虛警率(CFAR)是最廣泛的預篩方法[9-11],識別旨在消除虛假警報,獲得真實目標區(qū)域[12-14]。傳統(tǒng)的方法依賴手工提取的特征,在復雜背景條件下識別能力和適應性有限。因此,為了提高SAR 圖像艦船檢測的效率和識別能力,需要引入其他具有高效提取特征能力的檢測器。
深度神經網絡方法能夠對數據進行表征學習,所提取的特征比手工提取的特征具有更好的表達性能,通過引入深度神經網絡應用于SAR 船舶目標檢測已成為一種發(fā)展趨勢。其中基于區(qū)域提案的Faster R-CNN 檢測算法是最有代表性的。Faster R-CNN 主要由共享卷積層、區(qū)域提案網絡和檢測網絡組成,共享卷積層主要用于提取特征,區(qū)域提案網絡用于產生候選區(qū)域(候選窗口),它采用錨框機制,通過直接在最頂層的特征圖上產生候選窗口,大大減小了計算量,區(qū)域提案網絡產生的候選框經過RoI 池化層(RoI 池化層用于不同尺寸的特征圖變成固定長度的向量)輸入到檢測網絡,檢測網絡用于對候選框的分類和定位。本文將引入Faster R-CNN 進行SAR 船舶目標檢測,并與傳統(tǒng)的CFAR 進行對比實驗。
受人類中樞神經系統(tǒng)的影響,人工神經網絡由神經元構成的,如圖1。單個神經元的作用是通過權重將輸入信息進行連接并與閾值b(通常在深度學習中叫做偏置)進行比較,在激活函數的作用下得到神經元的輸出傳遞給下一個神經元,大量相同形式的神經元組合在一起形成了人工神經網絡。
圖1 基于單個神經元結構
其中,xi表示來自第i 個神經元的輸入,wi表示第i個神經元的連接權重,圓表示當前神經元,b 為當前神經元的閾值,y 為當前神經元的輸出,它們具有下列的關系式:
f(*)表示神經元激活函數,其中tanh 函數,ReLU函數,sigmod 函數等是常見的激活函數。
交并比(Intersection over Union,IoU)和非極大值抑制是(Non-Maximum Suppression)是目標檢測任務中非常重要的兩個概念。交并比是一種常見的用于衡量目標定位精度的標準,可以理解為兩個邊框之間重疊度,可以通過兩個邊框相交的面積除以其相并的面積進行計算。IoU 在目標檢測任務中被廣泛的使用,非極大值抑制算法也用到了IoU,主要是用于防止最后產生過多邊框,導致檢測效果不好,非極大值抑制就是對這些多余邊框進行過濾,得到最終的有效的檢測結果。首先,NMS 先獲得生成的邊框類別得分,并計算邊框的面積,然后根據得分高低進行排序,得分高的在前面,降序排序。然后從得分最高的開始,計算其他邊框與當前得分最高邊框之間的IoU,IoU 大于閾值的邊框會被過濾掉。重復上面過程,直到可選的邊框為空為止。非極大值抑制每次只能處理一個類別的目標,例如對于PASCAL VOC 這種有20 類目標的數據集,極大值抑制需要重復此過程20 次。
邏輯回歸、SVM 等是用于解決二分類問題的常見分類器,但是對多分類問題,如自動識別手寫數字,這兩種分類器的效果就不是很好了,Softmax 分類器就logistic 的推廣,它對處理多分類問題的效果要比邏輯回歸、SVM 等分類器的效果好很多,Softmax 公式如下:
公式(3)中θj 為參數向量,通過梯度下降算法來優(yōu)化最小化代價函數,這個過程會涉及到偏導數,通過訓練得到最優(yōu)模型參數。
邊框回歸(Bounding Box Regression)是目標檢測當中的任務,也可以叫做邊框位置調整,最早是在RCNN 中提出的,首先對檢測的物體進行定位,確定物體的邊框,生成對應的候選框(Region Proposal),然后在進一步確定邊框內是否為正樣本。所以候選框的定位準度會直接影響檢測器性能。一般采用線性回歸對候選框進行微調,得到最終的預測邊框。通過線性回歸的方式來尋找這種映射的前提是候選框與真實框要比較接近,否則就不滿足線性關系,而隨著模型逐漸收斂,該線性關系也能一直滿足。我們假設特征向量X為輸入層,學習的參數為w,通過線性關系與真實值Y逼近,整個映射滿足關系Y=WX。
對于一個邊框可以通過(x,y,w,h)四個參數來表示,x,y 表示邊框的中心點,w,h 分別表示邊框的寬度和高度。通過邊框回歸得到一種映射關系,即輸入P經過映射后得到與g 更接近的G,也就是:給定輸入P=(Px,Py,Pw,Ph),GT=(Gx,Gy,Gw,Gh),尋找一種映射。
本文采用的訓練集是來源于OpenSARShip 是上海交通大學于2017 年構建的用于SAR 圖像艦船目標識別的數據集,它有11346 只船及其對應的AIS(Automatic Identification System)信息。圖2 是OpenSARShip數據集示例。由于該數據集里面的圖片很多尺寸很?。?0×30 像素),不適合進行檢測實驗,所以我們篩選出去尺寸大于(70×70 像素)的船舶圖片進行實驗,總共4712 張圖片,采用7:2:1 進行劃分訓練集、測試集、驗證集。
圖2 OpenSARShip數據集
深度學習的算法需要強大的計算力做支撐,本文所有實驗均在高配置的計算機上進行,操作系統(tǒng)為64位 Ubuntu 16.04,Intel Xeon CPU E3- 1230 v5 @3.40GHz,顯卡采用的是NVIDIA GTX1080T GPU,12GB 顯存,通過CUDA8.0 和cuDNN5.0 進行深度學習運算加速。
通過對每個圖片只利用一次卷積神經網絡進行特征提取,極大的減少了冗余計算,從而提高了檢測性能和檢測速度。
每張圖片只進行一次CNN 特征提取,通過降低冗余計算操作來提高模型的檢測性能和速度。
基于區(qū)域提案的Faster R-CNN 檢測算法是最有代表性的,主要由共享卷積層、區(qū)域提案網絡和檢測網絡組成。Faster R-CNN 綜合了R-CNN 和Fast R-CNN的優(yōu)點,并改進了他們的不足,每張圖片只進行一次CNN 特征提取,通過降低冗余計算操作來提高模型的檢測性能和速度。共享卷積層主要用于提取特征,區(qū)域提案網絡用于產生候選區(qū)域(候選窗口),區(qū)域提案網絡產生的候選框經過RoI 池化層輸入到檢測網絡。檢測網絡里的全連接層后連接的分類分支用于候選框內目標和背景的分類,回歸分支則用于候選框目標的定位。他們的損失損失函數包括分類損失函數和回歸損失函數,根據梯度下降算法進行網絡參數的優(yōu)化。
為了訓練Faster R-CNN 檢測模型,我們需要即需要訓練RPN 又需要訓練Fast R-CNN。對于訓練RPN,需要為所有候選區(qū)域標注一個標簽(正樣本/負樣本),以下兩種由RPN 產生的候選框可以看出正樣本,第一種:候選框與目標真實邊框有最高的交并比,第二種:候選框與真實邊框的重疊高于0.7。對于候選框與真值區(qū)域的交并比低于0.3 的視為負樣本,其他樣本不參與RPN 模型訓練。
通過把SAR 圖像輸入到共享卷積層提取特征,得到共享特征圖,將共享特征圖同時輸入到RPN 和Fast R-CNN。RPN 在特征圖上生成候選框,然后將這些候選框輸入到Fast R-CNN,從輸入圖像經過共享卷積層的最高層獲取特征圖,并計算候選框在該特征圖上對應的映射位置,最終輸入到RoI 池化層進行尺寸統(tǒng)一,最終經過全連接層,得到展開好后的一維空間的特征向量。然后輸入到分類層和回歸層,分類層和回歸層對輸入的特征向量進行神經元全連接計算,計算得到候選框的位置坐標和分類概率。然后將位置坐標和分類概率送入到多任務損失函數進行計算,損失函數通過位置坐標和分類概率與真實值之間的誤差進行計算對應損失,然后調整神經元參數,使檢測模型達到最優(yōu)。
采用Faster R-CNN 算法卷積網絡分別為ZF 網絡和VGG16 網絡分別對OpenSARShip 數據集進行船舶檢測,實驗結果如表1。
表1 Faster R-CNN 算法性能比較
表1 采用篩選過后的OpenSARShip 數據集作為實驗對象。從該表中可以看出,CFAR、FRCN-ZF 和FRCN-VGG16 三種檢測算法中,傳統(tǒng)的CFAR 檢測算法性能最低,基于卷積神經網絡的FRCN-ZF 和FRCN-VGG16 性能最好明顯優(yōu)于CFAR 算法。同時由于FRCN-VGG16 的網絡層數更深,所以FRCNVGG16 的檢測性能優(yōu)于FRCN-ZF 網絡。
為了說明基于卷積神經網絡的檢測算法的性能,本文通過在公開的OpenSARShip 數據集中進行實驗,
實驗結果表明,基于基于卷積神經網絡的檢測算法在性能上要明顯優(yōu)于傳統(tǒng)的SAR 檢測算法CFAR。同時隨著卷積神經網絡的深度加深,對目標的特征提取加強,檢測性能也有所提升?;赩GG16 的Faster R-CNN 檢測算法的檢測性能可以達到80%以上。本文的研究結果表明卷積神經網絡算法在SAR 船舶目標檢測上同樣具有很高的發(fā)展?jié)摿Α?/p>