APP下载

基于图像处理的蓟马计数方法研究

2020-05-19王茂林荣二花张利军贺晓红武文卿李亚林郝晓娟郭艳琼马瑞燕赵志国

山西农业科学 2020年5期
关键词:黏虫蓟马图像处理

王茂林,荣二花,张利军,贺晓红,武文卿,李亚林,郝晓娟,郭艳琼,马瑞燕,赵 清,赵志国

(1.山西农业大学农学院,山西太谷030801;2.太谷县植物保护植物检疫站,山西太谷030800;3.山西省农业科学院园艺研究所,山西太原030031)

随着农业经济的迅速发展,如何快速准确地监测害虫成为农业生产的一个重要问题。对于害虫的监测与预防,需要从虫害的发生初期就对害虫进行精确、快速地监测与计数,从而准确获取虫害信息并且进行害虫防治[1]。在实践中,害虫的预测预报主要依靠人工。但是,在人工调查时,人们运用放大镜对害虫进行计数,不仅工作量大、效率低,而且不能对害虫进行精确地识别与计数,影响了害虫的监测结果,因此,探索一种实时、准确的监测害虫技术成为害虫防治的前提和关键[2]。

为了对蓟马害虫进行预测预报需要诱集蓟马害虫,目前,我国已经对蓟马害虫的诱捕方法进行了大量研究。米娜[3]通过对蓟马趋光规律和不同波长色板田间诱捕效果进行研究,结果发现,450 nm的蓝色自制黏虫色板和反射波长为440~470 nm的诱虫色板对蓟马的诱虫效果最好。刘阳等[4]通过对蓝色黏虫板在不同高度、时间段对牛角花齿蓟马的诱集效果进行研究,结果表明,黏虫板距植物顶部10 cm 时,诱捕效果最好;黏虫板在10:00 对蓟马的诱集数量最多。李炜等[5]运用不同颜色的黏虫板对春季茶园做绿色防控,结果表明,蓝色黏虫板对蓟马的诱杀效果最好。大量研究结果表明,蓝色黏虫板对蓟马的诱捕效果最好。

同时,我国在害虫图像诊断研究方面已取得了一定的进展。ZHAO 等[1]通过运用图像处理方法和逻辑模型,对梨小食心虫图像进行灰度化、分离和形态分析,实现了对梨小食心虫的自动计数,并构建逻辑斯谛模型进行梨小食心虫的防治关键时期的预报,实现了对梨小食心虫种群的控制。张震等[6]运用图像处理方法对蚂蚁进行计数研究,通过对图像灰度化、锐化、二值化等处理,获得的蚂蚁数量准确率较高,通过图像处理可以取得较好的效果。张成龙[7]基于计算机视觉技术对菜用大豆和豌豆的豆荚内是否存在害虫进行了检测。桂便等[8]基于卷积神经网络对储粮害虫进行识别,选取了5 种储粮害虫作为训练样本,运用卷积网络的Alexnet 模型对储粮害虫进行识别,准确度达到97.62%。樊景超[9]通过MobileNets 构建深度学习模型对果园害虫进行分类识别,对6 种果园害虫识别的准确率均在90%以上。目前,研究对象主要集中在大于5 mm 的昆虫,对于2 mm 下的昆虫研究在算法和软件精准识别和计数上还存在一定的问题。

本研究以蓟马为研究对象,通过运用害虫诱捕器、远程传输系统和自动计数软件,实现对蓟马的远程监测。其中,自动化计数软件以OpenCV 图像处理和VGG19 深度神经网络模型相结合的基本手段,通过OpenCV 模块获取最佳的颜色分割通道对图像进行裁剪。对裁剪后的图像进行高斯滤波处理,去除图像噪声。再对图像进行灰度化、阈值化和二值化处理,利用低通滤波器、形态学开操作得到清晰的二值图像,利用Canny 算子进行轮廓检测,获取所有轮廓的目标图像,继而获取每个轮廓的RGB 图像。运用VGG19 深度神经网络对目标图像进行识别鉴定,从而将蓟马筛选出来,统计所有的蓟马图像并计数,最终实现对蓟马准确快速识别与计数。本研究运用OpenCV 图像处理方法和VGG深度神经网络相结合的方法对蓟马进行识别与计数,提高了蓟马监测的效率和准确率。

1 材料和方法

1.1 试验材料

试验在山西省晋中市太谷县乌马河附近的蔬菜大棚中进行。试验通过蓟马诱捕器、远程图像传输、自动化计数软件实现对蓟马的远程监测。蓟马害虫诱捕器由三角形诱捕器、蓟马诱芯和蓝色黏虫板组成,并在三角形诱捕器两端放置2.38 mm 筛孔的防虫网。图像远程传输系统运用树莓派将采集的蓟马图像远程上传到对象存储服务器。图像采集设备使用自主研发远程监控摄像头,按需求定时获取蓟马图像,本试验设置每2 h 采集一次蓟马图像。在害虫初期,温室内害虫较少,每7 d 更换一次蓝色黏虫板;中后期害虫数量迅速增加,每3 d 更换一次蓝色黏虫板。OpenCV 是开源的计算机视觉和机器学习库,提供了C++、C、Python、Java 接口,并支持Linux、Mac、Android 和Windows 系统。OpenCV 提供了很多函数,实现了从最基本的滤波到高级的物体检测等计算机视觉算法。因此,本试验在Python 环境下使用OpenCV 实现对蓟马害虫的识别与计数。

1.2 试验方法

1.2.1 图像处理方法

1.2.1.1 读取蓟马图片 在计算机内存中读取蓟马RGB 图片,蓟马图片的保存类型为二进制文件,图像的输入和输出为uint8 类型。

1.2.1.2 选取最佳的颜色分割通道 在读取的RGB 图像中,除了需要获取的蓟马蓝色黏虫板图像外,还存在着其他背景像素,背景像素会对蓟马图像识别造成干扰,因此,需要删除其他背景像素,只提取实际的蓝色黏虫板图像。为了将蓝色黏虫板图像与背景进行较好地区分,需要寻找图像最佳的颜色通道。本试验通过对图像的RGB、Lab 和HSV 的9 个通道进行比较,结果表明,HSV Color 空间的H通道对蓝色黏虫板图像和背景图像区分效果最佳。因此,选用H 通道进行后续的图像处理。

1.2.1.3 图像分割 图像分割是图像处理技术的一种重要方法。在对图像的处理过程中,人们只会获取感兴趣的部分图像,这些感兴趣的图像部分被称为目标和前景[10]。其中,图像中的具有蓟马像素的蓝色黏虫板就是目标像素。对于图像的分割,本试验采用K 均值聚类对图像进行分割处理。在H 通道上,通过K 值聚类,选择2 个聚类进行K 均值聚类分析,其中,一个聚类为前景带有蓟马的蓝色黏虫板图像,另一个聚类为不需要的背景图像。对聚类后H 通道图像进行裁剪,去除所有的黑色背景像素(删除像素值为0 的像素),得到蓟马的蓝色黏虫板图像。

1.2.1.4 高斯滤波去噪 在获取蓟马的黏虫板图像时,由于成像设备、环境、光照以及拍摄背景等因素的影响,在成像过程中容易产生一定的噪声。图像中的噪声不仅影响图像的观看,而且也会对图像的处理造成重大影响,降低图像处理结果的准确性。因此,采用高斯滤波去噪的方法处理蓝色黏虫板图像,以消除图像噪声。

1.2.1.5 二值化图像 目标图像的二值化操作方法是通过灰度直方图选取最佳的阈值,将256 个亮度等级的灰度图像通过阈值分割获得可以反映图像整体和局部特征的二值图像。其中,在灰度图像中,大于阈值的像素值设置为255,显示为白色;小于阈值的像素值设置为0,显示为黑色。将去噪后的蓝色黏虫板图像进行二值化处理,使灰度图像转化为黑白图像。

1.2.1.6 图像开操作 开运算是将输入图像先被结构元素腐蚀,然后再被结构元素膨胀的结果[11]。开运算不仅可以使图像的其他像素转化为背景,而且开运算在黏连目标的分离及背景噪声(椒盐噪声)的去除方面有较好的效果,可以起到低通滤波的作用。图像经过分割处理后,对于出现的噪声,本试验采用开操作对二值图像进行处理。

1.2.1.7 图像边缘检测 目标图像的边缘检测方法是图像分析中非常重要的一种方法,被广泛地应用于区域形状提取、目标区域识别和图像分割等图像处理操作中。图像的边缘检测有利于图像识别过程中目标像素特征的提取。在图像中,每个物体边界上的像素点,在像素周围存在梯度变化的像素值。采用灰度的变化方向和大小来表示图像灰度值的变化特征[12]。

1.2.1.8 获取图像轮廓 在计算机视觉中,轮廓检测是另一个比较重要的任务,不单是用来检测图像中物体的轮廓,而且还有其他操作(多边形边界、形状逼近和计算感兴趣区域)与轮廓检测有关[13]。

1.2.1.9 获取感兴趣区域图像 通过获取图像轮廓,获取每个轮廓的坐标,将轮廓内区域从蓝色黏虫板图像上裁剪下来,生成若干个可能是蓟马的图像。对若干的目标图像进行保存。

1.2.1.10 VGG19 网络进行蓟马识别与计数 对于获取的若干个目标图像,运用已经训练好的VGG19 深度神经网络模型实现对目标图像的鉴定,判断目标图像是否为蓟马,如果目标图像是蓟马,统计所有是蓟马图像个数,完成对整个蓝色黏虫板图像的蓟马计数。

1.2.2 图像处理算法

1.2.2.1 K 均值聚类 为了实现蓝色黏虫板图像的聚类,完成图像分割,本试验采用K 均值聚类。K 均值聚类算法是一种需要进行多次运算求解的图像处理方法,K 均值聚类首先需要在图像上随机地选取K 个点作为均值聚类的聚类中心,其中,K 值为需要对图像像素进行分类的类别个数[14]。分别计算图像上每个像素到各个聚类中心点的距离,根据该距离的大小,把每个像素点和距离最近的聚类中心分为一类。每完成一次聚类,都要对聚类中心进行重新计算。这个过程需要进行多次迭代直到没有像素被重新计算为止。

K-Means 算法为迭代型聚类算法,以距离大小作为分类指标,从而将像素分为K 个类,而且每个聚类中心都是通过求平均值的方法得到的[15]。根据给定的一个(包含n 个一维以及一维以上的数据点的)数据集X,将X 的数值分为K 个类别,运用欧式距离进行相似性分类,要求K 个聚类目标的聚类平方和最小,即最小化。

1.2.2.2 高斯滤波去噪 对于图像的去噪,本试验采用高斯模糊来处理图像。高斯模糊主要运用傅里叶变换,基于傅里叶变换,本试验通过采用低通滤波器(LowPass Filer,LPF)来消除图像噪声。低通滤波器是在像素与周围像素的亮度差值小于一个特定值时,平滑该像素的亮度[16]。高斯模糊是最常用的低通滤波器之一,它是削弱高频信号强度的低通滤波器。通过高斯滤波处理,可以去除图像噪声,为图像进行分割处理做准备。

1.2.2.3 图像边缘检测 图像中所有物体的像素点,其边界的像素都在灰度级的变化,物体与周围环境的差别越大,则像素的灰度值变化越明显。其中,这种变化最主要的特征为灰度值变化的梯度方向和幅值大小。

图像的像素值在边缘上差值较大,其像素差值的导数存在局部最大值。因此,通过获取像素差值的局部最大值和梯度方向就可以得到图像的边缘。

已知像素f(x,y)在沿梯度r 的方向定义如下。

由于梯度模算子具有各向同性和位移不变性的特点,可以运用到图像的边缘检测,而像素值变化的方向即边界的方向,则可由像素点的正切函数的反函数得到。

试验中,梯度模算子运用微分算子来表示,通过对微分算子的卷积函数来获取梯度。

微分算子主要有Canny 算子、Roberts 算子、Prewitt 算子、Soble 算子以及Isotropic Soble 算子,本研究使用Canny 算子进行卷积。Canny 算子在阶梯型边缘检测中效果最好。Canny 算子的实现步骤如下:(1)将图像进行卷积来消除噪声,运用2D 高斯滤波模板进行卷积。(2)利用Sobel 算子找到灰度值的导数Gx、Gy。(3)运用Gx、Gy的值求出梯度变化的方向。(4)计算边缘的方向。需要把图像边缘的梯度方向分为0°、45°、90°、135°,并且记录各梯度方向上的像素值。(5)对像素值计算进行迭代。图像像素的灰度值为g,其中,在梯度方向上,只要像素的灰度值g 小于等于任意一个相邻的像素值,则将该像素的灰度值g 等于0,即该像素不属于边缘像素。(6)图像边缘检测。通过所有像素与灰度直方图中2 个阈值g1、g2的大小来确定图像边缘,其中,g1>g2。如果像素与阈值g1差值大于0,则这个像素为图像边缘;如果该像素与阈值g2差值小于0,则这个像素不是边缘;如果像素值介于g1和g2之间,那么这个像素周围的其他像素值若都是小于阈值的像素,则该像素为边缘像素,否则不是。

1.2.2.4 VGG 卷积神经网络 VGG 网络模型是深度卷积神经网络的一种模型,用于对目标图像进行分类,VGG 有2 种结构,分别是VGG16 和VGG19,二者网络深度不一样,本试验选择深度比较深的VGG19 网络模型对目标图像进行检测。

1.2.2.5 计数结果判定 将获取的蓟马结果进行统计,以人工统计的蓟马数量作为对照,通过正确识别率(REFR)来评价蓟马的计数效果。

其中,REFR 表示正确识别率,Nm表示人工识别的结果,Na表示图像识别的结果。

2 结果与分析

将试验获取的10 个不同蓝色黏虫板的蓟马图像通过自动化计数软件进行处理,应用人工计数结果作为对比,获取每个黏虫板上的蓟马数量,应用正确识别率公式进行计数准确率计算。从图1 可以看出,对不同蓝色黏虫板上的蓟马进行计数,人工计数与图像计数的结果存在差异,图像计数获取的蓟马数量比人工计数得到的蓟马数量少。其中,图像计数与人工计数蓟马数量差距的最大值为3 头。自动化计数软件对蓟马计数的结果相对误差最大值为8%,平均相对误差为3.20%。通过计算准确率,对自动化计数软件获取得到的蓟马数量和人工计数的蓟马数量做对比,自动化计数软件的计数准确率的平均值为96.8%,表明自动化计数软件的正确识别率较高,通过对蓟马图像进行处理,可以获得蓟马害虫发生的动态数据。因此,图像计数可以用于蓟马的远程监测。存在误差可能是由于黏虫板上蓟马个体较小,存在蓟马图像重叠,重叠后的蓟马图像不易分辨,而且,图像计数存在的误差也受到环境因素的影响,温室大棚内光线不足,也会对蓟马图像的计数产生比较大的影响。为了提高图像计数的准确率,可以经常更换黏虫板,更换后的黏虫板蓟马数量减少,可以减小蓟马的重叠,而且需要在高清摄像头周围补充可控制的LED 光源,从而提高蓟马害虫的识别率。总的看来,自动化计数软件可以应用于蓟马的计数和种群监测。

3 结论与讨论

随着计算机技术的不断发展,害虫的预测预报在农业中所起的作用越来越大。本研究利用自动化计数软件对温室内的蓟马害虫进行计数。自动化计数软件采用OpenCV 图像处理和VGG 深度神经网络图像相结合的方法,可以很好地实现对蓝色黏虫板上的蓟马计数,该方法不仅准确率高,而且处理方法简单,可以实现对蓟马快速、准确的预测预报。

统计害虫数量是害虫监测的重要手段与方法,传统的害虫监测方法需要人工手动进行计数,费工、费时。因此,需要更加高效、准确的计数方法来对害虫进行计数。利用图像处理方法对害虫进行计数存在理论的可行性。周爱明[17]通过运用图像处理和深度学习技术对放置于水稻田间的智能测报灯采集的灯诱昆虫进行研究,实现水稻测报害虫的自动识别与计数,其中,对白背飞虱和褐飞虱的识别率分别为90.7%和85.5%。曹旨昊等[18]运用Android手机,基于HSV 空间的图像处理技术去除无关背景,使用滤波技术处理害虫图像中的翅、足等边缘不规则部分,减少了噪声的干扰,提高了识别的准确率。ZHAO 等[19]基于Gabor 小波提取特征,采用AdaBoost 算法进行特征筛选并选用SVM作为分类器训练分类模型,结果表明,可以有效地提高识别效率与精度,能够满足实时应用的需要。从目前害虫数量统计的方法来看,还没有对2 mm 以下的微小害虫计数进行研究,并且对于图像的样本获取还需要人工获取,费时费力。

本研究利用自动化计数软件,通过树莓派远程获取害虫图像,上传到服务器,通过OpenCV 图像处理技术对获取的蓝色黏虫板图像进行灰度化、阈值化处理,再利用低通滤波器、形态学开操作一系列图像处理后,得到清晰的二值图像,利用Canny算子进行轮廓检测,获取每个轮廓内的彩色图片,运用训练好的VGG19 深度神经网络模型对轮廓内的图像进行识别,统计所有蓟马图像的数量,可以准确地对蓟马进行识别与计数。此方法也可运用于其他害虫的计数和检测。然而,当环境发生巨大变化时,如光照严重干扰图像或温室内其他害虫增加时,可能会影响自动化计数软件的准确率,下一步将采用卷积神经网络方法来识别和计数害虫,从而提高害虫计数的准确率和对更加复杂环境的适用性。

本试验通过对图像处理计数与人工计数做对比,相对误差在8%以下,自动化计数软件运行效果良好,可以实现蓟马的计数和种群监测,提高蓟马计数的准确率,对于蓟马的预测预报具有重要意义。

猜你喜欢

黏虫蓟马图像处理
植物次生代谢物质对蓟马的行为调控作用及其在蓟马防控中的应用
高CO2浓度下西花蓟马和花蓟马对虫螨腈和唑虫酰胺的响应比较
海战场侦察图像处理技术图谱及应用展望
不同饲料对黏虫繁殖力的影响
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
洛阳市科技特派员到偃师市开展科技服务
临汾:抓紧防治玉米蓟马
2015年—2019年河南原阳黏虫和劳氏黏虫的种群动态
陆良县黏虫种群监测与卵巢发育特征
基于ARM嵌入式的关于图像处理的交通信号灯识别