基于嵌入余弦自注意力模块的光伏电池外观缺陷检测方法

文档序号:31126206发布日期:2022-08-13 03:32阅读:77来源:国知局
基于嵌入余弦自注意力模块的光伏电池外观缺陷检测方法

1.本发明属于工业缺陷检测技术领域,具体涉及一种基于嵌入余弦自注意力模块的yolov3网络的光伏电池外观缺陷检测方法。


背景技术:

2.目前,光伏电池的制造材料均采用硅晶材料,可细分为单晶硅、多晶硅、非晶硅三种,其中多晶硅片相较与单晶硅片而言优势明显,具有生产对原料纯度要求较低、产出成品率高、面积使用率高,生产成本低等优点,近年来产量迅速增长。尽管多晶硅片在生产和成本上具有明显的优势,但由于多晶硅锭生长过程中会产生很多晶界及内应力,使得多晶硅片内部存在较高的位错密度及杂质,造成多晶硅片均匀性较差,影响多晶电池片的电学性能,使得多晶硅片制得的电池效率较单晶硅片普遍低1%~4%。多晶硅片的性能提升空间还有很大,如果要提高光伏电池生产产品的质量,提高经济效益,就要进行光伏电池表面缺陷检测,这在学界备受关注和研讨。
3.光伏电池生产过程较为复杂,在生产过程中,由于一些人为操作失误、机器压力过大、原材料污染等工艺因素,光伏电池表面会产生一些缺陷。这些缺陷会严重影响太阳能电池的发电效率和光伏电池的使用寿命。因此,要想提高光伏电池生产产品的质量,提高经济效益,光伏电池表面缺陷的检测是一个非常重要的环节。
4.刘铖铖(刘铖铖.图像处理在太阳能电池表面缺陷检测中的研究[d].太原科技大学,2020.doi:10.27721/d.cnki.gyzjc.2020.000309.)分析了光伏电池表面缺陷的一些特点,提出了一种用于光伏电池缺陷检测的传统极其学习方法。主要采用将hough变换和canny边缘检测相结合的方法,去除表面栅线干扰,从而分离出目标缺陷区域。根据栅线完全去除和栅线未完全去除两种情况分别进行图像处理,先通过hough变换对栅线初步定位及删除。当栅线完全去除时,依次进行边缘断点连接、内部填充及平滑处理等操作,得到目标缺陷图;当栅线未完全去除时,采用灰度均衡化图进行低通滤波及形态学膨胀,可以使其栅线完全删除。然而,该方法针对背景干扰复杂的光伏电池难以取得良好的检测效果。而深度学习提出了一种让计算机自动学习出模式特征的方法,并将特征学习融入到了建立模型的过程中,从而减少了人为设计特征造成的不完备性,具有更好的适应性,检测精度也更高。


技术实现要素:

[0005]
针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于嵌入余弦自注意力模块的yolov3网络的光伏电池外观缺陷检测方法,该方法融合了浅层和深层特征,增强对不同尺度缺陷特征的检测能力,能对常见不同类型的光伏电池表面缺陷进行实时检测并进行缺陷定位,提高不同种类以及相似结构缺陷识别的准确率,能满足实际光伏电池工业生产的实时性和准确性要求。
[0006]
本发明解决上述技术问题采用的技术方案是:
[0007]
一种基于嵌入余弦自注意力模块的光伏电池外观缺陷检测方法,该方法用于光伏电池外观缺陷检测,包括下述步骤:
[0008]
第一步:利用工业相机采集光伏电池图像,作为缺陷检测的原始图像;原始图像包括无缺陷的图像和含有待检测缺陷的图像;
[0009]
第二步:对采集到的所有含有待检测缺陷的原始图像进行标注形成标签,并将所有的标签分为不同的数据集;
[0010]
第三步:通过嵌入余弦自注意力模块的yolov3网络对缺陷图像进行特征提取;
[0011]
第四步:首先设置模型训练参数和初始权重,然后读取训练集中的图像并将训练图像缩放至608*608像素,缩放后的图像通过嵌入余弦自注意力模块的yolov3网络进行特征提取,并利用k-means聚类方法对训练图像自动生成锚框,以锚框的尺寸作为先验框通过边框回归预测得到边界框,然后使用logistic分类器对边界框进行分类,获得每个边界框对应的缺陷类别分类概率;再通过非极大值抑制法对所有边界框的缺陷类别分类概率进行排序,确定每个边界框对应的缺陷类别,得到预测值;然后通过损失函数计算预测值和真实值之间的训练损失;
[0012]
再根据训练损失的变化来动态调整学习率与迭代次数,训练分为两个阶段,第一阶段是训练开始的前500个周期,初始学习率固定为0.001;第二阶段是指50个周期之后的训练周期,初始学习率设置为0.0001,当训练损失趋于稳定的时候,学习率依次变为原来的十分之一,设置最终学习率为0.00001,直到学习率减小到最终学习率0.00001时训练停止;
[0013]
第五步:将测试用的图像缩放至608*608像素并输入嵌入余弦自注意力模块的yolov3网络进行特征提取中进行检测。
[0014]
本发明解决所述技术问题采用的技术方案是:
[0015]
一种基于嵌入余弦自注意力模块的yolov3网络的光伏电池外观缺陷检测方法,其特征在于,该方法包括获取含有待检测缺陷的光伏电池图像,通过嵌入余弦自注意力模块的yolov3网络网络对含有待检测缺陷的图像进行特征提取,其中余弦自注意力模块用于精细化提取待检测缺陷特征;
[0016]
所述的余弦自注意力模块,实现有用的特征强调和干扰特征抑制。
[0017]
所述的余弦自注意力模块具体过程是:特征x经过reshape操作改变维度,再经过转置操作(transpose)获得变换后的x,变换后的x的大小为wh*c,同时特征x经过reshape操作得到重塑后的特征g(x),变换后的x与重塑后的特征g(x)特征相乘,计算出余弦相似度映射f,得到相似度图;而后利用sofmax函数对相似度图进行归一化,形成注意图,将注意图与重塑后的特征相乘;其中,n=wh表示之前特征图中的总位置数,w为特征图的宽,h为特征图的高;
[0018]
最后,将注意图与重塑后的特征相乘的结果再经过reshape操作被再次重塑为特征再次重塑特征与输入特征x进行逐元素求和运算得到最终输出特征图
[0019]
与现有技术相比,本发明的有益效果是:
[0020]
改进的yolov3网络的主干网络在提取特征的过程需要经过五次下采样,每次下采
样后的特征图尺寸都会变为原来的一半,但是在这五次下采样的过程中会丢失掉部分缺陷特征,若光伏电池图像中存在一个16*16像素的缺陷,通过三次下采样后,缺陷被保留下来的尺寸大小为4*4像素,而五次下采样后被保留下来的尺寸大小为1*1像素,因此一般的小目标缺陷的细节信息更多的被保存在了浅层特征中,而深层特征则保留了目标缺陷的高级语义特征;改进的yolov3网络将第三次下采样后的输出特征、第四次下采样后的输出特征与第五次下采样后的输出特征拼接到了一起,从而实现了浅层特征与深层特征的融合,即保留了目标缺陷的细节信息,又保留了目标缺陷的高级语义特征,使目标识别更加准确,提高了检测的精度。
[0021]
在特征融合的过程中,由于浅层特征中包含了冗余的背景信息,这些信息会对缺陷的检测产生干扰,为了抑制冗余信息的干扰,在改进的yolov3网络中引入了注意力机制;注意力机制可以使神经网络在学习过程中获取需要重点关注的目标区域,得到注意力焦点,而后对这一区域投入更多注意力,以获取更多所需要关注目标的细节信息,从而抑制其他无用信息,这样就可以抑制背景,突出缺陷目标;本发明提出了余弦自注意力模块,通过计算提取特征之间的余弦相似度,与传统的点积相乘计算相似度特征对比,可以显著增强了缺陷目标和背景之间的差别,进而更加容易识别光伏电池表面的小缺陷,提高识别的精确度,发挥注意力机制抑制背景、突出目标的作用,使在非均匀纹理复杂背景下的目标特征提取更加容易。
[0022]
本发明应用于工业缺陷检测中,尤其是对于小目标(目标尺度小于24*24像素)缺陷检测,效果明显,能够减少质检工序,减少后期人工质检项目,节约成本,提高了检测效率。
附图说明
[0023]
图1为本发明实施例的基于改进yolov3的光伏电池缺陷检测方法的流程图。
[0024]
图2为本发明实施例的余弦自注意力示例图。
具体实施方式
[0025]
下面结合附图对本实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]
本发明提供一种基于嵌入余弦自注意力模块的yolov3网络的光伏电池外观缺陷检测方法(简称方法,参见图1),包括以下步骤:
[0027]
第一步:获取图像
[0028]
利用工业相机采光伏电池图像,作为缺陷检测的原始图像;原始图像包括无缺陷的图像和含有待检测缺陷的图像;含有待检测缺陷的图像既可以是包含单一缺陷的图像也可以是包含多种缺陷的图像,必须包含所有待检测缺陷种类;
[0029]
第二步:制作数据集
[0030]
制作yolov3网络的数据集,具体以pascal voc2007的标准格式为模板,主要包含以下几个步骤:
[0031]
2-1、建立数据集存放文件夹;
[0032]
新建vocdevkit文件夹,在vocdevkit文件夹下voc2007文件夹;在voc2007文件夹下分别建立annotations文件夹、jpegimages文件夹以及imagesets文件夹三个文件夹,在imagesets文件夹下建立main文件夹;在main文件夹下建立train.txt、val.txt、test.txt以及trainval.txt四个文件,分别用于存放训练集、验证集、测试集和训练验证集;annotations文件夹用于存放所有标注后的图像的xml文件,jpegimages文件夹用于存放分割后的小图像;
[0033]
2-2、切割图像;
[0034]
对采集到的所有含有待检测缺陷的原始图像利用滑动分割法进行切割,将每张含有待检测缺陷的原始图像均匀切割成大小相等的16张小图像,并将所有的小图像保存在jpegimages文件夹中;若直接采用原始图像,由于原始图像的尺寸较大,单张图像的运算量太大,检测时间长并且对检测系统的硬件要求高;若直接缩小原始图像的尺寸,由于一些小目标缺陷本身占比小,缩小之后占的像素更少,很难检测,因此对原始图像进行分割,保留待检测缺陷的原始像素;
[0035]
2-3、标注图像;
[0036]
使用软件labelimg对步骤2-2中所有含有待检测缺陷的小图像进行手动标定,将其中的缺陷部分标注出来;然后每张标注后的图像都生成一个包含有图片名称、缺陷种类和缺陷位置坐标的xml文件,一个xml文件即为一个标签,并将所有的xml文件保存在annotations文件夹中;
[0037]
2-4、对数据集进行分组
[0038]
将所有的xml文件按照比例分成voc2007数据集中的训练集train.txt、验证集val.txt、训练验证集trainval.txt和测试集test.txt;首先提取annotations文件夹中所有的xml文件,然后将所有的xml文件按照4:1的比例分为两组,分别作为训练集和验证集,训练验证集为训练集和验证集的总和,并将各个数据集对应的xml文件的文件名保存至相应的txt文件中;例如,将分到训练集的所有xml文件的文件名保存至train.txt文件中;
[0039]
第三步:网络模型设计
[0040]
选取darknet-53网络作为特征提取网络,特征提取网络主要分为五个阶段,每个阶段包括一个或多个卷积块层,每个卷积块层均为两个卷积层和一个残差连接;其中,第一阶段包括一个卷积块层,第二阶段包含两个卷积块层,第三、四阶段均包含八个卷积块层,第五阶段包含四个卷积块层;除第五阶段外,其余四个阶段还包括一个位于所有卷积块层之后的用于改变特征图尺寸的下采样卷积层;
[0041]
输入的目标图像被逐层计算提取特征,输入的目标图像大小为608*608*3,其中宽高都是608,通道数为3,依次经过一个卷积核大小为3*3、步长为1、通道数为32的卷积层和一个卷积核大小为3*3、步长为2、通道数为64的下采样层后得到第一阶段的输入特征,第一阶段输入特征的尺寸为304*304*64;第一阶段的输入特征依次经过一个卷积核大小为1*1、步长为1、通道数为32和一个卷积核大小为3*3、步长为1、通道数为64的两个卷积层、一个残差连接以及一个卷积核大小为3*3、步长为2、通道数为128的下采样层后得到第一阶段的输出特征,其尺寸为152*152*128;第一阶段的输出特征依次经过卷积核大小分别为1*1、3*3,步长均为1,通道数分别为64、128的两个卷积和一个残差连接后得到第二阶段第一卷积块层的输出特征;第二阶段第一卷积块层的输出特征重复第一阶段输出特征的操作后得到第
二阶段第二卷积块层的输出特征,第二阶段第二卷积块层的输出特征经过一个卷积核大小为3*3、步长为2、通道数为256的下采样层后得到第二阶段的输出特征,其尺寸为76*76*256;第二阶段的输出特征依次经过卷积核大小分别为1*1、3*3,步长均为1,通道数分别为128、256的两次卷积和一个残差连接后得到第三阶段第一卷积块层的输出特征,第三阶段第一卷积块层的输出特征重复第二阶段输出特征的操作,重复七次后得到第三阶段第八卷积块层的输出特征,第三阶段第八卷积块层的输出特征经过一个卷积核大小为3*3、步长为2、通道数为512的下采样层后得到第三阶段的输出特征,其尺寸为38*38*512;第三阶段的输出特征依次经过卷积核大小分别为1*1、3*3,步长均为1,通道数分别为256、512的两次卷积和一个残差连接后得到第四阶段第一卷积块层的输出特征,第四阶段第一卷积块层的输出特征重复第三阶段输出特征的操作,重复七次后得到第四阶段第八卷积块层的输出特征,第四阶段第八卷积块层的输出特征经过一个卷积核大小为3*3、步长为2、通道数为1024的下采样层后得到第四阶段的输出特征;第四阶段的输出特征依次经过卷积核大小分别为1*1、3*3,步长均为1,通道数分别为512、1024的两次卷积核一个残差连接后得到第五阶段第一卷积块层的输出特征,第五阶段第一卷积块层的输出特征重复第四阶段输出特征的操作,重复三次后得到第五阶段的输出特征,其尺寸为19*19*1024;
[0042]
特征融合网络设计:将特征提取网络第五阶段输出的特征依次经过卷积核大小分别为1*1、3*3、1*1、3*3、1*1,步长均为1的五次卷积后生成特征f1,特征f1依次通过卷积核大小分别为3*3、1*1,步长均为1的两个卷积层后得到特征y1,特征y1作为检测层的第一层;
[0043]
将特征f1通过一个卷积核大小为1*1、步长为1的卷积层,然后再通过一次上采样操作,将特征放到到与特征提取网络第四阶段输出的特征同等大小,进行通道维度的特征拼接操作。将拼接后的特征经过余弦自注意力模块后再依次经过卷积核大小分别为1*1、3*3、1*1、3*3、1*1,步长均为1的五次卷积后生成特征f2,特征f2依次经过卷积核大小分别为3*3、1*1,步长均为1的两次卷积后得到特征y2,特征y2作为检测层的第二层;
[0044]
将特征f2通过一个卷积核大小为1*1、步长为1的卷积层,然后再通过一次上采样操作,将特征放到到与特征提取网络第三阶段输出的特征同等大小,进行通道维度的特征拼接操作。将拼接后的特征经过余弦自注意力模块后再依次经过卷积核大小分别为1*1、3*3、1*1、3*3、1*1,步长均为1的五次卷积后生成特征f3,特征f3依次经过卷积核大小分别为3*3、1*1,步长均为1的两次卷积后得到特征y3,特征y3作为检测层的第三层;
[0045]
至此完成嵌入余弦自注意力模块的yolov3网络模型的搭建。
[0046]
第四步:模型训练
[0047]
4-1、设置模型训练参数
[0048]
根据训练集中待检测缺陷的种类数和待检测缺陷名称修改改进的yolov3网络的类别数和类别标签,若训练集中一共4种待检测缺陷,改进的yolov3网络的类别数为5,包括背景和4种待检测缺陷类别;根据待检测缺陷名称对应修改改进的yolov3网络的类别标签;
[0049]
4-2、设置模型初始权重
[0050]
为了加快收敛速度减少训练时间,防止过拟合,将imagenet数据集上预先训练得到的yolov3模型文件,作为改进的yolov3网络的初始化权重;
[0051]
4-3、计算训练损失
[0052]
根据网络模型输出的特征层数量确定锚框数量,利用k-means聚类方法自动生成
锚框,并且把锚框的尺寸保存下来;读取训练集中的图像,读入图像数据,包括图像名称、缺陷类别和缺陷位置坐标信息;将训练图像缩放至608*608像素,缩放后的图像通过特征提取网络进行特征提取,以锚框的尺寸作为先验框通过边框回归预测得到边界框,然后使用logistic分类器对边界框进行分类,获得每个边界框对应的缺陷类别分类概率;再通过非极大值抑制法对所有边界框的缺陷类别分类概率进行排序,确定每个边界框对应的缺陷类别,得到预测值,预测值包括缺陷类别和缺陷位置信息,缺陷位置信息用于框出缺陷所在的位置;非极大抑制阈值为0.5;然后通过损失函数计算预测值和真实值之间的训练损失;
[0053]
4-4、训练阶段
[0054]
根据训练损失的变化来动态调整学习率与迭代次数,以更新整个网络的参数;训练分为两个阶段,第一阶段是训练开始的前50个周期,初始学习率固定为0.001,以加快收敛;第二阶段是指50个周期之后的训练周期,初始学习率设置为0.0001,当训练损失趋于稳定的时候,学习率依次变为原来的十分之一,设置最终学习率为0.00001,直到学习率减小到最终学习率0.00001时训练停止;
[0055]
第五步:在线测试
[0056]
在线测试在电脑cpu为酷睿i7系列,内存为32gb,显卡为gtx1080显卡,在windows10的平台下完成,基于keras程序实现;首先将测试用的图像,分割成16张小图像,再把小图像缩放至608*608像素并输入改进的yolov3网络中进行检测;所有的16张小图像检测完成后,再把所有的小图像检测结果拼接到一起,拼接成一张完整的大图像输出;单张大图像检测时间为0.15s,能满足企业生产实时性的要求。每张小图像的缺陷会在图片上框出来,有不同缺陷的话就会把所有的缺陷都框出来,只要有缺陷认为这个锂电池为缺陷电池,16张小图像最后要拼接到一起,拼接成一张完整的大图像,位置信息预测是用来框出缺陷所在的位置。
[0057]
本实施例对光伏电池表面崩边、断栅、漏浆、脏污一共4种缺陷图像进行了实验,缺陷的识别率均在90%以上,本技术方法能够定位缺陷所处的光伏电池表面的位置,对于光伏电池的召回率和精确度均有显著提升。
[0058]
本发明未述及之处适用于现有技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1