1. 引言
热轧带钢是一种被广泛运用在汽车制造、桥梁建设、管道生产等多个领域的带材板材,拥有优良的性能。在生产过程中,受限于场地设备和生产环境,热轧带钢往往会出现多种类型的缺陷 [1] 。因此,针对不同类型的缺陷进行准确识别,可以提高生产效率,有重要的工业研究意义 [2] 。经典的钢带分类检测方法 [3] [4] [5] [6] [7] 主要包括人工检测法、涡流检测法以及机器视觉检测法等。这些方法分类速度慢,成本较高、识别精度低,已不适用于当下大规模机械化的生产环境。
近些年,卷积神经网络(Convolutional Neural Networks, CNN)在带钢表面缺陷分类识别领域展现了良好的鲁棒性和通用性的特点 [8] 。一些设计地更深,更宽的网络如VGG、ResNet等也相应被提出。宗德祥 [9] 等人从过滤因素为出发点,提出了基于集成学习算法的深度学习网络,取得了较好的效果。但对比验证需要大量的数据来训练网络。Feng X [10] 则在Resnet50网络中引入注意力机制模块,实现对带钢缺陷94.11%的分类准确率,但大型卷积神经网络模型容易造成网络冗余。WANX [11] 成功利用VGG19卷积神经网络模型在热轧带钢小样本数据集上进行缺陷分类,但是网络结构复杂,模型收敛缓慢。
脉冲神经网络 [12] (Spiking Neural Network, SNN)作为第三代人工神经网络,通过事件进行驱动并使用离散脉冲信号传递信息,具有高能效性和低功耗性。学者们对SNN的训练算法已经进行了大量研究。STDP [13] [14] (spike time dependent plasticty)规则最为著名,主要应用于无监督学习,在光学原件中得到了理论和实验证明。SpikeProp [15] ,ReSuMe [16] 等监督训练算法也相继被提出。同时因为脉冲神经元不可微分的特性难以进行反向传播,所以本文在网络中引入代理梯度 [17] [18] ,用连续可微函数的倒数代替脉冲非线性导数达到训练目的。当前SNN的应用仅限于一些简单的基准数据集,在一些工程任务的实际应用涉及较少。因此本文基于SNN和CNN,提出一种脉冲卷积神经网络(Spiking Convolutional Neural Network, SCNN)进行热轧带钢表面缺陷的分类研究。通过训练和测试分析比较,发现该方式得到的分类效果较好,为热轧带钢表面缺陷识别领域提供了一种全新的解决方法。
2. 数据集与处理
2.1. 数据集的来源
当涉及到表面缺陷识别分类算法时,数据集的选择至关重要。X-SDD [19] 数据集考虑了缺陷类型之间的不平衡性,是一种更接近实际生产环境的数据集。因此,使用这种数据集进行训练和测试可以更好地模拟实际生产环境并提高算法的鲁棒性。图1给出了X-SDD数据集的实例样本。
![](//html.hanspub.org/file/30-2571164x7_hanspub.png?20231114082442822)
Figure 1. Partial hot-rolled strip steel defect images
图1. 部分热轧带钢缺陷图片
X-SDD采集了热轧带钢领域的七种缺陷类型共1360个缺陷图像,其中包含了238个夹杂物、397个红铁皮、122个铁皮灰、134个表面划痕、63个板材系统氧化皮、203个精轧辊印刷和203个温度系统氧化皮。
2.2. 数据集预处理
为了丰富图像数据集,增强模型的可靠性和鲁棒性,同时解决数据集不平衡的问题,对训练数据集进行数据增强,选择Diffusion Model扩散模型结合随机裁剪和随机翻转等传统数据增强方式。
Diffusion Model [20] 在图像生成过程中涉及到前向阶段和反向阶段。前向阶段通过施加噪声的方式逐步将原始图像破坏,过程如图2所示。
最左边的x0表示真实的自然图像,xt表示纯高斯噪声。所谓的前向过程可以理解为一个马尔科夫链,即通过逐步对一张图片添加高斯噪声直到最终变成纯高斯噪声图片。添加噪声的表达式如下:
(1)
其中
为前向过程的转移概率分布,在添加噪声的过程中xt逐渐变成正太分布的高斯噪声。
表示从0.0001到0.02的线性差值。
反向扩散过程如图3所示,可以被看作是前向扩散过程的后验概率分布。在反向扩散过程中,通过从最右边的纯高斯噪声图开始逐步采样,从而生成接近真实图像的样本x0。利用这种模型训练方法,给定一定量的高斯噪声即可生成一张全新的图像。
本文使用的Diffusion Model采样方法设置为扩散模型加速采样算法(Denoising Diffusion Implict Models, DDIM),重绘系数分别设置为0.1,0.2,0.3,0.4,0.5,并对图片进行扩充比较,如图4所示。当选定系数0.3及以上时整体图像对比原图像开始发生较大变化,而系数选择过小时增强后图像与原图像特征过于相似,最终选定系数0.2进行分批次扩充,并将所有图像保存为JPG格式。最后将经过数据增强后的数据集作为最终实验的热轧带钢表面缺陷数据集,按照7:2:1的比例划分为训练集、验证集和测试集。
![](//html.hanspub.org/file/30-2571164x13_hanspub.png?20231114082442822)
Figure 4. Enhancement effect with different coefficients
图4. 不同系数增强效果
3. 模型
3.1. 神经元建模
脉冲神经元使用脉冲来进行传输、通信和计算。已经有众多的脉冲神经元模型被提出用来模拟生物学中大脑神经元的膜电压变化,这里在神经元的建模过程中使用了LIF神经元。其公式如下:
(2)
其中
是时间常数,
代表当前时刻输入产生的膜电位电压,
是复位电压,
则是外部刺激。近似微分方程可表示为:
(3)
在时间t的瞬时模电压为:
(4)
阶跃函数可表示为:
(5)
则神经元释放的脉冲可表示为:
(6)
如公式(5)所示,在具体某个时间点t上,当接收到脉冲时,神经元的模电压
与阈值电压
进行比较决定是否释放脉冲。其中对于
的恒定外部刺激,模电压和脉冲发射的相应变化过程如图5所示,对于恒定的输入脉冲,如果膜电压大于阈值电压时,则释放脉冲,同时膜电压急剧降低到重置值。
![](//html.hanspub.org/file/30-2571164x26_hanspub.png?20231114082442822)
Figure 5. Pulse release sequence diagram
图5. 脉冲释放序列图
3.2. 替代梯度
SNN有着脉冲输出不可微的特性,很难通过反向传播来训练SNN,所以在反向传播中使用可微的门控函数 (替代梯度)来代替SNN,几种常见的替代函数如下所示:
(7)
(8)
(9)
![](//html.hanspub.org/file/30-2571164x30_hanspub.png?20231114082442822)
Figure 6. Alternative gradient function plot
图6. 替代梯度函数图
根据实验对比,如图6所示,当反向传播函数使用sigmoid时,分类的准确率和损失函数曲线相比较另外两种更为平滑,所以分析对比认为,sigmoid函数更适合本文实验的最佳反向传播函数。
3.3. NAM注意力机制
NAM (Neural Attention Mechanism) [21] 是一种基于归一化的轻量级注意力机制,它采用了CBAM的模块集成方式,兼顾并重新设计了通道注意力和空间注意力子模块。对于通道注意力子模块,使用了批处理归一化(BN)中的缩放因子,如下式所示:
(10)
其中
和
分别是小批量
的均值和标准差,
和
是可训练的仿射变换参数(尺度和唯一)。缩放因子即BN中的方差,缩放因子越大表明该通道包含的信息越丰富,重要性也越大。输出特征Mc可表示为:
(11)
权重
可表示为:
(12)
NAM通道注意力模块如图7所示:
将BN中的比例因子应用于空间维度,我们将其命名为像素归一化。相对应的空间注意力子模块如图8所示:
其中输出特征Ms可表示为:
(13)
权重
可表示为:
(14)
这样,损失函数通过学习自适应地降低不太显著特征的权重,帮助模型能够聚焦关键信息,权重在计算上更加高效。
3.4. 改进的NA-SVGG模型
原本的VGG16网络模型参数量较大,本文对原有的VGG16模型进行了轻量化的处理。简化后的模型由5个卷积层,5个池化层和2个全连接层组成。
NA-SVGG可以看作由一个脉冲编码器、一个脉冲特征提取器和一个脉冲分类器组成的。脉冲编码器由第一层卷积层和下一层脉冲神经元层组成,他们负责将输入的图像编码成脉冲序列。脉冲特征提取器由四个卷积层、池化层和尖峰神经元组成,负责对脉冲编码器输出的脉冲序列进行特征提取。脉冲分类器由两个完全全连接层和两个脉冲神经元层组成,他们负责将脉冲特征序列映射到目标空间,然后通过发射率和softmax层得到最终分类的结果。
在NA-SVGG模型中,卷积核的大小为3x3,卷积运算采用填充法,将特征图送入脉冲神经元。脉冲神经元在时间t内计算卷积的输出。脉冲神经元的尖峰输出将在时间维度上累积,并被送入最大池化层,最大池化层负责对平面上的特征映射进行下采样。池化层大小为2。下采样后,特征图的长度和宽度将减少到原始输入的一半。经过5次“卷积–脉冲激活–池化”处理后。特征图被拉伸到一维,然后利用全连接层将得到的分布特征图映射到样本空间,再进行脉冲神经元的映射。一般SNN输出是用一段时间t输出层的脉冲发射率来表示的,因此整个网络以t时间后的平均脉冲发射率作为分类依据。
本研究中将NAM注意力机制嵌入第一个卷积层和第二个卷积层之后。改进后的NA-SVGG网络结构如图9所示。因为同时兼顾了特征图的空间信息,所以对比其他网络,能有效提高分类准确率。
4. 实验
4.1. 实验参数设置
实验配置环境使用基于Windows10操作系统的服务器,具体硬件配置使用Ryze-n 7 4800H,主频3.4 GHz;GPU采用NVIDIAGeForceRTX3060 Laptop6G显存。编程语言为Python3.9并基于深度学习框架Pyt-orch1.13.0+CUDA11.5进行模型的定义和训练。训练优化算法选用SGD,动量因子设为0.9,epoch设置为100。最后训练好的模型将在测试集上进行测试。
4.2. 评价指标
为了对训练出的模型进行客观评价,本文选用准确率,召回率作为评价指标。准确率的计算公式为:
(15)
其中,N为热轧带钢表面缺陷种类数;
为网络模型所有预测正确的样本数;
为整个验证集的样本数。
召回率为正确预测的样本数与样本总数的比值,计算公式为:
(16)
其中,N为热轧带钢表面缺陷种类数;
为第i类缺陷正确预测的样本数;
是整个验证集中真实正样本数的总和。
4.3. 实验结果分析
4.3.1. 扩充数据集可行性分析
分别在原始数据集和扩充数据集上使用卷积网络模型进行训练,使用准确率和召回率来衡量经过数据增强后目标模型在测试集上的性能表现。实验结果如表1所示。
![](Images/Table_Tmp.jpg)
Table 1. Performance comparison of augmented datasets
表1. 扩充数据集性能对比
扩充数据集测试准确率由原来90.22%上升到了92.98%,召回率比较原始数据集相持平,实验证明了使用Diffusion Model扩充数据集的有效性。
4.3.2. 各模型对比分析
为了验证改进的NA-SVGG在带钢数据集上性能的优越性,分别与原始SNN、不加NAM注意力机制的SVGG以及改动的VGG进行了对比,实验各模型的准确率和损失函数仿真对比如图10和图11所示。
从图10和图11可看出NA-SVGG在验证集的准确率相比较SNN和SVGG分别提高了11%和2%左右,主要原因在于无监督监督学习的SNN不能很好地提取特征图的信息,而使用了NAM注意力机制可以从空间和通道两个方面更好提取有效信息,验证了NA-SVGG在带钢数据集上分类的有效性。
此外从仿真结果可知,改进后的NA-SVGG网络和原模型对比无监督学习的SNN提高,损失函数也更快得以收敛。
最后通过对比了不同模型在测试集上的准确率,如表2所示。从表2可以看出,所提改进的NA-SVGG模型对比原始和不加注意力机制的网络模型精度上都有了提升,证明了所提方法的有效性。
![](//html.hanspub.org/file/30-2571164x52_hanspub.png?20231114082442822)
Figure 10. Comparison of accuracy among different models
图10. 不同模型准确率对比
![](//html.hanspub.org/file/30-2571164x53_hanspub.png?20231114082442822)
Figure 11. Comparison of loss rates among different models
图11. 不同模型损失率对比
![](Images/Table_Tmp.jpg)
Table 2. Comparison of classification accuracy among different models
表2. 不同模型分类准确率对比
5. 总结
本文介绍了一种改进的基于脉冲卷积神经网络模型,通过结合Diffusion-Model和注意力机制模块,实现对带钢表面缺陷的快速准确分类。实验证明,该改进模型在准确率上达到了95.80%,接近传统卷积神经网络的性能。该模型模拟了生物神经网络中脉冲信号的传递,具有生物可解释性,同时采用了二进制脉冲编码,有效降低了计算复杂度并提高了效率。未来的研究将继续优化该网络,探索脉冲卷积神经网络在更复杂视觉任务中的应用。
基金项目
江苏省研究生科研与实践创新计划项目(SJCX22_1683);江苏省科技厅产学研合作项目(BY2021381)。