CN108631727B - 一种基于卷积神经网络的太阳能电池板缺陷识别方法 - Google Patents
一种基于卷积神经网络的太阳能电池板缺陷识别方法 Download PDFInfo
- Publication number
- CN108631727B CN108631727B CN201810250676.4A CN201810250676A CN108631727B CN 108631727 B CN108631727 B CN 108631727B CN 201810250676 A CN201810250676 A CN 201810250676A CN 108631727 B CN108631727 B CN 108631727B
- Authority
- CN
- China
- Prior art keywords
- image
- defect
- solar panel
- cnn
- layer
- 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.)
- Expired - Fee Related
Links
- 230000007547 defect Effects 0.000 title claims abstract description 201
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 77
- 238000001514 detection method Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000000605 extraction Methods 0.000 claims abstract description 14
- 230000003252 repetitive effect Effects 0.000 claims abstract description 5
- 238000000576 coating method Methods 0.000 claims description 25
- 239000011248 coating agent Substances 0.000 claims description 24
- 238000013480 data collection Methods 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 12
- 239000012535 impurity Substances 0.000 claims description 11
- 238000001228 spectrum Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 7
- 238000012797 qualification Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 7
- 238000005520 cutting process Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 239000000203 mixture Substances 0.000 claims description 5
- 210000002569 neuron Anatomy 0.000 claims description 5
- 230000000877 morphologic effect Effects 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 230000005611 electricity Effects 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 230000003628 erosive effect Effects 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 16
- 241000208340 Araliaceae Species 0.000 description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 description 4
- 235000008434 ginseng Nutrition 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 208000037656 Respiratory Sounds Diseases 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002210 silicon-based material Substances 0.000 description 2
- 235000004237 Crocus Nutrition 0.000 description 1
- 241000596148 Crocus Species 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02S—GENERATION OF ELECTRIC POWER BY CONVERSION OF INFRARED RADIATION, VISIBLE LIGHT OR ULTRAVIOLET LIGHT, e.g. USING PHOTOVOLTAIC [PV] MODULES
- H02S50/00—Monitoring or testing of PV systems, e.g. load balancing or fault identification
- H02S50/10—Testing of PV devices, e.g. of PV modules or single PV cells
-
- 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
- Image Analysis (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
本发明涉及一种基于卷积神经网络的太阳能电池板缺陷识别方法,包括模型离线训练和在线检测两个阶段,将卷积神经网络模型应用于太阳能电池板的缺陷识别上,使用2个CNN模型递进地实现了缺陷检测和分类。首先使用CNN二分类模型区分合格与缺陷图像,然后使用CNN多分类模型,对二分类模型判定为缺陷的图像进行分类。CNN模型对电池板的各种缺陷类型,都是采用相同的处理流程,即通过迭代训练,快速而自动进行特征提取和特征分类。对于新缺陷类型,只需收集该缺陷类型的样本数据,添加到训练用的数据集中并对模型进行训练,就能够实现该缺陷类型的检测。能够以较高的准确率快速识别出存在缺陷的小电池板的位置,并对多种缺陷进行类别判定,适用性更广。
Description
技术领域
本发明涉及太阳能电池板缺陷检测技术领域,尤其涉及一种基于卷积神经网络的太阳能电池板缺陷识别方法。
背景技术
太阳能是一种清洁能源。由于太阳能电池板生产工艺复杂,加上生产运输与安装过程中的人工因素,都会导致电池板容易出现各种缺陷问题,使得电池板破损率增大,而这些缺陷将严重降低电池板的光电转化效率和使用寿命。因此,在生产过程中检测电池板缺陷是十分重要的。目前主要是对电池板的电致发光(EI)图像进行检测。然而,电池板表面的纹理结构和多晶硅材料的杂质给缺陷检测带来很大困难。当前主要有以下检测方式:
(1)人工检测。用肉眼对电池板的EI图像进行缺陷检测是目前绝大多数太阳能电池板生产厂采用的方式。它不仅速度慢,影响生产效率,容易造成视觉疲劳和误差,还带来了人工费用的开支。
(2)计算机图像识别。目前有多种利用计算机图像处理技术的检测手段,这些手段只适用于特定且特征明显的缺陷种类。对于主流的多晶硅材料的太阳能电池板,其形成的花纹背景干扰大,特征缺陷不显著,传统方法无法实现有效的检测。
专利号为ZL201410135246.X的中国专利公开了“太阳能电池表面缺陷检测设备及方法”。该检测设备包括结构件和检测电路系统;检测方法是通过对图像进行图像分割、小波变换和二维7×7像素领域中值滤波处理得到缺角缺陷图像;对于裂纹,通过对图像进行二维中值滤波、小波变换、图像二值化、边缘检测和形态学算子处理得到裂纹的缺陷图像,获得缺陷识别结果。该方法采用传统的图像处理方法,仅对“缺角”和“裂纹”缺陷手动提取图像特征,对于其他缺陷类型,或由于杂质干扰和图像像素低等原因,导致缺陷特征不显著的电池板图像,则无法进行有效的检测。
专利号为ZL201510108201.8的中国专利公开了“光伏电池板在线缺陷检测和分拣装置”。该装置获取光伏电池板表面的图像,传输到计算机中,转为灰度图像,与标准的模板图像进行匹配相减,如果有灰度差,说明检测的图像与模板图像不一致,即光伏电池板表面存在缺陷,计算机对有缺陷的光伏电池板进行标定。该方法通过样本图像与模板图像的灰度差这一简单的统计特征鉴别缺陷,对于存在杂质干扰和各种形态不一的缺陷,无法进行有效的检测。
为了解决现有技术的不足,需要设计一种适用于多种缺陷,抗杂质阴影干扰能力强,准确率高,可用于由多块小电池板组成的拼装电池板的太阳能电池板缺陷检测方法。
发明内容
针对现有技术的不足,本发明所要解决的技术问题是:提供了一种基于卷积神经网络的太阳能电池板缺陷识别方法,该方法对于太阳能电池板的EI图像,能够以较高的准确率快速识别出存在缺陷的小电池板的位置,并对多种缺陷进行类别判定。
本发明解决所述技术问题采用的技术方案如下:一种基于卷积神经网络的太阳能电池板缺陷识别方法,包括模型离线训练和在线检测两个阶段,
所述的模型离线训练包括以下步骤:
S1:收集太阳能电池板的合格图像和多类缺陷图像,并完成分类,假设缺陷类别数为D;
S2:对步骤S1得到的各类别图像进行数据平衡,使各类别的样本数目充足;对于数量较少的各类缺陷图像,采用翻转、旋转、随机平移、随机形变和随机缩放方式进行样本量的扩充;对于数量丰富的合格图像,采用随机欠采样方式筛减,最终获得的各缺陷类别图像的数目充足且各缺陷类别图像的数量差别在30%的范围内,合格类别图像和全部缺陷类别图像的数量差别在30%的范围内;
S3:将步骤S2获得的各类别图像均转为预设尺寸的灰度图像,得到的图像设为图像矩阵X;
S4:由步骤S3得到的图像矩阵X,经过归一化数据处理后,生成由所有缺陷样本、合格样本组成的二分类数据集,用于缺陷检测;同时生成由多类缺陷组成的多分类数据集,用于缺陷分类;
S5:通过卷积神经网络构建用于缺陷检测的CNN二分类模型和用于缺陷分类的CNN多分类模型;
S6:在步骤S4所述的二分类数据集上训练步骤S5所述的CNN二分类模型,在步骤S4所述的多分类数据集上训练步骤S5所述的CNN多分类模型,训练方式为小批量梯度下降,训练算法是反向传播算法,当达到预设的迭代轮数epoch时,训练结束,保存训练完成的CNN二分类模型和CNN多分类模型;
所述的在线检测包括以下步骤:
S7:获取待识别的太阳能电池板图像,设为I;
S8:对步骤S7所述的电池板图像I进行图像预处理,得到水平放置、不含背景、矩形的电池板图像Id;
S9:若步骤S8得到的预处理后的电池板图像Id是由M×E个小电池板组成的拼装电池板图像,则将其分割为M×E个单独的小电池板图像,并记录每个小电池板在大电池板上的位置;若Id已经是单独的一块电池板,则无需分割,直接作为数目为1的小电池板图像进入步骤S10;
S10:将步骤S9的所有小电池板图像,全部转为预设尺寸N×N的灰度图像,并对该灰度图像进行归一化处理;
S11:缺陷检测:将步骤S10得到的所有归一化处理后的灰度图像输入到由步骤S6得到的训练完成的CNN二分类模型,进行特征提取和特征分类,输出该图像属于合格类别的概率;若概率高于某个设定的缺陷阈值,则判断为合格的电池板图像;否则判断为存在缺陷的电池板图像,并进行步骤S12;
S12:缺陷分类:将步骤S11中判断为存在缺陷的电池板图像输入到由步骤S6得到的训练完成的CNN多分类模型,进行特征提取和特征分类,得到该图像属于各缺陷类别的概率,将其中最大的概率值所属的缺陷类别作为判定的缺陷类别;
S13:对步骤S9的每个小电池板图像都进行步骤11~S12,并在电池板图像上标记存在缺陷的位置和缺陷类别,输出检测结果。
本发明的有益效果是:
1、适应于多种缺陷类型。CNN模型(CNN二分类模型和CNN多分类模型)对电池板的各种缺陷类型,都是采用相同的处理流程,即通过迭代训练,快速而自动进行特征提取和特征分类。对于新缺陷类型,只需收集该缺陷类型的样本数据,添加到训练用的数据集中并对模型进行训练,就能够实现该缺陷类型的检测。相比人工提取特征的传统方式,适用性更广。
2、对于特征不显著,或有大量杂质阴影干扰的的电池板图像,此时人工提取特征的传统方式无能为力,CNN模型能够自动提取出更本质的图像特征,实现缺陷的检测和分类。
3、对于由M×E个小电池板组成的拼装电池板图像,或单独的一块电池板图像,都可以作为缺陷检测的输入。
4、将卷积神经网络模型应用于太阳能电池板的缺陷识别上,使用2个CNN模型递进地实现了缺陷检测和分类。首先使用CNN二分类模型区分合格与缺陷图像,然后使用CNN多分类模型,对二分类模型判定为缺陷的图像进行分类。这样的设计实现了3个有益的效果:
(1)可以充分利用数量稀少且不平衡的缺陷图像样本。将所有缺陷样本进行步骤S2所述的样本量扩充,并直接合并作为一类,获得较丰富的样本量,与数量丰富的合格样本一起构成数目平衡的二分类数据集。这样,由于二分类数据集的数据量较大,CNN二分类模型区分合格与缺陷样本的准确率也会较高。
(2)在一个缺陷检测系统中,相比缺陷类别的鉴定,区分合格和缺陷样本更为重要。由于CNN二分类模型的准确率更高,因此相比同时进行合格与各类缺陷样本的检测,本发明依次进行缺陷检测和缺陷分类,实现了更好的缺陷检测效果。
(3)CNN二分类模型可以自动提取出一些各类缺陷样本区别于合格样本的共性特征,因此,对于未归类或分类效果差的缺陷类别,在缺陷检测阶段,CNN二分类模型也能以较高的概率将该缺陷类型归类到“缺陷”,而非“合格”。
5.本发明中给出了拼装电池板图像的预处理的合理过程,可以生成高质量的输入图像,供CNN模型的参数训练使用,能有助于提高其模型准确率。
附图说明
图1是本发明的太阳能电池板缺陷检测方法流程图。
图2是本发明实施例中所构建的卷积神经网络结构图。
图3是本发明实施例中二分类数据集和多分类数据集的结构图。
图4是本发明实施例中合格和各缺陷类别的部分样本图像,其中41.合格、42.断栅缺陷、43.开焊缺陷、44.阴影缺陷、45.隐裂缺陷;
图5(a)是本发明实施例中CNN二分类模型的训练过程的损失函数曲线;
图5(b)是本发明实施例中CNN二分类模型的训练过程的准确率曲线;
图6(a)是本发明实施例中CNN多分类模型的训练过程的损失函数曲线;
图6(b)是本发明实施例中CNN多分类模型的训练过程的准确率曲线;
图7是本发明实施例的软件操作界面图。
具体实施方式
下面结合实施例和附图,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的保护范围。
本发明基于卷积神经网络(英文简称为CNN)的太阳能电池板缺陷识别方法(简称方法,参见图1),包括模型离线训练和在线检测两个阶段,
所述的模型离线训练包括以下步骤:
S14:收集太阳能电池板的合格图像和多类缺陷图像,并完成分类,假设缺陷类别数为D;
S15:对步骤S1得到的各类别图像进行数据平衡,使各类别的样本数目充足,以便于模型训练;对于数量较少的各类缺陷图像,采用翻转、旋转、随机平移、随机形变和随机缩放等几何方法进行样本量的扩充;对于数量丰富的合格图像,采用随机欠采样方式,最终获得的各缺陷类别图像的数目充足且数量相近,各缺陷类别图像的数量差别在30%的范围内,合格类别图像的数目与全部缺陷类别图像的数目相近,合格类别图像和全部缺陷类别图像的数量差别在30%的范围内;
S16:将步骤S2获得的各类别图像均转为预设尺寸的灰度图像,得到的图像设为图像矩阵X;
S17:由步骤S3得到的图像矩阵X,经过归一化数据处理后,生成由所有缺陷样本、合格样本组成的二分类数据集,用于缺陷检测;同时生成由多类缺陷组成的多分类数据集,用于缺陷分类;
S18:通过卷积神经网络构建用于缺陷检测的CNN二分类模型和用于缺陷分类的CNN多分类模型;
S19:在步骤S4所述的二分类数据集上训练步骤S5所述的CNN二分类模型,在步骤S4所述的多分类数据集上训练步骤S5所述的CNN多分类模型,训练方式为小批量梯度下降,训练算法是反向传播算法,当达到预设的迭代轮数epoch时,训练结束,保存训练完成的CNN二分类模型和CNN多分类模型;
所述的在线检测包括以下步骤:
S20:获取待识别的太阳能电池板图像,设为I;
S21:对步骤S7所述的电池板图像I进行图像预处理,得到水平放置、不含背景、矩形的电池板图像Id;
S22:若步骤S8得到的预处理后的电池板图像Id是由M×E个小电池板组成的拼装电池板图像,则将其分割为M×E个单独的小电池板图像,并记录每个小电池板在大电池板上的位置;若Id已经是单独的一块电池板,则无需分割,直接作为数目为1的小电池板图像进入步骤S10;
S23:将步骤S9的所有小电池板图像(1个或M×E个),全部转为预设尺寸N×N的灰度图像,并对该灰度图像进行归一化处理;
S24:缺陷检测:将步骤S10得到的所有归一化处理后的灰度图像输入到由步骤S6得到的训练完成的CNN二分类模型,进行特征提取和特征分类,输出该图像属于合格类别的概率;若概率高于某个设定的缺陷阈值,则判断为合格的电池板图像;否则判断为存在缺陷的电池板图像,并进行步骤S12;
S25:缺陷分类:将步骤S11中判断为存在缺陷的电池板图像输入到由步骤S6得到的训练完成的CNN多分类模型,进行特征提取和特征分类,得到该图像属于各缺陷类别的概率,将其中最大的概率值所属的缺陷类别作为判定的缺陷类别;
S26:对步骤S9的每个小电池板图像都进行步骤11~S12,并在电池板图像上标记存在缺陷的位置和缺陷类别,输出检测结果。
步骤11中所述缺陷阈值为0.5-0.9。
进一步地,所述的步骤S4包括以下子步骤:
S4-1:对于图像矩阵X做归一化处理。图像矩阵X的像素的取值范围为[0,255],有n个像素,按照式(1)将图像矩阵X的像素的取值范围缩放到区间[0,1]并消去均值,完成对图像矩阵X的归一化处理,得到归一化处理后的图像
式中,xi为中的某一个元素;
S4-2:将中所有的缺陷类别的图像合并为一类,将中所有的合格类别的图像作为一类:
将两类图像矩阵设为和它所属的类别标记y0组合成作为一个训练样本,其中y0∈{0,1},0和1分别表示“缺陷”和“合格”类别,由“缺陷”和“合格”两个类别的训练样本组成二分类数据集,用于缺陷检测;
S4-3:将中的D个类别的缺陷图像矩阵设为和它所属的缺陷类别标记y1组合成作为一个训练样本,其中y1∈{1,2,3,...,D},每个数字代表一个缺陷类别,由D个缺陷类别的训练样本组成多分类数据集,用于缺陷分类;
对于步骤S4-2中的二分类数据集和步骤S4-3中的多分类数据集,在每个数据集中,将其它各类训练样本随机混合,用来保证训练的有效性。
进一步地,所述的步骤S5中构建的CNN二分类模型和CNN多分类模型只有S5-2、S5-3的分类数Ns2不同,其余结构相同,具体结构如下:
S5-1:卷积神经网络结构从输入到输出依次为:输入层1、第一卷积层2、第一激活层3、第二卷积层4、第二激活层5、最大池化层6、第一dropout层7、第一全连接层8、批规范化层9、第三激活层10、第二dropout层11、第二全连接层12、输出层13;
S5-2:输入层1所输入的图像大小与在线预设尺寸相同,为N×N,
S5-3:第一卷积层2使用Nc1个尺寸为kc1×kc1的卷积核,以步长S1对S5-2中输入图像做卷积操作,提取出图像的Nc1个特征图谱,经过第一激活层3与第二卷积层4相连接;
S5-4:第一激活层3、第二激活层5和第三激活层10的激活函数选择为ReLU函数;
S5-5:第二卷积层4使用Nc2个尺寸为kc2×kc2×Nc1的卷积核,以步长S2对S5-3中的特征图谱做卷积操作,提取出该层的Nc2个特征图谱,经过第二激活层5与最大池化层6相连接;
S5-7:最大池化层6的尺寸为P×P,对第二卷积层4得到的特征图谱进行二次采样,然后将输出展开成为一维向量,与第一dropout层7相连;
S5-8:第一dropout层7和第二dropout层11是在每次训练中随机断开一定百分比的连接,达到正则化的效果,防止过拟合,第一dropout层7断开连接的百分比是d1;
S5-9:第一dropout层7的输出与第一全连接层8相连,第一全连接层8中的隐含层神经元个数为Ns1,输出与批规范化层9相连;批规范化层9的作用是在训练中的每批样本(batch)上,将前一层的激活值重新规范化,使每层的输入数据的分布稳定化,批规范化层9的输入经过第三激活层10,与第二dropout层11相接;
S5-10:第二dropout层11断开连接的百分比是d2,该层输出与第二全连接层12相接;
S5-12:第二全连接层12的隐含层神经元个数为Ns2,Ns2与CNN二分类模型或CNN多分类模型(例如,CNN二分类模型的分类数是2,则Ns2=2,CNN多分类模型的分类数是D,则Ns2=D)的分类数相同,该层与输出层13相接;
S5-13:输出层13是softMax分类器,选择损失函数J(θ)为
式中θ表示需要经过迭代训练求得的CNN多分类模型或CNN二分类模型的模型参数,其中θ(k)表示CNN多分类模型或CNN二分类模型判断输入为第k个类别时对应的模型参数;T(t)表示二分类数据集或多分类数据集中的第t个样本;1{}为示性函数,若括号中的表达式为真,则示性函数的函数值为1,否则为0;Ns2即为分类数;m为二分类数据集或多分类数据集的训练样本数。
上述两个CNN二分类模型或CNN多分类模型的结构所选择的层、层数、顺序,能较好的实现分类效果。
进一步地,所述的步骤S8包括以下子步骤:
S8-1:对输入图像I做预处理,具体包括以下子步骤:
1)将输入的电池板图像I转换为灰度图像I1。
2)对图像I1进行核大小为kmed×kmed的中值滤波,得到图像I2。用于去除图像噪声干扰,又能相对保持图像边缘信息。
3)对图像I2做二值化操作,得到像素值xi∈{0,255}的二值图像I3。
4)对二值图像I3做先开后闭的形态学运算,结构元素是半径为r1的圆盘形,该结构元素用于去除背景区域中的高亮度杂质和电池板区域中的深色杂质,使整块电池板区域变为连通区域。
S8-2:步骤S8-1得到的图像设为Ia。对Ia做进一步处理,初步去除电池板图像中的背景,得到电池板的最小外接矩形区域的图像Ib。具体包括以下子步骤:
1)获取图像Ia所有的连通区域,设为集合S。
2)取集合S中面积最大的连通区域s。
3)获取面积最大的连通区域s的最小外接矩形的位置,在输入的电池板图像I上截取该矩形区域,得到图像Ib。
S8-3:对步骤S8-2得到的图像Ib做透视变换,消除由拍摄角度造成的透视问题,获得较标准的水平的矩形电池板图像Ic。具体包括以下子步骤:
1)通过角点提取算法,获取图像Ib中电池板的四个顶角点的位置(XCNj,YCNj)(其中j=1,2,3,4,分别表示图像的“左上”、“右上”、“左下”、“右下”角的位置。具体流程如下:
A.在图像Ib的在四个顶点位置切割w×w大小的边角图像IRj(其中j=1,2,3,4,分别代表图像的“左上”、“右上”、“左下”、“右下”角的位置)。
B.对图像IRj做核为kmed1×kmed1的中值滤波。
C.对图像IRj依次做形态学腐蚀运算(结构元素是半径为r2的圆盘形),第一形态学开运算(结构元素是长度为l1的单位行向量),第二形态学开运算(结构元素是长度为l2的单位列向量)。
D.将图像IR2左右翻转,IR3上下翻转,IR4左右翻转并上下翻转,使所有IRj的边角朝向一致。
E.对图像IRj做核为kmed2×kmed2的中值滤波和二值化操作,得到像素值二值图像IRbj。
F.对图像IRbj从上到下逐行统计均值avea。判断avea是否大于某个预设的阈值h0,若是,获取当前行号HTj,并进行步骤E;否则进行步骤F。
G.对图像IRbj从左到右逐列统计均值aveb。判断aveb是否大于某个预设的阈值h0,若是,获取当前列号HLj,并进行步骤F;否则进行步骤G。
H.根据(HLj,HTj)求得该角点在图像Ib中的坐标(XCNj,YCNj)。
2)求解下述方程,得到透视变换矩阵U。
其中,a,b,c,d,e,f,g,h是待求的变换矩阵U的元素;(xCNj,yCNj)(其中j=1,2,3,4)是透视变换后,图像Ic中电池板四个顶角点的位置,预先指定为图像Ib的四个顶点的坐标。
3)对图像Ib的每个像素的坐标(XIb,YIb)进行下式的求解,得到每个像素变换后对应的坐标(xIb,yIb),再经过插值运算,最终求得透视变换后的图像Ic。
其中W=gxIb+hyIb+1。
S8-4:进一步去除步骤S8-3得到的图像Ic中的背景,得到水平放置、不含背景、矩形的电池板图像Id。具体包括以下子步骤:
1)对图像Ic进行步骤S8-1所述的预处理操作,得到处理后的图像,设为Ic1。
2)对图像Ic1从上到下逐行统计均值ave1。判断ave1是否大于某个预设的阈值h1,若是,获取当前行号hT,并进行步骤E;否则进行步骤2)。
3)对图像Ic1从左到右逐列统计均值ave2。判断ave2是否大于某个预设的阈值h1,若是,获取当前列号hL,并进行步骤F;否则进行步骤3)。
4)对图像Ic1从下到上逐行统计均值ave3。判断ave3是否大于某个预设的阈值h1,若是,获取当前行号hB,并进行步骤E;否则进行步骤4)。
5)对图像Ic1从右到左逐列统计均值ave4。判断ave4是否大于某个预设的阈值h1,若是,获取当前列号hR,并进行步骤F;否则进行步骤5)。
6)根据图像Ic中电池板区域距离图像边界的上边距hT,左边距hL,下边距hB和右边距hR,在图像Ic上截取出矩形的电池板区域,得到图像Id。
每个像素二值化后,只有0或1两个值,对某行元素取的均值将介于0和1之间。上述阈值h0和h1表示了值为1的元素所占比例。该比例是通过实验测得的经验数值,具体情形不同(如光照不同的条件下)会有改变。
本发明方法中离线阶段和在线阶段的图像预设尺寸相同,该预设尺寸过大,则远远超出计算机的处理能力;尺寸过小,则丢失图像的特征信息,无法实现有效的识别。尺寸选取也与原始图像的分辨率有关。
实施例1
本实施例一种基于卷积神经网络的太阳能电池板缺陷识别方法,包括模型离线训练和在线检测两个阶段。
所述的模型离线训练包括以下步骤:
S1:收集太阳能电池板的合格图像和多类缺陷图像,并完成分类。缺陷为开焊、断栅、阴影、隐裂共4类,获得的样本图片数分别为14、32、72、10,除此以外,还有9张未归类的缺陷样本图片。合格的样本图片数为1500。
S2:对步骤S1得到的各类别图像进行数据平衡,使各类别的样本数目充足且具有大约相同数量的样本,以便于模型训练:对于数量较少的四类缺陷图像,采用左右翻转、上下翻转、180°旋转,并对原图像和该3种变换后的图像进行随机的平移和伸缩形变(平移量和边长伸缩量的范围均为图像边长的8%),得到原来8倍的数目(4类缺陷的样本图片数分别变为112,256,576,80),实现样本量的扩充;对于数量丰富的合格图像,采用随机欠采样方式,最终获得的各缺陷类别图像的数目充足且数量相近。合格类别图像的数目与全部缺陷类别图像的数目相近。
S3:将步骤S2获得的各类别图像转为预先设定尺寸为120×120的灰度图像,得到的图像设为图像矩阵X;
S4:由步骤S3得到的图像矩阵X,经过归一化数据处理后,生成由所有缺陷样本、合格样本组成的二分类数据集,用于缺陷检测;和由多类缺陷组成的多分类数据集,用于缺陷分类。二分类数据集和多分类数据集的结构参见图3;
S5:通过卷积神经网络构建用于缺陷检测的CNN二分类模型和用于缺陷分类的CNN多分类模型;
S6:在步骤S4所述的二分类数据集上训练步骤S5所述的CNN二分类模型,在步骤S4所述的多分类数据集上训练步骤S5所述的CNN多分类模型。训练方式为小批量梯度下降,一个batch的尺寸为25,训练中的优化器选用Adam(Adam的参数设置为学习率lr=0.001,beta1=0.9,beta2=0.999,epsilon=1e-08,其中beta1、beta2为介于0到1的数,epsilon为防止被零除而设置的一个大于零的小数),训练算法是反向传播算法,当达到预设的迭代轮数(CNN二分类模型迭代11轮,CNN多分类模型迭代15轮)时,训练结束。将训练完成的CNN二分类模型和CNN多分类模型保存到硬盘中;
所述的在线检测包括以下步骤:
S7:获取待识别的太阳能电池板图像,为6×10个小电池板组成的拼装电池板图像,设为I;
S8:对步骤S7所述的电池板图像I进行图像预处理,得到水平放置、不含背景、矩形的电池板图像Id;
S9:若步骤S8得到的预处理后的电池板图像Id是由6×10个小电池板组成的拼装电池板图像,则将其分割为6×10个单独的小电池板图像,并记录每个小电池板在大电池板上的位置;若Id已经是单独的一块电池板,则无需分割,直接作为数目为1的小电池板图像进入步骤S10;
S10:将步骤S9的若干小电池板图像(1个或6×10个),全部转为预设尺寸为120×120的灰度图像,并进行步骤S4-1所述的归一化处理;
S11:缺陷检测。将步骤S10得到的所有归一化处理后的灰度图像输入到由步骤S6得到的训练完成的CNN二分类模型,进行特征提取和特征分类,输出该图像属于合格类别的概率;若概率高于设定的缺陷阈值0.5,则判断为合格的电池板图像;否则判断为存在缺陷的电池板图像,并进行步骤S12;
S12:缺陷分类。将步骤S11中判断为存在缺陷的电池板图像输入到由步骤S6得到的训练完成的CNN多分类模型,进行特征提取和特征分类,得到该图像属于各缺陷类别的概率,将其中最大的概率值所属的缺陷类别作为判定的缺陷类别;
S13:对步骤S9的每个小电池板图像都进行步骤S10~S12,并在大电池板图像上标记存在缺陷的小电池板的位置和缺陷类别,输出检测结果。
所述的步骤S4包括以下子步骤:
S4-1:对于图像矩阵X做归一化处理。图像矩阵X的像素的取值范围为[0,255],需要将该范围缩放到区间[0,1],并消去均值。对于有n个像素的图像矩阵X,缩放和均值消去用公式表达为:
式中为变换后的图像矩阵,xi为中的某一个元素。
S4-2:将中所有的缺陷类别的图像合并为一类,将中所有的合格类别的图像作为一类。将这些图像矩阵设为和它所属的类别标记y0组合成作为一个训练样本。其中y0∈{0,1},0和1分别表示“缺陷”和“合格”类别。由“缺陷”和“合格”两个类别的训练样本组成二分类数据集,用于缺陷检测。其中训练集占样本数的70%,测试集占样本数的30%。
S4-3:将中的4个类别的缺陷图像矩阵设为和它所属的缺陷类别标记y1组合成作为一个训练样本。其中y1∈{1,2,3,4},每个数字代表一个缺陷类别。由4个缺陷类别的训练样本组成多分类数据集,用于缺陷分类。其中训练集占样本数的68%,测试集占样本数的32%。
S4-4:对于步骤S4-2中的二分类数据集和步骤S4-3中的多分类数据集,在每个数据集中,将各类别的训练样本随机混合,用来保证训练的有效性。
进一步地,所述的步骤S5中构建的CNN二分类模型和CNN多分类模型只有S5-2、S5-3的分类数Ns2不同,其余结构相同。具体结构如下:
S5-1:从模型的输入到输出,结构依次为:输入层1、第一卷积层2、第一激活层3、第二卷积层4、第二激活层5、最大池化层6、第一dropout层7、第一全连接层8、批规范化层9、第三激活层10、第二dropout层11、第二全连接层12、输出层13。
S5-2:输入层1所输入的图像大小为120×120。
S5-3:第一卷积层2使用32个尺寸为8×8的卷积核,以步长为1对S5-2中输入图像做卷积操作,提取出图像的32个特征图谱,经过第一激活层3,与第二卷积层4相连接。
S5-4:第一激活层3、第二激活层5和第三激活层10的激活函数选择为ReLU函数。
S5-5:第二卷积层4使用32个尺寸为8×8×32的卷积核,以步长为1对S5-3中的特征图谱做卷积操作,提取出该层的32个特征图谱,经过第二激活层5与最大池化层6相连接。
S5-7:最大池化层6的尺寸为4×4,对第二卷积层4得到的特征图谱进行二次采样。然后将输出展开成为一维向量,与第一dropout层7相连。
S5-8:第一dropout层7和第二dropout层11是在每次训练中随机断开一定百分比的连接,达到正则化的效果,防止过拟合。第一dropout层7断开连接的百分比是50%。
S5-9:第一dropout层7的输出与第一全连接层8相连。第一全连接层8的隐含层神经元个数为128,输出与批规范化层9相连。
S5-10:批规范化层9的作用是在训练中的每批样本(batch)上,将前一层的激活值重新规范化,使每层的输入数据的分布稳定化。该层的输入经过第三激活层10,与第二dropout层11相接。
S5-11:第二dropout层11断开连接的百分比是50%。该层输出与第二全连接层12相接。
S5-12:第二全连接层12的隐含层神经元个数为Ns2。CNN二分类模型中Ns2=2,CNN多分类模型中Ns2=4。该层与输出层13相接。
S5-13:输出层13是softMax分类器,选择损失函数J(θ)为
式中θ表示需要经过迭代训练求得的CNN多分类模型或CNN二分类模型的模型参数,其中θ(k)表示CNN多分类模型或CNN二分类模型判断输入为第k个类别时对应的模型参数;T(t)表示二分类数据集或多分类数据集中的第t个样本;1{}为示性函数,若括号中的表达式为真,则示性函数的函数值为1,否则为0;Ns2即为分类数;m为二分类数据集或多分类数据集的训练样本数。
所述的步骤S8包括以下子步骤:
S8-1:对输入图像I做预处理。具体包括以下子步骤:
1)将输入的电池板图像I转换为灰度图像I1。
2)对图像I1进行核大小为5×5的中值滤波,得到图像I2。用于去除图像噪声干扰,又能相对保持图像边缘信息。
3)对图像I2做二值化操作,得到像素值xi∈{0,255}的二值图像I3。
4)对二值图像I3做先开后闭的形态学运算,结构元素是半径为20的圆盘形。用于去除背景区域中的高亮度杂质和电池板区域中的深色杂质,使整块电池板区域变为连通区域。
S8-2:步骤S8-1得到的图像设为Ia。对Ia做进一步处理,初步去除电池板图像中的背景,得到电池板的最小外接矩形区域的图像Ib。具体包括以下子步骤:
1)获取图像Ia所有的连通区域,设为集合S。
2)取集合S中面积最大的连通区域s。
3)获取区域s的最小外接矩形的位置,在输入图像I上截取该矩形区域,得到图像Ib。
S8-3:对步骤S8-2得到的图像Ib做透视变换,消除由拍摄角度造成的透视问题,获得较标准的水平的矩形电池板图像Ic。具体包括以下子步骤:
1)通过角点提取算法,获取图像Ib中电池板的四个顶角点的位置(XCNj,YCNj)(其中j=1,2,3,4,分别表示图像的“左上”、“右上”、“左下”、“右下”角的位置。具体流程如下:
A.在图像Ib的在四个顶点位置切割140×140大小的边角图像IRj(其中j=1,2,3,4,分别代表图像的“左上”、“右上”、“左下”、“右下”角的位置)。
B.对图像IRj做卷积核为5×5的中值滤波。
C.对图像IRj依次做形态学腐蚀运算(结构元素是半径为20的圆盘形),第一形态学开运算1(结构元素是长度为50的单位行向量),第二形态学开运算2(结构元素是长度为50的单位列向量)。
D.将图像IR2左右翻转,IR3上下翻转,IR4左右翻转并上下翻转,使所有IRj的边角朝向一致。
E.对图像IRj做核为5×5的中值滤波和二值化操作,得到像素值二值图像IRbj。
F.对图像IRbj从上到下逐行统计均值avea。判断avea是否大于某个预设的阈值0.005,若是,获取当前行号HTj,并进行步骤E;否则进行步骤F。
G.对图像IRbj从左到右逐列统计均值aveb。判断aveb是否大于某个预设的阈值0.005,若是,获取当前列号HLj,并进行步骤F;否则进行步骤G。
H.根据(HLj,HTj)求得该角点在图像Ib中的坐标(XCNj,YCNj)。
2)求解下述方程,得到透视变换矩阵U。
其中,a,b,c,d,e,f,g,h是待求的变换矩阵U的元素;(xCNj,yCNj)(其中j=1,2,3,4)是透视变换后,图像Ic中电池板四个顶角点的位置,预先指定为图像Ib的四个顶点的坐标。
3)对图像Ib的每个像素的坐标(XIb,YIb)进行下式的求解,得到每个像素变换后对应的坐标(xIb,yIb),再经过插值运算,最终求得透视变换后的图像Ic。
其中W=gxIb+hyIb+1。
S8-4:进一步去除步骤S8-3得到的图像Ic中的背景,得到水平放置、不含背景、矩形的电池板图像Id。具体包括以下子步骤:
1)对图像Ic进行步骤S8-1所述的预处理操作,得到处理后的图像,设为Ic1。
2)对图像Ic1从上到下逐行统计均值ave1。判断ave1是否大于某个预设的阈值0.05,若是,获取当前行号hT,并进行步骤E;否则进行步骤2)。
3)对图像Ic1从左到右逐列统计均值ave2。判断ave2是否大于某个预设的阈值0.05,若是,获取当前列号hL,并进行步骤F;否则进行步骤3)。
4)对图像Ic1从下到上逐行统计均值ave3。判断ave3是否大于某个预设的阈值0.05,若是,获取当前行号hB,并进行步骤E;否则进行步骤4)。
5)对图像Ic1从右到左逐列统计均值ave4。判断ave4是否大于某个预设的阈值0.05,若是,获取当前列号hR,并进行步骤F;否则进行步骤5)。
6)根据图像Ic中电池板区域距离图像边界的上边距hT,左边距hL,下边距hB和右边距hR,在图像Ic上截取出矩形的电池板区域,得到图像Id。
下面通过模型在数据集上的实验结果,说明本发明应用于太阳能电池板缺陷检测和分类的准确性。
CNN二分类模型在二分类数据集上的训练过程的损失函数曲线(参见图5(a))和准确率曲线(参见图5(b)),训练的试验结果如下表1所示。观察损失函数曲线可以看出,损失函数在训练集上是逐轮降低的,最终收敛,第11轮降为0.0429,在测试集上则出现了震荡现象。经过11轮迭代,模型在训练集上达到了100%的准确度,在测试集上也达到了高达94.91%的准确度。
表1 CNN二分类模型的试验结果
CNN多分计类模型在多分类数据集上的训练过程的损失%函数曲线(参见图6(a))和准确率曲线(参见图6(b)),训练的试验结果如下表2所示。观察损失函数曲线可以看出,损失函数在训练集上是逐轮降低的,最终收敛,第15轮降为0.023;在测试集上,第15轮降低为0.5252。实验结果表明,在已选好的参数的模型的训练下,经过15轮迭代,模型在训练集上达到了100%的准确度,在测试集上也达到了高达95.74%的准确度。以上结果证明本发明的检测方法具有较高的缺陷检测和分类准确率。
表2 CNN多分类模型的试验结果
应用本发明的技术原理,开发了基于PyQt5的太阳能电池板缺陷检测系统的图形用户界面(参见附图7)。操作流程如下:
1、点击界面左上角的“Select Image”按钮,选择一张6×10个小电池板组成的拼装电池板图像,作为原始输入图像。
2、点击界面上方“Detect”按钮,软件自动载入在硬盘中保存的CNN二分类模型和CNN多分类模型文件,进行所述的“在线检测”阶段,即步骤S7~S13的处理流程。
3、“在线检测”阶段处理完成后,缺陷概率以图形的方式显示在界面的右上方,其中判断为缺陷的小电池板区域用橘黄色表示;另外,判断为缺陷的位置用红色方框标注在界面左上方的输入图像上;缺陷分类结果以表格的形式显示在界面下方,行名为某类缺陷,列名为缺陷的位置,最高概率的缺陷类别使用彩色进行标注;程序的处理过程则在界面右下方的文本框中显示。
结果显示,输入的拼接电池板图像上的60块小电池板中,共有16块小电池板被判断为存在缺陷,且均判断为“断栅”缺陷类型,与真正的缺陷位置和类型相符。
该软件的成功开发和应用,证明本发明的一种基于卷积神经网络的太阳能电池板缺陷识别方法具有可行性。
本发明未尽事宜为公知技术。
Claims (5)
1.一种基于卷积神经网络的太阳能电池板缺陷识别方法,包括模型离线训练和在线检测两个阶段,
所述的模型离线训练包括以下步骤:
S1:收集太阳能电池板的合格图像和多类缺陷图像,并完成分类,假设缺陷类别数为D;
S2:对步骤S1得到的各类别图像进行数据平衡,使各类别的样本数目充足;对于数量较少的各类缺陷图像,采用翻转、旋转、随机平移、随机形变和随机缩放方式进行样本量的扩充;对于数量丰富的合格图像,采用随机欠采样方式筛减,最终获得的各缺陷类别图像的数目充足且各缺陷类别图像的数量差别在30%的范围内,合格类别图像和全部缺陷类别图像的数量差别在30%的范围内;
S3:将步骤S2获得的各类别图像均转为预设尺寸的灰度图像,得到的图像设为图像矩阵X;
S4:由步骤S3得到的图像矩阵X,经过归一化数据处理后,生成由所有缺陷样本、合格样本组成的二分类数据集,用于缺陷检测;同时生成由多类缺陷组成的多分类数据集,用于缺陷分类;
S5:通过卷积神经网络构建用于缺陷检测的CNN二分类模型和用于缺陷分类的CNN多分类模型;
S6:在步骤S4所述的二分类数据集上训练步骤S5所述的CNN二分类模型,在步骤S4所述的多分类数据集上训练步骤S5所述的CNN多分类模型,训练方式为小批量梯度下降,训练算法是反向传播算法,当达到预设的迭代轮数epoch时,训练结束,保存训练完成的CNN二分类模型和CNN多分类模型;
所述的在线检测包括以下步骤:
S7:获取待识别的太阳能电池板图像,设为I;
S8:对步骤S7所述的电池板图像I进行图像预处理,得到水平放置、不含背景、矩形的电池板图像Id;
S9:若步骤S8得到的预处理后的电池板图像Id是由M×E个小电池板组成的拼装电池板图像,则将其分割为M×E个单独的小电池板图像,并记录每个小电池板在大电池板上的位置;若Id已经是单独的一块电池板,则无需分割,直接作为数目为1的小电池板图像进入步骤S10;M*E表示的是一个小电池板的长度和宽度的大小,M和E取正数;
S10:将步骤S9的所有小电池板图像,全部转为预设尺寸N×N的灰度图像,并对该灰度图像进行归一化处理,N*N表示想要设置的小电池板的长度和宽度的大小,N为小于M和E的正整数;
S11:缺陷检测:将步骤S10得到的所有归一化处理后的灰度图像输入到由步骤S6得到的训练完成的CNN二分类模型,进行特征提取和特征分类,输出该图像属于合格类别的概率;若概率高于某个设定的缺陷阈值,则判断为合格的电池板图像;否则判断为存在缺陷的电池板图像,并进行步骤S12;
S12:缺陷分类:将步骤S11中判断为存在缺陷的电池板图像输入到由步骤S6得到的训练完成的CNN多分类模型,进行特征提取和特征分类,得到该图像属于各缺陷类别的概率,将其中最大的概率值所属的缺陷类别作为判定的缺陷类别;
S13:对步骤S9的每个小电池板图像都进行步骤11~S12,并在电池板图像上标记存在缺陷的位置和缺陷类别,输出检测结果。
2.根据权利要求1所述的基于卷积神经网络的太阳能电池板缺陷识别方法,其特征在于所述步骤S11中的缺陷阈值为0.5-0.9。
3.根据权利要求1所述的基于卷积神经网络的太阳能电池板缺陷识别方法,其特征在于,所述的步骤S4包括以下子步骤:
S4-1:对于图像矩阵X做归一化处理:图像矩阵X的像素的取值范围为[0,255],有n个像素,按照式(1)将图像矩阵X的像素的取值范围缩放到区间[0,1]并消去均值,完成对图像矩阵X的归一化处理,得到归一化处理后的图像
式中,xi为中的某一个元素;
S4-2:将中所有的缺陷类别的图像合并为一类,将中所有的合格类别的图像作为一类:
将两类图像矩阵设为和它所属的类别标记y0组合成作为一个训练样本,其中y0∈{0,1},0和1分别表示“缺陷”和“合格”类别,由“缺陷”和“合格”两个类别的训练样本组成二分类数据集,用于缺陷检测;
S4-3:将中的D个类别的缺陷图像矩阵设为和它所属的缺陷类别标记y1组合成作为一个训练样本,其中y1∈{1,2,3,...,D},每个数字代表一个缺陷类别,由D个缺陷类别的训练样本组成多分类数据集,用于缺陷分类。
4.根据权利要求1所述的基于卷积神经网络的太阳能电池板缺陷识别方法,其特征在于,所述的步骤S5中构建的CNN二分类模型和CNN多分类模型只有步骤S5-2、S5-3的分类数Ns2不同,其余结构相同,具体结构如下:
S5-1:卷积神经网络结构从输入到输出依次为:输入层、第一卷积层、第一激活层、第二卷积层、第二激活层、最大池化层、第一dropout层、第一全连接层、批规范化层、第三激活层、第二dropout层、第二全连接层、输出层;
S5-2:输入层所输入的图像大小与在线预设尺寸相同,为N×N,
S5-3:第一卷积层使用Nc1个尺寸为kc1×kc1的卷积核,以步长S1对S5-2中输入图像做卷积操作,提取出图像的Nc1个特征图谱,经过第一激活层与第二卷积层相连接;
S5-4:第一激活层、第二激活层和第三激活层的激活函数选择为ReLU函数;
S5-5:第二卷积层使用Nc2个尺寸为kc2×kc2的卷积核,以步长S2对S5-3中的特征图谱做卷积操作,提取出该层的Nc2个特征图谱,经过第二激活层与最大池化层相连接;
S5-7:最大池化层的尺寸为P×P,对第二卷积层得到的特征图谱进行二次采样,然后将输出展开成为一维向量,与第一dropout层相连;
S5-8:第一dropout层和第二dropout层是在每次训练中随机断开一定百分比的连接,达到正则化的效果,防止过拟合,第一dropout层断开连接的百分比是d1;
S5-9:第一dropout层的输出与第一全连接层相连,第一全连接层中的隐含层神经元个数为Ns1,输出与批规范化层相连;批规范化层的作用是在训练中的每批样本上,将前一层的激活值重新规范化,使每层的输入数据的分布稳定化,批规范化层的输入经过第三激活层,与第二dropout层相接;
S5-10:第二dropout层断开连接的百分比是d2,第二dropout层输出与第二全连接层相接;
S5-12:第二全连接层的隐含层神经元个数为Ns2,Ns2与CNN二分类模型或CNN多分类模型的分类数相同,该层与输出层相接;
S5-13:输出层是softMax分类器,选择损失函数J(θ)为
式中θ表示需要经过迭代训练求得的CNN多分类模型或CNN二分类模型的模型参数,其中θ(k)表示CNN多分类模型或CNN二分类模型判断输入为第k个类别时对应的模型参数;T(t)表示二分类数据集或多分类数据集中的第t个样本;1{}为示性函数,若括号中的表达式为真,则示性函数的函数值为1,否则为0;m为二分类数据集或多分类数据集的训练样本数;kc1×kc1表示第一卷积层卷积核的大小,kc2×kc2中kc2×kc2表示第二卷积层卷积核的大小,而Nc2表示第二卷积层卷积核的个数;P×P表示最大池化层的大小,N×N表示的是想要设置的小电池板的长度和宽度的大小;θ(v)表示CNN多分类模型或CNN二分类模型中所有类别时对应的模型参数,v=1、2…、Ns2。
5.根据权利要求1所述的基于卷积神经网络的太阳能电池板缺陷识别方法,其特征在于,所述的步骤S8包括以下子步骤:
S8-1:对输入图像I做预处理,具体包括以下子步骤:
1)将输入的电池板图像I转换为灰度图像I1;
2)对图像I1进行核大小为kmed×kmed的中值滤波,得到图像I2;
3)对图像I2做二值化操作,得到像素值xi∈{0,255}的二值图像I3;
4)对二值图像I3做先开后闭的形态学运算,结构元素是半径为r1的圆盘形,该结构元素用于去除背景区域中的高亮度杂质和电池板区域中的深色杂质,使整块电池板区域变为连通区域;
S8-2:步骤S8-1得到的图像设为Ia,对Ia做进一步处理,初步去除电池板图像中的背景,得到电池板的最小外接矩形区域的图像Ib,具体包括以下子步骤:
1)获取图像Ia所有的连通区域,设为集合S;
2)取集合S中面积最大的连通区域s;
3)获取面积最大的连通区域s的最小外接矩形的位置,在输入的电池板图像I上截取该矩形区域,得到图像Ib;
S8-3:对步骤S8-2得到的图像Ib做透视变换,消除由拍摄角度造成的透视问题,获得标准的水平的矩形电池板图像Ic,具体包括以下子步骤:
1)通过角点提取算法,获取图像Ib中电池板的四个顶角点的位置(XCNj,YCNj),其中j=1,2,3,4,分别表示图像的“左上”、“右上”、“左下”、“右下”角的位置,具体流程如下:
A.在图像Ib的在四个顶点位置切割w×w大小的边角图像IRj,
B.对图像IRj做核为kmed1×kmed1的中值滤波;
C.对图像IRj依次做形态学腐蚀运算、第一形态学开运算、第二形态学开运算;
D.将右上边角图像IR2左右翻转,左下边角图像IR3上下翻转,右下边角图像IR4左右翻转并上下翻转,使所有图像IRj的边角朝向一致;
E.对图像IRj做核为kmed2×kmed2的中值滤波和二值化操作,得到像素值二值图像IRbj;
F.对图像IRbj从上到下逐行统计均值avea,判断avea是否大于某个预设的阈值h0,若是,获取当前行号HTj,并进行步骤E;否则进行步骤F;
G.对图像IRbj从左到右逐列统计均值aveb,判断aveb是否大于某个预设的阈值h0,若是,获取当前列号HLj,并进行步骤F;否则进行步骤G;
H.根据(HLj,HTj)求得该角点在图像Ib中的坐标(XCNj,YCNj);
2)求解下述方程,得到透视变换矩阵U,
其中,a,b,c,d,e,f,g,h是待求的变换矩阵U的元素;(xCNj,yCNj)是透视变换后,图像Ic中电池板四个顶角点的位置,预先指定为图像Ib的四个顶点的坐标;
3)对图像Ib的每个像素的坐标(XIb,YIb)进行下式的求解,得到每个像素变换后对应的坐标(xIb,yIb),再经过插值运算,最终求得透视变换后的图像Ic;
其中W=gxIb+hyIb+1,kmed×kmed表示对图像I1进行中值滤波的中值滤波核的尺寸大小,(XCNj,YCNj)表示的是电池板图像Ib中四个角点在图像中所处的位置,w×w表示在图像Ib的四个顶点位置切割的边角图像IRj的大小,w×w的值是预先设置的,kmed1×kmed1表示对图像IRj进行中值滤波的中值滤波核的尺寸大小,,IR2表示切割的右上边角图像,IR3表示切割的左下边角图像,IR4表示切割的右下边角图像,kmed2×kmed2表示对图像IRj进行中值滤波的中值滤波核的尺寸大小,gxIb、hyIb表示的是在待变换矩阵U中的元素g、h与像素变换后对应的坐标(xIb,yIb)的点乘;
S8-4:进一步去除步骤S8-3得到的图像Ic中的背景,得到水平放置、不含背景、矩形的电池板图像Id,具体包括以下子步骤:
1)对图像Ic进行步骤S8-1所述的预处理操作,得到处理后的图像,设为Ic1;
2)对图像Ic1从上到下逐行统计均值ave1,判断ave1是否大于某个预设的阈值h1,若是,获取当前行号hT,并进行步骤E;否则进行步骤2);
3)对图像Ic1从左到右逐列统计均值ave2,判断ave2是否大于某个预设的阈值h1,若是,获取当前列号hL,并进行步骤F;否则进行步骤3);
4)对图像Ic1从下到上逐行统计均值ave3,判断ave3是否大于某个预设的阈值h1,若是,获取当前行号hB,并进行步骤E;否则进行步骤4);
5)对图像Ic1从右到左逐列统计均值ave4,判断ave4是否大于某个预设的阈值h1,若是,获取当前列号hR,并进行步骤F;否则进行步骤5);
6)根据图像Ic中电池板区域距离图像边界的上边距hT,左边距hL,下边距hB和右边距hR,在图像Ic上截取出矩形的电池板区域,得到图像Id。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810250676.4A CN108631727B (zh) | 2018-03-26 | 2018-03-26 | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810250676.4A CN108631727B (zh) | 2018-03-26 | 2018-03-26 | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108631727A CN108631727A (zh) | 2018-10-09 |
CN108631727B true CN108631727B (zh) | 2019-08-09 |
Family
ID=63696366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810250676.4A Expired - Fee Related CN108631727B (zh) | 2018-03-26 | 2018-03-26 | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108631727B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109658376A (zh) * | 2018-10-24 | 2019-04-19 | 哈尔滨工业大学 | 一种基于图像识别的表面缺陷识别方法 |
CN109406533A (zh) * | 2018-10-25 | 2019-03-01 | 北京阿丘机器人科技有限公司 | 一种产品表面缺陷的检测系统及方法 |
CN109389599A (zh) * | 2018-10-25 | 2019-02-26 | 北京阿丘机器人科技有限公司 | 一种基于深度学习的缺陷检测方法及装置 |
CN109360658B (zh) * | 2018-11-01 | 2021-06-08 | 北京航空航天大学 | 一种基于词向量模型的疾病模式挖掘方法及装置 |
CN109636792B (zh) * | 2018-12-14 | 2020-05-22 | 易思维(杭州)科技有限公司 | 一种基于深度学习的镜片缺陷检测方法 |
CN109859836B (zh) * | 2019-01-15 | 2022-03-22 | 上海鹰瞳医疗科技有限公司 | 医疗图像识别方法和设备 |
CN109886990B (zh) * | 2019-01-29 | 2021-04-13 | 理光软件研究所(北京)有限公司 | 一种基于深度学习的图像分割系统 |
CN110136110A (zh) * | 2019-05-13 | 2019-08-16 | 京东方科技集团股份有限公司 | 光伏组件缺陷的检测方法和装置 |
CN110309906A (zh) * | 2019-05-23 | 2019-10-08 | 北京百度网讯科技有限公司 | 图像处理方法、装置、机器可读存储介质及处理器 |
CN112085191B (zh) * | 2019-06-12 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 一种神经网络的量化参数确定方法及相关产品 |
CN110598729B (zh) * | 2019-07-24 | 2022-03-29 | 华南理工大学 | 锂电池电极表面缺陷分类方法 |
CN110648323B (zh) * | 2019-09-26 | 2022-08-02 | 上海御微半导体技术有限公司 | 一种缺陷检测分类系统及其方法 |
CN110689011A (zh) * | 2019-09-29 | 2020-01-14 | 河北工业大学 | 多尺度联合卷积神经网络的太阳能电池板缺陷检测方法 |
CN110910352A (zh) * | 2019-11-06 | 2020-03-24 | 创新奇智(南京)科技有限公司 | 基于深度学习的太阳能电池缺陷检测系统及检测方法 |
CN110929773A (zh) * | 2019-11-18 | 2020-03-27 | 上海集成电路研发中心有限公司 | 一种基于深度学习的芯片表面缺陷分类装置和方法 |
DE102020107779A1 (de) * | 2020-03-20 | 2021-09-23 | Schaeffler Technologies AG & Co. KG | Verfahren und Prüfanlage zum Prüfen einer Bipolarplatte einer Brennstoffzelle |
CN111768365B (zh) * | 2020-05-20 | 2023-05-30 | 太原科技大学 | 基于卷积神经网络多特征融合的太阳能电池缺陷检测方法 |
CN111740699A (zh) * | 2020-05-29 | 2020-10-02 | 南京航空航天大学 | 一种光伏板故障检测识别方法、装置和无人机 |
CN112651920A (zh) * | 2020-07-24 | 2021-04-13 | 深圳市唯特视科技有限公司 | Pcb裸板线路瑕疵检测方法、装置、电子设备 |
CN112001901A (zh) * | 2020-08-18 | 2020-11-27 | 济南大学 | 基于卷积神经网络的苹果缺陷检测方法及系统 |
CN114612365B (zh) * | 2020-11-25 | 2024-08-16 | 华东师范大学 | 一种太阳能电池缺陷的自动识别分类系统、方法及其应用 |
CN112419291B (zh) * | 2020-11-30 | 2024-06-04 | 佛山职业技术学院 | 一种瓶胚缺陷检测模型的训练方法、存储介质及终端设备 |
CN112465814A (zh) * | 2020-12-17 | 2021-03-09 | 无锡日联科技股份有限公司 | 基于深度学习的电池overhang的计算方法和装置 |
CN112700412A (zh) * | 2020-12-29 | 2021-04-23 | 南京势创智能科技有限公司 | 基于led光源的光致发光电池片缺陷检测方法 |
CN112834518A (zh) * | 2021-01-06 | 2021-05-25 | 优刻得科技股份有限公司 | 颗粒缺陷检测方法、系统、设备和介质 |
CN113008998B (zh) * | 2021-03-02 | 2023-01-24 | 南京审计大学 | 一种基于pcnn的隐蔽工程内部缺陷判断方法 |
CN112966870B (zh) * | 2021-03-15 | 2023-05-26 | 中冶南方工程技术有限公司 | 一种基于神经网络的冷轧硅钢质量缺陷预测方法 |
CN113192021A (zh) * | 2021-04-26 | 2021-07-30 | 深圳中科飞测科技股份有限公司 | 检测方法及装置、检测设备和存储介质 |
CN114581362B (zh) * | 2021-07-22 | 2023-11-07 | 正泰集团研发中心(上海)有限公司 | 光伏组件缺陷检测方法、装置、电子设备和可读存储介质 |
CN113674150A (zh) * | 2021-07-27 | 2021-11-19 | 上海洪朴信息科技有限公司 | 光伏外观组件测距方法 |
CN113588562A (zh) * | 2021-09-30 | 2021-11-02 | 高视科技(苏州)有限公司 | 应用多轴机械臂的锂电池外观检测方法 |
CN114022426A (zh) * | 2021-10-26 | 2022-02-08 | 苏州三熙智能科技有限公司 | 太阳能电池el图像进行ai识别的串行分析应用方法及系统 |
CN113965164B (zh) * | 2021-12-20 | 2022-03-08 | 江苏格林保尔新能源有限公司 | 一种基于卷积神经网络的太阳能电池组件缺陷检测系统及方法 |
CN115187969B (zh) * | 2022-09-14 | 2022-12-09 | 河南工学院 | 一种基于视觉识别的铅酸电池回收系统和方法 |
CN117094988B (zh) * | 2023-10-16 | 2024-02-02 | 成都电科星拓科技有限公司 | 一种基于ResNet50网络模型的压敏电阻表面微观缺陷检测方法 |
CN118408945B (zh) * | 2024-07-02 | 2024-09-06 | 深圳市精品诚电子科技有限公司 | 一种手机电池盖印刷来料的水煮检测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027380A2 (en) * | 2002-09-18 | 2004-04-01 | The Regents Of The University Of California | Stream-wise thermal gradient cloud condensation nuclei chamber |
DE102011081197A1 (de) * | 2011-08-18 | 2013-02-21 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Modellierung eines technischen Systems |
JP5888640B2 (ja) * | 2011-09-27 | 2016-03-22 | 学校法人明治大学 | 太陽光発電予測装置、太陽光発電予測方法及び太陽光発電予測プログラム |
CN107633513B (zh) * | 2017-09-18 | 2021-08-17 | 天津大学 | 基于深度学习的3d图像质量的度量方法 |
-
2018
- 2018-03-26 CN CN201810250676.4A patent/CN108631727B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN108631727A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108631727B (zh) | 一种基于卷积神经网络的太阳能电池板缺陷识别方法 | |
CN105678788B (zh) | 一种基于hog和低秩分解的织物疵点检测方法 | |
CN107133943A (zh) | 一种防震锤缺陷检测的视觉检测方法 | |
CN102879401A (zh) | 基于模式识别和图像处理的纺织品瑕疵自动检测及分类方法 | |
CN103514452B (zh) | 一种水果形状检测方法及装置 | |
CN110287882A (zh) | 一种基于深度学习的大菊品种图像识别方法 | |
CN109615604A (zh) | 基于图像重构卷积神经网络的零件外观瑕疵检测方法 | |
CN110349125A (zh) | 一种基于机器视觉的led芯片外观缺陷检测方法及系统 | |
CN112001901A (zh) | 基于卷积神经网络的苹果缺陷检测方法及系统 | |
CN105184777A (zh) | 一种基于图像分解的印花图案织物瑕疵检测方法 | |
CN114463280A (zh) | 一种基于改进卷积变分自编码器的芯片表面缺陷并行检测方法 | |
Haoran et al. | Egg crack detection based on support vector machine | |
CN106203536B (zh) | 一种织物疵点的特征提取及检测方法 | |
Li et al. | Wafer crack detection based on yolov4 target detection method | |
CN113298857A (zh) | 一种基于神经网络融合策略的轴承缺陷检测方法 | |
CN108537266A (zh) | 一种深度卷积网络的织物纹理疵点分类方法 | |
CN112614113A (zh) | 一种基于深度学习的带钢缺陷检测方法 | |
CN117197554A (zh) | 一种变压器漏油实时检测方法及系统 | |
CN116740499A (zh) | 一种基于红外热成像技术的煤矸识别方法 | |
CN114066861B (zh) | 一种基于交叉算法边缘检测理论和视觉特征的煤矸识别方法 | |
CN113516193B (zh) | 基于图像处理的红枣缺陷识别分类方法及装置 | |
CN109785315A (zh) | 烟梗重量的测量方法、存储介质、终端及装置 | |
CN114494236A (zh) | 基于过完备卷积神经网络的织物缺陷检测方法及系统 | |
CN114092441A (zh) | 一种基于双重神经网络的产品表面缺陷检测方法及系统 | |
CN112036541A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190809 |