王燕妮,贺 莉
(西安建筑科技大学 信息与控制工程学院,西安 710055)
在中国,临潼是最大规模的石榴生产基地。目前,临潼区石榴栽植面积达10万亩,年产鲜果8万吨,从事石榴生产销售的企业、专业合作社有30余家,石榴产业年产值达5亿元以上[1]。石榴是临潼重要的水果作物,由于石榴的病害,约有10~30%的作物损失。因此,需要在开始阶段确定疾病,并向农民提出解决办法,以便可以避免最大损害,从而提高产量。
植物的疾病大多是在它们的叶子、果实和植物的茎上,石榴由于果腐病、炭疽病、枯萎病和褐斑病等叶病而遭受巨大损失。在农业领域,对叶类疾病的早期检测是主要的挑战。农民一般用肉眼观察来判断疾病,但这种方法有时可能会造成误判,而且在很多时候,农民还需要召集专家来检测同样的疾病,在大农场中,如果采取这种检测方式是很费时的。利用数字图像处理技术,在工业检验、医学成像、遥感、农业加工等不同领域发现了大量的应用。
对于各种农业应用中的分析,数字图像处理技术已经被建立为一种有效的方法,如植物识别、土壤质量估计以及在农业领域中作物产量的估算等。数字图像处理技术在农业中的应用之一是对植物病害的检测。
病害类型可分为细菌、病毒、真菌等,在中国发现的石榴叶病害主要有交链孢属和炭疽病[2]。文章重点研究了应用图像处理技术对交链孢属、炭疽病和健康叶片进行识别和分类,介绍了如何实现石榴叶片疾病的自动检测。该研究为石榴叶病的检测和分类提供了快速、准确、成本低廉的方法。
在农业应用中,许多学者利用数字图像处理技术对植物叶片病害的检测进行了大量的研究。由于不同植物的病害症状表现大不相同,每种疾病都有自己独特的特点,仅仅依靠传统的病理知识和历史经验可能会误判病期,所以对叶子上的疾病的视觉识别不太准确,需要有更多的经验和知识。
植物病害自动检测在农业领域具有优势,因此是一个重要的研究课题。在处理较复杂的图像背景时,张芳[3]运用了一种超像素和形状上下文结合的分割算法使黄瓜病叶图像的背景部分与目标区域成功分离,达到了预期效果。在Tobias Baum,Udo Seiffert[4]等人的大麦分割斑块实验中,预处理使用二值化进行图像增强,然后使用Sobel边缘检测算子分割并最终分离叶斑。Al-Hiary H,Bani-Ahmad S[5]等,首先识别大多数绿色像素,然后根据Otsu方法计算的特定阈值对这些像素进行屏蔽,最后完全去除红色、绿色和蓝色零值像素和受感染集群边界上的像素。张武、黄帅[6]等人首先使用K-means聚类分割算法去除图像背景,然后使用Otsu阈值法和面积阈值法等各种算法,对小麦植株图像进行多次分割,最终很好地分割出了带有病斑的小麦图像。Prasad,Shitala[7]等人提出了一种新的高效、鲁棒的移动视觉系统,用于移动设备中的无监督叶子图像分割,开发了一种基于纹理的植物叶片图像分割聚类算法和一种像素聚类方法。尚怡君[8]等人在3种玉米病害叶片图像数据库上通过实验对比了主成分分析技术(PCA)+概率神经网络(PNN)、神经网络(ANN)与贝叶斯方法,实验结果表明,采用监督局部保持映射(DLPP)算法与最近邻分类器相结合识别植物病害,识别精度达到85.5%。
植物病斑检测过程分为图像处理和机器学习两部分。首先,需要获取实验数据图像,然后进一步处理这些数据。最后,机器学习模型基于图像特征对疾病进行分类。图像处理技术的总体流程包括图像采集、图像预处理、图像分割和图像特征提取。机器学习包括特征选择和分类,植物叶片病斑识别技术如图1所示。
图1 系统方框图
具体算法步骤如下:
1)首先将采集到的彩色叶片图像进行裁剪,保留图像的病斑部分和绿叶正常部分,并将图像大小统一到275×183的尺寸;
2)对裁剪后的图像使用高斯滤波进行去噪,并使用直方图均衡化增强病斑图像细节;
3)采用基于权重的改进距离公式,根据k均值(k-means)算法重新计算聚类中心,以确定各部分所属类别;
4)基于颜色矩提取HSI颜色空间3个通道的颜色特征,利用灰度共生矩提取图像的9个纹理特征;
5)将得到的特征参数输入到线性支持向量机中进行分类识别。
计算机的视觉和图像处理技术具有很强的客观性和及时性,将计算机视觉技术应用于果农业的发展研究中,依靠高科技创新技术来带动果农业发展并提高经济作物产量,是一项很有现实意义的课题。
图像识别首先需要获取实验数据,这一步的主要任务是利用相关电子设备或通过其他途径将所需要的实验目标采集下来,当把采集到的图像输入计算机时,图像的模拟信号转换为数字信号。图像采集过程的合理性将直接影响图像的质量和后续图像处理的效果。
在本研究中,石榴叶图像来自AI challenger农作物病害检测竞赛中的plant village数据集,图片格式保存为 JPG格式,用于训练和测试。收集到的图像包括交链孢属、炭疽病和健康叶片。
获取到的植物叶片上可能会出现灰尘、露珠、昆虫粪便,这些被认为是图像噪声,为了避免这些噪声影响后续分割病斑的效果,一般情况下,需要对采集到的原始图像进行预处理。此外,捕捉到的图像可能会出现一些水滴和阴影效应的失真,这将会在分割和特征提取阶段造成问题,因此,可以使用不同的去噪滤波器来衰减或消除这种失真的影响。
在这个步骤中,首先调整图像大小到275×183的尺寸,然后进行高斯滤波以去除图像中的噪声,最后对病害图像进行增强。预处理既消除了背景噪声,又抑制了不想要的失真,提高了图像质量。
在图像分割中,是将给定的图像分割成与某些特征有关的均匀区域。分割的目的则是为了将图像进行简化表示,并将其转换为更有意义且更易于分析的内容。聚类是将大型数据集分组为小集合或相似数据段的一种方法。本次研究中,采用K均值聚类算法将预处理后的图像分割成三簇,如图4所示。所述簇包含叶的患病部分,正常绿叶部分和背景区域。
k-means算法应用于植物病害图像分割的优点[9]和k-means算法过程如下所示。
1)K-means算法的优点:
(1)聚类是一种无监督学习的方法,可以将一些没有标签的数据划分成若干类,算法原理简单,收敛速度快,能够很好地区分图像区域间存在较大差异的图像。
(2)适用于球类型分布的数据。由于石榴叶出现的病斑大多呈现椭圆斑状,所以利用K-means聚类算法分割具有很好的效果。
(3)需要调节的参数只有簇数K,当选取合适的初始聚类中心后,仅仅依据图像的颜色信息就可以对图像进行聚类,具有很强的鲁棒性。
2)K-means算法过程:
(1)将数据集划分为K个簇数,并将数据点随机分配给聚类。
(2)对于每个数据点,采用近邻思想将其划分到最近邻所在的簇中,本文给出的改进算法通过权重来计算距离,从而界定是否属于一类,任意两个数据点(x1,y1),(x2,y2)的欧式距离为:
(1)
改进的距离公式为:
(2)
其中:Si是聚类中心i所属的类别中数据的个数,S是所有数据的个数。
(3)如果数据点最靠近它自己的群集,则将其放在它所在的位置。
(4)如果数据点不是最接近其自己的群集,则将其转移到附近的集群中。
(5)重复所有步骤,直到所有的数据点满足条件为止。
(6)若集群趋于稳定,聚类过程停止。
算法伪代码:
输入:数据集S={x1,x2,…,xn};
聚类簇数K;
过程:
从S中随机选择K个数据作为初始向量{α1,α2,…αk}
Repeat
令Cj=φ(1≤j≤k)
fori=1,2,…,ndo
利用权重计算数据xi与各向量αj的距离:
根据最近邻原则确定xi的簇标记:υi=argmindij
将数据xi划分到相应的簇:Cυi=Cvi∪{xi}
end for
Forj=1,2,…,k
Ifαj′≠αjthen
将此时的均值向量αj更新为αj′
else
保持此时的均值向量不变
end if
end for
Until 此时均值向量均未更新
输出:簇划分C={C1,C2,…,Ck}
其中,S为数据集,C为聚类所得簇。
特征提取用于提取可用于确定给定样本的重要性的信息,图像分析的特征提取方面侧重于识别图像中的固有特性或存在对象的特征,一般情况下,这些特征可以用来描述对象。图像特征的主要类型是形状、颜色和纹理,这些特征主要用于图像处理技术[10]。
在该系统中,颜色是图像的一个重要的特征,因为它可以从病叶中区分出不属于正常叶片颜色的区域,纹理特征指出颜色图案如何在图像中分布。因此,颜色特征和纹理特征都被提取出来,以获得更好的精度。以下步骤用于计算给定图像的颜色特征:
1)首先将RGB图像转换为HSI颜色空间。
2)将图像细分为3×3块。
3)使用以下公式计算九个块中每个块的平均颜色:
(3)
其中:xi是像素强度,N是像素总数。
将计算出的平均值作为其中的一个颜色特征。
4)对于每个块,使用以下公式计算方差:
(4)
所计算的方差具有测量可变性的能力。
5)计算H/S/I各块的偏度:
(5)
利用偏度来判断图像表面分布的对称情况。
这样每个区块将有3+3+3=9种颜色特征。
然后采用病斑图像的9种纹理特征:对比度,能量,最大概率,均匀度,逆差分矩,差异方差,对角线方差,熵,相关性[11]。计算公式如表1所示。
表1 纹理特征的数学公式
分类是分析图像特征的各种属性并将其分类为各种声明类的过程。在植物病害的分类中,利用分类技术根据图像提取的特征对疾病进行分类,从而检测叶片病害类型。分类处理是将给定的输入模式与一个不同的类相关联,不同的分类模型包括支持向量机,神经网络,最近邻分类器和基于规则的分类器。该系统采用线性支持向量机( Linear Support Vector Machine,简称LSVM)对叶病进行分类。
支持向量机是一种二元分类器,它使用一个超平面,称为两类之间的决策边界。支持向量机的主要目的是实现超平面和类边界之间的最大距离,以避免将向量错误划分为其他类。这个超平面将划分为一个包含标记为+1的目标训练向量的类,另一类包含标记为-1的训练向量。
使用此标记的训练向量,SVM优化器找到一个超平面ωTx+b=0,在超平面的上方定义y=1,在超平面下方定义y=-1,然后将使两个类中的分离边缘最大化,如图2所示。
图2 支持向量机模型
分类通常涉及两个阶段,分别为训练和测试。首先使用特征值及其相应目标值训练分类器,然后使用这个经过训练的分类器对测试图像进行分类。
本研究共使用了750幅石榴叶片图像,包括病害图像和健康图像,其中600幅为病害图像,150幅为健康叶片图像。
图像处理第一步是预处理,图3显示出原始图像和增强图像。
图3 原始图像和增强图像
然后使用k-means聚类将滤波后的图像分割为3个簇,最后提取所有3个分割图像的颜色和纹理特征。图4显示出了使用k-means聚类形成的3个簇。
图4 使用k-means分类结果
实验结果显示,使用改进的k-means聚类算法成功地将图像聚为三类,由炭疽病和交链孢属原始彩色图像可以直观看出,聚类1为叶片背景区域,聚类2为病斑区域,聚类3为叶片正常绿色区域,分割出的交链孢属病斑和炭疽病病斑图像均完整清晰。图5为使用标记符控制的分水岭变换分割结果,从图中可以看出,石榴叶的交链孢属病斑图像分割结果较好,但是炭疽病病斑图像的右侧区域分割效果不佳。
图5 使用标记符控制的分水岭变换分割结果
本文对单叶图像的3个分割部分分别计算了9个颜色特征和9个纹理特征。因此,单叶图像的特征值总数变为(9+9)×3=54。这些特征值统称为特征向量,给出了经过训练的支持向量机分类器,该分类器根据特征值将输入的石榴叶图像分为交链孢属、炭疽病和健康叶片三类。
图3所示的图像是石榴的交链孢属病斑,SVM将其分类成交链孢属类,并将此结果呈现到如图6中所示的消息框中。
图6 消息框显示出的分类结果
支持向量机分类器的总体性能概括为表2,图7为支持向量机性能分析。从图7可以看出,支持向量机对石榴叶片病斑的分类效果显著。
图7 支持向量机性能分析
表2 SVM分类结果
(6)
该系统使用调整大小、高斯滤波和增强对图像进行预处理。为了分割病叶面积,采用K均值聚类技术对图像进行分割,然后利用颜色和纹理特征进行特征提取。最后,利用支持向量机分类技术对叶片病害类型进行检测。实验中考虑了三类石榴叶片,即交链孢属病斑、炭疽病病斑和健康叶片。实验结果显示,该系统对交链孢属、炭疽病和健康叶片的平均准确率为89.55%。今后的研究将重点放在以下几点:
1)利用融合分类技术,开发出多种算法的组合,提高分类过程的检出率。
2)在检测疾病的基础上,根据病害面积,向种植石榴的农民提供适当的杀菌剂混合物,以便他们在农场中进一步使用。
3)在嵌入式系统的帮助下,设计一套自动喷施杀菌剂混合物的自动化系统,实现使用喷雾机构自动喷雾。