基于卷积神经网络的原烟仓库虫情检测算法研究
2023-10-28姜福焕严祥辉范明登
姜福焕 ,严祥辉,范明登
(1.福建省龙岩金叶复烤有限责任公司,福建 龙岩 364102;2.厦门烟草工业有限责任公司,福建 厦门 361026)
0 引言
在原烟仓储中除了需要对温度、湿度有极高的要求外,对于仓库中的虫情也需要进行严格的控制。以最常见的烟草粉螟、烟草甲虫为例,该类害虫通过啃食烟叶为生,除了对烟叶的品相、重量造成影响外,其排泄物也会对烟叶的品质造成影响[1]。而在对于烟草害虫的防治上,需要根据虫口数量、密度选择不同的治理方式,这需要通过监测虫情以获得相关数据[2]。目前主要的监测方式为人工记录监测,受限于仓库数量、人工数量等客观因素影响,虫情监测流程工作效率低下,且随着记录员的工作时间增加,记录的精度也受到影响[3]。为此,如何提高虫情监测效率是目前行业中主要研究方向。
经过多年的研究,国内外学者已提出了很多种粮虫种类信息识别的先进技术方法,其中最具代表性的主要有以下几种:
1)声音检测法:声音检测法是一种通过对粮堆中储粮害虫发出的声音进行数据采样,随后采用技术手段对声音数据进行检测、分析,特征提取与匹配,据此来实现粮虫种类识别的方法[4]。
2)近红外法:近红外法是一种通过将近红外光向不同的储粮害虫进行照射,然后对所得到的近红外光频谱进行图像分析,来区分不同种类粮虫的方法。由于不同类别的粮虫身体成分有差异,其反射和吸收的近红外光谱也有差异,根据这些差异化表现便可以分辨出不同种类的储粮害虫[5]。
3)电导率测量法:电导率测量法是基于电导、电压的物理特性,根据所测导体水分对电导率的影响,来判断粮食中的害虫情况。通常,受到害虫侵害的粮食湿度要比无虫害粮食大,湿度越高则电导率越小[6]。
4)图像识别法:图像识别法是指利用摄像手段获取粮虫图像,通过图像处理、机器学习等技术提取储粮害虫的图像特征,然后进行图像特征的特征向量分类,从而识别不同储粮害虫的类别的方法[7]。
以上各种方法虽然技术手段先进、丰富,对粮虫种类的检测精度在特定环境下也能达到要求,但都存在着一定的问题,这些问题阻碍了各方法的进一步应用与推广[8]。具体问题如下:
1)声音检测法对采样设备周围环境的安静程度要求很高,在有环境噪声的情况下,声音检测法难以达到理想的检测效果。
2)近红外法对个体体积差异较大的粮虫分辨效果较好,但对体积差异小的粮虫而言,其反射的红外光谱图差异化较小,区分难度大。
3)由于粮堆电导率的数值大小与虫量成正比,所以该法只能检测粮堆内是否有虫以及虫量的多少,不能对粮虫的种类进行区分,实际意义不大,应用场景不多。
4)关于图像识别法,虽然取得了一些进展,但大部分研究中使用的储粮害虫图像过于理想化,粮虫图像背景简单,背景色与粮虫颜色区分度大,所采用的训练集皆为理想角度、完整、高清晰度的图像,甚至一张图像中仅有一只粮虫,这与实际的储粮环境不符。
得益于人工智能热潮,计算机视觉技术在近年有了快速发展。相比于传统目标检测算法基于人工先验知识设计特定目标的特征检测器,基于卷积神经网络的目标检测算法则可通过学习样本数据由网络自动提取目标特征值,在泛化性及鲁棒性上相比于传统算法都有了大幅度的提升进步[9]。
综上,为解决目前烟叶虫情管理模式的弊端以及将深度学习算法更好地应用于烟虫监测任务中,本文基于深度学习算法设计了专门适用于原烟仓库的虫害检测网络,通过对网络结构进行优化,使其在保证高精度的同时兼具有轻量化的特性,通过对虫情数据的实时采集,实现原烟仓储虫情的预警与分析,有效提升原烟仓储烟叶养护水平,进而为仓储养护管理供数据化的支撑,使其成为烟叶质量保障的新亮点。
1 理论分析
为了提高对小目标的检测精度,本文主要采用了Transformer模块搭建特征提取网络,依靠Transformer的全局自注意力机制,实现对小目标特征的加权提取。Transformer最初应用于自然语言领域中,而通过对其输入端进行结构改造后,其可应用于计算机视觉领域[10]。标准的Vision Transformer模块结构及对数据特征的处理流程如图1所示。
图1 Vision Transformer模块结构
2 网络设计
结合网络模型的应用场景,模型需要尽可能地轻量化,以尽可能满足在多种设备上嵌入运行,其次为检测的目标具有小、密等特点,不易于检测[12]。从第一方面考虑本文选用了单阶段的检测网络,通过精简的检测流程达到快速的检测的目的[13]。而对于目标小而密的检测难点,单阶段网络具有一定的不足性[14]。综上,对于虫害检测网络的设计本文主要围绕模型轻量化与提升密集目标检测精度两方面进行。在网络的设计中,本文将Transformer模块与标准的卷积模块进行组合,构建了鲁棒性更强的特征提取网络,网络结构如图2所示。
图2 特征提取网络结构
本文所设计的结构为“Conv+Transformer+Conv”的组合形式,该结构的优势在于整合了卷积网络的局部感知性与Transformer的全局感知型,使得网络整体对于目标具有更高的敏感性,降低漏检、误检的概率。
2.1 卷积网络模块设计
在主干网络的首尾部本文采用了标准卷积层进行构建,由于卷积对于图片像素更加敏感,因此在网络的输入端部分采用标准卷积能够将图片快速转换为包含有低级形态的特征的特征图,使得后续的Transformer模块不需要进行特征转换可直接进行全局特征的提取[15];而在网络的尾部,为了衔接检测器的输入仍采用了卷积层对特征图进行处理[16]。在首尾模块的设计中本文基于特征图金字塔结构进行优化在原基础上加入通道注意力机制,利用了FPN网络编解码及特征传递的特性,以提升特征图的丰富性。特征金字塔网络(FPN,feature pyramid network)是一种用于计算机视觉任务的神经网络结构。如图3所示,FPN可以从多个尺度的特征图中提取特征信息,从而提高模型的性能和鲁棒性。FPN的主要组成部分包括:1)自底向上的特征提取网络,从输入图像中提取多个尺度的特征图,每个特征图对应不同的物体大小和尺度;2)自顶向下的特征融合网络,将高层特征图与低层特征图进行融合,以便在不同尺度上提取更加丰富和准确的特征信息;3)横向连接,在特征融合的过程中,FPN还通过横向连接将相邻尺度的特征图进行连接,从而进一步提高特征的准确性和丰富性。FPN在计算机视觉任务中的应用非常广泛,例如目标检测、语义分割和实例分割等任务。通过使用FPN,可以使模型在不同尺度上都能够有效地提取特征信息,从而提高模型的性能和鲁棒性。
图3 特征金字塔网络示意图
优化后的网络结构如图4所示。
图4 通道注意力FPN网络
在网络的首部卷积层以编码的形式通过下采样的形式进行组合逐层缩小特征图,而在尾部则是通过上采样以解码的形式逐层放大特征图。由于本文所检测的目标较小,特征图尺寸越大目标,所能在特征图上体现的特征信息也越多,也利于检测,因此在主干网络的尾部采用上采样卷积将特征图扩大。同时,在网络的首部与尾部本文设计了特征图通道注意力机制映射模块,将浅层网络输出的特征图映射输入到深层网络所输出的特征图中,对特征图种的信息进行补充。这种传递方式提高了对于特征信息的复用,但同样也会将背景等无效信息传输到深层网络,引入一定的噪声干扰。为了消除背景信息的噪声干扰,本文在链接通道中加入了通道注意力机制模块,通过对特征图的通道额外增加权值,以表示不同的通道与特征图中目标信息的相关性,权值越大说明相关性越强,通过加权的方式对噪声特征的通道进行降权抑制,对包含目标特征的通达进行提权增强,所设计的通道注意力机制如图5所示。
2.2 Transformer模块设计
Transformer模块的引入主要为补充网络对于全局信息不够敏感的弊端。卷积模块侧重于对局部特征进行提取,如果依靠卷积模块获取全局特征需要通过多层网络迭代缩小特征图,使得在相同感受野大小下能够覆盖更多特征图区域[16]。而采用Transformer模块,如第一小结所述其能够采用少量的层结构构建特征图的全局特征信息。但由于标准的Transformer模块需要对特征图划分的每一块特征区域进行关联性计算,需要消耗较大的计算资源,不利于网络的轻量化构建[17]。为解决标准Transformer模块计算复杂,参数量多的问题,本文采用了稀疏Transformer模块进行构建。
稀疏Transformer模块的功能实现主要由“局部-全局-局部”三个子模块组成实现,先将局部相似特征进行整合,之后将整合的特征块进行全局关联性计算,最后在将计算结果重新分布的局部特征块中。每个稀疏模块的结构如图6所示。
图6 稀疏Transformer模块
如图6所示,为稀疏Transformer模块的结构及特征图在其对数据的计算过程:首先输入的特征图先进行Patch Embed块分割操作,将特征图分为多个大小为K×K的块区域,完成分割后会由局部特征聚合模块对每个块区域的特征进行聚合,该过程如图中1号虚线框所示,特征聚合模块采用了K×K大小的深度可分离卷积进行构建,其将特征块聚合为一个像素点进行表示,即该点代表了块特征(以上操作将特征图的大小进行K×K倍的缩小,能够减小后续自注意力计算的参数量及计算量)。之后由前馈网络将这些特征点进行组合,并再次进行Patch Embed操作,将每个特征点重新分割并通过编码转换为一维向量以进行Transformer自注意力计算。对于每个全局注意力权值的计算,本文采用了稀疏注意力的计算方式,该方式如图中2号虚线框所示,原特征图在每个K×K大小的区域内由一个特征点进行稀疏表示,之后仅对这些特征点进行自注意力计算,获取点与点之间的特征关联度。最后通过局部传播模块将获取到的注意力权值进行转发,使得该权值覆盖整张特征图。局部传播的实现为通过转置卷积将具有注意力权值的特征点转换为特征块,即每个特征块共享一个注意力权值,转置后即可获得每个块与块之间的关联度,在通过映射的方式将输入稀疏Transformer模块的特征图与转置后的特征图进行融合以获得空间层面上的注意力权值。通过这种方式能够在保证获取全局特征的同时,有效降低网络的计算量,并且可以通过控制分割特征图区域大小的K值决定参数的减小倍数,使其具有灵活性。
综上,网络整体的检测流程为输入的图片首先由卷积模块的编码器进行目标形态特征的提取及特征图的快速构建;之后由稀疏Transformer模块组对特征图进行空间层面上的全局自注意力计算,获取目标在特征图中的分布关系。完成之后输入到卷积模块的解码器中,将特征图进行还原,同时在卷积模块的编码器会将其输出的特征图通过通道注意力机制映射至解码器中,将低级形态特征与高级语义特征进行融合,提高了特征图的丰富性。最后,本文采用了目前单阶段网络中检测级精度较高的YOLO检测器对输出的特征图进行检测,获取目标在图中的数量及位置。由于网络的设计方案以轻量化为目的,且结合当下热门的Transformer多头自注意力机制,并采用YOLO检测器进行检测,因此将优化后的网络命名为YOLO TLite以便后续实验进行区分。
3 实验及数据分析
3.1 数据采集
为验证本文所构建网络适用于烟草仓储间的虫情检测任务,本文通过对仓储间内的真实虫情环境进行拍照采样,制作了烟草粉螟、烟草甲两类虫害的数据集,所采样图片如图7所示。
图7 采样示例图
对于数据集的样本制作,本文通过拍摄诱虫板上的虫害为目标样本,为提升模型的泛化性与增强其鲁棒性,在拍摄的过程中,本文选择了不同虫害密度的诱虫板已经通过控制拍摄的距离获取不同大小的样本目标。经统计,本文共采集图片1 638张,烟草粉螟样本数8 718个、烟草甲虫样本数6 539个。
3.2 评价指标
对于模型性能的评估,本文结合混淆矩阵采用以下量化指标进行客观评估:
混淆矩阵中共有TP、TN、FP、FN四个参数,每个参数所代表的含义分别如下:
TP:对于正样本,模型预测正确的个数;
TN:对于负样本,模型预测正确的个数;
FP:对于负样本,模型错误预测为正样本的个数;
FN:对于正样本,模型错误预测为负样本的个数。
精确率(Precision):评估模型对于目标类别的分类精度;
召回率(Recall):评估模型对于目标总数的查全能力;
F1综合得分:评估模型在均衡精确率与召回率情况下的综合性能。
检测精度均值(average precision):评估某一类别的检测置信度;
平均检测精度均值(mean average precision):评估模型的综合检测置信度;
模型复杂度(FLOPs):模型浮点运算计算量,评估模型复杂度;
检测速度(FPS):帧率,评估模型每秒能够检测图片的数量。
3.3 数据分析
对于模型性能的分析,本文以目前在轻量化网络领域中应用较为常用的YOLO v5s为参照对比模型,并将本文对于主干网络的优化方法分别移植至YOLO v5s上进行消融实验;并且为验证本文所设计稀疏Transform模块在该任务中的适用性,本文选取了标准Transformer模块与之进行对比。首先对网络的基础性能进行比较分析,对比结果如表1所示。
表1 基础性能对比
如表1所示,在模型1的测试结果中,YOLO v5s模型对于目标辨别的精确率较低,分析其原因主要为网络结构较为精简,无法对目标特征记性充分提取造成。而模型2、模型3与模型4相比较与模型1 YOLO v5s均有一定的提升,分析其原因为模型2采用了FPN结合通道注意力机制进行高低特征融合,在网络深层融入低级形态特征;模型3与模型4采用多头自注意力机制Transformer模型能够对特征图的全局特征进行提取,与卷积模块所提取到的局部特征进行互补。但对于模型4采用的标准Transformer模块与模型3所采用本文所设计的稀疏Transformer模块相比,在检测精度与召回率赏要略低于模型3,分析其原因主要由于标准Transformer模块对于特征图的块区域分割为等分,各个块区域无关联,对于每个块区域的特征关联性相较于稀疏Transformer模块的计算方式更低,使得所提取到的特征信息在全局性上与模型3相比有所欠缺。模型5与模型6采用了本文所设计的网络结构,两个模型的不同主要在于所采用的Transformer模块不同,结合模型3与模型4的对比分析,模型6采用标准Transformer模块与模型5相比,在检测性能上也略低于模型5。以上这5个网络均能提升网络特征的丰富度以提升分类精度。而对于召回率,由于诱虫板的背景为白色,虫害为黑色有较大的色差易于区分前景与背景,故各网络均有出色表现。综上模型5 YOLO TLite网络结合了通道注意力机制与稀疏Transformer模块,在分类精度上相比于其他网络都有明显提升,在F1综合得分指标也反映了YOLO TLite的检测性能更优。
在表2的检测精度对比中,同表1的数据相关联,特征的丰富性与全面性同样对检测精度有一定的影响。对比结果验证了本文所设计的模型5 YOLO TLite网络在检测精度上同样优于其他网络模型。
表2 检测精度对比
在表3中,主要对模型的轻量化性能进行比较。FLOPs指标为客观评估指标,FPS数据则与模型搭载的硬件参数相关,本文选用了两种硬件环境进行对比测试。基于FLOPs指标,模型2由于在原网络的基础上引入了轻量化通道注意力机制,因此其计算量相比于模型1 YOLO v5s有一定的增加;而模型3采用稀疏Transformer模块对原网络残差卷积模块进行替换,且模块使用数量与原先相比有所减少,因此在计算量上低于YOLO v5s。但模型4采用标准Transformer模块,由于Transformer模块计算的复杂度,使得模型的计算量要高于模型1,在计算速度同样低于模型1,结合表1与表2的检测性能对比结果,虽然标准Transformer模块与稀疏Transformer模块精度相似,但在计算量与检测速度上有明显差距。在模型5 YOLO TLite网络结构中,其另外将检测器的数量由3个改为1个,同时结合轻量化通道注意力机制与稀疏Transformer模块,因此其计算量整体也要低于YOLO v5s。反之模型6采用了标准Transformer模块,虽然网络做了一定的精简,但由于模块计算的复杂度使得计算量仍要要高于YOLO v5s。实际检测速度对比,以上网络在搭载由GPU的硬件设备中均能达到实时检测效果,而在CPU上也能满足间时检测。
表3 检测速度对比
以上消融实验证明了相比于优化前的YOLO网络,本文所设计的YOLO TLite网络在仓储烟虫检测中更具有优势。并且所设计的稀疏Transformer模块与标准Transformer模块相比也更适用于该场景,在具有高检测精度的同时,兼具了轻量化的特性。
为进一步验证YOLO TLite在该任务中的通用性,本文选用了目前主流的目标检测算法PANet、Cascade RCNN、Detection Transformer及Swin Transformer在本文所制作数据集上进行训练测试,并与YOLO TLite进行对比,对比结果如表4所示。
表4 多类模型对比测试
在表4中,SENet与CBAM Net为卷积神经网络,Detection Transformer与SWin Transformer为Transformer模型网络。测试结果CBAM Net因同时采用了空间加权注意力机制与通道加权注意力机制提高了模型对于目标的感知能力、SWin Transformer网络通过滑动分割计算的方式提高了Transformer模型中每个token的交互性,这两个网络模型在该任务中同样具有较好的鲁棒性,但与本文的YOLO TLite相比,在检测性能与检测速度上能仍有一定的差距,特别是在检测速度上,由于Transformer模型的计算较为复杂整体的计算量高,使得模型在检测速度上较慢。而对于SENet与Detection Transformer网络在网络性能上相比与其他网络均较有一定差距,主要体现在于SENet仅采用了通道加权注意力机制,对于目标在特征图空间上的分布定位感知能力较弱,而Detection Transformer则缺乏了特征图分割后token与token间的关联性。综上,YOLO TLite综合了卷积模型与Transformer模型的特点,在保证检测精度的同时,仍具有较快的检测速度。同时YOLO TLite模型对于不同距离、密度场景下的实际检测结果如图8所示,均能够将图中的虫害目标正确框选。
图8 实际检测效果图
综上实验,验证了本文所设计的YOLO TLite在烟草仓储间虫害检测任务中兼具有较高的检测精度与速度,适用于虫情监测模型中。对于监测模型的实现方案,本文主要通过计算虫害密度进行预警模型构建,通过在仓促间内铺设多个0.5的诱捕区,使用YOLO TLite模型计算区域内虫害个数,以得出相应密度等级。为验证模型的实用性,本文在区域内设置了不同虫害个数以及在不同的外界光照环境下进行检测实验,测试结果分别如图9所示。
图9 标准光照条件计数准确性检测
首先图9的测试结果来源于正常光照条件下的检测结果。图中,对相同区域面积大小下,不同虫害个数的平均计数精度对比结果上看,当虫害个数低于50时,模型的计数精度较高;而虫害个数在120只以上时,密度较高,使得模型的计数精度有一定幅度的下降。但虫害个数在200只左右时,模型的计数精度仍有0.924,网络模型在整体鲁棒性强,能够用于统计虫数。
其次,本文模拟了在夜间或照明条件不充足情况下的检测结果,以证明模型在不同环境下对于不同密度的虫害仍具有出色的检测性能,如图10所示。由于当光照条件不够充足时,画面会出现噪点,且虫害自身呈现灰黑色,因此检测结果相比于标准光照条件下略微有点下降,其检测精度的“拐点”出现于虫害个数为80只左右,但当虫害个数大于180只时检测精度仍达0.90以上,说明模型能够应付光照条件不足等复杂环境下的检测任务。
图10 弱光条件计数准确性检测
4 结束语
本文针对于烟草行业仓储环节中虫情检测难的问题,提出了一种基于深度学习的解决方案。该方案主要依靠深度学习网络计算单位面积内的虫害个数,进而换算出密度以得到相应虫情数据。为此本文主要基于Transformer模块优化设计了YOLO TLite轻量化检测网络,通过轻量化的结构设计,同时增强主干网络的特征提取能力,以提高检测精度。经实验验证,本文所设计的网络具有较强的鲁棒性,在不同密度环境下均能以较高的精度计算出虫害个数,具有一定的使用性能。