一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Yolov4和热红外图像的光伏缺陷检测方法与流程

2021-10-24 07:56:00 来源:中国专利 TAG:光伏 缺陷 检测方法 图像 地说

一种基于yolov4和热红外图像的光伏缺陷检测方法
技术领域
1.本发明涉及深度学习、神经网络和光伏电站热斑、裂痕检测技术领域,更具体地说,本发明是一种基于yolov4和热红外图像的光伏缺陷检测方法。


背景技术:

2.太阳能作为一种清洁能源,一直深得人们的青睐,光伏发电目前是应用太阳能发电最广泛的一种方式,同时也是相对成熟的一种方式,它没有噪声和辐射危害、不会污染环境,且独立光伏发电系统多建立在较偏远地区,不会对居民造成影响。
3.本发明中检测的光伏缺陷包括热斑和裂痕两种。光伏组件在工作时,组件中单体电池由于遮光或者本身原因导致电流降低,当工作电流超过该单体电池电流时,则该部分电池处于反向偏置状态,在电路中的功能由电源变成负载,消耗能量,从而在组件内部形成局部过热现象,产生热斑。外界环境的影响可能会导致裂痕的大面积产生,裂痕会使整块光伏板发热严重。热斑和裂痕的出现会严重的影响发热效率,甚至可能造成极大的危害,引起巨大的经济损失。
4.目前各大电厂都在检测热斑、裂痕,在防止危害发生方面付出了很多努力,如应用红外热成像仪对运行中的光伏组件进行探测,这种方法需要红外热成像仪和光伏组件之间保持一定范围内的距离,人工排查时要时刻注意衣物不能遮挡光伏组件。对于对外界天气条件需求较高,进行一次完整的巡检需要投入大量人力物力,在有限的检测时间内任务艰巨。
5.传统的目标检测方法主要采用手动提取特征,通过对拍摄回来的照片进行筛选和排查,在实际应用中无人机采集的红外图像没有明显的边缘特征,对于远距离大范围的光伏阵列识别度较低,肉眼识别难度较大且工作量大。随着无人机行业的发展以及深度学习图像处理的不断创新,为快速诊断光伏热故障提供了极大可能,相较于传统目标检测方法采用分类器处理各类特征,基于深度学习的目标检测在实时性和准确性上都有了实质性的突破,因此该检测方法逐渐成为主流。
6.本发明采用旋翼无人机搭载双光镜头采集图像,通过4g/5g网络快速回传,并在后台进行实时检测,在保证实时性的同时通过优化yolov4模型,获得更高的检测精度。


技术实现要素:

7.发明目的:本文的发明目的是提供一种保证检测速度和检测准确率的基于yolov4和热红外图像的光伏缺陷检测方法。
8.技术方案:本发明提供一种基于yolov4和热红外图像的光伏缺陷检测方法,包括以下步骤:
9.s1、原始数据的采集。在光照度较好的晴朗天气,应用旋翼无人机及搭载的双光镜头对光伏组件进行拍摄,为保证拍摄数据的适用性及避免误差的产生,设定好对光伏板进行垂直拍摄并保证高度一定,拍摄最好在春末、夏季、初秋的上午11时

下午16时之间的时
间段内进行。拍摄后的光伏板图像会实时回传并进行下一步处理;
10.s2、对图像进行预处理。由于红外光伏图像目前没有开源的数据集,为了保证最终检测的准确性,使得结果更加准确,需要扩充数据集。本发明采取的办法是离线数据增强,即在训练前对标注完的红外图片进行水平翻转、旋转、倒置、裁剪拼接等方法增大原始数据集的数量;
11.s3、制作红外图像数据集。首先,使用开源工具labelme对所有图像进行标注,生成包含标注信息的.json文件。接下来,将.json文件转换为.xml文件并存放在事先准备好的vocdevkit结构目录下,其中包括存储.xml文件的annotations文件,存放原始图片的jpegimages文件以及存放.txt文件的imagesets

main。最后,需要根据自己写的脚本生成一系列的相关准备文件,其中包括训练集文件train.txt、验证集文件val.txt以及trainval.txt文件,并更改classes的类别信息;
12.s4、对标注好的红外图像进行先验框聚类。由于红外图像边缘不明显,且对小目标来说纹理特征很弱,对此需应用k

means算法对先验框进行聚类。由于自己的红外数据集与原数据集不同,需要更改anchors,本发明设置anchors_num=9,通过聚类后获取到9组匹配本红外训练集不同维度的先验框,并采用了diou_num对先验框进行筛选,由于diou_num考虑到边界框中心点的位置信息,因而更适合处理密集场景下的光伏目标检测;
13.s5、训练网络。将处理好的数据集放入网络中、并更改对应的类别信息、类别名称、训练迭代次数以及对应的文件路径,运行train.py脚本开始训练。神经网络的实质就是在正向传播过程中求取目标权值信息并计算损失,在反向传播过程中加入损失函数调节权值。通过上百次迭代得到的loss值很小时,便可保存权重文件用于目标检测。本发明中的骨干网络使用了cspdarknet53网络结构,原darknet53的结构,是由一系列残差结构组成,cspdarknet53主干部分继续堆叠原来的残差块,支路部分则相当于一个残差边,经过少量处理直接连接到最后,每个卷积层均通过批量归一化batch normalization和mish激活函数操作。cspdarknet53在darknet53的基础上增加了5个csp模块,每个csp模块前面的卷积核大小都是3
×
3,步长为2,输入图片的大小为608
×
608,特征图变化规律为:608

304

152

76

38

19,即经历五次变化后得到19
×
19的特征图,csp模块现将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少了计算量的同时保证了准确率;
14.s6、特征图的输出。图片输入模型处理完成后,会输出三种尺度的特征图,不同大小的特征图对应不同的先验框,yolo_head有两种输出,一种是在预测图片的时候输出的预测框的信息,另一种是在训练时计算loss输出的和特征图一样大小的网格,即未处理的预测框;
15.s7、对网络模型进行评估。以map值作为评价指标,若map值较低则调整网络继续训练,当map值达到理想值以上时,保存权重文件用于预测;
16.s8、将预测网络整合到光伏检测后台系统,输入精确的经纬度信息后即可按照定位点设定的航线飞行,并对光伏板进行自动拍摄,无人机拍摄回传的红外图像可进行实时检测,准确分析异常信息,便于及时进行维修处理。
17.进一步的,s5中为增强对小目标的检测,使用mosaic数据增强。本发明使用的mosaic数据增强是参考2019年底提出的cutmix数据增强的方式,但cutmix只使用了两张图
片进行拼接,而mosaic数据增强则采用了4张图片,随机缩放、随机裁剪、随机排布的方式进行拼接,红外光伏热斑目标一般较小,小目标的ap一般比中目标和大目标低很多,为了使识别更准确,随机使用4张图片,随机缩放,再随机分布进行拼接,大大丰富了检测数据集,特别是随机缩放增加了很多小目标,让网络的鲁棒性更好。此外mosaic数据增强在训练时可以直接计算4张图片的数据,在扩充数据集的同时保证了训练速度;
18.进一步的,s5中在backbone和输出层之间的neck结构插入spp模块、fpn pan模块,可以更好的提取融合特征。spp结构掺杂在对cspdarknet53的最后一个特征层的卷积里,在对cspdarknet53的最后一个特征层进行三次卷积后,分别利用四个不同尺度的最大池化进行处理,最大池化的池化核大小分别为13
×
13、9
×
9、5
×
5、1
×
1。fpn是自顶向下的特征金字塔,将高层的强语义特征传递下来,对整个金字塔进行增强,通过上采样和低层特征做融合得到进行预测的特征图,pan是自底向上的特征金字塔,将低层的强定位特征传递上去,对融合特征进行提取。
19.本发明提出的一种基于yolov4和热红外图像的光伏缺陷检测方法,具有以下有益效果:
20.1.采用无人机对光伏板进行自动红外图像采集,大大节省了人力物力,最重要的是保证了实时性,在问题初期就能得到及时解决;
21.2.采用的yolov4模型能更好的适应红外小目标的识别,在检测速度与检测精度上都有优异的表现,采用数据增强方法更有效增加了原始数据量,新的骨干网络更有益于识别热斑及裂痕特征。本发明对红外目标检测的map值可达到70.63%,可以满足目标检测需求。
附图说明
22.图1:无人机红外成像光伏检测系统流程图;
23.图2:本发明的整体流程图;
24.图3:本发明使用的网络结构模型。
具体实施方式
25.下面通过结合本发明方法的附图1,图2,图3,对本发明方法的技术方案进行进一步地说明。
26.一种基于yolov4和热红外图像的光伏缺陷检测方法的具体工作流程如下所示:
27.s1、原始数据的采集。在光照度较好的晴朗天气,应用旋翼无人机及搭载的双光镜头对光伏组件进行自动航点拍摄,将光伏板的对应坐标中心点、采集高度和飞行距离设定好后,无人机可进行自主飞行采集光伏板红外热图像。为保证拍摄数据的适用性及避免误差的产生,设定好对光伏板进行垂直拍摄并保证高度一定,拍摄最好在春末、夏季、初秋的上午11时

下午16时之间的时间段内进行。拍摄后的光伏板红外图像会实时回传到后台处理系统并进行下一步处理;
28.s2、对图像进行离线增强预处理。对于深度学习图像处理来说,想要保证识别的准确率,大量的训练数据和验证数据是必不可少的,但由于红外光伏图像目前没有开源的数据集,为了保证最终检测的准确性,使得检测结果更加准确,需要采用离线数据增强即在输
入yolov4网络之前要对数据集进行扩充。本发明在训练前对标注完的红外图片的水平翻转、旋转、倒置、裁剪拼接等方法增大原始数据集;
29.s3、制作红外图像数据集。首先,使用开源工具lableme对所有图像进行标注,生成包含标注信息的.json文件。接下来,用写好的脚本文件将.json文件转换为.xml文件并存放在事先准备好的vocdevkit结构目录下,.xml文件中包含了图像目标点的名称以及标注框四个点的位置信息,包括xmin、ymin、xmax、ymax的具体数值。vocdevkit目录结构为:存储.xml文件的annotations文件,存放原始图片的jpegimages文件以及存放.txt文件的imagesets

main。最后,根据自己写的脚本生成一系列的相关准备文件,其中包括训练集文件train.txt、验证集文件val.txt以及trainval.txt文件,并更改两个classes文件的目标类别信息;
30.s4、对标注好的红外图像进行先验框聚类。由于红外图像边缘不明显,且对小目标来说纹理特征很弱,对此需应用k

means算法对先验框进行聚类,k

means聚类算法的输入为x={x1,x2,

,x
n
},输出为y={y1,y2,

,y
k
},其中x包含n个对象,y为k个彼此独立的类簇,具体步骤为:第一:选取初始聚类簇中心点。从输入数据集x中随机选取出k个数据对象;第二:分配聚类对象。通过计算数据集y中数据与类簇中心点之间的相似程度,将聚类对象分配到与其相似程度最高的类簇中心点代表的类簇中;第三:更新类簇中心点信息。统计k个类簇中数据对象信息,将所有数据对象取均值并用其作为新的类簇中心点,用来更新类簇中心点信息;第四:重复迭代并保存结果。迭代执行上述的第二步和第三步直至聚类算法执行完毕,k个类簇中心点不再发生变化。对于样本集d={x1,x2,

,x
n
},k

means聚类算法实质上就是针对聚类划分c={c1,c2,

,c
k
}的最小平方误差,其公式如下:
[0031][0032]
上式中是簇c
i
的均值向量。由于自己的红外数据集与yolov4测试用的voc2007可见光数据集不同,需要更改anchors,本发明设置anchors_num=9,通过聚类后获取到9组匹配本红外训练集不同维度的先验框,分别为:(6
×
4),(6
×
5),(6
×
7),(8
×
6),(8
×
7),(9
×
7),(11
×
9),(30
×
39),(35
×
48),对先验框进行筛选采用了diou_num,由于diou_num考虑到边界框中心点的位置信息,因而更适合处理密集场景下的光伏目标检测。diou_loss考虑了重叠面积和中心点距离,当目标框包裹预测框时,直接度量2个框的距离,因此收敛更快,其公式如下:
[0033][0034]
上式中b和b
gt
表示b和b
gt
的中心点,ρ(
·
)是欧几里得距离,c是覆盖两个框的最小封闭框的对角线长度;
[0035]
s5、训练网络。将处理好的数据集放入网络中、并更改对应的classes文件类别信息、类别名称、训练迭代次数以及对应的文件路径,初次训练设置总训练次数为300epoch,由于浅层特征在迭代次数增加到一定数量后相似度较高,而层数越高泛化能力越好,故设置到第200个epoch时冻结一部分cspdarknet53训练网络,此外还可以一定程度上加快训练
速度。接着加入mosaic在线数据增强方法以及引入余弦退火衰减方法,余弦退火衰减可以通过余弦函数来降低网络学习率,当网络训练过程中,我们会使用梯度下降法来优化目标函数,当损失不断接近全局最小值时,余弦退火函数便起到了作用,由于余弦函数曲线的特性,使得函数值先缓慢下降再快速下降,如此往复与学习率配合,能得到很好的效果,其原理如下:
[0036][0037]
上式中i表示第几次运行程序;和表示学习率的最大最小值;对t
cur
可举例理解为:当总样本数为160,batch=16时,则一个epoch中会循环10次,此时每执行完一个batch,t
cur
的值为110=0.1;t
i
为第i次运行的epoch总数。
[0038]
接下来运行train.py脚本开始训练。神经网络的实质就是在正向传播过程中求取目标权值信息并计算损失,在反向传播过程中加入损失函数调节权值。通过上百次迭代得到的loss值很小时,便可保存权重文件用于目标检测。本发明中的骨干网络使用了cspdarknet53网络结构,原darknet53的结构,是由一系列残差结构组成,cspdarknet53主干部分继续堆叠原来的残差块,支路部分则相当于一个残差边,经过少量处理直接连接到最后,每个卷积层均通过批量归一化batch normalization和mish激活函数操作,mish激活函数能够进一步提高训练精度,其原理如下所示:
[0039]
y=x*tanh(ln(1 exp(x)))
[0040]
cspdarknet53在darknet53的基础上增加了5个csp模块,每个csp模块前面的卷积核大小都是3
×
3,步长为2,输入图片的大小为608
×
608,特征图变化规律为:608

304

152

76

38

19,即经历五次变化后得到19
×
19的特征图,csp模块现将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少了计算量的同时保证了准确率;
[0041]
在训练网络过程中,为增强对小目标的检测,使用mosaic数据增强。本发明使用的mosaic数据增强是参考2019年底提出的cutmix数据增强的方式,但cutmix只使用了两张图片进行拼接,而mosaic数据增强则采用了4张图片,随机缩放、随机裁剪、随机排布的方式进行拼接,红外光伏热斑目标一般较小,小目标的ap一般比中目标和大目标低很多,为了使识别更准确,随机使用4张图片,随机缩放,再随机分布进行拼接,大大丰富了检测数据集,特别是随机缩放增加了很多小目标,让网络的鲁棒性更好。此外mosaic数据增强在训练时可以直接计算4张图片的数据,在扩充数据集的同时保证了训练速度;
[0042]
在训练网络过程中,在backbone和输出层之间的neck结构插入spp模块、fpn pan模块,可以更好的提取融合特征。spp结构应用在对cspdarknet53的最后一个特征层的卷积里,在对cspdarknet53的最后一个特征层进行三次卷积后,分别利用四个不同尺度的最大池化进行处理,最大池化下采样的池化核大小分别为13
×
13、9
×
9、5
×
5、1
×
1。fpn是自顶向下的特征金字塔,将高层的强语义特征传递下来,对整个金字塔进行增强,通过上采样和低层特征做融合得到进行预测的特征图,pan是自底向上的特征金字塔,将低层的强定位特征传递上去,对融合特征进行提取;
[0043]
s6、特征图的输出。图片输入模型处理完成后,会输出三种尺度的特征图,不同大小的特征图对应不同的先验框,yolo_head有两种输出,一种是在预测图片的时候输出的预
测框的信息,另一种是在训练时计算loss输出的和特征图一样大小的网格,即未处理的预测框,其中损失函数包含三个方面:类别损失、置信度损失、位置损失:
[0044]
类别损失函数采用原始的多类别交叉熵损失(因为不会出现一个异常属于多种类别的情况,故没有用二值交叉熵),其公式如下:
[0045][0046][0047]
上式中a表示预测框,b表示目标类别,x
ab
∈{0,1},当预测框包含真实目标时x
ab
=1,当预测框不包含真实目标值时x
ab
=0。表示网络预测目标边界框内存在目标类别的sigmoid概率;
[0048]
目标置信度采用二值交叉熵损失计算,可以将其理解为预测目标矩形框内存在目标的概率,其公式如下:
[0049][0050][0051]
位置损失采用了ciou_loss,iou仅仅是考虑了预测框与真实框的交并比,而ciou目标框回归函数应该考虑三个重要几何因素:重叠面积、中心点距离,长宽比,其公式如下:
[0052][0053]
上式中用来衡量长宽比,用作权衡参数d表示计算两个中心点之间的欧氏距离,c代表对角线距离;
[0054]
s7、对网络模型进行评估。以map值作为评价指标,若map值较低则调整网络继续训练,当map值达到理想值以上时,保存权重文件用于预测;
[0055]
s8、将预测网络整合到光伏检测后台系统,输入精确的经纬度信息后即可按照定位点设定的航线飞行,并对光伏板进行自动拍摄,无人机拍摄回传的红外图像可进行实时检测,准确分析异常信息,便于及时进行维修处理。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜