吳開興 苗雪菲 馬文妙
摘要:采用卷積神經(jīng)網(wǎng)絡(CNN)創(chuàng)建番茄病害識別模型,對番茄的健康葉片圖像及7種病害圖像進行預處理;采用深度學習架構TensorFlow進行CNN訓練;研究了卷積層采用不同尺寸的卷積核及池化層采用不同的池化方法對番茄病害識別模型性能的影響。實驗表明卷積層采用尺寸為5×5,3×3的卷積核及池化層采用最大值池化建立的模型分類識別效果好。測試集的平均識別率達到95.47%,該模型較本研究設計的其他模型分類識別率提高,魯棒性較強,為后續(xù)蔬菜病害診斷與防治提供研究基礎。
關鍵詞: 卷積神經(jīng)網(wǎng)絡;番茄病害;圖像處理;分類識別模型
中圖分類號:TP37 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)25-0025-03
Abstract:The model of tomato disease recognition was established by using a convolutional neural network (CNN). Images of healthy tomato leaves and seven kinds of tomato disease images were processed. And the deep CNN was trained by deep learning framework Tensor Flow. The effects of different sizes of the convolution kernel and different pooling methods on the performance of the tomato disease recognition model were studied. The convolution layer adopted the convolution kernel with a size of 5×5,3×3 and the pooling layer adopted the model established by max_pooling, the model classification and recognition accuracy was better. The training times were 1000 times, and the classification and identification accuracy was 95.47%.Compared with other models in this study, this model had a higher classification and recognition effect, stronger robustness, and provideda research foundation for the subsequent diagnosis and prevention of vegetable diseases.
Key words:convolutional neural network(CNN); tomato disease; image processing; classification and recognition model
隨著計算機技術的持續(xù)進步,其被眾多領域普遍運用,20世紀末用于識別病蟲害。王海濤等[1]利用圖像處理技術和計算機技術設計了柑橘病毒病的診斷系統(tǒng)。崔艷麗等[2]利用基于色度的特征值提取對兩種黃瓜病害識別進行了研究。馬旭等[3]提出了利用顏色空間的轉(zhuǎn)換及模糊聚類分析,研究出分割玉米大斑病害圖像的方法。柴阿麗等[4]以計算機視覺技術為方法,通過圖像處理來分割病斑研究出番茄葉部病害判別模型。陳麗等[5]研究了識別玉米葉部病害的方法,運用了圖像處理技術和概率神經(jīng)網(wǎng)絡技術。劉連忠等[6]采用小波變換進行預處理,再對病害未知的非綠特征進行提取來實現(xiàn)對小麥病害的識別。楊倩等[7]提出采用顏色矩提取顏色特征及LBP算子提取紋理特征來實現(xiàn)大麥病害的識別。張建華等[8]采用最優(yōu)二叉樹的多類SVM技術,研究了一種識別蜜柚葉部病害的方法。Sharada等[9]訓練了一個深層卷積神經(jīng)網(wǎng)絡來鑒定作物病情。田凱等[10]采用計算機視覺技術,且用圖像處理技術分割病斑,研究出一種識別茄子褐紋病的方法。魏麗冉等[11]通過提高病害處與健康處的對比度,再進一步做圖像處理,研究了采用基于核函數(shù)SVM的分類識別方法。趙建敏等[12]提出基于CNN的馬鈴薯葉片病害檢測系統(tǒng)。邱靖等[13]研究了基于CNN的水稻病害圖像檢測的方法。張乃夫等[14]設計了通過CNN實現(xiàn)農(nóng)作物病害分類的模型。本研究擬構建一種卷積神經(jīng)網(wǎng)絡模型,直接輸入彩色的番茄葉片圖像,通過卷積層進行特征提取,最終經(jīng)過輸出層實現(xiàn)分類識別。
番茄是一種頗受歡迎的蔬菜,但瘡痂病、早疫病、晚疫病、葉霉病、斑枯病等多種病害造成了產(chǎn)量的減少且嚴重降低質(zhì)量。所以,番茄病害的識別研究是相當關鍵的。如何快速、準確地識別出番茄病害,并實施綠色健康的防治措施十分重要。大部分番茄病害的癥狀呈現(xiàn)于葉片的形狀、顏色和紋理,且每種病害表現(xiàn)出來的特征是不相同的[15]。于是,通過番茄葉片圖像便可識別其為何種病害。
1 研究對象選取及模型確定
1.1 研究對象的選取
通過卷積神經(jīng)網(wǎng)絡來提取番茄葉片圖像的特征及識別病害類型的長處之一是原始番茄葉片圖像不用實施一些煩瑣的預處理,如病斑分割、提高對比度等處理,原始三通道的番茄葉片圖像可直接輸入到經(jīng)過訓練的卷積神經(jīng)網(wǎng)絡模型中。
本研究模型的識別對象為番茄健康葉片及瘡痂病葉片、早疫病葉片、晚疫病葉片、葉霉病葉片、斑枯病葉片、紅蜘蛛損傷葉片和斑點病葉片,對以上葉片圖像實現(xiàn)分類識別。原始圖像共6400張,每種類型各800張,將所有圖像的80%制作成訓練集,20%制作成測試集(即每種類型640張圖像為訓練集,160張圖像為測試集)。利用python的PIL庫中的resize方法將所有圖像處理為相同尺寸(本研究中選用的圖像原始尺寸均為256×256,裁剪為32×32輸入至模型,以減輕系統(tǒng)的計算量,提高模型的訓練速度),并對所有圖像制作標簽,記為“m_n”。其中m表示圖像對應的類型(0表示番茄健康;1表示瘡痂病;2表示早疫病;3表示晚疫病;4表示葉霉病;5表示斑枯病;6表示紅蜘蛛損傷;7表示斑點病),n表示圖像的編號,例如名為“7_160”的圖像為番茄斑點病類型圖像的第160張。將所有圖像設置為JPG格式,構成番茄病害圖像數(shù)據(jù)庫。部分圖像如圖1所示。
1.2 識別模型確定
卷積神經(jīng)網(wǎng)絡的主要結(jié)構為輸入層、卷積層、池化層和輸出層。輸入層輸入訓練數(shù)據(jù)(即訓練集),卷積層從輸入圖像中提取圖像特征,池化層用于降低圖像維度和分辨率,但保留了重要信息,并且避免存在過擬合等問題。本研究通過在卷積層設置不同尺寸的卷積核及在池化層設置不同的池化方法,設計CNN模型,以番茄葉片圖像作為輸入,輸入層包含3個顏色通道的32×32像素的圖像,它可以看成32×32×3(長、寬、深)的長方體,也可以分散成3個通道的圖像矩陣。卷積層和池化層均為2層,輸出層的神經(jīng)元為8個(對應8種類型),激活函數(shù)選用ReLU。卷積核尺寸選用3×3、5×5、7×7等,池化方法選用均值池化(average_pooling)、最大值池化(max_pooling)。第1部分的結(jié)構為1個卷積層、1個ReLU層和一個池化層。卷積層含有20個卷積核,對輸入的RGB圖像進行特征提取。將池化層卷積核的尺寸設置為2×2,對特征再次進行提取,降低本層輸出圖像的維度,減少計算量,最終效果并不會受到影響,意味著池化層可將卷積層輸出中的多余的特征進行刪減。第2部分與第1部分結(jié)構相同,其卷積層含有60個卷積核,池化層的結(jié)構和第1部分相同。輸出層包含8個神經(jīng)元,分別代表8個識別類型。
根據(jù)以上提出的算法,所設計的模型一共采用了5種卷積核尺寸、2種池化方法,共計10個基于CNN的番茄葉片圖像識別模型,并通過實驗效果比較各模型。
2 仿真實驗及分析
2.1 實驗環(huán)境
本研究使用的計算機CPU為Intel Corei7-8550U,內(nèi)存為8G;GPU為NVIDIA GEFORCE 940MX,顯存為2G;操作系統(tǒng)為Windows10,采用的框架為TensorFlow,選用的編程語言為python,選用python解釋器為PyCharm,在PyCharm上進行編輯、運行。在TensorFlow上構造CNN模型,部分參數(shù)設置:學習率為1×10-4、dropout為0.25、epoch為1000。
為檢驗本研究所設計模型的有效性,將測試集(每種類型的番茄葉片圖像各160張,共計1280張)分別輸入到訓練結(jié)束的10個模型中,通過識別結(jié)果進行分析。結(jié)果如表1所示:從卷積核尺寸看,卷積核尺寸為5×5,3×3時,模型識別率最高,此現(xiàn)象是因為不同卷積核對圖像特征的提取能力是不同的;從池化方法看,采用最大值池化識別率較高,原因可能是最大值池化通常能夠盡量保存邊緣,而均值池化用到了局部感受葉中的所有元素,相當于是進行了模糊處理;從訓練時間看,卷積核尺寸與訓練時長呈正相關的關系,由于本研究卷積神經(jīng)網(wǎng)絡的深度較淺,時間區(qū)別不是很直觀;從測試識別率看,均達到87%以上,說明模型實用性較佳。綜合分析,相同深度和相同池化層池化方法的網(wǎng)絡,卷積核設置為5×5,3×3尺寸的模型的識別效果較好,其次是卷積核設置為3×3及5×5尺寸的模型,卷積核設置為7×7及9×9尺寸的模型的識別效果相比其他模型較不理想;相同深度和相同卷積核尺寸的模型,池化方法選擇max_pooling識別效果較佳。模型model-1的輸入圖像為32×32×3,經(jīng)過第1部分的卷積層輸出為28×28×20,經(jīng)過第1部分的池化層輸出為14×14×20,經(jīng)過第2部分的卷積層輸出為12×12×60,經(jīng)過第2部分的池化層輸出為6×6×60,將3維特征轉(zhuǎn)換為1維,經(jīng)過全連接層,最后輸出為8個類型。嘗試將訓練次數(shù)增大,識別測試集的準確率沒有繼續(xù)上升反而下降,可能學習率還需要調(diào)小。最終損失為0.11,訓練時長為11分鐘,整個測試集的平均識別率達到95.47%,其中對番茄瘡痂病和紅蜘蛛損傷的識別效果最好,識別率達到98.75%。
2.3 模型比較分析
利用該模型對番茄病害圖像進行分類,平均識別率為95.47%。柴帥等[16]建立的基于VGG-19通過遷移學習改進番茄病蟲害檢測模型,識別準確率為88.98%;閻園園等[17]建立的基于群智能算法分類模型進行番茄病害識別,識別準確率為94.13%;胡志偉等[18]建立的基于注意力與殘差思想相結(jié)合的CNN番茄病害檢測模型,識別準確率為88.2%;郭小清等[19]建立的基于優(yōu)化Multi-Scale AlexNet的番茄病害檢測模型,識別準確率為92.7%。經(jīng)對比,表明本研究所設計的模型識別率較高,模型實用性強。
3 結(jié)論
本研究通過在卷積層設置不同尺寸的卷積核,在池化層設置不同的池化方法,改進CNN模型,通過番茄葉片圖像實現(xiàn)其病害種類的識別。實驗表明,所有圖像的80%制作成訓練集,20%制作成測試集的條件下,卷積核采用5×5,3×3的尺寸,池化方法采用max_pooling的model-1模型,對番茄健康葉片、瘡痂病葉片、早疫病葉片、晚疫病葉片、葉霉病葉片、斑枯病葉片、紅蜘蛛損傷葉片和斑點病葉片的識別率分別為98.13%、98.75%、89.38%、95.00%、96.88%、92.50%、98.75%和94.38%,平均識別率為95.47%,能夠滿足實際應用。
通過與其他模型識別率比較,證實本研究所設計的模型識別準確率較高,應用價值較大,實現(xiàn)對番茄健康葉片和其他7種病害的識別,同時為接下來研究植物病蟲檢測積累經(jīng)驗和參考。下一步將收集番茄病害圖像,擴增樣本數(shù),對模型進行優(yōu)化和調(diào)整,以提高番茄病害圖像識別的實用性和準確性,更好的應用到生活生產(chǎn)中。
參考文獻:
[1]王海濤,萬蜀淵,李興成.柑橘病毒病專家系統(tǒng)的研制[J].華中農(nóng)業(yè)大學學報,1998(05):91-94.
[2] 崔艷麗,程鵬飛,董曉志,等.溫室植物病害的圖像處理及特征值提取方法的研究——基于色度的特征值提取研究[J].農(nóng)業(yè)工程學報,2005,21(z2):32-35.
[3] 馬旭,齊龍,張小超.基于模糊聚類的玉米大斑病害圖像的分割技術[J].農(nóng)機化研究,2008,30(12):24-26.
[4] 柴阿麗,李寶聚,石延霞,等.基于計算機視覺技術的番茄葉部病害識別[J].園藝學報,2010,37(9):1423-1430.
[5] 陳麗,王蘭英.概率神經(jīng)網(wǎng)絡在玉米葉部病害識別中的應用[J].農(nóng)機化研究,2011,33(6):145-148.
[6] 劉連忠,張武,朱誠.基于改進顏色特征的小麥病害圖像識別技術研究[J].安徽農(nóng)業(yè)科學,2012,40(26):12877-12879.
[7] 楊倩,高曉陽,武季玲,等.基于顏色和紋理特征的大麥主要病害識別研究[J].中國農(nóng)業(yè)大學學報,2013,18(5):129-135.
[8] 張建華,孔繁濤,李哲敏,等.基于最優(yōu)二叉樹支持向量機的蜜柚葉部病害識別[J].農(nóng)業(yè)工程學報,2014,30(19):222-231.
[9] Mohanty S P,Hughes D P,Salathé M.Using deep learning for image-based plant disease detection[J].Frontiers in Plant Science,2016,7:1419.DOI:10.3389/fpls.2016.01419.
[10] 田凱,張連寬,熊美東,等.基于葉片病斑特征的茄子褐紋病識別方法[J].農(nóng)業(yè)工程學報,2016(Z1):184-189.
[11]魏麗冉,岳峻,李振波,等.基于核函數(shù)支持向量機的植物葉部病害多分類檢測方法[J].農(nóng)業(yè)機械學報,2017,48(S1):166-171.
[12] 趙建敏,李艷,李琦,等.基于卷積神經(jīng)網(wǎng)絡的馬鈴薯葉片病害識別系統(tǒng)[J].江蘇農(nóng)業(yè)科學,2018,46(24):251-255.
[13] 邱靖,劉繼榮,曹志勇,等.基于卷積神經(jīng)網(wǎng)絡的水稻病害圖像識別研究[J].云南農(nóng)業(yè)大學學報(自然科學),2019,34(5):884-888.
[14] 張乃夫,譚峰,范禹希,等.基于卷積神經(jīng)網(wǎng)絡的農(nóng)作物病害識別方法研究[J].安徽農(nóng)業(yè)科學,2020,48(5):242-245.
[15] 賈建楠,吉海彥.基于病斑形狀和神經(jīng)網(wǎng)絡的黃瓜病害識別[J].農(nóng)業(yè)工程學報,2013(z1):115-121.
[16] 柴帥,李壯舉.基于遷移學習的番茄病蟲害檢測[J].計算機工程與設計,2019,40(6):1701-1705.
[17] 閻園園,陳華,姜波.基于群智能算法分類模型的番茄病害識別[J].江蘇農(nóng)業(yè)科學,2020,48(1):219-224.
[18] 胡志偉,楊華,黃濟民,等.基于注意力殘差機制的細粒度番茄病害識別[J].華南農(nóng)業(yè)大學學報,2019,40(6):124-132.
[19] 郭小清,范濤杰,舒欣.基于改進Multi-Scale AlexNet的番茄葉部病害圖像識別[J].農(nóng)業(yè)工程學報,2019,35(13):162-169.
【通聯(lián)編輯:唐一東】