邵霆嘯,孟海濤,趙博文
(1.鹽城工學院 機械工程學院;2.鹽城工學院 信息工程學院,江蘇 鹽城 224002)
為實現對農田的有效識別[1],需要采用圖像分割方法。根據是否引入深度神經網絡,可分為傳統圖像分割方法以及基于深度學習的圖像分割方法。傳統圖像分割方法主要包括基于閾值的圖像分割方法[2]、基于邊緣的圖像分割方法[3]、基于區域的圖像分割方法[4]、基于聚類的圖像分割方法[5]、基于圖論的分割方法[6]等;基于深度學習的圖像分割方法包括語義分割、全連接網絡等[7]。在傳統圖像分割領域,唐晶磊等[8]利用基于模糊聚類的圖像分割方法對農田對象(主要針對植物類型和土壤類型)進行識別,識別率可分別達到92.5%和95.6%,但是無法確定識別的對象是否處于農田之中;陳伊哲等[9]采用基于邊緣和基于區域的兩種圖像分割方法對農田圖像進行實驗處理,結果表明,采用微分算子的圖像分割算法可以有效地對農田邊界進行識別,但存在放大噪聲的干擾。在基于深度學習的圖像分割領域,楊亞男等[10]將全連接網絡FCN-8s 模型與DenseCRF 模型相結合應用于梯田識別,實驗結果表明,該方法對于山脊區梯田、密集區梯田以及不規則形狀梯田的識別率為86.85%,識別精度有待提高。
針對上述存在的識別區域不明顯及識別精度不高等問題,本文提出一種改進的ResNet 農田識別方法,提升了模型識別精度,實現了對農田的高效識別。
卷積神經網絡已被廣泛應用于圖像分類、目標檢測等領域。He 等[11]在2015 年提出殘差網絡的概念,殘差網絡是由一系列殘差塊構成的。殘差塊結構[12]如圖1所示。
殘差塊的核心思想是“shortcut connection”[13],即為捷徑連接的方式。ResNet 殘差塊經過跨層連接操作[14]之后,假設H(x)是神經網絡的輸出,則變成了對F(x)=H(x)-x殘差函數的學習與優化,從而有效避免了梯度爆炸或梯度消失現象,且在反向傳播過程中會一直保持一個較大的值,以方便優化,可達到更好的分類識別效果。

Fig.1 Residual block structure圖1 殘差塊結構
在ResNet 系列中,ResNet18 擁有較少的參數。考慮到模型的性能,本文選取ResNet18[15]作為基礎網絡模型。ResNet18模型結構如圖2所示。

Fig.2 ResNet18 model structure圖2 ResNet18模型結構
1.2.1 注意力機制
本文為模型引入通道注意力機制[16],該注意力機制可調整每個通道的權重,幫助模型捕獲到對識別任務更有幫助的語義信息,增強有用信息,降低噪聲等干擾元素的權重,減弱其對模型識別的負面影響,增強卷積神經網絡的表達能力,最終達到提高模型識別性能的目的。通道注意力機制單元結構如圖3所示。

Fig.3 Channel attention mechanism unit structure圖3 通道注意力機制單元結構
如圖3 所示,輸入一個特征層X,其通道數為C1,經過注意力機制后得到一個通道數為C2的特征層U,其中只有特征圖之間的權重比發生了變化,激勵了有用的特征通道。與傳統的神經網絡不同,需要通過以下3 個操作[17]重新標定前面得到的特征,步驟如下:
(1)第一步為擠壓(Fsq)操作,通過全局平均池化算法(Global Avg Pooling)將W × H × C2的輸入轉化為1 × 1 × C2的輸出。
(2)第二步為激勵(Feq)操作,即在上一步得到的全局信息中插入一個全連接層接上ReLu 激活函數,以及一個全連接層接上Sigmoid 函數。這兩個全連接層的作用就是對各個通道的特征圖信息進行融合,最后進入到Sigmoid函數,將輸出映射到0~1 之間,給每個通道分別生成不同的權值。
(3)第三步為縮放(Fscale)操作,將第二步中得到的權值與原特征層U 相乘,最后得到新的帶有注意力機制的特征層X1。
1.2.2 Silu激活函數
本文提出一種新的激活函數Silu(Sigmoid Weighted Liner Unit)代替基礎網絡模型中的Relu 激活函數。Silu 及其一階導數的計算公式如下:
如圖4 所示(彩圖掃OSID 碼可見,下同),當輸入值大于0 時,Silu 與Relu 激活函數大致相等。如圖5 所示,與Relu 激活函數不同的地方在于,Silu 激活函數并不是單調增加的,而是具有平滑、非單調的特性,具有更強的穩定性,可以提高整個網絡的性能。與Relu 相比,對Silu 激活函數求導后,導數為0 的全局最小值在權重上可起到“軟調節”的作用,可以抑制大權值的更新[18],從而有效避免梯度爆炸或梯度消失現象。

Fig.4 Relu and Silu activation function圖4 Relu與Silu激活函數

Fig.5 Relu and Silu first -order guide圖5 Relu與Silu一階導數
圖6 顯示了原始殘差塊細節和改進殘差塊細節,其中Conv1d 表示卷積層,BN 表示加速網絡收斂速度的批處理歸一化,“+”是求和運算。

Fig.6 Primitive residual block and improved residual block details圖6 原始殘差塊與改進殘差塊細節
圖6(a)顯示了原始殘差塊細節,圖6(b)顯示了本文改進之后的殘差塊細節。改進主要包含兩方面:一是加入注意力機制;二是將殘差網絡中的Relu 激活函數替換為Silu激活函數。
本文所改進的深度學習網絡模型以ResNet18 為基礎,引入通道注意力機制,并且將原網絡模型中的Relu 激活函數替換為Silu激活函數。改進模型整體架構如圖7所示。
本文采用標簽平滑的交叉熵函數[19],其曲線平滑,易于求導且梯度穩定,使網絡具有更好的泛化性,避免了對正確標簽的過度相信,能有效提高圖像分類識別的準確性。具體公式如下:
其中,h表示具體任務中的分類數,y表示h類別組成的h維矩陣,ε表示平滑因子,y′表示標簽平滑后的h類別組成的h維矩陣。
要優化深度學習模型的收斂效果,可以使用梯度下降算法,根據epoch 的不斷變化來調整學習率,從而達到優化損失函數的目的。Hutter 等提出帶熱重啟的隨機梯度下降算 法(Stochastic GradientDescent with warm Restarts,SGDR)[20],以一種周期性調整學習率的方法,周期性地增大學習率,以達到學習率跳躍式增加,實現由局部最優解到達全局最優解的目的。本文使用PyTorch 框架下的余弦退火衰減算法[21],使學習率根據余弦函數的特點進行周期性變化。本文設置的初始最小學習率為0.005,當總epoch為50時,學習率變化曲線如圖8所示。

Fig.7 Overall architecture of the proposed model圖7 改進模型整體架構

Fig.8 Learning rate changing curve圖8 學習率變化曲線
本實驗以PyTorch 深度學習框架為平臺,計算機操作系統為Windows 10,CPU 為AMD Ryzen 51500X@3.50GHz×4CPUs,GPU 為NVIDIA 2080Ti,CUDA 版本為10.1,Python版本為3.7,PyTorch 版本為1.7.0。
圖像數據集源于武漢大學和華中科技大學公開的數據集AID[22],分為農田、建筑、裸地、草地、荒漠5 個類別(每類2 400 幅)共12 000 幅圖像。每類選取1 920 幅圖像作為訓練集,剩余480幅作為測試集。
取每個類別的識別準確率(Accuracy)作為評價指標,通過計算每個類別的識別正確數量占該類別總數量的比率,得到每類圖片的識別準確率,可表示為:
在神經網絡的訓練中,參數設置會直接影響算法的最終檢測效果。本文通過將ResNet18、AlexNet、VGG16 進行對比,以證明ResNet18 網絡的優越性。因此,采用ResNet18 作為基礎網絡進行圖像的分類識別。然后對基礎網絡進行改進,分別使用不同的網絡結構及網絡訓練策略,共完成5 組實驗。第一組添加了注意力機制(ResNet18+Se),第二組采用Silu 激活函數(ResNet18+Silu),第三組采用標簽平滑的訓練方式(ResNet18+Lsr),第四組采用余弦退火學習率衰減算法(ResNet18+Cos),第五組將前四組的方法進行綜合使用(ResNet18+Se+Silu+Lsr+Cos),batchsize 為16,共50 個epoch。訓練的損失值曲線如圖9 所示,不同算法的準確率曲線如圖10 所示,實驗結果如表1所示。

Fig.9 Loss curve圖9 損失值曲線

Fig.10 Accuracy curve圖10 準確率曲線

Table 1 Experiment result表1 實驗結果
從表1 中可以發現,AlexNet 算法的準確率為94.33%,VGG16 算法的準確率為93.88%,ResNet18 算法的準確率為95.12%,證明了ResNet18 算法優于AlexNet 和VGG16。因此,本文選取ResNet18 作為基礎網絡主干進行改進。在網絡結構方面,加入注意力機制后,ResNet18+Se 算法的準確率為96.01%,上升了0.89%;結合Silu 激活函數,ResNet18+Silu 算法的準確率為96.61%,上升了1.49%,表明更換了激活函數后,圖像分類識別的準確率有明顯提升。在網絡訓練策略方面,結合標簽平滑,ResNet18+Lsr算法的準確率為96.43%;結合余弦退火衰減學習率,ResNet18+Cos 算法的準確率為98.27%。本文將以上算法進行綜合,得到ResNet18+Se+Silu+Lsr+Cos 算法的準確率為98.92%,上升了3.8%,證明了改進算法的優越性。
本文基于ResNet18 網絡,提出一種改進殘差網絡的圖像分類及農田識別算法。在網絡結構方面加入通道注意力機制,并且采用Silu 激活函數,提升了準確率;在網絡訓練策略方面,加入標簽平滑和余弦退火算法,使模型的收斂效果得到增強。實驗結果表明,在圖像分類及農田識別任務中,該模型的準確率達到98.92%,相比原殘差網絡(ResNet18)的準確率提升了3.8%,能夠很好地完成任務,有效地為農機自動化作業提供環境數據。