孔德鋒
摘要:針對當前番茄病害智能識別精度不高、耗時長的問題,提出一種基于Inception-v3和遷移學習相結合的圖像分類算法。從試驗田中收集8種番茄病害葉片和健康葉片,運用1 000萬像素高清掃描儀統一掃描成圖像,將圖像歸類到9種文件夾中,手動標記葉片屬性。最后,基于Inception-v3模型結合遷移學習算法對健康和病害葉片進行分類試驗,并與傳統圖像分類算法(KNN、SVM、BP神經網絡)和非遷移學習算法進行對比。結果表明,基于Inception-v3模型結合遷移學習算法,在番茄病害圖像分類中能夠快速有效識別分類生長健康番茄和患病番茄,并且能高效識別番茄病害的種類。其中健康置信度達0.976 0,病害種類平均置信度達0.929 7,可為番茄病害檢測和防治提供支持。
關鍵詞:圖像分類;遷移學習;番茄病害檢測;Inception-v3
中圖分類號:TP391.4?文獻標識碼:A
文章編號:0439-8114(2020)07-0199-05
DOI:10.14088/j.cnki.issn0439-8114.2020.07.041
Abstract: An image classification algorithm based on Inception-v3 and migration learning is proposed to solve the problem that the current intelligent identification of tomato diseases is not accurate and time-consuming. Eight tomato disease leaves and healthy leaves were collected from the experimental field,the images were scanned into images using a 10 megapixel HD scanner,the images were classified into 9 folders,and the blade attributes were manually labeled. Finally,based on the Inception-v3 model combining migration learning algorithms to classify test healthy and diseased leaves,and compare them with traditional image classification algorithms (KNN、 SVM、 BP neural network) and non-migration learning algorithms. The experimental results show that,based on Inception-v3 model combined with migration learning algorithm can quickly and effectively identify grow healthy tomato and diseased tomato in tomato disease image classification,and can identify tomato disease types efficiently. Among them,the classification accuracy of health and disease is 0.976 0,and the average accuracy of disease types is 0.929 7,which provides a certain degree of support for tomato disease detection and prevention.
Key words: image classification; migration learning; tomato diseases detection; Inception-v3
防治番茄病害的關鍵是認清病害的種類,根據其發生、流行規律,采取相應的管理措施,消除利于病害發生發展的環境條件,再根據不同的發病情況,對癥采取相應的措施,及時控制病害的發生。番茄病害的類型可分為侵染性病害和非侵染性病害2種。其中,侵染性病害包括真菌性病害、細菌性病害、病毒病等;非侵染性病害也稱為生理障礙,是由溫、光、水、肥、氣、藥、人為等因素引起的[1]。
斯坦福大學研究團隊運用深度神經卷積網絡CNN[2,3]對129 450張圖片進行訓練,訓練完成后進行驗證。結果顯示深度神經網絡在驗證集上的表現都達到了專家的水平,表明了該人工神經網絡可以媲美皮膚科醫生。依此類比,也可以用像素和疾病標簽作為輸入,直接從圖像中端到端訓練出來。訓練好的網絡可以作為番茄病害檢測平臺,對葉片進行跟蹤檢測。但與該團隊研究方法不同的是,本方法依托谷歌Tensorflow平臺,將Inception-v3算法與遷移學習算法相結合,對番茄病害圖像數據集進行訓練。該方法使用大數據集進行模型訓練,然后使用訓練好的參數對小樣本進行參數微調,這樣使得最終訓練出來的模型具有小數據集和高精度的雙重優勢。
1?材料與方法
1.1?圖像采集
為了能清晰完整的獲取葉片圖像,采用1 000萬像素高清掃描儀,將采摘完好的葉片放在掃描儀平臺,同時使用LED燈補白光,圖像采集裝置如圖1。通過對試驗田采摘回來的番茄葉片在同一環境下進行掃描,總計獲得3 000張圖像。對掃描不清晰、不完整的圖像刪除,最終得到2 400張完整清晰圖像。每張圖像包含一片農作物的葉子,葉子占據圖片主要位置。
3.1?遷移學習與非遷移學習對比
非遷移學習就是從頭開始訓練模型,由于數據量太小,出現了訓練樣本不足和嚴重的過擬合現象,導致準確率較低同時耗費大量的訓練時間。如表3中所示,在相同9標簽分類識別中,遷移學習比非遷移學習識別率高出28.46個百分點,但是耗時卻只有非遷移學習的1/5。
3.2?基于Inception-v3算法結合遷移學習算法與傳統圖像分類算法比較
3種Sklearn算法KNN、SVM、BP神經網絡[12]都沒有給出非常好的性能,其中在2標簽分類的測試結果中,平均識別率為65.28%;在9標簽分類的測試結果中,平均識別率為44.43%(表4),表明使用Sklearn方法進行圖像識別的效果不夠好。它們在復雜圖像的分類中并不具備良好的性能,特別是SVM相當于隨機猜想。如果要運用這3種分類器對圖像進行識別分類,首先要對圖像進行復雜的二值化預處理,但是基于Inception-v3算法與遷移學習算法相結合卻可以省去復雜的預處理過程。
4?小結
通過將Incepition-v3算法與遷移學習算法相結合,在真實的番茄葉片圖像數據集中進行訓練,最后測試,同時比對了非遷移學習算法和傳統KNN、SVM、BP神經網絡算法在相同數據樣本中的表現。結果表明,KNN、SVM和BP神經網絡不能夠很好地完成諸如圖像分類這樣的特定任務,而基于Tensorflow平臺的Incepition-v3模型結合遷移學習算法,在差異細微的圖像處理問題上,有更高的準確率和更短的耗時。即使在無GPU作為提速手段的情況下,也可以在短時間內完成訓練,同時在小數據集中,可以很好地防止過度擬合。后期可以運用本研究提出的圖像識別算法,集成為番茄病害檢測系統,幫助更多的番茄種植戶方便、快速、及時、準確地檢測出病害,以便早發現、早預防、早治療。
參考文獻:
[1] 王俊文. 番茄病害及其綜合防治技術[J]. 江西農業學報,2006,18(4):139.
[2] ESTEVA A,KUPREL B,NOVOA R A,et al. Dermatologist-level classification of skin cancer with deep neural networks[J]. Nature,2017,542(7639):115-118.
[3] 盧宏濤,張秦川. 深度卷積神經網絡在計算機視覺中的應用研究綜述[J]. 數據采集與處理,2016,31(1):1-17.
[4] 黃?琳,王?龍. 系統魯棒性的若干問題—背景,現狀與挑戰[J]. 控制理論與應用,1991(1):11-29.
[5] 李儉川,秦國軍,溫熙森,等. 神經網絡學習算法的過擬合問題及解決方法[J]. 振動、測試與診斷,2002,22(4):260-264.
[6] 魯?恒,付?蕭,賀一楠,等. 基于遷移學習的無人機影像耕地信息提取方法[J]. 農業機械學報,2015,46(12):274-279.
[7] 莊福振,羅?平,何?清,等. 遷移學習研究進展[J]. 軟件學報,2015,26(1):26-39.
[8] 李岳云,許悅雷,馬時平,等. 深度卷積神經網絡的顯著性檢測[J]. 中國圖象圖形學報,2016,21(1):53-59.
[9] 陶?軍. 車牌識別技術研究與實現[D]. 南京:南京理工大學,2004.
[10] 武?強,童學鋒,季?雋. 基于人工神經網絡的數字字符識別[J]. 計算機工程,2003,29(14):112-113.
[11] KIM D H,MACKINNON T. Artificial intelligence in fracture detection:Transfer learning from deep convolutional neural networks[J]. Clinical radiology,2017,73(5):439-445.
[12] BRENT K,JAMES B,CHRIS E. Hyperopt-sklearn:Automatic hyperparameter configuration for scikit-learn[J]. Proc SciPy,2014:34-40.