基于轻量级神经网络的电池缺陷检测方法

文档序号:28717974发布日期:2022-01-29 14:47阅读:206来源:国知局
基于轻量级神经网络的电池缺陷检测方法

1.本发明涉及电池缺陷检测技术领域,具体涉及一种基于轻量级神经网络的电池缺陷检测方法。


背景技术:

2.电池是制约新能源技术发展的重要因素之一,电池质量直接影响新能源设备的性能和使用寿命,表面缺陷检测是电池制造过程的一个重要环节。现有的人工检测方法受工人主观以及容易出现疲劳等因素影响较大,难以满足大规模生产需要,因此基于机器视觉的缺陷检测算法得以应用。通过机器视觉检测算法提取的缺陷特征主要依赖于人工定义的规则,只提取浅层特征,限制了其在工业检测中的广泛应用。而基于神经网络的缺陷检测算法能够取得令人难以置信的成果。
3.在以往的研究中已经证明,神经网络的深度越深、宽度越宽,拥有越强大的性能。然而,扩展神经网络的架构通常会带来更多的计算量,对硬件资源的要求较高,导致能部署深度神经网络的系统成本较高,极大地限制了基于深度神经网络的目标检测模型在实际工程中的应用,因此开发轻量化的网络很有必要。由于电池上缺陷存在多尺度特性和强烈的背景干扰,如背景纹理形状随机分布、表面缺陷在强度和形状上与背景重叠等,而轻量化的网络对于背景复杂和小目标缺陷的检测效果并不理想,因此开发轻量化的网络检测电池缺陷实施起来困难较大。


技术实现要素:

4.针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于轻量级神经网络的电池缺陷检测方法。
5.本发明解决所述技术问题采用的技术方案是:
6.一种基于轻量级神经网络的电池缺陷检测方法,其特征在于,该方法基于轻量级神经网络构建缺陷检测模型;缺陷检测模型以shufflenetv2为骨干网络,将精炼的跨阶段局部机制融合到shufflenetv2网络中,得到精炼跨阶段局部shufflenetv2网络,精炼跨阶段局部shufflenetv2网络中还融合了并行分组注意力模块;精炼跨阶段局部shufflenetv2网络的输出特征图再经过低层特征引导的融合模块后,输入到区域推荐网络中推荐区域,最后对推荐区域进行分类和回归,得到缺陷类别和位置。
7.所述精炼跨阶段局部shufflenetv2网络包含五个阶段,每个阶段由下采样、特征提取模块和通道混洗模块组成;在特征提取模块中,下采样后的特征图在通道维度上通过切片操作分为特征图x'0和x'0'两部分;特征图x'0'通过k个构建单元得到特征图xk,然后将特征图x'0'和xk在通道维度拼接在一起,得到特征图xc;特征图xc经过通道混洗模块,得到输出特征图xs。
8.所述精炼跨阶段局部shufflenetv2网络各个阶段的每个构建单元之后均加入并行分组注意力模块;首先通过分组操作将构建单元的输出特征图在通道维度上分为多组,
得到多个子特征;然后每个子特征的通道通过切片操作被拆分为两个分支;一个分支经过eca操作,另一个分支经过esa操作,最后将这两个分支的结果在通道维度上拼接在一起,得到拼接后的子特征;再将所有拼接后的子特征合并后,通过通道混洗操作得到并行分组注意力模块的输出特征图。
9.所述esa操作具体为:通过esa操作的输入特征图卷积得到空间注意力特征图,经过sigmoid函数激活后,与esa操作的输入特征图进行点乘。
10.低层特征引导的融合模块具体为:首先将精炼跨阶段局部shufflenetv2网络第五阶段的输出特征图c5经过全局平均池化操作,得到全局特征图cg;然后将全局特征图cg和精炼跨阶段局部shufflenetv2网络第三~五阶段的输出特征图c3、c4、c5分别经过1
×
1卷积,得到特征图p3、p4、p5和pg;特征图p3通过sigmoid函数得到重加权系数,将重加权系数与特征图p4、p5和pg拼接后的特征图相乘,得到低层特征引导的融合模块的输出特征图。
11.与现有技术相比,本发明的有益效果是:
12.1.针对基于深度卷积神经网络的目标检测模型存在的参数量大、部署困难、难以满足实时检测要求等问题,本发明选取shufflenetv2作为骨干网络,实现模型的轻量化,满足实时检测的要求,使得该缺陷检测模型能够在移动设备上部署;将精炼的跨阶段局部机制应用到shufflenetv2网络中,以克服shufflenetv2网络在更新权重时存在的梯度重复利用问题。
13.2.引入了精炼的跨阶段局部机制,可以使缺陷检测模型在学习过程中获取需要重点关注的目标区域,得到注意力焦点,而后对这一区域投入更多注意力,以获取更多所需要关注目标的细节信息,从而抑制其他无用信息,这样就可以抑制背景,突出缺陷目标。
14.3.缺陷检测模型包含五个阶段,每个阶段均包含下采样,因此缺陷检测模型在提取特征过程经过五次下采样(每个卷积核大小为2*2、步长为2的最大池化层即为一次下采样),每次下采样后的特征图尺寸都会变为原来的一半,在这五次下采样过程中会丢失掉部分缺陷特征,若待检测图像中存在一个16像素*16像素的缺陷,通过三次下采样后,缺陷被保留下来的尺寸大小为4像素*4像素,而五次下采样后被保留下来的尺寸大小为1像素*1像素,因此小目标缺陷的细节信息更多的被保存在了浅层特征中,浅层特征包含了冗余的背景信息,这些信息会对缺陷的检测产生干扰,为了抑制冗余信息的干扰,而深层特征则保留了目标缺陷的高级语义特征;引入精炼的跨阶段局部机制之后,可能会引导网络更加关注深层特征,因为深层特征包含的语义信息更多,而浅层特征可能会受到抑制,被当成冗余特征忽略掉,会影响小目标缺陷的检测;为了更好地应对浅层特征与深层特征的差异性,本发明提出了并行分组注意力模块,实现浅层特征与深层特征的融合,即保留了目标缺陷的细节信息,又保留了目标缺陷的高级语义特征,使缺陷检测更加准确,提高了检测的精度。
15.4.针对电池中小目标缺陷占比大的特点,为了保证轻量级网络的检测性能,本技术提出了低层特征引导的融合模块,用具有更精确缺陷位置的低层特征引导多尺度特征图进行融合,保留小目标缺陷的位置信息;低层特征引导的融合模块的关键思想是聚合多尺度的局部信息和全局信息,通过利用局部和全局信息,这样既可以注意到拼接前每个特征图的局部特征,也能注意到拼接后的特征图的整体特征,使网络提取到的目标缺陷的特征信息更多,进而更加容易识别电池表面的小缺陷,提高识别的精确度;同时又可以发挥注意力机制抑制背景、突出目标的作用,使在非均匀纹理复杂背景下的目标特征提取更加容易。
16.5.本发明应用于工业缺陷检测中,对于小目标(目标尺度小于20*20像素)缺陷检测,效果明显,能够减少质检工序,减少后期人工质检项目,节约成本,提高了检测效率。本发明的缺陷检测模型在训练过程的计算量较小,大大节省了计算成本与检测时间,能够提高质检的质量和效率,进而提高电池的质量和生产效率,满足了实时性的要求。相比于常规的二阶段网络faster r-cnn,本技术基于轻量级神经网络的缺陷检测模型对电池缺陷的检测精度更高,map达到90.9%。
附图说明
17.图1为本发明的整体流程图;
18.图2为本发明的缺陷检测模型的整体结构示意图;
19.图3为本发明的骨干网络第二阶段的结构示意图;
20.图4为本发明的并行分组注意力模块的结构示意图;
21.图5为本发明的低层特征引导的融合模块的结构示意图。
具体实施方式
22.下面结合附图对本发明的技术方案进行清楚、完整地描述,但并不以此限定本技术的保护范围。
23.本发明提供一种基于轻量级神经网络的电池缺陷检测方法(简称方法),包括以下步骤:
24.第一步、采集图像;
25.利用工业相机采集电池图像,作为缺陷检测的原始图像;原始图像包括无缺陷的图像和含有待检测缺陷的图像;含有待检测缺陷的图像既可以是包含单一缺陷的图像也可以是包含多种缺陷的图像,必须包含所有待检测缺陷种类。
26.第二步、对图像进行预测处理,得到数据集;
27.2-1、建立数据集存放文件夹
28.新建vocdevkit文件夹,在vocdevkit文件夹下voc2007文件夹;在voc2007文件夹下分别建立annotations文件夹、jpegimages文件夹以及imagesets文件夹三个文件夹,在imagesets文件夹下建立main文件夹;在main文件夹下建立train.txt、val.txt、test.txt以及trainval.txt四个文件,分别用于存放训练集、验证集、测试集和训练验证集;annotations文件夹用于存放所有标注后的图像的xml文件,jpegimages文件夹用于存放裁减掉背景的图像;
29.2-2、裁剪图像
30.对采集到的所有含有待检测缺陷的原始图像利用阈值切割法进行裁剪,根据图像阈值将每张待检测缺陷的原始图像的电池部分和背景分离,得到只含有电池部分的小图像,并将保存在jpegimages文件夹中;原始图像含有大量的多余背景,有用的信息占比少,若直接缩小原始图像的尺寸,会计算大量的无用信息,而使用图像裁剪方法,不仅可以节省计算资源,还可以提高检测精度;
31.2-3、标注图像
32.使用软件labelimg对步骤2-2中所有小图像进行手动标定,将其中的缺陷部分标
注出来;然后每张标注后的图像都生成一个包含有图片名称、缺陷种类和缺陷位置坐标的xml文件,一个xml文件即为一个标签,并将所有的xml文件保存在annotations文件夹中;
33.2-4、对数据集进行分组
34.将所有的xml文件按照比例分成voc2007数据集中的训练集train.txt、验证集val.txt、训练验证集trainval.txt和测试集test.txt;首先提取annotations文件夹中所有的xml文件,然后将所有的xml文件按照4:1的比例分为两组,分别作为训练集和验证集,训练验证集为训练集和验证集的总和,并将各个数据集对应的xml文件的文件名保存至相应的txt文件中;例如,将分到训练集的所有xml文件的文件名保存至train.txt文件中。
35.第三步、基于轻量级神经网络构建缺陷检测模型,用于检测电池的缺陷类别和位置;缺陷检测模型以shufflenetv2为骨干网络,将精炼的跨阶段局部机制融合到shufflenetv2网络中,得到精炼跨阶段局部shufflenetv2网络,精炼跨阶段局部shufflenetv2网络中还融合了并行分组注意力模块;精炼跨阶段局部shufflenetv2网络的输出特征图再经过低层特征引导的融合模块后,输入到区域推荐网络中推荐区域,最后对推荐区域进行分类和回归,得到缺陷类别和位置;
36.基于cnn的目标检测通常使用图像分类网络作为骨干网络,然而图像分类和目标检测的骨干网络承担的任务不同,因此需要调整图像分类网络的参数,以达到目标检测目的;针对电池缺陷呈现多尺度且小目标多的特征,同时综合考虑速度和精度,将骨干网络的输入分辨率设置为600
×
600;感受野的大小在cnn网络中起着重要作用,网络只能接收感受野内的信息,因此一个适合的感受野可以充分利用更多的上下文信息,更有效地编码像素之间的关系,这对于缺陷的定位是至关重要的;对于电池缺陷,小缺陷的尺寸只有20
×
20,而大缺陷能覆盖整张图;为了同时兼顾大小目标缺陷的检测准确性,因此ecsnet每个阶段的下采样(unit2)使用5
×
5深度可分离卷积,构建单元(unit1)使用3
×
3深度可分离卷积,以此来获得较大的感受野;ecsnet各个阶段的参数如表1所示;
37.表1 shufflenetv2各个阶段的参数
[0038][0039]
在原始的shufflenetv2网络中,每个阶段的特征提取模块首先将输入特征图差分为两部分,只对输入特征图的一半进行卷积处理,实现公式如下式:
[0040]
[0041]
式(1)中,x
k-1
和xk分别表示输入特征图和输出特征图,s表示通道混洗操作,w表示权重,c表示通道数,表示卷积操作;
[0042]
由式(1)知,每个构建单元的输出特征图都会保留输入特征图的一半信息,并将这一半信息继续传递下去,因此输出特征图xk还可以表示为下式:
[0043][0044]
式(2)中,fk表示shufflenetv2网络第k层的操作函数,x0,x1,x2,

,x
k-1
表示各个层的输入特征图,wk表示第k层的权重;
[0045]
由式(2)知,第k层的梯度会传递到前面的k-1,k-2,

,1层,并且这些层都会使用该梯度来更新权重,这将导致重复学习冗余信息;shufflenetv2利用反向传播来更新权重,其表达式为:
[0046][0047]
其中,fk是第k层的权重更新函数,g
k-1
表示传播到第k层的梯度;
[0048]
通过式(3)可以发现,大量的梯度信息被重复用于不同层的权重更新,这将导致不同层重复学习相同的梯度信息,因此将精炼的跨阶段局部机制应用到shufflenetv2中,得到精炼跨阶段局部shufflenetv2网络(efficient cross stage partial shufflenet,ecsnet);ecsnet包含五个阶段,每个阶段由下采样、shufflenetv2网络原本的特征提取模块和通道混洗模块组成;其中,第二阶段的具体结构如图3所示,第二阶段的输入特征图首先经过下采样,下采样后的特征图经过特征提取模块和通道混洗模块,得到第二阶段的输出特征图;在特征提取模块中,下采样后的特征图在通道维度上通过切片操作分为特征图x'0和x”0
两部分;特征图x”0
通过k个构建单元(unit1)得到特征图xk,然后将特征图x”0
和xk在通道维度拼接在一起,得到特征图xc;特征图xc经过通道混洗模块,得到输出特征图xs;ecsnet前向推理和权重更新方程分别为式(4)和(5):
[0049][0050][0051]w′k=fk(wk,{g”0
,g1,

,g
k-1
})
[0052]w′c=fc(wc,{g'0,gk})
ꢀꢀꢀ
(5)
[0053]
其中,g'0、g”0
分别为特征图x'0和x”0
的梯度;
[0054]
特征图x'0和x”0
经过的两个支路的梯度都是独立的,两个支路在更新权重时都不会重复利用另一支路使用过的梯度信息,因此ecsnet通过给shufflenetv2每个阶段的梯度分流,来防止重复使用相同的梯度信息更新权重,该思想是通过把特征图先拆分再融合的策略实现,并通过通道混洗操作实现各个通道之间的信息交流;
[0055]
由于浅层特征与深层特征所保留的信息有差异,在引入精炼的跨阶段局部机制之后,注意力机制会引导网络更加关注深层特征,因为深层特征包含的语义信息更多,而浅层特征可能会受到抑制,被当成冗余特征忽略掉,会影响小目标缺陷的检测;为了更好地应对浅层特征与深层特征的差异性,本发明提出了并行分组注意力模块,在ecsnet每个阶段的构建单元之后均加入并行分组注意力模块;并行分组注意力模块的结构如图4所示,首先通
过分组操作将构建单元的输出特征图在通道维度上分为多组,得到多个子特征,每个子特征随着训练会逐渐捕获一种特定的语义信息,然后每个子特征的通道通过切片操作被拆分为两个分支;一个分支经过eca(efficient channel attention)操作,另一个分支经过esa(exact spatial attention)操作,最后将这两个分支的结果在通道维度上拼接在一起,得到拼接后的子特征;再将所有拼接后的子特征合并后,通过通道混洗操作来保证各组子特征之间的信息交互,得到与输入特征图同维度的特征图,即并行分组注意力模块的输出特征图;
[0056]
在并行分组注意力模块中,用高效通道注意力(efficient channel attention,eca)学习通道间的依赖,用精准空间注意力(exact spatial attention,esa)捕获空间关系,通过并行分组注意力模块实现通道和空间上的注意;eca使用一种不降维的局部跨通道交互策略,使用卷积核大小为i的一维卷积捕获每个通道及其i-1个临近通道的局部跨通道交互信息,其中i代表了局部跨通道交互的覆盖率,即该通道附近有多少相邻通道参与了这个通道的注意力预测,eca高效地实现了通道注意力;而esa直接用一个卷积得到空间注意力特征图,然后使用sigmoid函数激活,最后与esa操作的输入特征图进行点乘,可以精确地将注意力集中到每个点上;
[0057]
由于ecsnet的感受野较小,解决这个问题的常见方法是使用特征金字塔网络(fpn),但是fpn结构中有许多额外的卷积和分支,增加了计算成本,造成推理延迟,难以满足实时检测;为此,本技术设计了低层特征引导的融合模块(bottom feature guided fusion module,bgfm),用具有更精确缺陷位置的低层特征引导多尺度特征图进行融合,保留小目标缺陷的位置信息,以提高缺陷检测模型对小目标缺陷的检测精度;扩大感受野的同时,不会增加太多计算成本;
[0058]
低层特征引导的融合模块结构如图5所示,首先将ecsnet第五阶段的输出特征图c5经过全局平均池化操作,得到全局特征图cg;然后将全局特征图cg和ecsnet第三~五阶段的输出特征图c3、c4、c5分别经过1
×
1卷积,将这四个特征图调整为相同尺寸,得到特征图p3、p4、p5和pg;特征图p3通过sigmoid函数得到重加权系数,将重加权系数与特征图p4、p5和pg拼接后的特征图相乘,得到低层特征引导的融合模块的输出特征图f
bgfm
,以此通过低层特征p3来引导其余三个特征图融合;bgfm的关键思想是聚合多尺度的局部信息和全局信息,通过利用局部和全局信息,bgfm有效地扩大了感受野,并提高了特征图的表征能力;
[0059]
将低层特征引导的融合模块的输出特征图输入到区域推荐网络(rpn)中推荐区域,最后对推荐区域进行分类和回归,得到缺陷类别和位置。
[0060]
第四步、训练缺陷检测模型;
[0061]
4-1、设置模型训练参数
[0062]
根据训练集中待检测缺陷的种类数和待检测缺陷名称修改缺陷检测模型的类别数和类别标签,训练集中一共6种待检测缺陷,故缺陷检测模型的类别数为6;根据待检测缺陷名称对应修改缺陷检测模型的类别标签;
[0063]
4-2、设置模型初始权重
[0064]
为了加快收敛速度减少训练时间,防止过拟合,将公共数据集imagenet上预先训练shufflenetv2网络,将训练得到的权重作为缺陷检测模型的初始化权重;
[0065]
4-3、计算训练损失
[0066]
缺陷检测模型使用与少参数骨干网络匹配的轻量级检测头,针对数据集中小尺寸缺陷占比大的特点,本实施例使用8个尺度{122,162,202,242,322,642,1282,2562}和3种比例{1:2,1:1,2:1}生成小尺寸偏多的锚框;读取训练集中的图像,读入包括图像名称、缺陷类别和缺陷位置坐标信息在内的图像数据;将训练图像缩放至600*600像素,缩放后的图像通过缺陷检测模型的骨干网络进行特征提取,以锚框的尺寸作为先验框通过边框回归预测得到边界框,然后使用logistic分类器对边界框进行分类,获得每个边界框对应的缺陷类别分类概率;再通过非极大值抑制法(nms)对所有边界框的缺陷类别分类概率进行排序,确定每个边界框对应的缺陷类别,得到预测值,预测值包括缺陷类别和缺陷位置信息,缺陷位置信息用于框出缺陷所在的位置;非极大抑制阈值为0.5;然后通过损失函数计算预测值和真实值之间的训练损失loss;
[0067]
4-4、训练阶段
[0068]
根据训练损失的变化来动态调整学习率与迭代次数,以更新整个缺陷检测模型的参数;训练分为两个阶段,第一阶段是训练开始的前100个周期,初始学习率固定为0.001,以加快收敛;第二阶段是指100个周期之后的训练周期,初始学习率设置为0.0001,当训练损失趋于稳定的时候,学习率依次变为原来的十分之一,设置最终学习率为0.00001,直到学习率减小到最终学习率0.00001时训练停止;
[0069]
第五步、在线测试;
[0070]
实验平台是在ubuntu 16.04系统,cpu为酷睿i7系列(intel 3.7ghz),显卡为titan xp,使用的深度学习框架是pytorch 1.3.0;首先裁剪掉测试所用图像的背景,再把图像缩放至600像素*600像素并输入缺陷检测模型中进行检测;测试结果表明,单张图像检测时间为0.017s,能满足企业生产实时性的要求;每张图像的缺陷会在图片上框出来,若有不同缺陷就会将所有的缺陷都框出来,只要有缺陷则认为这个电池为缺陷电池;将测试后的缺陷检测模型用于电池缺陷检测;
[0071]
本实施例对太阳能电池虚焊、隐裂、线状缺陷、黑斑和断栅一共5种缺陷图像进行了实验,其中对虚焊、隐裂、黑斑和断栅的识别准确率能达到85%左右,线状缺陷的识别率在80%以上,本技术方法能够确定缺陷所处的位置,对于电池的召回率和精确度均有显著提升,能够用于动力电池、光伏电池以及锂电池等的缺陷检测。
[0072]
本发明未述及之处适用于现有技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1