【論文閱讀】Deep Neural Networks Based Recognition of Plant Diseases by Leaf Image Classification

這篇文章主要是作者們在互聯網上搜索了一些圖片,並使用圖像增強方法進行處理,增加了數據集的數量,做了一個自己的數據集。使用caffenet使用微調,並最後比較了在每一類上的準確率。都是很基礎的方法,本文數據集是不公開的。(只能參考一下參數,實驗方法等,而在算法上沒什麼創新)

 

摘要:本文提出了一種利用深度卷積網絡建立基於葉片圖像分類的植物病害識別模型的新方法。採用新穎的培訓方法和方法,方便快捷地在實踐中推行系統。這種被開發出來的模型能夠識別出13種不同類型的植物疾病,包括健康的葉子,並有能力將植物葉子與其周圍環境區分開來。據我們所知,這種植物病害識別方法是首次提出的。本文從採集圖像建立數據庫開始,通過農業專家的評估,全面描述了實現該疾病識別模型所需的所有重要步驟。利用伯克利視覺學習中心開發的深度學習框架Caffe進行CNN深度訓練。所開發模型的實驗結果在91% ~ 98%之間達到了精度,對於單獨的類測試,平均達到96.3%。

1 Introduction

……

本文介紹的方法是一種利用深卷積神經網絡檢測植物病害的新方法。開發模型的先進性和新穎性在於其簡單性;健康的樹葉和背景圖片與其他類別保持一致,通過使用深度cnn,人們可以區分生病的樹葉和健康的樹葉,或者健康的樹葉和環境。

本文的其餘部分組織如下:第2節介紹相關工作,第3節介紹方法,第4節介紹取得的成果和相關討論,最後是第5節持有的結論。

2 Related Work

……

本研究在深入學習技術的發展及其在實踐中的應用的推動下,探索了植物病害識別的深度學習方法。對最先進的文獻進行了廣泛的研究,但沒有發現任何證據表明,研究人員探索了通過圖像識別植物疾病的深度學習方法。我們利用深度CNN進行識別的方法如下。

3 Materials and Methods

詳細介紹了利用深度CNN建立植物病害識別模型的全過程。這個完整的過程被分成以下幾個子部分中每一個必要的階段,從使用深度神經網絡收集圖像進行分類處理開始。

3.1數據集。從訓練階段到評價識別算法的性能,目標識別研究的各個階段都需要合適的數據集。爲數據集收集的所有圖像都是從互聯網上下載的,通過疾病和植物名稱在不同的來源上搜索,這些來源來自不同的語言,如拉丁語、英語、德語、塞爾維亞語和匈牙利語。所有圖片被分成15個不同的類。十三個類別代表了植物病害,這些病害可以從葉子上直觀地判斷出來。

爲了區分健康葉和疾病葉,在數據集中又添加了一個類。它只包含健康葉子的圖片。一個數據集中具有背景的額外的類有助於使分類更準確,因此,可以訓練深層神經網絡來區分樹葉和周圍環境。背景圖片取自斯坦福大學的背景數據集。

在這個階段中,所有來自不同來源的重複圖像都將被該過程開發的python腳本刪除。腳本通過比較圖片的元數據來將重複的刪除:名字,大小,和日期。自動刪除以後,圖片將被專家們多次評估。

下一步是用增強圖像來豐富數據集。本研究的主要目的是訓練網絡,使其具備區別於其他網絡的特徵。因此,當使用更多的增強圖像時,網絡學習適當特性的機會就增加了。最後,創建了一個包含30880張用於培訓的圖像和2589張用於驗證的圖像的數據庫。對增強過程的描述在章節3.3中。

表1顯示了所有的疾病,以及作爲疾病分類模型的訓練和驗證數據集的每個類的原始圖像和增強圖像的數量。

3.2圖像預處理和標籤。圖片是從互聯網上下載的,具有不同的分辨率和質量。爲了獲得更好的特徵提取,我們對作爲深度神經網絡分類器數據集的最終圖像進行預處理,以獲得一致性。此外,圖像預處理的過程包括手工裁剪所有圖像,在葉子周圍做一個正方形,以突出感興趣的區域(植物葉子)。在數據集圖像採集階段,分辨率較小、尺寸小於500px的圖像不被認爲是數據集的有效圖像。此外,只有感興趣的區域分辨率更高的圖像才被標記爲數據集的合格候選。這樣,就確保了圖像包含了學習特徵所需的所有信息。該數據集使用的圖像大小爲256×256,以減少訓練時間,訓練時使用python和OpenCV框架[33]自動計算。

許多資源可以通過互聯網搜索找到,但它們的相關性往往是不可靠的。爲了確認數據集中類的準確性,農業專家們最初通過文字搜索對葉子圖片進行了研究,並給這些圖片貼上了疾病的首字母縮寫。衆所周知,對訓練和驗證數據集使用精確分類的圖像非常重要。只有這樣,才能建立一個合適和可靠的檢測模型。在這一階段,從數據集中刪除第3.1節中描述的採集和分組圖像到類的初始迭代後留下的重複圖像。

3.3增強的過程。應用增強的主要目的是增加數據集,對圖像進行輕微的失真,從而減少訓練階段的過擬合。在機器學習和統計學中,當統計模型描述隨機噪聲或錯誤而不是潛在關係[34]時,就會出現過擬合。圖像增強包含幾種轉換技術之一,包括仿射轉換、透視轉換和簡單的圖像旋轉。使用仿射變換來表示平移和旋轉[35],其中原始圖像中的所有平行線在輸出圖像中仍然是平行的。要找到一個變換矩陣,需要在輸出圖像的相應位置加上原圖像中的三點。透視變換需要a3×3變換矩陣。即使在轉型之後,直線仍然是直線。在增強過程中,採用了簡單的圖像旋轉,以及不同軸對稱度的旋轉。

在增強過程中應用的變換如圖2所示,其中第一行表示通過對單個圖像應用仿射變換得到的結果圖像;第二行是通過對輸入圖像的透視變換得到的圖像,而最右行是對輸入圖像含義的可視化。增加的過程是爲了適應需要而選擇的,自然環境中的葉子在視覺角度上是不同的。

在這一階段,爲了自動化數據集中大量圖像的增強過程,使用OpenCV庫[36]在c++中開發了特定的應用程序,可以在運行時更改轉換參數,提高了靈活性。

3.4神經網絡的訓練。提出了利用3.1節描述的數據集訓練深度卷積神經網絡建立圖像分類模型。有幾個著名的最先進的深度學習框架,如theano[37]和Lua、Torch7[38]的機器學習庫。此外,還有Caffe,這是一個開源的深度學習框架,由bvlc[39]開發,其中包含了預先訓練好的CaffeNet模型。爲了本研究,我們使用了這個框架,以及一組平均大數據集(ImageNet[40])的權值。

Caffe框架既適合於研究實驗,也適合於行業部署。框架的核心是C++,並提供命令行、Python和matlab接口。Caffe與cudnn庫的集成加速了Caffe模型的開發[41,42]。CaffeNet是一個深度CNN,它有多個層,可以從輸入圖像[43]逐步計算特性。具體來說,該網絡包括8個學習層、5個卷積層和3個全連接層[44]。

CaffeNet體系結構被認爲是一個起點,但是修改和調整了它來支持15個類別(類)。最後一層進行了修改,並將softmax層的輸出參數化,以滿足本研究的要求。

卷積層是卷積神經網絡的基本組成部分。該層的參數由一組可學習內核組成,這些內核具有較小的接收域,但可以擴展到整個輸入體的深度。

……

CNN和ReLUs的訓練速度要快好幾倍。該方法適用於所有卷積和全連接層的輸出。

儘管有輸出,但不需要對輸入進行歸一化;它是在第一次和第二次卷積之後應用的,因爲它降低了top-1和top-5的錯誤率。在CNN中,隱藏層中的神經元被分割成“特徵圖”。與特徵圖有關神經元具有相同的權重和偏差。然後與特徵圖有關神經元搜索相同的特徵。這些神經元是獨特的,因爲它們在較低的層連接到不同的神經元。因此,對於第一個隱藏層,特徵圖中的神經元將與輸入圖像中的不同區域相關聯。該隱層被分割成特徵圖,特徵圖中的每個神經元在不同的位置尋找相同的特徵。基本上,特徵圖是在圖像上應用卷積的結果。每個層的特徵被不同的塊戰數處理啊,這些可視化的特徵展示了特徵圖中最強的激活部分,從第一個卷積層開始,特徵從單個像素到簡單的線條,再到第5個卷積層,在這裏顯示學習到的特徵,如形狀和葉子的某些部分(圖3)。

CNNs的另一個重要層是池化層,它是非線性下采樣的一種形式。池化操作給出了平移不變性[48]的形式;它依賴於輸入的每個深度切片,並在空間上調整其大小。重疊池化有利於減少過度擬合

重疊池化:alexnet中提出和使用。
  相對於傳統的no-overlapping pooling,採用Overlapping Pooling不僅可以提升預測精度,同時一定程度上可以減緩過擬合。
  相比於正常池化(步長s=2,窗口z=2) 重疊池化(步長s=2,窗口z=3) 可以減少top-1, top-5分別爲0.4% 和0.3%;重疊池化可以避免過擬合。)

此外,在前兩個完全連接的層中使用了一個dropout層[49]。但與標準的[50]結構的神經網絡相比,dropout的缺點是訓練時間縮短了2-3倍。貝葉斯優化實驗也證明了ReLUs和dropout具有協同效應,這意味着當它們一起使用[51]時是有利的。

CNNs的進步是由於它們能夠學習豐富的中級圖像表示,而不是使用手工設計的低層圖像特徵再通過其他圖像分類方法來分類[52]。

圖4顯示了深度網絡中每個卷積層和池化層的輸出。輸出圖像在每張圖像的右下角都標有相應層的名稱。

3.5執行測試。測量人工神經網絡性能的常用方法是將數據分離到訓練集和測試集,然後在訓練集上訓練一個神經網絡,並使用測試集進行預測。因此,由於測試集的原始輸出值和我們預測的模型輸出值是已知的,因此我們的預測精度可以計算出來。訓練時使用30880張圖像,使用2589張圖像進行測試。

在測試時,使用10折交叉驗證來評估預測模型。交叉驗證過程在每1000次訓練迭代之後重複一次。測試的總體估計結果用圖形表示爲top-1,以測試top類(具有最高概率的類)是否與目標標籤相同。top5的錯誤率是用來測試目標標籤是否是前5名預測之一,即是否是概率最高的5個預測之一。每個標記類用於驗證測試的圖像數量如表1所示。第4節分別給出了完整數據集和每個類的測試結果。

3.6.Fine-Tuning。微調是通過對過程或功能進行小的修改來提高或優化結果,從而提高過程或功能的有效性或效率。原始的caffeNet模型的分類功能是通過softmax計算imagenet中1000個類的概率來分類的。微調的學習實驗需要一些學習,但它們仍然比從零開始學習[53]快得多。爲了開始微調過程,刪除了這個softmax分類器,如第3.4節所述,並進行了說明,然後隨機初始化值。利用3.1節所述數據集中的數據,採用反向傳播算法對新的softmax分類器進行從無到有的訓練。這個數據集有15個不同的類別[43]。由於本研究使用的數據與ImageNet (ILSVRC-2012[54])相比較小,對微調隱藏層[55]使用較低的初始學習率限制了過度擬合。頂層的學習率設置爲10的,而其他7個學習層的學習率設置爲0.1。反向傳播算法運行了100,000次迭代。微調過程是隱層參數和超參數不斷變化的過程。通過參數的實驗調整,得到了最適合植物病害檢測的模型。第四節給出了模型微調的結果,並進行了進一步的解釋。

3.7設備。採用單臺PC機對描述的植物病害檢測模型進行了全過程的訓練和測試。在圖形處理單元(GPU)模式下對fcns進行訓練。每一次訓練都要花大約8個小時在這臺機器上。

4. Results and Discussion 

本節給出的結果與整個包含原始圖像和增強圖像的數據庫的訓練有關。衆所周知,卷積網絡能夠在更大的數據集上學習特徵,因此只包含原始圖像的,所以不研究只在原始測試集上訓練的結果。經過網絡參數的微調,經過100次訓練,總體精度達到96.3%(沒有微調的結果是95.8%)即使在第30次訓練迭代後,仍然可以以極低的損失獲得高精度的結果,但在第60次迭代後,均衡器的不精確性和損耗仍然保持在較高的精度。圖5中的綠線顯示了通過訓練迭代,網絡在驗證測試集上的成功。每經過10000次訓練迭代,就會得到該模型的快照。圖中的藍線代表訓練階段的損失。通過訓練時的迭代,損失是迅速減小的。

經過100,000次迭代,Top-1的成功率爲96.3%,top-5的成功率爲99.99%,分別如圖6和圖7所示。

此外,訓練的模型分別在每個類上單獨測試。對來自驗證集的每個圖像執行測試。展示的結果是爲了強調每個類中有多少圖像是準確預測的。圖8顯示了訓練模型下分別預測每個類的結果。類號遵循表1中的枚舉。

從圖8顯示的結果來看,值得注意的是,對於訓練數據集中圖像數量較少的類來說,訓練模型的準確率較低,更具體的類是桃子、白粉病、蘋果、白粉病和葡萄枯萎病。對桃樹的白粉病檢測精度爲91.11%,而對背景圖片的檢測精度上升到了98.21%。模型對背景圖像的預測精度高,能可以很好地分離植物葉片和周圍環境。

根據良好的實踐原則,所取得的成果應與其他成果進行比較。考慮到本研究開發了自己的圖像數據庫,到目前爲止還沒有人使用過。此外,由於沒有人在科學文獻中使用深度學習來識別植物疾病,因此不可能將其與其他例子進行比較。然而,經過廣泛的研究,深度學習技術在模式識別、圖像處理和目標檢測方面顯示出了更好的效果。卷積神經網絡[56]在衆多的比賽中獲勝也證明了這一點。目前,有一種商業化的解決方案——Leafsnap[57],它利用視覺識別來識別特定的植物,尤其是它們的葉子圖像。但是,由於本文提出的網絡是對植物病害進行分類,而不是對植物的種類進行分類,所以Leafsnap並沒有被用來比較所取得的結果。最後,將我們的檢測結果與其他從葉片圖像中檢測疾病的方法進行比較,可以說我們的方法提供了更好的結果[23,24,26,27]。

5. Conclusions 

植物病害的自動或計算機視覺檢測與分類方法很多,但這方面的研究還很缺乏。此外,目前市場上還沒有商業解決方案,只有那些基於圖像的植物物種識別解決方案。本文提出了一種利用深度學習方法對植物病害進行自動分類和檢測的新方法。所建立的模型能夠檢測到葉片的存在,並能夠區分健康的葉片和13種不同的疾病,可以進行視覺診斷。描述了從採集用於訓練和驗證的圖像到圖像預處理和增強,最後進行深度訓練和微調的完整過程。爲了檢查新創建模型的性能,進行了不同的測試。

建立了新的植物病害圖像數據庫,其中包含3000多幅從可用的互聯網資源中獲取的原始圖像,並使用適當的轉換將其擴展到30000多幅。實驗結果表明,在單獨的等級測試中,測試精度在91% ~ 98%之間。經訓練模型的最終總精度爲96.3%。微調並沒有顯示出整體精度的顯著變化,但增強過程有更大的影響,以達到令人滿意的結果。

據我們所知,目前所提出的方法在植物病害識別領域還沒有被開發出來,使用這種精確的技術也沒有與相關結果進行比較。與第二節中所使用和介紹的其他技術相比,特別是考慮到所介紹的研究中有更多的類別時,取得了可比較甚至更好的結果。

本研究的一項擴展將是利用不同的微調和增強技術來收集圖像,以豐富數據庫和提高模型的準確性。

未來工作的主要目標是開發一個完整的系統,由包含訓練模型的服務器端組件和用於智能移動設備的應用程序組成,該應用程序具有基於手機攝像頭捕獲的葉子圖像顯示水果、蔬菜和其他植物中識別的疾病等功能。這款應用程序將爲農民提供幫助(無論他們的經驗水平如何),幫助他們快速有效地識別植物疾病,並幫助他們在使用化學殺蟲劑時做出決策。

此外,未來的工作將包括通過訓練該模型在更廣闊的陸地區域進行植物病害識別,結合無人機捕捉到的果園和葡萄園的航拍照片,以及卷積神經網絡用於目標檢測,從而推廣該模型的使用。通過擴展這項研究,作者在可持續發展方面取得了巨大的影響,影響了未來幾代人的糧食質量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章