劉君 王學(xué)偉
摘? ? 要:番茄植株在生長過程中感染各種病蟲害,從而導(dǎo)致番茄的產(chǎn)量降低和種植戶的利潤損失。當(dāng)前番茄病蟲害檢測主要通過農(nóng)業(yè)專家人工進(jìn)行,這種人工檢測方法既昂貴又耗時。目前利用計算機(jī)視覺和深度學(xué)習(xí)達(dá)到病蟲害自動分類識別的方法大多都是在受控環(huán)境下進(jìn)行的,對病蟲害所處背景環(huán)境的要求較高,同時不能實(shí)現(xiàn)病蟲害的定位。針對這些問題,基于深度學(xué)習(xí)的思想,提出了一種基于YOLO卷積神經(jīng)網(wǎng)絡(luò)的番茄病蟲害檢測算法,同時建立了一個專家標(biāo)注病蟲害信息的真實(shí)自然環(huán)境下的番茄病蟲害圖像數(shù)據(jù)庫,將本試驗(yàn)的番茄病蟲害檢測算法在此數(shù)據(jù)庫上進(jìn)行測試,對8類番茄病蟲害的檢測平均精度高達(dá)85.09%。結(jié)果表明,該算法能夠有效地提升番茄病蟲害檢測的精度和速度,得到番茄病蟲害的精準(zhǔn)定位,優(yōu)于Faster R-CNN和SSD等農(nóng)業(yè)病蟲害檢測方法。
關(guān)鍵詞:番茄;圖像處理;病蟲害檢測;YOLO;目標(biāo)檢測
中圖分類號:S641.2 文獻(xiàn)標(biāo)志碼: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
農(nóng)業(yè)病蟲害是已知的造成農(nóng)業(yè)經(jīng)濟(jì)損害的主要因素之一[1],農(nóng)業(yè)病蟲害帶來的經(jīng)濟(jì)影響遍及全世界,歐洲農(nóng)業(yè)經(jīng)濟(jì)損失每年達(dá)到28.2%,北美達(dá)到31.2%,亞洲和非洲在50%以上[2]。自20世紀(jì)60年代以來,病蟲害綜合防治(Integrated Pest Management,IPM)[3]已成為主要的防治模式,根據(jù)對不同種類病蟲害進(jìn)行的壓力檢測結(jié)果,制定有利于經(jīng)濟(jì)發(fā)展、生態(tài)維護(hù),以及具有社會學(xué)意義的最佳農(nóng)藥建議。近年來,研究學(xué)者們提出了許多病蟲害識別系統(tǒng)。基于視覺詞袋框架(Bag of words,BoW)[4],Venugoban等[5]將方向梯度直方圖(Histograms of oriented gradients,HOG)[6]與加速魯棒特征(Speeded up robust features)[7]相結(jié)合,對稻田病蟲害的圖像進(jìn)行分類。Xie等[8]使用稀疏編碼的空間金字塔模型來識別農(nóng)田病蟲害圖像。與早期支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)方法相比,帶有背景的病蟲害圖像識別精度已經(jīng)得到了提高。為了進(jìn)一步提高病蟲害的識別能力,Xie等[9]提出了基于多任務(wù)稀疏表示和多核學(xué)習(xí)的病蟲害識別方法。Ebrahimi等[10]利用支持向量機(jī)分類方法對草莓冠層圖像中的薊馬進(jìn)行檢測,結(jié)果表明,采用帶區(qū)域指數(shù)的支持向量機(jī)方法,并以顏色指數(shù)強(qiáng)化,可使分類效果最佳,平均誤差小于2.25%。
Yang等[11]提出了一種基于深度學(xué)習(xí)和圖像顯著性分析的昆蟲識別模型,在茶園圖像的測試集上達(dá)到了0.915的平均精度,運(yùn)行時間減少到0.7 ms,所需內(nèi)存為6 MB。Shen等[12]應(yīng)用深度神經(jīng)網(wǎng)絡(luò)技術(shù)建立了儲糧病蟲害的檢測與識別方法,使用Faster R-CNN提取圖像中可能包含昆蟲的區(qū)域,并對這些區(qū)域中的昆蟲進(jìn)行分類,平均精度達(dá)到88%。Mique等[13]利用基于CNN的模型,對采集到的圖像與現(xiàn)有的水稻病蟲害圖像進(jìn)行了檢索和比較,該模型能夠達(dá)到90.9%的最終訓(xùn)練精度。Zhong等[14]設(shè)計并實(shí)現(xiàn)了一個基于視覺的飛蟲計數(shù)分類系統(tǒng):首先在監(jiān)控區(qū)域設(shè)置黃色粘性誘捕器誘捕飛蟲,并設(shè)置攝像機(jī)實(shí)時采集圖像,然后設(shè)計了基于YOLO的目標(biāo)檢測和粗計數(shù)方法,利用全局特征設(shè)計了基于支持向量機(jī)(SVM)的分類方法和精計數(shù)方法,最后選擇蜜蜂、蒼蠅、蚊子、飛蛾、金龜子、果蠅等6種飛蟲對該系統(tǒng)進(jìn)行有效性評價。試驗(yàn)結(jié)果表明,該方法與常規(guī)方法相比具有良好的性能,平均分類精度為90.18%。Barbedo等[15]研究了圖像質(zhì)量對利用CNN識別木虱的影響,試驗(yàn)共使用了1 276張圖像,一半使用平板掃描儀采集,另一半使用2個不同品牌的智能手機(jī)采集,精度分別為70%和90%,這表明更真實(shí)的環(huán)境對于保證經(jīng)過訓(xùn)練的網(wǎng)絡(luò)的健壯性至關(guān)重要。
筆者主要基于YOLOv3[16]框架進(jìn)行番茄病蟲害的識別,YOLOv3的模型比之前的模型復(fù)雜不少,不同的圖像分辨率對模型性能也有一定影響,可以通過改變模型結(jié)構(gòu)的大小以及圖像分辨率來權(quán)衡速度與精度。在使用真實(shí)數(shù)據(jù)進(jìn)行病蟲害檢測時,本試驗(yàn)方法較前人的方法在病蟲害檢測準(zhǔn)確率上有很大提升,同時能實(shí)現(xiàn)圖像中病蟲害位置的精準(zhǔn)定位。
1 基于YOLO的病蟲害檢測系統(tǒng)架構(gòu)
相對于深度學(xué)習(xí)圖像分類來說,目標(biāo)檢測不僅能夠?qū)τ趫D片中目標(biāo)的類別進(jìn)行識別,而且能夠定位出目標(biāo)的具體坐標(biāo)位置,因此,目標(biāo)檢測應(yīng)用到農(nóng)業(yè)病蟲害檢測領(lǐng)域有利于病蟲害的精準(zhǔn)定位,從而方便后續(xù)的農(nóng)藥靶向噴施。YOLO的全稱為You Only Look Once,由Redmon等[17]提出,能夠單次對于整幅圖像內(nèi)容進(jìn)行訓(xùn)練、識別和定位,具有識別速度快、準(zhǔn)確率高、適合小目標(biāo)檢測等優(yōu)勢。圖1和圖2顯示了YOLOv3與其他流行方法的速度對比以及基于YOLO的病蟲害檢測系統(tǒng)架構(gòu)。
基于YOLO的病蟲害檢測系統(tǒng)架構(gòu),其主干網(wǎng)絡(luò)是Darknet-53,有53個卷積層,和殘差網(wǎng)絡(luò)類似,在一些層之間建立了快捷連接,降低了梯度爆炸的概率,提高了檢測的速度和精度。根據(jù)圖2,輸入為416×416,輸出為3個尺度,適合不同尺寸的病蟲害目標(biāo)檢測,能夠方便地檢測到不同大小的病斑和害蟲。
2 病蟲害檢測算法
本試驗(yàn)提出的病蟲害檢測算法首先通過特征提取網(wǎng)絡(luò)進(jìn)行病蟲害特征提取,其次,根據(jù)特征提取得到的特征圖進(jìn)行網(wǎng)格的劃分,再次,判斷病蟲害區(qū)域中心坐標(biāo)所在的網(wǎng)格,利用該網(wǎng)格進(jìn)行目標(biāo)檢測。因?yàn)楦骶W(wǎng)格進(jìn)行目標(biāo)檢測的邊框數(shù)量是一定的,同時不同邊框的尺寸各不相同,因此,僅選擇與實(shí)際邊框的IOU值最大的邊框。輸出特征圖有2個維度:一個是特征圖大小,即為13×13;另外一個就是深度,即B×(5+C),其中B為各網(wǎng)格進(jìn)行目標(biāo)檢測的邊框數(shù)量,C為病蟲害分類數(shù)量,5包括病蟲害目標(biāo)的4個位置(Ix,Iy,Iw,Ih)和1個置信度(Credibility)。置信度如下。
考慮到在真實(shí)自然環(huán)境下病蟲害的發(fā)生概率并不是很大,因此,大多數(shù)網(wǎng)格預(yù)測邊框的置信度都是0。因此,加大其中存在病蟲害目標(biāo)的網(wǎng)格的權(quán)重,將權(quán)重更改為λcoord=5, λnoobj=0.5。
在進(jìn)行病蟲害類別預(yù)測時,考慮到同一張輸入圖像上可能存在多種不同類型的病蟲害,因此,采用多標(biāo)簽分類方法。具體來說,通過邏輯回歸層對不同的病蟲害進(jìn)行二分類。同時,通過融合多個尺度進(jìn)行預(yù)測,以此提升對尺寸較小的病斑和害蟲的識別準(zhǔn)確率。在所輸出的特征圖的數(shù)量和尺度持續(xù)發(fā)生改變的情況下,隨之改變先驗(yàn)框的尺寸。
3 番茄病蟲害識別試驗(yàn)
3.1 病蟲害樣本數(shù)量信息
因?yàn)楫?dāng)前還沒有針對番茄病蟲害檢測的公共數(shù)據(jù)可以使用,所以筆者所使用的數(shù)據(jù)集為在濰坊科技學(xué)院設(shè)施園藝實(shí)驗(yàn)室基地(壽光寒橋寨里模塊化日光溫室)采集到的‘濰科紅1號番茄品種的病蟲害圖像,采集時間為2019年3月1日到2019年6月26日。通過翻轉(zhuǎn)、平移、縮放等操作對采集的圖像進(jìn)行了數(shù)據(jù)增強(qiáng)。同時,爭取農(nóng)業(yè)專家?guī)椭?,利用LabelImg軟件進(jìn)行了病蟲害信息的人工標(biāo)注,生成包含病蟲害目標(biāo)的類型和位置的xml文件,并將其轉(zhuǎn)換成適合YOLO的Label文件,從而為試驗(yàn)做好數(shù)據(jù)準(zhǔn)備。病蟲害樣本數(shù)量信息如表1所示。
3.2 評價指標(biāo)
3.2.1 PR曲線 PR曲線的英文全稱為Precision/Recall曲線,即查準(zhǔn)率/查全率曲線。本試驗(yàn)的番茄病蟲害檢測結(jié)果通過查準(zhǔn)率與查全率曲線來描述。其中,查準(zhǔn)率和查全率定義如下。
查準(zhǔn)率=成功檢測到的病蟲害圖片數(shù)量/(成功檢測到的病蟲害圖片數(shù)量+檢測錯誤的病蟲害圖片數(shù)量);
查全率=成功檢測到的病蟲害圖片數(shù)量/(成功檢測到的病蟲害圖片數(shù)量+沒有檢測到的病蟲害圖片數(shù)量)。
根據(jù)PR曲線,可以計算出檢測精度。
3.2.2 檢測速度 檢測速度的評價依據(jù)為FPS(Frames Per Second,每秒檢測幀數(shù))。
3.3 番茄病蟲害檢測精度
對檢測的8類病蟲害分別進(jìn)行統(tǒng)計,其PR曲線如圖4所示。
根據(jù)上述檢測結(jié)果,本算法對8類番茄病蟲害均具備良好的檢測效果(表2)。番茄病蟲害檢測結(jié)果示例如圖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 番茄病蟲害檢測損失函數(shù)對比
番茄病蟲害檢測損失函數(shù)對比如圖6所示。
根據(jù)上圖損失函數(shù)的變化趨勢,可以看出本算法的收斂速度最快。
4 討論與結(jié)論
近年來,相對于傳統(tǒng)人工識別病蟲害的方法,由于圖像識別法具有容易操作、識別率高、節(jié)省人力和物力等特點(diǎn),該方法已成為農(nóng)業(yè)病蟲害識別的主要技術(shù)。與此同時,由于深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的圖像識別技術(shù)已成為國內(nèi)外研究的熱點(diǎn)。筆者基于深度學(xué)習(xí)和圖像識別技術(shù),以深度學(xué)習(xí)目標(biāo)檢測的典型算法YOLO為基礎(chǔ),建立了番茄病蟲害識別算法。筆者建立了一個溫室番茄病害數(shù)據(jù)庫,利用YOLO卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)番茄病蟲害識別完成病蟲害識別與定位,并與幾個主流深度學(xué)習(xí)目標(biāo)檢測算法做了對比,本試驗(yàn)方法較前人的方法在病蟲害檢測準(zhǔn)確率上有很大提升,同時能實(shí)現(xiàn)圖像中病蟲害位置的精準(zhǔn)定位,適合番茄病蟲害圖像的實(shí)時檢測。
就目前而言,深度學(xué)習(xí)技術(shù)仍然是機(jī)器學(xué)習(xí)、計算機(jī)視覺等多個交叉領(lǐng)域研究的一大熱點(diǎn)。有以下幾個方面還待解決:
(1)在番茄病蟲害數(shù)據(jù)集方面,真實(shí)自然環(huán)境下采集的數(shù)據(jù)集容易受到光照、遮擋等因素的影響。下一步研究中,需要采集更多的番茄病蟲害樣本,同時需要使用圖像增強(qiáng)等技術(shù)來增強(qiáng)圖像的對比度,盡量保證數(shù)據(jù)集的有效性,采用圖像增強(qiáng)之后的圖片庫來訓(xùn)練新的模型,可以使模型的性能達(dá)到最優(yōu),從而提高真實(shí)自然環(huán)境下的番茄病蟲害識別效果。
(2)在算法方面,近年計算機(jī)視覺一直是人工智能研究的熱點(diǎn)領(lǐng)域,每一年各大計算機(jī)視覺比賽都會有新的模型和算法。將來需要使用目前最新的基準(zhǔn)網(wǎng)絡(luò)和算法,不斷加深農(nóng)業(yè)病蟲害識別領(lǐng)域的研究。并在此基礎(chǔ)上,結(jié)合實(shí)際農(nóng)業(yè)應(yīng)用情況,進(jìn)一步探索農(nóng)業(yè)病蟲害識別APP和智能病蟲害巡檢機(jī)器人的研發(fā)示范。
參考文獻(xiàn)
[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,F(xiàn)ARHADI 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.