1.基于Yolo‑v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,具体按照如下步骤实施:
步骤1,对光伏面板的红外图像进行灰度化,获取其灰度图像;
步骤2,采用Canny算子对步骤1获取的灰度图像进行边缘提取;
步骤3,对经步骤2提取边缘的图像进行二值化,提取连通域,并获取连通域的特征,根据获取的特征排除干扰物,获取光伏面板目标区域;
所述步骤3具体为:
步骤3.1,对步骤2提取边缘的图像进行二值化,获取连通域,并对所有连通域进行遍历提取轮廓,获取的连通域轮廓属性,所述连通域轮廓属性为:轮廓内面积S、连通域最小外接矩形Rect,其中连通域最小外接矩形属性又包含最小外接矩形的高Rect_height、宽Rect_width、质心的横坐标Rect_centerx、质心的纵坐标Rect_centery;
步骤3.2,设定Rect_height、Rect_width、S范围阈值,将步骤3.1获取的连通域的轮廓内面积S、连通域最小外接矩形属性又包含最小外接矩形的高Rect_height、宽Rect_width与设置的范围阈值进行比较,任意一个属性值大于或者小于设定阈值范围则将二值图像中对应连通域像素值置为0,以此去除该连通域;
步骤3.3,分别计算所有连通域的质心的横坐标Rect_centerx和质心的纵坐标Rect_centery均值,分别记为Rect_centerx_aver、Rect_centery_aver,根据计算的均值设定Rect_centerx_aver、Rect_centery_aver的阈值范围,若某个连通域最小外接矩形质心的横坐标Rect_centerx或纵坐标Rect_centery没在对应的Rect_centerx_aver、Rect_centery_aver阈值范围内,则将二值图像中对应连通域像素值置为0以此去除该连通域,剩余连通域则为得到光伏面板目标区域;
步骤4,对步骤3所识别出的光伏面板目标区域进行编号,得到组串区域,并对所有组串内局部面板进行编号;
所述步骤4具体为:
步骤4.1,对经步骤3获得的包括光伏面板目标区域的二值图像进行膨胀操作,将所识别的局部面板连接起来,得到组串区域,并获取组串坐标范围;
步骤4.2,遍历步骤4.1得到的组串,获取其左上角坐标(Left,Top),右下角坐标(Right,Bottom),若局部面板质心坐标Rect_centerx、Rect_centery处于某个组串区域范围内,即如果Left
步骤4.3,对所有组串内局部面板进行编号,具体方式如下,将组串所属容器中的坐标信息进行遍历,计算Rect_centery的均值Rect_centery_aver,进行行的划分,设定行相关阈值col,若Rect_centery
步骤5,确定局部面板是否存在暗斑故障,将存在暗斑故障的局部面板的位置、数量以及亮度直方图信息以XML文档形式输出作为网络训练数据;
所述步骤5具体为:
步骤5.1,遍历经步骤3获得的二值图像中每个连通域,计算每个连通域对应在源数据中的每个局部面板的亮度分布直方图,包含平均灰度值Rect_Aver_gray、总灰度值Rect_Sum_gray的计算;
步骤5.2,以Rect_Aver_gray为约束条件划分灰度区域,灰度区域之间间隔灰度值为
10,若局部面板的平均灰度值处于某个灰度区域内,则绘制面板的灰度直方图,进行分区识别暗斑,计算暗斑总灰度值Hotspot_Sum_gray及其所占面板总灰度值Rect_Sum_gray的比重K:其中Hotspot_Sum_gray计算方式如下:当判定局部面板的平均灰度值处于某个灰度区域内,设定一个阈值,该阈值为暗斑灰度值与局部面板平均灰度值之间的距离,若局部面板中存在灰度值大于局部面板的平均灰度值与设定阈值之和,则将其视为暗斑点组成部分,以此遍历局部面板区域,进行灰度值上的累加,以此求得暗斑总灰度值Hotspot_Sum_gray;
步骤5.3,设定阈值,若K值大于该阈值,则判定该局部面板存在暗斑故障,并使用rectangle()函数进行该局部面板区域的矩形框绘制,将该局部面板区域标记出来;
步骤5.4,给经步骤5.3标记的局部面板区域的矩形框添加交互界面;
步骤5.5,采用XML文档的形式将步骤5.3标记的局部面板的编号、数量、亮度直方图信息、最小外接矩形左上角纵坐标Rect_top、最小外接矩形左上角横坐标Rect_left、最小外接矩形右下角横坐标Rect_right、最小外接矩形有右下角纵坐标Rect_bottom、最小外接矩形质心的横坐标Rect_centerx、最小外接矩形质心的纵坐标Rect_centery进行输出,作为Yolo‑v4网络的训练数据;
步骤6,将训练集图片以及XML文档输入暗斑检测Yolo‑v4深度学习网络中进行训练,自动生成权重文件;
步骤7,将测试集数据输入训练好Yolo‑v4网络模型完成对光伏组串、光伏面板、暗斑缺陷三种目标的识别与检测。
2.根据权利要求1所述的基于Yolo‑v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤2具体为:步骤2.1,对步骤1获取的灰度图像采用高斯滤波器进行平滑滤波,去除噪声;
步骤2.2,采用Canny算子计算经过滤波处理后的灰度图像的梯度与方向角;
步骤2.3,进行非极大值抑制:
寻找经滤波处理后的灰度图像边缘像素点局部最大值,将非极值点所对应像素点的灰度值置为0,以剔除非边缘点,使得边缘更加清晰;
若检测点为非边缘点,则看判断像素点是否为梯度方向最大值,若不是最大值则将该像素点对应灰度值置为0,将边缘轮廓进一步加深;
步骤2.4,在步骤2.3的基础上,设定最高阈值和最低阈值,若像素点的梯度值小于最小阈值,则该像素点为非边缘像素点,若大于最高阈值,则该像素点为边缘像素点,历遍所有像素点,实现边缘像素点的提取,从而实现边缘提取。
3.根据权利要求1所述的基于Yolo‑v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤6中的Yolo‑v4网络结构如下:主干网络:CSPDarknet53、颈部:SPP、PANet、头部:Yolo Head;其中,CSPDarknet53用来提取特征,SPP、PANet用来增强特征,Yolo‑v4网络默认输入图像大小为416*416*3,因此进行图像输入前将图像调整为416*416*3大小且给图像加灰条。
4.根据权利要求1所述的基于Yolo‑v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤6的训练过程为:步骤6.1,输入416×416×3的图像,在CSPDarknet53中,首先经过一个卷积核大小为3×3,步长为1,卷积核个数为32的卷积操作,将通道数调整32,输出变为416×416×32的图像,将得到的416×416×32的图像作为输入进行Resblock_body计算得到208*208*64,连续执行5次Resblock_body运算分别得到104*104*128、52*52*256、26*26*512、13*13*1024多个特征层,取3个底部特征层为有效特征层,它们的形状分别为52*52*256、26*26*512、13*
13*1024,对应着把图像平均分为52*52、26*26、13*13的网格;
步骤6.2,使用SPP和PANet进行特征增强,其中SPP在最后一个卷积层形状为13*13*
1024的卷积层后接入了池化层,使用不同大小的池化核进行池化,堆叠池化后的特征,从而使网络对任意尺寸的输入图像产生固定大小的输出;
步骤6.3,使用Yolo Head来进行结果预测,对PANet输出的多组张量进行解码,将多组输出的张量表示为X1×X1×E,X2×X2×E,…,Xi×Xi×E;其中,E=R×(Y+OP+CP) (2)
R表示每个尺度的特征图的每个网格预测的边界框数量;Y表示先验框的调整参数个数;OP表示置信度;CP表示预测的边界框中包含的目标是某一类目标的概率;
步骤6.4,根据步骤6.3进行预测的边界框位置计算,Px、Py为预测边界框的中心横坐标位置、纵坐标位置,Pw、Ph分别为预测边界框的宽和高,lx、ly分别为网格相对于特征图左上角的偏移量,rw、rh分别为当前先验框的宽和高,ax、ay为先验框中心横坐标和纵坐标调整参数,aw、ah为先验框宽高调整参数,预测先验框位置计算方法如下:Px=sigmoid(ax)+lx (3)
Py=sigmoid(ay)+ly (4)
步骤6.5,OP和CP相乘得到置信度分数,选择分值最大的作为这个边界框的预测值,将每个预测的边界框对应不同目标类别的置信度分数排序进行非极大值抑制,得到边界框最终的输出结果,也就是目标的类别信息和位置信息。
5.根据权利要求1所述的基于Yolo‑v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤7具体为:将测试集输入训练好的Yolov4模型中进行检测会产生多个先验框,然后通过置信度分数进行排序筛选,设置一个置信度分数阈值Cs为0.5,将置信度分数大于
0.5的先验框保留下来,小于0.5先验框的抑制掉,然后计算置信度得分最高的先验框即真实框与其它候选区的面积交并比IOU:其中,Rarea表示真实框面积,Parea表示预测框面积,设定一个阈值,删除IOU大于阈值的先验框,不断迭代直至边界框列表为空即可得到结果。