張?zhí)祢E, 劉玉懷, 李蘇晨
(鄭州大學,a.計算機與人工智能學院; b.信息工程學院; c.電氣工程學院,鄭州 450000)
遙感影像中飛機目標的檢測是遙感影像智能化信息提取的核心,在海情監(jiān)控和應急救災等軍事與民用方面均有重要且廣泛的應用。國內外學者針對遙感圖像的目標檢測做了大量研究,YI等[1]提出了一種基于隨機區(qū)域提出的概率快速R-CNN遙感圖像目標檢測算法,將概率區(qū)域提出網絡、圖像分類網絡和目標檢測網絡進行融合來檢測目標;VHARKATE等[2]集成了降維(DR)、特征提取(FE)、損失函數優(yōu)化、匹配過程和相關反饋(RF)機制,提出了一種利用混合VGGNet與紅鹿RDA的遙感圖像檢索算法;董永峰等[3]針對不同類型飛機的尺寸比例不固定等特點,提出以Mask R-CNN為基礎框架的目標檢測方法。以上方法均采用基于候選區(qū)的兩階段卷積神經網絡算法,雖然具有較高的精度,但檢測效率低且不適用于移動端。
基于回歸的單階段目標檢測算法通過縮減人工預處理增加模型契合度,在檢測精度、速度及魯棒性方面均有良好表現。WU等[4]以YOLOv3作為檢測框架,采用多粒度網絡(MGN)提取豐富的目標外觀信息;張欣等[5]對YOLOv4-tiny進行改進,引入Mish激活函數與空間金字塔池化模塊,緩解網絡對飛機目標尺度的敏感程度,使模型具有更好的泛化能力。受以上模型啟發(fā),本文提出了一種改進YOLOv4算法對遙感圖像飛機目標進行識別,采用K-means++獲取與目標擬合度更高的先驗框參數;改進損失函數,解決正負樣本的非平衡性;使用雙向剪枝對模型進行輕量化處理。實驗表明,改進后的算法能夠在保證識別精度的同時提高檢測效率,有效解決了模型不易部署在衛(wèi)星和嵌入式設備等硬件資源受限平臺的問題。
YOLOv4算法[6]的網絡架構由Input,Backbone,Neck(SPP+PANet)和Head組成。Input通過自對抗訓練策略使神經網絡反向更新圖像,在添加擾動后的圖像上訓練,實現數據擴充。Backbone以CSPDarknet-53作為網絡框架,其中,CSP-ResNet 殘差連接結構消除網絡反向優(yōu)化時梯度信息冗余現象;以Mish激活函數代替Leaky ReLU函數,保證函數在負值的情況下允許較小的負梯度流入。Neck通過空間池化結構SPP對特征層進行4種尺度的最大池化提取上下文特征。為避免在傳遞過程中出現淺層信息丟失的問題,采用實例分割框架下的路徑聚合網絡結構PANet融合深層與淺層的特征信息,使得Neck能夠生成3個更有效的目標檢測特征圖。Head的功能是回歸與分類,沿用YOLOv3的多尺度預測方式,將生成的3個特征圖分別用于小、中、大目標的檢測和預測解碼,圖1分別是52像素×52像素,26像素×26像素,13像素×13像素飛機目標特征圖。
圖1 多尺度特征圖Fig.1 Multi-scale feature map
YOLOv4在檢測精度與速度之間取得了較好的平衡,是目標檢測的首選模型,但由于原始算法的先驗框不符合遙感飛機數據集中檢測目標的尺寸,且高額的計算成本使模型的部署變得困難,因此需要重新擬合先驗框參數、簡化網絡結構并降低參數量,在不影響精度的前提下提高模型檢測速度。
YOLOv4在劃分網格后的圖像上設置先驗框,通過預測先驗框與真實框之間的距離,確定最終的邊界框回歸。由于遙感影像背景復雜造成算法原始先驗框數據與飛機目標的尺寸無法較好地耦合,因此,本文采用K-means++算法穩(wěn)定初始化聚類中心選擇,使模型獲得最優(yōu)的先驗框參數,提高檢測精度。
K-means++算法[7]先隨機選取數據集中某一個樣本的目標框區(qū)域作為初始聚類中心,再計算各個樣本到已有的聚類中心的距離D(x)以及每個樣本成為下一個聚類中心的概率P(x),即
(1)
選取概率最大的樣本目標框區(qū)域作為新的聚類中心,重復上述步驟直至選出K個聚類中心;重新計算每個樣本到各個聚類中心的距離,把樣本點劃分到與之距離最近的簇中,更新各個簇中所有類的聚類中心,最后迭代至聚類中心不再變化時結束。按照上述步驟對數據集聚類分析,結果如圖2所示。
圖2 K-means++聚類算法結果Fig.2 Results of K-means++ clustering algorithm
由圖2可知,平均交并比IoU與候選框的數量呈正相關,為同時兼顧計算精度與耗時,以9作為聚類中心數,聚類效果如圖3所示,其尺寸如表1所示。
圖3 K-means++聚類效果圖Fig.3 K-means++ clustering diagram
表1 優(yōu)化聚類后先驗框尺寸Table 1 Priori frame sizes after optimization
在進行遙感圖像的目標檢測時,由于背景復雜,一張圖像中真實目標包圍框的數量往往會遠小于預測包圍框,造成正負樣本比例失衡的問題。因此,本文在標準交叉熵損失函數的基礎上增加調節(jié)因子,以focal loss[8]作為改進的YOLOv4的損失函數,該函數表示為
(2)
圖4 不同模型的PR曲線Fig.4 PR curves of different models
由圖4可以看出,focal loss的引入有效降低了簡單負樣本在訓練過程中所占的權重,解決了標準交叉熵損失函數中存在的正樣本輸出概率越大損失越小、負樣本輸出概率越小損失越小的問題,從而提升模型的檢測精度。
由于YOLOv4高額的計算成本使模型部署變得困難,本文在保證檢測精度的前提下,采用融合卷積核剪枝與層間剪枝的剪枝方法[9]對YOLOv4進行壓縮。模型需要通過基礎訓練、稀疏訓練、雙向剪枝以及微調得到合適的壓縮尺度?;A訓練以改進的損失函數Lft作為優(yōu)化目標,對數據集進行迭代訓練,直至0 (3) 為了對本文提出的聯合聚類優(yōu)化、focal loss與融合剪枝的YOLOv4-nl算法進行評估,采用UCAS-AOD和RSOD數據集共計1886張飛機遙感圖像進行實驗,其中包含飛機8203架,按照8∶2的比例將圖像分配至訓練集和測試集,樣本標簽示例見圖5。為了提高模型的泛化能力與魯棒性,算法采用Mosaic數據增強方式提高數據集目標豐富度,隨機選取數據集中的4張圖片,通過隨機縮放、隨機裁減、隨機排布的方式將其拼接成一張完整的圖像送入檢測模型。 本模型在PC端上完成網絡訓練和剪枝模型壓縮實驗,采用以Tensorflow框架為后端的Keras構建遙感影像的飛機檢測模型,詳細實驗平臺配置如表2所示。 本文對遙感影像飛機目標的檢測網絡如圖6所示,將人工標注的飛機數據輸入模型中進行訓練和微調實現模型對目標的快速識別。 權值按照大小排序,通過控制縮放因子的大小對冗余通道進行篩選,將貢獻率較低的通道剪掉,如圖6中紅線所示,將貢獻率高的通道進行保留,如圖6中藍線所示,修剪后的模型結構更加緊湊。 圖6 飛機目標的檢測網絡Fig.6 Aircraft target detection network 為加速訓練,將輸入圖像的分辨率大小統(tǒng)一調整為608像素×608像素,batch大小設為64,動量設為0.000 5,迭代次數設為9000,初始學習率設為0.001,在迭代至6000次時,將學習率降低1/10,權值衰減率設為0.000 6,稀疏訓練的迭代次數設為1000,λ設為0.005,α取0.5,γ取1,τn設為0.1,τl設為0.5。訓練完成后繪制模型的損失函數變化曲線,如圖7所示。 圖7 模型的損失函數變化曲線Fig.7 Loss function curve of model 模型在經過1000次迭代后損失值大幅下降,5000次迭代后穩(wěn)定收斂在0.16左右,改進后模型的損失值明顯低于原模型,因此所提的YOLOv4-nl模型超參數設置合理,學習效果較為理想。 為了評估YOLOv4-nl算法的性能,從測試集中選取3張具有代表性的遙感飛機圖片,分別是沙塵天氣圖像、部分目標重疊圖像以及小尺度密集分布圖像。通過兩階段Faster R-CNN[10],YOLOv3,YOLOv4,卷積核剪枝模型YOLOv4-n,層間剪枝模型YOLOv4-l與本文算法YOLOv4-nl進行對比分析,實驗結果如圖8所示。圖8中,第1行圖像是受沙塵天氣影響的成像質量較差、目標較為模糊的圖像,各個算法均有一定程度上的漏檢,YOLOv4與YOLOv4-nl算法漏檢數量最少。第2行圖像中目標飛機有重疊部分且方向各異,與背景環(huán)境的顏色較為相近,由于YOLOv4-nl算法引入了focal loss,更加關注難分類的目標,因此其目標框更接近于飛機真實輪廓大小。第3行圖像中,YOLOv3,YOLOv4-n與YOLOv4-l對于小尺度密集分布圖像的語義丟失嚴重,YOLOv4-nl算法幾乎檢測到了所有目標,優(yōu)勢更為明顯。 圖8 算法對比結果Fig.8 Algorithm comparison results 為了進一步評估YOLOv4-nl算法的性能,以準確率P、召回率R、平均準確率(mAP)、模型存儲空間V與檢測速度作為性能評價依據對模型優(yōu)劣進行客觀對比分析,結果如表3所示。 表3 模型性能對比Table 3 Model performance comparison 其中, (4) 式中:PT為將正類預測為正類的數量;PF為將負類預測為正類的數量;NF為將正類預測為負類的數量;NT為將負類預測為負類的數量。準確率P是指對于預測結果中確實為正類的樣本占被預測為正類的樣本的比例。召回率R是指被正確預測的正類樣本占原樣本的比例。 由表3可知,Faster R-CNN以RPN代替窮舉法Selective Search生成候選框,精度相對較高,但檢測速度仍遠低于單階段檢測算法。對YOLOv4模型進行多種剪枝壓縮處理后,存儲空間得到明顯壓縮,運算速度均有所提升,并且微調后的精度與剪枝前模型差距不大,YOLOv4-nl算法的mAP僅比YOLOv4原始模型下降了0.11%,而較Faster R-CNN,YOLOv3,YOLOv4-n和YOLOv4-l分別高出2.19%,5.84%,4.62%和3.81%;存儲空間壓縮至14.3 MiB,運算速度也有所提升。實驗證明,該模型識別準確率高、檢測速度快,能夠為遙感影像中的飛機目標檢測任務提供技術支持。 針對遙感影像中飛機目標尺寸偏小、檢測精度較低且無法實現輕量化應用的問題,本文提出了一種改進的YOLOv4-nl檢測模型。采用K-means++聚類算法優(yōu)化錨框數據以適應數據集中目標尺寸,使模型預測性能與網絡訓練收斂速度得到有效提升。以focal loss作為本文算法的損失函數,緩解由于數據樣本失衡造成的交叉熵損失函數向多樣本類別傾斜的問題。為了在保證檢測精度的同時節(jié)省存儲空間并加快運算速度,提出一種融合卷積核剪枝與層間剪枝的壓縮算法對模型剪枝壓縮,以簡化模型結構,節(jié)省計算成本。實驗結果表明,相較于原始YOLOv4模型,本文算法在保證平均準確率的同時,模型存儲空間減少了94.4%,運算速度提高了15.76 幀/s,基本滿足遙感影像目標檢測的實時處理需求,為后續(xù)的移動平臺部署提供依據。3 實驗結果與分析
3.1 實驗數據及環(huán)境
3.2 模型訓練
3.3 算法對比
4 結論