基于多方位感知的带钢表面缺陷长尾分类方法

2023-12-19 05:33王珊珊
仪表技术与传感器 2023年11期
关键词:长尾类别准确率

曾 亮,胡 谦,吴 霓,张 豪,王珊珊

(湖北工业大学电气与电子工程学院,湖北武汉 430068)

0 引言

带钢是一种广泛应用于汽车制造、航天航空、化工等领域的重要材料[1]。带钢的生产过程中,往往会受到生产环境的影响,如温度、湿度、工艺等,这些因素会导致带钢表面出现缺陷[2],进而影响产品的外观和质量,给企业带来巨大损失。因此,及时而准确地识别带钢表面缺陷对带钢的品质和生产工艺的改进有着重要的作用。

带钢表面缺陷的检测方法主要可以分为4种:人工检测,基于超声波、涡流[3]等的无损检测方案,基于传统机器视觉的检测方法和基于深度学习的检测方法[4-5]。相较于前3种检测方法,基于深度学习的检测方法由于高效、操作简单、鲁棒性强等特点被广泛应用于带钢表面的缺陷检测任务中。基于深度学习的检测方法是一种数据驱动的方法,需要充足的训练样本和均衡的类别分布来保证稳定、准确的分类性能。然而,带钢表面缺陷在生产的过程中是一种小概率事件,不同的缺陷类别出现的概率各不相同,其中某些缺陷样本较为罕见,难以做到均匀采样。这两个因素导致收集的训练数据往往呈现长尾分布的特点。如果直接使用长尾分布的数据进行训练,可能会导致过度拟合头部类别,而尾部类别则会被忽略。

基于长尾分布的数据集的分类任务称为长尾分类,深度模型需要同时处理尾部类的小样本学习任务和类别不均衡学习任务。现有的解决长尾分类任务的方法主要分为2种:

(1)数据处理。这类方法专注于增加样本的数量以解决样本不充足和类别不平衡的问题。文献[6]结合过采样和欠采样策略来实现样本均衡化。文献[7]使用数据增强产生额外的样本来补充尾部类的样本数量。文献[8]提出了一种改进的GAN来解决训练样本不充足的问题。然而,数据处理在处理样本不充足和类别不平衡的问题时不可避免地改变了原始数据的分布特点,同时使深度模型更加关注尾部类的波动,从而降低了模型的鲁棒性和泛化性。

(2)训练策略。这类方法主要是通过不同的训练策略来重新平衡不同类别的重要性,以处理小样本和类别不均衡的影响。文献[9]提出了一种标签分布感知边际损失函数,使深度模型更重视尾部类的识别。文献[10]提出了一个多专家集合的长尾分类模型,通过减少模型方差的方式来获得鲁棒的预测结果。但这些方法只利用了类别分布的信息来提升模型在长尾分类任务上的性能,而忽略了样本信息对长尾分类的重要性。

受人类辨识事物时观察模式的启发,即结合事物整体的轮廓和局部的细节来提升辨别某类事物的能力,本文提出了一种新颖的多方位感知长尾分类(MDPLC)方法。该方法将样本的整体图像和多个局部图像一同送入模型进行学习,以提升深度模型的多方位感知能力。引入多专家框架和共享架构在保证特征多样性的同时减少框架的计算成本,并采用分布感知的多样性损失来联合优化多个专家,处理类别的不平衡。同时,将部分浅层网络的特征与深层特征融合,有效增加模型对多尺度缺陷的感知能力。

1 相关理论和方法

1.1 频域通道注意力网络

频域通道注意力[11](FcaNet)是一种基于多频率通道注意力。FcaNet使用多个频率分量代替常规通道注意力中全局平均池化所保留的最低频的分量。相对于通道注意力,FcaNet集成不同频率的分量,从而获取更丰富的特征信息。因此选择该模块优化ResNet50中的Bottleneck,形成频域通道注意力残差块(FcaBottleneck)。改进前后残差块的结构如图1所示[12]。图1(a)为ResNet50的Bottleneck的结构图,图1(b)是FcaBottleneck的结构图。对比残差块改进前后的结构图,FcaBottleneck在分支前加入FcaNet,用以提升残差块对特征的感知能力。将改进Bottleneck的结构的ResNet50称为FcaNet50。

图1 Bottleneck和FcaBottleneck结构图

1.2 分布感知的多样性损失

文献[10]提出分布感知的多样性损失来联合优化多个专家并处理类别不平衡的消极影响。为了保证多专家框架下单个专家的多样性,单个专家的训练损失的公式为

(1)

式中:x为输入样本;y为样本的标签值;n为专家的个数;L()为交叉熵损失函数;fθ()为共享层;Ψθi()为第i个个性化层。

为鼓励多专家的预测结果互补,提出了多样性损失,公式为:

(2)

(3)

(4)

式中:p为分类概率;q为真实值;DKL()为KL散度。

多样性损失通过温度变化来调节专家对不同类别的敏感程度,即类别样本数越少,温度越低,专家对特征的变化越敏感。公式为:

(5)

(6)

式中Tk为第k类缺陷的温度。

对于平衡的数据集,βk=1,Tk=α。

将多个专家的训练损失和多样性损失整合得到分布感知的多样性损失,公式为

(7)

式中λ为超参数对多样性损失进行加权。

2 基于多方位感知的带钢缺陷长尾分类方法

结合样本的整体轮廓和局部细节将有助于提升深度模型在长尾分布的带钢表面缺陷分类任务中的分类性能。本文提出了一个具有多方位感知的长尾分类方法,称为MDPLC(multi-directional perception of long-tail classification)。MDPLC以FcaNet50作为基础网络来构建其共享层、个性化层和分类层。FcaNet50中的Layer3和Layer4作为个性化层,Layer3之前的所有网络层作为共享层,Layer4之后的所有网络层作为分类层,整体框图如图2所示。

图2 MDPLC的整体框图

首先,输入样本被均分为2部分,称为局部样本。完整的样本与2个局部样本一同送入特征提取网络,以获得更多的整体和局部的信息。其次,利用3个专家来分别提取3个输入的深度特征,并采用共享架构在保证特征多样性的同时减少框架的计算成本。此外,为了增加模型对多尺度缺陷的感知能力,将部分浅层网络的特征与深层特征融合。最后,采用分布感知的多样性损失来联合优化多个专家,并处理类别的不平衡。

(1)共享层。输入样本的整体图像和2个局部图像分别为x1、x2、x3。3个输入一同送入共享层以提取共享特征f,公式如下:

fi=fθ(x,σfθ),i∈{1,2,3}

(8)

式中:fθ()为共享层;σfθ为共享层的网络参数。

(2)个性化层。经过共享层所提取的共享特征f1、f2、f3被分别送入对应的个性化层以提取个性化特征,如式(9):

(9)

(10)

(11)

atti=sigmoid(FCi(AP(fi″),σFCi)),i∈{1,2,3}

(12)

f‴i=atti⊗fi″,i∈{1,2,3}

(13)

式中:φi()为1×1的调整通道的卷积;σφi为该卷积的参数;MP为最大池化操作;AP为平均池化操作;Cat为拼接操作;φi()为1×1的聚合和筛选卷积块;σφi为该卷积块的参数;atti为通道注意力权重;sigmoid为sigmoid函数;FCi为全连接层;σFCi为全连接层的参数;fi″为强化后的特征;⊗为全乘操作。

3 实验结果与分析

3.1 实验细节

本文所使用的实验数据集是由文献[13]提出的热轧带钢表面缺陷数据集(X-SDD),数据集的详细信息如图3所示。该数据集包含7种缺陷类别,如图3(a)所示,分别为精轧辊印(FRP)、铁皮灰(ISA)、板道系氧化铁皮(OSPS)、温度系氧化铁皮(OSTS)、红铁皮(RIS)、夹渣(SI)和表面划伤(SS)。缺陷样本数共1 360张,各类缺陷样本数量分布情况如图3(b)所示。其中缺陷类别样本数量最大为397张,最小为63张。这表明该数据集中存在类别不平衡和样本不充足的特点,是典型的长尾分布数据集。

(a)典型缺陷的示例

(b)各类缺陷样数量的分布图3 X-SDD的详细信息

缺陷分类算法基于Pytorch深度学习框架开发,实验硬件设备为处理器英特尔i7-9700、32 GB内存、英伟达 P2000 GPU。在实验中,输入图片大小设置为224×224,批次大小设置为16,学习率设置0.000 1,迭代次数为100,使用Adam优化器。在原始数据集中,随机从每个类别中选择50个样本作为测试集,剩余的样本作为训练集。实验数据集的分布情况如表1所示。

表1 实验数据集的样本分布 张

为了验证改进方法有效性,将Accuary和平均每个类别的召回率、准确率、F1分数得到的Macro-Recall、Macro-Precision和Macro-F1作为评价指标。公式为:

n_correct=TP1+TP2+…+TPN

(14)

(15)

(16)

(17)

(18)

式中:n_total为测试集中的所有样本数;N为数据集的类别数量;TPN为第N类缺陷的真正例;FNN为第N类缺陷的假反例;FPN为第N类缺陷的假正例;PN为第N类缺陷的精准率;RN为第N类缺陷的召回率。

3.2 带钢表面缺陷检测结果分析

图4展示了MDPLC在X-SDD测试集上的混淆矩阵,其中x轴和y轴分别表示预测标签和真实标签。预测标签显示了模型预测各类缺陷的数量,真实标签显示了各类缺陷的真实数量。图中对角线的数据表明:每一类缺陷至少有48张样本被准确预测。其中,FRP和SS的测试样本被全部准确预测。以上分析表明。MDPLC在长尾分布的数据集上具有较高的分类准确率。

图4 MDPLC在X-SDD上的混淆矩阵

将Focal Loss[14]、LDAM_DRW[9]、RIDE[10]、改进RepVGG[13]、改进FcaNet[15]和TLC[16]在长尾分布的带钢表面缺陷数据集上进行比较以展示MDPLC与其他分类方法在各缺陷类别上的准确率对比,得到结果如表2所示。从表2可以看出:MDPLC在FRP、OSPS和SS上的准确率要优于其他对比模型,其准确率分别为100.0%、96.00%和100.00%。而在ISA、OSTS、RI和SI上要略低于少数方法,但在这些类别上MDPLC的分类准确率也都超过了96.00%,如ISA的准确率为96.00%、OSTS的准确率为98.00%、RI的准确率为96.00%,SI的准确率为98.00%。此外,OSPS为分类数据集的尾部类别,其训练样本数仅有13张。但MDPLC在该类上取得了最优的分类准确率,表明了所提出方法对小样本学习的有效性。MDPLC在整体上取得了具有竞争力的结果,验证了所提方法对长尾分布的带钢表面缺陷分类任务的有效性。

表2 不同分类模型在各个缺陷类别的召回率比较 %

表3列出了不同方法的整体性能对比。数据显示,MDPLC在长尾分布的带钢表面缺陷分类任务上的表现均优于其他对比模型,并获得了最高的Accuracy、Macro-Precision、Macro-Recall和Macro-F1,分别为97.71%、97.71%、97.77%和97.74%。Accuracy是衡量模型性能的重要指标,因为它直接决定了模型在实际使用时面对未知数据的性能。相较于LDAM_DRW和改进RepVGG[13],MDPLC的准确率分别提高了2.28%和5.71%。以上的分析表明,MDPLC在Accuracy上取得了最优的表现,证明了所提方法的有效性,同时在另外3个评估指标上超过了其他对比方法,证明了所提方法的鲁棒性。

表3 不同模型的整体性能对比 %

4 结束语

针对带钢表面缺陷几何与纹理分布复杂多变、缺陷数据长尾分布等特点,提出了一种多方位感知带钢缺陷长尾分类(MDPLC)方法。该方法模仿人类观察复杂图片时的行为,引入多专家框架和共享架构,对局部样本和全局样本同时进行数据提取,在保证特征多样性的同时减少了框架的计算成本。采用分布感知的多样性损失来联合优化多个专家,有效提升了长尾分布数据的识别效果。此外,将部分浅层网络的特征与深层特征融合,进一步增强了模型对多尺度特征的感知能力。实验结果表明:相较于其他对比模型,MDPLC在4个评估指标上均取得了最优的结果,证明了所提方法的有效性和鲁棒性。未来将致力于保证网络识别准确率的同时进一步降低网络的复杂度。

猜你喜欢
长尾类别准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
长尾直销产品图鉴
长尾豹马修
高速公路车牌识别标识站准确率验证法
追踪长尾豹马修
服务类别
论类别股东会
中医类别全科医师培养模式的探讨