CN114581362A - 光伏组件缺陷检测方法、装置、电子设备和可读存储介质 - Google Patents
光伏组件缺陷检测方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN114581362A CN114581362A CN202110831986.7A CN202110831986A CN114581362A CN 114581362 A CN114581362 A CN 114581362A CN 202110831986 A CN202110831986 A CN 202110831986A CN 114581362 A CN114581362 A CN 114581362A
- Authority
- CN
- China
- Prior art keywords
- detection model
- defect
- loss
- value
- sample
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 388
- 230000007547 defect Effects 0.000 title claims abstract description 316
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000011156 evaluation Methods 0.000 claims description 159
- 230000002159 abnormal effect Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 23
- 230000001902 propagating effect Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005856 abnormality Effects 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 5
- 230000000644 propagated effect Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 238000005520 cutting process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/11—Region-based segmentation
-
- 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]
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Quality & Reliability (AREA)
- Photovoltaic Devices (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
本发明实施例提供一种光伏组件缺陷检测方法、装置、电子设备和可读存储介质,涉及检测技术领域。本发明实施例通过构建具有用于对缺陷进行分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层的检测模型,进而在获取待检测的光伏组件的检测图片后,通过检测模型对所述检测图片进行检测处理,可直接得到待检测的光伏组件的缺陷分类结果以及待检测的光伏组件的缺陷值,高效、精确度高。
Description
技术领域
本发明涉及检测技术领域,具体而言,涉及一种光伏组件缺陷检测方法、装置、电子设备和可读存储介质。
背景技术
传统的燃料能源正在一天天减少,对环境造成的危害日益突出,同时全球还有20亿人得不到正常的能源供应。这个时候,全世界都把目光投向了可再生能源,希望可再生能源能够改变人类的能源结构,维持长远的可持续发展。这之中太阳能以其独有的优势而成为人们重视的焦点。丰富的太阳辐射能是重要的能源,是取之不尽、用之不竭的、无污染、廉价、人类能够自由利用的能源。
光伏组件是一种将太阳辐射能通过光电效应或者光化学效应直接或间接转化成电能的装置。目前,光伏组件中的物理尺寸缺陷(串间距,片间距,错位)是非常小的,只有0.9~3mm。如果让人工去标注出这个尺寸是非常难的,同时也很难分辨出这个尺寸是否是存在问题的。
发明内容
基于上述研究,本发明提供一种光伏组件缺陷检测方法、装置、电子设备和可读存储介质,在对光伏组件的缺陷进行分类的时候,同时预测出缺陷值,高效,精确度高。
本发明的实施例可以通过以下实现:
第一方面,本发明实施例提供一种光伏组件缺陷检测方法,所述方法包括:
获取待检测的光伏组件的检测图片;
通过检测模型对所述检测图片进行检测处理,得到所述待检测的光伏组件的缺陷分类以及所述待检测的光伏组件的缺陷值;其中,所述检测模型包括用于对缺陷进行预测分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层。
在可选的实施方式中,在将所述检测图片输入到预先训练得到检测模型中之前,所述方法还包括:
对样本光伏组件的样本图片的缺陷类别以及缺陷真实值进行标注;
将标注后的样本图片输入到原始检测模型中,通过原始检测模型的第一全连接层得到所述样本图片的缺陷的预测类别,以及通过原始检测模型的第二全连接层得到所述样本图片的缺陷预测值;
根据预设的第一损失函数,计算所述缺陷类别与预测类别的第一损失,以及根据预设的第二损失函数,计算所述缺陷真实值与所述缺陷预测值的第二损失;
计算第一损失和第二损失的和值;
判断所述和值是否满足预设条件,若未满足,将所述第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,得到检测模型。
在可选的实施方式中,所述判断所述和值是否满足预设条件,若未满足,将所述第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,得到检测模型的步骤包括:
判断所述和值是否满足预设条件;
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的第一损失和第二损失的和值;
若未满足,将所述第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的第一损失和第二损失的和值;
在计算得到的第一损失和第二损失的和值满足所述预设条件的次数达到设定阈值时,得到多个初始检测模型;
计算每个所述初始检测模型对应的评判指标;
将最高的评判指标对应的初始检测模型作为检测模型。
在可选的实施方式中,所述计算每个所述初始检测模型对应的评判指标的步骤包括:
计算每个初始检测模型的分类评价指标以及缺陷评价指标;
根据所述分类评价指标以及所述缺陷评价指标,得到每个所述初始检测模型对应的评判指标。
在可选的实施方式中,所述计算每个初始检测模型的分类评价指标的步骤包括:
计算每个所述初始检测模型的准确率、精确率以及召回率;
根据每个所述初始检测模型的精确率以及召回率,计算得到每个所述初始检测模型的调和平均数;
根据每个所述初始检测模型的准确率以及调和平均数,得到每个所述初始检测模型的分类评价指标。
在可选的实施方式中,所述计算每个初始检测模型的缺陷评价指标的步骤包括:
针对每个初始检测模型,计算该初始检测模型输出的样本图片的缺陷预测值的均绝对误差;
判断所述均绝对误差是否大于预设的最大误差;
若小于,则根据所述均绝对误差以及所述最大误差,得到该初始检测模型的缺陷评价指标;
若大于等于,则将预设值设定为该初始检测模型的缺陷评价指标。
在可选的实施方式中,所述针对每个初始检测模型,计算该初始检测模型输出的样本图片的缺陷预测值的均绝对误差的步骤包括:
通过以下公式计算该初始检测模型输出的样本图片的缺陷预测值的均绝对误差:
其中,xi为第i个的样本图片,yi为第i个样本图片的缺陷真实值,f(xi)为第i个样本图片的缺陷预测值,n为样本图片的个数,L1_loss为均绝对误差。
在可选的实施方式中,所述根据均绝对误差以及所述最大误差,得到该初始检测模型的缺陷评价指标的步骤包括:
根据均绝对误差以及所述最大误差,通过以下公式得到该初始检测模型的缺陷评价指标:
其中,Widthloss_acc为缺陷评价指标,a为最大误差,L1_loss为均绝对误差。
在可选的实施方式中,所述对样本光伏组件的样本图片的缺陷类别以及缺陷真实值进行标注的步骤包括:
对所述样本图片进行灰度化以及直方图处理,得到所述样本图片的边缘线直方图;
根据所述样本图片的边缘线直方图,得到所述样本图片中依次排列的所有电池片的总宽度以及总高度;
根据所述总宽度、所述总高度以及所述电池片的个数,得到各所述电池片的关键点的位置信息;
根据各所述电池片的关键点的位置信息,计算各所述电池片之间的缺陷值;
根据各所述电池片之间的缺陷值对所述样本图片进行标注,并判断各所述电池片之间的缺陷值是否存在异常;
若存在异常,将所述样本图片的缺陷类别标注为异常,若未存在异常,将所述样本图片的缺陷类别标注为正常。
在可选的实施方式中,在将所述检测图片输入到预先训练得到检测模型中之前,所述方法还包括:
获取样本光伏组件不同类型的样本图片以及不同类型的样本图片的标签值;
针对每个类型的样本图片,将该类型的样本图片输入到原始检测模型中,通过原始检测模型中与该类型对应的检测分支得到该类型的样本图片的预测值;
针对每个类型的样本图片,计算该类型的样本图片的预测值与标签值的损失;
计算各个类型的样本图片的损失的和值;
判断所述和值是否满足预设条件,若不满足,将所述各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,直至所述和值满足预设条件,得到检测模型。
在可选的实施方式中,所述判断所述和值是否满足预设条件,若不满足,将所述各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,直至所述和值满足预设条件,得到检测模型的步骤包括:
判断所述和值是否满足所述预设条件;
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值;
若未满足,将所述各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值;
在计算得到的各个类型的样本图片的损失的和值满足所述预设条件的次数达到设定阈值时,得到多个初始检测模型;
计算每个所述初始检测模型对应的评判指标;
将最高的评判指标对应的初始检测模型作为检测模型。
在可选的实施方式中,所述计算每个所述初始检测模型对应的评判指标的步骤包括:
针对每个所述初始检测模型,计算该初始检测模型检测各个类型的样本图片的评价指标;
根据所述检测各个类型的样本图片的评价指标,得到该初始检测模型对应的评判指标。
第二方面,本发明实施例提供一种光伏组件缺陷检测装置,包括:
图片获取模块,用于获取待检测的光伏组件的检测图片;
缺陷检测模块,用于通过检测模型对所述检测图片进行检测处理,得到所述待检测的光伏组件的缺陷分类以及所述待检测的光伏组件的缺陷值;其中,所述检测模型包括用于对缺陷进行预测分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任一实施方式所述的光伏组件缺陷检测方法。
第四方面,本发明实施例提供一种可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述存储介质所在电子设备执行前述任一实施方式所述的光伏组件缺陷检测方法。
本发明实施例所提供的光伏组件缺陷检测方法、装置、电子设备和可读存储介质,通过构建具有用于对缺陷进行预测分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层的检测模型,进而在获取待检测的光伏组件的检测图片后,通过检测模型对检测图片进行检测处理,可直接得到待检测的光伏组件的缺陷分类结果以及待检测的光伏组件的缺陷值,高效、精确度高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的电子设备的一种结构示意图。
图2为本发明实施例所提供的光伏组件缺陷检测方法的一种流程示意图。
图3为现有技术中的一种网络结构示意图。
图4为本发明实施例所提供的检测模型的一种网络结构示意图。
图5为本发明实施例所提供的光伏组件的一种示意图。
图6为本发明实施例所提供的一种边缘线直方图。
图7为本发明实施例所提供的另一种边缘线直方图。
图8为本发明实施例所提供的光伏组件的一种分割线示意图。
图9为本发明实施例所提供的光伏组件的部分结构示意图。
图10为本发明实施例所提供的样本图片的命名规则示意图。
图11为本发明实施例所提供的一种数据增强示意图。
图12为本发明实施例所提供的缺陷评价指标的一种函数示意图。
图13为本发明实施例所提供的检测模型的一种效果示意图。
图14为本发明实施例所提供的检测模型的又一种结构示意图。
图15为本发明实施例所提供的光伏组件缺陷检测装置的一种方框示意图。
图标:100-电子设备;10-光伏组件检测装置;11-图片获取模块;12-缺陷检测模块;13-模型训练模块;14-模型评价模块;20-存储器;30-处理器;40-通信单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
如背景技术所述,光伏组件中的物理尺寸缺陷(串间距,片间距,错位)是非常小的,只有0.9~3mm。如果让人工去标注出这个尺寸是非常难的,同时也很难分辨出这个尺寸是否是存在问题的。目前,可以用OpenCV可以计算出物理尺寸,且和实际人工用游标卡尺测量的误差只有0~0.5mm。但现实产线中光伏组件的产品序列众多导致图片多样,重叠的图片也多样,opencv推理出的结果很难精准的判断出物理尺寸是否存在问题。而神经网络分类模型却可以精准判断,神经网络需要的分类数据集也可以靠人工轻松收集,但是神经网络分类模型却无法计算出物理尺寸的具体大小。
基于上述研究,本实施例提供一种光伏组件缺陷检测方法、装置、电子设备和可读存储介质,通过构建具有用于对缺陷进行分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层的检测模型,进而在获取待检测的光伏组件的检测图片后,将检测图片输入到检测模型中,可直接得到待检测的光伏组件的缺陷分类结果以及待检测的光伏组件的缺陷值,高效、精确度高。
请参阅图1,图1为本实施例所提供的电子设备100的一种结构框图。如图1所示,电子设备可以包括光伏组件缺陷检测装置10、存储器20、处理器30及通信单元40,存储器20存储有处理器30可执行的机器可读指令,当电子设备100运行时,处理器30及存储器20之间通过总线通信,处理器30执行机器可读指令,并执行光伏组件缺陷检测方法。
存储器20、处理器30以及通信单元40各元件相互之间直接或间接地电性连接,以实现信号的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。光伏组件缺陷检测装置10包括至少一个可以软件或固件(firmware)的形式存储于存储器20中的软件功能模块。处理器30用于执行存储器20中存储的可执行模块(例如光伏组件缺陷检测装置10所包括的软件功能模块或计算机程序)。
其中,存储器20可以是,但不限于,随机读取存储器(Random Access memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
在一些实施例中,处理器30用以执行本实施例中描述的一个或多个功能。在一些实施例中,处理器30可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器30可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、专用指令集处理器(Application Specific Instruction-setProcessor,ASIP)、图形处理单元(GraphicsProcessing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field Programmable GateArray,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(ReducedInstruction Set Computing,RISC)或微处理器等,或其任意组合。
为了便于说明,在电子设备100中仅描述了一个处理器。然而,应当注意,本实施例中的电子设备100还可以包括多个处理器,因此本实施例中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若服务器的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,处理器执行步骤A,第二处理器执行步骤B,或者处理器和第二处理器共同执行步骤A和B。
本实施例中,存储器20用于存储程序,处理器30用于在接收到执行指令后,执行程序。本实施例任一实施方式所揭示的流程定义的方法可以应用于处理器30中,或者由处理器30实现。
通信单元40用于通过网络建立电子设备100与其他设备之间的通信连接,并用于通过网络收发数据。
在一些实施方式中,网络可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。
在本实施例中,电子设备100可以是但不限于笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等电子设备上,本实施例对电子设备的具体类型不作任何限制。在一种实施方式中,电子设备还可以是物理服务器,或者多台物理服务器组成的服务集群。本实施例对电子设备的具体类型不作任何限制。
可以理解地,图1所示的结构仅为示意。电子设备100还可以具有比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其组合实现。
基于图1的实现架构,本实施例提供一种光伏组件缺陷检测方法,由图1所示的电子设备执行,下面基于图1示出的电子设备100的结构图对本实施例提供的光伏组件缺陷检测方法的步骤进行详细阐述。请结合参阅图2,本实施例所提供的光伏组件缺陷检测方法包括步骤S101至步骤S102。
步骤S101:获取待检测的光伏组件的检测图片。
其中,光伏组件是由规则的多行多列的电池片组成,可以对光伏组件进行拍摄,得到光伏组件的检测图片。
步骤S102:通过检测模型对检测图片进行检测处理,得到待检测的光伏组件的缺陷分类以及待检测的光伏组件的缺陷值。
其中,光伏组件的缺陷指的是光伏组件中的物理尺寸缺陷,主要包括串间距、片间距以及错位等缺陷。当光伏组件的缺陷较大时,则会影响光伏组件的性能,因此,需要对光伏组件的缺陷进行检测,以避免对光伏组件的性能造成不良影响。
在本实施例中,检测模型包括用于对缺陷进行预测分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层。在得到检测图片后,将检测图片输入到检测模型中,通过检测模型的第一全连接层对光伏组件的缺陷进行分类,判断光伏组件的缺陷是否存在异常,如果存在异常,则将该光伏组件的缺陷归类为异常缺陷,如果未存在问题,则将该光伏组件的缺陷归类为正常缺陷。同时,检测模型的第二全连接层还会对光伏组件的缺陷值进行预测,得到光伏组件的缺陷值,如此,实现了在对光伏组件的缺陷进行分类的同时,对光伏组件的缺陷值进行预测。
本实施例所提供的光伏组件缺陷检测方法,通过构建具有用于对缺陷进行分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层的检测模型,进而在获取待检测的光伏组件的检测图片后,将检测图片输入到检测模型中,可直接得到待检测的光伏组件的缺陷分类结果以及待检测的光伏组件的缺陷值,高效、精确度高。
可选的,在本实施例中,可基于残差网络(ResNet)构建检测模型。如图3所示,图3为现有技术中Resnet18的一种网络结构,包括输入层、卷积层、中间层以及一个全连接层,其中,输入层可输入3通道的彩色图片或者单通道的灰度图;卷积层的卷积核大小为7*7;中间层包含卷积结构以及残差结构;全连接层为Fc512*1000,最后一个特征层通过扁平化后变为1*512的矩阵,通过全连接层512*1000,最后得到1*1000的输出,1000为输入数据集的1000分类。
由于resnet18原本的输出是一个分类器,没有回归计算,无法得到光伏组件的缺陷值,基于此,本实施例提供一种新的网络结构,将网络的输出改为两个全连接层,即第一全连接层和第二全连接层。如图4所示,包括输入层、卷积层、中间层、第一全连接层以及第二全连接层,其中,输入层的输入为128*512*3的彩色图像,即输入的图像高为128像素,宽为512像素,且为3通道RGB;卷积层的卷积核大小为3*3;中间层与Resnet18的中间层一致,包含卷积结构以及残差结构;第一全连接层为512*2,第二全连接层为512*1。第一全连接层用于对光伏组件的缺陷进行分类,第二全连接层用于对光伏组件的缺陷值进行预测。
在可选的实施方式中,本实施例还可以将中间层替换为resnet50以及resnet101的中间层,具体可根据实际需求而设定。
可选的,本实施例所提供的检测模型可通过以下步骤训练得到:
(1)对样本光伏组件的样本图片的缺陷类别以及缺陷真实值进行标注。
(2)将标注后的样本图片输入到原始检测模型中,通过原始检测模型的第一全连接层得到样本图片的缺陷的预测类别,以及通过原始检测模型的第二全连接层得到所述样本图片的缺陷预测值。
(3)根据预设的第一损失函数,计算缺陷类别与预测类别的第一损失,以及根据预设的第二损失函数,计算缺陷真实值与缺陷预测值的第二损失。
(4)计算第一损失和第二损失的和值,判断和值是否满足预设条件,若未满足,将第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,得到检测模型。
其中,样本光伏组件的样本图片可以是串间距样本图片、片间距样本图片或者是错位样本图片。
在本实施例中,可以通过对样本光伏组件进行拍摄,得到样本光伏组件的样本图片,然后对样本图片中的缺陷进行测量计算,得到样本图片的缺陷值,然后根据缺陷值,判断样本光伏组件的缺陷是否存在异常。若存在异常,则将样本图片的缺陷类别标注为异常,同时将缺陷值作为样本图片的缺陷真实值进行标注,若未存在异常,则将样本图片的缺陷类别标注为正常,同时将缺陷值作为样本图片的缺陷真实值进行标注。
为了提高样本图片的缺陷值测量的精确性以及高效性,可选的,在本实施例,可通过OpenCV方法对样本图片的缺陷值进行测量并进行标注。因此,在本实施例中,对样本光伏组件的样本图片的缺陷类别以及缺陷真实值进行标注的步骤可以包括:
对样本图片进行灰度化以及直方图处理,得到样本图片的边缘线直方图。
根据样本图片的边缘线直方图,得到样本图片中依次排列的所有电池片的总宽度以及总高度。
根据总宽度、总高度以及电池片的个数,得到各电池片的关键点的位置信息。
根据各电池片的关键点的位置信息,计算各电池片之间的缺陷值。
根据各电池片之间的缺陷值对样本图片进行标注,并判断各电池片之间的缺陷值是否存在异常。
若存在异常,将样本图片的缺陷类别标注为异常,若未存在异常,将样本图片的缺陷类别标注为正常。
其中,在得到光伏组件的样本图片后,将样本图片进行灰度化处理,得到样本图片的灰度图grayImg,然后按预设比例对灰度图进行切分,得到纵向切割图pc2Xw_qlist以及横向切割图tr1Yh_qlist。
如图5所示,由于光伏组件的样本图片是由多个电池片依次排列组成的,假设电池片行个数为cellRowNum,电池片列个数为cellColNum,则可以按照1/cellColNum的比例进行纵向切分,得到纵向切割图pc2Xw_qlist,按照1/cellRowNum的比例进行横向切分,得到横向切割图tr1Yh_qlist。
在得到纵向切割图pc2Xw_qlist以及横向切割图tr1Yh_qlist后,对纵向切割图pc2Xw_qlist和横向切割图tr1Yh_qlist进行二值化处理,将小于100的像素值设置为0。
之后将二值化处理后的纵向切割图pc2Xw_qlist,按照像素横向累加和得到矩阵colHistogram,将二值化处理后的横向切割图tr1Yh_qlist,按照像素纵向累加和得到矩阵rowHistogram,根据矩阵colHistogram绘制如图6所示的边缘线直方图colHistogram,根据矩阵rowHistogram绘制如图7所示的边缘线直方图rowHistogram。
在得到边缘线直方图colHistogram以及边缘线直方图rowHistogram后,即可根据边缘线直方图colHistogram以及边缘线直方图rowHistogram,计算得到所有电池片的总宽度以及总高度。
可选地,在计算所有电池片的总宽度时,可将边缘线直方图colHistogram按nInteral个像素为一组进行分组,然后将分组得到的每个组等差相减,得到一个一维数组X1n。
其中,nInteral为自定义设置的值,可以根据实际需求设置,可选的,nInteral取20,i、n为变量。
X1n中的每个值为每个组等差相减得到的值,在得到一维数组后,即可根据X1n即可计算样本图片的左边缘线和右边缘线。
可选的,可通过以下公式计算得到左边缘线leftEdge:
leftEdge=maxX1n
n1=(nInteral,nInteral+1,nInteral+2,...cols_minInterval–nInteral)
其中,cols_minInterval为列最小分割值,可以理解为电池片宽度取整,cols_minInterval=grayImgWidth/cellColNum,grayImgWidth为灰度图宽度。
左边缘线leftEdge为将n1的每个取值带入前述X1n公式中的n,得到的一维数组中的最大值。
可选的,可通过以下公式计算得到右边缘线rightEdge:
rightEdge=maxX1n
startn=grayImgWidth-cols_minInterval+nInteral
endn=grayImgWidth-nInteral
n2=(startn,startn+1,startn+2,...endn)
其中,Startn为n2的第一个取值,取值应从右边开始取值,灰度图宽度减一个电池片宽度加上前述中的nInteral;Endn为n2的最后一个取值,灰度图宽度减前述中的nInteral为的是在计算过程中不超过灰度图宽度。
右边缘线rightEdge为将n2的每个取值带入前述X1n公式中的n,得到的一维数组中的最大值。
在得到样本图片的左边缘线和右边缘线后,即根据样本图片的左边缘线和右边缘线,得到所有电池片的总宽度;其中,所有电池片的总宽度包括各个电池片的宽度以及各个电池片之间的间距。
总宽度cellallwidth=rightEdge-leftEdge。
相应地,在计算所有电池片的总高度时,可先将边缘线直方图rowHistogram按nInteral个像素为一组进行分组,然后将分组得到每个组等差相减,得到一个一维数组X2n。
其中,nInteral为自定义设置的值,可以根据实际需求设置,可选的,nInteral取20。
X2n中的每个值为每个组等差相减得到的值,在得到一维数据X2n后,根据X2n即可计算样本图片的上边缘线和下边缘线。
可选的,可通过以下公式计算得到上边缘线:
topEdeg=maxX2n
n3=(nInteral,nInteral+1,nInteral+2…rows_minInterval-nInteral)
其中,rows_minInterval为行最小分割值,可以理解为电池片高度取整,rows_minInterval=grayImgHeight/cellRowNum,grayImgHeight为灰度图高度。
上边缘线topEdeg为将n3的每个取值带入前述X2n公式中的n,得到的一维数组中的最大值。
可选的,可通过以下公式计算得到下边缘线bottomEndge:
bottomEndge=maxX2n
startn=grayImgHeight-rows_minInterval+nInteral
endn=grayImgHeight-nInteral
n4=(startn,startn+1,startn+2,...endn)
其中,startn为n4的第一个取值,灰度图高度减电池片高度加前述的nInteral;endn为n4的最后一个取值,灰度图高度减前述的nInteral。
bottomEndge为下边缘线,bottomEndge为将n4的每个取值带入X2n公式中的n,得到的一维数组取最大值。
在计算得到样本图片的上边缘线和右边缘线后,即可根据样本图片的上边缘线和右边缘线,得到所有电池片的总高度;其中,所有电池片的总高度包括各个电池片的高度以及各个电池片之间的间距。
总高度cellallheight=bottomEdge-topEdge。
在得到总宽度以及总高度后,即可根据总宽度、总高度以及电池片的个数,得到各电池片的关键点的位置信息。
可选的,可先求单个电池片的高度以及宽度,单个电池片的高度以及宽度可以通过以下公式得到:
单个电池片的宽度cellwidth=cellallwidth/cellColNum
单个电池片的高度cellheight=Cellallheight/cellRowNum
在计算得到单个电池片的高度以及宽度后,依据单个电池片的高度以及宽度,计算得到所有电池片的坐标。
在本实施例中,所有电池片的X坐标可以通过以下公式得到:
celX1=leftEdge
celXn=max[rowHistogram(tmp-A:tmp+A)]+tmp-A
tmp=celXn-1+cellwidth
n=(0,1,2,3,4,…,cellRowNum-2)
其中,celXn为取边缘线直方图rowHistogram中的第tmp-A到tmp+A位置中最大的值,这个最大值更加比直接取tmp更加准确,A为正整数。
在本实施例中,所有电池片的Y坐标可以通过以下公式得到:
celY1=topEdge
celYn=celYn-1+cellheight
n=(0,1,2,3,4,…,cellRowNum-2)
在得到所有电池片的X坐标以及Y坐标后,即可得到所有电池片初步的行分割线以及列分割线,如图8所示,横向的虚线为行分割线cellY,纵向的虚线为列分割线cellX。
为了得到各电池片的关键点的位置信息,在本实施例中,在得到所有电池片初步的行分割线以及列分割线后,还需要对行分割线以及列分割线进行精细化处理,得到串间分割线以及片间分割线,然后基于串间分割线以及片间分割线,得到各电池片的关键点的位置信息。可选的,可通过以下步骤实现:
可选的,针对每条列分割线,根据该列分割线和电池片宽度,计算与该列分割线对应的两组列参考线,每组列参考线包括两根位于该列分割线两侧的列参考线。针对每条行分割线,根据该行分割线和电池片高度,计算与该行分割线对应的两组行参考线,每组行参考线包括两根位于该行分割线两侧的行参考线。
可选的,针对每条列分割线cellXn,可通过以下公式,计算得到该列分割线的第一组列参考线:
X1=cellXn-(cellwidth/a1)
X2=cellXn+(cellwidth/a1)
cellwidth/3≤cellwidth/a1≤cellwidth/2
针对每条列分割线cellXn,可通过以下公式,计算得到该列分割线的第二组列参考线:
X1=cellXn-(cellwidth/a2)
X2=cellXn+(cellwidth/a2)
cellwidth/6≤cellwidth/a2≤cellwidth/2
针对每条行分割线cellYn,可通过以下公式,计算得到该行分割线的第一组列参考线:
Y1=cellYn-(cellheight/a1)
Y2=cellYn+(cellheight/a1)
针对每条行分割线cellYn,可通过以下公式,计算得到该行分割线的第二组列参考线:
Y3=cellYn-(cellheight/a3)
Y4=cellYn+(cellheight/a3)
cellheight/20≤cellheight/a3≤cellheight/10
在得到每条列分割线对应的两组列参考线、每条行分割线对应的两组行参考线后,根据两组列参考线以及行列参考线确定片间分割线区域以及串间分割线区域。
其中,片间分割线区域为:
区域1=grayImg[Y1:cellYn,X3:X4],即横向Y1到cellYn,纵向X3到X4围成的区域。
区域2=grayImg[cellYn:Y2,X3:X4],即横向cellYn到Y2,纵向X3到X4围成的区域。
串间分割线区域:
区域3=grayImg[Y3:Y4,X1:cellXn],即横向Y3到Y3,纵向X1到cellXn围成的区域。
区域4=grayImg[Y3:Y4,cellXn:X2],即横向Y3到Y4,纵向cellXn到X2围成的区域。
在得到片间分割线区域以及串间分割线区域后,即可计算串间分割线以及片间分割线。
其中,片间分割线:
Xtop=Max(opt2(区域1))
XBOTTOM=Max(opt2(区域2))
串间分割线:
Yleft=Max(opt1(区域3))
Yright=Max(opt1(区域4))
其中,opt2表示像素纵向累加和操作,opt1表示像素横向累加和操作,Xtop为求区域1的更加准确的分割线,先对区域1进行opt2操作,然后取最大值得到,XBOTTOM为求区域2的更加准确的分割线,先对区域2进行opt2操作,然后取最大值得到,Yleft为求区域3的更加准确的分割线,先对区域3进行opt1操作,然后取最大值得到,Yright为求区域4的更加准确的分割线,先对区域4进行opt1操作,然后取最大值得到。
在得到片间分割线(Xtop、XBOTTOM)以及串间分割线(Yleft、Yright)后,可基于片间分割线(Xtop、XBOTTOM)、串间分割线(Yleft、Yright)、列参考线(X1、X2、X3、X4)以及行参考线(Y1、Y2、Y3、Y4),得到左右上下相邻的4个电池片的边缘线的8个边缘线区域,边缘线区域包括片间边缘线区域以及串间边缘线区域。
区域1=grayImg[Y1:Yleft,X3:Xtop]
区域2=grayImg[Y1:Yright,Xtop:X4]
区域3=grayImg[Y3:Yright,Xtop:X2]
区域4=grayImg[Yright:Y4,XBOTTOM:X2]
区域5=grayImg[Yleft:Y2,X3:XBOTTOM]
区域6=grayImg[Yright:Y2,XBOTTOM:X4]
区域7=grayImg[Y3:Yleft,X1:Xtop]
区域8=grayImg[Yleft:Y4,X1:XBOTTOM]
区域1为横向Y1到Yleft,纵向X3到Xtop组成的区域,为片间边缘线区域;区域2为横向Y1到Yright,纵向Xtop到X4组成的区域,为片间边缘线区域;区域3为横向Y3到Yright,纵向Xtop到X2组成的区域,为串间边缘线区域;区域4为横向Yright到Y4,纵向XBOTTOM到X2组成的区域,为串间边缘线区域;区域5为横向Yleft到Y2,纵向X3到XBOTTOM组成的区域,为片间边缘线区域;区域6为横向Yright到Y2,纵向XBOTTOM到X4组成的区域,为片间边缘线区域;区域7为横向Y3到Yleft,纵向X1到Xtop组成的区域,为片间边缘线区域;区域8为横向Yleft到Y4,纵向X1到XBOTTOM组成的区域,为片间边缘线区域。
在得到8个边缘线区域后,对8个边缘线区域进行边缘检测sobel,得到sobel之后的边缘线图,之后对边缘线图进行直方图计算,即可得到8个边缘线区域中的边缘线。
通过上述过程即可求解得到所有电池片的边缘线。在本实施例中,每条边缘线均有一对应的X坐标或者Y坐标,因此,在得所有电池片的边缘线后,根据所有电池片的边缘线的坐标,即可得到各电池片的关键点(顶点)的坐标,即位置信息。每个电池片的每个顶点的坐标即为一条串间边缘线(Y)与一条片间边缘线(X)的交点的坐标。
在得到各电池片的关键点的坐标后,即可根据各电池片的关键点的位置信息,计算各电池片之间的缺陷值。其中,对于串间距样本图片,则可以只计算串间距值,对于片间距样本图片,则可以只计算片间距值,对于错位样本图片,则可以只计算错位值。
如图9所示,图9为4个相邻的电池片,各电池片的顶点的坐标依次为(a1,b1)、(a2,b2)、(a3,b3)以及(a4,b4),若要计算片间距时,则可以通过a2-a1得到,也可以通过a4-a3得到,若要计算串间距时,则可以通过b2-b1得到,也可以通过b4-b3得到,若要计算错位值时,则可以通过以下公式得到n=maxN,N=(|a1-a3|,|a2-a4|,|b1-b3|,|b2-b4)。
通过上述过程,计算出样本图片中各电池片之间的缺陷值后,即根据各电池片之间的缺陷值对样本图片进行标注,并判断各电池片之间的缺陷值是否存在异常。
其中,对于片间距样本图片,则可以判断各电池之间的片间距是否在预设片间距范围内,若存在一个片间距未在预设片间距范围内,则判定为异常,若所有的片间距均在预设片间距范围内,则判定为正常,然后根据最小的片间距对片间距样本图片进行标注。
对于串间距样本图片,则可以判断各电池之间的串间距是否在预设串间距范围内,若存在一个串间距未在预设串间距范围内,则判定为异常,若所有的串间距均在预设串间距范围内,则判定为正常,然后根据最小的串间距对串间距样本图片上进行标注。
对于错位样本图片,则可以判断各电池之间的错位值是否在预设错位范围内,若存在一个错位值未在预设错位范围内,则判定为异常,若所有的错位值均在预设错位范围内,则判定为正常,然后根据最小的错位值对错位样本图片上进行标注。
在可选的实施方式中,为了便于获取样本图片的信息,可以将样本图片按照预设的命名规则进行保存。其中,如图10所示,命名规则可以为:图片名_行_列_尺寸大小.jpg。
例如:对于串间距样本图片7582039217017113-1_5_12_6.jpg来说,7582039217017113-1为图片名,位置为第5行第12列,串间距尺寸大小为6个像素。
在可选的实施方式中,在对样本图片的缺陷类别以及缺陷真实值进行标注后,可以将标注为正常的样本图片放置于第一文件夹,将标注为异常的样本图片放置于第二文件夹,然后对第一文件夹和第二文件夹中的样本图片进行复核,判断是否存在分类错误的样本图片,若有,则重新进行分类。
在对第一文件夹和第二文件夹中的样本图片复核完成后,将第一文件夹和第二文件夹中的样本图片按照设定比例分为训练集、测试集以及验证集。然后基于训练集进行模型训练,基于测试集对训练得到的检测模型进行测试,基于验证集对训练得到的检测模型进行验证。
其中,设定比例可以是测试集:验证集:训练集=2:2:6,例如,如第二文件夹共有100张图片,那么测试集分20张,验证集分20张,剩下60张作为训练集;第一文件夹共有100张图片,那么测试集分20张,验证集分20张,剩下60张作为训练集。
在一种可选实施方式中,为了减少网络的过拟合现象,在本实施例中,在基于训练集进行模型训练时,可对训练集中的每一张样本图片进行数据增强。
可选的,在本实施例中,对样本图片进行数据增强包括对样本图片进行缩放、上下翻转、左右翻转、色阶调整以及letterbox增强等。如图11所示,首先将(547-580)乘(100-130)大小不等的原图缩放到固定大小,如缩放到128*512。然后对缩放后的图片进行letterbox增强,在进行letterbox增强后,进行上下翻转、左右翻转,以此实现数据增强。
在对训练集的样本图片进行数据增强后,即可根据数据增强后的训练集中的样本图片进行模型训练。
在本实施例中,将标注后的样本图片输入到原始检测模型中后,即可通过原始检测模型的第一全连接层得到样本图片的缺陷的预测类别,以及通过原始检测模型的第二全连接层得到样本图片的缺陷预测值。
在得到样本图片的缺陷的预测类别以及缺陷预测值,即可根据预设的第一损失函数,计算缺陷类别与预测类别的第一损失,根据预设的第二损失函数,计算缺陷真实值与缺陷预测值的第二损失。
在本实施例中,第一损失函数可以采用交叉熵损失,即针对分类损失值采用交叉熵损失函数进行计算,第二损失函数采用SmoothL1Loss,即针对缺陷损失值采用SmoothL1Loss进行计算。
其中,x为输入的样本图片,y为输入的样本图片真实的缺陷类别,Model(x)为模型的预测类别,n为样本图片的个数。
第二损失函数为:
其中,xi为输入的第i个样本图片,yi为第i个样本图片的缺陷真实值;f(xi)为模型预测的第i个样本图片的缺陷预测值,n为样本图片的个数。
在通过第一损失函数,计算得到缺陷类别与预测类别的第一损失,通过第二损失函数,计算得到缺陷真实值与缺陷预测值的第二损失后,将第一损失和第二损失进行和值,判断和值是否满足预设条件,若不满足预设条件,则将第一损失以及第二损失反向传播,对原始检测模型的参数进行调整,得到参数调整后的检测模型,然后再将样本图片输入到参数调整后的检测模型中,通过参数调整后的检测模型的第一全连接层得到样本图片的预测类别,通过参数调整后的检测模型的第二全连接层得到样本图片的缺陷预测值,之后,再次计算参数调整后的检测模型的第一全连接层输出的预测类别与缺陷类别的第一损失,以及参数调整后的检测模型的第二全连接层输出的缺陷预测值与缺陷真实值的第二损失,判断再次计算得到的第一损失和第二损失的和值是否满足预设条件,若满足,则将参数调整后的检测模型作为所需要的检测模型,停止训练,若不满足,则将再次计算得到的第一损失和第二损失反向传播,调整模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,停止训练,得到所需要的检测模型。
可选的,在本实施例中,预设条件可以为第一损失和第二损失的和值收敛,即在第一损失和第二损失的和值收敛时,得到检测模型。
为了保证模型的检测性能,在本实施例中,还需要对模型的性能进行评估,以选择性能最好的模型作为检测模型。因此,在本实施例中,判断和值是否满足预设条件,若未满足,将第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,得到检测模型的步骤还可以包括:
判断和值是否满足预设条件。
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的第一损失和第二损失的和值。
若未满足,将第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的第一损失和第二损失的和值。在计算得到的第一损失和第二损失的和值满足预设条件的次数达到设定阈值时,得到多个初始检测模型。
计算每个初始检测模型对应的评判指标。
将最高的评判指标对应的初始检测模型作为检测模型。
其中,在进行模型训练的过程中,当第一损失和第二损失的和值满足预设条件时,即第一损失和第二损失的和值收敛时,此时模型的性能不一定为最好,为了保证模型的性能效果,在进行模型训练的过程中,即便在第一损失和第二损失的和值收敛时,依旧可以继续进行模型训练,以寻求性能效果最好的模型。
因此,在本实施例中,在进行模型训练的过程中,只要当计算得到的第一损失和第二损失的和值满足预设条件时,即对当前的模型结构进行保存,然后继续训练,寻找其余满足预设条件的模型结构,直至在计算得到的第一损失和第二损失的和值满足预设条件的次数达到设定阈值,如此操作,即可得到多个初始检测模型。
可选的,在本实施例中,设定阈值可以根据实际需求而设定,本实施例不做具体限定。
在得到多个初始检测模型后,即可计算每个初始检测模型对应的评判指标。
由于得到的检测模型是用于对光伏组件的缺陷进行分类以及对光伏组件的缺陷值进行预测,因此,在本实施例中,每个初始检测模型的评判指标分为分类评价指标以及缺陷评价指标,其中,分类评价指标表征对模型的缺陷的分类性能的评价,缺陷评价指标表征对模型的缺陷值的预测性能的评价。
基于此,在本实施例中,计算每个初始检测模型对应的评判指标的步骤包括:
计算每个初始检测模型的分类评价指标以及缺陷评价指标。
根据分类评价指标以及缺陷评价指标,得到每个初始检测模型对应的评判指标。
其中,针对每个初始检测模型,计算该初始检测模型的分类评价指标以及缺陷评价指标,根据分类评价指标以及缺陷评价指标,得到该初始检测模型的评判指标。
可选的,在可选的实施方式中,计算每个初始检测模型的分类评价指标的步骤包括:
计算每个初始检测模型的准确率、精确率以及召回率。
根据每个初始检测模型的精确率以及召回率,计算得到每个初始检测模型的调和平均数。
根据每个初始检测模型的准确率以及调和平均数,得到每个初始检测模型的分类评价指标。
根据每个初始检测模型的准确率以及调和平均数,得到每个初始检测模型的分类评价指标。
其中,FP为假正例,FN为假负例,TP为真正例,TN为真负例,准确率表征模型判断准确的数据占总数据的比例,精确率表征模型判断出的所有正例中,真正例占的比例,召回率表征模型正确判断出的正例占数据集中所有正例的比例。
在通过上述公式得到每个初始检测模型的准确率、精确率以及召回率后,可根据精确率和召回率计算F1分数(F1_score),即精确率和召回率的调和平均数。
可选的,根据精确率和召回率可通过以下公式计算F1_score:
在得到F1_score后,将F1_score和准确率进行加权求和,即可得到每个初始检测模型的分类评价指标。可选的,可通过Acc2f18=β*accuracy+(1-β)*F1_score得到分类评价指标,其中,Acc2f18为分类评价指标,β为准确率的权重,(1-β)为F1_score的权重,可选的,在本实施例中,β为0.2。
在可选的实施方式,可以根据每个初始检测模型的F1_score和准确率的平均值,得到每个初始检测模型的分类评价指标,也可以根据每个初始检测模型的F1_score和准确率的和值,得到每个初始检测模型的分类评价指标,具体地,可根据实际需求而设定,本实施例不做限定。
可选的,在本实施例中,计算每个初始检测模型的缺陷评价指标的步骤可以包括:
针对每个初始检测模型,计算该初始检测模型输出的样本图片的缺陷预测值的均绝对误差。
判断均绝对误差是否大于预设的最大误差。
若小于,则根据均绝对误差以及最大误差的比例,得到该初始检测模型的缺陷评价指标。
若大于等于,则将预设值设定为该初始检测模型的缺陷评价指标。
其中,针对每个初始检测模型,可以通过以下公式计算得该初始检测模型输出的样本图片的缺陷预测值的均绝对误差。
其中,xi为输入的第i个样本图片,yi为第i个样本图片的缺陷真实值;f(xi)为模型预测的第i个样本图片的缺陷预测值,n为样本图片的个数,L1_loss为均绝对误差。
在计算得到均绝对误差后,即可判断均绝对误差是否大于预设的最大误差。
其中,最大误差表征能够接受的最大像素误差,最大误差可以根据实际需求而设定,本实施例不做具体限定。可选的,在本实施例中,最大误差可以设置为5。
在本实施例中,当均绝对误差小于最大误差时,则根据均绝对误差以及最大误差的比例,得到缺陷评价指标,当均绝对误差大于等于最大误差时,则将预设值设定为缺陷评价指标。
当均绝对误差大于等于最大误差时,即表示模型的缺陷值预测结果较差,进而缺陷评价指标较差,基于此,在本实施例中,当均绝对误差大于等于最大误差时,可将预设值0设定为缺陷评价指标。
当均绝对误差小于最大误差时,即表示模型的缺陷值预测结果较好,进而根据最大误差以及均绝对误差的比例计算缺陷评价指标。
可选的,在本实施例中,根据均绝对误差以及最大误差的比例,通过以下公式得到缺陷评价指标:
其中,Widthloss_acc为缺陷评价指标,a为最大误差,L1_loss为均绝对误差。
如图12所示,设定a为5时,当L1_loss<5时,Widthloss_acc=1-(1/5)*L1_loss;当L1_loss≥5时,Widthloss_acc=0。
在计算得到缺陷评价指标以及分类评价指标后,即可根据缺陷评价指标以及分类评价指标,计算得到初始检测模型的评判指标。
在可选的实施方式中,可将缺陷评价指标以及分类评价指标进行加权求和,得到初始检测模型的评判指标。即,针对每个初始检测模型,可通过以下公式计算得到该初始检测模型的评判指标:
Final_score=a*Acc2f18+b*Widthloss_acc
其中,Acc2f18为分类评价指标,a为分类评价指标的权重,a范围为大于0小于1,Widthloss_acc为缺陷评价指标,b为缺陷评价指标的权重,b范围为大于0小于1。可选的,a=0.7,b=0.3。
在可选的实施方式中,还可根据缺陷评价指标以及分类评价指标的平均值,得到初始检测模型的评判指标。
在可选的实施方式中,也可根据缺陷评价指标以及分类评价指标的和值,得到初始检测模型的评判指标。
在得到每个初始检测模型的评判指标后,即可将每个初始检测模型的评判指标进行排序,将最高的评判指标对应的初始检测模型作为最终的检测模型。
可选的,在本实施例中,可基于测试集,计算每个初始检测模型的评判指标,之后采用验证集验证每个初始检测模型的评价指标,最后将在验证集中表现最好的初始检测模型,即在验证集中评判指标最高的初始检测模型作为最终的检测模型,发布到产线。
如图13所示,本实施例所提供的检测模型的效果如下:共有4858张图片的检测,Predicted label为模型预测的结果,True label为真实人工判断的结果,其中,共2244张OK的图片,其中模型预测为OK的图片有2215张,模型预测为NG的有29张,共2614张NG的图片,其中模型预测为OK的图片为45张,模型预测为NG的有2569张。计算得到分类评价指标Acc2f18为0.9847023408991176,计算得到缺陷评价指标Widthloss_acc为0.8839681673535794,计算得到模型的评判指标Final_score为0.954482088835456。经验证,47秒检测完成4858张图片的检测,平均0.0096秒检测一张图片,速度快,且准确率高。
本实施例所提供的光伏组件缺陷检测方法,采用分类评价指标以及缺陷评价指标,对检测模型的性能进行综合评判,可有效保证检测模型的检测性能,提升检测模型的使用效果。
由于光伏组件的缺陷包括串间距、片间距以及错位等类型,为了使检测模型可以对不同类型的缺陷进行检测。在本实施例中,还可基于不同类型的样本图片进行模型训练,具体过程可以如下:
(a)获取样本光伏组件不同类型的样本图片以及不同类型的样本图片的标签值。
(b)针对每个类型的样本图片,将该类型的样本图片输入到原始检测模型中,通过原始检测模型中与该类型对应的检测分支得到该类型的样本图片的预测值。
(c)针对每个类型的样本图片,计算该类型的样本图片的预测值与标签值的损失。
(d)计算各个类型的样本图片的损失的和值。
(e)判断和值是否满足预设条件,若不满足,将各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,直至和值满足预设条件,得到检测模型。
其中,不同类型的样本图片包括串间距类型的样本图片、片间距类型的样本图片以及错位类型的样本图片。不同类型的样本图片的标签值包括每个类型的样本图片的缺陷类别以及缺陷真实值。
在可选的实施方式中,不同类型的样本图片的标签值可通过以下步骤获取得到:
在获取得到不同类型的样本图片后,针对每个类型的样本图片,计算该类型的样本图片的缺陷值以及判断该类型的样本图片的缺陷是否存在异常,根据判断结果以及计算得到的缺陷值,对该类型的样本图片进行标注,得到该类型的样本图片的标签值。例如,对于片间距类型的样本图片,计算该样本图片的片间距值,根据计算得到的片间距值判断该样本图片是否存在异常,若存在异常,则将该样本图片的缺陷类别标注为异常,同时将计算得到的片间距值作为缺陷真实值对该样本图片进行标注;若未存在异常,则将该样本图片的缺陷类别标注为正常,同时将将计算得到的片间距值作为缺陷真实值对该样本图片进行标注。
可选的,为了减少网络的过拟合现象,在本实施例中,在将每个类型的样本图片输入到模型中进行训练前,还需要对每个类型的样本图片进行数据增强。可选的,在本实施例中,对样本图片进行数据增强包括对样本图片进行缩放、上下翻转、左右翻转、色阶调整以及letterbox增强等。
可选的,在本实施例中,在对串间距类型的样本图片进行数据增强后,可得到512*128大小的串间距类型的样本图片,定义为处理后的串间距样本图片。在对片间距类型的样本图片进行数据增强后,可得到128*1024的大小的片间距类型的样本图片,定义为处理后的片间距样本图片。在对错位类型的样本图片进行数据增强后,可得到256*256的大小的错位类型的样本图片,定义为处理后的错位样本图片。
在得到处理后的每个类型的样本图片后,即可将处理后的每个类型的样本图片输入到原始检测模型中进行训练。
为了实现对不同类型的缺陷的检测,在本实施例中,对于每个类型的缺陷,都对应构建一检测分支,如图14所示,对串间距类型的缺陷,对应构建串间距检测分支,对片间距类型的缺陷,对应构建片间距检测分支,对错位类别的缺陷,对应构建错位检测分支,每个分支的输出均包括预测类别以及缺陷预测值两种输出。
因此,针对每个类型的样本图片,将该类型的样本图片输入到原始检测模型中后,会通过原始检测模型中与该类型对应的检测分支得到该类型的样本图片的预测值,其中,预测值即包括预测类别以及缺陷预测值。
在得到每个类型的样本图片的预测值后,针对每个类型的样本图片,计算该类型的样本图片的预测值与标签值的损失。
其中,在计算每个类型的样本图片的预测值与标签值的损失时,可先分别计算该类型的样本图片的预测类别与缺陷类别的第一损失以及缺陷预测值与缺陷真实值的第二损失,然后根据第一损失和第二损失的和值,得到该类型的样本图片的预测值与标签值的损失。
计算预测类别与缺陷类别的第一损失以及缺陷预测值与缺陷真实值的第二损失的过程,可参照上述描述,在此不过多赘述。
得到每个类型的样本图片的预测值与标签值的损失后,计算各个类型的样本图片的损失的和值,即将各个类型的样本图片的损失进行相加,得到和值。
在得到各个类型的样本图片的损失的和值后,判断和值是否满足预设条件,若不满足,将各类型的样本图片的损失反向传播,对原始检测模型的参数进行调整,得到参数调整后的检测模型,然后通过参数调整后的检测模型再次计算每个类型的样本图片的预测值与标签值的损失,将再次计算得到每个类型的样本图片的预测值与标签值的损失进行求和,判断求和得到的和值是否满足预设条件,若满足预设条件,则将参数调整后的检测模型作为所需要的检测模型,结束训练,若不满足,则将再次计算每个类型的样本图片的预测值与标签值的损失反向传播,对参数调整后的检测模型的参数进行调整,以此迭代,直至计算得到的每个类型的样本图片的预测值与标签值的损失的和值满足预设条件,停止训练,得到检测模型。
同样地,为了保证模型的检测性能,在本实施例中,依旧需要对得到的模型的性能进行评估,以选择性能最好的模型作为最终的检测模型。因此,在本实施例中,判断和值是否满足预设条件,若不满足,将各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,直至和值满足预设条件,得到检测模型的步骤包括:
判断和值是否满足预设条件。
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值。
若未满足,将各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值。
在计算得到的各个类型的样本图片的损失的和值满足预设条件的次数达到设定阈值时,得到多个初始检测模型。
计算每个初始检测模型对应的评判指标。
将最高的评判指标对应的初始检测模型作为检测模型。
其中,在进行模型训练的过程中,当各个类型的样本图片的损失的和值满足预设条件时,即各个类型的样本图片的损失的和值收敛时,此时模型的性能不一定为最好,为了保证模型的性能效果,在进行模型训练的过程中,即便在各个类型的样本图片的损失的和值收敛时,依旧可以继续进行模型训练,以寻求性能效果最好的模型。
因此,在进行模型训练的过程中,只要当各个类型的样本图片的损失的和值满足预设条件时,即对当前的模型结构进行保存,然后继续训练,寻找其余满足预设条件的模型结构,直至在计算得到的各个类型的样本图片的损失的和值满足预设条件的次数达到设定阈值,如此操作,即可得到多个初始检测模型。可选的,在本实施例中,设定阈值可以根据实际需求而设定,本实施例不做具体限定。
在得到各初始检测模型后,计算各初始检测模型对应的评判指标。
可选的,在本实施例中,计算每个初始检测模型对应的评判指标的步骤可以包括:
针对每个初始检测模型,计算该初始检测模型检测各个类型的样本图片的评价指标;
根据所述检测各个类型的样本图片的评价指标,得到该初始检测模型对应的评判指标。
其中,在计算各初始检测模型对应的评判指标时,针对每个初始检测模型,先分别计算该初始检测模型对于每个类型的样本图片的评价指标,然后将每个类型的样本图片的评价指标进行相加,得到该初始检测模型的评判指标。例如,有串间距类型的样本图片、片间距类型的样本图片以及错位类型的样本图片,则每个初始检测模型的评判指标=串间距类型的样本图片的评价指标+片间距类型的样本图片的评价指标+错位类型的样本图片的评价指标。
在本实施例中,在计算初始检测模型对于每个类型的样本图片的评价指标时,可先计算初始检测模型对于每个类型的样本图片的分类评价指标以及缺陷评价指标,然后根据分类评价指标以及缺陷评价指标,得到初始检测模型对于每个类型的样本图片的评价指标。
其中,计算每个类型的样本图片的分类评价指标以及缺陷评价指标的过程,可参照上述过程,在此不过多赘述。
在得到各初始检测模型对应的评判指标后,将最高的评判指标对应的初始检测模型作为最终的检测模型。如此,可保证最终得到的检测模型即可以对各个类型的缺陷进行检测,且准确性高。
在一种可选的实施方式中,在根据不同类型的样本图片进行模型训练时,可根据顺序依次将不同类型的样本图输入到模型中进行训练。例如,可先将串间距类型的样本图片输入到原始检测模型中进行训练,计算得到串间距类型的样本图片的损失以及串间距类型的样本图片的评价指标;然后再将片间距类型的样本图片输入到原始检测模型中进行训练,计算得到片间距类型的样本图片的损失以及片间距类型的样本图片的评价指标;之后再将错位类型的样本图片输入到原始检测模型中进行训练,计算得到错位类型的样本图片的损失以及错位类型的样本图片的评价指标。
最后,将串间距类型的样本图片的损失、片间距类型的样本图片的损失、错位类型的样本图片的损失进行相加,得到和值,判断和值是否满足预设条件,若不满足,将串间距类型的样本图片的损失、片间距类型的样本图片的损失、错位类型的样本图片的损失反向传播,调整原始检测模型的参数,得到参数调整后的检测模型,然后通过参数调整后的检测模型再依次计算各个类型的样本图片的损失以及评价指标,并判断再次计算得到的各个类型的样本图片的损失的和值是否满足预设条件,若满足预设条件,保留参数调整后的检测模型的结构,并根据再次计算得到的各个类型的样本图片的评价指标,得到参数调整后的检测模型的评判指标,若不满足,则将再次计算得到的各个类型的样本图片的损失反向传播,对参数调整后的检测模型的参数进行调整,以此迭代,直至计算得到的每个类型的样本图片的损失满足预设条件时,保留当前的模型结构,并基于当前计算得到的各个类型的样本图片的评价指标,得到当前的检测模型的评判指标。
本实施例所提供的光伏组件缺陷检测方法,通过构建不同的检测分支,采用不同类型的缺陷图片对模型进行训练,使得模型在训练完成后,可以对不同类型的缺陷进行预测以及异常检测分类,精确度高,且效率高。例如,输入光伏组件的串间距图片,检测模型即可对该串间距图片进行检测,输出该串间距图片的串间距值以及分类结果,即该光伏组件的串间距是否异常的分类结果,又例如,输入光伏组件的片间距图片,检测模型即可对该片间距图片进行检测,输出该片间距图片的片间距值以及分类结果,即该光伏组件的片间距是否异常的分类结果。
基于同一发明构思,请结合参阅图15,本实施例还提供一种光伏组件缺陷检测装置10,应用图1所示的电子设备,如图15所示,本实施例所提供的光伏缺陷检测装置10包括图片获取模块11、缺陷检测模块12、模型训练模块13以及模型评价模块14。
图片获取模块11,用于获取待检测的光伏组件的检测图片。
缺陷检测模块12,用于通过检测模型对检测图片进行检测处理,得到待检测的光伏组件的缺陷分类以及待检测的光伏组件的缺陷值;其中,检测模型包括用于对缺陷进行预测分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层。
在可选的实施方式中,在将检测图片输入到预先训练得到检测模型中之前,模型训练模块13用于:
对样本光伏组件的样本图片的缺陷类别以及缺陷真实值进行标注。
将标注后的样本图片输入到原始检测模型中,通过原始检测模型的第一全连接层得到样本图片的缺陷的预测类别,以及通过原始检测模型的第二全连接层得到样本图片的缺陷预测值。
根据预设的第一损失函数,计算缺陷类别与预测类别的第一损失,以及根据预设的第二损失函数,计算缺陷真实值与缺陷预测值的第二损失。
计算第一损失和第二损失的和值,判断和值是否满足预设条件,若未满足,将第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,得到检测模型。
在可选的实施方式中,模型训练模块13用于:
判断和值是否满足预设条件。
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的第一损失和第二损失的和值。
若未满足,将第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的第一损失和第二损失的和值。
在计算得到的第一损失和第二损失的和值满足预设条件的次数达到设定阈值时,得到多个初始检测模型。
模型评价模块14用于:计算每个初始检测模型对应的评判指标。
将最高的评判指标对应的初始检测模型作为检测模型。
在可选的实施方式中,模型评价模块14用于:
计算每个初始检测模型的分类评价指标以及缺陷评价指标。
根据分类评价指标以及缺陷评价指标,得到每个初始检测模型对应的评判指标。
在可选的实施方式中,模型评价模块14用于:
计算每个初始检测模型的准确率、精确率以及召回率。
根据每个初始检测模型的精确率以及召回率,计算得到每个初始检测模型的调和平均数。
根据每个初始检测模型的准确率以及调和平均数,得到每个初始检测模型的分类评价指标。
在可选的实施方式中,模型评价模块14用于:
针对每个初始检测模型,计算该初始检测模型输出的样本图片的缺陷预测值的均绝对误差;
判断均绝对误差是否大于预设的最大误差。
若小于,则根据均绝对误差以及最大误差,得到该初始检测模型的缺陷评价指标。
若大于等于,则将预设值设定为该初始检测模型的缺陷评价指标。
在可选的实施方式中,模型评价模块14用于:
通过以下公式计算该初始检测模型输出的样本图片的缺陷预测值的均绝对误差:
其中,xi为第i个的样本图片,yi为第i个样本图片的缺陷真实值,f(xi)为第i个样本图片的缺陷预测值,n为样本图片的个数,L1_loss为均绝对误差。
在可选的实施方式中,模型评价模块14用于:
根据均绝对误差以及最大误差,通过以下公式得到该初始检测模型的缺陷评价指标:
其中,Widthloss_acc为缺陷评价指标,a为最大误差,L1_loss为均绝对误差。
在可选的实施方式中,模型训练模块13用于:
对样本图片进行灰度化以及直方图处理,得到样本图片的边缘线直方图。
根据样本图片的边缘线直方图,得到样本图片中依次排列的所有电池片的总宽度以及总高度。
根据总宽度、总高度以及电池片的个数,得到各电池片的关键点的位置信息。
根据各电池片的关键点的位置信息,计算各电池片之间的缺陷值。
根据各电池片之间的缺陷值对样本图片进行标注,并判断各电池片之间的缺陷值是否存在异常。
若存在异常,将样本图片的缺陷类别标注为异常,若未存在异常,将样本图片的缺陷类别标注为正常。
在可选的实施方式中,在将所述检测图片输入到预先训练得到检测模型中之前,模型训练模块13还用于:
获取样本光伏组件不同类型的样本图片以及不同类型的样本图片的标签值。
针对每个类型的样本图片,将该类型的样本图片输入到原始检测模型中,通过原始检测模型中与该类型对应的检测分支得到该类型的样本图片的预测值。
针对每个类型的样本图片,计算该类型的样本图片的预测值与标签值的损失。
计算各个类型的样本图片的损失的和值。
判断和值是否满足预设条件。
若不满足,将各个类型的样本图片的损失反向传播,对原始检测模型的参数进行调整,调整原始检测模型的参数,以此迭代,直至和值满足预设条件,得到检测模型。
在可选的实施方式中,模型训练模块13还用于:
判断和值是否满足所述预设条件。
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值。
若未满足,将各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值。
在计算得到的各个类型的样本图片的损失的和值满足预设条件的次数达到设定阈值时,得到多个初始检测模型。
模型评价模块14用于:计算每个初始检测模型对应的评判指标。
将最高的评判指标对应的初始检测模型作为检测模型。
在可选的实施方式中,模型评价模块14用于:
针对每个初始检测模型,计算该初始检测模型检测各个类型的样本图片的评价指标。
根据检测各个类型的样本图片的评价指标,得到该初始检测模型对应的评判指标。
本实施例所提供的光伏组件缺陷检测装置,通过构建具有用于对缺陷进行分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层的检测模型,进而在获取待检测的光伏组件的检测图片后,将检测图片输入到检测模型中,可直接得到待检测的光伏组件的缺陷分类结果以及待检测的光伏组件的缺陷值,高效、精确度高。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的光伏组件缺陷检测装置10的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
在上述基础上,本实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施方式所述的光伏组件缺陷检测方法。
其中,可读存储介质可以是,但不限于,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的可读存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上,本发明实施例所提供的光伏组件缺陷检测方法、装置、电子设备和可读存储介质,通过构建具有用于对缺陷进行分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层的检测模型,进而在获取待检测的光伏组件的检测图片后,将检测图片输入到检测模型中,可直接得到待检测的光伏组件的缺陷分类结果以及待检测的光伏组件的缺陷值,高效、精确度高。
以上所述,仅为本发明的各种实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种光伏组件缺陷检测方法,其特征在于,所述方法包括:
获取待检测的光伏组件的检测图片;
通过检测模型对所述检测图片进行检测处理,得到所述待检测的光伏组件的缺陷分类以及所述待检测的光伏组件的缺陷值;其中,所述检测模型包括用于对缺陷进行预测分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层。
2.根据权利要求1所述的光伏组件缺陷检测方法,其特征在于,在通过检测模型对所述检测图片进行检测处理之前,所述方法还包括:
对样本光伏组件的样本图片的缺陷类别以及缺陷真实值进行标注;
将标注后的样本图片输入到原始检测模型中,通过原始检测模型的第一全连接层得到所述样本图片的缺陷的预测类别,以及通过原始检测模型的第二全连接层得到所述样本图片的缺陷预测值;
根据预设的第一损失函数,计算所述缺陷类别与预测类别的第一损失,以及根据预设的第二损失函数,计算所述缺陷真实值与所述缺陷预测值的第二损失;
计算第一损失和第二损失的和值;
判断所述和值是否满足预设条件,若未满足,将所述第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,得到检测模型。
3.根据权利要求2所述的光伏组件缺陷检测方法,其特征在于,所述判断所述和值是否满足预设条件,若未满足,将所述第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,直至计算得到的第一损失和第二损失的和值满足预设条件,得到检测模型的步骤包括:
判断所述和值是否满足预设条件;
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的第一损失和第二损失的和值;
若未满足,将所述第一损失以及第二损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的第一损失和第二损失的和值;
在计算得到的第一损失和第二损失的和值满足所述预设条件的次数达到设定阈值时,得到多个初始检测模型;
计算每个所述初始检测模型对应的评判指标;
将最高的评判指标对应的初始检测模型作为检测模型。
4.根据权利要求3所述的光伏组件缺陷检测方法,其特征在于,所述计算每个所述初始检测模型对应的评判指标的步骤包括:
计算每个初始检测模型的分类评价指标以及缺陷评价指标;
根据所述分类评价指标以及所述缺陷评价指标,得到每个所述初始检测模型对应的评判指标。
5.根据权利要求4所述的光伏组件缺陷检测方法,其特征在于,所述计算每个初始检测模型的分类评价指标的步骤包括:
计算每个所述初始检测模型的准确率、精确率以及召回率;
根据每个所述初始检测模型的精确率以及召回率,计算得到每个所述初始检测模型的调和平均数;
根据每个所述初始检测模型的准确率以及调和平均数,得到每个所述初始检测模型的分类评价指标。
6.根据权利要求4所述的光伏组件缺陷检测方法,其特征在于,所述计算每个初始检测模型的缺陷评价指标的步骤包括:
针对每个初始检测模型,计算该初始检测模型输出的样本图片的缺陷预测值的均绝对误差;
判断所述均绝对误差是否大于预设的最大误差;
若小于,则根据所述均绝对误差以及所述最大误差的比例,计算得到该初始检测模型的缺陷评价指标;
若大于等于,则将预设值设定为该初始检测模型的缺陷评价指标。
9.根据权利要求2所述的光伏组件缺陷检测方法,其特征在于,所述对样本光伏组件的样本图片的缺陷类别以及缺陷真实值进行标注的步骤包括:
对所述样本图片进行灰度化以及直方图处理,得到所述样本图片的边缘线直方图;
根据所述样本图片的边缘线直方图,得到所述样本图片中依次排列的所有电池片的总宽度以及总高度;
根据所述总宽度、所述总高度以及所述电池片的个数,得到各所述电池片的关键点的位置信息;
根据各所述电池片的关键点的位置信息,计算各所述电池片之间的缺陷值;
根据各所述电池片之间的缺陷值对所述样本图片进行标注,并判断各所述电池片之间的缺陷值是否存在异常;
若存在异常,将所述样本图片的缺陷类别标注为异常,若未存在异常,将所述样本图片的缺陷类别标注为正常。
10.根据权利要求1所述的光伏组件缺陷检测方法,其特征在于,在通过检测模型对所述检测图片进行检测处理之前,所述方法还包括:
获取样本光伏组件不同类型的样本图片以及不同类型的样本图片的标签值;
针对每个类型的样本图片,将该类型的样本图片输入到原始检测模型中,通过原始检测模型中与该类型对应的检测分支得到该类型的样本图片的预测值;
针对每个类型的样本图片,计算该类型的样本图片的预测值与标签值的损失;
计算各个类型的样本图片的损失的和值;
判断所述和值是否满足预设条件,若不满足,将所述各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,直至所述和值满足预设条件,得到检测模型。
11.根据权利要求10所述的光伏组件缺陷检测方法,其特征在于,所述判断所述和值是否满足预设条件,若不满足,将所述各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,直至所述和值满足预设条件,得到检测模型的步骤包括:
判断所述和值是否满足所述预设条件;
若满足,得到初始检测模型,并以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值;
若未满足,将所述各个类型的样本图片的损失反向传播,调整原始检测模型的参数,以此迭代,计算每次迭代得到的各个类型的样本图片的损失的和值;
在计算得到的各个类型的样本图片的损失的和值满足所述预设条件的次数达到设定阈值时,得到多个初始检测模型;
计算每个所述初始检测模型对应的评判指标;
将最高的评判指标对应的初始检测模型作为检测模型。
12.根据权利要求11所述的光伏组件缺陷检测方法,其特征在于,所述计算每个所述初始检测模型对应的评判指标的步骤包括:
针对每个所述初始检测模型,计算该初始检测模型检测各个类型的样本图片的评价指标;
根据所述检测各个类型的样本图片的评价指标,得到该初始检测模型对应的评判指标。
13.一种光伏组件缺陷检测装置,其特征在于,包括:
图片获取模块,用于获取待检测的光伏组件的检测图片;
缺陷检测模块,用于通过检测模型对所述检测图片进行检测处理,得到所述待检测的光伏组件的缺陷分类以及所述待检测的光伏组件的缺陷值;其中,所述检测模型包括用于对缺陷进行预测分类的第一全连接层以及用于对缺陷值进行预测的第二全连接层。
14.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至12任一项所述的光伏组件缺陷检测方法。
15.一种可读存储介质,其特征在于,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述存储介质所在电子设备执行权利要求1至12任一项所述的光伏组件缺陷检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110831986.7A CN114581362B (zh) | 2021-07-22 | 2021-07-22 | 光伏组件缺陷检测方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110831986.7A CN114581362B (zh) | 2021-07-22 | 2021-07-22 | 光伏组件缺陷检测方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114581362A true CN114581362A (zh) | 2022-06-03 |
CN114581362B CN114581362B (zh) | 2023-11-07 |
Family
ID=81768555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110831986.7A Active CN114581362B (zh) | 2021-07-22 | 2021-07-22 | 光伏组件缺陷检测方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114581362B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829922A (zh) * | 2022-09-23 | 2023-03-21 | 正泰新能科技有限公司 | 一种检测电池片的间距的方法、装置、设备及介质 |
CN116029160A (zh) * | 2023-03-23 | 2023-04-28 | 南昌航空大学 | 光伏组件缺陷与发电效率损失的映射模型构建方法及系统 |
CN117094964A (zh) * | 2023-08-17 | 2023-11-21 | 正泰集团研发中心(上海)有限公司 | 电池片间距检测方法、装置、计算机设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0519255A2 (en) * | 1991-05-31 | 1992-12-23 | Fuji Photo Film Co., Ltd. | Defect inspection system and inspection process |
EP1491879A2 (de) * | 2003-06-10 | 2004-12-29 | hema electronic GmbH | Verfahren zur adaptiven Fehlererkennung auf einer strukturierten Oberfläche |
US20170148154A1 (en) * | 2015-11-24 | 2017-05-25 | Keyence Corporation | Positioning Method, Positioning Apparatus, Program, And Computer Readable Recording Medium |
CN107831173A (zh) * | 2017-10-17 | 2018-03-23 | 哈尔滨工业大学(威海) | 光伏组件缺陷检测方法及系统 |
CN108631727A (zh) * | 2018-03-26 | 2018-10-09 | 河北工业大学 | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 |
CN109871895A (zh) * | 2019-02-22 | 2019-06-11 | 北京百度网讯科技有限公司 | 电路板的缺陷检测方法和装置 |
CN110136110A (zh) * | 2019-05-13 | 2019-08-16 | 京东方科技集团股份有限公司 | 光伏组件缺陷的检测方法和装置 |
CN110288566A (zh) * | 2019-05-23 | 2019-09-27 | 北京中科晶上科技股份有限公司 | 一种目标缺陷提取方法 |
CN110349145A (zh) * | 2019-07-09 | 2019-10-18 | 京东方科技集团股份有限公司 | 缺陷检测方法、装置、电子设备以及存储介质 |
CN110728654A (zh) * | 2019-09-06 | 2020-01-24 | 台州学院 | 一种基于深度残差神经网络的管道自动检测和分类方法 |
US20200175352A1 (en) * | 2017-03-14 | 2020-06-04 | University Of Manitoba | Structure defect detection using machine learning algorithms |
CN111275104A (zh) * | 2020-01-16 | 2020-06-12 | 重庆金山医疗技术研究院有限公司 | 一种模型训练方法、装置、服务器及存储介质 |
CN112164048A (zh) * | 2020-09-25 | 2021-01-01 | 华中科技大学 | 一种基于深度学习的磁瓦表面缺陷自动检测方法和装置 |
CN112990306A (zh) * | 2021-03-12 | 2021-06-18 | 国网智能科技股份有限公司 | 一种变电设备缺陷识别方法及系统 |
CN112991259A (zh) * | 2021-01-29 | 2021-06-18 | 合肥晶合集成电路股份有限公司 | 一种半导体制程缺陷的检测方法及系统 |
-
2021
- 2021-07-22 CN CN202110831986.7A patent/CN114581362B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0519255A2 (en) * | 1991-05-31 | 1992-12-23 | Fuji Photo Film Co., Ltd. | Defect inspection system and inspection process |
EP1491879A2 (de) * | 2003-06-10 | 2004-12-29 | hema electronic GmbH | Verfahren zur adaptiven Fehlererkennung auf einer strukturierten Oberfläche |
US20170148154A1 (en) * | 2015-11-24 | 2017-05-25 | Keyence Corporation | Positioning Method, Positioning Apparatus, Program, And Computer Readable Recording Medium |
US20200175352A1 (en) * | 2017-03-14 | 2020-06-04 | University Of Manitoba | Structure defect detection using machine learning algorithms |
CN107831173A (zh) * | 2017-10-17 | 2018-03-23 | 哈尔滨工业大学(威海) | 光伏组件缺陷检测方法及系统 |
CN108631727A (zh) * | 2018-03-26 | 2018-10-09 | 河北工业大学 | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 |
CN109871895A (zh) * | 2019-02-22 | 2019-06-11 | 北京百度网讯科技有限公司 | 电路板的缺陷检测方法和装置 |
CN110136110A (zh) * | 2019-05-13 | 2019-08-16 | 京东方科技集团股份有限公司 | 光伏组件缺陷的检测方法和装置 |
CN110288566A (zh) * | 2019-05-23 | 2019-09-27 | 北京中科晶上科技股份有限公司 | 一种目标缺陷提取方法 |
CN110349145A (zh) * | 2019-07-09 | 2019-10-18 | 京东方科技集团股份有限公司 | 缺陷检测方法、装置、电子设备以及存储介质 |
CN110728654A (zh) * | 2019-09-06 | 2020-01-24 | 台州学院 | 一种基于深度残差神经网络的管道自动检测和分类方法 |
CN111275104A (zh) * | 2020-01-16 | 2020-06-12 | 重庆金山医疗技术研究院有限公司 | 一种模型训练方法、装置、服务器及存储介质 |
CN112164048A (zh) * | 2020-09-25 | 2021-01-01 | 华中科技大学 | 一种基于深度学习的磁瓦表面缺陷自动检测方法和装置 |
CN112991259A (zh) * | 2021-01-29 | 2021-06-18 | 合肥晶合集成电路股份有限公司 | 一种半导体制程缺陷的检测方法及系统 |
CN112990306A (zh) * | 2021-03-12 | 2021-06-18 | 国网智能科技股份有限公司 | 一种变电设备缺陷识别方法及系统 |
Non-Patent Citations (4)
Title |
---|
JIAXU DUAN 等: "Measuring of train wheel surface defect based on linear CCD imaging", 《2016 18TH INTERNATIONAL WHEELSET CONGRESS (IWC)》, pages 65 - 70 * |
张立: "改进 YOLOv3 算法在毛刺缸套外观缺陷检测的应用研究", 《中国优秀硕士学位论文全文数据库(工程科技Ⅱ辑)》, no. 6, pages 035 - 324 * |
李清格 等: "基于深度学习的 X 射线焊缝缺陷识别", 《西安石油大学学报( 自然科学版)》, vol. 34, no. 4, pages 74 - 81 * |
杜毛毛 等: "配置 500 MPa 钢筋后张有黏结预应力混凝土梁 不同位置处裂缝宽度研究", 《建筑结构学报》, vol. 33, no. 9, pages 141 - 147 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829922A (zh) * | 2022-09-23 | 2023-03-21 | 正泰新能科技有限公司 | 一种检测电池片的间距的方法、装置、设备及介质 |
CN115829922B (zh) * | 2022-09-23 | 2024-06-04 | 正泰新能科技股份有限公司 | 一种检测电池片的间距的方法、装置、设备及介质 |
CN116029160A (zh) * | 2023-03-23 | 2023-04-28 | 南昌航空大学 | 光伏组件缺陷与发电效率损失的映射模型构建方法及系统 |
CN117094964A (zh) * | 2023-08-17 | 2023-11-21 | 正泰集团研发中心(上海)有限公司 | 电池片间距检测方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114581362B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114581362A (zh) | 光伏组件缺陷检测方法、装置、电子设备和可读存储介质 | |
US10290066B2 (en) | Method and device for modeling a long-time-scale photovoltaic output time sequence | |
Feng et al. | A taxonomical review on recent artificial intelligence applications to PV integration into power grids | |
CN113537600B (zh) | 一种全过程耦合机器学习的中长期降水预报建模方法 | |
CN106096847A (zh) | 一种模糊变权工程地质环境质量评价方法 | |
CN105956722A (zh) | 一种短期风电功率的预测方法及装置 | |
JP6697116B2 (ja) | 太陽電池の検査装置、検査システム、検査方法及びプログラム | |
CN114169374A (zh) | 一种斜拉桥斜拉索损伤识别方法及电子设备 | |
CN107045659A (zh) | 预测光伏发电功率的方法及装置 | |
CN111126868A (zh) | 一种道路交通事故发生风险确定方法及系统 | |
CN111428419A (zh) | 悬浮泥沙浓度预测方法、装置、计算机设备和存储介质 | |
CN115456306A (zh) | 一种母线负荷预测方法、系统、设备及存储介质 | |
CN115759389A (zh) | 基于天气类型的相似日组合策略的日前光伏功率预测方法 | |
Wang et al. | A fault diagnosis method using improved prototypical network and weighting similarity-Manhattan distance with insufficient noisy data | |
CN114880538A (zh) | 基于自监督的属性图社团检测方法 | |
CN112801344A (zh) | 基于dpsir模型的海岸带生态系统健康预测方法、电子设备及计算机可读介质 | |
CN110717623B (zh) | 融合多种天气状况的光伏发电功率预测方法及装置、设备 | |
CN112508734A (zh) | 基于卷积神经网络的电力企业发电量的预测方法及装置 | |
CN113591399B (zh) | 一种短期风功率预测方法 | |
CN115759395A (zh) | 光伏检测模型的训练、光伏发电的检测方法及相关装置 | |
Archetti et al. | Smart data driven maintenance: Improving damage detection and assessment on aerospace structures | |
Soebroto et al. | Integration method of local-global SVR and parallel time variant PSO in water level forecasting for flood early warning system | |
Ding et al. | Adaptive SPP–CNN–LSTM–ATT wind farm cluster short-term power prediction model based on transitional weather classification | |
US20230184222A1 (en) | Wind turbine performance determination and control | |
Cha et al. | Object Detection Model Training Technique for Numeric Text Detection in Analog Power Meter Images |
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 |