曾莉
(重慶師范大學計算機與信息科學學院,重慶 401331)
紫色土是重慶市分布面積最廣的旱地土壤類型,在重慶市糧、油、果、菜等產業發展中發揮著重要作用。不同土屬類別的紫色土的保水保肥力不同,全鉀、全磷、有機質以及速效養分的含量不同。所以,不同土屬類別的紫色土的宜種作物和施肥方案也不同。能正確識別土壤,使用土壤及實行配方施肥,對農業的發展起著重要作用。
傳統的土壤分類方法需要依靠專業人士或專門的設備。具有土壤的顏色、質地和結構等知識的專業人士辨識土壤類別的實時性高,卻存在一定的主觀性,對土壤研究越深,準確率越高,只有長期從事土壤類別研究的專家能達到準確分類的要求。專門的儀器測量土壤中的理化性狀(全氮、全磷、有機質、pH、物理粘粒含量、密度等)或光譜特征(反射光譜數據、近紅外光譜數據等),通過分析測量信息來進行土壤分類,其檢測行為需在實驗室進行且操作繁瑣耗時。
這些傳統的土壤分類方法不適合在田間工作的農業人員使用。在田間工作的農業人員需要的是一個易操作、實時性高的土壤分類解決方案。因此,學者們提出了運用圖像處理技術來處理土壤圖像,提取出土壤圖像有效特征來對土壤進行分類。K.Srunitha等人利用HSV顏色直方圖、低通濾波器和Gabor濾波器來提取土壤圖像的顏色特征和紋理特征,并用SVM對土壤圖像進行分類[1];Hement Kumar Sharma等人先通過濾波、銳化、去噪等操作增強圖像,然后利用小波變換、自相關性和HSV顏色直方圖提取圖像特征,用SVM對紅壤、黑土等大類土壤進行分類[2]。基于人工設計的紫色土圖像特征的描述能力有限,易導致紫色土圖像分類效果不佳。而卷積神經網絡(Convolutional Neural Network,CNN)不需要人工設計紫色土圖像特征,是自主地從訓練樣本中學習特征,并且特征學習與分類器聯系緊密,很好地解決了特征提取和分類器選擇的難題,在圖像分類任務中,能取得很好的效果[3]。
針對現有的 AlexNet[4]、VGG[5]、GoogleNet[6]、ResNet[7]等卷積神經網絡對紫色土圖像細粒度分類性能不夠好的問題,對ResNet50網絡結構進行優化,在最后一層卷積層后連接3層全連接層,加強模型的特征表達能力,用SeLU激活函數[8]替換ReLU激活函數,解決模型的零梯度問題,增加有效負值特征信息的學習,同時引入Dropout[9],避免過擬合現象;再引入遷移學習[10]方法,用ImageNet數據集訓練好的ResNet50網絡參數初始化優化后的ResNet50網絡的卷積層參數,然后用紫色土圖像數據集訓練網絡,微調網絡參數,從而提高紫色土圖像小樣本數據集細粒度分類準確率。
為了得到更好的紫色土圖像細粒度分類效果,對ResNet50網絡結構進行優化,在ResNet50網絡結構的最后一層卷積層后連接3層全連接層,引入Dropout,并用SeLU激活函數替換ReLU激活函數,同時引入遷移學習方法。
(1)激勵函數
全連接層里的激活函數通常運用ReLU激活函數,公式如下所示。

其中,當輸入特征大于零時,輸出等于輸入;當輸入特征小于零時,輸出為零。當用ReLU激活函數進行訓練時,將會丟棄對分類有用的負值特征。
針對上述ReLU的不足,SeLU激活函數[8]被用來解決有效負特征信息丟棄問題,公式如下所示。

其中,當輸入特征小于零時,得到一個較小斜率的函數。所以,SeLU激活函數保留了特征負值信息,增加了有效特征信息的學習。
(2)Dropout
當網絡較深而訓練樣本少時,訓練所得的網絡易產生過擬合現象。
Dropout是Hintion等人[9]提出的,將神經網絡單元依照一定的概率暫時從網絡中丟棄,其連接權重為0,如圖1所示。

圖1 Dropout
在CNN的每次訓練中,Dropout是隨機丟棄神經網絡單元的,即隨機忽略的隱含層節點都不相同,所以每次訓練的網絡結構都是不相同的,避免了僅在特殊條件下的某些特征,有效地防止過擬合現象。
在沒有足夠多訓練樣本的情況下,可能出現訓練困難、易過擬合的問題。遷移學習可解決小樣本分類問題[11],ImageNet數據集上訓練好的模型,在小樣本分類任務中共享模型結構和參數,在提高準確率的同時降低配置要求并減少了訓練時間。
為了解決紫色土圖像數據集小、網絡優化困難的問題,基于遷移學習理論,使用在ImageNet數據集上訓練好的 AlexNet、VGG16、Inception-v3、ResNet50 模型,將模型參數遷移至紫色土圖像分類模型中,即用ImageNet預訓練好的模型參數初始化紫色土圖像分類模型的卷積層參數,然后用紫色土圖像數據集訓練紫色土圖像分類模型,微調紫色土圖像分類模型參數,得到最終的紫色土圖像分類模型。
重慶市數字農業服務工程中心提供了在重慶市璧山區自然場景下拍攝的紫色土心土圖像數據集,包含了暗紫泥、棕紫泥、灰棕紫泥、紅棕紫泥4種土屬類別,部分樣本如圖2所示。

(a)暗紫泥土屬

(b)紅棕紫泥土屬

圖2 紫色土圖像
針對紫色土圖像數據集小的問題,對紫色土圖像數據集進行擴充。紫色土圖像數據集中的圖像大多為4608×3456像素。表土受苔蘚、雜草等因素影響,顏色不穩定,所以采用紫色土心土圖像來辨識紫色土土屬類別。在每張原始紫色土圖像中截取出2-10張224×224像素的僅包含心土部分的圖像,截取圖像不重疊,如圖3所示。紫色土圖像數據集擴充為970張。

圖3 截取心土部分
仿真實驗硬件環境為Intel Core i7-6700HQ CPU,Windows 10(64bit)操作系統,軟件環境為 Python 3.6,開源深度學習框架TensorFlow 1.11。
實驗評價標準為紫色土圖像測試集分類準確率(Accuracy),表示如下。

其中,M為測試集樣本總數,N為測試集中正確分類樣本數。
(1)基于人工設計特征的實驗
為了減少拍攝紫色土圖像時光照、遮擋等因素的差異對紫色土圖像分類的影響,選擇適合的顏色空間來描述顏色特征是必要的。

圖4 RGB顏色空間

圖5 HSV顏色空間
圖4為RGB顏色空間下的紫色土圖像,圖5為HSV顏色空間下的同一幅紫色土圖像。圖4(b)-(g)為在RGB顏色空間中,紫色土圖像的R、G、B分量圖及各分量對應直方圖。圖5(b)-(g)為在HSV顏色空間中,紫色土圖像的H、S、V分量圖及各分量對應直方圖。
從圖4(e)中可以看出,在RGB顏色空間中,紫色土圖像的R分量直方圖有兩個波峰,說明紫色土圖像的R分量的像素值明顯地分為了受遮擋和不受遮擋兩個部分;如圖4(b)所示,從紫色土圖像的R分量圖中也可以直觀地看出紫色土圖像的R分量受光照和遮擋影響大。同理,紫色土圖像的G分量和B分量受光照和遮擋的影響大。因此,不在RGB顏色空間下提取紫色土圖像的顏色特征。然而,在HSV顏色空間中,紫色土圖像的H分量直方圖只有一個波峰,說明紫色土圖像的H分量的像素值匯聚在一定范圍內,并沒有明顯地分為受遮擋和不受遮擋兩部分;如圖5(b)所示,從紫色土圖像的H分量圖中也可以直觀地看出紫色土圖像的H分量受光照和遮擋影響小。同理,紫色土圖像的S分量也受光照和遮擋影響小。因此,在HSV顏色空間中提取紫色土圖像的顏色特征。
實驗對不同的基于人工設計的圖像特征,分別用SVM分類器(rbf核函數),調節最佳參數,分類準確率見表1。

表1 人工設計特征分類準確率
由表1可知,基于H分量直方圖的分類效果較好,準確率為70.8%;基于HS分量直方圖的分類效果最好,準確率為74.2%,提高了3.4%。分類效果的好壞很大程度上取決于人工設計特征的有效性。而基于人工設計的紫色土圖像特征存在一定的局限性,易導致紫色土圖像分類效果不佳。
(2)基于CNN的實驗
在 AlexNet、VGG16、Inception-v3、ResNet50 網絡的最后一層卷積層后連接3層全連接神經網絡。為了避免模型過擬合,在全連接層加入選取閾值為0.5的Dropout層。然后使用在ImageNet數據集上預訓練好的 AlexNet、VGG16、Inception-v3、ResNet50 網絡參數初始化紫色土圖像分類模型的卷積層參數,然后訓練模型,微調模型參數,對紫色土圖像分類的準確率如表2所示。

表2 CNN分類準確率
結果表明,ResNet50網絡對紫色土圖像分類效果最好。ResNet用殘差連接結構解決了深層網絡難以訓練的問題,增加網絡的深度和性能,能夠獲得包含更豐富且表達力更強的特征。
(3)基于ResNet50的實驗
在上述的ResNet50網絡的基礎上,用SeLU激活函數替換ReLU激活函數,對紫色土圖像分類的準確率如表3所示。

表3 ResNet50分類準確率
實驗結果表明,SeLU激活函數學習了特征中的有效負值信息,提高了ResNet50網絡對紫色土圖像分類的準確率。
基于ResNet50的紫色土圖像分類研究,對ResNet50模型結構進行優化,在最后一層卷積層后連接3層全連接層,增強模型的特征表達能力,用SeLU激活函數替換ReLU激活函數,增加有效負值特征信息的學習,并加入Dropout層,避免過擬合現象;引入遷移學習方法,用ImageNet數據集訓練好的ResNet50網絡參數初始化優化后的ResNet50網絡的卷積層參數,然后用紫色土圖像數據集訓練網絡模型,微調網絡參數,得到最終的紫色土圖像分類模型,提高了紫色土圖像分類的準確率和效率。通過實驗與分析,基于ResNet50的紫色土圖像分類效果要優于基于人工設計特征進行紫色土圖像分類的效果,提出的基于ResNet50的紫色土圖像分類模型為開發基于移動終端的紫色土土屬類別識別系統提供模型支持。