机器视觉下多特征组合的竹子分类方法

2021-06-25 14:17金爱武朱强根
软件导刊 2021年6期
关键词:竹类竹子纹理

邓 莹,金爱武,,朱强根,方 婷

(1.浙江农林大学省部共建亚热带森林培育国家重点实验室,浙江杭州 311300;2.丽水学院 生态学院,浙江 丽水 323000)

0 引言

中国是竹类资源极为丰富的国家之一,已知有37 属、500 余种[1]。许多竹种为我国特有,但是由于目前仍然没有一个统一、权威的分类系统,竹子分类仍是竹类资源研究领域的重要问题之一[2]。除传统解剖学意义下的竹子分类,如秆、叶、地下茎、根等,分类专家们在胚胎学、细胞学、化学、分子生物学等领域也有深入研究[3]。近年来,在计算机领域,基于植物叶片图像的植物分类等研究不断取得新进展。叶片是竹子中的重要营养器官之一,不同种类竹类叶片的形状、颜色、几何等具有一定差异,在机器视觉下,提取叶片的纹理、颜色、几何等多种特征,在设计的分类器中进行分类识别,能高效方便地应用于植物分类。已有不少国内外学者将此应用于植物叶片分类上,为本研究挑选数据特征提供了参考。王勇等[4]通过对棉花不同部分颜色数据的分析,建立了基于色差信息的识别模型,利用形状特征建立动态Freeman 编码方法去除噪声,棉桃识别率达85%;杨福增等[5]在基于颜色和形状特征的识别方法下有效分辨出了茶叶嫩芽,识别准确率为94%;叶萍[6]提取植物叶片的不变矩、傅里叶描绘子和分形维数等几何特征,采用BP 神经网络训练对植物进行分类识别,正确率可达92%;高良等[7]通过计算基于几何特征、纹理特征和角点距离矩阵的综合相似度对叶片进行精确识别,对Flavia 数据集的识别率可达97.50%;Sumathi 等[8]通过提取叶片轮廓参数及Gabor 特征,对197 个自收集样本数据集的识别率达95.89%。以上文献研究均基于研究对象选择叶片合适的数据特征,得到了较好的识别精度,因此在叶片特征选择上要根据研究对象及实际实验效果确定。经过多次试验对比,本文选择11 种不同种类竹子叶片的纹理特征、几何特征、颜色特征,并将其3 种特征相组合[9],采用图像处理方法,在机器视觉下对竹类叶片进行识别。

1 材料与方法

1.1 图像采集

本实验样本为2019 年10 月18 日—2019 年10 月20 日在浙江农林大学翠竹园采集的11 种竹类叶片,每种40 张共计440 幅叶片图像,其中竹种有白纹女竹、大节竹、菲黄竹、南平倭竹、罗汉竹、菲白竹、金镶玉竹、黄杆乌哺鸡竹、桂竹、花毛竹、積古丹竹,如图1 所示。在采集过程中每个竹种的采集均选择长势均一、发育良好的成熟叶片,以避免由于同类叶片自身生长产生的几何差异性,为保持叶片完整性,均选择颜色鲜艳、斑点较少、表面光滑未受损的叶片,将新鲜叶片样本装入含少量水的样品袋保鲜,采样完毕后立即送至实验室进行拍摄。叶片叶柄部分的可用信息量低,可能对识别精度产生干扰,因此拍摄前人为地去除了竹子叶柄。

Fig.1 Leaf images of 11 bamboo species图1 11 种竹类叶片图像

1.2 图像拍摄

由于叶片的几何特征、纹理特征和颜色特征会不同程度地受光照、拍摄方法、成像聚焦程度等因素的影响,且竹类叶片图像是本研究进行图像处理和分析的重要数据来源,因此实验严格控制拍摄条件,叶片均采用自制光箱拍摄,如图2 所示。实验所用光箱尺寸为60mm*40mm*50mm,拍摄台采用500mm*300mm*2mm 的LED 导光板,4条LED 灯水平均匀放置在光箱底部,导光板与光箱底部保持1 200mm 的距离。

Fig.2 Self made light box图2 自制拍摄光箱

拍摄采用FUJIFILM X-T100 相机,图片输出格式为PNG 无损压缩格式,4 000*6 000 分辨率,拍摄时将相机固定在俯拍支架,经反复试验,固定设置为:与拍摄台保持5 300mm 的高度,镜头焦距调整为18mm,白平衡设为自动,闪光灯强制关闭,快门速度值为1/30s,光圈F 值为5.6,感光度ISO 值为200,此条件下能获得清晰准确的图像。

为了避免操作机顶快门键时机身产生微小抖动带来的图像模糊问题,拍摄时采用蓝牙遥控器拍摄,叶片方向水平,叶柄朝向右,叶片正面朝上。本实验光箱采用下光源拍摄,经试验发现采用此拍摄方法在图片显示上竹子的细小纹理更清晰,更能减少拍摄时出现的反光和阴影,可在一定程度上消除噪点,减少操作不当造成拍摄板留下的脏点、刮痕等问题。

1.3 图像预处理

预处理主要是为了提高图像质量,可采取人为或者通过机器方式提供更有用的信息[10]。试验中虽然在前期图像采集和拍摄上一定程度地减少了图像噪声、不清晰、背景干扰等问题,但叶片图像并未达到理想状态,因此在Microsoft Windows10 操作系统上试验,使用MATLAB 2018b编程环境进行预处理,算法总体步骤如图3 所示。

Fig.3 Pretreatment process图3 预处理流程

数码相机镜头拍摄的图片会因为镜头模型选择产生镜头几何畸变[11],影响后续试验数据的准确性,因此首先在MATLAB 中的Camera Calibrator 工具箱中进行相机标定,选用30 张正友棋盘格标定板进行标定,得到重投影误差小于0.5(实际0.4)的相机参数对原始图像进行矫正,如图3(a)所示,矫正后的图像用于颜色特征提取。

再将矫正过的彩色图像利用加权平均值法转化为灰度图像,加权平均值法是将彩色图像中的三分量R(红色)、G(绿色)、B(蓝色)以不同的权值进行加权和平均,该平均值即该图像的灰度值,实现将RGB 值转换成灰度值[12]。人眼对于G(绿色)的视觉敏感度更高,对B(蓝色)的视觉敏感度更低,因此,按照式(1)对三分量R(红色)、G(绿色)、B(蓝色)进行加权平均,这样得到的灰度图像更加合理,更符合人类的视觉感受[13]。

转化后的灰度图像由于图片质量较暗沉,光线分布不均,纹理不明显,后续采用伽马矫正,通过非线性变换调整像素值,进而改善图像整体亮度[14]。该算法主要步骤如下:

首先,将输入图像的所有像素值进行归一化,使其值域分布在[0,1]区间;其次,通过给定的γ 值对像素值进行非线性映射,其计算过程如式(2)所示。

其中,I 为输入图像的像素值,(fI)为输出的非线性映射值,γ 为非线性映射参数。需要指出,不同的γ 值对图像亮度质量的改善效果不尽相同。当γ<1 时,图像的灰度值增大,整体亮度提高且对比度增强;而当γ>1 时,图像灰度值减小,整体亮度降低,但也能在一定程度上增强图像对比度。最后,对所得像素值进行反归一化,使得像素值的值域扩大到[0,255],从而获得伽马校正后的图像[15]。根据最终实验效果,选取参数值γ=0.45 进行校准,如图4(b)所示,伽马矫正后的图片用于纹理特征提取。

用大津阈值法将伽马矫正后的灰度图像转化为二值图像,实现图像分割,突出叶片边缘部分,叶片图像基本无噪点。再使用开运算和闭运算相结合的方法对叶片图像进行形态学处理,能更好地填充内部空洞和图像凹角点、消除离散点和“毛刺”,如图4(c)所示,最终得到的二值图像用于几何特征提取。

Fig.4 Pretreatment results of Phyllostachys heterophylla图4 菲白竹预处理结果

1.4 特征提取

1.4.1 颜色特征

颜色特征是叶片图像的重要特征,每种植物叶片可能存在不同的颜色分布,本文采用RGB 三阶颜色矩提取颜色特征,可以有效地表示颜色分布情况,颜色信息主要分布在低阶矩中,其中有一阶矩(均值)、二阶矩(方差)、三阶矩(斜度skewness)[16],一阶矩表示每个颜色分量的平均强度,二阶矩表示颜色区域内的不均匀性,三阶矩表示颜色的不对称性,数学计算如式(3)—式(5)所示,可通过Matlab 中的mean2()函数、std()函数、skewness()函数实现计算。

其中,M是像素数量,Pij是第j个像素的第i个颜色分量。RGB 彩色图像的颜色矩一共有9 个分量,每个颜色通道均有3 个低阶矩,因此每张图像有9 个颜色特征。提取的颜色特征参数值如表1 所示。

1.4.2 纹理特征

纹理灰度分布是在空间位置上反复出现而形成,且在图像灰度的空间特性中有一定距离的两个像素之间存在一定灰度关系。灰度共生矩阵是一种通过研究这种空间特性上的灰度关系描述纹理的常用方法。因此,本文采用灰度共生矩阵[17]的纹理特征统计值有以下几种:

(1)能量。灰度共生矩阵元素值的平方和,显示图像灰度分布的均等程度和纹理粗细程度。若共生矩阵的所有值均相等,则能量值小;相反,如果其中一些值大而一些值小,则能量值大。当元素集中分布在共生矩阵时,能量值大,则是一种平均规律变化的纹理模式。如式(6)所示。

Table 1 Color characteristic parameters of different bamboo species表1 不同竹子种类颜色特征参数

(2)对比度。体现了图像的清晰程度和纹理深度。纹理越深,对比度越大,视觉感受越明显;反之,对比度越小,沟纹越浅,视觉效果越模糊。灰度差表示对比度大的像素对越多,对比度值越大。灰度公共矩阵中远离对角线的元素值越大,对比度越大。如式(7)所示。

(3)相关。显示空间灰度共生矩阵元素在行或列方向上的相似性,因此相关值的大小表示图像的局部灰度相关性。当矩阵的元素值均等时,相关值越大;反之,矩阵的元素值相差越大,则相关值越小。如果图像中有水平方向上的纹理,则水平方向上的矩阵相关值大于其余矩阵的相关值。如式(8)所示。

其中,M 为灰度级数。

(4)熵。它是图像所具有的信息量的度量,纹理信息也是图像信息,并且是随机性的度量,当共生矩阵中所有元素具有最大的随机性,且空间共生矩阵中所有值几乎相等,共生矩阵中元素分散分布时,熵较大,这体现了图像中纹理的不均匀性或复杂度。如式(9)所示。

(5)均匀度。反映图像纹理的粗糙程度,较粗的纹理,均匀度较大,细纹理的均匀度较小。如式(10)所示。

此外用到了Matlab 工具箱里的一个求灰度共生矩阵的graycoprops()函数。提取的纹理特征参数值如表2 所示。

Table 2 Texture characteristic parameters of different bamboo species表2 不同竹子种类纹理特征参数

1.4.3 几何特征

几何特征提取叶片的长轴、短轴、面积、周长4 个绝对性几何指标,以及形状参数、狭长度、7 个不变矩9 个相对性几何指标,一共13 个几何特征。

(1)叶片长轴。目标区域上距离最大的两个像素点之间的连线段。

(2)叶片短轴。与长轴垂直相对并且距离最远的两个像素点之间的连线段。

(3)叶片面积。叶片目标区域内部所包含的像素数目。

(4)叶片周长。其值为叶片目标区域边界的像素数之和。

(5)圆形度。为叶片面积参数和周长参数的计算值,如式(11),能够反映叶片是接近圆形还是扁长形。

式中,Sleaf为叶片的面积,Lleaf为叶片的长。

(6)狭长度。它是叶片长和宽的比值,如式(12),可以用于描述叶片的狭窄程度。

式中,Wleaf为叶片的宽,Lleaf为叶片的长。

(7)Hu 不变矩(7 阶不变矩)。同一图像旋转、收缩或镜像后的图像其7 阶矩基本保持不变,也即其具有比例、平移、尺度等特性的不变特征[18],这一特性可用于图像识别领域。

图像f(x,y)的(p+q)阶几何矩定义为式(13)。

零阶矩如式(14)。

一阶矩如式(15)、式(16)。

一阶矩(m10,m01)用于确定图像质心(xc,yc),计算如式(17)。

若将坐标原点移至xc和yc处,就得到了对于图像位移不变的中心矩,如式(18)。

为了得到矩的不变特性,定义归一化的中心矩如式(19)。

式(19)中,标准化因子r=,p+q=2,3,4…

利用归一化的中心矩统计量,Hu 在上述公式的基础上提出了7 个几何矩的不变量,这些不变量满足图像平移、伸缩和旋转不变,用来描述叶片图像的几何特征,如式(20)—式(26)。

1.5 叶片分类

在提取到包含11 种竹类叶片颜色、纹理、形状特征的27 维特征值后,由于这3 类特征数据的量纲不同,将数据标准化后的特征参数作为分类方法的输入向量,用于植物叶片分类。本文选择MATLAB APP 中的Classification Learner进行分类。Classification Learner 可以应用训练模型对数据进行分类,并包含了查看数据、选择特性、指定验证方案、训练模型,以及评估结果等功能选择,也可以执行自动训练以搜索最佳分类模型,模型包括决策树、判别分析、支持向量机、逻辑回归、集成学习等。本文选择了集成学习方法中的Bagging 算法,Bagging 算法主要通过随机有放回抽样方法形成子数据集,然后生成差异化的子训练集,再将这些训练子集获得的子分类器组合成集成分类器集合[19]。其核心思想就是融合了许多弱分类器的结果,形成一个高质量高效率的集成模型,以达到最优分类效果[20],在特征数据集无需归一化的条件下,也能处理较高维的数据,且具有很高的准确率,不容易过度拟合。训练前,采用系统默认的5 倍交叉验证方法,样本总容量为440,并随机将数据集的70%用作训练集,30%用作验证集。

2 结果与分析

实验中,选取白纹女竹、大节竹、菲黄竹、南平倭竹、罗汉竹、菲白竹、金镶玉竹、黄杆乌哺鸡竹、桂竹、花毛竹、積古丹竹共11 种不同的竹类叶片。为确保分类精度的可靠性,对不同的方法进行20 次验证集试验,计算其分类平均准确度,标准差为偏差;实验分类结果如表3 所示。从表3的实验分类结果数据可以得出,在叶片种类识别中,对于单种特征的分类准确率,叶片的颜色特征对准确率贡献最大,平均准确率可达90.96%,而纹理特征准确率贡献最低,平均准确率为72.88%;在两种特征组合中,颜色特征分别与几何、纹理特征组合的方法其平均分类准确率也在90%以上,分别为92.84%、92.57%;而3 种特征组合的平均准确率最高为94.02%。可以看出,组合特征的准确率大体高于单种特征的平均分类准确率。

为进一步观测本文组合方法的有效性,选取平均准确率最高的前3 种组合方法作比较,其20 次试验的准确率如图5 所示。

可以看出,3 种特征组合(纹理特征+几何特征+颜色特征)的准确率为93.2%~94.5%,两种特征组合的准确率分别为91.8%~93.4%(纹理特征+颜色特征)、91.1%~93.4%(颜色特征+几何特征)。通过比较可得3 种特征组合的准确率最高,因此,本文取其中一次试验的分类结果计算出混淆矩阵如图6 所示,将11 种竹类标号为1,2,…,11,竹子类别1 实际有40 个样本,没有被错误分类到其他类别的样本,分类准确率为100%,竹子类别2 实际有40 个样本,其中有39个样本被正确分类到类别2,有1 个样本被错误分类到类别9,分类准确率为98%,类别3,4,…,11 的分类准确率分别为93%、100%、80%、90%、93%、93%、95%、100%、98%,平均准确率为94.3%。

Table 3 Experimental classification results表3 实验分类结果

Fig.5 Classification accuracy of different combination methods for bamboo leaf images图5 不同组合方法对竹类叶片图像的分类准确率

Fig.6 Confusion matrix of the method in this research图6 本实验研究方法的混淆矩阵

3 结语

本文在严格控制提取竹类叶片多种特征条件的基础上,如采集方法、拍摄方式、特征提取算法等,在机器视觉下探究了多种特征相互组合的方法进行分类试验,通过不同组合方式的比较结果表明,在机器视觉下纹理特征、颜色特征、几何特征3 种特征组合的方法平均分类准确率较高,为94.02%,最高准确率可达94.5%,为研究竹子分类提供了一种在计算机领域实现的可能性,解决了一些较为常见竹种的分类问题。虽然该方法取得了较好的分类结果,但是也有一些问题需要解决,比如:①竹类叶片大都相似,在自然状态下不易区分,本文也是在有限数量的竹子种类中进行分类研究,一个竹种仅靠叶片部位确定类别往往具有局限性,未来可能需要探究机器视觉下竹子其他部位特征与竹子叶片特征组合的分类方式;②本文着重于分类方法研究,在优化分类器算法方面并未深入研究,因此分类准确率还有很大提升空间;③在后续研究中,应设计人性化可视化操作界面,在用户的手机客户端实现竹子分类,推进其实际应用。

猜你喜欢
竹类竹子纹理
你所不知道的竹子
使用纹理叠加添加艺术画特效
TEXTURE ON TEXTURE质地上的纹理
中国竹类资源与分布
和竹子在一起
消除凹凸纹理有妙招!
竹子长得有多快呢?
竹类植物分类研究进展
中国竹类研究成果分析