劉君 王學偉



摘? ? 要:番茄植株在生長過程中感染各種病蟲害,從而導致番茄的產量降低和種植戶的利潤損失。當前番茄病蟲害檢測主要通過農業專家人工進行,這種人工檢測方法既昂貴又耗時。目前利用計算機視覺和深度學習達到病蟲害自動分類識別的方法大多都是在受控環境下進行的,對病蟲害所處背景環境的要求較高,同時不能實現病蟲害的定位。針對這些問題,基于深度學習的思想,提出了一種基于YOLO卷積神經網絡的番茄病蟲害檢測算法,同時建立了一個專家標注病蟲害信息的真實自然環境下的番茄病蟲害圖像數據庫,將本試驗的番茄病蟲害檢測算法在此數據庫上進行測試,對8類番茄病蟲害的檢測平均精度高達85.09%。結果表明,該算法能夠有效地提升番茄病蟲害檢測的精度和速度,得到番茄病蟲害的精準定位,優于Faster R-CNN和SSD等農業病蟲害檢測方法。
關鍵詞:番茄;圖像處理;病蟲害檢測;YOLO;目標檢測
中圖分類號:S641.2 文獻標志碼:A 文章編號:1673-2871(2020)09-018-06
Abstract: Tomato plants are infected with a variety of diseases and pests as they grow, resulting in reduced production and lost profits for growers. At present, the detection of tomato pests and diseases is mainly conducted manually by agricultural experts, which is expensive and time-consuming. Most of the methods that have been studied to achieve the automatic classification and identification of diseases and insect pests by using computer vision and deep learning are carried out in a controlled environment, which has high requirements on the background environment of diseases and insect pests and cannot realize the location of diseases and insect pests. To solve these problems, a detection algorithm of tomato pests and diseases based on YOLO convolutional neural network was proposed based on the idea of deep learning. At the same time, an image database of tomato diseases and pests marked by experts in real natural environment was established, and the detection algorithm of tomato diseases and pests in this database was tested. The average detection accuracy of 8 kinds of tomato diseases and pests reached 85.09%. The experimental results show that the algorithm in this paper can effectively improve the detection accuracy and speed of tomato diseases and insect pests, and obtain the precise location of tomato diseases and insect pests, which is better than the previous detection methods of agricultural diseases and insect pests.
Key words: Tomato; Image processing; Disease and pest detection; YOLO; Object detection
農業病蟲害是已知的造成農業經濟損害的主要因素之一[1],農業病蟲害帶來的經濟影響遍及全世界,歐洲農業經濟損失每年達到28.2%,北美達到31.2%,亞洲和非洲在50%以上[2]。自20世紀60年代以來,病蟲害綜合防治(Integrated Pest Management,IPM)[3]已成為主要的防治模式,根據對不同種類病蟲害進行的壓力檢測結果,制定有利于經濟發展、生態維護,以及具有社會學意義的最佳農藥建議。近年來,研究學者們提出了許多病蟲害識別系統。基于視覺詞袋框架(Bag of words,BoW)[4],Venugoban等[5]將方向梯度直方圖(Histograms of oriented gradients,HOG)[6]與加速魯棒特征(Speeded up robust features)[7]相結合,對稻田病蟲害的圖像進行分類。Xie等[8]使用稀疏編碼的空間金字塔模型來識別農田病蟲害圖像。與早期支持向量機和神經網絡方法相比,帶有背景的病蟲害圖像識別精度已經得到了提高。為了進一步提高病蟲害的識別能力,Xie等[9]提出了基于多任務稀疏表示和多核學習的病蟲害識別方法。Ebrahimi等[10]利用支持向量機分類方法對草莓冠層圖像中的薊馬進行檢測,結果表明,采用帶區域指數的支持向量機方法,并以顏色指數強化,可使分類效果最佳,平均誤差小于2.25%。
Yang等[11]提出了一種基于深度學習和圖像顯著性分析的昆蟲識別模型,在茶園圖像的測試集上達到了0.915的平均精度,運行時間減少到0.7 ms,所需內存為6 MB。Shen等[12]應用深度神經網絡技術建立了儲糧病蟲害的檢測與識別方法,使用Faster R-CNN提取圖像中可能包含昆蟲的區域,并對這些區域中的昆蟲進行分類,平均精度達到88%。Mique等[13]利用基于CNN的模型,對采集到的圖像與現有的水稻病蟲害圖像進行了檢索和比較,該模型能夠達到90.9%的最終訓練精度。Zhong等[14]設計并實現了一個基于視覺的飛蟲計數分類系統:首先在監控區域設置黃色粘性誘捕器誘捕飛蟲,并設置攝像機實時采集圖像,然后設計了基于YOLO的目標檢測和粗計數方法,利用全局特征設計了基于支持向量機(SVM)的分類方法和精計數方法,最后選擇蜜蜂、蒼蠅、蚊子、飛蛾、金龜子、果蠅等6種飛蟲對該系統進行有效性評價。試驗結果表明,該方法與常規方法相比具有良好的性能,平均分類精度為90.18%。Barbedo等[15]研究了圖像質量對利用CNN識別木虱的影響,試驗共使用了1 276張圖像,一半使用平板掃描儀采集,另一半使用2個不同品牌的智能手機采集,精度分別為70%和90%,這表明更真實的環境對于保證經過訓練的網絡的健壯性至關重要。
筆者主要基于YOLOv3[16]框架進行番茄病蟲害的識別,YOLOv3的模型比之前的模型復雜不少,不同的圖像分辨率對模型性能也有一定影響,可以通過改變模型結構的大小以及圖像分辨率來權衡速度與精度。在使用真實數據進行病蟲害檢測時,本試驗方法較前人的方法在病蟲害檢測準確率上有很大提升,同時能實現圖像中病蟲害位置的精準定位。
1 基于YOLO的病蟲害檢測系統架構
相對于深度學習圖像分類來說,目標檢測不僅能夠對于圖片中目標的類別進行識別,而且能夠定位出目標的具體坐標位置,因此,目標檢測應用到農業病蟲害檢測領域有利于病蟲害的精準定位,從而方便后續的農藥靶向噴施。YOLO的全稱為You Only Look Once,由Redmon等[17]提出,能夠單次對于整幅圖像內容進行訓練、識別和定位,具有識別速度快、準確率高、適合小目標檢測等優勢。圖1和圖2顯示了YOLOv3與其他流行方法的速度對比以及基于YOLO的病蟲害檢測系統架構。
基于YOLO的病蟲害檢測系統架構,其主干網絡是Darknet-53,有53個卷積層,和殘差網絡類似,在一些層之間建立了快捷連接,降低了梯度爆炸的概率,提高了檢測的速度和精度。根據圖2,輸入為416×416,輸出為3個尺度,適合不同尺寸的病蟲害目標檢測,能夠方便地檢測到不同大小的病斑和害蟲。
2 病蟲害檢測算法
本試驗提出的病蟲害檢測算法首先通過特征提取網絡進行病蟲害特征提取,其次,根據特征提取得到的特征圖進行網格的劃分,再次,判斷病蟲害區域中心坐標所在的網格,利用該網格進行目標檢測。因為各網格進行目標檢測的邊框數量是一定的,同時不同邊框的尺寸各不相同,因此,僅選擇與實際邊框的IOU值最大的邊框。輸出特征圖有2個維度:一個是特征圖大小,即為13×13;另外一個就是深度,即B×(5+C),其中B為各網格進行目標檢測的邊框數量,C為病蟲害分類數量,5包括病蟲害目標的4個位置(Ix,Iy,Iw,Ih)和1個置信度(Credibility)。置信度如下。
考慮到在真實自然環境下病蟲害的發生概率并不是很大,因此,大多數網格預測邊框的置信度都是0。因此,加大其中存在病蟲害目標的網格的權重,將權重更改為λcoord=5, λnoobj=0.5。
在進行病蟲害類別預測時,考慮到同一張輸入圖像上可能存在多種不同類型的病蟲害,因此,采用多標簽分類方法。具體來說,通過邏輯回歸層對不同的病蟲害進行二分類。同時,通過融合多個尺度進行預測,以此提升對尺寸較小的病斑和害蟲的識別準確率。在所輸出的特征圖的數量和尺度持續發生改變的情況下,隨之改變先驗框的尺寸。
3 番茄病蟲害識別試驗
3.1 病蟲害樣本數量信息
因為當前還沒有針對番茄病蟲害檢測的公共數據可以使用,所以筆者所使用的數據集為在濰坊科技學院設施園藝實驗室基地(壽光寒橋寨里模塊化日光溫室)采集到的‘濰科紅1號番茄品種的病蟲害圖像,采集時間為2019年3月1日到2019年6月26日。通過翻轉、平移、縮放等操作對采集的圖像進行了數據增強。同時,爭取農業專家幫助,利用LabelImg軟件進行了病蟲害信息的人工標注,生成包含病蟲害目標的類型和位置的xml文件,并將其轉換成適合YOLO的Label文件,從而為試驗做好數據準備。病蟲害樣本數量信息如表1所示。
3.2 評價指標
3.2.1 PR曲線 PR曲線的英文全稱為Precision/Recall曲線,即查準率/查全率曲線。本試驗的番茄病蟲害檢測結果通過查準率與查全率曲線來描述。其中,查準率和查全率定義如下。
查準率=成功檢測到的病蟲害圖片數量/(成功檢測到的病蟲害圖片數量+檢測錯誤的病蟲害圖片數量);
查全率=成功檢測到的病蟲害圖片數量/(成功檢測到的病蟲害圖片數量+沒有檢測到的病蟲害圖片數量)。
根據PR曲線,可以計算出檢測精度。
3.2.2 檢測速度 檢測速度的評價依據為FPS(Frames Per Second,每秒檢測幀數)。
3.3 番茄病蟲害檢測精度
對檢測的8類病蟲害分別進行統計,其PR曲線如圖4所示。
根據上述檢測結果,本算法對8類番茄病蟲害均具備良好的檢測效果(表2)。番茄病蟲害檢測結果示例如圖5。其中,本算法對番茄煤污病與番茄灰霉病的檢測精度在90%以上,分別為91.2%與94.5%,對番茄早疫病、番茄晚疫病、番茄黃化曲葉病毒病、番茄棒孢褐斑病、番茄斑潛蠅、溫室白粉虱的檢測精度也在80%以上,分別為83.6%、84.7%、81.2%、81.7%、82.5%、81.3%,對8類番茄病蟲害檢測的總體檢測精度為85.09%。與此同時,本算法的檢測速度更快,提高了檢測效率。
3.4 番茄病蟲害檢測速度
各算法對各類病蟲害的檢測速度(FPS)如表3所示。
3.5 番茄病蟲害檢測損失函數對比
番茄病蟲害檢測損失函數對比如圖6所示。
根據上圖損失函數的變化趨勢,可以看出本算法的收斂速度最快。
4 討論與結論
近年來,相對于傳統人工識別病蟲害的方法,由于圖像識別法具有容易操作、識別率高、節省人力和物力等特點,該方法已成為農業病蟲害識別的主要技術。與此同時,由于深度學習技術的發展,基于深度學習的圖像識別技術已成為國內外研究的熱點。筆者基于深度學習和圖像識別技術,以深度學習目標檢測的典型算法YOLO為基礎,建立了番茄病蟲害識別算法。筆者建立了一個溫室番茄病害數據庫,利用YOLO卷積神經網絡實現番茄病蟲害識別完成病蟲害識別與定位,并與幾個主流深度學習目標檢測算法做了對比,本試驗方法較前人的方法在病蟲害檢測準確率上有很大提升,同時能實現圖像中病蟲害位置的精準定位,適合番茄病蟲害圖像的實時檢測。
就目前而言,深度學習技術仍然是機器學習、計算機視覺等多個交叉領域研究的一大熱點。有以下幾個方面還待解決:
(1)在番茄病蟲害數據集方面,真實自然環境下采集的數據集容易受到光照、遮擋等因素的影響。下一步研究中,需要采集更多的番茄病蟲害樣本,同時需要使用圖像增強等技術來增強圖像的對比度,盡量保證數據集的有效性,采用圖像增強之后的圖片庫來訓練新的模型,可以使模型的性能達到最優,從而提高真實自然環境下的番茄病蟲害識別效果。
(2)在算法方面,近年計算機視覺一直是人工智能研究的熱點領域,每一年各大計算機視覺比賽都會有新的模型和算法。將來需要使用目前最新的基準網絡和算法,不斷加深農業病蟲害識別領域的研究。并在此基礎上,結合實際農業應用情況,進一步探索農業病蟲害識別APP和智能病蟲害巡檢機器人的研發示范。
參考文獻
[1] ESTRUCH J J,CAROZZI N B,DESAI N,et al.Transgenic plants:An emerging approach to pest control[J].Nature Biotechnology,1997,15(2):137-141.
[2] BARBEDO J G A.Factors influencing the use of deep learning for plant disease recognition[J].Biosystems Engineering,2018,172:84-91.
[3] PARSA S,MORSE S,BONIFACIO A,et al.Obstacles to integrated pest management adoption in developing countries[J].Proceedings of the National Academy of Sciences of the United States of America,2014,111(10):3889-3894.
[4] SIVIC J,ZISSERMAN A.Video google:a text retrieval approach to object matching in videos[C]// IEEE Computer Society.IEEE International Conference on Computer Vision,2003:1470-1477.
[5] VENUGOBAN K,RAMANAN A.Image classification of paddy field insect pests using gradient-based features[J].International Journal of Machine Learning & Computing,2014,4(1):1-3.
[6] DALAL N,TRIGGS B.Histograms of oriented gradients for human detection[C]// IEEE Computer Society.IEEE Computer Society Conference on Computer Vision & Pattern Recognition,2005:886-893.
[7] BAY H,TUYTELAARS T,GOOL L V.SURF: speeded up robust features[C]// European Conference on Computer Vision.Springer-Verlag,2006:404-417.
[8] XIE C,LI R,DONG W,et al.Recognition for insects via spatial pyramid model using sparse coding[J].Transactions of the Chinese Society of Agricultural Engineering,2016,32(17):144-151.
[9] XIE C,ZHANG J,LI R,et al.Automatic classification for field crop insects via multiple-task sparse representation and multiple-kernel learning [J].Computers & Electronics in Agriculture,2015,119:123-132.
[10] EBRAHIMI M A,KHOSHTAGHAZA M H,MINAEI S,et al.Vision-based pest detection based on SVM classification method[J].Computers and Electronics in Agriculture,2017,137:52-58.
[11] YANG G,BAO Y,LIU Z.Localization and recognition of pests in tea plantation based on image saliency analysis and convolutional neural network[J].Transactions of the Chinese Society of Agricultural Engineering,2017,33(6):156-162.
[12] SHEN Y,ZHOU H,LI J,et al.Detection of stored-grain insects using deep learning[J].Computers and Electronics in Agriculture,2018,145:319-325.
[13] MIQUE E L,PALAOAG T D.Rice pest and disease detection using convolutional neural network[C]// the 2018 International Conference.ACM,2018.
[14] ZHONG Y,GAO J,LEI Q,et al.A vision-based counting and recognition system for flying insects in intelligent agriculture[J].Sensors,2018,18(5):1489-1501.
[15] BARBEDO J G A,CASTRO G B.Influence of image quality on the identification of psyllids using convolutional neural networks[J].Biosystems Engineering,2019,182:151-158.
[16] REDMON J,FARHADI A.YOLOv3: An incremental improvement[A].arXiv e-prints,2018.
[17] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:unified,real-time object detection[C]//Computer Vision & Pattern Recognition,2016.