?

基于DATE-FCOS的空中目標檢測研究

2024-02-29 04:21陳釗陽王玉玫
計算機測量與控制 2024年2期
關鍵詞:損失卷積精度

陳釗陽,王玉玫

(華北計算技術研究所,北京 100083)

0 引言

近年來,我國圍繞“全面加強軍事空天發展:優先發展戰略性空間和高新技術,增強網絡空間和電磁空間力量,全面提高航空航天、防空導彈力量的能力”做出重要部署,旨在提升國家空天實力,維護國家安全和領土領空安全,促進國家經濟和科技發展,并為全球空間治理貢獻中國方案。隨著國內外無人機相關技術飛速發展,無人機的應用涉及多個領域,包括軍事應用。高空無人機對航空圖像中目標的檢測是當前研究的熱點之一,高效、準確地探測在軍事和民用領域具有很高的價值。然而,由于高空環境和光照條件較為特殊,高空圖像采集系統獲取的圖像存在較多的噪點,并且存在陰影衰落,使圖像變得粗糙模糊[1],因此空中目標檢測精度較低,難度較大。

而空中目標大致可分為3類:1)空中季節性遷徙的鳥類,大型的鳥類遷徙高度可達3 000~6 300 m,而天鵝等大型種飛行高度可達9 000 m,跨越珠穆朗瑪峰;2)小型飛行器,主要包括探空氣球、空飄氣球、輕型和超輕型運動飛機、輕型直升機、滑翔機、無人機、航模、動力傘、動力三角翼、小型飛艇等;3)大型飛行器,主要有軍用和民用的運輸機和直升機、客機、轟炸機和偵察機等[2]。研究的主要重點當然還是各類的大型飛行器,飛行器,尤其是飛機有幾個方面使目標識別與眾不同。首先,飛機設計跨越了超過一百年,包括數千種不同的型號、數百種不同的品牌和航空公司;其次,飛機的設計因尺寸(從小型無人機到大型運輸機)、目的地(私人、民用、軍用)、用途(運輸機、航母、訓練、運動、戰斗機等)、推進力(滑翔機、螺旋槳、噴氣式飛機)和包括技術在內的許多其他因素而異。飛機的結構隨著其設計(機翼、起落架、每個起落架的輪子、發動機等的數量)而變化;最后,任何公開的飛機模型都可以被不同的公司重新使用,這會導致外觀(涂裝)的進一步變化。根據識別任務的不同,這些可以被視為噪聲或要提取的有用信息。

早期目標檢測主要是依靠基于人工特征提取的機器學習方法。這些方法通過色彩、輪廓、紋理等特征來刻畫物體[3],盡管具有方法簡單、實時性好等優點,但時間冗余度高,基于手工設計的特征魯棒性、泛化性較差,僅適用于專門面向的特定任務,并且嚴重受到設備的硬件性能和周圍環境的影響,進行高精度的檢測任務較為困難,容易造成大量的檢測結果誤差,難以實施于實際的工程應用之中。然而,隨著人工智能的發展和其在計算機視覺領域的研究不斷地深入,深度學習(DL,deep learning)[4-6]的許多方法開始逐漸應用于目標檢測領域,并且由于其優異的表現在學術界得到了廣泛研究和應用。從目標檢測算法的結構上來說可以主要分為兩大類:一類是兩階段檢測算法,主要以 Faster R-CNN[7]、Mask R-CNN[8]等R-CNN系列算法為代表,該算法是第一個提出“先選取候選框,再通過分類器對候選框內的物體進行分類”的方法。它的主要組成部分包括區域提取網絡(RPN)、特征提取網絡(Backbone)、RoI-Pooling以及分類和回歸網絡。兩階段目標檢測算法在準確率上有著很大的優勢,在實際應用中也得到了廣泛的應用;另一類是一階段檢測算法,主要代表有YOLO(You Only Look Once)[9],FCOS(Fully Convolutional One-Stage Object Detection)[10],SSD(Single Shot Detection)[11],直接通過神經網絡計算輸出檢測對象的預選框和標簽。

王偉臣以Faster R-CNN目標檢測算法作為研究基礎,并對Faster R-CNN提出了兩點改進。首先是在原始Faster R-CNN算法的主干網絡中生成特征金字塔,充分利用不同層級的特征圖來對小尺度目標進行有效的特征提??;另一方面,提出了一種改進的Anchor匹配規則,改進的匹配規則能夠使所有的真實目標框在Anchor匹配過程中匹配到比原始匹配規則更多的Anchor[12]。算法有效地提升了檢測的精度,但依舊有著檢測速度不理想的問題。薛建偉等人提出了一種利用YOLOv3對空中飛行器進行識別追蹤的方法[13],一階段的檢測算法在檢測速度上有著巨大的優勢,該方法提升了對目標的追蹤精度和實時性,但在識別精度方面并無明顯提升。王耀領等人提出了利用改進的條件生成網絡生成高質量飛行器圖像樣本[14],用以提高模型的泛化能力以此來提升模型的識別精度,但難以應對現實中空中目標所處的復雜環境。蘭旭婷等人提出了以Resnet50為基礎特征提取的SSD300網絡模型,加入注意力機制CBAM模塊和特征融合FPN模塊,采用Soft-NMS策略選取最終預測框,對遙感圖像飛機目標更加有效地進行檢測[15],該方法通過注意力機制提升了模型的性能,但對于模型的特征提取能力沒有提升,對于飛機目標中相同目標不同角度識別困難的情況效果并不是很理想。

DATE-FCOS作為在FCOS基礎上改進的anchor-free模型,不僅有著FCOS低計算量的同時保持高準確性的優點,并且在提升了模型性能的同時簡化了模型的訓練過程。對于空中目標檢測的特點,本文將以DATE-FCOS(Dual Assignment for End-to-End Fully Convolutional One-Stage Object Detection)為基準檢測框架。并針對空中目標檢測存在的目標尺度變換以及目標檢測精度不足的問題,在原有算法框架的基礎上進行改進,并且進行消融實驗論證改進的有效性,最后與目前常見檢測算法進行實驗對比。

1 模型介紹

1.1 FCOS模型

為了彌補anchor-base的模型在目標檢測領域的幾點缺陷:

1)檢測結果對于anchor的尺寸、比例和數量等超參數是非常敏感的。不同的anchor設置之間存在著較大的 AP的差距;

2)anchor的尺寸和比例是固定的,因此不能很好地應對過大或者過小的目標。

3)為了獲取更高的recall,anchor-based檢測器通常采取密集采樣的方式,大量的anchor box在于gt box計算IoU時也造成了巨大的算力消耗,需要較高的算力和時間成本。

因此提出了anchor-free的FCOS。整體框架,基本上與RetinaNet一致,由backbone + neck + head組成。

對于CNN backbone的第i層特征圖上每個像素(x,y),我們可以把它映射到原輸入圖像。在映射后的該點直接回歸目標框,而不是把這個點看成目標框的中心點生成不同尺寸的anchor,從而避免了生成大量的anchor。FCOS相當于把每個點看出訓練的樣本。對于每個(x,y),如果它落在gt的框里面,并且類別和gt的框的類別是一樣的,那么就看成正樣本(c*),反之則是負樣本(c*=0)。并且使用點到gt框四邊的距離作為訓練的回歸條件。

經典的anchor-free檢測器YOLOv1[16],由于只檢測離中心點近的目標,導致召回率比較低,而多級FPN[17]的加入則有效提高了回歸率。

為了抑制這些低質量檢測到的邊界框,而不引入更多的超參數。FCOS添加了一個單層分支,與歸回分支并行,以預測位置的“中心度”。中心度描述了從該位置到該位置負責的對象中心的歸一化距離。

1.2 DATE-FCOS模型

一階卷積目標檢測模型,如FCOS和RetinaNet[18],因其簡單性而被廣泛熟知并采用。盡管他們取得了成功,但一對多分配(o2m)策略使他們依賴于非最大值抑制(NMS)來消除重復的預測。這樣的過程使它們對NMS的每個參數都很敏感,并可能導致陷入局部最優解。這個問題促使研究人員消除NMS,以實現端到端的完全卷積目標檢測。OneNet[19]認識到具有分類成本的一對一匹配(o2o)策略是端到端檢測的關鍵。具體而言,通過考慮分類成本,僅為GT分配一個預測,可以防止其產生冗余預測。在DATE-FCOS中重新審視了這兩種分配方法,發現將一對多分配帶回端到端全卷積檢測器有助于模型收斂,提出了雙任務分配(DATE,dual assignment for end-to-end)的方法:在FCOS模型的基礎之上進行了改進,在訓練過程中構造了兩個分支:一對多和一對一分配的分支,在回歸子網和分類子網都使用兩種分支來提供更多的監督信號來加快一對一指派分支的收斂[20],而在進行模型推理時只使用具有一對一分配策略的分支,這不會帶來額外的檢測開銷,并且能顯著提高檢測性能。DATE-FCOS模型結構如圖1所示。

圖1 DATE-FCOS模型結構

2 模型改進工作

2.1 可變卷積

在計算機視覺領域,同一物體在不同場景,角度中未知的幾何變換是檢測和識別領域的一大挑戰。而對于空中目標這樣的情況十分常見,同一目標在不同的角度收集到的圖像差異較大,尤其是像飛機這樣形狀復雜的目標,在不同的角度更容易出現形態的變化,從而提升檢測的難度。而通常的處理方法有:

1)通過充足的數據增強,擴充足夠多的樣本去增強模型適應尺度變換的能力。

2)設置一些針對幾何變換不變的特征或者算法,比如SIFT[21]和sliding Windows。

兩種方法都有著各自的缺陷。第一種方法因為樣本的局限性使得模型的泛化能力比較低,無法泛化到一般場景中;第二種方法則因為手工設計的不變特征和算法對于過于復雜的變換是很難甚至無法設計的[22]。所以Deformable Conv(可變形卷積),被提出以處理這個問題。

它是基于在模塊中對空間采樣的位置信息做進一步位移調整使采樣網格能夠自由變形。該位移可以通過模塊附加的卷積層從前面得到的特征層中學習,并不需要額外的監督信號。它們為偏移學習只添加了少量的參數和計算,因此屬于輕量級的模塊[23]??勺兙矸e模塊可以很便捷地在常見的卷積神經網絡中替換原有的卷積核,并且能很容易進行標準反向傳播端到端的訓練。

傳統卷積的輸出為:

(1)

其中:x為輸入,K為卷積核的大小,wk為權重系數。p為輸入的位置,pk為卷積核中的點相對偏移。而可變卷積的輸出為:

(2)

我們采用了最新的可形變卷積--DCN v2[24],它在前一代DCN v1的基礎上加入了權重系數Δmk∈[0,1],以此來降低在改變感受野形狀的同時引入的無關背景干擾,并且在模型骨干網絡Resnet50的stage3,stage4和stage5的多個3×3卷積層使用。Δpk和Δmk的初始值分別為0和1。改進后的網絡結構如圖2所示。

圖2 卷積塊注意力模塊

圖3 改進模型網絡結構

2.2 增加通道與空間注意力機制模塊

卷積神經網絡(CNNs)在視覺任務中表現出出色的性能主要是基于其豐富的表示能力。數據經過神經網絡中每個不同的卷積核都會產生不同的通道信息,對于經典的神經網絡,特征層會默認每個通道上所提取的信息所占的比重是相同的。而對于任何公開的飛機模型都可以被不同的公司使用,并添加更多的設計和進行不同的改裝。例如,戰斗機外掛彈倉,航空公司對客機進行涂裝等等。對于不同的目標類型,不同的特征信息重要程度也是不同的。

因此為了進一步提高細胞神經網絡對于目標的表示能力,提升模型對于飛行器目標物體的關注識別。我們在模型中加入了一種簡單而高效的卷積塊注意力模塊(CBAM,convolutional block attention module)[25]——通道注意力模塊(Channel Attention Module)和空間注意力模塊(Spatial Attention Module),如圖2所示。本文在進行FPN結構之后的特征檢測層上分別加入雙通道注意力模塊CBAM,通道注意模塊可以幫助模型更好地集中檢測所需要的信息,而空間注意力模塊可以使模型忽略與檢測目標無關的邊界信息減少干擾,從而提高網絡的特征表達能力。

給定其中一個特征圖F∈RC×H×W作為模塊的輸入,CBAM依次推斷出一個1維的通道注意力圖Mc∈RC×1×1和一個2維的空間注意力圖Ms∈R1×H×W。整個注意力過程可以表述為:

F′=Mc(F)?F

(3)

F″=Ms(F′)?F′

(4)

其中:?為矩陣的逐元素乘法。

(5)

其中:σ為sigmoid函數,W1,W0為共享的權重。

(6)

2.3 加入損失

在原始的DATE-FCOS中損失由兩個部分組成,分別是一對一分支損失和一對多分支損失。

一對一分支損失:

(7)

一對多分支損失:

(8)

(9)

LGIoU=1-GIoU

(10)

先求出兩個框的最小凸集C(即包含A,B的最小框),再計算出IoU(交并比),再計算閉包區域中不屬于兩個框的區域占閉包區域的比重,最后用IoU減去這個比重得到GIoU。最后可以得到GIoU的損失函數。

GIoU解決了IoU在兩個框不相交時損失函數不可導、無法學習的問題,并且反映出了兩個框在相交面積相同時的相交情況,但依然存在不足。好的目標框回歸損失應該考慮3個重要的幾何因素:重疊面積,中心點距離,長寬比。由此提出了CIoU(Complete Intersection over Union)[27],其收斂的精度更高,并且考慮到了全部以上3個因素。

(11)

其中:d為兩個框中心點的歐式距離,L為最小凸集C的對角線長度,αv是懲罰項,通過該項因子將寬高比因素考慮到回歸損失中,α是權重函數,而v用來度量長寬比的相似性。

定義為:

(12)

(13)

CIoU損失函數可以直接最小化兩個目標框的距離,因此比GIoU損失函數收斂快得多。并且對于包含兩個框在水平方向或垂直方向上這種情況,CIoU損失可以使回歸非???,而GIoU損失幾乎退化為IoU損失。

3 實驗結果分析

3.1 實驗使用數據集

實驗所用數據集為FGVC-aircraft(Fine-Grained Visual Classification of Aircraft)[28],是經典的飛機模型視覺分類的公開基準數據集。

該數據集共有100個目標類別,包括涂裝改裝后的不同機型數據,共有70多個飛機家族總共100個不同型號的飛機。數據集包含了10 000張的不同飛機圖片。數據集按照 1∶2的比例劃分,即訓練集6 666張,測試集3 334張。

3.2 模型訓練

實驗運行環境為,CPU為Corei7-12 700 K,GPU為NVIDIAGeForceRTX-3 060等。系統環境為Ubuntu16.04,CUDA11.7,python 3.10,pytorch 1.13.1,模型框架為基于pytorch框架的mmdetection目標檢測框架[29]。

本實驗在訓練過程中采用AdamW(Adam with Decoupled Weight Decay)[30]優化器進行損失優化。初始學習率設為0.004,每500個iteration輸出一次日志記錄,為了加快訓練學習過程的速度,設置學習動量為0.930,權重衰減系數為0.001,以避免數據過擬合的情況出現。Warmup設置為前5個epoch線性增長0.01當訓練epoch到8次時,學習率衰減到10倍,當epoch=12次,學習率衰減到100倍。最初實驗的batch-size設為16,經過多次調參修改,最終batch-size為8時模型的最終損失最小。

模型訓練中的損失曲線如圖4和圖5所示。

圖4 一對多分支損失

圖5 一對一分支損失

可以看到在訓練的損失雖然有波動,但一直在下降。在12 000步后,模型的兩個分支的損失都開始趨于穩定。

在模型訓練開始訓練后,我們使用召回率(Recall,R)、mAP0.5和mAP0.5:0.95作為模型性能的評價指標。

其中,mAP0.5表示IoU閾值為0.5時所有目標類別的平均檢測精度,mAP0.5:0.95表示以步長0.05,計算IoU從0.5到0.95總共10個IoU閾值下的平均檢測精度,通常情況下IoU閾值越高對于算法的回歸能力要求更高。P、R以及mAP的計算方法如下:

其中:TP指被模型預測為正的正樣本,FP指被模型預測為正的負樣本,FN指被模型預測為負的正樣本,mAP為所有類別的平均精度,n為檢測目標總類別數。

3.3 消融實驗

為進一步論證上述提出的改進檢測算法性能,本文對改進點逐一進行對比分析,在模塊消融實驗中,采用相同的測試集和學習率配置參數,實驗結果如表1所示。

表1 模塊消融實驗結果

mAP表示mAP0.5:0.95精度的數據,mAP.5表示mAP0.5精度的數據,R表示模型的回歸率。

可以看出可變卷積和CBAM兩項改進均對準確率有著較大的提升,兩項準確率數據都有著較高的提升;mAP0.5:0.95提升了11.3%和10.6%,R提升了4.9%和3.6%。

CIoU的加入雖然對于模型的準確率沒有明顯的提升,但加快了訓練的回歸速率,并且提升了模型接近10%回歸率,增幅達到12.8%。

如圖6所示,將改進后的模型與原模型在FGVC-aircraft數據集下的檢測結果進行對比,左側為原模型檢測結果,右側為改進后模型檢測效果??梢钥闯龈倪M后的模型對于目標在圖像中的標注更加準確,且準確率更高,對空中飛行器的特征檢測能力更強。

圖6 改進前后檢測對比圖

改進后的模型0.5:0.95達到了77.8%,.5達到了79.8%,準確率提升至原模型的1.11倍。說明相關改進對于模型對于空中飛行器的檢測性能確實具有有效提升。

3.4 對比實驗

為綜合分析改進后的DATE_FCOS模型算法的檢測性能,本文選擇與YOLO、FCOS、RetinaNet幾種經典目標檢測算法,采用相同的測試集進行實驗對比以mAP、FPS作為評價指標,實驗結果如表2所示。

表2 對比實驗結果

根據表2數據分析可知,本文算法mAP為77.8%,比原始網絡DATE-FCOS提高9.13個百分點,在檢測速度上差距并不明顯,這主要是因為一系列的優化改進結果;而作為經典一階段目標檢測算法YOLOv3和FCOS則檢測能力遠不如改進后的DATE-FCOS算法,此外mAP也比本文低了超過10個百分點,本文算法在檢測速度上略低,但精度最高,這主要是加入多層可形變卷積層和CBAM模塊,引入CIoU回歸損失共同作用的結果。

圖7為改進后模型的混淆矩陣。圖中縱軸代表的是標簽,橫軸代表預測結果。由此可知對角線上的方格代表每個類別預測正確,每個方格內的值代表行為出現的頻率,頻率越高顏色越明亮。從混淆矩陣可以看出模型具有較好的準確性和泛化性。

4 結束語

為解決空中目標尺度變換和檢測精度低的問題,本文在DATE-FCOS基準框架下,做出針對性改進。首先在Resnet主干網絡中加入多個可形變卷積層,提取更多尺度特征信息,提升網絡的特征提取能力,之后在多級FPN結構后加入CBAM模塊提升模型的表示能力,最后修改模型的損失函數為CIoU,可提供更加準確的邊界框回歸方向,加快訓練收斂速度,提升模型的回歸率。

實驗結果表明改進DATE-FCOS算法在使用相同的空中目標數據集的情況下模型的檢測性能更加優秀,并且從實驗得到的客觀數據分析看來,改進后算法在mAP方面較原始算法提高顯著,漲幅達到11%。同時通過對比,算法性能也優于其他常見檢測算法,改進DATE-FCOS算法具有更好的泛化性和魯棒性,因此能夠滿足空中環境中目標的檢測。但是仍存在個別特殊類別,例如完全背光只有輪廓特征的檢測目標,對其識別效果較差,后續將繼續優化網絡提高對少數特殊目標的檢測精度。

猜你喜歡
損失卷積精度
基于3D-Winograd的快速卷積算法設計及FPGA實現
胖胖損失了多少元
從濾波器理解卷積
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于DSPIC33F微處理器的采集精度的提高
基于傅里葉域卷積表示的目標跟蹤算法
GPS/GLONASS/BDS組合PPP精度分析
一般自由碰撞的最大動能損失
損失
改進的Goldschmidt雙精度浮點除法器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合