程 坤,張 斌,郭 新
(1.中國地質大學(武漢)地理與信息工程學院,湖北 武漢 430074;2.武漢工程大學 計算機科學與工程學院,湖北 武漢 430205)
在農業(yè)領域,地下水豐富或地表水稀缺地區(qū)的農田可以嘗試軸心灌溉方式,其主要工作原理為:抽取地下水并圍繞軸心旋轉澆灌植被。軸心灌溉方式能較大程度地節(jié)約灌溉用水和勞動力成本,目前在許多國家和地區(qū)如沙特阿拉伯、美國和中國的內蒙古黑龍江等地區(qū)得到廣泛應用。這種軸心灌溉農田在遙感影像上呈現(xiàn)為規(guī)則的圓形形狀,利用深度學習的目標檢測算法對其進行識別提取,可以為產量預測、資源分配、經(jīng)濟規(guī)劃、支持推廣等提供重要數(shù)據(jù)服務,具有極大的可行性和實用價值。
針對檢測網(wǎng)絡對于多尺度目標檢測能力較弱的問題,為了更充分地利用骨干網(wǎng)提取出的特征信息,特征金字塔(Feature Pyramid Network,F(xiàn)PN)將兩個相鄰特征圖進行組合連接來構建特征金字塔,生成的融合多尺度特征可以提升網(wǎng)絡對于小目標的檢測能力。在FPN 單向的自深到淺融合的基礎上,EfficientDet 正式構建了雙向特征金字塔BiFPN,雙向特征融合可有效提升小目標的檢測精度。
遙感影像上的目標大小極具變化性,為提高檢測模型對于多尺寸目標的檢測能力,首先使用特征提取能力更強的Resnet 作為改進的YOLOv3 的骨干網(wǎng)絡;其次構建雙向特征金字塔模塊,實現(xiàn)從深到淺和從淺到深的雙向融合,提升淺層預測分支的目標分類能力和深層預測分支的目標定位能力。同時,使用Dropblock 區(qū)域正則進行特征取舍,使網(wǎng)絡學習到更全面的目標特征,提高網(wǎng)絡模型的泛化能力。通過在公開遙感數(shù)據(jù)集HRRSD上的結果表明,改進后的模型在檢測精度上較原網(wǎng)絡獲得了較大提升,精度相對于原版YOLOv3 提高1.99%。在制作的西北地區(qū)圓形灌溉農田數(shù)據(jù)集RF上,可達94.84%的精度和42.2 f/s 的速度。
YOLO 系列是深度學習目標檢測中單階段模型的經(jīng)典代表,憑借著極快的檢測速度和不斷提高的檢測精度,得到了廣泛的研究和應用,最新發(fā)表的YOLOv4 也是在此基礎上添加或修改而底層邏輯不變,本研究綜合考慮模型的檢測速度和精度以及實驗的技術和條件,以YOLOv3為研究對象進行遙感影像的目標檢測。YOLOv3采用主流的設計模式,即由骨干網(wǎng)和檢測頭構建模型主體。骨干網(wǎng)是計算機視覺四大任務的基礎,一般是從圖像分類模型中遷移出來并經(jīng)過適當修改后在檢測任務中用作圖像特征提取器;檢測頭接收經(jīng)骨干網(wǎng)卷積產生的特征圖,經(jīng)過再提取和組合進行目標的定位與分類。
YOLOv3 網(wǎng)絡結構主要由骨干網(wǎng)、特征金字塔和檢測頭組成,如圖1 所示。原版YOLOv3 的骨干網(wǎng)是Darknet53,由五個卷積層組成,每次卷積后都會產生一個尺寸為原來1 2 的特征圖。后三個較深的特征圖將輸入給特征金字塔模塊進行上采樣、降維、連接等操作,生成包含多尺度特征信息的融合特征圖P1、P2、P3。最后三個尺度的融合特征圖輸入給檢測頭進行最后的大、中、小目標檢測。
圖1 YOLOv3 結構簡圖
本文將從骨干網(wǎng)和FPN 模塊進行改進,具體為用Resnet50 替換Darknet53;將原單向FPN 改進為雙向FPN;在FPN 模塊中應用Dropblock 區(qū)域正則。
Resnet 最大的貢獻是在網(wǎng)絡中加入殘差單元,使得有效訓練超深神經(jīng)網(wǎng)絡成為現(xiàn)實,特征提取能力大大增強,極大提升了模型性能。在Resnet 眾多變體中,Resnet-C 與Resnet-D 分別通過改進卷積核大小和改進殘差結構,有效地減小了計算量和避免了信息的大量流失,同時參數(shù)量和計算量與Resnet 幾乎一致。
為了提高對復雜遙感影像目標特征的提取能力,使用Resnet 替代Darknet53 作為骨干網(wǎng)絡。同時,為了平衡檢測精度與速度優(yōu)勢,結合C、D 兩種改進得到的Resnet50_N 作為骨干網(wǎng)。
YOLOv3 吸收了特征金字塔網(wǎng)絡FPN 的思想,在三個尺度預測分支上進行了特征融合以提高小目標檢測能力,但其僅包含單向的從深層到淺層的特征融合過程,僅為淺層特征提供了語義增強,而忽略了深層特征對于上下文信息的缺失。深層特征由于經(jīng)過很深的卷積操作,如32 倍下采樣必將導致特征圖中丟失大量的細節(jié)信息,難以滿足精確目標定位任務的需求。本文通過改進原有FPN 結構,構建雙向特征金字塔結構如圖2 所示,實現(xiàn)淺、深層特征的雙向融合,提升網(wǎng)絡目標檢測的能力。
圖2 雙向特征金字塔
如圖2 所示,concat 是將兩個特征張量拼接在一起的一種算法,在這里即是將兩個特征圖拼接得到雙向融合特征。DBL 表示將特征圖流經(jīng)卷積層D、批歸一化層B 和激活層L 循環(huán)處理,該結構可以充分增加網(wǎng)絡對于非線性特征的表達能力。上采樣層保持不變,具體做法是先將特征維度降到原來的1 2,同時對變換后的特征進行上采樣,即將特征圖譜的尺寸放大一倍。圖2 粗線表示新增的下采樣操作,保持輸入特征圖維度不變,將尺寸下采樣為原尺寸的1 2,進而與原特征圖Feature map1、Feature map2、Feature map3 和上采樣特征圖進行concat 連接產生融合特征圖P1、P2、P3。
改進的雙向特征金字塔形成了從深到淺和從淺到深的雙向特征融合,既可以將深層特征中強語義信息融入到淺層特征中,提升網(wǎng)絡對淺層較小目標的分類能力;又可以將淺層特征中豐富的上下文細節(jié)信息融入到深層特征中,提升網(wǎng)絡對深層較大目標的定位能力。
為了緩解模型的過擬合問題,提出Dropout 算法,在每一次迭代訓練過程中隨機將神經(jīng)元變量置為空,原理類似于正則化,可以比較有效地緩解過擬合現(xiàn)象。但在實際應用中它在卷積層使用時效果非常有限。這是因為卷積層產生的特征圖的相鄰神經(jīng)單元是對上一層同一局部信息的抽象,具有十分相近的語義信息,這樣即使Dropout 掉某些單元,但其相鄰單元擁有同樣語義信息,網(wǎng)絡仍然會學習到同樣的特征,即沒有起到正則化作用。因此針對卷積層的正則化,Ghiasi 在2018 年提出了Dropblock,將特征圖上相鄰的整片區(qū)域單元放在一起隨機丟棄,例如隨機刪除了目標頭部的區(qū)域特征,網(wǎng)絡就會注重學習目標其他部位的特征,使檢測模型學習到更全面的目標特征,對檢測效果的提升非常明顯。
在改進時根據(jù)YOLOv4 等應用Dropblock 的經(jīng)驗,閾值概率隨著訓練進行從1 線性降低到0.9,丟棄的區(qū)域大小設置為3,為避免增大計算負擔,添加的位置只是在特征金字塔每個分支的第一層卷積。
實驗數(shù)據(jù)使用兩套數(shù)據(jù)集:
其一是中國科學院公開的高分辨率遙感檢測數(shù)據(jù)集HRRSD,類別數(shù)為13,圖像總數(shù)為21 761,共計4 萬個目標對象,各類樣本平衡,屬于較大數(shù)據(jù)集。實驗中隨機分成訓練驗證集14 362 張和測試集7 399 張。
另一套數(shù)據(jù)集是利用內蒙古地區(qū)遙感圖像制作的VOC 格式的圓形農田(Round Farm,RF)數(shù)據(jù)集,該數(shù)據(jù)集取材于LocalSpaceViewer,選取339 張不同天氣情況、不同地區(qū)的圓形噴灌農田遙感影像,分辨率均為1 100×892。以遙感影像中的圓形農田為目標,使用LableImg工具進行標注。劃分訓練驗證集223張,測試集116張。
超參數(shù)與凍結微調:在模型訓練的前1 000 次迭代采用學習率預熱方式,從0 增大到0.001。預訓練權重使用在ImageNet 上訓練好的相應骨干網(wǎng)的參數(shù)為模型特征提取網(wǎng)絡的初始化參數(shù)。對于較大規(guī)模的HRRSD數(shù)據(jù)集,訓練39 輪,batchsize 設為8,因數(shù)據(jù)集本身較大、類別豐富且目標均衡,故無需數(shù)據(jù)增強,也無需凍結預訓練權重,初始化參數(shù)全部參與迭代更新。對于小規(guī)模的RF 數(shù)據(jù)集,訓練251 輪,batchsize 設為8,同樣采用學習率預熱方式從0 增大到0.000 25。因RF 數(shù)據(jù)集本身較小且類別單一,所以需要進行數(shù)據(jù)增強以及凍結預訓練權重。
精度評價指標:實驗主要采用平均精度(Average Precision,AP)和總體平均精度(Mean Average Precision,mAP)作為實驗結果評價標準。其中AP 值由精確率和召回率組成的平滑曲線與坐標軸所圍成面積計算得到,mAP 即數(shù)據(jù)集中各個類別的AP 加和后除以類別數(shù)。
實驗分別使用公開的大型遙感數(shù)據(jù)集HRRSD 和制作的圓形農田數(shù)據(jù)集RF 訓練和測試模型,首先基于原版YOLOv3(Darknet53)得到基線mAP,然后改進骨干網(wǎng)為Resnet50,同時基于兩種骨干網(wǎng)各自分別測試雙向特征金字塔和Dropblock 的改進效果,最后得到最優(yōu)模型。
首先替換YOLO 模型的骨干網(wǎng),即用HRRSD 和RF數(shù)據(jù)集分別進行原版YOLOv3(Darknet53)、YOLOv3(Resnet50_N)的對比實驗。實驗結果如表1 所示,替換性能更強的骨干網(wǎng)后,兩套數(shù)據(jù)集的總體平均精度mAP分別提高0.33%和3.33%。這是因為Darknet53 的29 個3×3 卷積遠多于Resnet50 的20 個,其神經(jīng)元參數(shù)量相對非常多,這對于復雜特征的多目標檢測是有益的,而對本文圓形農田目標檢測而言其參數(shù)冗余,易產生過擬合現(xiàn)象,降低精度和訓練速度,所以出現(xiàn)在大型數(shù)據(jù)集上的精度方面二者差異不大,在小型數(shù)據(jù)集上明顯提高精度的結果。
其次進行雙向特征金字塔實驗,如表1 所示,對于不同骨干網(wǎng),使用雙向特征融合后較原模型檢測精度,HRRSD 分別提升0.45%和0.33%,RF 分別提升2.75%和2.03%。表明雙向特征金字塔有助于特征信息的充分利用,并穩(wěn)健地提升目標檢測精度,作為數(shù)據(jù)驅動的深度學習任務,改進模型對于大型數(shù)據(jù)集精度的提升通常是較為有限的,對于小型數(shù)據(jù)集如本文的RF 圓形農田數(shù)據(jù)集,精度提升比較明顯。
第三添加Dropblock 正則化,實驗結果如表1 所示,對于兩種不同骨干網(wǎng)添加Dropblock 后,較原模型檢測精度,HRRSD 分別提升0.46%和0.94%,RF 分別提升2.46%和4.18%。結果表明,無論是復雜特征還是單一特征的大型或小型數(shù)據(jù)集,通過應用Dropblock 使檢測模型學習到更魯棒、更全面的目標特征,對模型檢測性能的提升非常明顯且穩(wěn)定。
最后進行融合實驗,即以Resnet50_N 為骨干網(wǎng),改用雙向特征金字塔同時添加Dropblock。實驗結果如表1 所示,HRRSD 的檢測精度達到86.17%,RF的檢測精度達到94.70%??梢钥闯?,相對于YOLOv3(Resnet50_N+Dropblock)的精度反而降低了0.55%和0.14%。這是因為雙向特征融合過程本質是信息的相互補充,必然導致一定的特征冗余,這樣即使某些區(qū)域被隨機失活,也仍有類似補充信息因冗余而保留,限制了Dropblock 發(fā)揮應有的作用。因此雙向特征金字塔和卷積層的Dropblock 不應簡單疊加使用,需要更合理調整各自的應用位置。
表1 實驗結果
綜合考慮實驗方案的模型效果選定Resnet50_N+Dropblock 為最終改進方案,稱為RD_YOLOv3,在HRRSD 的測試集測得mAP 為86.72%,比原版YOLOv3提高1.27%,實際檢測效果如圖3 所示。
圖3 改進前后HRRSD 檢測結果
在RF的測試集測得mAP為94.84%,比原版YOLOv3提高7.51%,檢測速度方面可達到23 f/s,實際檢測效果如圖4 所示。
圖4 改進前后RF 檢測結果
本文基于YOLOv3,改進針對骨干網(wǎng)、特征金字塔和正則化方式,提出一種遙感影像目標的實時檢測算法RD_YOLOv3,同時制作遙感影像圓形農田目標的訓練與測試集。分析實驗結果,RD_YOLOv3 網(wǎng)絡對大型遙感影像數(shù)據(jù)集中復雜目標的檢測精度有明顯提升,證明了改進模型實現(xiàn)了檢測能力的提升。同時該模型對遙感影像中的圓形農田目標的識別精度可達94.84%,速度為42.2 f/s,驗證了YOLOv3 用于遙感影像中圓形農田目標檢測的可行性和高效性,為快速、高效、準確定位檢測和提取圓形農田完成第一步工作,繼而為相關地區(qū)的農業(yè)產量預測、資源分配、圓形軸心灌溉農業(yè)的支持推廣等提供重要數(shù)據(jù)服務。
最后,對于目前存在的數(shù)據(jù)集太小、小尺寸目標較少和模型改進不到位等問題,將會做如下工作:擴展數(shù)據(jù)集規(guī)模,豐富目標種類,平衡大、中、小目標數(shù)量;優(yōu)化網(wǎng)絡模型如改進損失函數(shù)、添加優(yōu)化策略等;在檢測的基礎上進行信息提取制圖,為進一步的農業(yè)實際應用提供參考。