1. 引言
烟卷质检在烟草制造中扮演着至关重要的角色,是香烟生产流程中重要的一环[1],确保香烟产品质量和生产效率。国内香烟生产过程中已有人工和机器质检流程,前者在自动化香烟生产中已显现出诸多局限性,特别是在烟卷外观检测中效率低下和准确性不稳定,而现有的机器自动检测烟卷表面小块污渍时,仍存在较大的不足,具体表现为检测准确度不高和实时性较差。这些问题严重制约了自动化检测技术在香烟生产中的应用和发展。鉴于此,迫切需要进一步研究和开发针对烟卷污渍的小目标区域检测的高效、准确且实时性强的模型,以满足现代生产的高标准要求,并推动相关技术的进步。
2. 文献综述
目前,国内外已经有很多种对烟卷污渍检测的方法,例如张维琛[2]等人采用深度学习的方法对烟支外观进行检测;赵科文[3]等采用近红外光谱技术结合模式识别算法,建立了6种润滑油的识别模型,针对香烟生产中常见的烟卷油渍污染物能较快速识别;刘佳[4]等人基于yolov5的卷烟外观缺陷检测算法进行优化;li [5]等通过改进yolo模型将其全部卷积化,在钢带表面缺陷检测中达到97.5%的精度和95.86%的召回率。在目标检测方向,yolo系列[6] [7]算法是迄今为止发展最快、最好的算法之一,尤其是yolov8的诞生,拥有了高检测速度,高精度等优点。yolov8算法在pytorch框架中实现,具有多项显著优点。首先,pytorch框架设计直观,便于开发者快速上手和实施各种深度学习模型。其次,yolov8具备极快的检测速度,适合实时应用需求。此外,其灵活的结构使得模型可以根据不同的任务和需求进行调整和优化。这种灵活性和高效性使得yolov8能够成功整合并应用于计算机视觉领域的多种技术,如图像分类、目标检测和实例分割等,显著提升了模型的性能和应用范围[8]。
对此,本文针对烟卷污渍检测问题,采用yolov8为基模型,在特征提取层增加注意力机制,用来提高特征表示的能力,提高对小目标的检测精度,以达到对污渍检测的提高。
3. yolo模型
3.1. yolo模型概述
yolo (you only look once) [9]是一种基于深度学习的目标检测算法,最初由joseph redmon等人在2015年提出。与传统的目标检测方法不同,yolo通过单一神经网络直接预测图像中所有目标的位置和类别,实现了高效的实时目标检测。其主要特点包括速度快、精度高以及端到端的检测流程。而去年新出的yolov8,他集成了先进的网络结构、注意力机制和优化的损失函数,显著提升了检测精度和速度。如图1所示,其改进的特征提取和数据增强技术,使其在复杂场景和小目标检测中表现出色,同时具备易用性和可扩展性,适用于自动驾驶、安防监控、工业检测、医疗影像、无人机和智慧城市等多种应用领域。相比于其他版本的yolo,提供了一个全新的sota模型用于满足不同场景需求。
figure 1. advantages of yolov8 compared to other versions
图1. yolov8 对比其他版本的优点
3.2. yolov8结构分析
3.2.1. yolov8骨干:提取输入图像的特征
yolov8是使用darknet-53作为其主干网络[10],用于从输入图像中提取特征。darknet-53是一种深度卷积神经网络架构,由53个卷积层组成,采用残差块和跳跃连接设计,旨在提高图像识别和目标检测任务的效率和精度。其简洁而高效的设计使其广泛用于各种视觉任务中。
3.2.2. yolov8颈部:特征融合和多尺度特征提取
在yolov8中,c3 (图2)结构[11]被替换为梯度流更丰富的c2f (图3)结构,以提高模型的特征提取能力和梯度流动性。c3模块利用cspnet思想进行特征分流,并结合残差结构进行特征融合,而c2f模块则采用多并行卷积块提供更丰富的特征处理路径。通过这一改进,c2f模块在不同尺度的yolov8模型中均能提升性能和效率。
figure 2. c3 structure diagram
图2. 结构图
figure 3. c2f structure diagram
图3. c2f结构图
3.2.3. yolov8头部:生成最终的检测结果
yolov8的头部网络由多个卷积层和全连接层组成。这些层用于将特征映射转换为目标框的位置和类别预测。头部结构负责将经过颈部融合的多尺度特征映射到最终的检测结果空间,包括预测目标的边界框位置、类别概率和置信度分数,采用卷积层和全连接层来实现目标检测任务的输出。
4. cbam注意力机制
cbam (convolutional block attention module) [12]是轻量级的卷积注意力模块,它结合了通道和空间的注意力机制模块,如图4所示。
figure 4. cbam structure diagram
图4. cbam结构图
如图5可以看出,cbam由通道注意力模块(cam)和空间注意力模块(sam)组成,分别在通道和空间维度上进行注意力计算。这种设计不仅节省了参数和计算资源,还确保了cbam可以作为即插即用的模块,方便地集成到现有的网络架构中。
figure 5. submodule schematic diagram
图5. 子模块示意图
在通道注意力模块(cam)中,输入的特征图f首先通过两个并行的池化层:最大池化(maxpool)和平均池化(avgpool),这两个池化操作将特征图的维度将特征图的维度从c × h × w变为c × 1 × 1。接着,将这两个池化结果输入到共享的多层感知机(shared mlp)模块中,该模块首先将通道数压缩为原来的1/r(减少率),然后再扩展回原通道数,通过relu激活函数得到两个激活后的结果。这两个结果逐元素相加后,通过sigmoid激活函数生成通道注意力的输出结果。最后,将这个输出结果与原特征图逐元素相乘,恢复为c × h × w的大小。
通道注意力计算式如下式(1):
(1)
其中:
favg表示通过平均池化后的特征图。
fmax表示通过最大池化后的特征图。
w1和w2是共享的mlp的权重矩阵。
5. 实验与分析
5.1. 实验的软件版本与硬件配置
本文实验所用的操作系统为windows版本,深度学习的框架为pytorch1.8.1,语言版本python3.8。本文系统旋转烟卷三个角度分别采集图像,获得烟卷外表的全覆盖信息(360˚),在图像预处理过程中截取烟卷水松纸和滤嘴部分作为roi区域,并进行竖直校正,如下图6所示。
figure 6. roi images of a cigarette after rotation by three angles
图6. 烟卷旋转三个角度后的roi图像
系统软硬件方案如下图7,其流程如下:
1) 光源模块启动,提供稳定的照明。
2) 采集模块启动,工业相机开始捕捉香烟转动过程中的视频流。
3) 用户通过人机交互模块发送截图指令,截取所需图像。
4) 图像处理模块对截取的图像进行处理。
5) 计算模块对处理后的图像进行数据分析和计算。
6) 用户通过人机交互模块查看计算结果,完成数据采集。
figure 7. system hardware and software solution
图7. 系统软硬件方案
5.2. 数据集介绍
本实验中的数据集由我们自主收集,如图8所示,采用3次旋转(覆盖360˚)采集装置,对样本进行采集。本数据集共326张图片,其中213张为训练集,113张为测试集,每张图片大小为1080 × 115,分为stain和background两个类别。
(1)
(2)
(3)
(4)
figure 8. examples of normal and stained cigarette samples collected: (1) stained sample 1; (2) stained sample 2; (3) stained sample 3; (4) clean sample 4
图8. 采集到的正常和有污渍烟卷样品图例:(1) 有污渍样品1;(2) 有污渍样品2;(3) 有污渍样品3;(4) 无污渍样品4
5.3. 实验结果分析
如表1所示,改进算法( cbam)在多个关键指标上优于原始的yolov8算法和改进算法( simam)。具体来说,该算法的召回率提升至87.2%,较原始算法提高了1.7个百分点,map50达到53.4%,提升了0.8个百分点。这表明改进算法( cbam)在目标检测的全面性和精确度方面均有显著优势,能够在实际应用中更有效地捕捉和定位目标。
table 1. comparison of results with different attention mechanisms
表1. 添加不同注意力方法的结果比较
算法 |
recall |
map50 |
原始的yolov8算法 |
85.5% |
52.6% |
改进算法( cbam) |
87.2% |
53.4% |
改进算法( simam) |
86.3% |
53.3% |
fastrcnn算法 |
86.3% |
53.1% |
yolo ( cbam)模型的训练–损失、平均精度和召回率等指标如下图9所示:
figure 9. other relevant results of cbam-yolov8 model
图9. cbam-yolov8模型其他相关结果图
图10为yolo ( cbam)模型检测的结果图,如图所示,可以精准定位到污渍的位置,经实验测试,每张图像的检测时间仅为44.1毫秒,这意味着系统能够以每秒超过22张图像的速度进行检测。在现实生产中,确保了生产线的高效运转,提高了生产效率。
烟卷污渍检测结果例图如图10所示,相较于原本的yolov8模型,改进后的模型精准度更高。相对于fast r-cnn算法,改进的算法( cbam)在污渍检测方面表现良好。fast r-cnn算法虽然在许多应用中取得了成功,但在检测较小和不明显的特征(如污渍)时存在一定的局限性。我们的改进算法通过引入卷积块注意力模块(cbam),有效地克服了这些不足。
(1)
(2)
(3)
figure 10. experimental results comparison: (1) undetected photo; (2) detected photo; (3) comparison image
图10. 实验结果对比:(1) 未检测照片;(2) 检测后照片;(3) 对比照片
6. 结论
烟卷污渍检测系统对生产香烟效率的提高有着重要的研究价值,提高了香烟的产量以及效率,具有一定的经济意义。本文提出了一个基于yolov8模型的烟卷污渍检测系统,在yolov8模型的基础上引入空间注意力机制(cbam),使其在面对各种干扰和噪声时仍能保持较好的检测性能。改进后的模型对比原模型效率有了提高,具有非常高的实用价值。
基金项目
本文得到了重庆科技大学研究生科技创新计划项目“基于resnet网络的烟卷污渍检测研究及实现”资助,编号znykc2324。
notes
*通讯作者。