基于局部模糊聚类的植物叶脉提取

2018-09-26 12:02杨泽静郑伯川
关键词:叶脉灰度边缘

杨泽静,张 征,郑伯川

(西华师范大学 数学与信息学院,四川 南充 637009)

0 引 言

地球上形形色色的植物构成了我们的绿色家园。传统的植物分类方法是综合植物的茎、叶、花、果实、种子等信息对植物进行分类识别。叶片作为植物的重要部分,相对于花、果实、种子等来讲,具有存在周期长,方便采集等优点,常被单独作为区分植物的重要特征。而叶脉是区分叶片的重要特征,不同植物的叶脉排列往往也不相同,因此提取叶脉对植物叶片识别具有非常重要的意义。

随着计算机图像处理技术的发展,许多研究者都尝试利用计算机图像处理算法自动从叶片图像中提取叶脉。傅弘等[1]提出基于人工神经网络的叶脉信息提取算法;Zheng和Wang[2]提出了结合数学形态学的植物叶脉提取算法;李永亮等[3]等提出模糊逻辑与复合顺序形态学相结合的叶脉检测方法;马全军等[4]提出基于方向能量的植物叶脉提取算法;张立红等[5]提出基于Hough变换的植物叶脉检测算法;李灿灿等[6]还提出的基于k-means聚类的植物叶脉提取算法;宣旭峰等[7]提出基于HSV彩色空间与直方图信息的植物叶脉FFCM算法。这些方法分别从不同的角度探究了叶脉的提取。

田甜等[8]提出基于全变分去噪和八方向sobel算子的叶脉提取方法,将传统sobel算子的方向模板增加到八个,利用这八个方向的边缘检测算子模板得到叶脉多方向的边缘。该方法简单,快速,对叶脉边缘定位准确,但提取的始终是叶脉边缘而非叶脉本身。李灿灿等[9]提出基于改进的sobel算子和色调信息的叶脉提取算法,该方法利用sobel算子检测边缘作为叶脉,但是由于主叶脉较粗,只能提取到叶脉的边缘,不能提取叶脉中间部分。为了避免主叶脉出现空洞,该方法再利用色调信息提取主叶脉,然后将两者结果融合在一起作为叶脉。虽然主叶脉是真正的叶脉区域,但是次叶脉还是只是叶脉的边缘。传统的聚类方法能够提取叶脉区域,但得到叶脉区域对光照特别敏感,往往包含许多叶肉区域。因此,本文提出基于局部聚类的植物叶脉提取算法,该算法结合了边缘检测和局部聚类的优点,利用边缘检测得到局部区域,然后对局部区域进行聚类,得到的最终叶脉区域不仅区域定位准确,而且避免了光照的影响。

1 基于局部模糊聚类的叶脉提取

1.1 叶脉提取流程

本文的叶脉提取流程如图1所示,具体每个框图的实现细节在后面逐一介绍。

1.2 叶片区域提取

包含叶片的图像中往往包含非叶片区域的背景,要准确提取叶脉,首先需要将叶片与背景区分开,提取出叶片区域。具体算法步骤如下:

步骤1:将叶片彩色图像CI(见图2a)转换为灰度图像GI(见图2b),利用公式(1)进行转换。

GIx,y=0.299Rx,y+0.587Gx,y+0.114Bx,y

(1)

其中,Rx,y、Gx,y、Bx,y分别是RGB彩色空间中像素x,y的3个颜色分量。

步骤2:利用最大类间方差法[10]得到阈值h,利用公式(2)将叶片区域与背景分隔,得到叶片区域的模板图Mask(见图2c)。

(2)

步骤3:根据Mask求出叶片区域的左上角坐标lx,ly和右下角坐标rx,ry。

步骤5:根据坐标lx,ly和rx,ry裁剪彩色图像CI和灰度图像GI,得到只包含叶片区域的彩色图像cI和灰度图像gI,以及模板图mask;

步骤5:对彩色图像cI和灰度图像gI,以及模板图mask四周添加5个像素宽度的背景,设最后得到的图像大小为m×n。最后得到的彩色图像cI和灰度图像gI,以及模板图mask分别见图2d—图2f

1.3 基于Canny边缘检测提取包含叶脉的初始叶脉区域

通常,叶片中叶脉部分的颜色比叶肉部分的颜色亮度更高,而边缘处的颜色亮度介于它们之间。因此本文利用边缘处的颜色作为阈值对叶片区域进行二值分割。另外由于全局阈值不能将全局不明显的叶脉分割出来,因此本文采用局部阈值进行分割。Canny边缘检测算法[11]具有检测的边缘定位准确,且是单一的边缘响应的优点,因此本文利用Canny边缘检测算法检测叶脉与叶肉颜色发生改变的边缘,以及背景与叶片区域发生颜色改变的边缘,然后根据边缘得到包含叶脉的区域。具体步骤如下:

步骤1:利用Canny边缘检测算法检测灰度图gI的叶脉边缘,得到叶脉边缘二值图edge1(见图3a);

步骤2:利用Canny边缘检测算法检测叶片区域模板图mask,得到叶片轮廓二值图outline(见图3b);

步骤3:叶脉边缘二值图中包含轮廓信息,因此需要从叶脉边缘图edge1中去掉轮廓图outline的轮廓,得到新的叶脉边缘图edge2。去掉轮廓的步骤如下:

1)对轮廓图outline中的每个轮廓像素点x,y;

2)找到叶脉边缘图edge1的对应点x,y,将以该点为中心的7×7邻域内的点全部设为零,得到去掉叶片轮廓的叶脉边缘图edge2(见图3c)。

步骤4:基于局部阈值对gI的叶片区域进行分割,得到包含叶脉的区域,具体步骤如下:

1)计算灰度图像gI中全部叶脉边缘像素点的平均灰度值gth作为全局分割阈值。

(3)

2)计算叶片区域每个像素的局部分割阈值。针对叶片区域的每个像素点x,y,按公式(4)计算其局部分割阈值。

(4)

非叶片区域的每个像素点的局部阈值取任意正值。

3)根据局部分割阈值矩阵lTH对灰度图像gI进行二值分割,得到包含叶脉的区域图vein1(见图3d)。

(5)

步骤5:由于可能受光照不均的影响,在初始分割图vein1中,亮度较高的叶肉会被分割成叶脉区域(见图3d)。叶脉区域与叶脉边缘相邻,因此可以利用叶脉与叶脉边缘相邻的特点,将大部分误分为叶脉的叶肉区域去除掉。对于每个像素点x,y,逐一按公式(6)计算,得到包含叶脉的区域vein2(见图3e)。

(6)

1.4 对初始叶脉区域进行模糊聚类提取最终叶脉区域

模糊聚类具有很好的无监督的学习能力,广泛用于解决分类问题。如果对整个叶片区域进行聚类,容易受光照不均等噪音影响,对叶脉和叶肉的分类效果不好。因此本文在前面对包含叶脉的局部区域提取的基础上,利用模糊聚类方法对vein2对应的彩色图像进行分类,得到最终的叶脉区域。

1.4.1 模糊聚类[12]

模糊聚类通过优化目标函数,得到每个样本到全部聚类中心的隶属度,选择隶属度最大的类,实现自动对样本数据进行分类。

给定一个数据集X,把这些数据分成c类,分别对应的聚类中心为C1,C2…Cc,Uij表示数据样本j属于类i的隶属度。定义模糊聚类的目标函数和约束条件,分别如公式(7)和公式(8)所示。

(7)

(8)

其中,n是样本个数,m为隶属度因子,用来刻画属于样本的轻缓程度。

模糊聚类开始之前首先初始化Ci,i=1,2,…,c,由公式(9)可以得到隶属度矩阵的初值,然后根据公式(9)和公式(10)交替迭代计算,直到收敛。最后计算每个样本的最大隶属度,得到该样本的所属类别。

(9)

(10)

1.4.2 局部模糊聚类

对提取出来的包含叶脉的区域进行模糊聚类,具体步骤如下:

步骤1:获得包含叶脉的区域中所有像素的坐标idex矩阵,使得

vien2(idex(i,1),idex(i,2))=1

(11)

idex是一个p×2的矩阵,p是vien2中所有值为1的点数。

步骤2:根据公式(12)提取彩色图像中的点,得到聚类样本数据。

(12)

data是一个p×3的矩阵。

步骤3:对data进行模糊聚类,将其聚为c1和c2两类。

步骤4:选择c1和c2两类中平均灰度值最大的类为叶脉类,另外一类则是叶肉类。设叶脉类中的点在data中的行索引为vidx。

步骤5: 利用公式(13)计算获得叶脉的彩色图cvein。

(13)

2 实验结果与分析

本文实验对比了文献[8]、文献[9]、全局模糊聚类算法以及本文算法的叶脉提取效果(见图4)。由图4b可以看出,文献[8]提取的叶脉主要是叶脉边缘,在较粗的叶脉处,叶脉中间出现明显的空隙,没有提取出真正的叶脉区域;图4c中,文献[9]虽然利用了色调信息提取了主叶脉区域,但是次叶脉仍然是叶脉边缘,并且在主叶脉部分的许多地方出现孔洞现象;图4d中,由于是基于全局模糊聚类,提取的叶脉受光照不均影响严重,提取的叶脉包含大量的叶肉区域。图4e是本文方法的叶脉提取结果,从结果图可以看出,本文方法相比文献[8]和[9],提取的是叶脉区域,不是叶脉边缘;相比全局模糊聚类方法,主要提取的是叶脉区域,有效避免光照不均的影响。

3 结束语

本文提出的基于局部模糊聚类的叶脉提取方法通过Canny边缘检测,不仅能够准确定位叶脉边缘,而且还可以有效去除光照不均的影响,同时通过叶脉边缘定位,可以准确找到包含叶脉的区域,从而可以利用模糊聚类提取叶脉。相比直接对整个叶片区域进行全局模糊聚类的方法,本文方法更能将叶脉准确提取出来,排除了光照不均的影响。相对直接利用边缘检测获得叶脉的方法,本文方法提取的是真正的叶脉区域,而不是叶脉边缘。本文假设叶脉区域的颜色亮点高于叶肉区域,在实际情况中,可能叶肉的颜色亮度高于叶脉。因此,对于叶肉的颜色亮度高于叶脉的叶片,只需要对其灰度图进行取反计算后就可以采用本文的方法进行叶脉提取。

猜你喜欢
叶脉灰度边缘
采用改进导重法的拓扑结构灰度单元过滤技术
最美叶脉
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
把“照片”印在叶脉上
叶脉书签
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
我是一片叶子
基于像素重排比对的灰度图彩色化算法研究
在边缘寻找自我