余培東
(中鐵第一勘察設計院集團有限公司,陜西 西安)
隨著我國空間科學技術的迅速發(fā)展,遙感對地觀測數據呈指數級增長,如何有效利用遙感影像數據成為一項難點[1]。遙感影像目標檢測是遙感大數據智能解譯的一項關鍵技術,在人員搜救、偵查、監(jiān)測和預警等軍民領域有著重要的應用價值[2]。計算機技術的發(fā)展,特別是深度學習技術的突破,基于深度學習的遙感影像目標分類和檢測成為遙感領域的研究熱點,應用深度學習技術進行遙感影像快速自動化處理使得遙感技術的現代化成為可能。
作為遙感影像中一種典型人工目標,橋梁通過連接兩塊陸地,在整個交通網絡中具有樞紐地位。橋梁目標的快速準確檢測,在軍事制導領域、災后救援以及地理信息系統(tǒng)更新領域等具有重要價值[3]。
針對傳統(tǒng)目標檢測算法在遙感影像橋梁檢測中精度較差的缺陷,本文以經典單階段目標檢測算法YOLOv4為基礎,融入注意力機制模塊,同時采用深度超參數化卷積替代原始卷積層,提出了一種具有高檢測精度的遙感影像橋梁目標檢測算法,有效提高了算法的遙感影像橋梁目標檢測精度。
Alexey Bochkovskiy 通過融入多種算法的核心思想,最終提出了性能顯著提高的YOLOv4 算法[4],其主要創(chuàng)新點集中在四個方面:
(1) 數據輸入部分采用Mosaic 數據增強、標簽平滑、CmBN 正則化以及自對抗訓練等手段,使算法更好的適應單GPU 訓練的同時,有效提升了算法的抗干擾能力和泛化性。
(2) 使用CSPDarknet53 網絡結構,在網絡結構輕量化的同時保持了較好的算法性能。
(3) 使用FPN+PAN 的特征提取模塊提升算法特征提取能力。
(4) 損失函數采用CIOU Loss,非極大值抑制算法使用DIOU NMS。能夠有效提升算法對小尺寸、重疊目標的檢測性能。
自首次使用SE 模塊的SENet[5]問世并取得成功,研究人員對于注意力機制的研究熱潮便從未停止,空間域注意力機制、通道域注意力機制以及混合域注意力機制等領域的研究成果層出,并在多種領域得到應用。
SE 模塊可以學習輸入信息不同通道特征的重要程度,進而提升模型對通道維度特征的關注度,使目標檢測性能得到提升;CBAM[6](Convolutional Block Att-ention Module)在SE 模塊基礎上,通過結合空間和通道兩個維度的注意力機制,解決了關注什么特征以及哪里的特征更有意義的問題,從而取得了更好的效果。
為了解決復雜模型容易過擬合的現象,Cao[7]等人提出DO_Conv,(深度超參數化卷積, Depthwise Over parameterized Convolut-ional Layer)。DO_Conv 在普通卷積層中添加深度增強卷積層,同時使用不同的二維卷積核在每個通道中完成卷積計算,通過增加模型可學習參數量的方式構成超參數。在模型推理階段,DO_Conv 被轉換為普通卷積,因此這種方式不會增加模型推理中的計算復雜度。實驗證明,使用DO_Conv 可以在加快模型訓練速度的同時獲得比傳統(tǒng)卷積層更好的效果。
(1) 注意力機制對比實驗
以YOLOv4 算法為基礎,使用多尺度訓練和fp_16訓練策略進行模型訓練,分別嵌入SE 模塊和CBAM 模塊并在實驗數據集中訓練檢測,比較不同算法的各項檢測指標來衡量模塊性能優(yōu)勢。不同算法在兩個數據集的預測結果例圖分別如圖1(左列為高分橋梁數據集,右列為DOTA 橋梁數據集。目標漏檢用綠框標識,目標誤檢用紅×標識),表1 通過實驗結果評價指標詳細對比了各種算法的檢測結果。
表1 嵌入注意力機制的算法檢測結果
圖1 注意力機制對比實驗例圖
(1) 實驗平臺:基于Win 10 操作系統(tǒng),選取NVIDIA 3090 顯卡,顯存24 GB,在CUDA 加速下完成模型訓練檢測。使用Pytorch 深度學習框架,python 版本為3.8.4。
(2) 實驗數據集:第一個數據集為高分橋梁數據集[8],分辨率668-1 000,包含圖像2 000 幅;第二個數據集為DOTA 數據集,提取出包含橋梁的圖像并進行分割處理,獲取分辨率為1 000× 1 000 的圖像1 300 幅,構成DOTA 橋梁數據集。
實驗過程中,按照3:3:4 的比例劃分訓練集、驗證集和測試集,比較檢測結果評價指標來衡量算法性能。
(3) 模型訓練策略:采用多尺度訓練(將輸入圖像的尺寸設置為320×320 到608×608 不等,尺寸區(qū)間內隨機增加32 的整數倍,共計有10 類不同尺寸的輸入圖像)和fp_16 訓練策略[9]。
(4) 實驗結果評價指標:選取深度學習目標檢測中常用的查準率P(Precision)、召回率R(Recall)、平均準確率AP(Average Precision)、檢測速度FPS 以及模型平均訓練一批次所需時間T(Time)五項指標進行算法性能評估。
圖1 中三組實驗結果之間的區(qū)別不太明顯,從三組對比實驗例圖中粗略觀察較難發(fā)現明顯差異,但是可以看出嵌入SE 模塊算法的目標誤檢核和漏檢相對較少。檢測結果評價指標更加準確地展示了三組實驗的最終結果:嵌入CBAM 模塊小幅度提高了算法在高分橋梁數據集的檢測精度,但在DOTA 橋梁數據集中反而使算法檢測精度降低,而它對模型訓練時間的提升卻十分顯著;相比較而言,SE 模塊對模型訓練時間增加更少,降低算法檢測速度也更少,但能小幅度提升模型檢測準確率P 和召回率R,最終能夠獲得最大的精度提升(使高分橋梁數據集的AP 提升1.3% ,使DOTA 橋梁數據集的AP 提升1.4%)。實驗證明SE 模塊在遙感影像橋梁目標檢測中比CBAM 模塊更有優(yōu)勢,故選取SE 模塊作為注意力機制嵌入算法。
(2) 替換卷積層對比實驗
根據上部分實驗的結果選取SE 模塊作為注意力機制嵌入算法,在此基礎上,使用DO_Conv 替換算法原始卷積層,提出D-YOLO 算法,并與RetinaNet、YOLOv3、CenterNet 等經典單階段目標檢測算法進行對比實驗。按照實驗設置分別在兩個數據集中進行算法訓練檢測,不同算法在兩個數據集的目標檢測結果示例如圖2 所示,表2 中各項實驗結果評價指標詳細展示了不同算法之間的性能差異。
表2 替換卷積層前后算法與其他單階段目標檢測算法檢測結果對比
圖2 替換卷積層前后算法與其他單階段目標檢測算法檢測結果例圖(第一行為高分橋梁數據集,第二行為DOTA橋梁數據集)
從圖2 可以看出,RetinaNet 算法不存在誤檢,但漏檢嚴重;YOLOv3 算法和CenterNet 算法的誤檢和漏檢現象較為均衡;YOLOv4+SE 算法漏檢和誤檢相對更少,而D-YOLO 算法漏檢和誤檢最少,整體表現更好。進一步對比表2 中各項檢測結果評價指標可以發(fā)現,RetinaNet 算法、YOLOv3 算法和CenterNet 算法均保持了極高的檢測準確率,但檢測召回率很低,因此算法AP 值較低;YOLOv4 改進算法在保持較高檢測準確性的同時,大幅提升了目標檢測召回率,使得算法AP 值有明顯提升。而在檢測效率方面,CenterNet 算法具有最高的檢測效率,其他幾種算法的檢測效率較為接近。
本文提出的D-YOLO 算法相比較其他三種經典單階段目標檢測算法有明顯優(yōu)勢,同時在實驗(1)基礎上進一步提升了算法的目標檢測精度,最終將YOLOv4 算法在兩個數據集中的AP 值分別提升2.1%和1.9%(從78.3%提升至80.4%、從65.3%提升至67.2%),有力證明了本文改進算法的有效性。
針對現有深度學習目標檢測算法在遙感影像橋梁目標檢測中檢測精度不足的缺陷,本文以YOLOv4 算法為基礎,通過嵌入注意力機制模塊以及替換卷積層的方式進行算法改進,并通過設計對比實驗驗證本文改進算法的有效性:實驗結果證明:
(1) 相比較與CBAM 模塊,SE 模塊在少量增加模型訓練成本的前提下,能夠獲得更高的算法檢測精度提升,更適宜在目標檢測算法中應用。
(2) DO_Conv 可以在不損失模型推理速度的同時有效提高算法對橋梁目標的檢測精度,相比較傳統(tǒng)卷積層具有一定的性能優(yōu)勢。