陳鵬鵬,邢晨光,劉波,王若,王思博,孫舒凡,陳遠澤
1.中國航空系統工程研究所,北京 100012
2.北京航空航天大學,北京 100191
民用飛行器識別等任務中,傳統的圖像識別檢測方法需要通過人工的方式對圖片中的特征進行選取,但隨著數據量的增加和飛行器種類的增多,特征提取變得越發困難。隨著深度學習技術的發展,空中飛行器圖像識別也從傳統的特征提取開始逐漸轉向使用深度神經網絡來學習[1-3]。然而,空中飛行器的圖像資源相對較為短缺,沒有涵蓋各種類型飛行器的公開數據集,數據資源參差不齊,圖像質量難以保障,可供模型使用的數據量嚴重不足,導致該場景下的研究大都集中在飛行器遙感圖像方面[1],針對單一的飛行器識別的研究較少。而針對飛行器遙感圖像識別的任務中,圖像呈現的大多是一定區域內停靠在機場的飛行器,其數量較多,且目標很小,若將該任務下的模型進行預訓練后應用于單一飛行器的識別任務中,會因為網絡學習到的飛行器特征并不全面,模型泛化性較弱。再加上空中飛行器的圖像受飛行姿態、天氣光照、焦距等客觀因素的影響,導致輸入模型中的圖像特征并不清晰,模型沒有學習到圖像中的關鍵特征,影響最終的識別精度。
現有的數據增強方法[4-10]主要是對圖像數據進行預處理,增強圖像中的特征信息,使模型能夠在有限的圖像中提取到更多的語義信息,數據增強的目的是使模型關注到更深層次更加本質的特征,從而提升模型的魯棒性,增強泛化能力[11-12]。圖像的翻轉、旋轉、裁剪、添加噪聲等都是計算機視覺中常用的數據增強方法,在具體任務場景下使用這些方法時還需要注意標簽數據的變化,如目標檢測中若使用翻轉,則需要將標注框進行相應的調整[13-19]。剪切法(Cutout)[10]通過對圖像進行遮擋,降低模型對數據的敏感性,從而提升模型的泛化能力。除了對圖像進行遮擋的操作外,研究者也在圖像融合操作方面做過嘗試,混合法(Mixup)[13-14]便是其中之一。參考文獻[20]提出了一種隱式數據增強方法,該方法通過交換訓練樣本特征矩信息來生成新的樣本,以達到數據增強的目的。參考文獻[21]提出了對抗策略的數據增強優化方法,它可以為模型生成額外訓練數據。參考文獻[22]應用兩點交叉算法進行數據增強,提升了機器學習模型的泛化能力。
但是,以上方法均將圖片中的特征均等對待,事實上,通過類激活圖[18-19]可視化后可以發現,圖片中不同特征對于深度學習模型訓練的影響是不相同的。因此,基于這些方法進行數據增強會影響深度學習模型在目標檢測和分類任務中的表現。
為此,本文針對飛行器數據的特征加以優化和改進,提出了基于顯著圖的數據增強方法。該方法提取出飛行器圖像中突出的部分,圍繞目標對象峰值顯著區域選擇補丁,而其他部分的像素則設置為0,以增加圖像中飛行器對象在整個圖片中的語義信息,這些信息可以使模型學習更合適的特征表示,提高深度神經網絡最終在分類和檢測任務中的準確性和精度。
深度學習模型的成功可以歸功于數據的數量和多樣性。但收集標記數據是一項煩瑣且耗時的任務。因此,現有方法通過應用各種轉換(如旋轉、翻轉等)來增加現有數據的多樣性。由于這種簡單且廉價的技術顯著提高了模型的性能和魯棒性,因此數據增強已被廣泛用于訓練深度學習模型。Y.Lecun 等[5]應用數據增強來訓練卷積神經網絡LeNet 進行手寫字符識別。他們執行了幾種仿射變換,如平移、縮放、剪切等。對于相同的任務,Y.Bengio 等[6]對圖像應用了更多樣化的變換,如高斯噪聲、椒鹽噪聲、高斯平滑、運動模糊、局部彈性變形和各種遮擋。A.Krizhevsky等[7]應用基于主成分分析的隨機圖像補丁裁剪、水平翻轉和隨機顏色強度變化。除了翻轉和裁剪之外,S.Connor等[8]還應用了色偏、漸暈和鏡頭失真,以提高深層網絡的魯棒性。D.C.Ekin 等[9]提出了一種稱為自動增強法(AutoAugment)的數據增強方法,該方法定義了各種增強技術的搜索空間,并為每個小批量選擇最合適的一種。
近年來,數據增強方面的進展可以分為兩類:一類是基于區域擦除的方法。區域擦除即在訓練中擦除圖像的部分區域,旨在鼓勵神經網絡找到更多的鑒別區域。Zhou Kaiyang等[10]提出了剪切法,通過隨機移除輸入訓練圖像的方形區域,以提高模型的魯棒性。另一類是基于數據混合的方法,該方法最近在圖像分類領域受到廣泛關注。與區域擦除增強相比,這類方法通過組合多張圖像并相應地融合它們的標簽來生成新數據。K.Jang-Hyun等[13]提出了聯合優化兩個目標的聯合混合法(PuzzleMix)算法,即選擇最佳掩碼和最佳混合方法。掩碼試圖揭示兩個圖像中最顯著的數據,最佳傳輸計劃旨在最大化數據顯示部分的顯著性。Liang Daojun等[14]首次提出了混合法,通過線性組合圖像并使用相同的系數融合它們的標簽來生成圖像。混合法在處理損壞的目標和提高模型性能方面顯示出其優勢,但增強后的圖像看起來不自然且局部模糊[10]。C.Summers等[15]通過引入一種考慮非線性混合操作的更通用的數據混合形式,進一步改進了混合法。Y.Sangdoo 等[16]提出了剪切混合法,它通過剪切一個圖像補丁并粘貼到另一個圖像來生成新圖像。與混合法類似,標簽也是混合的,但與補丁的面積成比例。利用這兩種方法的優勢,剪切混合法在分類任務和弱監督定位任務中表現出令人印象深刻的性能。
本文提出的方法屬于第二類。然而,它與以前的技術有很大不同。當前基于混合數據的方法主要根據混合像素的統計數據來組合標簽,如像素數或強度值的比率;而現有的基于補丁的方法中,由于源補丁選擇過程中的隨機性,它可能會選擇一個不包含任何關于源對象的信息像素的區域,并且根據這些無信息補丁的標簽混合會誤導分類器學習意外的特征表示。
相比之下,本文的方法通過在一些先驗信息的幫助下選擇源圖像補丁來解決上述問題。具體來說,本文首先提取源圖像中突出的部分,即需要識別的飛行器,然后圍繞飛行器圖像峰值顯著區域選擇補丁,以確保從識別對象部分中進行選擇,而其他部分的像素則設置為0,現在選定的補丁包含有關飛行器的相關信息,這些信息可以引導模型學習更合適的特征表示。
為防止模型學習任何不相關的特征表示,本文基于像素點的顯著性選擇用于數據增強的補丁,以達到增強后的圖像包含目標對象相關信息的目的。算法流程如圖1(圖中為國外飛行器)所示。該方法共包含6個步驟:(1)對圖片添加標注信息;(2)通過對圖像進行顯著圖檢測,生成可視化的顯著性圖;(3)通過顯著性圖選擇補丁位置,生成源補丁;(4)保留源補丁圖像,將其他位置的像素值置為0,輸出修改后的圖像;(5)將修改后的圖像作為新的訓練樣本,對模型進行訓練;(6)生成新的預測模型。下面重點介紹步驟(3)和步驟(4)。

圖1 算法流程圖Fig.1 Algorithm flow chart
顯著性檢測的目標是找出有吸引力的像素或區域,并為它們分配更高的強度值[17]。顯著性檢測方法可以產生可視化的顯著性圖,即灰度圖,突出感興趣的對象,將其集中在前景上。令Is∈RW×H×C是一個隨機選擇的(源)訓練圖,其標簽為ys,從中剪切出一個補丁,那么它的顯著性圖檢測可以表示為
式中,Ivs∈RW×H×C表示源圖像Is的視覺顯著性圖,感興趣對象具有更高的強度值,f(Is)表示顯著性檢測模型。然后在顯著圖中搜索具有最大強度值的像素,其中i和j分別表示該像素的x和y坐標,可以表示為
隨機選擇Is作為待增強樣本。Ia是增強后的樣本,樣本數據增強的過程可以表示如下
式中,M∈{0,1}W×H表示二進制掩碼,⊙表示逐元素乘法。基于參數λ將掩碼的對應補丁的位置設置為1,其他位置設置為0。與SaliencyMix[23]方法不同,本文的方法不需要對兩張原始圖片進行交叉混合操作,本文的方法更加快捷有效。
為了驗證優化后的數據增強方法在對飛行器識別的任務中具有其特定的優勢,本文設計了分類和檢測兩種任務,分別使用不同的數據集進行對比試驗。
本文使用的數據集分別來自兩種不同類型的飛機,均為國外飛行器。數據集中包含了兩種飛機在巡航、爬升、降落、滑行等不同姿態的圖片,盡可能地包含了多角度、多方位的飛機狀態。試驗中均使用Pytorch[24]深度學習框架實現,并使用GPU加速訓練。
令FP 表示錯誤的正例,本為假類但判定為正類。令TP 表示正確的正例,一個實例是正類并且也被判定為正類。TN表示正確的反例,一個實例是假類并且被判定為假類。N表示樣例總數。本文使用正確率(ACC)作為分類任務的評價指標,即預測正確的結果占總樣本的百分比,如式(4)所示
式中,ACC為識別正確率;FN為錯誤的反例,本為正類但判定為假類;FP 為錯誤的正例,本為假類但判定為正類。本文使用平均精度(mAP)作為目標檢測任務的評價指標。與mAP相關的兩個評估指標為精確率(P)和召回率(R),如式(5)、式(6)所示
以召回率R 和精確率P 分別為橫縱坐標建立坐標系,得到P-R 曲線圖,通過計算P-R 曲線下的面積得到平均精度(AP),所有類別的AP做平均,即可得到mAP。
3.2.1 分類試驗
本文分別使用殘差神經網絡ResNet18[25]、殘差神經網絡ResNet50[25]和視覺幾何組網絡(VGG)[26]三種模型在不同型號飛行器的數據集上做對比試驗。試驗中所用的數據集信息見表1,試驗結果如圖2所示。

表1 數據集劃分Table 1 Data set partition table

圖2 不同數據集上的分類效果對比Fig.2 Comparison between classification effects on different data sets
圖2試驗結果表明,原始數據集在經過數據增強后,圖像分類的正確率在殘差神經網絡ResNet18 和殘差神經網絡ResNet50模型上均有一定幅度的提升,數據增強前正確率均未達到或僅是接近90%,數據增強后,其正確率均超過或接近90%;在視覺幾何組網絡(VGG)模型上指標有較大幅度的提升,數據增強后正確率提升較為明顯。
3.2.2 檢測試驗
在檢測任務中,本文使用基于深度神經網絡的目標識別模型(YOLOX)[26]在三種不同類別的數據集上分別試驗。試驗中所用的數據集信息見表2。

表2 數據集劃分表Table 2 Data set partition table
為了進一步驗證優化后的數據增強方法在目標檢測任務中的表現,本文引入了馬賽克(Mosaic)數據增強[27]做對比,試驗中重疊區域交并比(IoU)閾值為0.5,在此閾值下,試驗結果見表3。

表3 數據增強方法在目標檢測任務中的mAP對比Table 3 mAP comparison of different data enhancement methods in the target detection task
由表3可以看出,國外某飛機1數據集在原始圖像上已經有較高的平均精度mAP,在此基礎上,馬賽克數據增強和優化后的數據增強對目標檢測的結果均有小幅度提升。在國外飛行器2 數據集上,馬賽克數據增強和優化后的數據增強同樣是對檢測精度有小幅度的提升,但優化后的數據增強提升的百分比相較馬賽克數據增強有更大的幅度。
從3.1節和3.2節的試驗結果可以看出,本文提出的優化后的數據增強方法在圖像的分類和檢測任務中有不錯的表現,為了進一步解釋該方法對模型訓練中圖像特征的提取的有效性,本文將檢測任務中基于深度神經網絡的目標識別模型(YOLOX)訓練過程中的圖像進行了可視化,如圖3所示。

圖3 不同數據增強方法的可視化結果對比Fig.3 Comparison of visual results of different data enhancement methods
圖3利用類激活圖(CAM)[27]的方法對國外某飛行器將降落姿態的飛行器熱力圖進行可視化,分別為馬賽克數據增強[27]的可視化結果和本文提出方法的可視化結果。從圖3中可以明顯地看出,馬賽克法對于空中距離較近的兩個飛行器,模型的關注點將其混淆在一起。而使用本文優化后,距離較近的兩個飛行器模型的聚焦點也能分別關注。
同時,本文提出的數據增強方法的有效性也可以通過顯著圖可視化的方式驗證。特征圖可以呈現圖像中的像素點對圖像分類結果的影響,即圖4 中亮色部分為神經網絡感興趣的部分。從圖4 中的特征圖中可以看出,經過數據增強后,飛機機體的像素點亮色更加明顯,這表明神經網絡的關注點更加聚焦于飛機本身而不是圖像的其他地方,使得模型的分類和檢測結果更加精確。

圖4 可視化顯著圖與原始圖像對比Fig.4 Comparison of visual saliency and original image
針對在數據集有限甚至缺少的情況下使用深度學習方法對空中飛行器圖像識別的任務,本文提出了基于顯著圖概念的數據增強方法。在此方法的基礎上,對飛行器數據的特征加以優化和改進。通過試驗可以看出,本文所提出的方法對不同類別飛行器的識別和檢測精度都有所提高,通過數據增強的方法較好地解決了因樣本資源稀缺和樣本質量較差等客觀因素導致的模型性能較差的問題,提高了模型在單一飛行器識別任務中的水平。