基于MATLAB的农业病虫害识别系统

摘 要 目前,图像处理技术的应用与研究都有了很大进展,其应用也已经渗透到农业生产的各个领域。在农业生产中,病虫害一直是困扰农作物生长的基本问题。因此研究农作物病虫草害的自动检测与识别,开发智能化控制系统,准确地获取植物受害的病因、病种及受害程度是保证农业生产可持续发展的重要环节。借助MATLAB工具针对农业病虫害的图像进行识别和处理,研究基于图像处理技术的农业病虫害识别算法。通过图像处理技术实现昆虫种类自动识别,弥补了传统的给予文字描述的昆虫识别及昆虫学家人工识别方法的不足,能够给用户提供更为实时、准确的昆虫识别结果。

关键词 MATLAB;图像处理技术;农业病虫害;图像识别

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软件搭建昆虫特征提取平台。

4 系统分析和总体设计

4.1 系统分析

首先,需要搭建一个平台,通过这个平台可以打开一幅图像,并对这个图像进行剪裁、灰度化、二值化等处理,进而提取图像中的害虫特征。以下通过分析实际需求,提炼害虫特征提取平台的功能。

需求1:程序需要处理的文件是图像,要实现从计算机中调取图像,将处理后的图像进行保存,并完成图像处理后退出程序的功能。所以平台具有“打开图像”“保存图像”和“退出”的基本功能。

需求2:在图像处理过程中,需要一步一步对图像进行多项操作,在某一步操作错误的情况下,需要实现对本步操作的撤销操作。想要重新对图像进行处理时,也需要实现将正在处理的图像还原的最初状态。若图像太大不易操作,需要将图片裁剪后再使用,要有截图的功能。所以,平台需要有“撤销”“还原”“截图”的编辑图像功能。

需求3:数学形态学是建立在集合代数的基础上,用集合论的方法定量描述集合结构的科学,是一种分析几何形状和结构的数学方法。由于害虫的几何特征比较明显,所以在害虫的图像分析和处理中数学形态学方法应用较多。由于彩色图像被处理为二值图像后,如因为某些部位的光照或是病虫的足部过细会产生断点或孔洞,这时候需要通过形态学运算对其进行弥补。对于二值图像,膨胀运算使物体“加长”或“变粗”,腐蚀运算使物体“收缩”或“细化”。开运算即先腐蚀后膨胀,能够删除不包含模板形状的对象区域,能够平滑对象轮廓,断开狭窄的连接,删除细小的突出部分。闭运算即线膨胀后腐蚀,能够平滑图像的轮廓,能将狭窄的缺口连接起来形成细长的弯口,能填充比模板邻域小的洞。所以平台需要“腐蚀”“膨胀”“开运算”“闭运算”“填充”“取反”图像逻辑运算功能。

需求4:图像在拍摄和传输过程中,由于所使用的器件和传输通道的局限性,而被加人了大量的噪声,严重影响了图像的视觉效果,甚至妨碍了人们的正常识别。因此,图像的噪声消除就成为图像处理的一项重要的任务。添加噪声是为了人为的模仿拍摄或传输过程中产生的噪声,方便研究如何去除噪声。所以平台需要“添加噪声(高斯噪声、椒盐噪声、乘性噪声)”“去除噪声(中值滤波、线性滤波、自适应滤波)”的噪声处理功能。

需求5:根据昆虫的图像,对昆虫进行分类的主要依据是其身体特征,需要选取最利于分辨昆虫的特征进行提取。在科的阶元上11项特征可靠性大小依次为:似圆度、偏心率>面积、周长、横轴长、球状性>纵轴长、圆形性>形状参数、叶状性>亮斑数[15]。在作为目级阶元分类特征时,各项特征的可靠性依次为:似圆度、偏心率、亮斑数>叶状性、球状性、圆形性>形状参数[5]。在总科阶元上,11项特征的可靠性大小为圆形

性>面积、周长、横轴长、球形性、似圆度、偏心率>纵

轴长、叶状性>形状参数、亮斑数[8]。所以平台需要具有特征提取功能,负责选取偏心率、周长、区域面积作为特征提取参数。

需求6:彩色图像灰度化技术在现代科技中的应用越来越广泛,将采集的图像进行灰度处理可以提高后续算法的运行速度,也可以提高程序的综合应用。当图像中的有用数据的对比度相当接近时,通过直方图均衡化可以增强局部的对比度而不影响整体的对比度,从而调节曝光过度或不足的图片。在MATLAB中,二值图像用一个由0和1组成的二维矩阵表示,图像中的每个像素不是黑就是白。使用二值图像占用空间少,更易将害虫从背景中提取出来。所以平台需要图像灰度化、直方图均衡、二值图像、提取这些图像灰度处理功能。

4.2 总体设计

根据系统分析结果,得出系统功能应具有如图1所示的模块。

打开图像:显示文件浏览窗口,当用户选中图像文件后,将选中的图像显示在原始图像的位置上。

5 详细设计

5.1 程序主界面设计


基于MATLAB的农业病虫害识别系统_第1张图片


程序的总体设计界面布局主要分为显示区域与操作区域两个部分。主界面设计如图2所示。

程序的标题在标题位置显示出来,子菜单1是基本操作模块的位置,子菜单2是编辑图像模块的位置,子菜单3是噪声处理模块的位置,子菜单4是灰度处理模块的位置,子菜单5是特征提取模块的位置,子菜单6是图像逻辑运算模块的位置。打开图像后,初始图像将显示在图像显示区域1,每一步处理后,图像都在图像显示区域2内更新,图像显示区域1内为原始图像,以作对比。

5.2 功能模块设计

5.2.1 基本操作模块

(1)打开图像

(2)保存图像

(3)退出

5.2.2 编辑图像模块

(1)撤销

(2)还原

(3)截图

5.2.3 图像逻辑运算模块

(1)腐蚀

5.3 实现

5.3.1 基本操作模块

(1)打开图像。选择uigetfile显示一个打开文件的对话框,选择文件打开后,返回选择的文件名和路径,分别保存在filename和pathname中。若选择取消,则返回值为0,弹出错误提示框。否则就使用imread函数读出图像的数据。

(2)保存图像。通过对话框的形式来保存,使用uiputfile函数选择保存图像的文件名和地址,保存在sfilename和sfilepath中,只用imwrite函数将数据保存在指定的文件中。

(3)退出。close all。

5.3.2 编辑图像模块

打开测试图像

对图像进行基本处理,得到图像的二值图像,以便进行下一步处理。

对图像进行形态性处理,以便更好地提取图像

得到处理后的二值图像,要提取的昆虫轮廓以清晰,进而进行提取。

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.

你可能感兴趣的:(人工智能,python,计算机视觉,机器学习,编程语言)