陈文兵, 车文刚
(昆明理工大学 信息工程与自动化学院, 云南 昆明 650500)
不同等级烤烟烟叶的质量和价格不同,在全国统一的烤烟烟叶分级标准《烤烟GB 2635—1992》中,按照成熟度、油分、结构、身份、色度、长度和残伤度等七大要素来划分烟叶级别。实收过程主要由专业技术人员通过望、闻、切等方法来评定烟叶的等级,但是受个人主观意识的影响,每个人对不同等级的理解存在着偏差,为了促进收购过程的公平公正,提高烟叶的质量,研究一种基于机器视觉的烟叶自动分级方法具有较好的应用价值[1]。
近年来,国内对烟叶智能化分级的研究主要分为以下几个方向:
(1)基于模糊数学的分级方法[2-4]。先提取烟叶的形状特征和颜色特征,再利用分级规则构建模糊分类器,最后将属于模糊集合的最大隶属度作为其级别。高航[5]对烟叶图像预处理后先提取外在特征,再建立与输入特征相关的分级规则,然后用高斯隶属度函数构造模糊分类器。韩力群等[6]模拟分级专家的思考过程,构建具有学习与记忆、判断与模糊推理、分级决策等多种功能的分级模型。基于模糊数学的分级方法具有一定的泛化能力,但是需要人工提取特征和制定模糊分级规则。
(2)基于传统视觉技术与机器学习算法相结合的分级方法[7-9]。先从烟叶图像上提取烟叶特征,再标签特征数据集来训练聚类、决策树等分类器对烟叶进行分类。李航[10]分别用聚类和遗传算法对特征数据进行初步筛选和深度筛选,然后训练极限学习机、支持向量机、K近邻及加权K近邻等分类器对烟叶分级。王天旺等[11]在HSV(Hue、Saturation、Value,色相、饱和度、明度)空间上提取各颜色分量的一、二、三阶矩作为分类特征,然后训练多分类SVM(Support Vector Machine,支持向量机)对烟叶进行分级。基于传统视觉技术与机器学习相结合的分级方法简单,但缺少烟叶的内在特征。
(3)基于多光谱图像特征与机器学习结合的分级方法[12-14]。先用不同波段的光照射烟叶采集图像,然后提取油分、厚度等内在特征对烟叶分级。李士静等[15]分别用多元散射矫正、标准正态变量变换和卷积平滑3种方法对不同等级的高光谱数据进行预处理,再利用F-Score算法选取分数较高的波段来训练分类器对烟叶进行分级,实验结果显示SVM的分级准确率最高。方世诚[16]分别用烟叶的近红外光谱图、RGB颜色分量和所含化学成分对其做归类分析,结果证明虽然色度分级方法简单有效,但光谱分级和生化分级的准确率更高。基于多光谱图像分析与机器学习相结合的分级方法不但硬件成本要求较高,而且受烟叶褶皱的影响,提取的内在特征不稳定。
(4)基于卷积神经网络的分级方法[17-19]。标签烟叶图像后训练卷积神经网络分类模型对烟叶分类。韩东伟等[20]用3×3的最大池化层构成自动编码器,用4个全连接层构成多层感知机,然后分别训练最小二乘SVM、卷积自动编码器、多层感知机等3个模型对比实验,结果显示卷积自动编码器具有良好的等级识别性能。申振宇等[21]认为不同颜色、形状和纹理等特征值对烟叶部位与等级的决定程度不同,通过训练广义回归神经网络得到各个特征的权重系数,实验结果显示矩形度对判断烟叶部位的影响较大,但面积对判断部位有负面影响,其次长度、面积等特征直接影响烟叶的级别,而纹理特征的分级权重系数较小。基于卷积神经网络的分级方法会自动提取烟叶特征后分级,但是每年数十亿片烟叶的形态各不相同,而且相邻两个级别间没有明显差异,因此难以标签准确且具有泛化能力的数据集。
为了将烟叶分级方法一般化,本文提出一种基于内外特征结合的烟叶分级方法。通过传统计算机视觉方法提取烟叶的面积比、褶皱、长度、身份、颜色和残伤等外在特征,然后采用卷积神经量化了烟叶的成熟度、油分和结构等内在特征,最后结合烟叶的内外特征训练聚类、决策树等分类器对烟叶进行分级。
叶柄面积和表面褶皱度是作为部位分组的重要评估特征,根据烟叶生长在植株上的位置从下到上其表面的褶皱程度也越来越大,而且叶尖与叶柄的面积比越来越小。本文首先识别到叶柄的位置,再计算叶尖与叶柄面积的比值作为面积比,即
Srate=S叶尖/S叶柄,
(1)
然后通过构建不同方向上的灰度共生矩阵,来提取烟叶的纹理特征表示褶皱度,灰度共生矩阵的计算公式为
Pθ,d(i,j)={(x,y)|f(x,y)=i;f(x+dx,y+dy)=j;
x=1,2,…,W;y=1,2,…,H},
(2)
因为从灰度共生矩阵中无法直接获取图像的纹理信息,所以计算灰度共生矩阵的熵、能量、对比度来反应图像上纹理变化的情况[22]。
图像的熵(ENT)反映了它所包含信息的复杂程度,其计算公式为
(3)
其中G(i,j)为灰度共生矩阵中每个元素的坐标。
能量(ASM)为每个灰度共生矩阵中所有元素的平方和,其计算公式为
(4)
对比度(COM)反应了图像纹理深浅和大小的程度,若纹理越深,则对比度越大,反之若纹理越均匀、细小,则对比度越小。对比度的数学表达示为
(5)
烟叶的长度作为七大分级要素之一,烤烟分级标准《烤烟GB 2635—1992》中明确规定了不同级别烟叶的长度范围。如图1(a)所示,烤干的烟叶回潮后容易弯曲,此时用烟叶最小外接矩形的长边作为长度具有较大的误差,因此本文采用最小二乘法来拟合烟叶曲线,然后求出烟叶曲线的长度作为叶长,以提高长度提取的准确率。
(a)原图 (b)曲线图 图1 烟叶曲线图
提取烟叶长度,首先获取烟叶边缘轮廓像素点的坐标(x,y),所有轮廓点构成X=[x1,x2,…,xn]T、Y=[y1,y2,…,yn]T,然后用最小二乘法拟合出烟叶的曲线函数,则烟叶的曲线函数为
f(W,x)=w1x+w2x2+…+wmxm,
(6)
式中wi为待定系数,m必须小于n。再利用所有像素点的坐标求出一组未知数W=[w1,w2,…,wn]T,使得所有像素点到曲线的残差平方和最小,则目标函数可以表示为
(7)
最后对wi求偏导数,令偏导数为0解方程组就可以得到系数wi矩阵W解的表达式为
W=(XTX)-1XTY。
(8)
在解出最小二乘系数wi后,得到如图1(b)所示的烟叶拟合曲线。已知曲线方程求解曲线的长度,将曲线近似成n截短直线,再对所有直线积分可以得到一段曲线的长度:
(9)
式中a是图像宽度。
在国家烤烟分级标准《烤烟GB 2635—1992》中将身份(IT)特征定义为烟叶的厚度,主要划分为中等、稍厚、稍薄、厚和薄等几个层次,可以使用单位面积烟叶的重量来反映它的身份特征,单位面积烟叶的厚度和重量成正比。因为烟叶存在卷曲、褶皱等形态,直接利用前景二值图像来计算得到的烟叶面积存在较大的误差,所以本文用重量(Weight)与长度(L)的比值来反应身份(IT)特征,计算公式为
IT=Weight/L。
(10)
HSV颜色空间分别用色相(H)、饱和度(S)、明度(V)等3种不同的分量来表示颜色。色相H的取值范围为[0°,360°],其中0°、60°、120°分别从红色到黄色再到绿色,与烟叶的主色范围相近,而120°~360°是杂色区域。质量越好的烟叶饱和度S越高,明度V表述颜色的明亮程度,与物体的本身属性(透射比或反射率)有关,而不同质量烟叶所包含的物质成分不同,因此明度V可以反应烟叶的内在质量。
在CIELAB颜色空间中,通道L反应了烟叶色彩的亮度,通道A的颜色范围是从深绿色到粉红色,通道B的颜色范围是从亮蓝色到黄色。而烟叶的主要颜色从红棕色到浅黄色,亮度逐渐变高,因此本文采用CIELAB颜色空间来反应烟叶的颜色特征。
在不同的颜色空间中,通过计算各通道的均值(mean)和方差(std)来反应烟叶的颜色特征和质量,其计算公式分别为
(11)
(12)
式中f(x,y)为烟叶区域像素值,S叶为利用前景烟叶计算得到的烟叶面积。利用公式(11)、(12)分别得到HSV和CIELAB空间中各通道的均值和方差。
残伤不仅指烤烟上破损的地方,还有青筋、挂灰、病斑和黑斑等杂色区域。而由于叶面卷曲,直接将杂色区域分割后作为烟叶的残伤存在较大的误差。如图2所示,本文提出一种基于烟叶主色为阈值的分割方法,烟叶大部分区域的颜色都是在某个范围内,因此将灰色直方图峰顶附近的灰度级作为烟叶的主色,而在主色范围外的是杂色。
(a)烟叶灰色直方图 (b)青杂烟叶 (c)青杂掩膜图图2 烟叶残伤度提取图
计算残伤度前先利用式(13)将RGB彩色图像变成单通道的灰度图:
GRAY(x,y)=0.587×R(x,y)+0.299×G(x,y)+0.114×B(x,y),
(13)
与原灰度变换公式不同,正常烟叶的R值较高,B值较低,杂色区域的R、B值与之相反,所以将R值赋予较高的权重,B值采用较低的权重,从而拉升图像的对比度。
然后用灰度直方图找到像素最多的一个灰度级作为烟叶的主色K,再利用式(14)来统计主色区域的像素点总数量N:
N={(x,y)|K-T1 (14) 式中T1和T2为两个控制参数,接近于主色的区域被认为是正常的叶面。 最后用式(15)计算烟叶的残伤度Zrate: (15) 当主色K小于100时,当前烟叶的主色为杂色,其残伤度等于1-Zrate,反之直接采用Zrate作为烟叶的残伤度。 注意力机制可以让模型关注更有效的图像信息来编码分类。通道选择注意力机制(Select Kernel,SK)[22]主要由分离、融合、选择三部分构成。如图3所示,本文在原注意力的基础上主要做了以下两点优化:(1)在分离阶段分别采用扩展率等于2、3的空洞卷积来取代5×5和7×7的卷积层,同时降低提取的通道数到原来的1/3,如此将分离阶段的计算量降低到原来的1/3;(2)在特征图融合阶段用特征图的横向拼接操作代替原来的相加融合机制,向下保留原输入信息不变,实现分组卷积的功能。 图3 通道注意力机制 如图4(a)所示,受SK注意力机制的启发,本文构建了一种多尺度的空间注意力机制,然后将空间注意力机制和通道注意力机制组合构成空间-通道注意力机制。残差结构可以降低梯度消失和梯度爆炸等风险。牛津大学在视觉几何组(Visual Geometry Group,VGG)[24]网络中提出尺寸较大的卷积核能够提取更全面的特征信息,而且多层尺寸较小的卷积核堆叠可以增大感受野和减少模型参数量。如图4(b)所示,本文结合空间-通道注意力机制对原残差结构做了以下三点改进:(1)在两个1×1的卷积层中间加入3个3×3的卷积层构成7×7感受野的残差结构;(2)将步长为2下采样操作单独提到残差结构外面;(3)将空间-通道注意力机制和残差结构拼接起来,构成多流注意力残差模块作为基础结构。 (a)空间-通道注意力机制 (b)变形残差结构图4 多流注意力残差模块 本文采用1∶1∶3∶1的比例使用基础结构来搭建多流注意力残差网络(Multi-Stream Improved Residual Networks,MS-IResNet),每层的输出通道数分别为96、192、384、768、1000。如图5所示,将输入图像首先经过步长为4的4×4卷积核对图像下采样,然后依次通过由4个基础结构组成的不同层(Layer),最后再经过全局平均池化和全连接层分别将成熟度、油分和叶面结构量化成4个等级。 本文分别用MS-IResNet进行了回归量化和分类量化两种实验,不同方法对模型输出结果的处理也不相同。当进行回归量化时,网络输出值就是烟叶的某内在特征的层次。而进行分类量化时,在网络末尾先经过softmax处理输出烟叶属于不同类别的权重系数,最后用得分权重乘以类别IdC作为该烟叶最终的属性量化值。则分类量化公式为 (16) 图5 多流注意力残差网络 完整的分级流程如图6所示,输入烟叶图像后通过传统机器视觉方法提取长度、颜色、褶皱等外在特征,然后用训练好的MS-IResNet量化成熟度、油分和结构等内在特征,最后结合烟叶的外在特征和内在特征一起训练机器学习分类器对烟叶分类。 图6 烟叶分级流程图 (1)内在特征量化数据集。在国家烤烟分级标准《烤烟GB 2635—1992》中,明确将烟叶的成熟度、结构和油分等内在特征作为评估其级别的重要依据。在其彩色图像中包含了这些特征信息,却难以直接从图像中获取到。如图7所示,本文标注了疏松、稍疏松、稍密、紧密4种不同的叶面结构数据,此外还有欠熟、稍熟、适熟、完熟4种不同的成熟度数据,以及多、有、稍有、少4种不同的油分数据。根据实物和国家标准将每一种要素的烟叶分成4类,每一类共采集1000张烟叶图像。然后构建多流注意力残差网络,分别训练分类器和回归器来量化内在特征。 (2)内在特征、外在特征、内外结合特征数据集。表1抽样显示了5个级别不同特征的大小,包含了烟叶的长度、身份、纹理等外在特征,以及成熟度、油分、结构等内在特征,其中成熟度、油分、结构都在0~3之间,mean和std分别为烟叶在HSV和CIELAB空间上各通道的均值和方差。一共11个等级,每个级别各有3000个样本。 (a)疏松 (b)稍疏松 (c)稍密 (d)紧密图7 烟叶结构 表1 实验输入的特征属性 (3)评估指标。量化一张烟叶图像的平均速度和准确率作为量化结果的评估指标,分级的准确率和纯度是检测烟叶分级质量的两个重要指标。准确率就是测试集中被正确分类烟叶的比例,纯度通常单指某一个级别的纯度,假设挑出某等级L共有NL片烟叶,复查后还被分为L级的烟叶有nL片,与其上下相邻的两级分别有nL+1片和nL-1片,则其纯度为 (17) 为了验证本文改进方法的有效性,采用烟叶的结构数据集,使用交叉熵损失函数,Adam优化器,初始学习率为0.000 2进行实验。以ResNet50[25]作为骨干网络,首先对比实验了通道注意力网络(Channel Networks,ChannelNet)、空间注意力网络(Space Networks,SpaceNet)和多流注意力残差网络(Multi-Stream Improved Residual Networks,MS-IResNet),以验证本文改进的有效性;其次用多流注意力残差网络与其他经典网络对比实验,以验证本文方法的优势。 (1)图8为ResNet50[25]、ChannelNet、SpaceNet、MS-IResNet在训练过程中的准确率和损失变化曲线图,可以看出MS-IResNet的准确率最高,损失下降最快,对比原ResNet50,在其中加入空间-通道注意力机制或使用变形残差结构均可以提高量化的准确率。 (2)如表2所示,本文分别采用准确率和量化一片烟叶的平均时间作为模型的评估指标,将多流注意力残差网络与GoogleNet[26]、MobileNetV2[27]、EfficientNet[28]网络对比实验。结果显示多流注意力残差网络的量化速度较快,准确率最高为83.6%。此外本文分别采用多流注意力残差网络对结构数据集进行了分类量化和回归预测量化实验,结果显示回归量化的均方误差大于1,推测是烟叶图像信息量过大导致难以收敛,造成量化准确率较低。 (a)准确率 (b)损失图8 训练过程曲线图 表2 不同网络对比实验结果 表3 机器学习分类器对比实验结果 为验证本文建模方法的有效性,分别利用第1节提取的外在特征数据集和第2节量化的内在特征数据集,以及内外特征结合的特征数据集训练不同的分类器对比实验。为了验证最佳的机器学习烟叶分类器,本文给出不同分类器在内外结合特征数据集上的得分盒图。 (1)如表3所示,统计了NB(Naive Bayes,朴素贝叶斯)、KNN(K-Nearest Neighbor,K最邻近)、决策树、随机森林、AdaBoost、SVM、DNN(Deep Neural Networks,深度神经网络)分类器在不同特征数据集的分级准确率,其中DNN的最佳激活函数和隐藏层数等超参数都在准备工作中做了预实验,选用最优超参数。从表中可以看出内外特征结合的数据集在以上分类器上都取得了最高的准确率,而单独使用其中一种特征数据集的准确率较低,且与其他分类器对比,随机森林在3种特征数据上的分级准确率较高。实验结果说明内在特征和外在特征都对烟叶的级别有影响,烟叶分级属于细粒度分类问题,需要足够准确的特征才能准确地进行分类。 图9 不同分类器准确率盒图 (2)图9所示为不同分类器在内外特征结合数据上的得分盒图。从盒图中可以看出决策树、随机森林、AdaBoost的准确率较高,而NB、KNN、SVM的分级准确率较低。其结果符合人工分级的流程,参照标准对烟叶先分组、再分级,按不同特征的重要程度从上到下不断决策、分类。所以不管是从分级准确率,还是实际应用过程来看,都建议采用决策树或随机森林构建分类器对烟叶进行分级。 本文针对目前的烤烟烟叶分级方法存在复用性差、实用性低、难以标注数据等问题,提出了一种基于内外特征结合的烟叶自动分级方法,将分级流程数据化、一般化。由于烟叶的形态复杂多变,本文首先提取了颜色、面积比等稳定的特征;其次提出用最小二乘法拟合烟叶长度,采用灰度直方图提取烟叶的主色和杂色区域,再创新性地表示了烟叶的纹理与身份等外在特征;然后提出一种多流注意力残差网络量化了烟叶的成熟度、结构、油分等内在特征,与其他网络对比实验,其量化准确率最高为83.6%;最后用不同的特征数据训练了决策树、SVM、DNN等机器学习分类器,对比实验显示内外结合的特征数据在所有分类器上都取得了最高的准确率,与其他分类器相比,随机森林在不同特征的数据集上都取得了较高的准确率。2 量化内在特征
2.1 注意力机制和残差结构
2.2 内在特征量化网络
2.3 分级模型
3 实验结果分析
3.1 数据集与评估指标
3.2 内在特征的量化对比实验
3.3 不同特征数据集的分类对比实验
4 结论