基于图像处理技术的甜瓜叶片病斑定级方法研究
2019-01-14姚鑫锋籍延宝李琳一
马 超,袁 涛,姚鑫锋,籍延宝,李琳一
(上海市农业科学院农业科技信息研究所,上海201403)
在农业生产实践中,病虫害一直是制约农副产品优质高产的关键因素,只有做到准确、及早的识别,才能有针对性地进行防治。我国在病虫害诊断方面,无论是传统方式的人工识别,还是后期的专家系统判定,其病虫害的特征主要依靠人的分辨或者归纳,结论往往带有很大的主观因素,存在一定的局限性、主观性和模糊性,且效率不高[1]。20世纪90年代后期,专家们逐渐将计算机视觉技术引入对农作物病害识别的领域,目的是寻找一种高效准确的诊断方法,希望能够替代传统的植保专家,对病虫害进行自动化的诊断。
国内对基于图像的病虫害研究较多,如王映龙等[2]对危害水稻的害虫图像进行预处理,提取颜色及形状特征,采用BP神经网络对虫害类别进行识别;蔡清等[3]通过分析害虫食过的蔬菜图像,提取其形态特征,采用BP神经网络识别虫害类别。
针对病虫害智能识别的研究虽然常见于报道,但这些研究都比较偏向于实验室,很少用于实际生产,分析其原因主要有两点:一是图像处理识别病虫害需要使用很多计算机外的知识,如拍摄以及图像处理相关知识,很难做到一键式;二是国内外常用Matlab或者OpenCV等图像处理或数据分析工具[4-5],导致代码的跨平台性较低。鉴于此,本研究基于VS平台下C#语言,拟开发一套田间自动病斑定级系统,尝试从图像处理中的相机标定、二值化、图像分割等流程做一些改进,简化输入流程,实现一键式西甜瓜病斑定级,以降低各类田间病虫害诊断的门槛,为农作物病虫害类别的快速识别提供技术参考,促进计算机图像处理技术、模式识别技术等在农业工程领域中的应用。
1 系统设计
1.1 病斑定级及拍摄流程
植物群体的发病程度可以用多种指标计量,如发病率、严重度和病情指数等。本研究将病害发生于植株或器官的罹病面积所占的比率作为判定依据(即病斑与非病斑面积的百分比值),将发病的严重程度由轻到重划分出一定级别。
本研究采集过程中,利用智能手机或其他高像素成像设备在田间自然光状态下拍摄病害图片,拍摄需要配合前后两张背景板。图片要求病害叶片以及背景板完整拍摄在一张图内,且背景板尽量保持与相机边框平行。如需活体测量,可通过改造背景板,选择柔性材料开口,使叶片穿透背景板即可。
1.2 软件运行环境及处理流程
系统整体采用EmguCV(OpenCV的C#版)作为整体图像处理库,VS 2010平台下C#作为实现语言。图像获取不限制图片格式以及分辨率,要求手机拍摄时尽量平行于背景板。病斑定级处理流程如图1所示。
图1 病斑定级系统流程图Fig.1 Flow chart of lesion grading system
2 图像预处理
2.1 图像降维及增强
为避免强光直射造成背景板的反光,本研究采用丝绒等材质的幕布,但也带来了图片预处理后噪点过多的问题(如大颗粒灰尘、花粉等)。同时,为了保证最终测量结果的精度,图像分辨率要求越高越好,这无疑会增加计算机的运算。所以,对原始图片进行降维和增强是必要的过程。一般计算机保存图片都是RGB或HSL等三通道以上的色彩格式[6],本研究在预处理阶段关心的问题是形状因素,与色彩相关性不高,将三通道的图片改为单通道的灰度图可以有效降低运算维度,从而加快计算(图2)。
图2 病斑定级系统预处理流程Fig.2 Pretreatment process of lesion grading system
2.2 形状检测
本研究采用非固定拍摄位置,使用任意标准矩形的背景板作为参考物,通过叶片与矩形背景的比值推算出叶片的面积以及对应的病版面积。按照正常使用流程,图片中最大近似矩形为包含病变叶片的背景板,通过对图片中矩形的检测,可明确标定出目标位置,然后通过霍夫直线检测将背景板真实的边缘描述并拟合出来。
2.2.1 多边形逼近
轮廓的多边形逼近是指使用多边形来近似表示一个轮廓。多边形逼近的目的是为了减少轮廓的顶点数目。但多边形逼近的结果依然是一个轮廓,只是这个轮廓相对粗旷一些。算法原理比较简单,核心就是不断找多边形最远的点加入形成新的多边形,直到最短距离小于指定的精度。
实际应用中多边形逼近是图像处理中常用的手段,可以很好地简化轮廓的表达。虽然多边形逼近返回的是形似的轮廓,但其已经将原轮廓发生了变化。本研究用多边形逼近作为判断前置背景的依据(矩形),实际判定角点以及面积信息时采用霍夫直线检测后拟合直线的方法,以保证精度。
2.2.2 霍夫直线检测
霍夫变换是图像变换中的经典手段之一,主要用来从图像中分离出具有某种相同特征的几何形状(如直线、圆等)。以直线检测为例:每个像素坐标点经过变换都变成直线特质有贡献的统一度量,即一条直线在图像中是一系列离散点的集合,通过一个直线的离散极坐标公式,可以表达出直线的离散点几何等式X*cos(theta)+Y * sin(theta)=r。其中角度theta指r与X轴之间的夹角,r为到直线几何垂直距离。任何在直线上的点(x,y)都可以表达,其中r和theta是常量。
在实现的图像处理领域,图像的像素坐标P(x,y)是已知的,而r和theta则是要寻找的变量。如果能绘制每个(r,theta)值根据像素点坐标P(x,y)值的话,那么就从图像笛卡尔坐标系统转换到极坐标霍夫空间系统,这种从点到曲线的变换称为直线的霍夫变换。变换通过量化霍夫参数空间为有限个值间隔等分或者累加格子。当霍夫变换算法开始,每个像素坐标点P(x,y)被转换到(r,theta)的曲线点上,累加到对应的格子数据点,当一个波峰出现的时候,说明有直线存在。
图2d—f取背景板左上角为例,依次为多边形逼近后左上角描述状况;霍夫直线检测后图片内直线线段描述状况;将找到的线段分类整理并拟合后求出左上角交点坐标。
2.3 图像仿射变换
将之前步骤中取得的拟合直线(背景板的四边)求相互之间的交点,可以得到矩形背景在图片中的4个顶点坐标。这4个顶点由于是非垂直固定方式拍摄的,所以无法真实描述物体形状,系统需要将物体映射到标准平面上,才能相当于相机垂直拍摄的状态[8]。
图3为原始图经过预处理后定位到前置矩形背景4个顶点的示意图。图4为将上述4个顶点重新定义后仿射变换后的结果图,图片已经完整地切割出了前置背景,并且基本看不到后置背景的残留,还原了叶片以及前置矩形背景。
图3 顶点计算结果Fig.3 Vertex calculation results
图4 仿射变换结果Fig.4 Affine transformation results
3 图像处理
3.1 自适应二值化
在图像处理应用中二值化操作是一个很常用的处理方式,常用的图像二值化方法有:1)全局固定阈值;2)局部自适应阈值;3)OTSU等[9]。
本系统由于未严格限制光源以及背景板,所以采用局部自适应阈值的方式进行二值化,即根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的优点在于每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布决定的。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值,效果如图5所示。在此基础上结合全局阈值结果,两者做相加运算后经过形态学运算,得到最终结果图,分析此图可得到叶片形态数据。
3.2 色调分离
色调是基于全图的整体色彩评价,指图像整体的倾向(明度、纯度、色相三要素)。色调分离相当于用多个级别的色彩阈值对图像进行细致分割[10],原理是基于RGB色彩模型作为研究对象,RGB三通道均采用8位表示,也就是每个通道有256种颜色,可以组合成256×256×256=16 777 216种颜色。色调分离就是将每个通道的颜色分成几个色阶,每个色阶对应一个固定的颜色值。
采用色调分离的目的是对图片进行图像分割。一般而言,植物病斑均是正常叶片逐渐过渡发展为明显不同于正常叶片色彩的颜色(常见为黄褐色或灰白色),常用的RGB色彩范围分割以及HSL色彩分割针对病斑很难获取到合适的阈值。但色调分离是完全基于叶片本身的色彩细分种类(之前的处理已经将背景等干扰项完全排除),不需要精确地给定阈值。这样,就给系统提供了一种稳定可靠的色彩分割依据。
图5a—d为将透视变换结果图进行色调分离(色阶目标数为8)的结果,选取其中黄色部分,得到病斑结果(图5e)。
图5 叶面积计算与病斑面积计算Fig.5 Calculation of leaf area and lesion area
4 实例分析
本研究以某农业科学院实际工作中遇到的甜瓜叶片病斑定级为例,针对单个大棚随机抽样10株,每株随机抽取不同高度的6张叶片,每张叶片连续拍摄5张图片,共300个样本进行试验。
采用iPhone6手机,黑色无反光背景布作为后置背景,普通白色A4打印纸作为前置背景,叶片置于前景前手动俯拍出后置背景,填充满整个图像,前置背景完全进入图像,叶片完全进入前置背景的照片作为合格图像,分析并处理图像中叶片面积以及病斑的面积,统计结果如表1所示。篇幅原因仅展示第1张叶片的5张图片的处理结果。
人工定级标准:1级,无病斑;2级,病斑占总面积10%;3级,病斑占总面积11%—25%;4级,病斑占总面积26%—50%;5级,病斑占总面积51%—75%;6级,病斑占总面积76%—100%;7级,全叶片枯死。
表1 测试图片结果统计
采用霍夫检测直线线段后拟合直线求出顶点以及采用基于阈值和自适应二值结合的方法修正图像并计算叶片面积的方法,对单个叶片多张图片进行处理,结果表明:面积离散度基本小于0.5%,能够很好地还原真实叶片面积。
采用色阶分离的方法自动分离病斑数据离散程度较大,但也基本小于5.5%,离散度较大的原因主要是拍摄质量不稳定,早期病斑色彩与叶片色彩接近等,可通过多次拍摄取均值或提高对比度等方法解决。采用色调分离的方法不需要根据每幅图片输入病斑色彩参数,完全自动化分离病斑并数值化叶片病虫害状态,可很好地代替人工评定。
5 结论
本研究提出了一种基于图像处理技术的植物病斑定级系统的设计与实现。针对现有图像处理技术在农业试验中遇到的拍摄以及定位问题进行优化,可采用多个背景自适应逐步定位前置背景以及叶片,采用色阶分离自动分离病斑以及叶片。实践结果表明,本研究可以很好地解决活体拍摄、田间拍摄以及参数输入繁琐等问题,结果也能较好地反应出病斑状况。
本研究设计尚存部分不足,希望可以通过以后的工作补足。如:色阶分离前希望添加一步白平衡色彩修复,自动定位角点后采用线性填充的方法逐点修正拍摄图像,而非仅采用4个顶点仿射变换得到修正图。