1. 引言
目前,基于机器视觉和深度学习的方法在农产品检测[1]、价格预测[2]和分级分选[3]等领域得到了广泛应用。鲜茶叶的精准分类作为茶叶生产加工中的关键环节,直接影响茶叶的品质分级、品种鉴别及后续加工工艺的优化。传统分类方法依赖人工经验或浅层图像特征,如颜色、纹理等易受光照变化、叶片重叠及主观因素干扰,从而导致成本高、效率低、泛化性差。如早期茶叶分级主要依赖物理特征分析,通过分级机基于叶片尺寸、形状等参数实现粗筛,此类方法虽能剔除残次叶片,但难以应对鲜茶叶的形态复杂性,分类精度受限[4]。随着检测技术的发展,研究者尝试结合多源信息提升分类效果。黄艳等利用近红外光谱与气相离子迁移谱进行主成分分析[5],还有通过电子鼻传感器信号构建PCA分类模型[6],虽能满足分类要求,但这些方法存在硬件成本高、检测流程复杂等推广难题。在特征工程层面,结合边缘与颜色特征实现99.45%的准确率[7],以及融合形状纹理特征达到98.5%的识别率[8],但严重依赖人工特征提取,面对茶叶姿态变化、光照差异等复杂场景时泛化能力不足。
近年来,机器视觉与深度学习技术在农产品检测与分选领域展现出显著优势,其中,卷积神经网络(Convolutional Neural Networks, CNN)因其强大的特征提取能力在农业图像识别领域得到广泛应用,其在茶叶分类研究中也逐渐成为热点。很多研究者尝试通过改进网络结构与训练策略优化分类效果,如采用ResNet进行迁移学习,利用ImageNet预训练权重解决小样本问题[9],但通用图像特征与鲜茶叶的细粒度形态特征存在显著差异而导致深层特征适应性弱。在特征融合方面,张金炎等在传统HOG特征的基础上引入CNN深层语义特征,构建多尺度特征金字塔,增强叶片细节表征能力[10],以及针对新鲜茶叶的形态特异性,将轮廓角点检测模块与CNN结合,通过距离矩阵相似度计算实现几何特征的自适应提取[11]。上述方法在一定程度上可以提高新鲜茶叶的分类精度,不过需注意,依赖手工设计规则是不能实现几何特征与CNN深层语义特征的端到端联合优化,会导致特征对齐误差与信息冗余。也有学者通过深度可分离卷积、通道剪枝等技术压缩模型规模,将参数量降低[12]。但关注参数量压缩,容易忽略实际部署中内存占用、实时推理延迟等关键指标,难以满足茶园边缘设备的资源约束需求。
针对以上问题,本文从模型架构出发,根据经典模型AlexNet在鲜叶数据集上表现出的局限,如需大量计算资源、收敛速度慢以及全连接层参数冗余等局限,提出一种改进的AlexNet模型,通过注意力机制引导特征增强、加入批归一化提升训练速度,并使模型轻量化等策略的适配,构建高效、鲁棒的鲜茶叶分类模型。
2. 数据采集与预处理
2.1. 数据采集
本研究中的鲜茶叶样本数据采集自重庆市永川区茶山竹海核心产茶区,数据采集工作于2024年9月秋季茶芽萌发旺盛期进行,使用华为荣耀30智能手机在自然光条件下进行标准化采集,重点采集茶树顶端嫩梢,拍摄距离30 cm左右。本次共采集123张图像,均为RGB图。
2.2. 数据预处理
1) 图像裁剪
为方便鲜茶叶分类,需要对采集的茶叶图像进行预处理。由于图像中干扰信息太多,背景区域占比太大,鲜茶叶目标太小,不利于目标的提取,所以需要对图像进行裁剪以去除图中的无关背景,并增强目标信息,以实现鲜叶与背景的分离。在裁剪过程中,由于人工裁剪速度慢,工作量大,所以为了提高裁剪效率,使用makesense.ai在线网页工具对这三类数据中的目标进行画框裁剪,将画框图片输入YOLOv5模型进行训练,再把剩下的图像全部输入训练好的模型进行目标检测以及目标裁剪,经过裁剪得到三种不同形状的新鲜茶叶,并根据其形状分为工厂中常见的单芽、一芽一叶和一芽二叶,如图1所示。裁剪后的数据集包括单芽104张,一芽一叶112张,一芽二叶104张。
Figure 1. Data cropping
图1. 数据裁剪
2) 数据增强
Figure 2. Data augmentation
图2. 数据增强
为了防止因数据量少而导致过拟合现象,以及保证数据的平衡性,将对训练数据集进行数据增强处理,所谓的数据增强就是针对现有数据进行数据扩展,增加数据数量。通过随机变换来获得多种可信图像,从而提升模型的泛化能力。本文通过将所有训练样本进行仿射变换、3倍对比度增强、垂直翻转、伽马映射、2.5倍亮度增强、3倍颜色增强、高斯噪声、灰度处理以及90度逆时针旋转等预处理,最终获得了3200张训练数据图像。数据增强后的部分样本图像如图2所示。将增强后的鲜茶叶数据图像按照8:2的比例分别划分为训练集和测试集,共有训练集2560张和测试集640张,鲜茶叶分类数据集具体见表1。
Table 1. Classification dataset of fresh tea leaves
表1. 鲜茶叶分类数据集
数据类别 |
训练集/张 |
测试集/张 |
单芽 |
835 |
205 |
一芽一叶 |
875 |
245 |
一芽二叶 |
850 |
190 |
合计 |
2560 |
640 |
3. 模型架构
3.1. AlexNet模型
AlexNet是由Hinton和他的学生在2012年设计的网络结构,如图3所示。AlexNe结构主要包括五个卷积层、三个最大池化层和两个全连接层,同时通过重复使用RELU激活函数,可获得更多的线性变换,从而进一步提高学习能力。卷积层在卷积神经网络模型中扮演着重要的角色,它的重要功能就是提取输入模型结构的图像的不同特征。池化层是对数据进行下采样处理,减少参数的数量,防止神经网络模型在训练过程中产生过拟合的现象,常见的方式有最大池化和平均池化。全连接层主要设置在模型结构的末端,主要是将前一层的全部神经元与后一层的每个神经元进行全连接,它的功能是整合模型结构中经过若干卷积层和池化层处理后带有区分不同种类的局部信息数据。同时,AlexNet网络在训练过程中加入了使神经元随机失活的Dropout层,使得它的性能能够超过传统的机器学习,成为第一个经典的卷积神经网络模型。
Figure 3. AlexNet model
图3. AlexNet模型
3.2. 改进AlexNet模型
本文改进的AlexNet模型结构如图4所示,改进内容如下:
1) 通道注意力增强
由于卷积神经网络中不同通道往往有不同的特征响应,在AlexNet模型架构中,Conv3~Conv5层包含了丰富的语义信息,以及特征图数量多和特征信息复杂,故在深层卷积层(Conv3~Conv5)后嵌入SE模块(Squeeze-and-Excitation)。首先对特征图进行空间特征压缩,在空间维度上实现全局平均池化,得到1 × 1 × C的特征图,其次通过全连接层学习,得到具有通道注意力的特征图,它的维度还是1 × 1 × C,最后将通道注意力1 × 1 × C的特征图和原始输入H × W × C的特征图进行逐通道乘以权重系数,最终输出具有通道注意力的特征图,见图5。SE通道注意力机制能够自适应地调整每个通道的特征响应权重,并学习对当前任务更为重要的通道特征,然后增强这些重要通道特征表示,从而让网络更加聚焦于关键信息。
Figure 4. Improved AlexNet structure figure
图4. Improved AlexNet结构图
Figure 5. Squeeze-and-excitation module
图5. SE模块
2) 批归一化层
在每个卷积层后面添加一层批归一化(Batch Normalization, BN)层,批归一化层(BN)是计算每个样本的均值和方差,相当于在每一层输入前先作一个批归一化处理。由于深度网络经过多层次的运算后可能会使数据的分布变化变大,通过采用批归一化,将中间层数据统一到同一量纲,可以减少对学习率的要求,促进网络模型的训练效果,缓解模型在训练过程中产生过拟合的问题,并且能大幅度地提高模型训练的速度。
3) 池化层重构
在原始的AlexNet网络中,是将全连接层设置在最后一层池化层的后面,但如果网络模型中涉及的神经元多,就会使全连接层中的参数量所占比重增大,从而导致模型的训练时间延长。所以本文将在模型结构的尾部使用全局平均池化层(Global Average Pooling, GAP)代替原模型中的两层全连接层。全局平均池化层的主要作用是降维,大幅压缩参数量并抑制过拟合。它的实现过程如图6所示,主要是对经历若干卷积和池化层而得到的N个特征图的像素分别进行求平均,可定义为:
(1)
其中,
为第k张鲜茶叶特征图值,Ak为鲜茶叶特征图对应输出的特征值。
Figure 6. Global average pooling
图6. 全局平均池化
4. 结果与分析
4.1. 实验设置
硬件环境:操作系统是Windows 11家庭版64位(Version 21H2/DirectX 12),处理器是AMD Ryzen 7 8845HS w/Radeon 780M Graphics,内存32 GB,显卡为AMD Radeon 780M集成显卡。软件环境:采用基于Tensorflow为后端运行的Keras深度学习框架,汇编语言为Python 3.8,科学计算库为Numpy 1.23,数据处理包为Pandas 1.5,数据可视化包为Matplotlib 3.6。在实验中,将batch的大小设置为16,训练轮数设置为50,AlexNet、ResNet50、MobileNetV1、ShuffleNetV1均选择SGD作为优化器,而改进的AlexNet模型采用优化器Adam,学习率设置为0.001。
4.2. 分类结果
对预处理后的3200张鲜茶叶图像进行了试验。本文采用测试集的分类准确率(Accuracy)和损失函数值(Loss)作为评价指标,准确率越高,损失值越小,模型学习的效果越好。
Table 2. Model training result
表2. 模型训练结果
模型名称 |
输入尺寸 |
时间(min) |
总迭代数Epoches |
准确率(%) |
损失值 |
模型大小(MB) |
AlexNet |
224 × 224 |
65.30 |
50 |
94.71 |
0.16 |
178.39 |
AlexNet + BN |
224 × 224 |
48.52 |
50 |
96.44 |
0.13 |
178.39 |
AlexNet + GAP |
224 × 224 |
39.44 |
50 |
93.40 |
0.18 |
14.30 |
AlexNet + SE |
224 × 224 |
35.40 |
50 |
97.53 |
0.10 |
178.55 |
Improved AlexNet |
224 × 224 |
19.03 |
50 |
98.84 |
0.05 |
3.67 |
由图7准确率图可知,改进的AlexNet准确率起步较高,快速上升,后趋于平稳接近1;AlexNet前期波动大,上升较曲折,后期趋于平稳但略低于改进模型。在损失值图中,改进的AlexNet下降较平滑,而AlexNet波动大,并且改进的AlexNet模型比AlexNet提前30轮进入收敛。另外,从表2可知,改进的AlexNet较于AlexNet来说,训练时间快了46.27分钟,准确率提高了4.13个百分点,模型大小减小了174.71 MB。
Figure 7. Plot of accuracy and loss values for AleNet and Improved AlexNet
图7. AleNet和Improved AlexNet的准确率和损失值图
4.3. 算法比较
随着迭代次数的增加,各个网络的准确率值整体上越来越高,损失值整体上越来越低。如图8可知,改进的AlexNet网络准确率都比其他网络收敛得更快,所有模型在前20轮中准确率都在不断提高,且改进的AlexNet网络在准确率和损失值曲线图中收敛得最早并最稳定。其他网络模型在整个损失值曲线图中始终起伏震荡,不稳定,即训练集和验证集结果有明显差异,出现轻微的过拟合现象。另外,从表3可知,改进的AlexNet网络相较其他轻量级网络来说,模型更小,损失值更小,准确率更高。综合分析,改进的AlexNet网络总体性能偏好,可以满足对鲜茶叶的分类识别。
Figure 8. Graphs of accuracy and loss values
图8. 准确率曲线图和损失值图
Table 3. Accuracy and loss values of the different models on the test set
表3. 测试集上不同模型的准确率和损失值
模型名称 |
总迭代数Epoches |
准确率(%) |
损失值 |
模型大小(MB) |
AlexNet |
50 |
94.71 |
0.16 |
178.39 |
ResNet50 |
50 |
91.50 |
0.34 |
90.00 |
MobileNetV1 |
50 |
87.42 |
0.52 |
12.33 |
ShuffleNetV1 |
50 |
85.33 |
0.67 |
11.26 |
Improved AlexNet |
50 |
98.84 |
0.05 |
3.67 |
5. 结论
本研究提出改进的AlexNet模型来对3种鲜茶叶进行分类,试验中分别从三方面对传统的AlexNet网络进行了改进:一是在AlexNet结构的Conv3~Conv5层后插入注意力机制SE模块;二是在AlexNet网络结构的每层卷积层后面添加一层批归一化层;三是在模型结构输出层前使用全局平均池化层,并去掉原始网络中的两个全连接层。通过实验证明,改进的AlexNet模型相比原来的AlexNet模型,训练时间快46.27分钟,准确率提高4.13个百分点,模型大小减小174.71 MB。说明改进的AlexNet模型能够实现对鲜茶叶的分类。同时,也证明深度卷积神经网络对鲜茶叶分类的可行性。
基金项目
2024~2025年重庆对外经贸学院科研项目:人工智能图像识别技术助力农产品品质分级与分拣(项目号:KYZK2024028);2024~2025年重庆对外经贸学院《智能算法应用》课程教学改革(项目编号:KG2024067)。
NOTES
*通讯作者。