李 昊,王 斌,2
1(南京財經大學 信息工程學院,南京 210023)
2(智能機器人湖北省重點實驗室(武漢工程大學),武漢 430205)
農作物在生長過程中,容易遭受細菌、真菌、害蟲等的侵害,感染各種疾病,從而極大的影響了農作物的產量和品質. 比如深受人們喜愛的蘋果,常患的葉片疾病有斑點落葉病、灰斑病和銹病等[1](如圖1 所示).如何有效的防控農作物病蟲害,是農林業研究領域和業界的一個普遍關注的問題.

圖1 遭受不同病害的葉片病斑圖像
防控農作物病害首先要對病害類型進行準確的識別,由于農作物患病會在葉片部位留下明顯的病斑(如圖1 所示),葉片的病斑視覺表征常作為區分不同病害類型的重要依據.
通過觀察葉片的病斑來確定病害類型,需要專業的知識,但是我國植保專家數量有限,人工識別成本高昂,并不適合一般的農民. 而且有些類型病害的病斑比較相似,人眼很難區分,誤判率較高,所以迫切需要一種能夠自動、快速、準確識別葉片病害的方法. 近些年來,研發基于計算機視覺和圖像處理技術的農作物病害自動識別系統,成為了人工智能應用研究的一個熱點.
在傳統的病害圖像識別方法中,特征的提取主要依賴于手工設計的特征提取器,通過提取病害圖像的顏色、紋理、幾何形狀、空間關系等特征來進行病害識別. 這種方法不需要強大的硬件設備支持,在小樣本數據集上可以取得不錯的識別效果,但是大多都需要復雜的特征工程,因此費時費力,而且模型的魯棒性一般較差.
近年來,由于大量數據的易于獲取和計算機硬件性能的提升,深度學習技術贏得了廣泛的關注和大量的應用. 與傳統方法不同,深度學習方法可以自動的提取特征,在大量數據的驅動下,深層的網絡可以提取到病害圖像更深層的特征表示,模型的識別效果和泛化能力更好. 所以許多研究者聚焦于用深度學習技術解決葉片病害圖像識別問題,取得了很好的識別效果. 尤其是深度卷積神經網絡(如 LeNet-5[2]、AlexNet[3]、VGGNet[4]、GoogLeNet[5]、ResNet[6]、DenseNet[7]等)在病害圖像識別上效果上,相較于傳統的方法,取得了顯著的提升.
雖然也有許多深度學習方法應用于農作物葉片的病害識別,但現有的方法都是基于單一網絡的深度特征表示,而不同的深度網絡模型,對圖像的表征能力的互補性,這一有用的特性,沒有得到關注和研究. 為進一步提升病害識別的準確率,本文提出了一種用于融合不同種深度特征的網絡模型MDFF-Net. MDFFNet 將兩個預訓練的深度網絡模型進行并聯,再為各個模型分別設置一個具有相同神經元個數的全連接層,以將不同深度模型輸出的深度特征變換成相同維度的特征,實現它們的相加融合,再通過2 個全連接層的非線性變換,進一步提升特征融合的效果. 雖然已有研究對不同網絡模型進行融合的工作[8],但該類融合僅限于用不同深度特征訓練的分類器的分類結果的融合,并不產生融合的深度特征. 而本文首次提出將不同的深度網絡模型進行連接,在模型訓練中,對不同網絡產生的深度特征進行融合,最后得到一個能夠提取融合的深度特征的網絡模型. 在我們的實驗測試中,用該模型進行蘋果病害識別,取得了比用單一的深度網絡模型更高的識別準確率.
基于計算機視覺的病害自動識別的相關研究,在國內外已有大量的報道. 現有的方法大體可以分為利用傳統方法手工提取特征和利用深度學習自動提取特征兩類.
在傳統手工提取特征研究工作中,研究者通過設計特征提取器來提取病害葉片的一些形態學特征進行識別. 張云龍等人[9]提出了一種基于顏色特征和差直方圖的蘋果病害識別方法,首先分割出病害圖像的病斑,然后通過計算病斑的顏色特征和差直方圖作為分類特征,最后用SVM 進行分類,識別率達到96%以上.針對復雜背景下的蘋果葉片分割問題,張善文等人[10]提出了一種基于改進的K-means 聚類的蘋果葉片病斑分割算法. 通過使用快速全局K 中值聚類,解決了經典K 均值聚類算法的初始聚類中心點隨機選擇而導致聚類結果可能不正確、算法費時等問題,并消除了噪聲對聚類結果的影響. 試驗結果表明,本研究提出的方法提高了蘋果病害葉片圖像分割的準確性,能夠有效、快速地發現并診斷蘋果病害. 李超等人[11]提出了一種基于特征融合與局部判別映射的病害識別方法.在該方法中,設計了一種ACS-LBP 病害葉片圖像分割和病斑圖像紋理特征提取方法,再融合了病斑圖像的形狀和顏色特征,再在LPP 和SLPP 算法的基礎上,提出了LDP 方法,由此對病斑圖像的分類特征向量進行維數約簡,最后利用SVM 進行病害識別. 試驗結果表明,本研究所提出方法有效. 師韻等人[12]提出了一種基于二維子空間學習維數約簡(2DSLDR)的蘋果病害識別方法,首先將樣本圖像從高維空間映射到低維空間,使得同類樣本特征距離更近,異類樣本更加遠離,從而得到最佳的分類特征,此方法對3 種常見蘋果病害葉片識別,達到90%以上的識別率.
利用深度學習方法進行病害識別可以自動提取特征,不需要像傳統方法那樣設計復雜的特征提取器,研究者使用經典的深度卷積神經網絡或者改進的網絡進行病害識別取得了很好的效果. 宋晨勇等人[13]利用改進的GoogLeNet 網絡模型對蘋果葉片病害進行識別,在減少inception 模塊數量的基礎上,增加網絡前段卷積層和池化層的數量,使模型的識別精度提高2.1%,達到98.4%,但模型參數僅為原模型的17.5%. 陸仲達等人[14]針對復雜背景和病斑相似性的影響,提出了一種雙分支網絡(DBNet)用于蘋果葉片病害識別. 該方法將病害圖像的多尺度特征和多維注意力特征進行融合,在蘋果病害圖像庫上的識別效果優于傳統的卷積神經網絡. 為了解決葉片病害圖像中病斑較小而不易識別的問題,鮑文霞等人[15]將選擇性核(SK)卷積模塊加入到VGG16 網絡模型中,使用全局平均池化代替全連接層,利用遷移學習進行模型訓練,實驗結果表明該網絡有效提高了對微小病斑的識別能力,同時加快了網絡模型的收斂速度. 孫俊等人[16]針對卷積神經網絡參數龐大,模型收斂速度慢的問題,提出了一種將批歸一化和全局池化相結合的網絡模型,在包含多種植物和病害的公開數據集上進行實驗,取得了較高的識別率且模型具有較強的魯棒性. Mohanty 等人[17]在含有14 種作物及26 種疾病共54 306 張圖片的Plant Village數據集上進行實驗,利用深度卷積網絡模型和遷移學習策略進行實驗,最終取得了99.35%的識別率. Ferentinos等人[18]利用一個含有87 848 張植物病害圖片的公開數據集,其中包括25 種植物的58 個不同類別,數據庫包括實驗室和室外拍攝的病害圖片,利用深度學習網絡進行實驗,其中VGG 網絡結構達到了99.53%的識別率. Geetharamani 等人[19]構造了一個9 層的卷積神經網絡,使用了6 種數據增強方法和遷移學習策略,對一個公開的病害圖像庫進行識別,達到了96.46%的識別率,而且證明了數據增強可以提高模型的性能.Karthik 等人[20]提出了兩種檢測番茄葉片病害的深層網絡結構. 一種是利用殘差網絡來學習特征進行分類,另一種在殘差網絡的基礎上加上注意力機制. 實驗表明,添加注意力機制的殘差網絡在包含3 種番茄疾病的數據集上進行5 折交叉驗證,最終達到了98%的準確率.
VGG-16[4]的基本網絡模型如圖2 所示,VGG-16結構比較簡單,整個網絡都使用了相同大小的卷積核尺寸(3×3)和最大池化尺寸(2×2),通過反復堆疊3×3 的卷積核和2×2 的最大池化層構成. VGG-16 擁有5 個卷積模塊,每個卷積模塊內有2–3 個卷積層,在每一個卷積模塊的尾部連接一個最大池化層,用來縮小圖片. VGG-16 網絡的最后連接兩個神經元數量為4 096 的全連接層和Softmax 分類層.

圖2 用于蘋果葉片疾病分類的VGG-16 網絡模型
相較于單獨使用一個較大的卷積核,VGG-16 選擇多個較小的卷積核串聯,網絡會擁有更少的參數量,同時會比單獨一個卷積層擁有更多的非線性變換. 因為VGG-16 網絡的優勢,許多網絡選擇VGG-16 來作為特征提取器.
隨著網絡深度的增加,會出現一種退化現象,也就是當網絡越來越深的時候,模型訓練的準確率趨于穩定,但是訓練誤差突然變大,這就是出現了梯度消失問題,ResNet 就是為了解決這個問題[6]. ResNet 不是通過疊加網絡層數來擬合期望的特征映射,而是通過引入殘差塊來擬合一個殘差映射,如圖3. 圖3(a)是ResNet-34網絡結構里的殘差塊,圖3(b)是ResNet-50/101/152 網絡結構里的殘差塊.

圖3 兩層及3 層的ResNet 殘差學習模塊
殘差網絡實際是由多個淺層網絡融合而成的,與普通網絡不同的地方就是引入了跳躍連接,也就是恒等映射(identity mapping),這樣在訓練深層網絡的時候,避免了梯度消失的問題,加速了網絡收斂.
不同的深度卷積神經網絡的結構設計原理有所不同,各個網絡在不同的病害識別任務上的優勢也不一樣. 那么,將不同的網絡提取到的深度特征融合在一起是否能得到更好的葉片病害特征表達? 為探究此問題,本文提出了MDFF-Net 網絡,用于對不同類型的深度特征進行有效的融合,其網絡結構如圖4 所示.
MDFF-Net 網絡由特征提取層、特征融合層、全連接層和分類層構成.
特征提取層由兩個不同的預訓練深度卷積神經網絡并聯而成,這些網絡都在ImageNet 圖像數據庫上進行了預訓練,作為特征提取器用來提取深度特征.MDFF-Net 網絡將預訓練網絡的參數凍結,并使用各自網絡的分類層的前一層作為特征表示. 將圖像分別輸入預訓練特征提取網絡模型,將分別得到對應的特征向量.
特征融合層將提取到的兩個特征向量映射到相同的維度,然后對兩個同維的特征向量進行Add 操作. 這里,我們為每一個模型附設了一個具有相同神經元個數的全連接層(如圖4 中的兩個紅的實線框),采用ReLU 函數作為激活函數,以實現將兩個不同長度的特征向量變換成兩個相同長度的特征向量,分別記為fa和fb,這里Add 操作定義為:

圖4 本文提出的用于融合兩個預訓練模型深度特征的MDFF-Net 網絡結構圖

其中,fab是融合后的特征向量,n代表融合后特征向量的維度.
然后將融合后的特征向量連接兩個全連接層,用來進一步融合特征,為了避免過擬合,這兩個全連接層后均加上dropout 正則化策略,最后連接一個Softmax分類層來進行分類.
模型訓練時,每張圖片都是同時送入兩個特征提取層,特征提取層使用的是預訓練網絡中的參數,訓練時固定不變,需要訓練的參數是將不同網絡中提取到的特征映射到相同維數的層(即圖4 中的特征融合層)以及全連接層.
在蘋果葉片病害識別實驗中,我們選取VGG-16和ResNet-50 分別作為預訓練網絡Model A 和Model B 來提取特征. ResNet-50 網絡去掉最后的Softmax 分類層,將前一層的輸出作為提取到的特征向量,維度為2 048. 將VGG-16 網絡分類層的前一層作為特征向量,即fc7 層,其維度為4 096. 將這兩個特征向量分別映射到2 048 的維度,然后將兩個維度為2 048 的特征向量進行Add 操作,融合成一個新的維度為2 048 的特征向量. 然后連接兩個神經元個數為2 048 和512 的全連接層,最后使用Softmax 層對蘋果葉片病害種類進行預測.
實驗使用了公開的蘋果葉片病害數據集來驗證模型MDFF-Net 網絡的有效性,此數據集是由西北農林科技大學創建,下載地址為: https://aistudio.baidu.com/aistudio/datasetdetail/11591. 該數據庫中的所有圖像都是使用BM-500GE 相機在實驗室環境和室外環境拍攝的. 數據集包含5 種類型蘋果疾病,其中斑點落葉病5 343 張,褐斑病5 655 張,灰斑病4 810 張,花葉病4 875張,銹病5 694 張,共26 377 張圖片. 圖5 給出了其中的部分樣本. 數據集中圖片的原始尺寸為512×512大小 ,在實驗中等比縮放為224×224 大小輸入到網絡中. 在實驗中按照6:2:2 的比例將數據集劃分為訓練集、驗證集和測試集,具體數據分布如表1 所示.

圖5 蘋果葉片病害圖像

表1 數據分布表
實驗參數設置如表2 所示. MDFF-Net 網絡和單一對比網絡VGG-16、ResNet-50 在表2 中的參數設置相同. 輸入圖片的尺寸大小為224×224,一次訓練所選取的樣本數,即批尺寸(batch size)設置為32,學習率(learning rate)為0.001,訓練周期(epoch)為30,采用Adam (adaptive moment estimation,自適應矩估計)優化器(optimizer)來計算每一個epoch 中損失函數的梯度,進而更新參數,dropout 丟棄率設置為0.5,損失函數統一使用交叉熵損失函數(cross entropy loss),網絡的權重初始化使用ImageNet 上預訓練的參數. 實驗采用GPU 加速訓練,使用PyTorch 深度學習框架.

表2 實驗參數表
在網絡模型性能評估上,選擇準確率(Accuracy)作為模型分類性能的評估指標. 準確率就是模型預測正確的樣本數量占總樣本數量的比例,計算準確率的公式為:

其中,TP代表預測正確的正樣本,TN代表預測正確的負樣本,FP代表預測錯誤的正樣本,FN代表預測錯誤的負樣本.
為了驗證將不同深度卷積神經網絡提取的深度特征進行融合的MDFF-Net 網絡性能,實驗選取VGG-16和ResNet-50 兩個網絡進行實驗,實驗將探究將這兩個網絡融合之后的MDFF-Net 網絡和單一網絡的性能進行對比.
在模型訓練時,MDFF-Net 融合網絡是作為一個整體來進行訓練,實驗中是利用整個數據集統一訓練整個模型. 對比模型VGG-16 和ResNet-50 也均采用在ImageNet 圖像數據庫上的預訓練網絡,凍結網絡參數,修改Softmax 分類層的輸出為5,數據集訓練方案與MDFF-Net 融合網絡保持一致.
實驗結果如表3,本文所提出的MDFF-Net 網絡識別率為95.30%,單一網絡模型VGG-16 和ResNet-50的識別率分別為90.46%和93.61%,MDFF-Net 網絡比單一網絡VGG-16 和ResNet-50 的分別提高了4.84%和1.69%. 訓練過程中,MDFF-Net 網絡的準確率變化曲線和損失收斂曲線如圖6 所示,可以看出模型訓練中損失函數趨于收斂. 實驗結果表明,我們提出的深度特征融合網絡MDFF-Net 在蘋果葉片病害識別數據集上取得了比單一網絡VGG-16 和ResNet-50 更好的識別效果,證明將不同的預訓練深度卷積神經網絡所提取到的特征融合在一起會取得比單一網絡更優的識別效果.

表3 模型對比實驗 (%)

圖6 MDFF-Net 網絡準確率變化和損失收斂曲線
本文提出一種用于融合不同深度特征的網絡模型MDFF-Net,該模型將兩個預訓練的深度卷積神經網絡模型進行并聯作為特征提取器,然后用一個相同神經元數量的全連接層將不同的網絡提取的特征映射到相同的維度進行融合操作,再通過兩個全連接層進一步提升融合效果,最后用Softmax 層進行分類. 我們在一個蘋果葉片病害數據集進行實驗來驗證本融合模型的有效性,MDFF-Net 網絡模型將VGG-16 和ResNet-50 兩個預訓練網絡所提取的深度特征進行融合,在包含5 種蘋果葉片疾病的公開數據集上取得了96.59% 的識別率. 結果證明,該模型可以有效利用不同預訓練深度卷積神經網絡提取的深度特征的互補性,在葉片病害識別上取得比單一網絡更好的識別效果. 在未來的工作中,我們將進一步研究不同深度特征的互補性,發展新的深度特征融合網絡模型,并拓展其應用領域.