陳 偉
(寧波寧大地基處理技術有限公司, 浙江 寧波 315000)
高分辨率遙感影像具有包含信息量大,自然場景復雜等特點,一幅遙感影像中往往包含大量的建筑,場地,植被,農田等多類別地物和地貌要素信息,如何利用高干影響來實施精準快速的地物要素自動化檢測提取,一直以來是熱點的研究內容,隨著深度學習技術的快速發展,許多基于卷積神經網絡的目標檢測模型被應用到了遙感影像目標檢測任務中,取得了不錯的成果。到目前為止,現有遙感影像目標檢測模型大多都有著深層次的結構以及復雜的連接通道,這類模型通常在占用較大內存的同時,運行過程中會也會產生大量的計算冗余量和額外參數,限制了模型在許多計算資源有限的場景下部署和使用。故而,很多研究開始針對能夠在低功耗、內存和算力有限的硬件環境下流暢運行的輕量級檢測模型[1]。
當前,對于輕量化網絡模型的研究主要圍繞模型剪枝壓縮以及構建輕量化網絡結構兩種思路來進行。其中模型剪枝壓縮是利用張量壓縮等方法對訓練后的常規卷積神經網絡模型進行結構裁剪,來實現降低網絡運行時參數量的目的。在2018年,孔英會等人[2]就提出了基于移動型網絡(MobileNets)的模型剪枝方法,裁剪后的模型權重文件僅占24.3 MB大小,能夠滿足移動端的應用需求;2019年,彭冬亮等人[3]基于谷歌網絡(GoogleNet)模型提出了一套模型的剪枝算法,將原始GoogLeNet模型中的1 040萬個參數減少到65萬個,并且縮減后模型的準確率在凈多迭代后與原始模型不相上下;2020年,姚巍巍等人[4]基于模型剪枝和改進了第三代輕型單次目標檢測算法(Tiny-you only look once v3,Tiny-YOLOv3),將模型的推理速度提高至初始模型的2倍,同時參數提及縮小一半且精度并無損失。然而,模型剪枝類的方法主要研究對象為模型壓縮方法,需要設計針對訓練后模型的裁剪策略,并要對裁剪后的模型進行測試來驗證精度保留情況,步驟比較煩瑣。因此有很多研究通過直接構建輕量級網絡模型來實現研究目標。2019年,劉俊等人[5]通過深度可分離卷積及多尺度語義信息融合等進行改進,設計了嵌入式平臺應用背景下的輕量化艦船目標識別方法,在測試數據集上的準確率達到93.5%;同年,唐瑋等人[6]在多尺度目標檢測框架基礎上,利用密集連接結構和雙卷積通道構成具有特征重復利用、計算效率高等特點的基礎骨干網絡,之后連接一個由殘差模塊和反卷積構成的多尺度特征融合檢測模塊,以提高飛機小目標的檢測性能;2020年,余進等人[7]借鑒深度可分離卷積的思路,通過引入多尺度的特征融合模塊,設計了一個針對目標檢測任務的輕量化特征提取網絡,有效提高了輕量化特征提取網絡對不同尺度目標的適應性,在降低原模型參數量的同時提高了檢測速度;同年,楊雨迎等人[8]采用第三版“僅看一次”(you only look once v3,YOLOv3)目標檢測算法,以移動型網絡第二版(MobileNetsV2)為基礎框架,實現網絡的輕量化設計,并通過自主采集的白光/紅外圖像建立數據集對網絡進行訓練,所獲得的輕量化模型要比原始模型大小縮減了80%,同時所提出方法的平均精度均值(mean average precision,mAP)可以達到75.24%。
本文所提出方法以模型能部署并流暢運行在小型低能耗設備上為前提,設計并構建輕量化遙感影像目標檢測模型。采用深度可分離卷積來構建淺層的特征提取結構,通過分組卷積和通道混排來降低特征提取計算過程中的計算量;為了保證模型充分訓練,使用兩層連續上采樣層對底層特征進行強化,確保模型在不同尺度物體檢測方面的穩定性,對訓練數據集進行增強處理,進一步提高訓練后模型對不同場景和環境的適應能力。
特征提取結構是整個檢測模型的前端部分,一般網絡模型中的特征提取結構是由卷積核以及相關計算單元組成的大型深層次網絡結構,這類結構在運行過程中往往會產生大量的冗余參數。為了降低模型在特征提取過程中的計算參數量,本文所提出方法首先了采用深度可分離卷積核來構建基本的特征提取結構。相比于常規卷積核,深度可分離卷積通過在進行卷積計算時使用更少的矩陣乘法來獲得比常規的卷積核在計算時產生更少的計算量和參數量,因此使用深度可分離卷積擁有優秀的特征提取能力以及較少的計算量和參數量等諸多優點。在相同條件下,使用深度可分離卷積和常規卷積核的計算量對比公式如式(1)所示:
(1)
式中,C′和C分別代表深度可分離卷積和常規卷積核一次計算所產生的計算量;Fin代表輸入特征圖的尺寸;M代表輸入特征圖的通道數,和Fps代表卷積核的平面尺寸;N代表輸出特征圖的通道數。
除了卷積操作以外,在自上而下的特征提取網絡結構內,由上層輸入的特征會不斷地加深通道數,而每次對所有通道進行操作必然會產生很多冗余計算。因此,本文采用通道分組卷積[9]策略來進一步降低特征提取計算過程中的計算量,具體的分組卷積實現流程如圖1所示。
為了確保模型在訓練過程中不因為層數加深而收斂速度大幅降低,在卷積層后面添加了批量歸一化處理層(batch normalization,BN)來加快模型在訓練過程中的收斂情況。在輕量化的模型中,為了降低激活函數的計算時間,本文所提出方法使用了hs(t)函數作為非線性激活函數對上層輸入的特征進行非線性激活,具體如公式(2)所示:
(2)
式中,t為來自上層的特征值;RL6(t)為Relu6型非線性激活函數。
為了在保證模型獲取更優質特征圖的同時在輕量化設備上能夠流暢運行,在輕型特征提取結構的末尾構建了雙層特征圖上采樣結構來實現特征增強,同時采用加和操作將上采樣獲取的特征圖與特征提取網絡中同尺寸的特征圖相拼接。最后每一層的末端,連接一個預測輸出來實現對圖像中不同大小物體的檢測,根據非極大值抑制(non maximum suppression,NMS)[10]機制來輸出唯一的檢測框。本文所提出方法使用錨點框(Anchor Box)來實現對多類別目標的預測,故根據本文使用數據集的實際大小在已有訓練標簽的基礎上,使用K-means聚類算法計算出了對應不同檢測窗口的Anchor Box,最終的聚類結果如表1所示。
模型在訓練過程中的損失函數采用了空間定位損失加類別損失的組合損失函數,具體如公式(3)所示,其中目標定位損失Llocal和類別定位損失Lclasses如式(4)、式(5)所示:
本文以開源遙感影像目標檢測數據集(remote sensing object detection,RSOD)為基礎對所提出模型進行訓練和測試。由于訓練數據集中圖像的風格和場景種類有限,因此為了讓訓練后的模型具備對不同光照條件,背景復雜程度等環境的良好泛化能力,本文所提出的方法采用組合數字圖像處理手段來實現對原始影像集中的圖像進行風格,背景方面的強化,來實現對模型更為充分的訓練。首先將訓練集中的影像尺寸統一歸化至608 dpi×608 dpi,來方便模型后續的訓練,然后針對不同類型的目標影像,分別使用樣本光照變換,目標個數擴充以及圖像角度旋轉三種處理方法來提高樣本在目標個數,識別角度,不同光照場景下的魯棒性,具體的實現流程及結果如圖2~3所示。

圖2 數據集增強處理流程圖



(a)原始影像 (b)直方圖均衡化 (c)圖像傾斜
增強后的數據集包含有操場,油庫,飛機三類目標共計2 873張圖像,其中訓練數據集內包括2 298張圖像,測試數據集內包含575張圖像。
首先在大型計算平臺上完成模型的訓練來確保模型在訓練的過程中快速收斂。然后在低功耗邊緣計算平臺上完成對模型的性能測試。訓練和測試平臺的具體參數如表2所示。
為了對模型盡可能地充分訓練,將模型的訓練迭代次數設定為5 000次,同時采取動態學習率機制來確保模型在訓練過程中充分收斂,分別在1 000,3 000次的時候將模型的學習率縮減為原來的0.5倍。訓練過程中的損失曲線如圖4所示。

表2 訓練及測試平臺參數表

圖4 模型損失收斂示意圖
從訓練損失曲線圖中可以看出,模型在整體的訓練過程中保持總體收斂的趨勢,從訓練初期的損失值較高快速下降并能夠實現穩定收斂,在訓練約3 000次后損失下降的趨勢接近穩定狀態。
為測試訓練后模型的實際性能,將模型遷移到低功耗的測試設備上,分別從批量化測試結果統計數據以及具體結果兩個角度來驗證所提出模型性能。對于三類不同目標,本文分別從檢測精度,檢測速度以及模型大小三個方面來全面評價模型的綜合性能。為保證模型流暢運行,將測試數據集中的575張圖像降采樣為416 dpi×416 dpi后輸入模型進行測試。
在模型的檢測精度方面,采用精度均值(average precision,AP)來衡量模型的檢測精度,即對于每一類目標是否檢出和正確類別確定,然后對所有類別的精度均值求平均,獲得最終的平均精度均值(mean average precision,mAP)來衡量模型的整體性能。在檢測速度方面,采用每秒幀數(frames per second,FPS)來評價模型的檢測流暢程度。在模型占用內存方面,采用訓練后模型權重文件大小作為評價指標。為更好地說明所提出模型性能,將同類型的輕量化模型訓練后在同一環境下進行測試,具體測試結果分別如圖5和表4所示。

圖5 多類別目標及綜合檢測精度示意圖
通過圖5及表4中可以看出,本文所提出方法在三個不同類別目標的檢測精度方面均為最佳,其中對于目標占圖像比例較大的操場目標,本文所提出模型在精度均值上可以達到71.3%,相比同類型的Tiny-YOLOv3和MobileNet-SSD分別提高了9.02%和20.03%,而模型的綜合檢測精度可以達到平均精度均值為68.2%的水平,相較其余模型分別提高了10.89%和20.62%。在模型檢測速度方面,本文所提出方法在使用分辨率為416 dpi×416 dpi圖像的情況下檢測速度可以達到36 幀/s,快于同類別的對比模型,并且完全具備了實時檢測的能力。在模型內存大小方面,本文所提出模型在訓練后的模型權重大小僅有31.26 MB,相比其余兩個模型分別減少了35.3%和41.7%,體量更輕便,更適用于內存相對較小的低功耗平臺。

表4 模型性能評價表



(a)操場檢測圖1 (b)操場檢測圖2 (c)操場檢測圖3


(d)油罐檢測圖1 (e)油罐檢測圖2 (f)油罐檢測圖3



(g)飛機檢測圖1 (h)飛機檢測圖2 (i)飛機檢測圖3
選取部分測試結果進行進一步分析,通過具體場景下的檢測結果來說明模型的實際性能。從圖7中可以看出,對于尺寸較大的操場目標,模型在不同傾斜角度、不同背景下的目標均能夠實現較好的檢出;針對中等尺寸的油罐目標,同樣能夠在不同復雜背景及目標密集分布情況下完成對單體目標的精準檢出。而對于顏色背景更為復雜且尺度跨越較大的飛機目標,模型能夠實現對中等尺度目標和絕大多數小尺寸目標的檢出。由此可以看出,本文所提出的模型對于多種類別目標,均具備較好的檢出能力,同時對于不同的復雜程度的背景,以及不同的目標密集分布程度,具備較好的泛化性能。
針對一般遙感影像目標檢測模型,算力需求較高,占用內存較多,部署場景有限等問題,提出了能流暢運行在低算力的邊緣計算設備上的輕量卷積神經網絡,使用增強的開源遙感影像數據集對模型進行訓練和測試,并對模型的精度,運行速度及模型大小等進行綜合評價,得出以下結論:
(1)本文所提出方法中的輕量化檢測模型可以在低功耗計算平臺下流暢運行,并能夠基于光學遙感影像快速精準的檢測出地面上不同尺度的多類別目標。實驗結果表明,訓練后模型對于單類目標的檢測精度最高可達71.3%,對于所有目標的綜合檢測精度也達到68.2%,相比Tiny-YOLOv3和MobileNet-SSD在檢測精度方面分別提高了9.82和17.3%,并且在不同的場景下表現穩定,具備有一定的泛化能力;
(2)在檢測速度和模型體量方面,本文所提出模型的檢測速度可以達到36 幀/s,具備實時檢測的能力,同時訓練后模型的權重文件大小僅有31.26 MB,能夠確保模型在內存較小且算力較低的輕型計算設備上流暢運行。