APP下载

寒地水稻稻瘟病显微图像分类方法研究

2022-05-26郭庆阳

软件导刊 2022年5期
关键词:稻瘟病像素点孢子

郭庆阳,谭 峰

(黑龙江八一农垦大学信息与电气工程学院,黑龙江大庆 163319)

0 引言

水稻一直是我国乃至全世界人民赖以为生的重要粮食作物,稳定水稻量产对国家粮食安全有着不言而喻的意义。有关统计表明,亚洲为全世界提供了大部分的稻米[1],但很多因素会导致水稻减产,比如病虫害的侵袭。由于气候、耕作方式、选取的品种不适合种植环境以及不合理用药等因素。近年来,我国多地区出现了水稻病害面积逐步增大、病害种类逐步增多等情况。稻瘟病孢子用肉眼难以观察,会随着空气以及雨水传播到水稻的各部位造成稻瘟病,水稻病稻瘟病会直接导致水稻减产,带来惨重的经济损失[2]。因此,及时判断出水稻各部位上是否有稻瘟病孢子尤为重要。

在植物病害识别领域,目前都采用图像处理与机器学习或深度学习相结合的方法进行病害识别。马超等[3]使用水稻病害图像的HOG 特征结合支持向量机对水稻5 种病害进行识别,并对水稻叶片上病斑位置进行定位;张乃夫等[4]使用卷积神经网络对玉米以及马铃薯等5 种病害进行识别,并研究采用两种池化方式对准确率的影响;陈悦宁等[5]使用NAGSA-BP 算法对水稻3 种病害进行分类研究,提取病害图像的颜色特征、形状特征、纹理特征,识别准确率高达90%以上。

上述研究针对的都是植物叶片上的病害,此时植物已经发病并且极有可能造成减产,目前对于水稻稻瘟病孢子图像的分类研究还较少。因此,在发病前及时预防稻瘟病具有重要研究意义。

1 实验材料与方法

1.1 材料

实验用的稻瘟病孢子玻片(见图1)在2020 年12 月5日获取,来源于黑龙江八一农垦大学农学院,玻片数量为5片,使用美佳朗光学显微镜进行观察,使用mipro 显微图像采集软件进行图像采集。

Fig.1 Glass slide of rice blast spores图1 稻瘟病孢子玻片

1.2 实验方法

在采集图片的实验中,首先调节光圈,能看到白亮的视野后调节粗准焦螺旋,直至看到模糊的稻瘟病孢子后调节细准焦螺旋,调节到能看到清晰的稻瘟病孢子图像后就可以采集图像,然后移动玻片就可以看到不同的稻瘟病孢子。本研究采用40 倍物镜及500 万像素的电子目镜进行观察,使用mipro 图像采集软件进行图像单帧拍摄,每张图像大小为2 592×1 944。本实验使用Python 的Opencv 模块以及skimage 模块进行图像预处理及特征提取,使用Python的NumPy模块进行数据处理。

2 实验与结果分析

2.1 稻瘟病孢子显微图片采集

对采集的稻瘟病孢子进行剪裁,剪裁的正样本图片为336 张,负样本图片为294 张,每个图像大小剪裁成240×280,因为孢子大小不同,该图像尺寸可以保证能将稻瘟病孢子都完整地覆盖。稻瘟病分生孢子呈鸭梨形,成熟的稻瘟病孢子基部是钝的圆形并且有一个小突起,顶端是尖的,有两个横膈膜,如图2 所示。负样本采集的是气泡等一些杂质,如图3所示。

Fig.2 Image of rice blast spores图2 稻瘟病孢子图像

Fig.3 Negative sample image图3 负样本图像

2.2 稻瘟病孢子显微图像预处理

在稻瘟病孢子图像采集过程中,由于玻片及采集设备的影响,采集到的图片会有一些噪声及干扰,将影响之后的特征提取,因此需要对图像进行去噪,为提高识别率,需要用到灰度化、二值图像等其他预处理方法。

2.2.1 图像灰度化

图像灰度化指将彩色图像3 个通道变为一个通道,这样像素点颜色就变为灰色[6]。本文采用加权平均法进行图像灰度化(见图4),采用加权平均能够在最大程度上保留图像原有信息,将r、g、b 根据不同的权重进行加权平均,如式(1)所示。

其中,b、g、r 为每个通道的像素值,Gray 为灰度化之后的像素值。

Fig.4 Grayscale image图4 灰度化图像

2.2.2 中值滤波

中值滤波的原理是:规定大小为A×A 的窗口在图像上进行滑动,然后将这些像素点按值大小排序,之后用第(1+A2)/2 的像素值代替中心的像素值,A 为正整数,一般取值为3、5、7、9[7]。本实验采用3×3 的窗口,采用峰值信噪比(PSNR)衡量滤波效果[8],如图5 所示。峰值信噪比定义为:

其中,MSE 代表稻瘟病孢子原图像与中值滤波后图像之间的均方误差。MAXI代表稻瘟病显微图像中像素点颜色的最大数值为255。通过公式计算出的峰值信噪比为40.16,说明有较好的滤波效果且未失真,保留了图像原有信息。因此,中值滤波适用于对稻瘟病孢子显微图像进行去噪。

Fig.5 Median filtered image图5 中值滤波后的图像

2.2.3 图像分割

图像分割的主要思想是根据前景和背景像素点的差异将前景提取出来,大津算法由于其操作简单而被广泛应用于图像分割。本研究采用大津算法进行图像二值化,大津算法会根据稻瘟病孢子与背景像素点的差异进行自动阈值选取,主要思想是使得图像前景像素和背景像素类方差最大,这样避免了传统二值化方法需要手动设置阈值的问题。可以看出,使用大津算法二值化后的图像可以有效地保留稻瘟病孢子的完整轮廓,如图6 所示。灰度图像中前景和背景像素点的灰度值之间会有一定差异,因而可以用类方差的大小描述前景和背景之间的不同,一旦错分,类间方差就会变小。当前景和背景之间误分的像素点最少时,类间方差最大[9]。假设图像的分辨率是a×b,根据像素点可以分为两类,第一类为前景,第二类为背景,w0 表示第一部分的像素与a×b 个像素的比值,u0 表示第一部分像素值的总和与第一部分像素点总数的比值,w1 表示第二部分的像素与a×b 个像素的比值,u1 表示第二部分像素值的总和与第二部分像素点总数的比值,u 表示a×b 个像素值的和与a×b 的比值,g 代表类间方差。再将图像中所有的像素点与阈值T 进行逐一比较,结果分为3 种:第1 种是阈值比像素点的值大,总数记为n0;第2 种是阈值比像素点的值小,总数记为n1;第3 种情况是相等,则可以加到n0或n1里。用公式表示为:

将T 的值从0~255 范围内依次代入,可以算出使g 最大时的分割阈值T。

Fig.6 Image segmented by OTSU图6 大津算法分割后的图像

2.3 稻瘟病孢子特征提取

2.3.1 形状特征提取

对二值化图像使用Canny边缘检测能够更好地实现对稻瘟病孢子轮廓的边缘提取,Canny 相比于其他边缘检测算法具有更好的去噪能力及更高的精度[10]。通过轮廓检测进行形状特征提取,可提取椭圆度、最小外接矩形长宽比、周长、面积作为稻瘟病孢子轮廓的形状特征,如图7、图8 所示。面积为稻瘟病孢子最外层轮廓所包含像素点的个数,周长为稻瘟病孢子最外层轮廓像素点的个数。本文采用Opencv 中的minAreaRec 函数求解最小外接矩形,其主要原理是先求轮廓点集的凸包,然后求凸包的最小外接矩形,稻瘟病孢子最小外接椭圆是根据顶点坐标绘制,本研究使用fitEllipse 函数求取顶点坐标[11]:

式(10)中,B[0]、B[1]、B[2]、B[3]代表4 个顶点坐标,A(B[m],B[n])表示B[m]和B[n]之间的距离,S 表示稻瘟病孢子最小外接椭圆的面积。

椭圆度计算公式为:

式(11)中,N 为椭圆度,Z 为稻瘟病孢子的面积,A、B分别表示稻瘟病孢子最小外接椭圆的长轴及短轴。

Fig.8 Minimum circumscribed ellipse and minimum circumscribed rectangle图8 最小外接椭圆与最小外接矩形

2.3.2 纹理特征提取

纹理特征也可以作为图像分类的主要依据,纹理特征的数据代表前景像素的分布情况以及前景与背景的关系等一系列重要信息。目前,图像处理中大多数使用两种方法提取纹理特征:第1 种是灰度共生矩阵,也叫作GLCM;第2 种是局部二值模式,也称为LBP。本研究采用这两种方法提取稻瘟病孢子图像的纹理特征。

灰度共生矩阵能够准确地反映出灰度图像中各像素点之间的相关性,灰度共生矩阵P(i,j|d,θ)(i,j=0,1,2,…L-1) 表示灰度级别为L 的灰度图像中,角度为θ,间距为d的灰度值为i、j的两个像素出现的次数[12],可以用如下6个参数描述灰度共生矩阵:

(1)角二阶矩(ASM)。角二阶矩可以用来表示稻瘟病孢子纹理粗细水平以及衡量图像灰度分布均匀水平,可用公式表示为:

(2)对比度(Contrast)。对比度可以用来反映图像清晰水平及纹理深浅水平,可以用公式表示为:

(3)相关性(Correlation)。相关性可以用来表示图像局部的相关水平,可用公式表示为:

式中,μx、uy表示行方向与列方向上的均值,σx、σy表示行方向与列方向上的方差。

(4)相异性(Dissimilarity)。相异性可以由权重随矩阵元素和对角线距离的线性增长方式得到,可用公式表示为:

(5)同质性(Homogeneity)。同质性原理与相异性相反,其以指数形式减小。可用公式表示为:

(6)能量(Energy)。能量表示图像纹理的灰度变化稳定程度,当图像中的纹理比较稳定并且有规则地变化,则代表能量值大。可用公式表示为:

本研究设置θ为4 个角度,分别为0。、45。、90。、135。,距离d=1,取4 个方向参数的平均值,这样就形成了6 个灰度共生矩阵的特征值。

LBP 作为一种较好的图像局部纹理特征提取算法,主要原理是通过设置半径及采样点得到一个邻域,再根据像素值的大小对中心点和邻域点做减法,加入结果大于0,则该邻域点的像素值置为0,如果差值小于0,则该邻域点的像素值置为1,这样就可以用二进制数代表图像的纹理特征[13],经过不断改进,Ojala 等[14]于2002 年提出旋转不变的统一模式,解决了之前LBP 容易缺少方向信息和维数过高由此引发的计算量过大等问题。本研究采用LBP 的旋转不变的统一模式获取纹理特征[15]。

式(18)中,U(LBPP,R)代表0变为1的次数,若U(LBPP,R)≤2为统一模式局部二值模式,则:

式(19)中,gi、gp表示邻域内第i个和第p个像素点的灰度值,gc表示所设置的邻域中心像素点的灰度值,P 为采样点数,R 为半径。

本研究所采用的模式具有稳定的旋转不变性及灰度不变性,设定R=3、P=8,总共输出10 个特征值,维数低,可以降低模型训练时间。

部分稻瘟病孢子显微图像特征如表1 所示。由于各特征值之间的量纲不同,本研究对稻瘟病孢子图像特征值进行数据预处理所采用的方法是Z-Score 标准化。该方法能够使数据缩放到同样的范围,可以减少不同量纲的数据对训练模型的影响[16]。

Table 1 Microscopic image characteristics of some rice blast spores表1 部分稻瘟病孢子显微图像特征

2.4 基于支持向量机的稻瘟病显微图像分类方法

支持向量机是机器学习领域的一个经典算法[17-18],对于小样本分类问题依然有着很高的准确率[19],支持向量机的主要思想为找到最合适的超平面,在符合分类精度的情况下,让该超平面和样本之间的间距最大。假设有一组样本集为(xi,yi)的样本数据,分类函数可以表示为:

其中,b*表示分类阈值,表示拉格朗日乘子,sgn()表示符号函数。

如果不存在将正负样本严格划分开的超平面,可以增加松弛项ξ(ξ≥0)及惩罚系数C,还可以使用核函数将数据映射在高维空间,然后在高维空间找到一个超平面分割正负样本,这样就使低维线性不可分问题变成了高维线性可分问题[20]。在SVM 中经常使用以下核函数:

线性核函数(Linear):

径向基核函数(RBF):

多项式核函数(POLY):

多层感知机核函数(Sigmoid):

本研究设定的训练集与测试集比例为3∶1,每个样本具有20个特征值,通过多次对比验证,结果如表2所示。

可以看出,在稻瘟病孢子显微图像训练样本不多的情况下,使用SVM 进行分类具有较高的识别准确率。同时,也可以看出使用径向基核函数的识别准确率最高为98.7%,因此可以选择径向基核函数用于稻瘟病孢子显微图像分类。

Table 2 Comparison of recognition accuracy of different kernel functions表2 不同核函数识别准确率对比

3 结语

本文使用数字图像处理技术及SVM 实现了对稻瘟病孢子显微图像的分类研究,结果表明,使用大津算法的图像二值化可以有效分割出稻瘟病孢子,中值滤波可以减小周围噪点对之后特征提取所带来的影响。稻瘟病孢子轮廓的形状特征及纹理特征可以较好地表现出稻瘟病孢子显微图像的本质特征,SVM 对于小样本分类问题有着较好的稳定性及较高的准确率。但是,本文只对北方寒地水稻稻瘟病孢子显微图像进行了研究,由于不同地区的水稻稻瘟病孢子在形态上有些差异,后续可对其他地区水稻稻瘟病孢子图像作分类研究。

猜你喜欢

稻瘟病像素点孢子
基于Meta-QTL和RNA-seq的整合分析挖掘水稻抗稻瘟病候选基因
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
不同药剂防治苗稻瘟病、叶稻瘟病效果试验研究
鲫鱼黏孢子虫病的诊断与防治
生物绿肥在稻瘟病防治中的应用与示范
制作孢子印
几种药剂防治水稻稻瘟病穗瘟效果试验
石头里的孢子花粉