張冬冬, 王春平, 付 強
(陸軍工程大學石家莊校區(qū) 電子與光學工程系, 河北 石家莊 050003)
艦船檢測是計算機視覺領域的研究熱點,一直備受國內外研究人員關注,并被廣泛應用于各種領域。 例如,利用光學遙感技術實現(xiàn)艦船檢測,可以對海上交通管理、打擊非法走私和海上營救等進行輔助;通過遙感圖像對敵港口、海域艦船部署進行監(jiān)視,為戰(zhàn)前預警、威脅評估和引導打擊等奠定基礎。
艦船作為海上重要目標,是海域安全的主要威脅,也是海戰(zhàn)中重點打擊的對象。 利用制導導彈對艦船目標進行打擊是現(xiàn)階段的主要手段,若導彈命中敵艦船的指揮控制室、動力艙和導彈發(fā)射井等關重部位,可瞬間損毀敵艦船,有效遏制其作戰(zhàn)能力;若命中非關重部位,則無法使敵艦船瞬間喪失作戰(zhàn)能力。 為提高導彈的打擊效率,需要在制導的過程中根據艦船關重部位的位置實時調整命中點。 因此,為滿足特定任務需求,針對艦船關重部位構建精確、可嵌入小型設備的實時檢測算法具有重要意義。
傳統(tǒng)的目標檢測[1-3]方法需要人為對提取特征進行設定,依賴于業(yè)界的專業(yè)知識,算法的應用局限性大、泛化能力差,且計算復雜耗時、檢測效果不佳。近年來,隨著深度學習的迅速發(fā)展,卷積神經網絡(Convolutional Neural Network,CNN)[4]因其強大的特征提取能力被廣泛應用于計算機視覺領域,基于CNN 的檢測算法成為當前目標檢測領域的主流方法。 基于CNN 的目標檢測算法主要分為2 類:一類是以R-CNN[5],Faster R-CNN[6]和Mask R-CNN[7]等為代表的雙階段網絡,該類方法在生成候選區(qū)域的基礎上對目標的類別和位置進行預測,以犧牲速度來保證檢測的精度;另一類是以SSD[8],YOLO[9]和CenterNet[10]等為代表的單階段檢測網絡,該類算法直接在特征圖上對目標的類別和位置進行回歸,具有較快的檢測速度,但精度相對于雙階段網絡略有不足。 學者們?yōu)閷⒛繕藱z測算法更好地應用于遙感艦船檢測領域做了大量的研究工作。 文獻[11]利用Mask R-CNN 實現(xiàn)了艦船和背景的分離,在篩選的過程中使用soft-NMS 進一步提高艦船檢測的魯棒性。 文獻[12]借助Inception 結構[13]對YOLOv3網絡進行改進,增強了主干網絡的特征提取能力,避免了小尺度艦船在網絡傳遞過程中出現(xiàn)特征丟失的問題,提高了網絡對小目標的檢測能力。 文獻[14]利用密集連接進行多尺度特征的融合提高網絡的表征能力,設計聚焦分類損失函數(shù)解決正負樣本不平衡的問題,該算法在復雜場景下具有較強的艦船檢測能力。 文獻[15]在YOLOv3-tiny 的基礎上,通過優(yōu)化網絡結構和引入空間注意力(Spatial Attention,SA)模塊構建了一種輕量化遙感目標實時檢測方法,該方法可用于嵌入式設備,并且對于遙感目標具有較好的檢測效果。
盡管基于CNN 的艦船檢測算法在多種場景中可以較好地完成艦船檢測任務,但已有的研究大多將艦船作為整體進行檢測,并未對艦船做更為精細化的檢測,并且除了像文獻[15]這種輕量型算法外,大多數(shù)算法因結構復雜、計算量大而無法嵌套至小型設備中,使算法不能很好地應用在實際任務中。李晨瑄等[16-18]在艦船要害檢測方面做了大量的研究,所提算法可嵌入導彈導引頭,用于引導打擊,但該類算法針對的是末端制導問題,在遙感影像檢測中表現(xiàn)欠佳。
針對上述問題,本文以YOLOv4-tiny[19]為基礎,通過優(yōu)化網絡結構、引入SA 模型以及構建特征提取模塊,提出了一種輕量化艦船關重部位實時檢測算法——YOLOv4-I。 試驗結果表明,所提方法對艦船關重部位具有較高的檢測精度,并且模型計算速度快,可以達到實時性的要求。
目前,包含艦船目標的光學遙感圖像數(shù)據集主要有HRSC2016[20],DIOR[21]和DOTA[22]等,各數(shù)據集樣例如圖1 所示,其中HRSC2016 是唯一一個僅包含艦船目標的數(shù)據集。 從圖1 可以看出,現(xiàn)有的光學遙感數(shù)據集主要以艦船整體作為對象,艦船的部位信息未被凸顯,難以支撐對艦船進行更為精細化的研究。 針對數(shù)據集欠缺的問題,從谷歌地圖上下載了大量美、英、法等國軍港區(qū)域內的遙感圖像,并利用爬蟲收集了部分公開艦船圖像,構建了關重部位數(shù)據集(簡稱為RS-Ship),該數(shù)據集中的部分圖像如圖2 所示。 RS-Ship 數(shù)據集包含多種類型的艦船,并且艦船的尺度、排列方式以及所處場景多種多樣,較完備地囊括了各類型艦船在遙感圖像中所呈現(xiàn)的方式。 對比圖1 和圖2 可以發(fā)現(xiàn),與其他數(shù)據集相比,RS-Ship 中圖像的分辨率及清晰度較高,背景較為復雜,艦船各部位的特征更加明顯,可應用于艦船部位的檢測。 綜合分析光學遙感圖像特點以及艦船各部位的重要性,本文將艦船的指揮控制室(駕駛艙)作為關重部位,并對其進行深入研究。
圖1 不同數(shù)據集的圖像示例Fig.1 Example images of different dataset
圖2 RS-Ship 數(shù)據集的圖像示例Fig.2 Example images of RS-Ship dataset
RS-Ship 中圖像尺度為800 pixel×600 pixel,使用LabelImg 工具對圖像中的艦船及關重部位進行標注,按照4 ∶1的比例劃分為訓練集和測試集。 數(shù)據集的詳細信息如表1 所示。
表1 RS-Ship 數(shù)據集詳?shù)募毿畔ab.1 Details of RS-Ship dataset
YOLOv4-tiny 在YOPLOv4[23]的基礎上設計而來,模型的參數(shù)大量削減,檢測速度大幅提高,便于小型設備搭載。 以大小為608 pixel×608 pixel 的輸入圖像為例,YOLOv4-tiny 的結構框架如圖3 所示。YOLOv4-tiny 首先利用CSPdarknet53-tiny 對特征進行提取,然后利用特征金字塔結構(Feature Pyramid Network,FPN) 融合P1 層和P2 層特征,最終在38 pixel×38 pixel 和19 pixel×19 pixel 兩個尺度上進行預測。 與YOLOv4 相比,YOLOv4-tiny 的主干網絡減少了殘差模塊的使用量,且僅用FPN 對2 層特征進行融合使模型結構進一步簡化,其參數(shù)量僅為YOLOv4 的10%左右。 YOLOv4-tiny 結構簡單使其具有優(yōu)越的實時性,但也帶來了特征融合不充分、利用率低以及顯著性不突出等缺點,使其難以適用于復雜場景下小尺度目標的檢測任務。
圖3 YOLOv4-tiny 結構框架Fig.3 YOLOv4-tiny structural framework
YOLOv4-tiny 結構精簡、檢測速度快,可嵌入小型設備中使用,但其特征利用不充分、檢測精度不高,無法對復雜場景中的小尺度目標進行精確檢測。針對以上問題,本文對其進行以下改進:① 根據目標尺度對網絡結構進行優(yōu)化;② 充分利用艦船與關重部位的關系,增強艦船區(qū)域的特征顯著性,降低背景對檢測的影響,提高網絡對關重部位的敏感度;③ 構建特征提取模塊,對特征進行進一步提取,豐富特征圖所包含的信息,使目標特征得到充分表征,進而提升檢測精度。 本文所提框架如圖4 所示。
圖4 本文所提框架Fig.4 Proposed framework
RS-Ship 數(shù)據集中艦船及關重部位目標所占像素的統(tǒng)計結果如圖5 所示。 可以看出,小于16 pixel×16 pixel 的艦船和關重部位分別占總目標的0.91%和24. 20%,小于8 pixel×8 pixel 的關重部位占1.26%。 網 絡 輸 入 為 608 pixel × 608 pixel 時,YOLOv4-tiny 中C5,C4 層的下采樣步長分別為32,16,理論上該網絡所能檢測到的最小目標為16 pixel×16 pixel 左右。 由數(shù)據集中艦船的尺度分布情況可知,可將F5,F4 層用于感知艦船區(qū)域。 若將F5,F4 用于關重部位的檢測會造成大量的漏檢,而C3 層上能檢測到的最小目標分辨率在8 pixel×8 pixel 左右,可以很好地規(guī)避這一問題,因此在C3層的基礎上構建關重部位檢測分支。 由于目標尺度差異大,上述結構在一定程度上仍存在漏檢風險,但在所考慮尺度范圍外的目標僅占目標總數(shù)的1%左右,在保證檢測速度的條件下,這種因結構所導致的低漏檢風險可以忽略。
圖5 艦船及關重部位目標像素分布統(tǒng)計Fig.5 Target pixel distribution statistics of ships and critical parts
SA[24]是一種常用的注意力機制,通過利用特征圖中各像素間的空間關系,有差別地突出或抑制像素強度,使目標特征的顯著性得到增強,有助于生成有效的特征表達,降低背景的干擾。 如圖2 所示,遙感圖像背景復雜、關重部位尺度小,給檢測網絡帶來了不小的挑戰(zhàn)。 為提高關重部位的檢測效率,降低誤檢概率,著重利用了艦船與關重部位固有的內在關系,具體實現(xiàn)過程如下:首先,利用F5 和F4 對艦船區(qū)域進行感知;其次,基于F4 形成艦船區(qū)域注意力圖;最后,將注意力圖映射到C3 上,對關重部位可能出現(xiàn)的區(qū)域形成初步限制,以降低海岸線上人造物(特征與關重部位相似)的影響,進而提高檢測精度。 為降低引入SA 模塊所帶來的計算量,參照文獻[23]中的做法對注意力模塊進行構建,處理過程如圖6 所示。 首先,對F4 進行上采樣操作,使其尺度與C3 層保持一致;然后,采用1×1 的卷積操作降低通道數(shù),利用Sigmoid 函數(shù)生成SA 矩陣;最后,將C3 層特征圖與注意力矩陣進行加權,以增強艦船區(qū)域的特征顯著性。
圖6 SA 模塊的處理過程Fig.6 Process of the SA module
在FPN 中,低層特征圖分辨率高且包含豐富的細節(jié)信息,有利于小目標的定位。 相反,高層特征圖分辨率低,但包含豐富的語義信息,有利于檢測器對目標和干擾信號進行區(qū)分。 C3 層特征圖經過SA 修飾后形成F3 層特征圖。 F3 層特征圖屬于低層特征圖,包含豐富的細節(jié)信息,但缺乏語義信息,并且由于卷積層數(shù)少,特征圖難以充分表達目標特征。 針對以上問題,借助編解碼器思想對關重部位的特征提取模塊進行設計。 首先,利用殘差塊對F3 特征圖進行2 次下采樣操作;然后,利用反卷積操作對特征圖的分辨率進行恢復,為防止空間信息的丟失,將經過殘差塊的特征圖與對應經過反卷積操作后的特征圖進行跳躍連接。 特征提取模塊中各層詳細的通道數(shù)、步長和卷積核大小等參數(shù)設置如圖7 所示。
圖7 特征提取模塊的結構Fig.7 Feature extraction module network structure
在初始訓練階段,由于艦船定位不準確,所構成的SA 會對關重部位檢測造成負面影響,甚至會出現(xiàn)損失不收斂的情況。 針對上述問題,借助遷移學習[25]的思想對網絡進行訓練。 首先,利用RS-Ship數(shù)據集中的艦船目標對YOLOv4-tiny 進行訓練,將得到的網絡參數(shù)作為YOLOv4-I 網絡的初始參數(shù);其次,凍結這部分參數(shù),訓練其他網絡參數(shù),訓練輪數(shù)為50;最后,開放所有卷積層,訓練輪數(shù)為100,整個訓練過程使用Adam 優(yōu)化器進行優(yōu)化。
在Ubuntu18.04 系統(tǒng)中采用PyTorch 深度學習框架搭建網絡,并使用NVIDIA GeForce GTX 1080Ti進行加速。 為了驗證本文所提算法的有效性,在RS-Ship 數(shù)據集上進行了多組試驗,使用每秒處理幀數(shù)(Frame Per Second,FPS)評價算法的檢測速度,利用平均精度(Average Precision,AP)評價網絡的檢測性能。 FPS 和AP 計算式為:
式中,NFigure為檢測的圖像數(shù)量;Time為對應總時間;P為準確率;R為召回率。
為了評估SA 模塊和特征提取模塊對提升網絡檢測能力的貢獻度,在RS-Ship 數(shù)據集上進行了4 組實驗。 第1 組實驗為原始YOLOv4-tiny 模型,第2 組實驗為注意力增強型YOLOv4-tiny(YOLOv4-tiny+SA 模塊),第3 組實驗為特征增強型YOLOv4-tiny(YOLOv4-tiny+特征提取模塊),第4 組實驗為所提方法。 消融試驗結果如表2 所示,其中“√”表示包含對應模塊,“×”表示不包含對應模塊。
表2 消融試驗結果Tab.2 Results of ablation test
YOLOv4-tiny+SA 模塊在YOLOv4-tiny 基礎上提高了目標特征的顯著性,降低了背景對檢測的影響,使目標的漏檢數(shù)量大幅降低,在RS-Ship 數(shù)據集上的AP 值達到了63.68%,比YOLOv4-tiny 高8.92%。YOLOv4-tiny+特征提取模塊從提高特征表征能力的角度出發(fā),在豐富特征的同時降低了不相關信息的影響,使網絡的檢測能力得到提升,在RS-Ship 數(shù)據集上的AP 值達到了65. 26%,較YOLOv4-tiny 提升了10.5%。 所提方法是嵌入SA 模塊和特征提取模塊的綜合檢測模型,在RS-Ship 數(shù)據集上的AP 值達到了最優(yōu),比YOLOv4-tiny 高17.12%。
通過與SSD(VGG-16),RetinaNet[26](ResNet-50),YOLOv3,YOLOv3-tiny,YOLOv4 和YOLOv4-tiny進行比較來驗證本文算法的有效性,各網絡模型在RS-Ship 數(shù)據集上檢測的定量結果如表3所示。
表3 不同網絡模型檢測的定量結果Tab.3 Quantitative results of different network model detection
不同網絡模型的PR 曲線如圖8 所示。
圖8 不同網絡模型的PR 曲線Fig.8 PR curves of differentnetwork models
由表3 和圖8 可以看出,YOLOv4-I 的檢測AP值達到了71. 88%,與YOLOv4-tiny 相比,雖然增加了少量的參數(shù),但AP 值提高了17.12%,且PR 曲線更加平穩(wěn);SSD 將VGG-16 作為主干網絡,特征提取能力弱,導致小尺度目標漏檢嚴重,關重部位檢測的AP 值僅有11. 20%;RetinaNet 利用ResNet-50 網絡進行特征提取,并引入FPN 進一步豐富特征,使網絡的檢測能力優(yōu)于SSD,但FPN 的引入并不能完全規(guī)避小尺度目標對網絡性能的影響,關重部位檢測的AP 值為60. 78%;YOLOv3 在Darknet-53 的基礎上引入了FPN 結構,特征提取能力得到增強,但網絡的泛化能力不足,無法克服復雜背景的影響,對關重部位的檢測表現(xiàn)較為中庸,存在較多的錯檢目標,檢測的AP 值為65. 75%;YOLOv3-tiny 和YOLOv4-tiny 的網絡結構較為精簡,在檢測速度上表現(xiàn)十分優(yōu)秀,但由于特征提取能力不足,且僅利用下采樣步長為16 和32 的特征圖進行預測,導致二者對小目標的檢測效果不佳,無法滿足準確度要求;YOLOv4在YOLOv3 的基礎上進行改進,并綜合了多種檢測算法的優(yōu)點,對關重部位的檢測表現(xiàn)最優(yōu),但其網絡結構復雜,無法部署在小型設備上。 綜上所述,本文算法以47.78 幀/秒的實時檢測速度取得了71.88%的平均檢測精度,很好地兼顧了檢測速度和精度,且由于結構較為簡單,參數(shù)量僅為8.3×1012,可以實現(xiàn)在小型設備上的部署。
各算法在RS-Ship 測試集上的部分檢測結果如圖9 所示。 可以看出,SSD 由于結構簡單,無法對目標特征進行充分提取,存在較多的漏檢目標;YOLOv3-tiny 和YOLOv4-tiny 對小尺度目標并不友好,存在較大的漏檢風險;RetinaNet 和YOLOv3 引入FPN 在一定程度上降低了小尺度目標的漏檢概率,但未能克服復雜背景的影響,存在較多的錯檢目標;YOLOv4 的檢測效果較好,錯檢及漏檢目標均較少;本文算法通過引入注意力模塊及特征提取模塊,有效地降低了背景的影響,使目標特征得到充分表征,檢測表現(xiàn)與YOLOv4 較為接近。
圖9 不同算法的檢測結果Fig.9 Detection results of different algorithms
為了實現(xiàn)在小型設備上部署艦船關重部位實時檢測算法,對復雜場景下的艦船目標實施更加精細化的檢測,本文基于YOLOv4-tiny 提出了一種輕量化的艦船關重部位實時檢測算法。 該方法通過優(yōu)化網絡結構及引入注意力機制,增強了網絡對目標的感知能力;對關重部位的特征提取模塊進行特殊設計,進一步提高了網絡的表征能力,進而提高檢測精度。 試驗結果表明,YOLOv4-I 在保證模型體積較小的情況下,針對復雜場景中的艦船關重部位,可以有效地兼顧檢測的精度和速度。