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