沈陽理工大學 黃海新 唐學多
隨著遙感影像獲取技術的不斷發(fā)展,遙感飛機的機型及位置檢測成為檢測重點。然而,由于其復雜的背景,不同的空間分辨率,姿態(tài)和光照變化復雜,導致檢測精度不高。此外,本研究中遙感飛機的類內和類間方差都較大,給機型的識別增加了難度。為了提高算法對遙感影像目標的檢測精度,本文提出一種基于YOLv4和Triple Loss的目標檢測算法,首先運用Sobel算子和Mosaic對數(shù)據(jù)集擴充和增強;其次,用Triple Loss代替原有的分類損失函數(shù)來提高分類精度,最后通過實驗驗證本算法的有效性和準確性。結果表明本算法在MTARSI數(shù)據(jù)集上檢測率mAP達到90.07%,與其他先進的機型識別算法對比,本文算法有效提升了遙感飛機的檢測準確率。
隨著遙感技術的不斷發(fā)展,遙感影像已經成為一種重要的數(shù)據(jù)來源。飛機不僅是軍事領域的戰(zhàn)略目標,也是民用領域的重要運輸工具,因此,飛機的機型識別和檢測在及時分析戰(zhàn)場態(tài)勢和制定軍事決策方面起著重要作用。但是由于遙感影像高分辨率的獲取,單張圖片中包含的信息也越來越多,依靠現(xiàn)有的自動解釋的分類方法已經難以適應實際需要。而且,盡管飛機的功能和用途有著明顯區(qū)別,但是卻具有極其相似的外觀,遙感影像具有的背景復雜,小目標、多尺度等特點也增加了檢測難度,因此,快速、準確的識別飛機類型仍然具有很大的挑戰(zhàn)。YOLOv4的出現(xiàn)使目標檢測任務出現(xiàn)了一個飛躍,實現(xiàn)了速度和精度的完美提升,為了保證檢測精度和實時性,本文采用YOLOv4作為檢測網絡結構。如圖1所示。
圖1 YOLOv4網絡結構
為實現(xiàn)對遙感飛機目標的實時高效檢測,本文基于YOLOv4建立檢測網絡框架。YOLO系列算法是基于CNN的端到端的原理實現(xiàn)目標檢測,其檢測過程分為特征提取,定位目標和損失計算三個部分。其中,特征提取網絡為CSPDarket53,定位目標包括對目標的分類和位置回歸,損失計算則包括分類損失、邊界框回歸損失和置信度損失。如圖2所示,與只有一個檢測層的YOLOv1和YOLOv2不同,YOLOv4與YOLOv3相同,使用三個不同尺度的特圖,實現(xiàn)了多尺度目標檢測,且使用了比YOLOv3中Darknet53效果更好的CspDarknet53作為特征提取網絡。
圖2 遙感飛機圖像擴增流程圖
在深度學習中,為了獲取一個好的訓練模型和提高模型的泛化能力,高質量的樣本是必不可少的。但是實際中,樣本數(shù)量和質量往往都不夠好,數(shù)據(jù)增強及擴增成為了改善或者解決這一問題的關鍵方法。本算法使用Mosaic進行數(shù)據(jù)增強,基于Sobel算子的圖像分割技術進行數(shù)據(jù)擴增。
MTARSI數(shù)據(jù)集中的B-2轟炸機和KC-10加油機是非常罕見的,很難被衛(wèi)星遙感捕獲,這將阻礙MTARSI數(shù)據(jù)集的采集和構建。針對這一問題,一種基于Sobel算子的分割算法被提出用來解決此問題,該方法的流程圖如圖3所示,首先運用Sobel算子將圖片中的圖像從背景中分離出來,然后從不包含任何飛機的相關遙感圖像(如飛機跑道、草坪等)中隨機選擇不同的背景圖像。最后將分割出的飛機圖像進行鏡像和旋轉操作,再和選定的背景結合,實現(xiàn)對罕見數(shù)據(jù)的擴增。提取的圖像和背景圖像具有相同的空間分辨率,且由相同的遙感傳感器獲取,避免了數(shù)據(jù)的失真。
圖3 三元組分類損失函數(shù)原理
由于本論文樣本數(shù)據(jù)集具有明顯的類內多樣性,為了減少對損失的影響,在訓練中需要盡可能的學習訓練hard樣本,所以,選取三元組損失函數(shù)作為分類損失函數(shù),其基本思想就即通過學習來最大化anchor與負樣本的距離,最小化anchor與正樣本之間的距離。
本章首先介紹實驗所用數(shù)據(jù)集,再介紹實驗環(huán)境設置,并在YOLOv4 網絡中進行訓練測試最后將實驗效果與其他主流算法做對比,得出檢測效果更好的結論。
本實驗數(shù)據(jù)集為來自谷歌地球衛(wèi)星圖像的多類型飛機遙感圖像(MTARSI),包含20種類型、覆蓋36個機場的飛機圖片,數(shù)據(jù)擴增至9385張圖片。所有圖片均采用labelImg進行標注,隨機選取2000張作為測試集,7385張為訓練集圖片。
實驗采用YOLOv4算法的CSPDarknet53網絡作為實驗特征提取網絡,采用隨機梯度下降法優(yōu)化損失函數(shù),采用交叉迷你批標準化(CmBN)有效避免模型在迭代過程中陷入最小值的問題,來加快訓練的收斂性,激活函數(shù)結合使用修正線性單元(Leakey ReLU)和Mish。超參數(shù)設置如下:批數(shù)和小批數(shù)為64、16,動量衰減和重量衰減分別設為0.9、0.005,采用多項式衰減策略調整學習率,初始學習率為0.001。實驗環(huán)境:使用Darknet+CUDA10.2的深度學習框架,顯存為16G的GTX1660顯卡,每次在GPU上并行訓練4圖像。
實驗對輸入圖像采用多尺度訓練,并在五種神經網絡(DenseNet、GoogelNet、VGG、ResNet以及EfficientNet)上進行性能比較,本算法以90.07%的分類準確率取勝。且與傳統(tǒng)基于特征的方法相比,基于神經網絡的方法能夠提取出更深層次的特征,具有更好的泛化能力和圖像表征能力,因此具有更高的檢測精度,檢測性能也遠遠好于傳統(tǒng)分類方法。該算法的在測試集上的檢測結果如圖4所示,可以看出,無論是在分類還是位置定位,本算法都有較好的檢測效果。
圖4 測試集驗證結果
本訓練實驗中,當?shù)螖?shù)約為40000次時損失收斂至0.31,在測試集上驗證結果,得到了較好的檢測效果,由此可見,本文基于YOLOv4與Triple-Loss的算法能夠增強遙感目標的檢測能力。
針對遙感飛機影像中存在的分類及檢測精度不高的問題,提出了基于YOLOv4和Triple Loss的檢測算法。該算法首先選取YOLOv4作為檢測的主干模型,其次使用Mosaic和Sobel算子方法進行數(shù)據(jù)擴增及增強,并引入Triple Loss分類損失函數(shù)思想,最后在MTARSI數(shù)據(jù)集上驗證算法的有效性。實驗結果表明,該算法在復雜的遙感影像目標檢測中檢測效果較好,且實現(xiàn)了在不損失速度的情況下提高了檢測精度。