APP下载

基于超像素的农作物病害图像分割方法研究

2021-05-20焦翠玲王顺岗张延迪王泽辉孔德川

关键词:数目病斑聚类

焦翠玲,王顺岗,张延迪,王泽辉,孔德川

(1.河南科技学院人工智能学院,河南新乡453003;2.河南科技学院信息工程学院,河南新乡453003)

随着农业信息化和人工智能技术的飞速发展,农作物病害图像处理及模式识别技术已经应用的愈加成熟,学者们在农作物病虫害识别分类、农田作物生理生态监测、农田小气候监控预警等领域开展了广泛的应用研究,取得了不少较好的科研成果.

图像分割技术是通过像素级分类方案按照需求在图像中划分若干特定目标和不同特性区域,是图像分析的第一个重要环节[1].文献[2]对大田作物玉米病害图像采用基于差分图像的处理技术,通过从叶片病害图片中提取R、G、B三原色的通道向量,使用迭代方案自动生成阈值在图像背景中分割出玉米叶片,实现了对玉米小斑病病害图像区域进行分割.文献[3]提出了一种以小麦为研究对象的病害部位诊断算法,经过小波分解变换和纹路矩阵计算,通过自动阈值算法获取小麦病害区域的二值图像,从而计算出颜色特征值并与病害数据库中图像进行比对,做出病害检测判断.文献[4]提出了利用聚类算法提取病害部位的形状、颜色等50个特征参数,以径向基函数作为核函数构建支持向量机,对小麦病害进行分割识别.文献[5]针对玉米病害图像先做预处理,然后利用Triplet loss损失函数构建卷积神经网络,用于提取、学习病害图像特征信息,再使用SIFT算法提取病害图像纹理特征,最后通过Softmax函数对图像进行标签分类.

从上述研究可以看出,目前基于机器视觉的农作物病害自动识别诊断方法已经成为主流技术,农作物病害图像分割领域相关研究随着图像处理技术的迅速发展,已经取得了较多的科研成果.但是相关技术在农业大田作物实际生产应用中,农作物病害图像病斑区域的有效、高速分割获取还存在不少问题.现有的图像分割算法中,学者们研究的兴趣点多关注在对病害图像的病害病斑边缘、纹理和颜色等特征的处理和分析上,要求获取的病害图像分辨率高、背景干扰少,以便于算法分割识别.所以使用的病害图像多采用先在大田收集农作物病害样本,返回实验室后在专业图像采集设备上完成图像获取.而在农业大田实际生产过程中,为了更广泛地及时获取农作物病害图像,图像采集过程往往存在图像背景复杂、噪声干扰多、多尺度混杂等情况,而这些问题是原有分割算法不能解决的.在现有图像分割方法中,大部分算法的参数还需要针对农作物品种和作物病害种类的不同而进行人工干预调整,图像分割效果很容易受人为因素的影响,造成分割算法运算效率低.同时对病害图像采集要求较高、限制较多,不便于基层农业生产人员操作,相关技术推广较为困难.

本文针对在农业大田生产复杂背景情况下,小麦病害图像中病斑区域分割提取,提出了一种基于超像素的病害部位图像快速分割算法.该算法能够对在农业大田中采集到的复杂背景的作物病害图片,针对病害部位病斑区域的聚类模糊问题,采用基于超像素生成的方法进行病害区域分割,使病斑、叶片、图像背景之间有较好的分割效果区域一致性,能够得到精确的病斑边缘,便于提取病斑区域图像特征,对后续采用深度学习方法准确识别分类病害图像,有较大帮助.

1 超像素分割算法

超像素分割属于图像分割中的过分割(Over Segmentation),指的是将原像素级(Pixel-level)图像根据某种特征划分成区域级(District-level)图像.在每个子区域图像内,像素之间的某些特征具有很强的一致性,这些子区域大多数保留了图像的有效信息(如颜色、亮度、纹理等),同时通过尽可能的保存图像边缘轮廓信息来大幅提高运算效率.通过超像素图像分割算法后的结果是图像划分后子区域的集合,或图像若干纹理特征轮廓线的集合[6].子区域中每个像素之间在性能度量、特征提取等计算得出的特征都具有很强的一致性和紧密型[7].

1.1 SLIC算法

在2012年,Achanta等[8]提出了基于颜色和空间距离的简单线性迭代聚类算法SLIC,该算法是在传统的K-Means聚类算法的基础上扩展产生出的一种简单高效的超像素生成算法.算法首先划分超像素区域,对于N个像素的图像,预分割K个超像素,每个超像素大小约为N/K个像素点,并且每个超像素区域的宽度即每个超像素中心相邻距离大约为,将各超像素中心点的移动界限设定为n×n窗口,并移动至规定邻域大小内的最小梯度的位置,防止中心点在图像边缘位置中出现,避免对后续聚类过程造成干扰.

SLIC算法将图像中颜色向量和位置向量结合构成五维空间向量{l,a,b,x,y},其中{l、a、b}是CIElab颜色空间中的分量,{x、y}是像素的坐标[9].

定义两个像素点之间的距离为

式(1)中:m是用来控制超像素紧凑度的参数,dlab是像素点之间的颜色差异,dxy是像素点之间的空间距离,Ds越大,则表明两个像素点的相似度越大[10].

SLIC算法描述为算法1:

C l a b x y, , , , T k k k k k k =[ ]1设置步长s,对像素进行采样,初始化聚类中心2设n=3移动聚类中心到n×n中梯度最小的位置3对每一个像素i设置标签为-1,设置距离∞4 for每一个聚类中心Ck 5每一个像素i在一个Ck周围的2s×2s区域内进行新的聚类6 endfor 7计算新的聚类中心及残差E 8直到E≤阈值,算法收敛

1.2 改进的K-SLIC算法

在上述基本SLIC超像素分割算法中,使用K-Means方法对CIElab颜色空间像素进行聚类时,在对于颜色密集或颜色区域之间区别明显的图像有较好效果.但是,有时因为聚类条件有限,田间采集的作物病害图像背景复杂、干扰较多时,导致超像素分割出来的图块过小、相似性太高,造成局部过收敛.而图像进行超像素分割时所需的超像素数目需要人工干预进行设置,这些都对分割效果造成很大的干扰,影响分割精度和速度.

对于基本SLIC算法存在的问题,本研究提出依据农作物病害图像自身颜色数值信息,结合农作物自身种质特性和病害种类,引入作物病害易感因子,二者共同确定其超像素图像分割时所需的超像素的数目.在病害图像分割中,由于颜色数值信息量会随着输入图像分辨率的增大而增多,若对整体图像进行扫提取描颜色特征信息,会大量的占用运行内存和运行时间,提取过程中产生的冗余信息也较多.如果假设农作物病害图像分辨率大小为W*H个像素,设e为控制提取颜色信息数量的平衡参数,α为农作物病害易感因子,通过随机扫描病害图像的W/(e*α)行或H/(e*α)列来进行提取图像信息,可以大大减少运算时间和资源消耗,降低数据冗余,提高聚类精度.如果(e*α)的值越大,提取处理的像素颜色信息越少,会导致细节丢失过多,但运算效率较高;如果(e*α)的值越小,提取处理的像素颜色信息越多,会导致细节保留较多,但运算效率较低.

由于农作物的枝干、叶片等生物质部位富含叶绿素,所以大部分农作物在生长阶段为绿色,而病害部位往往会呈现黄色、白色等与绿色不同的颜色.HSV颜色空间比RGB颜色空间对颜色的色调、饱和度和亮度更加敏感,更利于且区别、分割不同颜色的部位.由于HSV颜色空间为非线性颜色空间,从RGB颜色空间转换时,转换速度快,颜色信息丢失少,更便于使用超像素方法对病害部位进行图像分割.

改进后的K-SLIC算法如算法2所示:

1依据实验经验确定平衡参数e和作物病害易感因子α 2对图像进行随机扫描,获得W/(e*α)行或者H/(e*α)列像素点的颜色信息3对获得的像素点的CIELAB颜色信息转化为HSV颜色信息4对HSV颜色信息进行非等间隔量化,合并成一维特征向量5多次扫描,取平均值,确定所需超像素数目k 6以步长s对像素进行采样,初始化聚类中心7设n=3,移动聚类中心到n×n中梯度最小的位置8 for每一个聚类中心Ck 9每一个像素i在一个Ck周围的2s×2s区域内进行新的聚类10 e ndfor 11计算新的聚类中心及残差E 12直到E≤阈值,算法收敛13修正迭代错误,合并孤立点,完成分割C l a b x y, , , , T k k k k k k =[ ]

在上述算法中,当对病害图像进行扫描提取颜色信息时,可以进行多次随机扫描,将每次扫描获得的的一维特征向量值汇总后取平均值,用于在病害图像分割中确定较为合理的超像素数目.相对于传统SLIC算法,改进的K-SLIC算法在计算图像分割所需要的超像素数目时,运行时间短,内存占用少,算法收敛速度快,图像分割效果更好.

2 实验与分析

2.1 数据预处理

本研究以小麦常见叶面病害为研究对象.病害图像分别在2018年5月13日—18日、2019年5月16日—19日采集于河南省新乡市崔庄村河南科技学院小麦千亩试验田和新乡市金蕾种业试验田,主要涉及小麦品种为百农矮抗58、周麦16、濮麦26等河南小麦产区主要品种,作物病害为锈病和白粉病.主要采集设备为课题组自研的农作物叶片图像采集装置,对病斑采集时,使用尼康D5000单反相机,镜头为定焦50 mm,光圈F2.8,固定角度拍摄,图像尺寸为3 800×2 056像素.图像采集后,对图像背景不进行处理,保持原有比例,仅将主要病害部位分割成600×450像素大小的图片用于图像分割实验.

2.2 实验结果

本研究实验实现环境为Inter Core i7-4900 K主频4.00 GHz,内存16 GB,软件为WIN7,MATLAB R2014a,分别选取阈值分割法、分水岭分割法、SLIC分割法和文中算法进行对比实验,小麦锈病实验分割结果如图1所示,小麦白粉病实验分割结果如图2所示.

图1 锈病图像分割效果Fig.1 Image segmentation effect of leaf rust

图2 白粉病图像分割效果Fig.2 Image segmentation effect of powdery mildew

通过图1和图2,在两种病害图片中,阈值分割法由于病害图片背景复杂或者病斑区域与健康叶片区域灰度差别不大,导致分割出的图像质量差,图像细节丢失过多,不能用于后续基于深度学习的病害分类识别的特征提取.分水岭算法则对图片自身的图片背景、亮度、对比度、色彩等图像质量要求较高,在图1-b中该算法就不能很好识别病斑,分割质量较差,边界保持区域一致性较差.SLIC算法能够较好地实现病害图像病斑的分割,本文算法的分割结果在复杂背景下时的边界分割明显优于SLIC算法.

图3中根据图像大小超像素数目k为随机选取,从图中可以看出,超像素数目为153和527时,图像分割区域过于细碎,作物病害病斑整体性不好,由于病斑自身纹理、颜色等特征的影响,导致图像细节被过分强调,不符合后续应用于深度学习网络的需要.超像素数目为815~1 057时,能够达到较满意的分割效果.本文算法对病害图像进行扫描提取颜色信息时,通过5次随机扫描,将5次扫描获得的一维特征向量值汇总后平均,得到推算出的超像素数目为1 036,这个数值与图3实验中得到的较好分割效果时的超像素数目1 057较为接近,病斑区域分割整体性较好,能够体现出病斑整体特性,便于提取图像特征,有助于判断作物病害程度和进展.本文算法通过推算得到超像素数目比原有算法通过随机获取超像素数目,能够更快的使算法收敛,复杂度更低.算法运行时间比较见表1.

图3 超像素数目对图像分割的影响Fig.3 The influence of the number of super pixels on image segmentation

表1 算法运行时间比较Tab.1 Algorithm running time comparison

由表1可知,除了阈值分割算法以外的其他三类超像素算法的运算速度均优于阈值分割法,同时由于本文算法对图像分割前超像素数目的选择是通过随机扫描图像的W/(e*α)行或者H/(e*α)列来获取一维特征向量,大幅减少了计算量,使本文算法运算速度相对于其他三种算法,得到较大提高.

3 结论

本文提出的基于超像素的K-SLIC分割算法,通过将SLIC算法中的CIElab颜色空间转换为HSV颜色空间,同时超像素数目由随机扫描图像W/(e*α)行或者H/(e*α)列,实现了一维特征降维,并由平衡参数e和作物病害易感因子α来控制分割质量,有效改善超像素分割造成的零碎图块,从而使算法达到了较好的分割效果和较快的运行速度.

猜你喜欢

数目病斑聚类
一种傅里叶域海量数据高速谱聚类方法
移火柴
一种改进K-means聚类的近邻传播最大最小距离算法
AR-Grams:一种应用于网络舆情热点发现的文本聚类方法
基于OTSU算法的苹果果实病斑图像分割方法
套袋对柠檬果实外观品质的影响
基于Spark平台的K-means聚类算法改进及并行化实现
牧场里的马
轻松治愈花斑癣
轻松治癒花斑癣