基于霍夫变换与角点检测的叶脉特征提取算法

2019-11-18 05:29成孝刚李德志吕泓君李海波
计算机技术与发展 2019年11期
关键词:角点霍夫主茎

汪 涛,成孝刚,李德志,吕泓君,李海波

(南京邮电大学 通信与信息工程学院,江苏 南京 210003)

0 引 言

叶脉是植物的重要器官之一,其特征直接反映了树叶的生长状态[1-2]。目前,国内外的学者从不同角度对叶脉特征进行研究。李灿灿等[3-4]利用基于K-means聚类算法和基于改进的Sobel算子和色调信息相结合的方法提取叶脉;张金瑞[5]利用基于数字图像处理技术提取了毛白杨的叶面积等特征;余孝源等[6]针对叶片主茎脉与次茎脉之间的节点分部信息进行提取;金秋春等[7-8]对HIS颜色空间中植物叶脉信息进行提取,将多方向Top-Hat变换应用到叶脉特征提取中;Cope等[9]运用蚁群算法对树叶的叶脉进行提取;王晓洁等[10-11]设计了基于凸包的植物叶锯齿方法,并对多种叶片进行检测。现有算法无法适应大批量树叶的处理,这导致部分基因研究团队仍然采用人工测量方法。由此,亟待一种智能化的叶脉特征提取算法,以辅助植物基因研究。

文中提出一种基于霍夫变换[12-13]的叶脉特征提取算法。通过霍夫变换寻找主叶脉位置,判定其顶端和底端。通过角点检测,得到主叶脉和次叶脉的交叉坐标,继而得到主次叶脉的细节特征,并在此基础上计算对应角度。文中的主要贡献在于:将霍夫变换与角点检测相结合,应用于树叶主次叶脉提取;应用海量叶片扫描数据,对算法进行验证。

1 理论基础

1.1 霍夫变换

文中主要利用霍夫变换对树叶主茎脉进行直线检测。霍夫变换的原理是当图像平面上所有的点都对应到参数平面上,如果有不同的点进行变换后的曲线交于同一点,那么可以认为这些点通过原始平面内的同一条直线。可以假设一个阈值,若交于某一点的曲线大于规定的阈值,则可认定这个交点为原始平面上的一条直线。

1.2 角点检测

在求取树叶主茎脉与次茎脉形成的夹角时,需要寻找角点,即主次叶脉的交叉点。文中主要运用Harris角点检测的思想[14-16]。角点检测的具体步骤为:(1)计算图像一阶高斯偏导数IX与IY;

(3)对步骤2的三个值进行高斯模糊,得到SXX,SYY,SXY;

(4)定义Harris矩阵,计算矩阵特征值;

(5)计算R值,R=detM-K(traceM)2,其中detM=λ1λ2,traceM=λ1+λ2;

(6)使用3*3或者5*5的窗口,实现非最大值压制。

2 叶脉特征提取算法

该算法的研究主要分为三个部分:主次叶脉坐标提取;主叶脉与叶片边界角度提取;主次叶脉夹角提取。具体阐述如下:

2.1 骨架化

首先使用Canny、Sobel、Roberts三种边缘检测算子获取图像的间断边缘;然后利用形态学膨胀方法将边缘间断处连接;继而将膨胀边缘图像骨架化,细化到一个像素宽度的连续边缘图;接着去除图像骨架化过程中形成的毛刺;最后得到树叶叶脉和边界的轮廓坐标。预处理后得到了一个树叶边缘轮廓以及主茎脉与次茎脉的图,如图1所示。

图1 叶片骨架化效果

通过图中发现,使用Canny算子提取树叶主次茎脉的效果最好。

2.2 主叶脉与树叶边界角度提取

文中利用霍夫变换来检测树叶中的主茎脉的近似位置。通过提取的树叶边缘坐标找到与主茎脉距离最近的点,即树叶的顶端和底端坐标。接着,以顶点和底点为起点向树叶两侧使用区域增长法找到边缘坐标。最终得到叶片边缘与主茎脉形成的四个夹角。

2.3 主次叶脉及其角度提取

在此过程中,首先通过角点检测得到图像上的候选角点,继而筛选出位于主叶脉上的关键角点,即主叶脉和次叶脉的交叉点。接着通过判断候选角点与Hough变换检测直线的两个端点是否近似在一条直线以确定目标角点的坐标。针对每一个角点提取周围一块区域,使用区域增长法找到邻近的主茎脉与次茎脉。根据已提取的主茎脉和次茎脉进行角度计算。算法的详细步骤如下:

算法:基于霍夫变换和角点检测的叶脉特征提取算法。

输入:1 200棵白杨树(12 000片树叶)。

输出:单个树叶主叶脉与树叶边界角度、主次叶脉夹角。

(1)预处理。

滤除噪声并二值化;

Canny边缘检测获取树叶边缘;

获取树叶边界和叶脉坐标。

(2)主叶脉与树叶边界角度提取。

利用霍夫变换检测树叶主茎脉;

搜索树叶顶端和底端坐标;

利用区域增长法搜索以顶点和底点为起点的边缘坐标。

(3)主次叶脉及其角度提取。

角点检测搜索候选角点;

筛选出主叶脉与次叶脉相交的角点;

针对每一个角点利用区域增长法找到邻近的主次叶脉坐标。

3 计算机验证及分析

利用Matlab和Python对算法进行验证。计算硬件信息如下:CPU i7-6700HQ 2.60 GHz,显卡NVIDIA GeForce GTX 960M,显存2 GB,内存8 GB。用于算法验证的白杨树叶来自瑞典等国家,共计12 000片(1 200棵树*10片/棵)。实验结果显示良好,能够提取树叶的主次叶脉坐标和角度特征参量。下面给出了一组树叶中的部分效果图。图2为树叶灰度化后的效果,图中直线为霍夫变换找到的近似主茎脉的直线;图3是主茎脉与次茎脉形成的角度效果;图4是主茎脉与树叶边缘形成的角度效果。

图2 树叶灰度化效果

图3 主茎脉与次茎脉夹角效果

综上,文中算法可以得到叶脉角度的信息。在实验中,对叶片的角度信息进行了主观评测,用以衡量算法的准确性。表1给出了图3中各角度参量,每一行下方给出了相应的主观评测数据。由上至下编号为1,2,3,4。此外,表1也分别给出了用Sobel、Roberts两种算子提取的骨架形成的主次叶脉夹角的度数,用以进行比较。表2给出了图4中各角度的参量,每一行下方给出了相应的主观评测数据。根据左上方,右上方,左下方,右下方角度的顺序依次编号为1,2,3,4。角度单位均为角度制。

注:‘/’表示用该算子无法求出角度;‘N’表示没有该角。

表2 主叶脉和叶片边缘角度数据

根据表1、表2的数据,绘制如图5、图6的折线图,以比较各算子计算度数的准确度。

图6 主叶脉和叶片边缘角度误差比较

通过图5发现,在用三种不同算子计算角度时,由于Sobel、Roberts算子骨架化的效果较差,有些角度出现丢失,并且角度与主观评测的误差较大。而Canny算子的效果最好,与主观评测的误差最小。表2的实验结果也与主观评测的结果误差较小。需要说明的是,在海量的算法验证过程中,也出现了一些效果不理想的图片,如图4(a)所示。可以看出在测量树叶顶部角度时,由于顶点坐标选取的误差导致角度的检测并不精确。随机抽取100张图片,这种情况的概率为5%。这对于海量数据的检测而言,已经能够满足应用需求。这也将成为后续改进的方向。

4 结束语

采用霍夫变换对主叶脉进行检测,然后搜索树叶顶点和底端坐标,继而通过角点检测法筛选出主次叶脉的交点,最后提取所有主次叶脉坐标和角度特征信息。文中的研究对象是瑞典的白杨树叶片,叶片数据经过10年的采集,共计12 000片。实验表明,该方法在提取角度以及主次叶脉信息方面效果良好。存在的局限性是该方法是否适用于其他种类的树叶。同时,实验中也出现了一些效果不好的情况,一方面在提取树叶特征时效果还可以进一步完善,另一方面是在提取角点以及寻找顶点底端坐标时出现的误差,还有待后续的改进。另外,利用深度学习进行训练,提取叶脉的相应信息,将是非常有意义的尝试。这些都将成为后续努力的方向。

猜你喜欢
角点霍夫主茎
不同来源小麦品种主要产量性状的比较分析
金荞麦收集系株型相关性状遗传变异分析
一种改进的自适应FAST 角点检测算法
冰山与气候变化
多支撑区域模式化融合角点检测算法仿真
世界之巅的花园——库肯霍夫
甘蓝型油菜双主茎YD 4899的选育及表型性状比较分析
基于点云聚类的垛型角点检测方法
角点检测技术综述①
种植密度对烟草主茎中化学成分运输与储存的影响