吴张倩 汪庆
摘 要:针对自然环境下的叶片图像分割,提出了一种基于支持向量机的叶片图像分割算法。该方法首先将图像少量像素点分别标记为叶片前景样本和叶片背景样本,然后根据样本数据建立支持向量机分类决策模型,最后根据预测模型对整个图像像素点进行分类,将叶片图像从背景中分割出来。实验结果表明,该方法能够对含有反光区域的叶片实现准确分割,相比基于聚类的叶片分割算法分割精度更好,算法耗费时间更短。
关键词:叶片分割;支持向量机;自然环境;反光区域
中图分类号:TP391.41 文献标识码:A
Leaf Image Segmentation based on Support Vector Machine
WU Zhangqian, WANG Qing
Abstract: For leaf image segmentation in natural environment, this paper proposes a leaf image segmentation algorithm based on support vector machine. Firstly, a small number of image pixels are marked as leaf foreground samples and leaf background samples. Then, a classification decision model of support vector machine is established according to the sample data. Finally, the entire image pixels are classified according to the prediction model, and the leaf image is segmented from the background. Experimental results show that the proposed method can accurately segment the leaves with reflective areas. Compared with the clustering-based leaf segmentation algorithm, it has better accuracy in segmentation and takes less time.
Keywords: leaf segmentation; support vector machine; natural environment; reflective area
1 引言(Introduction)
葉片是植物展现的重要外部特征,叶片识别对植物资源普查具有重要意义。准确地分割出叶片区域,分析叶片包含的特征信息是一种最直观可行的识别植物种类的方法。自然环境中的叶片图像易于获取,但图像背景较为复杂,难以准确分割。因此,自然环境中的叶片分割算法一直是近年来该领域研究的重难点问题。李余康等[1]使用迁移模型ResNet101结合DeepLab v3+语义分割模型实现自然光照环境中的葡萄叶片图像的分割;乔虹等[2]使用Mask R-CNN实现了自然环境中不同品种葡萄叶片图像的分割;赵艳杰等[3]使用引入双通道注意力机制的U‑Net网络实现对数据集中叶片图像的分割;郑艳梅等[4]使用BiseNet卷积神经网络结合引导滤波完成了苹果叶片图像的自动分割。
本文针对自然环境中的植物叶片图像特点,提出了一种基于支持向量机的叶片图像分割方法。该方法利用支持向量机易于计算小样本、高维数据的特点,针对自然界中含有反光区域的叶片图像,通过对获取的少量样本建立模型,对前景图像和背景图像进行分类预测,从而实现叶片图像的分割。
2 支持向量机与LIBSVM工具箱(Support vector machines and LIBSVM toolbox)
支持向量机是一种基于有监督学习的优化算法,在解决小样本、非线性、高维模式等问题上有很好的效果。该模型基于结构风险最小化原理,通过构造一个N 维超平面作为决策曲面,使得正负样本之间的分类间隔被最大化,通过对正负样本集训练分类模型,再将测试数据进行分类,从而达到对图像进行分割的目的。
近年来,支持向量机算法在许多领域得到了成功的应用,如种子图像分类[5]、去雾模型训练[6]、人脸识别[7]等,现已成为机器学习和数据挖掘领域的重要工具。支持向量机算法的决策函数公式为:
(1)
其中,是样本总数,是Lagrange算子,是核函数。
LIBSVM[8]是MAYANK等人开发的一个调试使用支持向量机的软件包。该软件包对支持向量机的参数调节相对比较少,提供了很多默认参数,利用该软件包可以较快速地进行支持向量机相关的实验,利用函数自带的参数可以对很多问题进行快速调试。LIBSVM模型训练函数为:
(2)
式(2)中,模型训练函数前两个参数分别代表训练标签和训练特征,第三个参数用于设置核函数参数。核函数类型参数为“-t”,“0”代表线性核函数,“1”代表多项式核函数,“2”代表径向基核函数,“3”代表Sigmoid核函数。核函数设置默认类型为“-t 2”,即径向基核函数;针对多项式核函数,其degree默认设置为“3”,本文使用“-t 1 -d 1”实现。
LIBSVM分类预测函数为:
(3)
式(3)中,模型预测函数返回的是训练集预测后得到的标签向量,前两个参数分别代表训练样本的标签和训练样本的特征,第三个参数为已训练得到的模型。
3 基于支持向量机的叶片图像分割(Leaf image segmentation based on support vector machine)
本文使用支持向量机模型对叶片图像进行分割,模型本质就是对像素点进行分类。为了方便像素分类,本文没有使用颜色空间变换算法,而是直接使用像素点的RGB数值作为分类特征。首先,算法在叶片图像的区域选取若干个像素点作为前景特征点,再选取其他区域若干个像素点的泥土、枯叶、碎石等作为背景特征点;其次,对选取的前景和背景样本设置相应的标签1和0,即将叶片样本标签设置为1,将背景样本标签设置为0;然后使用svmtrain函数训练支持向量机模型,最后使用svmpredict函数预测得到前景和背景的标签对整个图像的像素进行分类,从而达到对整个图像分割的目的。
3.1 前景和背景获取
Step 1:分别初始化两个N×3的矩阵A和B,用于存放前景和背景的样本数据。
Step 2:前景训练数据集。随机选取前景的N 个样本点,对应的RGB值存在对应的矩阵列。
Step 3:背景训练数据集。随机选取背景的N 个样本点,对应的RGB值存在对应的矩阵列。
3.2 建立支持向量机模型
Step 1:训练标签集。对前景、背景训练标签分别设置1和0。
Step 2:生成训练数据集合,包括前景训练数据集和背景训练数据集。
Step 3:核函数参数选取。本算法使用多项式核函数,并设置degree为1。
3.3 预测及分割
Step 1:预测前景和背景的标签。
Step 2:根据预测的标签对整个图像进行分类,分割整个图像。
4 实验结果分析(Analysis of results)
本文实验的仿真实验环境为:i5-3.20 GHz CPU 8 GB内存;Windows 7 64 位操作系统;MATLAB R2010b;libsvm-3.25软件包。
为了更好地使用LIBSVM开发包,需要将开发包解压放置于MATLAB安装目录的toolbox文件下,并在环境变量配置中设置路径。预先安装Microsoft Visual Studio 2010旗舰版作为C++编译器,使用make命令编译生成libsvmread.mexw64、libsvmwrite.mexw64、svmtrain.mexw64、svmpredict.mexw64四个文件。为避免与MATLAB自带工具箱支持向量机文件冲突,我们将svmtrain.mexw64、svmpredict.mexw64这两个文件分别重命名为libsvmtrain.mexw64和libsvmpredict.mexw64。
算法分割对象为自然环境中获取的植物叶片,图像分辨率为300×400,选用三幅:不含反光区域的叶片图像记为叶片1,如图1(a)所示;含有局部反光区域的叶片图像记为叶片2,如图2(a)所示;含有较大面积反光区域的叶片图像记为叶片3,如图3(a)所示。
4.1 实验一
对叶片图像中的20 组像素点样本分别标记前景和背景,然后使用支持向量机模型对叶片图像进行分割。
4.2 实验二
本部分内容为叶片图像分割的对比实验,使用文献[9]中的叶片分割算法实现,记为EXG_Kmeans算法。该算法使用K均值聚类算法Kmeans,叶片图像特征提取选取超绿特征EXG,利用超绿特征通道实现聚类。其他聚类参数设置如下:图像分割转化为二分类问题,将分割区域nColors设置为2;距离distance参数设置为默认的平方欧几里得距离sqEuclidean,即每个质心是该集群中点的平均值;重复聚类的次数Replicates参数设置为3。
4.3 实验三
本部分内容为叶片图像分割的另一种对比实验,使用文献[10]中的叶片分割算法实现,记为NDI_FCM算法。该实验算法使用模糊聚类算法FCM,叶片图像特征使用颜色特征NDI,利用该特征通道实现聚类。FCM聚类算法的相关參数设置如下:算法聚类中心个数设置为2;最大迭代次数设置为100。
图1—图3为使用三种算法对三幅图像进行分割的实验过程,其中图(a)代表自然环境中获取的含有不同反光区域的叶片图像;图(b)中“▲”形表示标记的前景像素点,“●”形表示标记的背景像素点;图(c)是使用本文算法的分割效果图;图(d)表示使用EXG_Kmeans算法的分割效果图;图(e)表示使用NDI_FCM算法的分割效果图。
从实验结果可以看出,图1中,在自然环境中将不含有反光区域的叶片分割,三种分割算法的结果图1(c)、图1(d)和图1(e)均取得了令人满意的分割效果。图2中,本文使用的分割算法能够将含有局部反光区域的叶片正确分割,而使用EXG_Kmeans算法和NDI_FCM算法的分割结果图2(d)和图2(e)没有将叶片中含有反光的区域正确分割。图3中,本文使用的分割算法能够将含有较大面积反光区域的叶片正确分割;而使用EXG_Kmeans算法的分割结果图3(d)将叶片中含有的较大面积反光区域错分为背景区域,这些反光区域空洞较大,即使利用数学形态学修正也很难完全修复,而且会影响边缘区域的细节特征;另一种NDI_FCM算法的分割结果图3(e)没有将背景区域正确分割。
本文算法分割结果图1(c)、图2(c)和图3(c)能够将叶片图像从自然背景中正确分割出来,对于图2(a)和图3(a)的叶片含有反光区域的情况,本文算法仍然能够将叶片正确分割出来,并且没有进行滤波、形态学处理,保留了叶片的原始细节,有利于后续的特征提取。该算法对样本点进行模型训练,通过训练的支持向量机算法模型对整个图像的像素进行分类,使用前景样本和背景样本共40 个像素对整个图片12万个像素点进行分类,从而完成对自然环境中叶片目标的分割。本文实验所用的三种叶片图像分割算法时间对比如表1所示,相比EXG_Kmeans算法和NDI_FCM算法两种聚类算法,本文算法耗费时间最短,能够满足叶片分割自动处理的实时性要求。
5 结论(Conclusion)
本文针对自然环境中的叶片图像分割,提出了一种基于支持向量机的解决方法。首先对获取的原始图像的叶片和背景进行标记,然后对样本像素RGB数据建立支持向量机模型,最后利用模型对图像进行分类预测实现分割。实验结果表明,该算法能够通过少量样本像素标记去除相关的叶片背景区域,提取叶片中的反光区域,保留区域特征细节,实现叶片图像的分割。
参考文献(References)
[1] 李余康,翟长远,王秀,等.基于DeepLab v3+的葡萄叶片分割算法[J].农机化研究,2022,44(02):149-155.
[2] 乔虹,冯全,赵兵,等.基于Mask R-CNN的葡萄叶片实例分割[J].林业机械与木工设备,2019,47(10):15-22.
[3] 赵艳杰,郭晓丽,刘洋,等.一种基于改进U-Net的植物图像分割算法[J].中国传媒大学学报(自然科学版),2021,28(03):
32-40.
[4] 郑艳梅,黄光耀,芦碧波,等.结合深度学习和引导滤波的苹果叶片图像分割[J].中国农业大学学报,2020,25(09):112-120.
[5] 杨红云,黄琼,孙爱珍,等.基于卷积神经网络和支持向量机的水稻种子图像分类识别[J].中国粮油学报,2021,36(12):
144-150.
[6] 袁非牛,李志強,史劲亭,等.两阶段特征提取策略的图像去雾[J].中国图象图形学报,2021,26(03):568-580.
[7] 张敦凤,高宁化,王姮,等.基于分块LBP融合特征和SVM的人脸识别算法[J].传感器与微系统,2019,38(05):154-156.
[8] MAYANK S, SUMIT S, JAYADEVA J. Minimal complexity machines under weight quantization[J]. IEEE Transactions on Computers, 2021, 70(8):1189-1198.
[9] 张智韬,于广多,吴天奎,等.基于无人机遥感影像的玉米冠层温度提取及作物水分胁迫监测[J].农业工程学报,2021,
37(23):82-89.
[10] 汪庆,杜炜,马春,等.结合颜色差异和模糊聚类的叶片图像分割[J].安庆师范大学学报(自然科学版),2018,24(02):27-30.
作者简介:
吴张倩(1995-),女,硕士,助教.研究领域:深度学习,音频安全.
汪 庆(1983-),男,硕士,实验师.研究领域:图像处理.本文通信作者.