当前位置:首页 期刊杂志

基于深度学习的烟叶等级分类及特征可视化

时间:2024-06-19

鲁梦瑶,陈 栋,2,周 强,王志勇,陈天恩*,2,姜舒文

1. 北京市农林科学院信息技术研究中心,北京市海淀区曙光花园中路11 号 100097

2. 农芯(南京)智慧农业研究院,南京市浦口区行知路8 号南京国家农创园科创中心1022 号 211800

3. 安徽皖南烟叶有限责任公司,安徽省宣城市鳌峰中路72 号 242000

4. 国家农业信息化工程技术研究中心,北京市海淀区曙光花园中路11 号 100097

烟叶是中式卷烟生产的主要原料,根据质量优劣对烟叶进行科学、合理的等级划分,对于原料烟叶收购和卷烟配方设计具有重要意义[1]。目前,烟叶等级划分主要依靠人工经验,而人工分级容易受到主观经验和环境条件的影响,存在分级准确率低、一致性差等问题[2]。近年来,涌现出许多基于图像识别的烟叶智能分级研究,一些学者利用数字图像处理技术提取烟叶RGB(Red-Green-Blue)彩色图像的形状、颜色、纹理等特征,结合SVM[3]、ANN神经网络[4]、模糊识别[5]等算法构建烟叶分级模型。图像是烟叶外观信息最直接的表现形式,具有快速、便捷和实用等检测优势,但传统图像处理技术解决烟叶分级问题的效果并不理想,原因在于:主要基于人工经验选择图像特征,特征提取的精度以及特征对于分级的贡献程度均需大量试验进行优化[6];烟叶油分、身份和成熟度等影响烟叶等级的重要属性均属于图像的高级语义特征,仅依赖图像低层特征(如形状、颜色和纹理)无法实现这些高级语义的表达[7],造成某些分级特征缺失,影响分级准确率的提升。

随着人工智能技术的高速发展,以CNN(Convolutional Neural Network)为代表的深度学习技术在图像分类识别领域得到广泛应用。CNN 通过交替的卷积层和池化层可以自动提取目标任务所需的图像特征,无需人工设计和提取特征[8];通过多层CNN 提取的深层特征图像具有较高的抽象程度和语义信息。CNN 弥补了传统图像处理技术的不足,适用于烟叶分级任务。雒慧心[9]提出一种融合显式特征和深度特征的方法以减小分级错误率;Dasari 等[10]采用CNN 训练3 个等级烟叶120 张图像获得85.10%的准确率;苏明秋[6]提出多尺度特征提取的卷积模块,提升了基于Res2Net-18 烟叶分级模型的精度;刘振[11]利用SVM 分别对烟叶传统特征、VGG16 和B-CNN 提取的烟叶高级语义特征构建3 个模型,通过集成分类结果获得最优分级效果;Lu 等[12]利用ResNet-34 和构建的A-ResNet-65 网络分别训练烟叶子图和全局图像分级模型,通过融合2 个模型的结果获得91.30%的准确率。虽然深度学习技术在烟叶分级方面已有应用,但其黑盒化的特征提取和决策依据方式一直为人诟病[13-14],用户对于模型的理解和信任度较低,使得深度学习技术在烟草研究中的应用和发展受到限制。类别激活图(Class Activation Map,CAM)可视化技术[15]通过计算特征图中每个像素对于分类结果的贡献值来绘制特征热力图,定位CNN 模型在图像分类中关注的关键区域,对于解释模型决策、辅助评估模型性能具有重要意义。目前CAM 可视化技术被广泛应用于细粒度图像分类模型的性能评估,但关于CNN 模型在烟叶等级决策分类时依据视觉特征进行分析则鲜见报道。为此,利用搜集的104数量级的烟叶图像,提出一种基于CNN 模型的烟叶等级分类方法,基于CNN 构建烟叶全局图像特征提取模型、局部图像特征提取模型和分类器,并采用CAM 技术定位CNN 在烟叶图像分级中的关键区域,以期为实现烟叶机械化、智能化分级提供技术支撑。

1 材料与方法

1.1 仪器与设备

烟叶成像装置由相机、镜头和光源组成,采用黑色哑光栅栏式背景板,见图1。传送带夹持叶柄将烟叶传送至成像装置,工业线阵相机连接镜头固定在支架上,白色隧道式面光源背对相机安装,光源照射在烟叶表面,镜头正对光源隧道采集高速传送的烟叶反射图像。工业相机采用LT-400CL-F 型RGB 线阵棱镜相机(日本分析工业株式会社),分辨率为4 096 px×3 px,行频为16 kHz;镜头采用BVL1024-F 型镜头(日本Blue Vision 公司),定焦24 mm。定制光源(上海海之凝自动化科技有限公司)由2个高亮度、高均匀的白色面光源组成,中间为隧道,单个光源的发光面积为1 000 cm×300 cm。

图1 烟叶成像装置结构示意图Fig.1 Structure of tobacco leaf imaging device

1.2 烟叶图像采集

烟叶样品为2020 年安徽省皖南地区初烤后云烟87,由皖南烟叶公司专业技术人员按照烤烟国家标准GB 2635—1992 进行烟叶等级标注。挑选出B2F、B3F、C2F、C3F、GY、K 共6 个等级40 588 个烟叶,各等级烟叶数量分别为7 138、6 692、7 038、7 914、5 892 和5 914 个。由于影响烟叶等级的外观特征主要集中在烟叶正面,故主要采集烟叶正面图像用于等级识别。采集的烟叶RGB 图像分辨率为1 500 px×750 px,各等级烟叶图像见图2。

图2 各等级烟叶正面图像Fig.2 Frontal images of tobacco leaves of different grades

1.3 烟叶分级模型设计

针对不同等级烟叶外观差异小、等级识别易混淆等问题,提出了一种不同感受野的图像分类结果融合的烟叶分级方法,利用CNN 分别提取烟叶全局和局部图像特征并进行结果分类和融合,以实现不同等级的烟叶分类。

(1)模型整体框架。包括烟叶图像特征提取和特征分类结果融合两部分,整体流程见图3。在特征提取阶段,利用烟叶图像和等级标签有监督地训练烟叶全局和局部图像分级模型;通过训练模型获取烟叶图像的特征图和特征向量,特征图用于生成特征热力图,特征向量用于计算分类结果。在特征分类结果融合阶段,对全局和局部图像各分类类别对应的置信度进行加权平均,最大置信度所在类别即为最终分类结果。

(2)图像预处理。由于不同等级烟叶外观差异较小,在形状、颜色、组件等图像全局特征上极为相似,仅依靠烟叶全局图像难以提取到具有类别分辨信息的特征,且原始图像(像素为1 500 px×750 px)经过双线性插值方法缩放至CNN 要求的输入图像尺寸(像素为224 px×224 px)会导致图像形变和细粒度信息消失,故采用高分辨率的烟叶局部图像作为CNN 的输入图像,便于模型提取烟叶局部细节特征。由于靠近主脉的叶片中心区域包含的烟叶特征较为全面,避免了边缘卷曲、缺少主脉、背景冗余等干扰,因此将叶片中心区域作为局部图像。处理方法为:检测原始图像的烟叶最小外接矩形框,裁剪矩形框居中位置224 px×224 px 的区域作为局部图像。

(3)烟叶特征提取。对AlexNet[16]、VGG[17]、ResNet[18]、DenseNet[19]等 网 络 结 构 不 同 的 经 典CNN 分类模型进行改进,用于烟叶图像特征提取。将CNN 模型最后的池化层和全连接层替换为全局平均池化层(Global Average Pooling,GAP)[20],再连接一个Softmax层(GAP层和Softmax层之间的权重为w11,w12,...,w1n和w21,w22,...,w2n),构建新的模型;GAP 层无需池化参数,在降低模型参数数量的同时保留了特征的空间信息和定位[15]。

迁移预处理的模型参数有助于CNN 模型提取图像低层特征。首先训练烟叶分组模型,划分为上部烟、中部烟、青杂烟3 个组,不同组间的烟叶差异较大,在形状、颜色等特征上具有明显差异[21];然后利用分组模型的权重对分级模型进行初始化;再结合烟叶图像和等级标签对模型权重进行微调,以训练分级模型。由于分级模型包含全局、局部特征提取两个支路,网络权重数量大、模型训练不易拟合,在端到端的训练中,梯度反向传播方式较为复杂。因此,先分别训练烟叶全局、局部图像分级模型,再删除这两个模型的分类器,仅保留特征向量提取部分,即可通过模型获取全局和局部图像的特征向量。烟叶特征提取与特征可视化算法见图4。

图4 基于CNN模型的烟叶特征提取算法与特征图可视化算法Fig.4 Tobacco leaf feature extraction algorithm and feature map visualization method based on CNN model

(4)特征可视化。通过CAM 技术计算烟叶图像上每个像素对分类结果的贡献值并形成热力图,进而得到模型对于烟叶图像局部区域的关注程度,辅助理解模型的分类决策规则。烟叶图像在经过最后一层卷积层后,获得n个通道的具有高度抽象性的特征图An(图3a 中GAP 层前最后一层特征图);采用线性融合方式,将GAP 层到Softmax 层之间的n个权重与n个通道的特征图对应相乘后再相加得到特征热力图;将特征热力图通过插值方式上采样到原始图像大小即可得到类激活映射图CAM。计算公式为:

式中:M(i,j)表示最终分类类别在像素点(i,j)处的响应值;wk表示GAP 层和Softmax 层之间的权重;表示第k个特征图在像素点(i,j)处的像素值。

式中:LCAM表示类激活映射图;Upsample 表示上采样作用。

式中:Iinput表示输入的原始图像;ICAM表示模型对原始图像关注区域的热力图。

(5)特征分类与结果融合。构建一个包含全连接层、Softmax 层和加权平均层的分类器,对提取到的烟叶全局和局部特征向量进行分类和融合,流程见图3b。利用训练模型提取烟叶图像的特征向量(记为global feature 和local feature),通过一个全连接层(引入dropout技术防止过拟合,设置为0.5)将特征向量的个数映射为最终类别个数(本研究中为6),采用Softmax层将全连接层的输出值映射为[0,1]之间的概率。对全局、局部特征分类结果的置信度分别赋予一个权重(记为μ1和μ2,μ1+μ2=1),计算每个类别关于全局和局部置信度的加权平均置信度,即为该类烟叶的分类类别置信度,最大置信度所在类别即为分类结果。

(6)模型测试。利用训练的烟叶特征提取模型和分类器对烟叶等级分类进行测试,流程见图5。

图5 烟叶等级分类测试流程Fig.5 Test process of tobacco leaf grading

1.4 模型评价指标

训练烟叶特征提取模型和分类器时,采用模型损失值(loss)和准确率(accuracy)作为评价指标。采用烟叶原级分级准确率和相邻等级分级准确率,评价烟叶分级方法的性能。其中,原级指分类为正确的等级,相邻等级分类指同一部位的相邻等级[22]。

1.5 模型训练

在Windows Server 2010 操作系统的Pytorch 1.9.0 深度学习框架下完成。采用Intel Xeon Silver 4110 CPU 处理器和NVIDIA GeForce GTX1080Ti GPU 将图像以4∶1∶1 的比例划分为训练集、验证集和测试集,对训练集图像进行数据增广(旋转,随机比例裁剪,色彩抖动,增加高斯噪声),以增加图像的多样性。训练过程中,通过监督验证集的损失值和准确率辅助调整超参数;模型训练结束后,保存验证集分级准确率最高的模型。测试集用于评价模型的泛化能力。

采用随机梯度下降算法训练烟叶全局图像特征提取模型、烟叶局部图像特征提取模型、模型分类器。训练时设置图像批处理大小为16,最大迭代次数设置为100 轮。模型的初始学习率设置为0.001,每10轮衰减0.1。

2 结果与分析

2.1 特征提取模型和分类器的测试结果

采用烟叶全局图像训练的烟叶分组模型准确率见表1。可见,随着网络层数的增加,模型在验证集上的准确率有所提高;DenseNet-121 训练的烟叶分组模型准确率达到89.48%。

表1 预训练的烟叶分组模型准确率Tab.1 Accuracy of pre-trained tobacco leaf grouping model (%)

不同CNN 模型和不同训练方式下训练的烟叶分级模型分类结果见表2 和表3。可见:①通过微调烟叶分组模型的权重训练的分级模型结果最佳,与其他两种训练方式相比,分级准确率整体上有所提升;②基于微调训练方式,采用VGG-16 和ResNet-50 训练的全局、局部烟叶图像分级模型结果最佳,准确率分别达到62.80%和83.39%;③采用局部烟叶图像训练的烟叶分级模型(验证集准确率67.48%~83.39%)相较于全局图像(验证集准确率50.08%~62.80%)分类性能更优,这是由于高清晰度的局部图像有助于提升烟叶分级准确率,不同等级烟叶特征差异主要集中在烟叶局部细节上。

表2 烟叶全局图像特征提取模型的等级分类结果对比①Tab.2 Grading accuracies of global tobacco leaf image feature extraction models (%)

表3 烟叶局部图像特征提取模型的等级分类结果对比Tab.3 Grading accuracies of local tobacco leaf image feature extraction models (%)

基于VGG-16 和ResNet-50 训练的全局、局部烟叶图像特征提取模型,可以获取烟叶图像的特征向量。利用特征向量训练烟叶分级模型的分类器(图3b),得到全局特征分类置信度的权重μ1=0.375 4,局部特征分类置信度的权重μ2=0.624 6,最终分类器对于融合全局、局部特征向量后的分级准确率为86.50%。可见,经过分类器融合后的分类结果优于单独采用全局或局部图像的分类结果,准确率分别提高23.70%和3.11%。

2.2 烟叶局部特征可视化分析

为了评价模型是否在局部烟叶图像上学习到关键特征,基于训练的烟叶局部图像特征提取模型,使用CAM 技术生成不同等级烟叶局部图像的特征可视化热力图,见图6。可见,随着CNN 模型层数的加深,模型关注的区域逐渐由抽象到具体,即由广泛的大面积聚焦到局部的特定细节特征。通过对比不同CNN 的特征可视化结果可以看出,包含5 个卷积层的AlexNet 模型对于特征提取的效果最差。AlexNet 对于不同组别的烟叶区分较为敏感(关注上部烟的叶片边缘形状信息、中部烟和青杂烟的叶片中心区域),但对于区分等级的特征关注程度较差,特征的抽象表达能力有限,同时AlexNet 对局部图像的分级准确率仅为71.95%,与其他模型有明显差异。VGG-16、ResNet-50 和DenseNet-121 模型对于特征提取的效果相似,较AlexNet 有较大提升。其中,VGG-16 模型关注到一些区分烟叶等级的特征,但是较ResNet-50 和DenseNet-121 关注的特征区域更大,提取的特征粗糙、抽象程度不足(如B2F,B3F,C3F,K);ResNet-50模型提取的特征与人工分级关注的特征较为接近,特征精确且完整;DenseNet121 模型关注的特征区域较ResNet-50 稍大(如B2F,C2F,C3F,K),其可视化结果符合DenseNet 模型层间的密集连接和特征重组的特性。

图6 不同CNN 提取烟叶局部图像的特征热力图Fig.6 Thermodynamic charts of local tobacco leaf feature extracted by different CNN models

由ResNet-50 模型的可视化结果可知:① 对于B2F 和B3F 等级烟叶,模型对于烟叶特征的关注主要集中在颜色较深的皱褶区域和烟叶主脉区域。②对于叶片颜色均匀、表面光滑平整、褶皱较少的C2F和C3F等级烟叶,模型关注的特征面积较大,覆盖叶片的大部分区域;特征主要集中在纹理呈现变化的区域,与纹理走势具有相关性。③ 对于叶片具有明显残伤的GY 和K 等级烟叶,模型对于烟叶的关注集中在烟叶局部的病斑、残伤等非基本色块上。综上可见,CNN 模型与人工分级所关注的烟叶特征相一致,关注程度依次是病斑>皱褶>主脉>纹理走势,依据上述条件逐层判断即可推测烟叶等级。

2.3 模型验证

对测试集的烟叶图像进行等级识别以验证模型的泛化性能,得到烟叶的原级分级准确率为84.71%,相邻等级分级准确率为94.50%,混淆矩阵见图7。由图7a 可知,各等级烟叶的原级分级准确率均在80%以上,C2F 和C3F 等级烟叶识别准确率相对较低,错判的烟叶主要被分类成相邻等级。由图7b可知,各等级烟叶的相邻等级分级准确率达到90%左右,分级效果良好。由表4 可见,单张烟叶图像的平均检测时间为17.87 ms。

图7 测试集分类结果的混淆矩阵Fig.7 Confusion matrix of grading results of test sets

3 结论

提出了一种烟叶全局和局部图像特征提取和分类融合的烟叶分级模型,结果表明:① 基于VGG-16训练的全局图像特征提取模型和ResNet-50 训练的局部图像特征提取模型,得到的烟叶分级模型结果最佳,烟叶分级模型对6个等级烟叶测试集分级准确率为84.71%,单张烟叶图像检测时间为17.87 ms。②与仅使用缩放后的全局烟叶图像训练模型相比,融合高分辨率的局部烟叶图像构建的烟叶分级模型分级精度提高23.70%。表明CNN 能够提取高清晰度的局部烟叶图像中有效的烟叶等级特征,利用局部图像可大幅提升烟叶分级效果。 ③ResNet-50 模型对于局部烟叶图像的特征可视化结果表明,模型对于烟叶特征的关注程度依次是病斑>皱褶>主脉>纹理走势,与人工分级所关注的烟叶特征具有一致性。 ④提出的烟叶分级方法具有分级结果良好、检测时间短、特征可解释性强等优势,对于深度学习技术在烟叶图像分类中的应用研究具有参考意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!