论文部分内容阅读
摘要[目的]去除复杂背景影响,提高角斑病病斑分割精度和速度。[方法]首先对预处理后的b*通道图像采用大津法进行初分割,去除大部分背景和噪声。再对目标部位的灰度图,用基于遗传算法改进的KSW熵阈值分割法进行二次分割,得到病斑的二值图像,并计算病斑面积,最后与叶片面积做比得到病斑密度。[结果]该方法计算的病斑密度与方格板手动计算的结果的绝对误差约为0.02,而病斑的分割速度提高了45%以上。[结论]该方法为黄瓜角斑病病害程度自动诊断提供技术依据。
关键词黄瓜角斑病;图像分割;遗传算法;KSW熵
中图分类号S126;TP391.4文献标识码
A文章编号0517-6611(2017)32-0212-04
KSW Entropy Method Improved by Genetic Algorithm for Density of Cucumber Angular Leaf Spot Calculation
XU Hai1,QIN Lifeng1,2*(1.Electromechanical College,Northwest A& F University ,Yangling,Shaanxi 712100; 2.Key Laboratory of Agricultural EPC System Network, Ministry of Agriculture,Yangling,Shaanxi 712100)
Abstract[Objective] The aim was to eliminate the influence of complex background, and improve the precision and speed of angular leaf spot segmentation.[Method] Firstly, the Otsu method was used to segment the b* channel image after preprocessing to remove background noise.Then, the gray image of the target area was segmented through the GAimproved KSW entropy thresholding method, and the binary image of disease spot was obtained as well as disease spot area was computed.Finally, the disease spot density was calculated.[Results] The results showed that the absolute error of the method calculated by the algorithm was about 0.02 compared with grid plate manual calculation method, and the segmentation speed increased by more than 45%.[Conclusion] The method provides the technical basis for automatic diagnosis of disease degree of cucumber spot disease.
Key wordsAngular leaf spot of cucumber; Image segmentation; Genetic algorithm; KSW Entropy
蔬菜病害對生产者造成重大经济损失,是制约蔬菜种植业发展的重要原因。黄瓜角斑病是黄瓜主要病害之一[1],其在叶部产生病斑数量和大小是判断病害程度的主要依据。依靠人工观察计数进行判断,费时费力,准确性低。利用图像处理和模式识别技术可实现角斑病病斑密度的自动统计,作为病害防治措施的依据,从而高效地控制病害发生,减少经济损失,是农业信息化技术的重要研究方向[2-5]。
病斑密度计算以病斑分割、叶片与病斑面积计算为前提。葛婧等[6]利用玉米小斑病的RGB图像分两步将病斑分割出来,并利用分割结果求得玉米冠层危害程度。但该研究针对图像背景较单一,不适用于田间复杂背景情况。田有文等[7]研发基于Android平台的黄瓜叶部病害严重程度实时无损检测系统,采用迭代式阈值法分割叶片区域和背景区域;采用模糊C均值聚类算法提取病斑区域;最后计算病斑区域像素点个数与整个叶片区域像素点个数的比值。李冠林等[8]对完整的葡萄霜霉病单叶叶部病害正投影,利用k-means聚类算法自动分割发病区域,计算出发病區域所占叶片总面积的百分比,并根据分级标准给出病害严重度级别。关辉等[9]用分水岭法提取叶片区域,在YUV颜色模型下选取V分量进行病斑分割,通过计算病斑面积与叶片面积的比例得出病害的染病级别。李学俊等[10]对大豆样本图片的彩色梯度图,采用Otsu与分水岭相结合的算法获得病斑粗略区域,再对粗略目标区域进行模糊C聚类分割得到目标病斑。由于分水岭算法收敛较慢,使得病斑分割过程较长。
综上所述,病斑分割是病斑密度计算的前提。阈值分割快速,但最佳阈值自动获取较困难。Kapur等[11]提出的KSW熵法是自动确定阈值的有效方法,但计算量大。利用遗传算法(Genetic Algorithm,GA)并行搜索特点,改进病斑分割方法,并进一步进行密度计算。
1角斑病病斑分割
1.1图像采集与预处理
一幅黄瓜叶片角斑病原图图像如图1所示。取La*b*颜色空间b*通道进行初分割,b*通道特征可降低削弱背景噪声,克服光照影响。b*通道如图2所示。对b*通道图像进行直方图均衡化,以增强病斑和背景的对比度,结果如图3所示。 1.2KSW熵法
Kapur等[8]将信息论中Shannon信息熵用于灰度图像分割,定义前景熵与背景布熵之和为KSW熵,搜索使KSW熵最大的灰度值为最佳阈值。根据Shannon熵的概念,对于灰度范围{0,1,…,L-1}的图像直方图,其信息熵HT计算式为:
HT=-L-1t=0pilnpi (1)
式中,pi为第i个灰度级出现的概率。设阈值t将图像分为前景和背景2个部分,2类的概率分布分别为(2)和(3)式。
p0Pt,p1Pt,…,ptPt(2)
pt+11-Pt,pt+21-Pt,…,pL-11-Pt(3)
式中,Pt=ti=0pi,前景熵HA(t)和背景熵HB(t)分别为:
HA(t)=-ti=0piPtlnpiPt=lnPt+HtPt (4)
HB(t)=-L-1i=t+1pi1-Ptlnpi1-Pt=ln(1-Pt)+HT-Ht1-Pt (5)
其中,Ht=-ti=0pilnpi。
KSW熵H(t)为HA(t)和HB(t)之和,即:
H(t)=lnPt(1-Pt)+HT-Ht1-Pt+HtPt (6)
最后,通过式(7)求取最佳阈值t*。
t*=arg max0≤t≤L-1 H(t)(7)
1.3基于遗传算法改进的KSW熵分割法
遗传算法是一种高效并行的全局搜索方法,能自适应的控制搜索过程以求得最优解或满意解,在多个领域有重要应用。该研究用遗传算法改进KSW熵法(GA-KSW),有效缩短寻找阈值的时间。
由于图像灰度值在0~255,故将各染色体编码为8位二进制码;为避免种群数过多导致每一代适应度值计算量大,设置种群数为10,最大繁殖代数为500。对二进制染色体数组解码为0~255的值,以求其适应度值,适应度函数用式(6)计算。选择阶段先采用精英算法,再采用轮盘赌算法进行个体选择。假设群体的个体总数是n, f(xi)为个体xi的适应度,则一个体被选中的概率为:
p(xi)=f(xi)nj=1f(xj) (8)
以np(xi)为下一代个体的数目。适应度高的个体繁殖下一代的数目多,适应度低的个体繁殖下一代数目少甚至被淘汰。由此产生对环境适应能力较强的后代,即选择出了与最优解接近的中间解。交叉采用改进的交叉算子,当代数低于20时交叉概率取0.8,当代数高于20时,交叉概率取0.6;当代数大于30小于50时,变异概率取0.03,否则取0.02。当最优个体的适应度和群体适应度不再上升或当算法执行到最大代数时,算法停止。此时具有最高适应度值的个体即为分割阈值。
基于GA-KSW熵法的黃瓜叶部角斑病病斑分割过程如下:首先对预处理后的b*通道图像采用大津阈值法进行初分割,消除大部分背景和噪声,同时保留病斑。用二值图像对原彩色图像进行掩膜运算,将得到的彩色图像转到灰度空间,用基于遗传算法改进的最佳直方图熵阈值分割法对其进行分割,得到病斑的二值图像,最后将得到的病斑二值图像在原图中标记出来(图4)。
2病斑的密度计算
2.1叶片面积计算
对有背景噪声的叶片图像,须先将叶片从背景中分离出来并计算叶片面积,后才能统计病斑密度。首先对含病害叶片图像利用canny算子进行边缘提取,结果如图5所示。对其进行闭运算,使得各个边缘部分的像素点连通;利用面积法去掉多余像素点;再用闭运算和腐蚀使得叶片边界更加平滑,最终得到叶片的二值图像如图6所示。
2.2病斑面积计算
由图4(c)可见,得到的病斑中混淆了较多叶片边缘点,需要去除。先利用饼状结构元素进行形态学膨胀,使相邻像素点连接起来,膨胀后的结果如图7所示。再利用面积法去掉面积小边缘亮斑。再对二值图像中孔洞进行填充,最后用膨胀使未连通的细小区域相互连通,得到的结果病斑的二值图像如图8所示。利用二值图像对原彩色图像掩膜得到完整的病斑分割图像如图9所示。由图9可见,叶片边缘的光斑被过滤,得到了较完整病斑图像。
2.3密度计算
以像素点数M作为叶片面积。用病斑分割的二值图像的目标像素点数N作为病斑面积,则病斑密度的计算式为:
ρ=NM (9)
安徽农业科学2017年
3结果与分析
为检验提出算法的性能,对3幅黄瓜叶片角斑病病斑进行分割和密度计算。作为对比,同时对试验样本采用方格板法计算密度。将样本置于透明方格板下方,计算叶片所占方格数。每个方格为1 cm2,叶片边缘超过半格的计为1格,不足半格舍去。病斑面积过小的,将局部病斑图片进行10倍放大,得到放大病斑面积后再缩小10倍,得到病斑實际面积。病斑密度统计结果如表1所示。
由表1可见,该文方法所计算的病斑密度与方格法的计算结果非常接近,绝对差在大约2百分点以下。另外,对10幅病斑图像进行试验,结果表明,方格法密度计算算法得到的平均密度为7.12%,该文算法统计得到病斑的密度为6.51%,绝对差为0.52%。表明提出的方法具有较高的精度。与方格法相比,该文算法计算的密度偏小,这是由于利用面积法去掉叶片边缘像素点时,一些面积较小的病斑也被去掉。
统计3幅图片的最佳阈值搜索时间。分别用普通KSW熵法和基于遗传算法改进的KSW熵法寻找最佳阈值的时间如表2所示。
由表2可见,与普通的KSW熵法相比,基于遗传算法改进的最佳直方图熵阈值分割法大大缩短了寻找最佳阈值的时间,缩短比在40%以上。
4结论
针对黄瓜角斑病病斑分割和密度统计问题,采用遗传算法改进最佳直方图熵阈值获取方法、边缘检测和大津阈值法对病斑图像在2个颜色空间下进行分割。结合数学形态学处理,计算病斑像素数;采用canny算子边缘检测和图形学方法计算叶片面积,最终得到角斑病病斑密度。试验结果表明,所提出的方法可提取出较完整的黄瓜叶部角斑病病斑,10幅图像的密度与手动计算结果绝对差平均为0.52百分点,同时大大缩短了KSW熵法寻找最佳阈值的时间,使病斑的阈值选取更为精确。 该研究方法虽能较快速准确地分割病斑,但仍然不能完全滤掉光照和背景噪声。由于提取出完整病斑的同时过滤掉了极小的病斑,因此在计算病斑密度的时候导致结果偏小,需在后续研究中进一步改进。
參考文献
[1]
赵文俊.大棚黄瓜细菌性角斑病症状识别与防治[J].农民致富之友,2017(11):56.
[2] 张晴晴, 张云龙, 齐国红.基于最大类间方差法的黄瓜病害叶片分割[J].安徽农业科学, 2017, 45(12):193-195.
[3] 袁媛, 陈雷, 吴娜,等.水稻纹枯病图像识别处理方法研究[J].农机化研究, 2016, 38(6):84-87.
[4] 胡维炜, 张武, 刘连忠,等.利用图像处理技术计算大豆叶片相对病斑面积[J].江苏农业学报, 2016, 32(4):774-779.
[5] 马浚诚, 温皓杰, 李鑫星,等.基于图像处理的温室黄瓜霜霉病诊断系统[J].农业机械学报, 2017, 48(2):195-202.
[6] 葛婧, 邵陆寿, 丁克坚,等.玉米小斑病病害程度图像检测[J].农业机械学报, 2008, 39(1):114-117.
[7] 田有文, 郑鹏辉, 许童羽,等.基于安卓的黄瓜叶部病害程度检测系统的研发[J].计算机工程与设计, 2016, 37(5):1411-1416.
[8] 李冠林, 馬占鸿, 王海光.基于图像处理的葡萄霜霉病单叶严重度自动分级方法[J].中国农业大学学报, 2011, 16(6):88-93.
[9] 关辉, 张长利, 张春媛.基于图像处理的黄瓜叶片病斑分级方法的研究[J].农机化研究, 2010, 32(3):94-97.
[10] 李学俊, 赵礼良.扁豆病害叶片的病斑剥离分割[J].计算机工程与应用, 2014, 50(23):181-184.
[11] KAPUR J N,SAHOO P K,WONG A K C.A new method for graylevel picture thresholding using the entropy of the histogram[J].Computer vision, graphics, and image processing, 1985, 29(3): 273-285.
关键词黄瓜角斑病;图像分割;遗传算法;KSW熵
中图分类号S126;TP391.4文献标识码
A文章编号0517-6611(2017)32-0212-04
KSW Entropy Method Improved by Genetic Algorithm for Density of Cucumber Angular Leaf Spot Calculation
XU Hai1,QIN Lifeng1,2*(1.Electromechanical College,Northwest A& F University ,Yangling,Shaanxi 712100; 2.Key Laboratory of Agricultural EPC System Network, Ministry of Agriculture,Yangling,Shaanxi 712100)
Abstract[Objective] The aim was to eliminate the influence of complex background, and improve the precision and speed of angular leaf spot segmentation.[Method] Firstly, the Otsu method was used to segment the b* channel image after preprocessing to remove background noise.Then, the gray image of the target area was segmented through the GAimproved KSW entropy thresholding method, and the binary image of disease spot was obtained as well as disease spot area was computed.Finally, the disease spot density was calculated.[Results] The results showed that the absolute error of the method calculated by the algorithm was about 0.02 compared with grid plate manual calculation method, and the segmentation speed increased by more than 45%.[Conclusion] The method provides the technical basis for automatic diagnosis of disease degree of cucumber spot disease.
Key wordsAngular leaf spot of cucumber; Image segmentation; Genetic algorithm; KSW Entropy
蔬菜病害對生产者造成重大经济损失,是制约蔬菜种植业发展的重要原因。黄瓜角斑病是黄瓜主要病害之一[1],其在叶部产生病斑数量和大小是判断病害程度的主要依据。依靠人工观察计数进行判断,费时费力,准确性低。利用图像处理和模式识别技术可实现角斑病病斑密度的自动统计,作为病害防治措施的依据,从而高效地控制病害发生,减少经济损失,是农业信息化技术的重要研究方向[2-5]。
病斑密度计算以病斑分割、叶片与病斑面积计算为前提。葛婧等[6]利用玉米小斑病的RGB图像分两步将病斑分割出来,并利用分割结果求得玉米冠层危害程度。但该研究针对图像背景较单一,不适用于田间复杂背景情况。田有文等[7]研发基于Android平台的黄瓜叶部病害严重程度实时无损检测系统,采用迭代式阈值法分割叶片区域和背景区域;采用模糊C均值聚类算法提取病斑区域;最后计算病斑区域像素点个数与整个叶片区域像素点个数的比值。李冠林等[8]对完整的葡萄霜霉病单叶叶部病害正投影,利用k-means聚类算法自动分割发病区域,计算出发病區域所占叶片总面积的百分比,并根据分级标准给出病害严重度级别。关辉等[9]用分水岭法提取叶片区域,在YUV颜色模型下选取V分量进行病斑分割,通过计算病斑面积与叶片面积的比例得出病害的染病级别。李学俊等[10]对大豆样本图片的彩色梯度图,采用Otsu与分水岭相结合的算法获得病斑粗略区域,再对粗略目标区域进行模糊C聚类分割得到目标病斑。由于分水岭算法收敛较慢,使得病斑分割过程较长。
综上所述,病斑分割是病斑密度计算的前提。阈值分割快速,但最佳阈值自动获取较困难。Kapur等[11]提出的KSW熵法是自动确定阈值的有效方法,但计算量大。利用遗传算法(Genetic Algorithm,GA)并行搜索特点,改进病斑分割方法,并进一步进行密度计算。
1角斑病病斑分割
1.1图像采集与预处理
一幅黄瓜叶片角斑病原图图像如图1所示。取La*b*颜色空间b*通道进行初分割,b*通道特征可降低削弱背景噪声,克服光照影响。b*通道如图2所示。对b*通道图像进行直方图均衡化,以增强病斑和背景的对比度,结果如图3所示。 1.2KSW熵法
Kapur等[8]将信息论中Shannon信息熵用于灰度图像分割,定义前景熵与背景布熵之和为KSW熵,搜索使KSW熵最大的灰度值为最佳阈值。根据Shannon熵的概念,对于灰度范围{0,1,…,L-1}的图像直方图,其信息熵HT计算式为:
HT=-L-1t=0pilnpi (1)
式中,pi为第i个灰度级出现的概率。设阈值t将图像分为前景和背景2个部分,2类的概率分布分别为(2)和(3)式。
p0Pt,p1Pt,…,ptPt(2)
pt+11-Pt,pt+21-Pt,…,pL-11-Pt(3)
式中,Pt=ti=0pi,前景熵HA(t)和背景熵HB(t)分别为:
HA(t)=-ti=0piPtlnpiPt=lnPt+HtPt (4)
HB(t)=-L-1i=t+1pi1-Ptlnpi1-Pt=ln(1-Pt)+HT-Ht1-Pt (5)
其中,Ht=-ti=0pilnpi。
KSW熵H(t)为HA(t)和HB(t)之和,即:
H(t)=lnPt(1-Pt)+HT-Ht1-Pt+HtPt (6)
最后,通过式(7)求取最佳阈值t*。
t*=arg max0≤t≤L-1 H(t)(7)
1.3基于遗传算法改进的KSW熵分割法
遗传算法是一种高效并行的全局搜索方法,能自适应的控制搜索过程以求得最优解或满意解,在多个领域有重要应用。该研究用遗传算法改进KSW熵法(GA-KSW),有效缩短寻找阈值的时间。
由于图像灰度值在0~255,故将各染色体编码为8位二进制码;为避免种群数过多导致每一代适应度值计算量大,设置种群数为10,最大繁殖代数为500。对二进制染色体数组解码为0~255的值,以求其适应度值,适应度函数用式(6)计算。选择阶段先采用精英算法,再采用轮盘赌算法进行个体选择。假设群体的个体总数是n, f(xi)为个体xi的适应度,则一个体被选中的概率为:
p(xi)=f(xi)nj=1f(xj) (8)
以np(xi)为下一代个体的数目。适应度高的个体繁殖下一代的数目多,适应度低的个体繁殖下一代数目少甚至被淘汰。由此产生对环境适应能力较强的后代,即选择出了与最优解接近的中间解。交叉采用改进的交叉算子,当代数低于20时交叉概率取0.8,当代数高于20时,交叉概率取0.6;当代数大于30小于50时,变异概率取0.03,否则取0.02。当最优个体的适应度和群体适应度不再上升或当算法执行到最大代数时,算法停止。此时具有最高适应度值的个体即为分割阈值。
基于GA-KSW熵法的黃瓜叶部角斑病病斑分割过程如下:首先对预处理后的b*通道图像采用大津阈值法进行初分割,消除大部分背景和噪声,同时保留病斑。用二值图像对原彩色图像进行掩膜运算,将得到的彩色图像转到灰度空间,用基于遗传算法改进的最佳直方图熵阈值分割法对其进行分割,得到病斑的二值图像,最后将得到的病斑二值图像在原图中标记出来(图4)。
2病斑的密度计算
2.1叶片面积计算
对有背景噪声的叶片图像,须先将叶片从背景中分离出来并计算叶片面积,后才能统计病斑密度。首先对含病害叶片图像利用canny算子进行边缘提取,结果如图5所示。对其进行闭运算,使得各个边缘部分的像素点连通;利用面积法去掉多余像素点;再用闭运算和腐蚀使得叶片边界更加平滑,最终得到叶片的二值图像如图6所示。
2.2病斑面积计算
由图4(c)可见,得到的病斑中混淆了较多叶片边缘点,需要去除。先利用饼状结构元素进行形态学膨胀,使相邻像素点连接起来,膨胀后的结果如图7所示。再利用面积法去掉面积小边缘亮斑。再对二值图像中孔洞进行填充,最后用膨胀使未连通的细小区域相互连通,得到的结果病斑的二值图像如图8所示。利用二值图像对原彩色图像掩膜得到完整的病斑分割图像如图9所示。由图9可见,叶片边缘的光斑被过滤,得到了较完整病斑图像。
2.3密度计算
以像素点数M作为叶片面积。用病斑分割的二值图像的目标像素点数N作为病斑面积,则病斑密度的计算式为:
ρ=NM (9)
安徽农业科学2017年
3结果与分析
为检验提出算法的性能,对3幅黄瓜叶片角斑病病斑进行分割和密度计算。作为对比,同时对试验样本采用方格板法计算密度。将样本置于透明方格板下方,计算叶片所占方格数。每个方格为1 cm2,叶片边缘超过半格的计为1格,不足半格舍去。病斑面积过小的,将局部病斑图片进行10倍放大,得到放大病斑面积后再缩小10倍,得到病斑實际面积。病斑密度统计结果如表1所示。
由表1可见,该文方法所计算的病斑密度与方格法的计算结果非常接近,绝对差在大约2百分点以下。另外,对10幅病斑图像进行试验,结果表明,方格法密度计算算法得到的平均密度为7.12%,该文算法统计得到病斑的密度为6.51%,绝对差为0.52%。表明提出的方法具有较高的精度。与方格法相比,该文算法计算的密度偏小,这是由于利用面积法去掉叶片边缘像素点时,一些面积较小的病斑也被去掉。
统计3幅图片的最佳阈值搜索时间。分别用普通KSW熵法和基于遗传算法改进的KSW熵法寻找最佳阈值的时间如表2所示。
由表2可见,与普通的KSW熵法相比,基于遗传算法改进的最佳直方图熵阈值分割法大大缩短了寻找最佳阈值的时间,缩短比在40%以上。
4结论
针对黄瓜角斑病病斑分割和密度统计问题,采用遗传算法改进最佳直方图熵阈值获取方法、边缘检测和大津阈值法对病斑图像在2个颜色空间下进行分割。结合数学形态学处理,计算病斑像素数;采用canny算子边缘检测和图形学方法计算叶片面积,最终得到角斑病病斑密度。试验结果表明,所提出的方法可提取出较完整的黄瓜叶部角斑病病斑,10幅图像的密度与手动计算结果绝对差平均为0.52百分点,同时大大缩短了KSW熵法寻找最佳阈值的时间,使病斑的阈值选取更为精确。 该研究方法虽能较快速准确地分割病斑,但仍然不能完全滤掉光照和背景噪声。由于提取出完整病斑的同时过滤掉了极小的病斑,因此在计算病斑密度的时候导致结果偏小,需在后续研究中进一步改进。
參考文献
[1]
赵文俊.大棚黄瓜细菌性角斑病症状识别与防治[J].农民致富之友,2017(11):56.
[2] 张晴晴, 张云龙, 齐国红.基于最大类间方差法的黄瓜病害叶片分割[J].安徽农业科学, 2017, 45(12):193-195.
[3] 袁媛, 陈雷, 吴娜,等.水稻纹枯病图像识别处理方法研究[J].农机化研究, 2016, 38(6):84-87.
[4] 胡维炜, 张武, 刘连忠,等.利用图像处理技术计算大豆叶片相对病斑面积[J].江苏农业学报, 2016, 32(4):774-779.
[5] 马浚诚, 温皓杰, 李鑫星,等.基于图像处理的温室黄瓜霜霉病诊断系统[J].农业机械学报, 2017, 48(2):195-202.
[6] 葛婧, 邵陆寿, 丁克坚,等.玉米小斑病病害程度图像检测[J].农业机械学报, 2008, 39(1):114-117.
[7] 田有文, 郑鹏辉, 许童羽,等.基于安卓的黄瓜叶部病害程度检测系统的研发[J].计算机工程与设计, 2016, 37(5):1411-1416.
[8] 李冠林, 馬占鸿, 王海光.基于图像处理的葡萄霜霉病单叶严重度自动分级方法[J].中国农业大学学报, 2011, 16(6):88-93.
[9] 关辉, 张长利, 张春媛.基于图像处理的黄瓜叶片病斑分级方法的研究[J].农机化研究, 2010, 32(3):94-97.
[10] 李学俊, 赵礼良.扁豆病害叶片的病斑剥离分割[J].计算机工程与应用, 2014, 50(23):181-184.
[11] KAPUR J N,SAHOO P K,WONG A K C.A new method for graylevel picture thresholding using the entropy of the histogram[J].Computer vision, graphics, and image processing, 1985, 29(3): 273-285.