CN113379703A - 基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法 - Google Patents
基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法 Download PDFInfo
- Publication number
- CN113379703A CN113379703A CN202110639488.2A CN202110639488A CN113379703A CN 113379703 A CN113379703 A CN 113379703A CN 202110639488 A CN202110639488 A CN 202110639488A CN 113379703 A CN113379703 A CN 113379703A
- Authority
- CN
- China
- Prior art keywords
- rect
- center
- gray
- value
- yolo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E10/00—Energy generation through renewable energy sources
- Y02E10/50—Photovoltaic [PV] energy
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Yolo‑v4网络结构光伏面板暗斑缺陷检测方法,具体为:对光伏面板的红外图像进行灰度化,获取其灰度图像;对灰度图像进行边缘提取,然后进行二值化,提取连通域并获取连通域的特征,根据获取的特征排除干扰物,获取光伏面板目标区域并进行编号,得到组串区域,并对组串内局部面板进行编号;确定局部面板是否存在暗斑故障,将存在暗斑故障的局部面板的位置、数量以及亮度直方图信息作为网络训练数据输入暗斑检测Yolo‑v4深度学习网络中进行训练,将测试集数据输入训练好Yolo‑v4网络模型完成对光伏组串、光伏面板、暗斑缺陷三种目标的识别与检测。本发明解决了现有技术中存在的检测效率低且准确率低的问题。
Description
技术领域
本发明属于光伏面板缺陷检测方法技术领域,涉及一种基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法。
背景技术
随着世界范围内环境污染以及能源短缺问题的出现,新能源的使用得到了高度重视,以太阳能的使用为例,光伏发电技术在国内外均得到了广泛的应用,其应用形式多种多样,应用场所分布广泛,主要用于大型地面光伏电站、住宅和商用建筑物的屋顶、建筑光伏建筑一体化、光伏路灯等。在这些场所,不可避免的会出现建筑物、树荫、烟囱、灰尘、云朵等对光伏组件造成遮挡,这些遮挡物在光伏组件上就形成了阴影。由于局部阴影的存在,光伏组件中某些电池单片的电流、电压发生了变化,从而在这些组件上产生了局部温升。光伏组件中某些电池单片本身缺陷也可能使组件在工作时局部发热,这种现象叫“热斑效应”。
光伏组件热斑效应造成的危害很大,被遮挡的光伏组件、将会消耗有光照的光伏组件所产生的部分能量或所有能量,降低输出功率,严重的将会永久性破坏太阳能电池组件、甚至烧毁组件,造成巨大损失。因此加强红外热斑的检测对于光伏发电站而言是至关重要的。
目前,大多光伏类企业已经从人工巡检过渡到使用无人机搭载红外相机的方法进行热斑检测,但是这种方法只能将无人机作为拍摄工具,具体的识别排查还需要人工进行,自动化程度不高,需要耗费大量时间人力成本,无法全面检测光伏组件存在的问题。
发明内容
本发明的目的是提供一种基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法,解决了现有技术中存在的检测效率低且准确率低的问题。
本发明所采用的技术方案是,基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法,具体按照如下步骤实施:
步骤1,对光伏面板的红外图像进行灰度化,获取其灰度图像;
步骤2,采用Canny算子对步骤1获取的灰度图像进行边缘提取;
步骤3,对经步骤2提取边缘的图像进行二值化,提取连通域,并获取连通域的特征,根据获取的特征排除干扰物,获取光伏面板目标区域;
步骤4,对步骤3所识别出的光伏面板目标区域进行编号,得到组串区域,并对所有组串内局部面板进行编号;
步骤5,确定局部面板是否存在暗斑故障,将存在暗斑故障的局部面板的位置、数量以及亮度直方图信息以XML文档形式输出作为网络训练数据;
步骤6,将训练集图片以及XML文档输入暗斑检测Yolo-v4深度学习网络中进行训练,自动生成权重文件。
步骤7,将测试集数据输入训练好Yolo-v4网络模型完成对光伏组串、光伏面板、暗斑缺陷三种目标的识别与检测。
本发明的特征还在于,
步骤2具体为:
步骤2.1,对步骤1获取的灰度图像采用高斯滤波器进行平滑滤波,去除噪声;
步骤2.2,采用Canny算子计算经过滤波处理后的灰度图像的梯度与方向角;
步骤2.3,进行非极大值抑制:
寻找经滤波处理后的灰度图像边缘像素点局部最大值,将非极值点所对应像素点的灰度值置为0,以剔除非边缘点,使得边缘更加清晰;
若检测点为非边缘点,则看判断像素点是否为梯度方向最大值,若不是最大值则将该像素点对应灰度值置为0,将边缘轮廓进一步加深;
步骤2.4,在步骤2.3的基础上,设定最高阈值和最低阈值,若像素点的梯度值小于最小阈值,则该像素点为非边缘像素点,若大于最高阈值,则该像素点为边缘像素点,历遍所有像素点,实现边缘像素点的提取,从而实现边缘提取。
步骤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具体为:
步骤4.1,对经步骤3获得的包括光伏面板目标区域的二值图像进行膨胀操作,将所识别的局部面板连接起来,得到组串区域,并获取组串坐标范围;
步骤4.2,遍历步骤4.1得到的组串,获取其左上角坐标(Left,Top),右下角坐标(Right,Bottom),若局部面板质心坐标Rect_centerx、Rect_centery处于某个组串区域范围内,即如果Left<Rect_centerx<Right且top<Re ct_centery<bottom,则将该局部面板坐标信息添加至该组串所属容器中,该组串范围内局部面板的数量加1,具体坐标信息如下:最小外接矩形左上角纵坐标Rect_top、最小外接矩形左上角横坐标Rect_left、最小外接矩形右下角横坐标Rect_right、最小外接矩形有右下角纵坐标Rect_bottom、最小外接矩形质心的横坐标Rect_centerx、最小外接矩形质心的纵坐标Rect_centery;
步骤4.3,对所有组串内局部面板进行编号,具体方式如下,将组串所属容器中的坐标信息进行遍历,计算Rect_centery的均值Rect_centery_aver,进行行的划分,设定行相关阈值col,若Rect_centery<Rect_centery_aver–col,则将其对应坐标存入第一行对应容器中,若Rect_centery>Rect_centery_aver+col,则将其对应坐标存入第三行对应容器中,若Rect_centery_aver–col<=Rect_centery<=Rect_centery_aver+col,则将其对应坐标存入第二行对应容器中;将三行所对应的容器中所存放的Rect_centerx坐标进行降序排序则得到对应列号。
步骤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中的Yolo-v4网络结构如下:主干网络:CSPDarknet53、颈部:SPP、PANet、头部:Yolo Head;其中,CSPDarknet53用来提取特征,SPP、PANet用来增强特征,Yolo-v4网络默认输入图像大小为416*416*3,因此进行图像输入前将图像调整为416*416*3大小且给图像加灰条;
步骤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,O P和C P相乘得到置信度分数,选择分值最大的作为这个边界框的预测值,将每个预测的边界框对应不同目标类别的置信度分数排序进行非极大值抑制,得到边界框最终的输出结果,也就是目标的类别信息和位置信息。
步骤7具体为:将测试集输入训练好的Yolov4模型中进行检测会产生多个先验框,然后通过置信度分数进行排序筛选,设置一个置信度分数阈值Cs为0.5,将置信度分数大于0.5的先验框保留下来,小于0.5先验框的抑制掉,然后计算置信度得分最高的先验框即真实框与其它候选区的面积交并比IOU:
其中,Rarea表示真实框面积,Carea表示其它候选框面积,设定一个阈值,删除IOU大于阈值的先验框,不断迭代直至边界框列表为空即可得到结果。
本发明的有益效果是:
本发明通过采用将传统光伏面板暗斑缺陷特征的检测与修正算法与暗斑检测的Yolo-v4深度学习网络进行结合进而判断红外图像的光伏面板暗斑故障位置和大小的计算方法提高了暗斑检测的准确率,且提高了检测效率,降低了人工成本。
附图说明
图1是本发明基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法的流程图;
图2是本发明基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法通过边缘增强、二值化得到的光伏面板分割图像;
图3是本发明基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法的粗检测结果图像;
图4是本发明中使用的Yolo-v4网络结构图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法,其流程如图1所示,具体按照如下步骤实施:
步骤1,对光伏面板的红外图像进行灰度化,获取其灰度图像;
步骤2,采用Canny算子对步骤1获取的灰度图像进行边缘提取;具体为:
步骤2.1,对步骤1获取的灰度图像采用高斯滤波器进行平滑滤波,去除噪声;
步骤2.2,采用Canny算子计算经过滤波处理后的灰度图像的梯度与方向角;
步骤2.3,进行非极大值抑制:
寻找经滤波处理后的灰度图像边缘像素点局部最大值,将非极值点所对应像素点的灰度值置为0,以剔除非边缘点,使得边缘更加清晰;
若检测点为非边缘点,则看判断像素点是否为梯度方向最大值,若不是最大值则将该像素点对应灰度值置为0,将边缘轮廓进一步加深;
步骤2.4,在步骤2.3的基础上,设定最高阈值和最低阈值,若像素点的梯度值小于最小阈值,则该像素点为非边缘像素点,若大于最高阈值,则该像素点为边缘像素点,历遍所有像素点,实现边缘像素点的提取,从而实现边缘提取。
步骤3,对经步骤2提取边缘的图像进行二值化,提取连通域,并获取连通域的特征,根据获取的特征排除干扰物,获取光伏面板目标区域;具体为:
步骤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以此去除该连通域,剩余连通域则为得到光伏面板目标区域,如图2所示;
步骤4,对步骤3所识别出的光伏面板目标区域进行编号,得到组串区域,并对所有组串内局部面板进行编号;具体为:
步骤4.1,对经步骤3获得的包括光伏面板目标区域的二值图像进行膨胀操作,将所识别的局部面板连接起来,得到组串区域,并获取组串坐标范围;
步骤4.2,遍历步骤4.1得到的组串,获取其左上角坐标(Left,Top),右下角坐标(Right,Bottom),若局部面板质心坐标Rect_centerx、Rect_centery处于某个组串区域范围内,即如果Left<Rect_centerx<Right且top<Re ct_centery<bottom,则将该局部面板坐标信息添加至该组串所属容器中,该组串范围内局部面板的数量加1,具体坐标信息如下:最小外接矩形左上角纵坐标Rect_top、最小外接矩形左上角横坐标Rect_left、最小外接矩形右下角横坐标Rect_right、最小外接矩形有右下角纵坐标Rect_bottom、最小外接矩形质心的横坐标Rect_centerx、最小外接矩形质心的纵坐标Rect_centery;
步骤4.3,对所有组串内局部面板进行编号,具体方式如下,将组串所属容器中的坐标信息进行遍历,计算Rect_centery的均值Rect_centery_aver,进行行的划分,设定行相关阈值col,若Rect_centery<Rect_centery_aver–col,则将其对应坐标存入第一行对应容器中,若Rect_centery>Rect_centery_aver+col,则将其对应坐标存入第三行对应容器中,若
Rect_centery_aver–col<=Rect_centery<=Rect_centery_aver+col,则将其对应坐标存入第二行对应容器中;将三行所对应的容器中所存放的Rect_centerx坐标进行降序排序则得到对应列号;如图3所述,左右两侧的block-1和block-2为两个组串区域,block-1和block-2内的各个框为光伏面板区域,我们要做的是将组串识别出来,将光伏面板识别出来,将有故障的光伏面板识别出来,即黑点标记的面板,可以看出,光伏面板是在组串内包含的,所以遍历光伏面板确定面板属于哪个组串。
步骤5,确定局部面板是否存在暗斑故障,将存在暗斑故障的局部面板的位置、数量以及亮度直方图信息以XML文档形式输出作为网络训练数据;具体为:
步骤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深度学习网络中进行训练,自动生成权重文件,其中,Yolo-v4网络结构如下:如图4所示,主干网络:CSPDarknet53、颈部:SPP、PANet、头部:Yolo Head;其中,CSPDarknet53用来提取特征,SPP、PANet用来增强特征,Yolo-v4网络默认输入图像大小为416*416*3,因此进行图像输入前将图像调整为416*416*3大小且给图像加灰条,具体训练过程如下:
步骤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的卷积层后接入了池化层,使用不同大小的池化核进行池化,堆叠池化后的特征,从而使网络对任意尺寸的输入图像产生固定大小的输出;PANet采用自下向上路径增强的方法,将底层的特征通过卷积和下采样操作后,与上一层进行堆叠,缩短了低层次与上层特征之间的路径信息,从而得到了更加丰富的语义信息和准确的目标位置;
步骤6.3,使用Yolo Head来进行结果预测,对PANet输出的多组张量进行解码,将多组输出的张量表示为X1×X1×E,X2×X2×E,…,Xi×Xi×E;其中,
E=R×(Y+OP+CP) (2)
R表示每个尺度的特征图的每个网格预测的边界框数量;Y表示先验框的调整参数个数;OP表示置信度;CP表示预测的边界框中包含的目标是某一类目标的概率;本实施例中输出张量大小为13×13×18、26×26×18和52×52×18,其中E=18=3*(4+1+1),R=3表示网络为每个尺度的特征图的每个网格预测3个边界框,Y=4表示先验框的调整参数个数为4,分别为ax、ay、aw、ah,其中ax、ay为先验框中心调整参数,aw、ah为先验框宽高调整参数,CP=1表示预测种类为1类;
步骤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,O P和C P相乘得到置信度分数,选择分值最大的作为这个边界框的预测值,将每个预测的边界框对应不同目标类别的置信度分数排序进行非极大值抑制,得到边界框最终的输出结果,也就是目标的类别信息和位置信息,由于本实施例中只有一种类别,所以一个边界框包含6个输出值(op,px,py,pw,ph,cp)。
步骤7,将测试集数据输入训练好Yolo-v4网络模型完成对光伏组串、光伏面板、暗斑缺陷三种目标的识别与检测,具体为:将测试集输入训练好的Yolov4模型中进行检测会产生多个先验框,然后通过置信度分数进行排序筛选,设置一个置信度分数阈值Cs为0.5,将置信度分数大于0.5的先验框保留下来,小于0.5先验框的抑制掉,然后计算置信度得分最高的先验框即真实框与其它候选区的面积交并比IOU:
其中,Rarea表示真实框面积,Carea表示其它候选框面积,设定一个阈值,删除IOU大于阈值的先验框,不断迭代直至边界框列表为空即可得到结果。
Claims (8)
1.基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,具体按照如下步骤实施:
步骤1,对光伏面板的红外图像进行灰度化,获取其灰度图像;
步骤2,采用Canny算子对步骤1获取的灰度图像进行边缘提取;
步骤3,对经步骤2提取边缘的图像进行二值化,提取连通域,并获取连通域的特征,根据获取的特征排除干扰物,获取光伏面板目标区域;
步骤4,对步骤3所识别出的光伏面板目标区域进行编号,得到组串区域,并对所有组串内局部面板进行编号;
步骤5,确定局部面板是否存在暗斑故障,将存在暗斑故障的局部面板的位置、数量以及亮度直方图信息以XML文档形式输出作为网络训练数据;
步骤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网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤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.根据权利要求1所述的基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤4具体为:
步骤4.1,对经步骤3获得的包括光伏面板目标区域的二值图像进行膨胀操作,将所识别的局部面板连接起来,得到组串区域,并获取组串坐标范围;
步骤4.2,遍历步骤4.1得到的组串,获取其左上角坐标(Left,Top),右下角坐标(Right,Bottom),若局部面板质心坐标Rect_centerx、Rect_centery处于某个组串区域范围内,即如果Left<Rect_centerx<Right且top<Rect_centery<bottom,则将该局部面板坐标信息添加至该组串所属容器中,该组串范围内局部面板的数量加1,具体坐标信息如下:最小外接矩形左上角纵坐标Rect_top、最小外接矩形左上角横坐标Rect_left、最小外接矩形右下角横坐标Rect_right、最小外接矩形有右下角纵坐标Rect_bottom、最小外接矩形质心的横坐标Rect_centerx、最小外接矩形质心的纵坐标Rect_centery;
步骤4.3,对所有组串内局部面板进行编号,具体方式如下,将组串所属容器中的坐标信息进行遍历,计算Rect_centery的均值Rect_centery_aver,进行行的划分,设定行相关阈值col,若Rect_centery<Rect_centery_aver–col,则将其对应坐标存入第一行对应容器中,若Rect_centery>Rect_centery_aver+col,则将其对应坐标存入第三行对应容器中,若Rect_centery_aver–col<=Rect_centery<=Rect_centery_aver+col,则将其对应坐标存入第二行对应容器中;将三行所对应的容器中所存放的Rect_centerx坐标进行降序排序则得到对应列号。
5.根据权利要求1所述的基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤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.根据权利要求5所述的基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法,其特征在于,所述步骤6中的Yolo-v4网络结构如下:主干网络:CSPDarknet53、颈部:SPP、PANet、头部:Yolo Head;其中,CSPDarknet53用来提取特征,SPP、PANet用来增强特征,Yolo-v4网络默认输入图像大小为416*416*3,因此进行图像输入前将图像调整为416*416*3大小且给图像加灰条。
7.根据权利要求5所述的基于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相乘得到置信度分数,选择分值最大的作为这个边界框的预测值,将每个预测的边界框对应不同目标类别的置信度分数排序进行非极大值抑制,得到边界框最终的输出结果,也就是目标的类别信息和位置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639488.2A CN113379703B (zh) | 2021-06-08 | 2021-06-08 | 基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639488.2A CN113379703B (zh) | 2021-06-08 | 2021-06-08 | 基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113379703A true CN113379703A (zh) | 2021-09-10 |
CN113379703B CN113379703B (zh) | 2023-05-02 |
Family
ID=77572956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110639488.2A Active CN113379703B (zh) | 2021-06-08 | 2021-06-08 | 基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113379703B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113781448A (zh) * | 2021-09-14 | 2021-12-10 | 国电四子王旗光伏发电有限公司 | 一种基于红外图像分析的光伏电站组件智能缺陷识别方法 |
CN114529715A (zh) * | 2022-04-22 | 2022-05-24 | 中科南京智能技术研究院 | 一种基于边缘提取的图像识别方法及系统 |
CN114998664A (zh) * | 2022-07-18 | 2022-09-02 | 中国科学院烟台海岸带研究所 | 一种多光学平台的海水中微塑料快速检测方法及检测装置 |
CN115049645A (zh) * | 2022-08-12 | 2022-09-13 | 瀚能太阳能(山东)集团有限公司 | 一种太阳能电池板表面缺陷检测方法 |
CN115841485A (zh) * | 2023-02-13 | 2023-03-24 | 成都数联云算科技有限公司 | 一种面板缺陷检测方法、装置、设备及介质 |
CN115861722A (zh) * | 2023-03-02 | 2023-03-28 | 江西服装学院 | 一种面料砂洗工艺异常检测方法及系统 |
CN116363130A (zh) * | 2023-05-31 | 2023-06-30 | 天津图智科技有限公司 | 光伏面板污斑检测方法、装置、电子设备及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130221753A1 (en) * | 2010-06-25 | 2013-08-29 | David Perreault | Power processing methods and apparatus for photovoltaic systems |
CN109002048A (zh) * | 2018-06-12 | 2018-12-14 | 浙江大学 | 一种基于多旋翼无人机的规模化集中式光伏电站图像数据采集方法 |
CN110517224A (zh) * | 2019-07-12 | 2019-11-29 | 上海大学 | 一种基于深度神经网络的光伏板缺陷检测方法 |
CN112184711A (zh) * | 2020-11-05 | 2021-01-05 | 杭州青枭科技有限公司 | 一种光伏组件缺陷检测和定位方法及系统 |
-
2021
- 2021-06-08 CN CN202110639488.2A patent/CN113379703B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130221753A1 (en) * | 2010-06-25 | 2013-08-29 | David Perreault | Power processing methods and apparatus for photovoltaic systems |
CN109002048A (zh) * | 2018-06-12 | 2018-12-14 | 浙江大学 | 一种基于多旋翼无人机的规模化集中式光伏电站图像数据采集方法 |
CN110517224A (zh) * | 2019-07-12 | 2019-11-29 | 上海大学 | 一种基于深度神经网络的光伏板缺陷检测方法 |
CN112184711A (zh) * | 2020-11-05 | 2021-01-05 | 杭州青枭科技有限公司 | 一种光伏组件缺陷检测和定位方法及系统 |
Non-Patent Citations (3)
Title |
---|
ALEJANDRO RICO ESPINOSA ET AL: "Failure signature classification in solar photovoltaic plants using RGB images and convolutional neural networks", 《RENEWABLE ENERGY》 * |
席志鹏等: "集中式光伏电站巡检无人机视觉定位与导航", 《浙江大学学报》 * |
毛峡等: "光伏热斑图像有效区域分割算法研究", 《太阳能学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113781448A (zh) * | 2021-09-14 | 2021-12-10 | 国电四子王旗光伏发电有限公司 | 一种基于红外图像分析的光伏电站组件智能缺陷识别方法 |
CN113781448B (zh) * | 2021-09-14 | 2024-01-23 | 国电四子王旗光伏发电有限公司 | 一种基于红外图像分析的光伏电站组件智能缺陷识别方法 |
CN114529715A (zh) * | 2022-04-22 | 2022-05-24 | 中科南京智能技术研究院 | 一种基于边缘提取的图像识别方法及系统 |
CN114529715B (zh) * | 2022-04-22 | 2022-07-19 | 中科南京智能技术研究院 | 一种基于边缘提取的图像识别方法及系统 |
CN114998664A (zh) * | 2022-07-18 | 2022-09-02 | 中国科学院烟台海岸带研究所 | 一种多光学平台的海水中微塑料快速检测方法及检测装置 |
CN115049645A (zh) * | 2022-08-12 | 2022-09-13 | 瀚能太阳能(山东)集团有限公司 | 一种太阳能电池板表面缺陷检测方法 |
CN115049645B (zh) * | 2022-08-12 | 2022-11-04 | 瀚能太阳能(山东)集团有限公司 | 一种太阳能电池板表面缺陷检测方法 |
CN115841485A (zh) * | 2023-02-13 | 2023-03-24 | 成都数联云算科技有限公司 | 一种面板缺陷检测方法、装置、设备及介质 |
CN115861722A (zh) * | 2023-03-02 | 2023-03-28 | 江西服装学院 | 一种面料砂洗工艺异常检测方法及系统 |
CN115861722B (zh) * | 2023-03-02 | 2023-07-25 | 江西服装学院 | 一种面料砂洗工艺异常检测方法及系统 |
CN116363130A (zh) * | 2023-05-31 | 2023-06-30 | 天津图智科技有限公司 | 光伏面板污斑检测方法、装置、电子设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113379703B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113379703A (zh) | 基于Yolo-v4网络结构光伏面板暗斑缺陷检测方法 | |
CN108961235B (zh) | 一种基于YOLOv3网络和粒子滤波算法的缺陷绝缘子识别方法 | |
CN110175982B (zh) | 一种基于目标检测的缺陷检测方法 | |
CN111640125B (zh) | 基于Mask R-CNN的航拍图建筑物检测和分割方法及装置 | |
CN111179217A (zh) | 一种基于注意力机制的遥感图像多尺度目标检测方法 | |
CN106407883A (zh) | 一种复杂表格及其内部手写数字识别方法 | |
CN111798412A (zh) | 一种基于红外图像的变电设备缺陷智能诊断方法及系统 | |
CN112508857B (zh) | 基于改进型Cascade R-CNN的铝材表面缺陷检测方法 | |
CN111914720B (zh) | 一种输电线路绝缘子爆裂识别方法及装置 | |
CN111597941B (zh) | 一种面向大坝缺陷图像的目标检测方法 | |
CN111080691A (zh) | 一种光伏组件红外热斑检测方法、装置 | |
CN114612406A (zh) | 一种基于可见光和红外视觉的光伏板缺陷检测方法 | |
CN112560675A (zh) | Yolo与旋转-融合策略相结合的鸟类视觉目标检测方法 | |
CN113505726A (zh) | 一种地图中的光伏组串识别与定位方法 | |
CN113327255A (zh) | 基于YOLOv3检测定位裁剪及fine-tune的输电线路巡检图像处理方法 | |
CN116485709A (zh) | 一种基于YOLOv5改进算法的桥梁混凝土裂缝检测方法 | |
CN111353396A (zh) | 一种基于SCSEOCUnet的混凝土裂缝分割方法 | |
CN111915628B (zh) | 一种基于预测目标密集边界点的单阶段实例分割方法 | |
CN113962929A (zh) | 光伏电池组件缺陷检测方法、系统及光伏电池组件生产线 | |
CN111091533B (zh) | 一种基于改进ssd算法的电池片el缺陷检测方法 | |
CN113538453A (zh) | 基于语义分割的红外图像光伏组件视觉识别方法 | |
CN114066861B (zh) | 一种基于交叉算法边缘检测理论和视觉特征的煤矸识别方法 | |
CN110889418A (zh) | 一种气体轮廓识别方法 | |
CN115330768A (zh) | 一种太阳能电池板质量分级方法 | |
CN112288372B (zh) | 一种可同时识别一维条码和三段码字符的快递单识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |