基于YOLOv7的木材缺陷检测模型Wood-Net的研究
2024-01-25王正江莺严飞孙佑鹏张园张柳磊
王正,江莺,严飞,孙佑鹏,张园,张柳磊
(南京林业大学机械电子工程学院,南京 210037)
木材利用率一直是木材行业非常重要的指标之一,但木材的综合利用率通常只有50%~70%[1]。在生产过程中,合理地剔除木材缺陷能够提升木材利用率。因此,如何快速、高效识别及定位木材缺陷以实现木材优选显得尤为重要。
图1 YOLOv7结构Fig. 1 Structure of YOLOv7
随着计算机技术的迅猛发展,深度学习算法广泛应用于各行各业之中。Fei等[2]利用轻量化的网络实现对鲜切花的快速分类。Zhou等[3]利用深度学习算法实现青梅的表面缺陷检测。Zhou等[4-5]利用改进的YOLOv7算法识别火龙果并且完成采摘任务。当然也不乏在木材缺陷检测中的应用。Al-Zubi等[6]将基于深度学习的区域卷积神经网络(Mask R-CNN)框架应用于检测和分割具有各种纹理、颜色和钻孔图案的木板合成图像中的钻孔,但是其只是对木材钻孔进行识别,其重心在于分割不同纹理下的钻孔。Ling等[7]结合GooLeNet和ResNet模型的结构,建立了基于ResNet-v2的木材缺陷检测模型,新的导出模型可以准确地指出板材表面的虫洞、活节和死节3种缺陷类型,但其只能对该缺陷类别进行分类,不能同时检测同一木板中的多个缺陷。Wang等[8]使用经过GridMask的数据增强、更改主干网络的剩余区块(residual blocks)为Ghost块结构,升级网络的置信损失函数改进YOLOv3基线模型,并将其应用于木材表面缺陷检测,但虫洞、节子以及裂缝3种缺陷的平均检测精度仅有86.49%。Gao等[9]将SE(squeeze-and-excitation)模块嵌入剩余基本块,提高了网络特征提取的效率,并利用全局平均池来替换末端卷积层之后的完全连接层,改善了分类性能,由此提出了一种新的卷积网络模型ResSENet-18,在测试的分类准确率上比Resnet18有8.19%的提升。该论文中的数据集获取自奥卢大学的具有7种节子缺陷的云杉树木材图像,通过数据扩充技术将原本448张数据集扩充了7倍,组成自己的数据集用来分类。Shi等[10]在Mask R-CNN的前端设计了一个扫视网络,以完成常规木材和缺陷木材的分类,首次将FLOP运用于NAS的速度优化之中,同时使用遗传算法优化特征通道的选择,以获得Mask R-CNN输入特征的最佳组合,但该网络仅识别分类了3种缺陷,且模型非常复杂。Ding等[11]将DenseNet网络引入SSD,可有效检测活节、死节和裂缝3种类型的缺陷。该研究关注实木地板生产过程中的缺陷,其中数据集仅有500张,总数较少,且仅有3种缺陷,缺陷种类也较少。
尽管这些深度神经网络相比人工有可靠性高、工作效率高等优点,但上述方法存在识别定位种类少、鲜有关注原木板材生产过程中实际存在的缺陷等问题。为克服数据集缺陷种类少、数量不均衡等问题,本研究构建了包括活节、死节、树脂、树髓等8种木材缺陷的数据集,对YOLOv7做了两点改进,构建了Wood-Net网络。为了增强E-ELAN结构的跨通道信息交互能力,将注意力机制ECA(efficient channel attention module)[12]引入主干网络;为了增强特征融合能力,引入了Res2Net[13]结构,并且提出了ECA-Res2Net模块。
1 Wood-Net模型设计
YOLOv7[14]在准确率和速度上都超越了以往的YOLO,其网络主要由Input、Backbone、Neck和Head 4个部分组成,如图1所示。
1.1 ECA-ELAN模块设计
E-ELAN作为YOLOv7的主要创新点之一,在YOLOv7网络中有2种方式,在图1中以E-ELAN(a)和E-ELAN(b)区分。E-ELAN通过多通道卷积后增加通道数,实现了检测效果的提升。然而,E-ELAN多通道卷积之后只进行了简单的Concat操作,其对多通道之间的信息融合能力不足,难以实现跨通道信息交互,从而不能充分考虑图像特征,而通道注意力机制正好可以弥补这一不足。
图2 ECA注意力机制结构Fig. 2 ECA attention mechanism structure
在ECA模块之中,卷积核大小K根据具有不同通道数和各种CNN(Convolutional Neural Networks)结构的卷积块而变化。由于CNN网络中通道数C(即滤波器的数量)通常设置为2的整次幂,确定C与K之间的非线性映射关系为:
(1)
E-ELAN结构中利用Concat模块将经过不同次数CBS卷积后的结果并联进来,通道数实现了大幅度的增加,即描述图像本身的特征数(特征通道数)增加了,而每一特征下的信息量没有增加。ECA注意力机制针对SE注意力机制将MLP模块(FC->ReLU->FC->Sigmoid)转变为一维卷积的形式,有效减少参数计算量的同时,实现了适当的跨通道交互。因此,将ECA注意力机制引入E-ELAN结构中,命名为ECA-ELAN模块,以增强网络跨通道信息交互能力,提高特征融合效率。改进后的E-ELAN(a)′和E-ELAN(b)′结构如图3所示,改进后的结构在网络结构中位置不变。
图3 改进的E-ELAN结构Fig. 3 Improved E-ELAN structure
1.2 ResSPPCSPC模块设计
Neck网络主要发挥特征融合的功能。YOLOv7中的SPPCSPC(spatial pyramid pooling and channel spatial pyramid convolution)模块在沿用YOLOv5的CSP结构的同时,创新性地将金字塔特征模块引入其中。SPPCSPC模块有空间金字塔池化层1×1、5×5、9×9、13×13共4个不同尺度最大池化使用不同分辨率图,用以区分不同尺寸的目标,其结构如图4所示。虽然在池化的过程中可以获得邻域内最大的特征点,但是其对更细粒度的特征提取能力十分欠缺。因此,本研究选用了能够提取更细粒度特征的网络Res2Net来弥补这一不足。
图4 SPPCSPC模块结构Fig. 4 SPPCSPC module structure
图5 ResNet和Res2Net模块结构Fig. 5 ResNet and Res2Net structure
Res2Net是ResNet的一种变体,其主要特点就是利用了多尺度卷积,测试性能超过了普通残差神经网络。ResNet和Res2Net的详细结构如图5所示。由图5可以看出,Res2Net对ResNet进行了改进,在单个残差块中构造了一个类似的具有层次结构的残差连接,取代了一般的单个3×3卷积核。具体来说,所有组的特征图连接起来之后,发送到另一组1×1滤波器,以将信息融合在一起。随着输入特征转换为输出特征的任何可能路径,当接收3×3滤波器时,等效接受场会增加,由于组合效应导致许多等效特征尺度,即所谓Res2Net在更细的粒度级上表示了多尺度特征,并且增加了每个网络层的接受域。
多尺度特征在检测任务中一直都是很重要的,自从空洞卷积提出以来,基于空洞卷积搭建的多尺度金字塔模型在检测任务上取得了里程碑式的效果。不同感受野下获取的物体信息是不同的,小的感受野可能会看到更多的物体细节,对于检测小目标也有很大的好处,而更大的感受野可以感受物体的整体结合,方便网络定位物体的位置,细节与位置的结合可以更好地得到具有清晰边界的物体信息。Res2Net提供了一个新的策略。除现有的深度、宽度和基数维度外,还揭示了一个新的维度,即规模,这是一个必不可少的因素;并且有试验证明增加规模比增加其他维度更加有效。Res2Net的“规模”策略为多尺度特征的提取提供了新的方向。
本研究为Res2Net结构引入了ECA注意力机制(图6),形成具有跨通道(即跨“规模”)的多尺度特征提取的ECA-Res2Net新模块。本研究将ECA-Res2Net和SPPCSPC作为2个并行的分支构建ResSPPCSPC模块进行数据特征提取。2个分支分别通过分规模卷积和最大池化的多尺度特征提取后,由Concat将结果的通道数相加,描述图像本身的特征数增加了,赋予E-ELAN的特征数增加,从而达成效果提升,其结构见图7。
图7 ResSPPCSPC模块结构Fig. 7 Structural of ResSPPCSPC module
2 试验分析
2.1 环境准备
本研究的深度学习框架是Pytorch。试验配置环境如下:CPU为Intel(R) Core(TM) i7-12700K,内存为32 GB;GPU为NVIDIA GeForce GTX 3070Ti,显存为8 GB,CUDA版本11.6,python 3.9为编译语言。每批训练的批次大小设置为8,共计300轮训练。
在训练网络时,将输入图像调整为640×640的统一大小,初始学习率设置为0.01,使用One Cycle Policy调整学习率。
2.2 数据集
本研究获得了来自捷克共和国奥特斯拉发理工大学2022年更新的用于自动化视觉质量控制过程的大规模木材表面缺陷图像的公开数据集[15]。但该数据集部分缺陷数量不足,并且在试验过程中能够明显感觉到数据不均对结果的影响。本研究通过实际拍摄补充以及一些常规的图像处理方法,如滤波、平移、旋转来扩展数据集,本研究的数据集具有如表1所示的细节。数据集中典型的木材缺陷样本见图8。
表1 数据集的细节Table 1 Details of data set
A)活节;B)死节;C)带有裂缝的节;D)裂缝;E)树脂;F)树髓;G)孔洞;H)蓝变。图8 数据集中典型的木材缺陷样本Fig. 8 Samples of typical wood defects in the data set
2.3 评价指标
在试验中,通过召回率、精度值、IOU大于0.5的AP@0.5值、AP@0.5∶AP@0.95、模型计算量(GFLOPs)对模型进行评估。
召回率R的计算公式为:
(2)
式中:TP是由模型预测为正例的正类别数量;FN是由模型预测为负例的正类别数量,即由模型误分类的样本数量。
精度值P的公式为:
(3)
式中,FP是模型预测的最初为负样本的正样本数。
mAP@0.5(式中记为mAP@0.5)用于测量检测网络的算法性能,适用于单标签和多标签图像分类计算。mAP@0.5的公式为:
(4)
式中:k是测试集中样本的数量;P(i)是识别i个样本时精度的大小;ΔR是检测样本从i变化到i+1时召回率的变化;N是多类检测任务中类别的数量。
mAP@0.5∶mAP@0.95表示在不同IoU阈值(从0.5到0.95,步长0.05)上的平均mAP。
2.4 试验结果分析
在网络中加入注意力机制能够使模型自主选择图像的焦点位置,增强网络学习特征的表达能力,最终提高训练精度。为了获得更好的试验结果,本研究选取了常用的4个注意力机制:CBAM(convolutional block attention module)、CA(coordinate attention)、SE以及ECA完成了注意力机制的消融试验。
2.4.1 ECA-ELAN模块试验结果分析
为了验证本研究ELAN模块创新设计的有效性,在确定选用注意力机制之前设计了注意力机制的消融试验,本研究称该消融试验的模块设计为YOLOv7-CBAM、YOLOv7-CA、YOLOv7-SE以及YOLOv7-ECA,对比YOLOv7的试验结果如图9和表2所示。
由图9可以看出,精确度、召回值、mAP@0.5以及mAP@0.5∶mAP@0.95 4个参数均有不同幅度的提升。在YOLOv7-ECA的精准度试验中,数据值上升过程收敛速度快,虽然收敛的最终精确度略低于YOLOv7-SE,但其在上升过程中也有一段高于其他试验的表现,并且其召回值收敛结果最高。因此,在本试验中选用ECA注意力机制改进E-ELAN结构。将YOLOv7-ECA同YOLOv7原版的精确度和召回值做对比,YOLOv7-ECA的精确度和召回值上升收敛过程波折少且更加稳定,同时利用轻量化通道注意力模块,在本项单独的计算量对比中浮点运算量增量少。
图9 YOLOv7-ECA消融试验结果Fig. 9 Experimental results of YOLOv7-ECA ablation
表2 YOLOv7-ECA的网络性能Table 2 Network performance of YOLOv7-ECA
表2所展示的内容为7个试验中各自数值中最高的值。由表2可知,在上述7个试验中和YOLOv7的对比中,YOLOv7-ECA的召回值增长最多,精确度表现仅次于YOLOv7-SE,参数量和浮点运算量增长最少。结果表明,加入ECA注意力机制后,模型的性能得到了提高,本模型可靠。
2.4.2 ResSPPCSPC模块试验结果分析
本研究在SPPCSPC后并联Res2Net模块形成ResSPPCSPC,并且将Res2Net模块同RepConv结合形成新的模块。为了验证该新模块的设计有效性,依据Res2Net以及4个常用的注意力机制设计了8组消融试验,分别命名为Res2Net、Res2Net-CBAM、Res2Net-CA、Res2Net-SE以及Res2Net-ECA,并且与YOLOv7的性能进行比较。试验结果如表3和图10所示。
表3 YOLOv7-Res2Net的网络性能Table 3 Network performance of YOLOv7-Res2Net
图10 YOLOv7-Res2Net消融试验结果Fig. 10 Experimental results of YOLOv7-Res2Net ablation
由图10可知,在加入Res2Net模块之后,模型从第100轮左右开始明显收敛,可以证明ECA-Res2Net对更细粒度的特征提取在木材优选的应用中效果较好。在精确度的图中,Res2Net-SE和Res2Net-ECA的表现比较好,最终收敛值接近;在召回值的图中,Res2Net-CBAM和Res2Net-ECA表现比较好,最终收敛值接近,然而在mAP@0.5∶ mAP@0.95的图中Res2Net-CBAM上升过程中,有一次较大的波动。因此,本研究最终选定了ECA注意力机制改进Res2Net模块。
由表3可知,Res2Net为模型带来了大量的参数量和计算量,分别有29.26%和10.89%的上升。虽然4个注意力机制为网络模型带来的参数量和计算量影响很小,但是实际上的效果提升是可观的。
2.4.3 Wood-Net设计试验结果分析
根据前2组消融试验,将这2种模型组合成完整的改进模型Wood-Net。本研究将YOLOv3、YOLOv5s、YOLOv7、YOLOv7-ECA、Res2Net-ECA与Wood-Net模型进行性能比较,试验结果如图11和表4所示。
图11 YOLOv7和Wood-Net对比结果Fig. 11 Comparison results between YOLOv7 and Wood-Net
表4 Wood-Net的网络性能Table 4 Network performance of Wood-Net
由图11可知,4个部分的参数都均有不同程度的提升。在精确度的图中,Res2Net-ECA模块收敛速度比YOLOv7-ECA以及Wood-Net都快,但是最终Wood-Net收敛的值最高;在召回值的图中,YOLOv7-ECA、Res2Net-ECA以及Wood-Net收敛幅度相似。而Wood-Net同YOLOv7原版相比,就收敛结果而言,精确度有7.72%,召回率有3.22%,mAP@0.5有2.94%,mAP@0.5∶mAP@0.95有7.64% 的提升。
如表4所示,本研究针对分类头的改进取得了很明显的效果,大幅提升了mAP@0.5和mAP@0.5∶mAP@0.95的检测效果。虽然参数量有超过25%的提升,但是也获得了良好的效果,基本满足在木材优选过程中检测缺陷的准确度需求。
训练和验证过程中Wood-Net模型比YOLOv7的损失值更小,并且收敛速度更快(图12),证明Wood-Net模型相比于YOLOv7模型在木材缺陷检测的应用中拟合效果更好,Wood-Net模型可靠。为展示本研究模型在实际检测过程中的效果,选取了最优的一轮训练权重文件作为检测模型的权重进行结果检测并输出了图片,如图13所示。
图13 各缺陷检测结果Fig. 13 Detection results of each defect
3 结 论
本研究提出了一种针对木材缺陷检测的准确性更高的检测模型Wood-Net,并先后进行了3组消融试验。试验证明,Wood-Net能够很好地实现木材优选过程中的缺陷识别,具有较高的精度。通过3组消融试验,本研究得出以下结论:
1)利用轻量化的通道注意力机制ECA改进E-ELAN结构,可以提升各项参数,提高通道间的信息交互能力很有必要。
2)ECA-Res2Net结构能够在多通道提取更细粒度的特征,但是Res2Net通道之间信息隔离,利用ECA注意力机制实现跨通道信息交互,取得了一定效果。
在木材行业引入人工智能的方法,有利于智慧林业的建设与发展。利用人工智能的方式识别木材缺陷,为林业经济的发展提供了一个更加便捷的方式,能够促进经济林产业降低费效比,进而实现节本增效。推进智能化林业装备的研究,也有助于提高劳动生产率和资源利用率,现已成为林业发达国家技术发展的趋势[16-17]。
未来一定是一个简洁化的世界,设备变得更小、更便携、更加节能,因此在未来的工作中,要尝试设计更加轻量化的网络以适配节能的智能化林业装备。摄像机采集的图像数据对模型的预测效果有关键影响,并且数据集均衡对结果的影响也不容忽视。Transformer机制也已经进入了大家的视野,并且获得了广泛的应用,在木材优选中具有潜在的研究价值。