楊 健,孫 涵
(南京航空航天大學 計算機科學與技術學院,江蘇 南京 211106)
當前,國內的無人機領域正在蓬勃發展,隨著無人機在日常生產生活領域中(如農藥噴灑、航拍勘測等)的大量使用,隨之產生的無人機監督和管理問題也變得日益嚴峻[1-2]。基于深度學習的方法不斷在目標檢測領域展現優異性能,因此當前主流的通用目標檢測算法都是基于深度神經網絡(如VGG[3]、ResNet[4]等)提取目標特征再做檢測,它們大多能在PASCAL VOC[5]和MSCOCO[6]等數據集的大中型目標檢測任務上取得不俗的效果。然而,在真實場景的無人機檢測任務中,這些方法仍有諸多局限。
一方面,以往常見的目標檢測任務中,通常包含的檢測目標為中、大尺度目標,它們的外觀和結構相對清晰完整,隨著網絡加深,網絡能夠逐步學習到目標從局部到整體的特征信息。然而對于小目標檢測而言,由于目標的尺度小、信息少,若使用通用的目標檢測網絡模型,容易在網絡不斷加深的過程中損失大量有效的信息,導致最終檢測性能不佳。如果只是簡單地使用加大輸入圖像分辨率的手段,容易產生高額的計算開銷,大幅增加訓練和推理時間。因此小目標檢測相較于常規尺度目標檢測,達到最佳的檢測性能難度更大。而且由于無人機目標的特殊性,它極易被反光、云層遮掩等背景噪聲淹沒,對檢測造成不利影響。
另一方面,雖然目前深度學習目標檢測算法在目標檢測任務上取得了巨大的成功,但是這一系列方法仍極度依賴高性能計算機。但無人機檢測任務中,應用程序的部署環境通常是在戶外邊緣設備,因此該任務對目標檢測算法的綜合性能提出了更高的要求,要求其能夠在嵌入式設備上運行。現有的小目標檢測模型通常在檢測精度和模型大小上很難做好權衡,不利于部署到室外邊緣檢測設備。
因此,文中提出一種結合像素洗牌和層間特征融合結構的輕量級無人機檢測方法,并將其引入到輕量級無人機檢測網絡TIB-Net,旨在確保模型輕量的前提下,大幅提升層間特征圖質量。
當前,基于候選區域的目標檢測算法主要以R-CNN方法[7]為代表,它先找到目標可能出現的候選區域,然后對該區域進行分類,當應用到小目標檢測任務時可以采取如調整錨框等針對性優化方法。如果應用場景較為復雜,該方法存在易漏檢目標的問題。基于回歸的目標檢測算法主要以YOLO方法[8]和SSD方法[9]為代表,它們直接在輸入圖像的多個位置上回歸出目標邊界框以及類別。它們的優點是檢測速度快,但在小目標檢測上也同樣存在易漏檢目標的問題。同時由于深度學習算法生成的網絡模型,主要通過精心設計的復雜網絡結構增強模型的特征表示能力,因此其內部包含龐大的參數量和多級的非線性映射通常生成較大的權重文件,導致其不易在低內存容量的邊緣設備部署。另外,通用的目標檢測方法往往在大中型目標上表現不俗,但是對于無人機等小目標的檢測效果卻不理想[10-12]。
針對無人機檢測任務,文獻[13]提出改進的YOLOv3算法,通過增加參考角點參與損失函數的計算,獲得更優的定位選擇,提升無人機檢測精度,并且對樣本的增廣、參數優化等方面進行研究,驗證了改進算法的有效性。文獻[14]同樣是在YOLOv3模型的基礎上改進,它將多尺度的特征圖進行融合,提升模型對不同尺度目標的檢測性能。在實際情況中,大部分是邊緣設備部署場景,導致用于計算和存儲的硬件資源都與實驗室設備存在著巨大性能差距,因此文獻[15]提出輕量級無人機檢測模型TIB-Net,通過循環迭代的網絡結構部分緩解了由于目標尺寸過小引起的形狀、紋理等特征缺失等問題。但是,由于網絡部分結構仍然采用簡單的先下采樣再雙線性上采樣的處理模式,因此會產生不必要的信息損失。綜上,這些方法在無人機檢測方面仍可改進。
TIB-Net[15]的算法模型是基于SSD以及FPN基本架構的anchor-based目標檢測算法,該算法采用循環迭代的形式構成特征提取主干網絡,不僅檢測性能優異,而且大幅降低了模型參數量。該網絡通過循環支路結構引入更加豐富的細節信息,同時采用空間注意力模塊,大大降低了特征圖傳遞過程中的信息冗余。因此,文中將在TIB-Net的基礎上進一步優化,構建出性能更佳的無人機檢測網絡。
無人機檢測模型的主干網絡包含六個基本組件塊,其中前兩個基本組件塊的作用是初步提取輸入圖像的基本抽象特征,后續四個基本組件塊參與構成網絡模型的循環迭代架構。在網絡迭代過程中,每輪循環結束時輸出的特征圖會以特征金字塔的方式進行融合,然后送入后續檢測器。網絡整體處理流程如圖1所示。

圖1 網絡整體框架
不同于原始TIB-Net采用基于經典的特征金字塔的信息融合處理方法,文中在特征融合過程中引入層內金字塔結構,以增強網絡對于多尺度信息的處理性能。同時,受到超分辨率任務中像素洗牌操作的啟發,文中使用改進的上采樣模塊替代了雙線性插值上采樣的方式,實現特征金字塔中不同層級上不同分辨率特征圖的融合。最終,改進的特征融合模塊如圖2所示。

圖2 特征融合模塊結構
(1)層間金字塔結構。
層間金字塔(即Elastic結構)[16]最早應用于圖像分類任務,主要目的是使得網絡中每一層都能夠綜合考量特征圖中多個尺度的信息,從數據中學習高效的動態尺度調整策略。如圖3所示,在ResNeXt50原始網絡中,網絡自下而上分別針對性地識別由大至小的目標,即淺層負責識別較小的目標,深層負責識別較大的目標。但是這種策略在示例中除公雞外其他類別目標的識別任務中,并不能取得最優結果。然而,在主干網絡集成層間金字塔結構后,網絡不同層在遇到不同類別的輸入圖像時,會動態調整各層網絡的目標識別尺度,最終獲得更好的實驗結果。因此,受到該結構的啟發,文中在特征金字塔結構中引入動態尺度調整策略。

圖3 層間金字塔結構原理
從圖2中可以看出,輸入特征圖在通過特征融合模塊時會經過三個不同的特征提取分支,待各分支處理完成后再進行特征融合,隨后傳遞到上采樣模塊。為了進一步使模型學習到不同分辨率下的特征表示,需要在一個并行分支的兩端添加下采樣和上采樣處理。在訓練過程中,深度網絡能夠通過層間金字塔自主學習網絡層的分辨率選擇,根據輸入圖片自適應地調整到對應的尺度處理策略。
從整體上看,特征圖在特征金字塔結構的逐層傳遞融合過程中能夠保持高分辨率水平,而在細節上,內嵌的層間金字塔結構使得特征圖在特征融合模塊每個分支上調整到不同的分辨率,使得特征金字塔在每層內部具有不同的感受野。通過這種處理方式,不僅保持了網絡主體部分維持高分辨率的特征圖信息,而且使得特征融合模塊內部能夠動態調整到相應分辨率,使模型能夠在模塊內部的不同分支上處理不同尺度的信息,增強了模型應對不同尺度目標檢測任務的能力。針對小目標檢測任務來說,模型在金字塔結構融合各層特征信息前,能夠將特征圖調整到合適的分辨率再做處理,提升網絡性能。
(2)超分辨率上采樣模塊。
除了集成層間金字塔結構,文中也改進了原始的雙線性插值上采樣策略,提出改進的上采樣模塊,如圖4所示。

圖4 改進的上采樣模塊
傳統的雙線性插值上采樣方法是根據離待插值最近的2×2個已知值來計算待插值,每個已知值的權重由距待插值的距離決定,距離越近權重越大。但是這種人為規定權重的方式仍然會存在畫面模糊的問題。除此之外,反卷積也是目前常用的上采樣手段,它利用模型學習能力獲得上采樣策略,使網絡自主向低分辨率圖片中填充細節部分,它無需預先規定如何插值,因為該結構在模型訓練過程中是可學習的。反卷積并非卷積運算的逆操作,本質上只能還原圖像的尺寸,不能還原其對應像素值,上采樣后補充的像素值是通過網絡訓練過程中反向傳播來學習獲得的。它在實際應用過程中,可能會出現棋盤效應、偽影等病態重建問題(見圖5),而且該操作引入了巨額計算開銷,不宜用于邊緣設備部署。
通過進一步研究發現,超分辨率任務中常用的像素重組操作也可實現上采樣,并且它是一種高效、快速、無參的像素重排列的上采樣方式,不僅取得了良好的上采樣效果,而且在工程應用中容易實現。因此,文中改進了超分辨率任務中常采用的像素洗牌方法,用于上采樣過程。假設輸入特征圖為x∈Rw×h×c,輸出特征圖為y∈R(2×w)×(2×h)×c,卷積核大小為1×1×(c×22),激活函數選用PReLU,采用批正則化處理策略,同時像素洗牌的尺度參數為2。則上采樣模塊的處理過程可表示為:
y=PReLU(BatchNorm(PixelSHuffle(Conv(x))))
(1)

圖5 病態重建樣例
該模塊首先將圖像的通道數拓展到原先的4倍,然后使用像素洗牌運算將像素重排,使得特征圖分辨率提升的同時,通道數還原到初值。
最終,深度網絡結構通過提出的特征融合模塊實現特征金字塔的旁路連接,進一步增強了網絡的特征提取能力。
在實驗過程中的迭代總次數設置為300 K,選擇隨機梯度下降作為優化策略,同時初始的學習率設置為10-3。同時,隨著訓練次數的增加,學習率在第120輪迭代和第240輪迭代時分別衰減到10-4和10-5。
在訓練過程中,模型的損失函數采用多任務損失。文中采用與TIB-Net相同的設置,分類任務的損失函數選用交叉熵函數,如公式(2)所示。
(2)
同時,回歸任務的損失函數選用平滑L1損失函數,如公式(3)所示。
(3)
所以,最終的損失函數由分類損失和回歸損失加權求和得到,如公式(4)所示。
(4)

由于缺乏公共的無人機基準數據集評估,文中選用TIB-Net中提供的無人機數據集,其中采集并標注了共2 750張VOC格式的數據樣本,部分樣本圖片如圖6所示,可以看出數據集中包含多種場景的小目標無人機。

圖6 數據集中多場景無人機樣本展示
文中采用mAP指標以及生成權重模型大小來評估模型性能的優劣,其中mAP的計算公式如公式(5)和公式(6)所示:

(5)
(6)
其中,p和r分別表示精度和召回率,N表示類別數,由于文中只涉及無人機檢測單類任務,因此N設置為1。
實驗結果如表1所示,可以看出改進后的模型相較于原始的TIB-Net,在模型參數僅有少量增加的前提下,將mAP值提高到90%以上,提升了檢測模型的性能。

表1 不同模型的性能參數對比
為了進一步分析實驗結果,圖7將部分檢測結果可視化。可以看出,集成特征融合模塊之后,網絡不僅能夠檢測出尺度極小的不同類型無人機,而且對復雜環境下的無人機檢測表現較為魯棒且更加精準。通過分析,特征融合模塊能夠使特征圖中全局信息和局部信息更高效地融合,因此網絡模型可以根據無人機周邊環境(如天空、樹木)權衡并調整檢測結果的置信度,并最終規避了部分不合理的誤檢情況,與之對應,一些漏檢的目標就能夠被響應并檢測出來。另一方面,超分辨率上采樣模塊緩解了傳統上采樣方式的信息丟失,避免了在這過程中的像素偏移,因此模型預測出的檢測框也就更加精準。

圖7 模型檢測結果
文中基于TIB-Net主干網絡提出了基于深度特征提取的無人機檢測算法,通過集成層內金字塔結構和改進的上采樣模塊,提升了模型的檢測性能。該算法具有較高的檢測精度以及較小的模型參數量,不僅能夠檢測出空中小尺寸無人機,同時對于復雜環境仍能保持性能穩定。因此該算法可以部署在硬件性能較弱的邊緣設備上,以解決真實場景中戶外無人機檢測任務。另一方面,該算法在推理速度上仍有較大提升空間,盡管循環迭代的架構可以減少模型尺寸,但模型深度仍然較大,耗費了部分檢測時間。因此,未來將會繼續對該算法做針對性的改進,在保證模型檢測精度的同時,減少模型的推理檢測時間。