引入注意力机制的多尺度特征融合SSD的螺栓松动检测方法

专利检索2022-05-11  5


引入注意力机制的多尺度特征融合ssd的螺栓松动检测方法
技术领域
1.本发明属于目标检测的人工智能技术领域,涉及一种基于ssd改进算法的螺栓松动检测方法,具体是一种引入注意力机制的多尺度特征融合ssd的螺栓松动检测方法。


背景技术:

2.在土木工程结构中,相比于焊接和铆接,高强度螺栓连接具有安装简便、检修方便等优点。而螺栓由于自身重力、高强度的负荷状态,容易出现疲劳松动,存在很大的安全隐患。因此,对螺栓安全状态的实时检测很有必要。现有的螺栓松动检测方式有人工沿线巡检。人工巡检废人费力,且存在很大的安全隐患,最重要的是结果受人为因素影响很大。另外,还有通过计算机视觉,定点拍摄螺栓连接处照片,然后人为进行排查的方式,该方式给相关人员造成很大的工作负担。因此,在工业智能化加速推进及减员增效政策持续深化的背景下,如何做到一定范围内的高精度监测螺栓安全状态成为了企业安全生产的迫切需求。
3.随着人工智能技术的发展,国内外诸多学者将人工智能技术运用在图像分析领域。实际上,螺栓松动检测可以看作典型的目标检测问题。早期的目标检测算法多数是以特征提取结合分类的模式,利用梯度直方图和支持向量机等分类器对特征进行分类。随着深度学习中卷积神经网络(convolutional neural network,cnn)的提出和发展,学者们开始尝试使用深度学习技术实现目标检测,基于深度学习的目标检测算法具有良好的鲁棒性,且在检测准确率与检测速度上均有较大幅度的性能提升。基于深度学习的目标检测算法主要分为two-stage和one-stage两类。two-stage检测算法是在提取出候选检测区域的基础上,通过分类和回归的方式进行目标检测。one-stage检测算法是直接通过回归的方式实现目标检测,其需要预先划定默认框,根据预测框、默认框和真实框之间的对应关系进行训练,典型代表为yolo算法和ssd(signal shot multibox detector)算法。与two-stage检测算法相比,one-stage检测算法大幅提升了算法的时间性能。相比上述其他目标检测算法,ssd算法具有更高的检测精度和检测速度,但其对于网络的特征表达能力仍存在不足。ssd网络本身存在局限性,尤其是对土木结构中的螺栓等中小目标的检测效果一般。这是由于在识别过程中,特征图通过卷积和池化等操作后,可能丢失深层语义信息,导致对中小目标的特征提取不充分。
4.具体来说,常规的或者说原始ssd网络模型的主网络结构是vgg-16,通过将最后两个全连接层改为卷积层并增加4个卷积层来构造网络结构,从而将前端网络产生的特征层进行不同尺度下的特征提取。利用主干网络可以获得6个有效特征层,分别是conv4的第三次卷积的特征,fc7卷积的特征,conv8的第二次卷积的特征,conv9的第二次卷积的特征,conv10的第二次卷积的特征,conv11的第二次卷积的特征,较靠前的特征图用于检测小目标,较靠后的特征图用于检测大目标。通过对每一个特征层的处理获得每个特征层对应的三个内容,分别是:num_priors x 4的卷积用于预测该特征层上每一个网格点上每一个先验框的变化情况;num_priors x num_classes的卷积用于预测该特征层上每一个网格点上
每一个预测对应的种类;每一个特征层的每一个特征点上对应的若干个先验框。利用num_priors x 4的卷积对每一个有效特征层对应的先验框进行调整获得预测框。想要获得最终的预测结果,还要对每一个预测框进行得分排序与非极大抑制筛选。这一部分基本上是所有目标检测通用的部分。在这6种规格下的特征图直接进行分类与回归,对于识别小目标的低层特征图,其感受野较小且特征非线性程度不够,无法训练到足够的精确度,而对于识别中大型目标的高层特征图,其感受野较大,但分辨率低,容易出现目标漏检等情况。
5.综上,原始ssd网络模型存在的亟需解决的问题是对于中小尺度目标的识别精度差、鲁棒性较差、定位效果不佳等问题。


技术实现要素:

6.为解决现有的ssd算法对于小尺度目标的检测能力不足、鲁棒性较差、定位效果不佳等问题,本发明的目的在于,提供一种引入注意力机制的多尺度特征融合ssd的螺栓松动检测方法,该方法在原始ssd网络的基础上,加入了多尺度特征融合操作,结合空洞卷积、反卷积操作来扩大感受野,且保证参数不变,使特征层学习到更多的上下文语义信息,且在此基础上引入通道注意力机制,自适应地关注包含纹理特征的关键细节信息。
7.为了实现上述目的,本发明给出如下技术方案予以解决:
8.一种引入注意力机制的多尺度特征融合ssd的螺栓松动检测方法,具体包括如下步骤:
9.步骤1:分别采集拧紧状态和松动状态的螺栓图片,构建螺栓数据集;
10.步骤2:对原始ssd网络模型进行融合处理,构建得到改进型的ssd网络模型;具体包括如下步骤:
11.步21,对原始ssd网络模型的原conv4_3特征层、原fc7特征层和原conv8_2特征层上分别进行特征融合处理,得到新的conv4_3特征层、新的fc7特征层、新的conv8_2特征层,即得到融合后的ssd网络模型;
12.步22,对新的conv4_3特征层、新的特征层fc7特征层和新的conv8_2特征层分别加入bn层,得到优化后的conv4_3特征层、优化后的特征层fc7特征层和优化后的conv8_2特征层;
13.步23,对优化后的conv4_3特征层、优化后的特征层fc7特征层和优化后的conv8_2特征层分别引入通道注意力机制,得到改进型的ssd网络模型;
14.步骤3:训练改进型的ssd网络模型,得到训练好的ssd网络模型;
15.步骤4:采用训练好的ssd网络模型对待检测的螺栓图片进行检测,得到检测结果,为拧紧状态或松动状态。
16.进一步的,所述步骤1中,所述拧紧状态和松动状态的螺栓图片的数量比为1:1。
17.进一步的,所述步骤21包括如下子步骤:
18.步骤211,对原始ssd网络模型的原conv4_3特征层进行改进,得到新的conv4_3特征层,所述新的conv4_3特征层包括两部分:由原conv4_3特征层自身的卷积运算得到256个38*38的特征图,以及在原fc7特征层的反卷积上进行采样操作得到256个38*38的特征图融合而成;
19.步骤212,对原fc7特征层进行改进,得到新的fc7特征层,所述新的特征层fc7特征
层包括三部分:由原conv4_3特征层通过空洞卷积下采样操作生成256个19*19的特征图、原fc7特征层通过自身的卷积运算得到512个19*19的特征图,以及原conv8_2特征层通过反卷积上采样操作得到的256个19*19的特征图融合而成;
20.步骤213,对原conv8_2特征层进行改进,得到新的conv8_2特征层,所述新的conv8_2特征层包括三部分:由原fc7特征层通过空洞卷积下采样方式生成128个10*10的特征图,以及原conv8_2特征层通过自身卷积操作得到256个10*10的特征图,还有原conv9_2特征层通过反卷积上采样操作得到的128个10*10的特征图融合而成。
21.进一步的,所述步骤3中,取螺栓数据集的40%作为测试集,60%作为trainval文件,再取trainval文件中的90%作为训练集,10%作为验证集。
22.相较于现有技术,本发明的技术效果如下:
23.1、本发明在原网络ssd的基础上引入了不同卷积层特征融合的方法,采用空洞卷积下采样和反卷积上采样操作,实现了浅层细节层和中高语义层的特征融合,在新的特征层加入bn(batchnorm)层,提高了融合效果,且融合方式更完善,用新融合的特征层代替原来的特征层用于目标识别。
24.2、在新融合的特征层上引入通道注意力机制,利用注意力机制挖掘类标签和局部特征关键区域之间的相关性,通过调整通道的权重配比以达到更好的识别效果,增强了高层特征图的语义信息,让模型有更好的特征表达能力,提高小目标检测精度。
25.综上,采用本发明训练好的ssd网络模型对待测螺栓图片进行松动检测,以map值为评估性能指标,在4080张自制螺栓数据集上,表现优于原来的ssd网络。经试验结果显示,与原始ssd算法相比,在自制螺栓数据集上的平均识别精度(map值)从70.53%提升至73.03%,提升了2.5%,具有更高的小目标识别精度和更好的鲁棒性。
附图说明
26.图1是普通卷积和空洞卷积感受野的区别;此处给出三个分图的各自名称。其中,(a)是3x3的卷积核,扩张率dilation rate为1,也是就普通卷积;(b)是3x3的卷积核,扩张率dilation rate为2,感受野为5x5;(c)是3x3的卷积核,扩张率dilation rate为3,感受野为7x7;
27.图2是原始ssd网络在加入特征融合和注意力机制后,得到的改进型的ssd网络的可视化对比;右上部三个图片是原始ssd网络对特征表达的热力图,右下部三个图片是改进型的ssd对特征表达的热力图。
28.图3是改进型ssd网络的框架图;
29.图4是基于深度学习的螺栓松动检测方法步骤示意图;
30.图5是改进前后网络对螺栓松动检测的map值比对图。
具体实施方式
31.下面结合附图和具体实施方式对本发明进行详细说明。
32.如图3所示,本发明的引入注意力机制的多尺度特征融合ssd的螺栓松动检测方法,具体包括如下步骤:
33.步骤一:分别采集拧紧状态和松动状态的螺栓图片,构建螺栓数据集。
34.由于网上开源的螺栓数据集很少,针对作业环境下的螺栓数据集大多由研究者自己获取。本实施例模拟作业环境,根据不同的应用背景、明暗度,共拍摄4080张螺栓图片,其中,拧紧(tight)状态和松动(loose)状态的螺栓图片的数量为1:1,并建立数据与标签之间的一一映射,构成螺栓数据集。
35.步骤二:对原始ssd网络模型进行融合处理,构建得到改进型的ssd网络模型,作为螺栓松动检测模型。
36.如图3所示,是本发明改进后的ssd网络模型。
37.原始的ssd网络架构的骨干网络是vgg网络,而骨干网络中,最终被ssd网络用于分类和回归,得到预测结果的仅仅是conv4_3和fc7层。在conv4_3和fc7层后加入conv8_2、conv9_2、conv10_3、conv11_3卷积层用于分类回归和预测。其中仅有conv4_3用于识别小占比目标,这就是为什么现有的ssd网络对中小目标识别不敏感的原因。而高层网络通常有很强的语义信息,因此,本发明对现有的ssd网络的改进思路是,将深层特征层中的语义信息与浅层特征层的细节信息进行融合,从而提升模型对中小目标的识别精度。由于conv9_2、conv10_3、conv11_3特征层过小,分别为5*5、3*3、1*1,自身包含的语义信息较强,从提升精度的角度出发还应考虑模型的检测效率。因此,本发明对原始ssd网络模型进行改动的特征层分别为conv4_3、fc7和conv8_2。具体包括如下步骤:
38.步21,对原始ssd网络模型上进行特征融合处理,得到融合后的ssd网络模型。具体操作如下:
39.对原始ssd网络模型的原conv4_3特征层进行改进,得到新的conv4_3特征层。该新的conv4_3特征层包括两部分:由原conv4_3特征层自身的卷积运算得到256个38*38的特征图,以及在原fc7特征层的反卷积上进行采样操作得到256个38*38的特征图融合而成。
40.对原fc7特征层进行改进,得到新的fc7特征层。该新的特征层fc7特征层包括三部分:由原conv4_3特征层通过空洞卷积下采样操作生成256个19*19的特征图、原fc7特征层通过自身的卷积运算得到512个19*19的特征图,以及原conv8_2特征层通过反卷积上采样操作得到的256个19*19的特征图融合而成。
41.对原conv8_2特征层进行改进,得到新的conv8_2特征层。该新的conv8_2特征层包括三部分:由原fc7特征层通过空洞卷积下采样方式生成128个10*10的特征图,以及原conv8_2特征层通过自身卷积操作得到256个10*10的特征图,还有原conv9_2特征层通过反卷积上采样操作得到的128个10*10的特征图融合而成。
42.如图1所示,是普通卷积和空洞卷积的区别,空洞卷积操作很好地解决了下采样中降低图像分辨率、信息丢失的问题。空洞卷积最直观的作用就是扩大感受野,且保证参数不变。利用添加空洞扩大感受野,其实就是向卷积层引入了一个称为“扩张率(dilation rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。换句话说,相比原来的标准卷积,扩张卷积(dilated convolution)多了一个hyper-parameter(超参数)称之为dilation rate(扩张率),指的是kernel各点之前的间隔数量。例如,让原本3x3的卷积核,扩张率dilation rate为1,在相同参数量和计算量下当扩张率dilated rate为2时,拥有5x5的感受野,从而无需下采样,同理当扩张率dilation rate为3时,卷积后的感受野为7x7。可以这么说,普通卷积是空洞卷积的一种特殊情况。另外,空洞卷积可以增大感受野,但是可以不改变图像输出特征图的尺寸。卷积核的感受野可由下式计算得到:f
di
=[2
(di
/2) 2-1]
×
[2
(di/2) 2-1],其中,di(dilation)就是空洞卷积率,f
di
表示卷积核的感受野,我们可以通过上式看出随着di的增大,卷积核的感受野也会增大。因此,空洞卷积能很好地将高层和浅层的信息融合。
[0043]
步22,对新的conv4_3特征层、新的特征层fc7特征层和新的conv8_2特征层分别加入bn(batchnorm)层,得到优化后的conv4_3特征层、优化后的特征层fc7特征层和优化后的conv8_2特征层。
[0044]
该步骤中,为了提高特征层的融合效果,对经过融合处理之后的三个新的特征层加入bn(batchnorm)层。bn层就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布,作用机制是通过平滑隐藏层输入的分布,帮助随机梯度下降的进行,缓解随机梯度下降权重更新对后续层的负面影响,这样使得激活输入值落在非线性函数对输入比较敏感的区域,这样输入的小变化就会导致损失函数较大的变化,避免梯度消失问题产生,而且梯度变大意味着学习收敛速度快,能大大加快训练速度。
[0045]
步23,对优化后的conv4_3特征层、优化后的特征层fc7特征层和优化后的conv8_2特征层分别引入通道注意力机制,得到改进型的ssd网络模型。
[0046]
该步骤的引入通道注意力机制能够进一步提升ssd网络模型对关键区域的特征表达能力。
[0047]
步骤三:训练改进型的ssd网络模型,得到训练好的ssd网络模型。
[0048]
具体是:训练检测过程中,取螺栓数据集的40%作为test文件(测试集),60%作为trainval文件;再取trainval文件中的90%作为训练集,10%作为验证集。其中,训练集用于训练模型以及获取模型权重,验证集用于确定网络结构以及调整模型的超参数。共设置150个epoch,训练过程中采用的优化器为adam优化器。训练完成后,得到最优的ssd网络模型权重,用于螺栓松动检测。
[0049]
步骤四:采用训练好的ssd网络模型对待检测的螺栓图片进行检测,得到检测结果,为拧紧状态或松动状态。
[0050]
本实施例中对1632张test图进行检测,实验结果平均准确率map可达73.03%。
[0051]
如图5所示,是原始ssd网络与本发明的训练好的ssd网络模型对螺栓松动检测的map值比对图。可以明显看出,左右map值图直观的反应了本发明的改进后的ssd网络模型对螺栓“loose”和“tight”两种状态的检测准确率都有所提升,且最终平均准确率由70.53%提升至73.03%。
转载请注明原文地址:https://win.8miu.com/read-950195.html

最新回复(0)