APP下载

基于YOLOv5 的烤烟烟叶散把程度检测算法研究

2022-06-27余红霞罗瑞林云利军陈载清张春节

烟草科技 2022年6期
关键词:烟叶卷积样本

余红霞,罗瑞林,云利军*,3,陈载清,张春节

1. 云南师范大学信息学院,昆明市呈贡区聚贤街768 号 650500

2. 云南省烟草烟叶公司设备信息科,昆明市经济开发区西邑村182 号 650218

3. 云南师范大学云南省光电信息技术重点实验室,昆明市呈贡区聚贤街768 号 650500

散把是在烟叶分选前通过人工或机器将一把烟叶均匀分散地平铺在传送带上,保证单片烟叶不重叠且摆放方向与传送带运动方向垂直。散把不均匀会导致烟叶重叠,增加分选难度并出现分选后烟叶部位混杂、混合非烟物料等问题,影响分选速度和精度,降低烟叶等级纯度,导致烟叶质量无法满足卷烟工业企业生产需求。目前主要通过人工观察或传感器测量烟叶间距离等方式判断散把情况,存在生产成本高、测量难度大等问题。针对此,杜东亮等[1]基于计算机视觉设计了一种烟叶自动分级系统,烟叶经输送装置打散摊平后由CCD 相机采集图像,实现对烟叶等级的准确识别和在线称量。魏扬帆[2]通过一个或多个变速传送带进行烟叶散把,利用传送带之间的速度差拉开烟叶间的距离,同时利用编码器判断烟叶间距离以监测散把情况。袁奎等[3]设计了一种烟叶图像拍摄与物距显示装置,通过测量烟叶间距离来判断散把情况。崔建军等[4]研制了一种烟叶分层切断设备代替人工进行铺叶、解把、切断等操作,提高了烟叶配叶均匀性。潘东彪等[5]设计了一种滚刷式烟叶铺平装置,能够在烟叶图像采集工序前将褶皱烟叶铺平。上述研究大多着重于散把装置的改进以提高烟叶分级准确性,而利用检测算法对烟叶散把程度进行判别则鲜见报道。YOLOv5[6]是当前主流的单阶段目标检测算法之一,具有速度快、精度高、移植方便等特点,但将其应用于工业生产环境下的实时检测时所需的存储和运算能力较难满足[7],需要在保证识别效果的前提下降低模型复杂程度,简化网络结构。为此,以YOLOv5模型为基础,对其主干网络和瓶颈层进行改进,建立烟叶散把程度检测模型,以期为提高烟叶分选速度和准确性提供支撑。

1 材料与方法

1.1 材料和设备

2021 年云南省楚雄市C2F 等级烟叶(云南省烟草烟叶公司)。

MER-503-20GM/C-P 水星(MER-G-P)系列数字相机(北京市大恒图像有限公司)。

1.2 模型建立

1.2.1 数据集构建

在自然光环境下拍摄不同重叠程度的原始烟叶图像254张,拍摄角度固定且垂直于烟叶,图像分辨率为1 152 px×864 px。烟叶图像纹理信息和前景目标提取过程为:①将原始图像(图1a)由RGB[Red(红)、Green(绿)、Blue(蓝)]色彩空间转换为HSV[色 调(Hue)、饱和度(Saturation)、亮度(Value)]色彩空间(图1b);②对HSV 色彩空间进行通道分离,提取HSV 图像的饱和度(S 通道)信息得到烟叶纹理特征图像(图1c);③根据HSV 颜色对照表,查找前景目标对应色彩的H、S、V 阈值,对HSV 图像(图1b)进行二值化处理并得到相应图像(图2a);④将二值化图像作为掩膜与HSV 图像进行像素级的与运算,分割得到前景图像(图2b)。原始图像、纹理特征图像和前景图像各254 张共同构成数据集,按9∶1 的比例将数据集随机划分为训练集和测试集。

图1 烟叶图像纹理信息提取过程Fig.1 Extraction process of texture information from tobacco image

图2 烟叶颜色分割提取前景目标Fig.2 Extracting foreground object by color segmentation of tobacco

1.2.2 算法构建

如图3a 所示,利用YOLOv5 原始模型在主干网络(Backbone)对输入图片进行切片(Focus)、卷积(Conv)后,采用跨阶段局部网络(Cross Stage Partial Network,CSPNet)[8]中的 CSP 模块进行特征提取,将不同网络层梯度变化集成到特征图中;然后在瓶颈层(Nick)采用PANet[9]将一系列特征图融合后将图像特征传递至预测端进行预测。以原始YOLOv5 模型为基础,对主干网络和瓶颈层进行改进,建立烟叶散把程度的检测模型(图3b),具体步骤:①采用 4 个 Ghost 模块[10](输入输出通道数分别为64/128、128/256、256/512、512/1 024,卷积核大小为3,步长为2)代替普通卷积对图像进行高维特征提取并生成冗余特征图,以减少网络参数量(Parameters)和计算量(GFLOPS);②基于非对称卷积网络(Asymmetric Convolutional Network,ACNet)[11]的AC 模块设计ACIN 模块,并用2 个卷积核大小为3、步长为2、输入输出通道数相同的ACIN 模块代替瓶颈层中特征融合时的普通卷积,加强对局部特征信息的提取和融合。

图3 改进前后YOLOv5模型Fig.3 YOLOv5 models before and after modification

如图 4 所示,ACIN 模块主要将 AC 模块的 3 个卷积分支(3×3 卷积、1×3 卷积和3×1 卷积)融合成为2 个输出维度相同的分支(1×3 卷积+3×1 卷积、3×3卷积),2 个分支的特征相加后用步长为2 的1×1 卷积进行线性组合。以原始YOLOv5 模型为基础,验证ACIN 模型的有效性,结果见表1。可见,与AC模块相比,ACIN模块参数量和计算量均有所减少。

表1 AC模块与ACIN模块的参数量和计算量对比Tab.1 Parameter numbers and calculation amounts of AC and ACIN modules

图4 AC模块和ACIN模块卷积示意图Fig.4 Schematic diagram of convolution of AC and ACIN modules

1.2.3 散把程度表征

依据 IoU(Intersection over Union)[12]的计算方法定义松散度以表征烟叶散把程度。如图5 所示,采用改进后YOLOv5 模型对烟叶进行检测并获取预测框,计算预测框的宽度wi和中心坐标(xi,y)i等位置信息,将所有预测框按x 坐标进行排序,则相邻烟叶间的分散比和松散度计算公式为:

图5 烟叶松散度计算过程Fig.5 Calculation process of loosening degree of tobacco leaves

式中:O(i,i+1)为第i 张烟叶与第i+1 张烟叶的分散比,%;xi和 xi+1分别为第 i 张和第 i+1 张烟叶预测框中心点的 x 坐标;Wi和 Wi+1分别为第 i 张和第 i+1 张烟叶预测框的宽度;S(i,i+1)为第i 张烟叶与第i+1 张烟叶的松散度,%。

若分散比O(i,i+1)≥50%,说明相邻烟叶间无重合且松散度为100%;若分散比O(i,i+1)<50%,说明相邻烟叶间有重合,松散度越大则相邻烟叶间重叠程度越低,散把情况越好。

1.3 模型训练

模型在Windows 10 操作系统下运行,采用Pytorch 框架在NVIDIA GeForce RTX 3060 12GB GPU 上进行训练和测试。将训练集图像分辨率缩小至640 px×640 px,利用改进后YOLOv5 模型进行训练。模型参数设置:初始学习率为0.01,衰减方式为余弦退火(Cosine annealing)[13],衰减率为0.000 5,采用自适应矩估计(Adam)优化器,训练轮次(epoch)为 300,每 3 轮 epoch 进行一次 warmup[14]操作,批次(batch)大小为32,锚框(Anchor)高宽比设为6,添加Mixup[15]数据增强并将其概率设为1。

1.4 模型评价指标

选用网络的参数量(Parameters)、计算量(GFLOPS)、模型大小(Weights)、每秒传输帧数(FPS)以及平均精确率(mean Average Precision,mAP)5 个指标评价模型性能。其中,Parameters、GFLOPS、FPS 可以在模型训练时自动计算得到,Weights 取训练结束后直接生成的网络模型权重,mAP的计算方法为:

式中:TP(True Positives)为预测是正样本并且预测正确的样本数量,个;FP(False Positives)为预测是正样本但预测错误的样本数量,个;FN(False Negatives)为预测是负样本并且预测错误的样本数量,个;P 为查准率(Precision),衡量所有正样本预测中正确预测的比例,%;R 为召回率(Recall),衡量所有正样本中预测正确的比例,%;P(R)为以R 为参数的曲线(横坐标为召回率R,纵坐标为查准率P);AP(Average Precision)为单类别精确率,是查准率P(R)在[0,1]范围内对R 进行积分,即P(R)曲线下的面积大小;mAP 为所有类别的平均精确率,%;C表示类别数,本研究中C=1。

对样本进行预测时,利用公式(7)计算预测框(A)与真实框(B)之间的交并比。一般取IoU=0.5 计算mAP,即IoU≥0.5预测为TP,反之则为FP。

2 结果与分析

2.1 模型训练结果

分别采用改进前后YOLOv5 模型对训练集图像进行训练,结果见图6。可见,改进后模型在前50 epoch 迅速收敛,在100 epoch 后趋于稳定,并且平均精确率和损失值均优于改进前YOLOv5模型。

图6 改进前后YOLOv5模型训练结果Fig.6 YOLOv5 model training results before and after modification

2.2 模型评价

在参数设置一致的前提下,对改进后模型进行消融实验,结果见表2。可见,在原始YOLOv5 模型基础上添加Ghost模块后,网络的参数量和计算量分别下降10.8%和11.1%,模型大小减少10.9%,平均精确率未下降,表明Ghost模块对减少网络参数量和计算量、改善网络性能具有一定的作用;在原始YOLOv5模型基础上添加ACIN模块后,计算量增加14.0%,参数量和网络模型大小分别减少1.7%和2.1%,平均精确率提升0.3 百分点;在原始YOLOv5模型基础上加入Ghost模块和ACIN模块后,网络参数量和模型大小分别减少12.8%和12.4%,计算量变化不大,平均精确率提高0.2 百分点,表明改进后的YOLOv5 模型具有良好的检测效果且优化了网络结构。

表2 改进后YOLOv5模型消融实验结果Tab.2 Ablation results of modified YOLOv5 model

如表3 所示,与当前主流的目标检测模型相比,改进后YOLOv5 模型平均精确率优于其他模型且参数量相对较少,检测速度与原始YOLOv5 模型接近,达到32.25 帧/s,能够满足烟叶散把检测的实时性要求。

表3 不同模型对比实验结果Tab.3 Comparative experimental results of different models

2.3 散把程度检测效果

如图7 所示,利用测试集图像验证改进前后YOLOv5 模型的检测效果。可见,改进后模型对烟叶检测的精确率以及预测框的定位精准度均优于改进前模型,有效提高了烟叶松散度计算结果的准确性。

图7 改进前后YOLOv5模型对烟叶散把程度的检测效果Fig.7 Detection effects of YOLOv5 models before and after modification on tobacco bundle-loosening degree

3 结论

采用 Ghost 模块和 ACIN 模块对 YOLOv5 模型的主干网络和瓶颈层进行改进,对训练集烟叶图像训练后建立了烟叶散把程度检测模型。分别利用改进前后YOLOv5 模型进行训练,结果表明:与原始YOLOv5 模型相比,改进后YOLOv5 模型在未明显增加计算量的前提下,参数量减少12.8%,模型大小减小12.4%,平均精确率提升0.2 百分点,优化了网络结构,降低了模型复杂程度;改进后模型与YOLOv4、Efficientdet-d0、Faster R-CNN 等目标检测模型相比,平均精确率、检测速度均为最优且参数量较少,有利于在工业环境下以及移动端进行部署,实现烟叶散把情况的实时检测。

猜你喜欢

烟叶卷积样本
河北烟叶含青率偏高的原因分析及应对措施
贵州主产烟区烤烟上部烟叶质量的差异
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
用样本估计总体复习点拨
浅谈提高罚没烟叶利用率的途径
从滤波器理解卷积
规划·样本
晒烟叶