梁曉彤+徐踐
摘 要 目前,圖像處理技術(shù)的應(yīng)用與研究都有了很大進展,其應(yīng)用也已經(jīng)滲透到農(nóng)業(yè)生產(chǎn)的各個領(lǐng)域。在農(nóng)業(yè)生產(chǎn)中,病蟲害一直是困擾農(nóng)作物生長的基本問題。因此研究農(nóng)作物病蟲草害的自動檢測與識別,開發(fā)智能化控制系統(tǒng),準(zhǔn)確地獲取植物受害的病因、病種及受害程度是保證農(nóng)業(yè)生產(chǎn)可持續(xù)發(fā)展的重要環(huán)節(jié)。借助MATLAB工具針對農(nóng)業(yè)病蟲害的圖像進行識別和處理,研究基于圖像處理技術(shù)的農(nóng)業(yè)病蟲害識別算法。通過圖像處理技術(shù)實現(xiàn)昆蟲種類自動識別,彌補了傳統(tǒng)的給予文字描述的昆蟲識別及昆蟲學(xué)家人工識別方法的不足,能夠給用戶提供更為實時、準(zhǔn)確的昆蟲識別結(jié)果。
關(guān)鍵詞 MATLAB;圖像處理技術(shù);農(nóng)業(yè)病蟲害;圖像識別
中圖分類號:TP391.4 文獻標(biāo)志碼:B DOI:10.19415/j.cnki.1673-890x.2017.21.065
1 研究背景及意義
我國自古就是農(nóng)業(yè)大國,農(nóng)業(yè)始終是支撐國民經(jīng)濟建設(shè)與發(fā)展的最重要的產(chǎn)品。在農(nóng)業(yè)生產(chǎn)中,病蟲害一直是影響農(nóng)作物生長的重要問題。病蟲害是引起作物減產(chǎn)低產(chǎn)的重要原因之一,及時發(fā)現(xiàn)并控制害蟲數(shù)量,對確保作物的生長具有重要作用。在長期以來的防治害蟲實踐中,人們一直在探索并研究著各種防治的方法,經(jīng)過不斷的改進和發(fā)展,逐步形成了目前普遍采用的5類基本防治方法,即植物檢疫、農(nóng)業(yè)防治、生物防治、化學(xué)防治和物理機械防治。這5類防治方法各具優(yōu)點,但同時也存在著一定的局限性。如通常這些傳統(tǒng)的防治方法都需要投入較大的人力、物力、財力,且易受到地域、季節(jié)等限制,還會對人畜,環(huán)境產(chǎn)生較大的副作用。由于不能準(zhǔn)確地監(jiān)測出植物病害,所以農(nóng)業(yè)生產(chǎn)者盲目地施用大量的農(nóng)藥和化肥來防治病蟲害的不斷發(fā)生,這樣不僅浪費了財力、物力和人力,而且沒有起到很好的防治作用,影響了農(nóng)產(chǎn)品的品質(zhì)和產(chǎn)量,也破壞了生態(tài)環(huán)境。所以,及時,準(zhǔn)確地監(jiān)測害蟲的信息,確定出害蟲的位置,種類和分布情況等,是首先要解決的問題。
隨著農(nóng)業(yè)發(fā)展逐漸工業(yè)化、科技化,應(yīng)對農(nóng)業(yè)病蟲害也需逐步實現(xiàn)自動化、科技化。目前圖像處理技術(shù)的應(yīng)用和研究都有了很大進展,并已滲透到農(nóng)業(yè)生產(chǎn)的各個領(lǐng)域。因此研究農(nóng)作物病蟲害的自動檢測與識別技術(shù),準(zhǔn)確地獲取農(nóng)作物受到蟲害的病蟲種類、受害程度以及防治方法是保證農(nóng)業(yè)生產(chǎn)發(fā)展的重要環(huán)節(jié)[1]?;趫D像的農(nóng)業(yè)害蟲識別是圖像處理技術(shù)的新應(yīng)用領(lǐng)域。通過圖像處理技術(shù)實現(xiàn)病蟲的自動識別,解決了以前通過文字描述和人工識別的不足,給管理者提供實時、準(zhǔn)確的害蟲識別結(jié)果。害蟲圖像提供的信息是其豐富程度是文字描述無法比擬的,主要有顏色、紋理、形狀3種可供選擇的昆蟲圖像特征。基于圖像的病蟲害識別技術(shù)應(yīng)用廣泛,通常被植物檢驗、病蟲害預(yù)測預(yù)防及其防治等領(lǐng)域,以及被作為生態(tài)信息學(xué)研究的重要組成部分,被海關(guān)、植物檢疫、森林病蟲害防治等部門及廣大農(nóng)業(yè)工作者所采用[2-3]。
2 國內(nèi)外發(fā)展現(xiàn)狀分析
在農(nóng)作物生產(chǎn)和科研中,大量的工作需借助于對形態(tài)、色澤、紋理等外部特征的判斷,對這些特征信息的獲取存在著速度慢、強度大、主觀性強、誤差大、實時性差等缺陷[4],且一些特征還難以定量描述,制約了作物科學(xué)研究的發(fā)展,而圖像處理技術(shù)在作物領(lǐng)域的許多進展充分展示了其廣闊的應(yīng)用前景。
目前借助圖像處理技術(shù)進行病蟲害識別的應(yīng)用研究還比較少。研究病蟲害圖像的處理和分析對病蟲形態(tài)學(xué)、生態(tài)學(xué)以及病蟲自動識別具有重要意義,其目的是實現(xiàn)農(nóng)業(yè)病蟲害的自動識別[5-9]。數(shù)學(xué)形態(tài)學(xué)是圖像處理和圖像識別技術(shù)的發(fā)展,是通過使用數(shù)學(xué)方法去描述或分析一個物體圖像形狀的理論和方法[10]。應(yīng)用了集合論、概率論等數(shù)學(xué)基礎(chǔ)方法。在農(nóng)業(yè)包括植物保護方面的應(yīng)用還很有限。于新文等人在農(nóng)作物害蟲圖像的提取、測量和病蟲種類的自動識別研究中,利用了病蟲的數(shù)學(xué)形態(tài)學(xué)的特征,提取了目標(biāo)的輪廓,實現(xiàn)了棉鈴蟲等3種昆蟲的鑒別,準(zhǔn)確率超過90%[11]。陳佳娟等人對棉花的葉片邊緣的殘缺和棉花葉片的孔洞來判別棉花受到病蟲害的損壞程度。在研究中使用了局部門限法對圖像和背景進行分割;使用高斯拉普拉斯算子對圖像進行邊緣檢測;使用邊緣跟蹤算法確定棉葉的孔洞;使用膨脹算法確定葉片邊緣的殘缺形態(tài)[12]。將昆蟲數(shù)學(xué)形態(tài)學(xué)與圖像處理技術(shù)相結(jié)合,在農(nóng)作物害蟲監(jiān)測等方面具有廣闊的應(yīng)用前景。
在國外,針對棉花害蟲的分類,HabibG等人建立起了自適應(yīng)神經(jīng)模糊控制系統(tǒng)。他們利用計算機視覺人工神經(jīng)網(wǎng)絡(luò)、模糊控制等方法。通過田間采集的病蟲害圖是彩色的,一般首先將彩色圖像進行灰度分割,轉(zhuǎn)化成二值圖像之后進行運算。昆蟲圖像建立數(shù)學(xué)模式將是具有實用價值的研究[13-15]。
1997年,Saughter等用色相計算機圖像技術(shù)建成了自動控制系統(tǒng),實現(xiàn)了對雜草的識別與防治。
由于傳統(tǒng)的農(nóng)業(yè)病蟲害識別方法都需要耗費較大的人力、物力、財力,使用大量的時間,卻不一定能夠正確識別出害蟲的種類、位置,盲目噴灑農(nóng)藥導(dǎo)致產(chǎn)量降低,環(huán)境污染。所以,本研究希望能夠找到一個方法,通過搭建一個平臺,通過圖像處理技術(shù),提取出病蟲的某種特征,從而能夠節(jié)約時間、節(jié)約資源,省時省力地正確識別害蟲。
3 開發(fā)工具及相關(guān)技術(shù)介紹
MATLAB工具是美國mathworks公司發(fā)布、主要用于面對科學(xué)計算、可視化和交互式程序設(shè)計的高科技的計算環(huán)境。它通過一個便于操作的視窗環(huán)境,集成了數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能,為科學(xué)研究、工程設(shè)計以及其他必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)的非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了現(xiàn)今國際科學(xué)計算軟件的先進水平。
MATLAB具有如下的性能特點:(1)高效的數(shù)值計算和符號計算功能,將用戶從繁雜的數(shù)學(xué)運算中解脫出來;(2)具有完善的圖形處理功能,計算結(jié)果和編程實現(xiàn)可視化;(3)友好的用戶界面及自然化的數(shù)學(xué)表達式語言,使程序員易于學(xué)習(xí)和掌握;(4)應(yīng)用工具箱,如信號處理工具箱、通信工具箱等的功能非常豐富,提供了大量方便實用的處理工具。所以,本程序選擇使用MATLAB軟件搭建昆蟲特征提取平臺。endprint
4 系統(tǒng)分析和總體設(shè)計
4.1 系統(tǒng)分析
首先,需要搭建一個平臺,通過這個平臺可以打開一幅圖像,并對這個圖像進行剪裁、灰度化、二值化等處理,進而提取圖像中的害蟲特征。以下通過分析實際需求,提煉害蟲特征提取平臺的功能。
需求1:程序需要處理的文件是圖像,要實現(xiàn)從計算機中調(diào)取圖像,將處理后的圖像進行保存,并完成圖像處理后退出程序的功能。所以平臺具有“打開圖像”“保存圖像”和“退出”的基本功能。
需求2:在圖像處理過程中,需要一步一步對圖像進行多項操作,在某一步操作錯誤的情況下,需要實現(xiàn)對本步操作的撤銷操作。想要重新對圖像進行處理時,也需要實現(xiàn)將正在處理的圖像還原的最初狀態(tài)。若圖像太大不易操作,需要將圖片裁剪后再使用,要有截圖的功能。所以,平臺需要有“撤銷”“還原”“截圖”的編輯圖像功能。
需求3:數(shù)學(xué)形態(tài)學(xué)是建立在集合代數(shù)的基礎(chǔ)上,用集合論的方法定量描述集合結(jié)構(gòu)的科學(xué),是一種分析幾何形狀和結(jié)構(gòu)的數(shù)學(xué)方法。由于害蟲的幾何特征比較明顯,所以在害蟲的圖像分析和處理中數(shù)學(xué)形態(tài)學(xué)方法應(yīng)用較多。由于彩色圖像被處理為二值圖像后,如因為某些部位的光照或是病蟲的足部過細(xì)會產(chǎn)生斷點或孔洞,這時候需要通過形態(tài)學(xué)運算對其進行彌補。對于二值圖像,膨脹運算使物體“加長”或“變粗”,腐蝕運算使物體“收縮”或“細(xì)化”。開運算即先腐蝕后膨脹,能夠刪除不包含模板形狀的對象區(qū)域,能夠平滑對象輪廓,斷開狹窄的連接,刪除細(xì)小的突出部分。閉運算即線膨脹后腐蝕,能夠平滑圖像的輪廓,能將狹窄的缺口連接起來形成細(xì)長的彎口,能填充比模板鄰域小的洞。所以平臺需要“腐蝕”“膨脹”“開運算”“閉運算”“填充”“取反”圖像邏輯運算功能。
需求4:圖像在拍攝和傳輸過程中,由于所使用的器件和傳輸通道的局限性,而被加人了大量的噪聲,嚴(yán)重影響了圖像的視覺效果,甚至妨礙了人們的正常識別。因此,圖像的噪聲消除就成為圖像處理的一項重要的任務(wù)。添加噪聲是為了人為的模仿拍攝或傳輸過程中產(chǎn)生的噪聲,方便研究如何去除噪聲。所以平臺需要“添加噪聲(高斯噪聲、椒鹽噪聲、乘性噪聲)”“去除噪聲(中值濾波、線性濾波、自適應(yīng)濾波)”的噪聲處理功能。
需求5:根據(jù)昆蟲的圖像,對昆蟲進行分類的主要依據(jù)是其身體特征,需要選取最利于分辨昆蟲的特征進行提取。在科的階元上11項特征可靠性大小依次為:似圓度、偏心率>面積、周長、橫軸長、球狀性>縱軸長、圓形性>形狀參數(shù)、葉狀性>亮斑數(shù)[15]。在作為目級階元分類特征時,各項特征的可靠性依次為:似圓度、偏心率、亮斑數(shù)>葉狀性、球狀性、圓形性>形狀參數(shù)[5]。在總科階元上,11項特征的可靠性大小為圓形
性>面積、周長、橫軸長、球形性、似圓度、偏心率>縱
軸長、葉狀性>形狀參數(shù)、亮斑數(shù)[8]。所以平臺需要具有特征提取功能,負(fù)責(zé)選取偏心率、周長、區(qū)域面積作為特征提取參數(shù)。
需求6:彩色圖像灰度化技術(shù)在現(xiàn)代科技中的應(yīng)用越來越廣泛,將采集的圖像進行灰度處理可以提高后續(xù)算法的運行速度,也可以提高程序的綜合應(yīng)用。當(dāng)圖像中的有用數(shù)據(jù)的對比度相當(dāng)接近時,通過直方圖均衡化可以增強局部的對比度而不影響整體的對比度,從而調(diào)節(jié)曝光過度或不足的圖片。在MATLAB中,二值圖像用一個由0和1組成的二維矩陣表示,圖像中的每個像素不是黑就是白。使用二值圖像占用空間少,更易將害蟲從背景中提取出來。所以平臺需要圖像灰度化、直方圖均衡、二值圖像、提取這些圖像灰度處理功能。
4.2 總體設(shè)計
根據(jù)系統(tǒng)分析結(jié)果,得出系統(tǒng)功能應(yīng)具有如圖1所示的模塊。
打開圖像:顯示文件瀏覽窗口,當(dāng)用戶選中圖像文件后,將選中的圖像顯示在原始圖像的位置上。
5 詳細(xì)設(shè)計
5.1 程序主界面設(shè)計
程序的總體設(shè)計界面布局主要分為顯示區(qū)域與操作區(qū)域兩個部分。主界面設(shè)計如圖2所示。
程序的標(biāo)題在標(biāo)題位置顯示出來,子菜單1是基本操作模塊的位置,子菜單2是編輯圖像模塊的位置,子菜單3是噪聲處理模塊的位置,子菜單4是灰度處理模塊的位置,子菜單5是特征提取模塊的位置,子菜單6是圖像邏輯運算模塊的位置。打開圖像后,初始圖像將顯示在圖像顯示區(qū)域1,每一步處理后,圖像都在圖像顯示區(qū)域2內(nèi)更新,圖像顯示區(qū)域1內(nèi)為原始圖像,以作對比。
5.2 功能模塊設(shè)計
5.2.1 基本操作模塊
(1)打開圖像,圖3所示。
(2)保存圖像,圖4所示。
(3)退出,圖5所示。
5.2.2 編輯圖像模塊
(1)撤銷,圖6所示
(2)還原,圖7所示。
(3)截圖,圖8所示。
5.2.3 圖像邏輯運算模塊
(1)腐蝕,圖9所示。
5.3 實現(xiàn)
5.3.1 基本操作模塊
(1)打開圖像。選擇uigetfile顯示一個打開文件的對話框,選擇文件打開后,返回選擇的文件名和路徑,分別保存在filename和pathname中。若選擇取消,則返回值為0,彈出錯誤提示框。否則就使用imread函數(shù)讀出圖像的數(shù)據(jù)。
(2)保存圖像。通過對話框的形式來保存,使用uiputfile函數(shù)選擇保存圖像的文件名和地址,保存在sfilename和sfilepath中,只用imwrite函數(shù)將數(shù)據(jù)保存在指定的文件中。
(3)退出。close all。
5.3.2 編輯圖像模塊
打開測試圖像,出現(xiàn)如圖27。
對圖像進行基本處理,得到圖像的二值圖像,以便進行下一步處理。出現(xiàn)如圖28。
對圖像進行形態(tài)性處理,以便更好地提取圖像,如圖29。endprint
得到處理后的二值圖像,要提取的昆蟲輪廓以清晰,進而進行提取。提取結(jié)果如圖30。
7 總結(jié)與展望
本課題是為了實現(xiàn)現(xiàn)代化農(nóng)業(yè)的新要求,通過圖像處理技術(shù)識別出農(nóng)業(yè)病蟲害。首先詳細(xì)闡述了程序的開發(fā)背景及國內(nèi)外的現(xiàn)狀,經(jīng)過對比,選擇MATLAB作為開發(fā)工具。經(jīng)過調(diào)查,根據(jù)程序所需要求設(shè)計出6個模塊,用以實現(xiàn)對害蟲圖像的處理以及對昆害蟲的提取。最后,介紹了程序的詳細(xì)設(shè)計與實現(xiàn)。程序通過測試,能夠滿足害蟲特征提取的基本需求。在本課題中,研究提取了一種昆蟲,而在實際情況下,往往不止一種,所以,從圖像中提取若干種昆蟲,或是從圖像中提取出昆蟲后,通過各項數(shù)據(jù)與數(shù)據(jù)庫中數(shù)據(jù)對比,進而得出昆蟲的種類與防治方法,是進一步探索的課題。
參考文獻
[1]崔艷麗,王雙喜.圖像處理技術(shù)在農(nóng)業(yè)中的應(yīng)用研究概論[J].農(nóng)業(yè)推廣與安全.2006.12.33-34.
[2]吳雪梅,程堯,韋龍琴.在MATLAB環(huán)境中基于計算機視覺的番茄識別研究[J].農(nóng)業(yè)裝備技術(shù).2005.8.第31卷第4期.
[3]楊慧勇,喬建,劉偉,等.農(nóng)業(yè)害蟲遠程自動識別診斷系統(tǒng)應(yīng)用技術(shù)研究[J].山西農(nóng)業(yè)科學(xué).2010.36(6).40-42,65.
[4]于萬波.基于MATLAB的圖像處理.北京:清華大學(xué)出版社,2008年.
[5]趙汗青,沈佐銳,于新文.數(shù)學(xué)形態(tài)學(xué)在昆蟲分類學(xué)上的應(yīng)用研究.Ⅰ.在目級階元上的應(yīng)用研究[J].昆蟲學(xué)報.2003,46(1)45-50.
[6]邱道尹,王要沛,王志遷,等.農(nóng)田害蟲的圖像與處理研究[J].華北水利水電學(xué)院學(xué)報.2007.12第28卷第6期.
[7]RafaelC.Gonzalez. Digital Image Processing Using MATLAB.電子工業(yè)出版社,2009年.
[8]趙汗青,沈佐銳,于新文.數(shù)學(xué)形態(tài)學(xué)在昆蟲分類學(xué)上的應(yīng)用研究.Ⅱ.在總科階元上的應(yīng)用研究[J].昆蟲學(xué)報.2003,46(2)201-208.
[9]于新文,沈佐銳.昆蟲圖像幾何特征的提取技術(shù)研究[J].中國農(nóng)業(yè)大學(xué)學(xué)報.2003-8(3):47~50.
[10]楊宏偉,張云.計算機視覺技術(shù)在昆蟲識別中的應(yīng)用進展[J].生物信息學(xué).專論與綜述
[11]楊月華,楊方.基于計算機視覺的害蟲識別技術(shù)研究進展[J].農(nóng)機化研究.2008.1.
[12]梁改梅,楊錦忠.計算機圖像處理與分析技術(shù)在作物領(lǐng)域的應(yīng)用[J].科技情報開發(fā)與經(jīng)濟.2006年第16卷第12期
[13]GauravS,TrussellHJ.Digital color imaging[J].IEEE Trans on Image Processing.1997,6(7).
[14]Stephen J Chapman.MATLAB Programming for Engineers.科學(xué)出版社,2003年.
[15]沈佐銳,趙汗青,于新文.數(shù)學(xué)形態(tài)學(xué)在昆蟲分類學(xué)上的應(yīng)用研究.Ⅲ.在科階元上的應(yīng)用研究.昆蟲學(xué)報.2003,46(3):339-34.
(責(zé)任編輯:趙中正)endprint