洪金华,忻惠琴,陆海华,刘瑞东,舒 梦,陈 良,陈赞赞
浙江中烟工业有限责任公司宁波卷烟厂,浙江省宁波市奉化经济开发区霞浦西路2001 号 315040
随着消费者健康意识的提高,卷烟品质已成为消费者关注的重点之一[1]。然而,在烟草生产加工环节,特别是卷烟卷制包装加工环节,为保障机器的最佳运行性能和卷烟的品质,生产车间需常年保持恒温恒湿的环境,而这种舒适的环境恰好有利于烟草甲(后文简称烟虫)的生长繁殖。此外,在卷烟生产过程中会产生大量的烟丝、烟末等,也为烟虫的繁殖提供了充分的食物来源。在整个卷烟生产过程中,生产车间是一个相对开放式的环境,物料的进入、人员以及各种车辆的进出等为烟虫的引入提供了更多的可能性,并会长期在车间隐匿和繁殖。正是这样舒适的环境,大量烟虫得以繁殖和生长,进而影响到卷烟品质。
为有效降低烟虫对卷烟品质的影响,对烟虫的及时防治和有效治理显得十分必要。为此,廖明俊等[2]提出了以清洁卫生为主的车间烟虫治理方法,但其缺点是无法及时监控虫情。李铁军等[3]介绍了国内车间烟虫治理现状,并提出了及时监控虫情的必要性和重要性。程红军等[4]建立了一套基于预控技术的烟草甲虫治理模式,通过其能够及时发现生产各区域的虫情并予以预警和处理,但其缺点是无法自动、及时和精准地掌握虫情。李宏志等[5]提出一种粘捕型烟虫诱捕器,它能够自动有效地诱捕烟虫,但无法及时预警虫情。段晓威等[6]提出了采用图像处理技术对粘虫板上的烟虫进行预警和处理,该技术缺点是当粘虫板上有较多烟虫或者存在烟末等杂质时,无法精准检测烟虫。近年来,基于深度学习的目标检测技术取得了较大突破,一般基于深度学习的目标检测方法可分为两类:一阶段(one-stage)方法和两阶段(two-stage)方法。一阶段方法直接用CNN 卷积神经网络预测不同目标的位置和类别,不需产生候选框,如YOLO[7]、YOLOV2[8]、SSD[9]等;两阶段方法先生成目标候选框,然后对目标候选框做分类与回归,如R-CNN[10]、Fast R-CNN[11]、Faster R-CNN[12]等。一阶段方法较二阶段方法在检测准确率和定位精度上占据优势,但在计算速度上不如二阶段方法。然而,在保证检测速度的前提下,为提升预测精度,Redmon 等[13]提出了YOLOV3 模型,该模型能够实现更细粒度的目标检测,同时维持较高的检测速度。基于YOLOV3模型的优点,本研究中采用该模型对卷烟厂中烟虫进行目标识别,旨在通过对烟虫精准、高效地检测以达到有效降低烟虫对卷烟品质影响的目的。
DC0101 烟虫诱捕器(29 套,武汉东昌仓贮技术有限公司);小型CCD 相机(29 套,Allied Vision工业相机)和智能LED 补光灯。烟虫图像采集装置如图1 所示。
图1 图像采集装置Fig.1 A schematic of the image acquisition device
利用图像采集装置耗时120 d 共采集到300 张含有烟虫的图像,从中挑选3 张背景不同和有杂质的图像予以展示,如图2 所示。
将采集到的图像数据通过无线通信方式传送至中控室主机,然后利用Tensorflow 中的双线性插值法将图像像素由2 448×2 448 调整为416×416,经调整后的图像能够有效减少网络模型的计算量。对于调整后的300 张烟虫图像,采用labelImg软件进行标注,标注过程如图3 所示。经标注过的图像组成300 张样本集,再将其随机分成训练集和测试集,其中220 张为训练集,80 张为测试集。
图3 烟虫图像标注过程Fig.3 Tagging process for tobacco insect image
利用由220 张图像组成的训练集来训练YOLOV3 模型,往往会导致模型过拟合或者欠拟合现象。为提高模型的泛化能力和检测精度,Montserrat 等[14]提出利用数据增强技术实现图像数据的增强。为此,本研究中采用数据增强库(imgaug)中5 种常用的增强技术增强训练集,用增强后的训练集训练模型,提高其鲁棒性和检测效果。
①旋转:按两个角度进行旋转,即逆时针、顺时针分别旋转30 度,用白色背景进行填充,增强效果如图4 所示。②缩放:将图像放大1.5 倍或者缩小0.9 倍,对于缩小后的图像,用白色背景进行填充,增强效果如图5 所示。③平移:将图像沿x轴或者y轴方向平移30 个像素,并用白色背景进行填充,增强效果如图6 所示。④高斯噪声:为了避免深度学习模型在学习高频特征时容易产生的过拟合现象,采用高斯噪声来消除高频特征,增强效果如图7 所示。⑤翻转:采用镜面映射实现图像旋转,增强效果如图8 所示。
图4 左右旋转增强后的烟虫图像效果图Fig.4 Enhanced images of tobacco insects after left and right rotations
每种数据增强技术可将原始图像增强2 倍,即增强后训练集中共有2 420 张烟虫图像。
图5 放大和缩小增强后的烟虫图像效果图Fig.5 Enhanced mages of tobacco insects after zooming in and zooming out
图6 x 和y 轴平移增强后的烟虫图像效果图Fig.6 Enhanced images of tobacco insects after x-axis and y-axis translation
图7 高斯噪声增强后的烟虫图像效果图Fig.7 Images of tobacco insects enhanced by Gaussian noise
图8 上下翻转增强后的烟虫图像效果图Fig.8 Enhanced images of tobacco insects after up and down flipping
利用29 套图像采集装置共采集到300 张含有烟虫的图像,其中224 张含有烟末等杂质,另外76张仅含烟虫。随机将其分为训练集和测试集,其中220 幅作为训练数据用于训练YOLOV3 模型;剩余80 幅作为测试集用于评价模型的准确率,测试集中49 幅含有烟末杂质,烟虫数量为119 只,31幅仅含烟虫,烟虫数量为71 只。为对烟虫实现精准、高效的检测,首先采用1.2 节中的5 种数据增强方法,将220 幅训练数据增强为2 420 幅,并将2 420 幅烟虫图像按4∶1 的比例重新划分为训练集和验证集,得到1 936 幅训练集图像和484 幅验证集图像,其中烟虫数量分别为8 786 只和1 228只。通过训练集中1 936 幅烟虫图像训练YOLOV3 模型参数,并利用验证集中的484 幅烟虫图像监督模型的训练情况,指导模型选择最优的YOLOV3 参数,最后在80 幅测试集上评价YOLOV3 模型对烟虫的最终检测效果。
为更加精准地预测真实边界框,需生成相对理想的先验锚点框。Redmon 等[7-8,13]采用k-means算法得到先验锚点框,而袁方等[15]认为k-means 聚类算法对初始值更为敏感。因此,采用k-means++算法对训练集中样本进行聚类生成9 个先验锚点框,k-means++聚类算法流程为:①从数据集中选取样本均值作为第一个聚类中心;②计算每个样本与当前已有聚类中心之间的最短距离(即与最近的一个聚类中心的距离),用D(x)表示,D(x)越大表示该样本将被选为下一个聚类中心的概率越大;按照轮盘法选出下一个聚类中心;③重复步骤2,直至选出9 个聚类中心;④采用Redmon 中的k-means 算法优化9 个初始聚类中心。
通过k-means++算法聚类生成的9 个先验锚点框,如表1 所示。
表1 9 个先验锚点框Tab.1 The 9 prior anchor bounding boxes
采用YOLOV3[13]模型对烟虫进行检测。为实现对烟虫高效精准检测,采用1.2 节中增强后数据集和2.2 节中先验锚点框训练模型。模型迭代参数(epochs)为200,批处理参数(batch_size)为2,验证集划分比例(val_splite)为0.2,优化方法为自适应梯度下降法(adam),其他参数采用YOLOV3[13]模型中的参数。为验证本方法的有效性,选用DSSD[16]模型作为对比试验的参考模型,该模型采用残差连接提高了模型的深度,有效提高了浅层表征能力,克服了SSD[9]对小目标识别不敏感的问题。DSSD 模型的数据集和参数均与本方法的设置保持一致。在训练和测试过程中,本实验的运行环境为:pycharm、keras、cudn9.1、cudnn7.1、GeForce GTX 1050 Ti(4G)。
对于烟虫检测识别效果的评价,仅采用准确度进行评价是不够的,还需对烟虫的位置进行定位以及用边框准确框出烟虫。为更好地评价模型的性能,采用平均精度均值[17-18](Mean Average Precision,MAP)予以评价。由于本研究中只涉及一类昆虫,所以MAP等于AP[19],AP的公式如下:
其中:P为精确率,R为召回率,P(R)为以R为参数的函数,整个公式等价于计算P与R曲线围成的曲线面积,即P-R曲线面积。P、R的计算公式如下:
其中:TP为被模型检测出来且真正为烟虫的数目,Prediction为被模型检测出来的目标数目,GroundTruth为真实标签数目。P与R单独使用均不能很好地评价目标检测模型的性能,因为P存在漏检和R存在错检的情况。
共历时29 h 42 min 完成对YOLOV3 模型的训练,模型在155 次迭代后模型检测效果性能趋于稳定,其在验证集上最优检测效果如表2 所示。由表2 可知,对于精确度、召回率和平均精度等指标,YOLOV3 检测效果达到95%以上,超过DSSD模型;YOLOV3 模型单张图像平均检测速度达到0.112 1 s,优于DSSD 模型0.594 7 s,达到模型对烟虫检测精度和速度的要求。
在测试集上,烟虫检测模型方法准确性试验结果如表3 所示。由表3 可知,对于精确度、召回率和平均精度等指标,YOLOV3 检测效果均达到96%以上,超过DSSD模型;YOLO3模型单张图像平均检测速度达到0.129 2 s,优于DSSD模型0.608 7 s,能够满足卷烟厂对烟虫检测速度的要求。
表2 验证集中YOLOV3 模型和DSSD 模型的检测效果Tab.2 Detection results of YOLOV3 model and DSSD model for validation set
表3 测试集中YOLOV3 模型和DSSD 模型的检测效果Tab.3 Detection results of YOLOV3 model and DSSD model for test set
在测试集上,烟虫检测模型方法抗干扰能力试验结果见图9。由图9 可以看出:(1)、(2)和(3)3 幅图中,尽管黏板和烟虫的位置不同,利用YOLOV3 模型仍能够实现烟虫的精准识别并予以标注;(5)、(6)和(7)3 幅图中,尽管存在与烟虫较为相似的烟丝和烟末等杂质,利用YOLOV3 模型依然能够精准高效地检测出图像中的烟虫;(4)和(8)两幅图中,由于存在与烟虫极为相似的烟丝和烟末等杂质,故存在一定的误检现象。由此可知,经训练好的YOLOV3 模型对黏板位置、烟丝、烟末等杂质具有一定的抗干扰能力。
尽管YOLOV3 模型能够有效解决烟虫等小目标检测问题,但依然存在将少量与烟虫极其相似的烟末、烟丝等杂质误检为烟虫的情况,其原因很可能是由于网络结构存在提取的特征不够十分有效或者网络结构有待改进的问题。Gao S H 等[20]提出的CNNS 模块增强了多尺度特征提取能力,实现了更加细粒度的目标物体检测。为此,后期将考虑结合CNNS 模块设计一种更高效地特征提取网络,优化YOLOV3 模型网络结构,解决少量误检等问题。
图9 烟虫检测模型抗干扰能力实验结果Fig.9 Experiment results of anti-interference ability of tobacco insect detection model
针对卷烟厂需及时、精准地掌握虫情的要求,采用YOLOV3 模型设计了一套烟虫报警处理系统,处理技术路线图见图10。利用该系统可精准地检测出烟虫的数量、一定时间内烟虫的增加量及其位置。当烟虫数量在一段时间内增加的数量超过阈值(可根据各卷烟厂具体情况进行设置)时则报警,有关人员则采取相应措施进行处理。
本套检测系统不仅能够对烟虫诱捕器上烟虫进行检测识别,也能够对其他检测点的烟虫进行检测识别。以卷包车间最易滋生烟虫的废烟处理机和烟梗分离器为例,利用手机对废烟处理机和烟梗分离器进行图像采集,分别采集到一张大小为1 440×1 080 像素的图像。首先将其通过无线通讯方式传送至中控室主机,然后利用Tensorflow中的双线性插值法将采集到的图像调整为416×416 像素,最后利用系统中YOLOV3 模型进行检测识别,检测效果如图11 所示。由图11 可以看出,该套烟虫报警系统也实现了卷包车间中废烟处理机和烟梗分离器上烟虫的精准识别。
图10 烟虫报警处理技术路线图Fig.10 Technical roadmap for tobacco insect alarm processing
图11 系统模型的扩展应用Fig.11 Examples of model application
①采用数据增强技术和k-means++聚类方法提供的充足数据以及较理想的先验框等对YOLOV3 模型进行训练,经训练后的YOLOV3 模型能够对卷烟厂烟虫进行精准检测,验证集和测试集中检测精度均达到95%以上,每帧检测速度分别为0.112 1 s 和0.129 2 s,能够满足卷烟厂对烟虫检测的精度和速度要求。②经训练好的YOLOV3 模型对黏板位置、烟丝、烟末等杂质具有一定的抗干扰能力,具备在复杂环境下安装部署的条件。③基于YOLOV3 模型设计的烟虫报警处理系统能够精准检测出烟虫数量、一定时间内烟虫增加量及其位置。该系统在废烟处理机和烟梗分离器上取得了较好的应用效果。