APP下载

基于GrabCut和HSV彩色空间的三七叶片病斑图像分割∗

2021-11-08赵浩鹏麻之润刘帅君

计算机与数字工程 2021年10期
关键词:像素点算子分量

赵浩鹏 叶 飞 麻之润 刘帅君

(1.云南农业大学大数据学院 昆明 650000)(2.云南大学滇池学院 昆明 650000)

1 引言

目前在人工智能、深度学习的背景下,大多采用深度卷积来对图像进行特征提取,过程中需要大量数据去训练。但现实生活中,很难汇集大量数据。对于小样本的情况下的特征提取成为学者研究的焦点。农业领域中的小样本大多为野生环境下提取,并不是标准数据集,存在客观因素,如光照、环境复杂等。在这种情况下进行图像的特征提取以及进一步的识别仍然无法达到精确提取和识别。因此在小样本的情况下,提高分割精度是具有重要意义的,对于后续图像分析起到的作用也是至关重要的[1]。

三七作为我国名贵中药材,由于其属阴生植物、生长周期长,故常常诱发各种疾病。现实情况中,带有病斑的野生三七叶片图像大多是在复杂背景以及在阳光照射存在影子的条件下获取的。这种情况下,利用大多数的分割方法很难抑制噪声,导致对病斑的分割效果差,从而对于后续特征提取以及分类识别造成很大影响。

计算机视觉是研究计算机模拟生物外显或宏观视觉功能的科学和技术,其主要指的是通过计算机来实现仿人类的视觉功能[2]。计算机视觉技术发展历史虽短,但该技术已在包括农业生产在内的很多应用领域发挥了重要作用,主要包括图像获取、处理与模式识别等。在农业领域,计算机视觉技术模拟人眼对农作物进行可见光谱的拍摄,再运用图像处理等技术对拍摄作物图像信息进行提取分析,获得对农作物研究所需的信息,并指导农业的生产与发展。张建华等[3]利用改进自适应分水岭分割方法解决了对粘连棉花叶部病斑的分割问题。郭翰林等[4]在HSV彩色模型下,解决了对再生稻收割机视觉导航的稻田图像分割问题。冷建伟等[5]提出一种基于HSV色彩模型与区域生长法的水文图像分割方法,解决了水文图像像素间的连通性和邻近性问题。所以,在对处理的图像数据分析之前,图像分割是最重要的一步之一。由于彩色图像比灰度图像提供的信息更多,张辰等[6]提出了一种基于HSV综合显著性的彩色图像分割方法,解决了彩色图像中目标难以准确分割的问题,准确地分割出彩色棉花异性纤维图像中的异性纤维目标。并且随着计算机处理能力的快速提高,对彩色图像特征提取以及处理正受到人们越来越多的关注,与此同时对彩色图像进行分割也成为焦点[7]。对于彩色图片的分割方法主要有直方图阈值法、特征空间聚类、基于区域的方法、边缘检测、模糊方法、神经元网络、基于物理模型方法等[8]。

本文针对这种情况以及三七叶部病害的特点首先通过GrabCut算法对目标图片进行预分割去除背景,得到带有完整病斑的三七主叶片。然后讨论了基于RGB彩色空间转换到HSV彩色空间的彩色图像分割方法,提出了一种基于HSV彩色空间模型的像素点之间颜色距离的定义,同时也比较了传统分割方法的特点、优劣。目标是在复杂的背景环境以及阳光照射出现影子的情况下,利用不同的彩色空间,提取出三七病害分割边缘。本文以三七圆斑病为例(与文山采集),如图1所示。

图1 三七圆斑病原始图像

2 相关技术

2.1 GrabCut算法

GrabCut算法是Graphcut法的迭代算法,同时是一种交互式图像分割算法。GrabCut算法[9]利用了RGB图像中的颜色信息和边界信息,由人工框选感兴趣的区域,框内认为是未知区域,框外认为是背景区域。将未知区域与标定的背景区域建立GMM(高斯混合模型),根据人工选框的选取的结果分别初始化前景GMM与背景GMM,再将初始化后的框内区域(未知区域)分为目标与背景两个区域。在迭代过程中将RGB模型下的图像D={d1…,dj,…,dn}(其中n为像素,dj为第j个像素的RGB值)中的像素值映射成一个无向图,该图只有两个端点(前景终点s,背景终点t),所以称为s-t图(如图2)。由图2可知,对于图像中的每个像素点来说迭代后的终点只有s和t两个中的一个,而连接这两个终点的边上的权值是根据能量函数的区域项和数据项决定的。权值可以反映出对应像素点与相邻像素点间的颜色差异信息以及该像素点属于前景还是背景等信息。最终通过最大流/最小割来实现图像的分割,过程中对GMM参数进行更新,同时使用更新后的GMM参数继续对s-t网络图进行再次分割,直到算法收敛停止分割。所以GrabCut算法的主要思想就是将图像分割的问题转换为对s-t网络的分割问题。GrabCut算法使用简单的人机交互式分割大大降低了图像分割的工作量,分割能量E通过反复迭代更新的GMM,最终收敛于最小值,从而使得图像的分割精度有所提高。具体能量函数E(d)如下:

图2 s-t图

其中,E(d)表示图像的总能量,ER(d)表示区域项总能量,EB(d)表示边界项总能量,向量d由图像中每一个像素的d n的值组合而成表示对图像中每个像素是属于前景还是背景进行标号)。其中,每一个d对应着一个对图像的分割结果。区域项R,对dn起到约束的作用,使其和观察到的数据θ保持一致。边界项B,用来对相邻像素点标号的一致性进行判断。νi代表图像中的每一个像素点(表示为s-t图中的每一个节点)。Pgmm(νi‖dn)表示由GMM得出的每个像素点属于dn的概率。

2.2 GrabCut算法预分割结果

由于三七叶片上的病斑颜色与背景颜色相近,为深褐色或浅褐色。使用传统的方法对病斑进行直接分割很难降低背景噪声对病斑分割的影响。考虑到这一点,使用GrabCut算法对复杂背景下的三七病斑叶片进行预分割,并得到去掉背景并带有完整病斑的预分割图像。同时比较了最大类间距法(Otsu)的分割结果(如图3所示)。从结果可以看出Otsu法在分离叶片主体和背景时,由于病斑与背景颜色过于相似,将病斑区域与背景区域同时分割,背景有噪声存留;GrabCut算法去除背景的同时很好地保留了三七叶片主体以及病斑的完整性。

图3 预分割结果对比

3 基于HSV空间的病斑分割

3.1 HSV彩色空间模型

HSV[10~11](Hue-Saturation-Value)色彩空间是根据颜色的直观特性在1978年由A.R.Smith创建的一种颜色空间,也称六角锥体模型(如图4)。H分量存储图像的色调信息(00=R,1200=G,2400=B);S分量存储图像的饱和度信息;V分量存储图像明度信息。H,S,V分量分别表示不同颜色、颜色深浅以及颜色的明暗程度。

图4 HSV彩色空间模型

HSV色彩空间模型是一种较直观的颜色模型,并且被广泛地应用与许多图像编辑工具中,如Pho⁃toshop图像编辑软件(软件中也叫HSB)等。HSV彩色空间与RGB[12]彩色空间的转换关系如下:

HSV彩色空间的特点如下:

1)具有与人眼视觉系统一致的彩色描述方式;

2)允许独立控制色调、饱和度和明暗强度(值);

3)为了方便进行颜色之间的对比,HSV色彩空间模型能够更加直观地表达图片色彩的明暗、色调以及鲜艳程度;

4)可将V分量与H和S分量孤立起来,这是许多彩色图像处理算法所需要的。

3.2 颜色距离的定义

颜色距离是指代表两种颜色之间的数值差异,其反映的是图像中的颜色在人们视觉上的差距,这是进行图像分割的基本依据[13~14]。对于图像在上小节所提到的HSV彩色空间模型中来说,其每个像素点的颜色信息只与该像素点的色调(H)和饱和度(S)分量有关。这与人对颜色的感受一致。其中,H分量中的值不是线性的,其值为一个环(如图4所示)。Androutsos等[15]通过实验大致的划分了对HSV彩色空间模型中三个分量(H,S,V)的取值。实验表明当V分量的值大于0.75并且S分量的值大于0.2时,图像区域表示为亮彩色区域;当V分量的值小于0.25是,则为黑色区域;当V分量的值大于0.75并且S分量的值小于0.2时,则为白色区域;其他则为彩色区域。在使用OpenCV处理上述定义的颜色距离时发现,为适应计算机8bit(0~255)的取值范围。将HSV中S分量和V分量的取值范围扩大至0~255之间,而H分量的取值范围则缩小为变为0~180。因此为防止处理色调差hij饱和度距离sij和像素点颜色距离Dij时数据值运算溢出异常,分别将H,S,V的取值范围做归一化处理为0~1。另外,由于黑色和白色在HSV彩色空间模型中的特殊位置(如图4),所以这两种颜色像素点在与其他颜色像素点定义颜色距离时应区别于其他颜色之间对颜色距离的定义。对于以上所述情况,给出两像素点之间颜色的距离定义为

其中,di和dj为逻辑变量表示每个像素点的值,当值为0时,表示该点为白色或黑色,值为1时,表示该点为彩色。hij为色调差。sij表示i像素点和j像素点的饱和度距离。Dij是i像素点和j像素点的颜色距离。νi表示i像素点的亮度值。通过Dij的数学表达式可以看出黑色像素点和白色像素点与其他彩色像素点的颜色距离值为0,而黑、白像素点之间的颜色距离也为0。同时,在对Dij进行定义的表达式中有两个参数k1和k2,这两个参数分别为色调的参数因子和饱和度的参数因子,二者分别对色调(H)和饱和度(S)在图像分割中的作用大小起到控制作用。调节k1值可对不同颜色像素之间的距离进行调整,增大可使边界的区分更加明确,而调节k2值则可对相同颜色中不同饱和度区域之间的距离进行调整。

上述这种颜色距离的定义,可以根据不同环境、不同性质的图片,选取不同的k1和k2的值,使得识别范围更加广泛。在具有较好的通用性的同时,该颜色定义也使图像在HSV彩色空间模型中存在的黑色像素点和白色像素点之间的距离问题以及黑、白像素点与其他彩色像素点之间的距离问题得以解决。当存在像素点di=0或者dj=0的情况时,Dij=0,则会去掉对三七图像预分割后存在的叶片边缘噪声。并做到了颜色数值的差异与人眼识别颜色的一致性。

3.3 分割边缘提取

在提出颜色距离的定义的基础上,可以通过图像中各个像素点在图片颜色空间上的位置关系并结合横向、纵向颜色值的突变,得到颜色突变的边界,并将此边界作为分割的边缘进行提取。目前像Sobel算子、Canny算子和Robert算子等常常被用于提取图片的分割边缘。

然而,在HSV彩色空间模型中,因其对颜色的描述方式为一个六角锥体,使得例如H分量并不是线性的。而索贝尔算子(Sobel算子)的运算过程中带有加法运算,这样则不能得到真实的颜色突变区域。在此基础上,针对python中对HSV彩色空间模型中各个分量实际的取值范围。本文使用了改进的索贝尔算子(Sobel算子),改进后的算子运算过程中只用运到了减法运算。同时对颜色梯度算子也进行改进,具体如下:

其中,D是上一节定义的颜色距离。而梯度算子R(i,j)则由以下两个2×2的模版共同实现:

使用上述横向和纵向两个梯度模板通过卷积的运算方式在得到的三七预分割图像上进行运算,得到图像颜色分量的梯度图像,再通过对梯度图像设定阈值进行二值化处理,最终提取到相应的三七病斑分割边缘。

3.4 边缘提取结果及分析

从图5(b)中可以看出,在灰度图像下使用So⁃bel算子进行边缘检测时,将三七叶片上的病斑分割出来的同时,也将叶脉及叶片边缘分割了出来,导致检测出的分割边缘效果差。图5(c)是用本文定义的颜色距离和改进后的索贝尔算子提取到的边界。通过对比图5(b)结果,可以清晰地看到,本文方法在色调因子k1和饱和度因子k2分别取0.1和0.05时得到的分割边缘效果较好,在保证了三七病斑完整性的同时也去掉了大量的无关边缘的提取。

图5 实验结果

4 结语

本文研究了GrabCut算法和HSV彩色空间模型的特点,并定义了一种与人类视觉系统描述颜色方式一致的颜色距离计算方法,用改造后的索贝尔算子对三七圆斑病病斑边缘进行提取。从结果可以看出本文方法对在复杂的背景环境以及阳光直射情况下的三七病斑分割效果较好。该方法能在保留图像颜色信息的同时,结合图片的多维度空间信息,并且通过调整色调因子和饱和度因子的大小可以实现对自然条件下叶片病斑的识别,大大提高本文方法在图像分割上的通用性。但方法本身仍有不足,由于本文使用的改进的一阶sobel(索贝尔)算子,在处理图像过程中抗噪能力比较差,并且个别一些处在叶片边缘上的病斑连通性不好,有待进一步提高。

猜你喜欢

像素点算子分量
画里有话
Domestication or Foreignization:A Cultural Choice
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
一种X射线图像白点噪声去除算法
论《哈姆雷特》中良心的分量
基于灰度直方图的单一图像噪声类型识别研究
基于canvas的前端数据加密
QK空间上的叠加算子
图像采集过程中基于肤色理论的采集框自动定位