airr Artificial Intelligence and Robotics Research 2326-3415 2326-3423 beplay体育官网网页版等您来挑战! 10.12677/airr.2024.133066 airr-95458 Articles 信息通讯, 工程技术 基于深度学习的光伏电池缺陷自动分类系统
Deep Learning-Based Automatic Classification System for Photovoltaic Cell Defects
宁夏理工学院电气信息工程学院,宁夏 石嘴山 30 06 2024 13 03 648 661 21 6 :2024 21 6 :2024 21 8 :2024 Copyright © 2024 beplay安卓登录 All rights reserved. 2024 This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/ 随着太阳能光伏技术的稳步提升,其性能和稳定性等指标会直接影响系统的工作效率。但是在光伏电池的生产中,常常会出现各种缺陷,这些缺陷可能导致功率输出降低、寿命缩短,甚至严重影响系统的安全和可靠性。传统的光伏电池缺陷分类方法主要依赖于人工提取特征和手动分类,存在效率低、准确性不高的问题。为了解决这一问题,本研究提出了一种基于深度学习的光伏电池缺陷分类方法。本文选择了ResNet-18、ResNet-34、ResNet-50和VGG-16四种不同的深度学习模型作为研究对象,并对不同的模型进行针对性改进,再通过细致的实验设置和严格的评估标准,比较这些改进后的模型在光伏电池缺陷分类任务上的效果。从模型的准确率、损失函数、收敛速度等多个维度进行比较分析,以找出最适合光伏电池缺陷分类任务的网络模型。为光伏电池制造和运行过程中的质量控制和故障诊断提供重要支持。未来,将进一步优化算法性能,探索更加高效和精确的深度学习模型,并结合实际应用需求,推动该技术在光伏电池领域的广泛应用与推广。
With the steady improvement of solar photovoltaic technology, its performance and stability and other indicators will directly affect the efficiency of the system. However, in the production of photovoltaic cells, there are often various defects, which may lead to reduced power output, shortened life, and even seriously affect the safety and reliability of the system. Traditional defect classification methods of photovoltaic cells mainly rely on manual feature extraction and manual classification, which has low efficiency and low accuracy. In order to solve this problem, a deep learning-based defect classification method for photovoltaic cells is proposed in this study. In this paper, four different deep learning models, ResNet-18, ResNet-34, ResNet-50 and VGG-16, were selected as research objects, and targeted improvements were made to the different models. Then, through careful experimental Settings and strict evaluation criteria, the effects of these improved models on the task of photovoltaic cell defect classification were compared. The accuracy, loss function and convergence rate of the model are compared and analyzed to find out the most suitable network model for defect classification of photovoltaic cells. It provides important support for quality control and fault diagnosis during the manufacturing and operation of photovoltaic cells. In the future, the algorithm performance will be further optimized to explore more efficient and accurate deep learning models, and combined with practical application needs, to promote the wide application and promotion of this technology in the field of photovoltaic cells.
缺陷分类,深度学习,光伏电池,图像分类
Defect Classification
Deep Learning Photovoltaic Cells Image Classification
1. 引言

随着全球对可再生能源发展的迅速。光伏电池因具有可持续的能源发展方式,使其在全球范围内都具有很高的热度,产量逐年升高,生产运输过程中出现缺陷的概率也随之提高,电池缺陷的产量增加导致系统工作效率大幅度降低,伴随的是产量的提升没有使系统的发电效率有很明显的提高。

深度学习在图像分类领域开发前,光伏电池缺陷分类方法大多数是依据人的视觉进行识别,这种方式的弊端也很明显,首先,工作人员会因为长时间重复工作而引起视觉疲劳;其次,人的视觉在识别光伏电池是否有缺陷时,思考的时间要比计算机思考的时间久;最后,因为有些缺陷很相似,会导致工作人员进行模糊判断,不仅会影响准确度,还会使光伏电池进行返厂维修时因缺陷的不同增加维修时间。随着光伏产业的迅速发展,光伏电池的产量随着需求量的增加而增多,人工的视觉分类方法很明显无法满足大规模生产需求。

近些年,图像分类技术在深度学习的领域上也有所研究,并取得显著成效。可通过深度学习在缺陷的图像上训练分类模型,将训练好的模型应用到光伏电池缺陷分类上,可高效率、高准确率的对缺陷进行识别。

在深度学习的研究和应用中,选择合适的网络模型对于解决特定的问题至关重要。尤其在光伏电池缺陷分类等视觉识别任务中,模型的选择直接影响到分类的准确性和效率。本文旨在通过对比实验,探究不同的深度网络模型在光伏电池缺陷分类任务上的表现。本文对ResNet-18 [1] 、ResNet-34 [1] 、ResNet-50 [1] 和VGG-16 [2] 四种模型在输出层和归一化层进行了针对性改进,并通过模型的准确率、损失函数、收敛速度等多个维度进行比较分析,以找出最适合光伏电池缺陷分类任务的网络模型。应用在光伏电池缺陷图像上,实现自主分类和识别,有效的解决了在光伏电池大量生产的情况下,缺陷增多使分类任务量增加而导致的效率低下问题,并大大减少了缺陷的光伏电池流入市场的可能。

<xref></xref>2. 总体方案设计

首先要收集光伏电池的图像数据,包括正常和各种缺陷的图像,下一步对收集到的光伏电池图像进行标注,包括正常和不同类型缺陷的图像,例如:裂纹、黒芯、短路、断栅和碎片等。因为收集到部分缺陷的图像数量较少,需要通过数据增强(亮度增强、变暗、旋转和翻转等)的方式来扩充数据集的数量,防止模型出现过拟合,提高其泛化能力。将扩充好的缺陷图像数据集按照4:1的比例分为训练集和测试集,为了改善图像数据,使其更适合后续模型分类任务,需要对训练集和测试集进行预处理,其中训练集里的缺陷图像首先进行随机裁剪为224 × 224尺寸的图像,其次,将其转换转化成Pytorch的张量(Tensor格式),最后进行归一化处理。而测试集预处理需要将图像缩放为256 × 256尺寸、对256 × 256尺寸的图像进行中心裁剪(尺寸为224 × 224),最后进行归一化处理。

本文选择了ResNet-18、ResNet-34、ResNet-50和VGG-16四种不同的深度学习模型作为研究对象,并对这四种模型的输出层和归一化层进行针对性的修改。提出改进的网络模型,旨在优化光伏电池缺陷分类的性能。再将训练好的模型作为特征提取器,用于Softmax分类器进行分类任务,最后将每一种深度卷积神经网络模型通过准确率、召回率和损失函数等指标对比分析得到较好的模型用于对光伏电池缺陷图像进行分类。

<xref></xref>3. 改进优化的网络模型 <xref></xref>3.1. 网络结构微调

本文采用的模型之一——VGG-16模型,为了提高此模型的准确度和收敛速度,更好的与光伏电池缺陷图像数据进行适配,对其输出层的结构进行微调。

VGG-16模型包括5部分特征提取层和输出层(包括全连接层和Softmax分类激活函数),其中特征提取层的每部分结束,都会经过一次最大池化层进行下采样,再经过拉伸操作得到的数据流与4096个神经元进行相连,最后通过Softmax分类操作将其输出为1000个类别结果,其结构如 图1 所示。

Figure 1. VGG-16 output layer structure--图1. VGG-16输出层结构图--

本文的分类结果共有8类,由7类光伏电池缺陷以及正常组成。因此,将网络的最后一层Fc1000删除,并用一个8分类的Softmax分类器对其进行替代,改进后的网络模型如 图2 所示。

Figure 2. Improved VGG-16 model--图2. 改进后的VGG-16模型--

本文应用了ResNet网络中的三个模型(ResNet-18、ResNet-34和ResNet-50)。以ResNet-18为例进行说明,模型包括5部分特征提取层、全连接层和Softmax分类激活函数,其中特征提取层的每部分都有若干个参差块结构组成,最后经过平均池化层进行下采样,将数据流从7 × 7 × 512转变为1*1*512结构,再经过拉伸操作得到的数据流与512个神经元进行相连,最后通过Softmax分类操作将其输出为1000个类别结果,其输出层结构如 图3 所示。

Figure 3. ResNet-18 output layer structure--图3. ResNet-18输出层结构图--

运用一个8分类的Softmax分类器对Fc1000进行替代,改进后的网络模型如 图4 所示。

Figure 4. Improved ResNet-18 model--图4. 改进后的ResNet-18模型--
<xref></xref>3.2. 改进网络归一化层

在深度学习中,层数不断增加的情况下,上层接收数据的分布会受到低层参数的影响。这种现象,经过多个层的累积作用,会使得网络顶层面对的输入数据分布发生显著的变动。网络的高层需要不断适应来自底层参数变化引起的输入分布的波动,这个过程会显著减缓网络整体的学习进度。因此,引入了归一化策略,其核心思想是通过将输入数据的分布规范到一个特定的范围内,来稳定每一层的输入分布。这样做可以减少输入分布变动对网络的影响,进而提高网络学习的效率。在神经网络中,广泛采用的归一化技术包括实例归一化(Instance Normalization, IN) [3] 、层归一化(Layer Normalization, LN) [4] 和批归一化(Batch Normalization, BN) [5]

在经典的残差网络设计中,批归一化(BN)被广泛应用于卷积层后。然而BN的效果受到Batch大小的影响较大,主要是因为它在计算数据的均值和方差时依赖于批量内的样本。在小批量数据的情况下,得到的统计量可能无法准确反映整体数据分布,从而影响BN的性能。所以本文采用自适配归一化(Switchable Normalization, SN) [6] 。SN融合了批归一化、层归一化(LN)和实例归一化(IN)的特点,能够独立于批量大小,在各种不同Batch大小下保持性能稳定。此外,考虑到网络中不同层承担的功能各异,输出SN归一化后的像素值为 h ^ n c i j ,SN的计算公式如(1)所示。

h ^ n c i j = γ h n c i j k Ω W k μ k k Ω w k σ k 2 + ε + β (1)

公式(1)与IN、LN和BN的定义相似。其中γ和β分别为尺度因子和平移因子,是两个可以进行学习的训练参数,ε是一个极小值,用于避免产生分母为0错误计算,集合定义为 Ω { in , ln , bn } W k w k 为相应统计量对应的权重系数,均值的加权系数 W k 的计算公式如(2)所示。

(2)

其中 { in , ln , bn } 为IN、LN和BN归一化方法集合, { λ in , λ ln , λ bn } 为控制参数,在反向传播时对其优化学习。本章改进的残差块结构如 图5 所示。

Figure 5. Improved residuals block structure diagram--图5. 改进的残差块结构图--
<xref></xref>3.3. 优化网络性能

学习率在随机梯度下降算法是影响神经网络训练效果的关键因素之一。设置过高的学习率可能导致网络在寻找最优解的过程中步长过大,使得损失函数值出现震荡,有可能错过最佳解。反之,设置为过低的学习率可能致使网络参数更新缓慢,增加训练时间。因此,应采用先快后慢的策略来实现最优化,在训练初期应设置较高学习率来加快收敛速度,随着训练时间的增加,逐渐降低学习率,以实现更精细的权重调整,帮助模型更接近最优解。本文的学习策略为等间隔调整学习函数(StepLR)。

本文的Epoch为30,根据官方在StepLR情况下Epoch为30时,初始学习率(lr)为0.005。其次本文学习率下降间隔(Step_Size)设置为5,调整倍数(Gamma)为0.5,即,每5个Epoch学习率下降为之前的一半,随着网络的迭代学习率逐步衰减,最终收敛到7.813e−5。

<xref></xref>4. 实验结果及分析 <xref></xref>4.1. 实验设置 <xref></xref>Table 1. Experimental platform software environment configuration tableTable 1. Experimental platform software environment configuration table 表1. 实验平台软件环境配置表
环境

配置

参数

Windows版本

Windows 11

软件环境

Python版本

Python 3.9.5

续表

深度学习框架

PyTorch 1.13.1

CUDA 11.6

为了验证本文提出的光伏电池缺陷分类方法的有效性,仿真实验所使用的计算机软硬件配置如 表1、2 所示。

<xref></xref>Table 2. Experimental platform hardware environment configuration tableTable 2. Experimental platform hardware environment configuration table 表2. 实验平台硬件环境配置表
环境

配置

参数

CPU

Intel (R) Core (TM) i7-10875H

硬件环境

GPU

Geforce RTX 2060

内存大小

16GB

为了保证模型达到最优,对实验的超参数进行预设,迭代次数、批量处理大小、优化器和学习率等参数设置如 表3 所示。

<xref></xref>Table 3. Experimental parameter setting tableTable 3. Experimental parameter setting table 表3. 实验参数设置表
名称

参数

Epoch

30

Batch Size

Optimizere

20

Adam [7]

初始学习率

0.005

<xref></xref>4.2. 数据集的构建

实验使用的图像数据来源于两个部分,一部分来自河北工业大学、北京航空航天大学联合发布的——PVE-LD数据集,另一部分则是在网站上进行爬取获得。最终选取7类较为常见的光伏电池缺陷和1类无缺陷的图像数据构建数据集,在构建的数据集中随机选取的图像示例如 图6 所示。

Figure 6. Image example--图6. 图像示例--

在构建的数据集时,由于缺陷数据的稀缺性,光伏电池缺陷图像数据量较小,正常图像和缺陷图像数量差距非常大,不仅如此,由于光伏电池有些缺陷出现的概率相比其他缺陷类型而言出现的概率更低,所以各个缺陷类别之间的图像数量差距也会严重失调,导致在训练模型时出现过拟合的情况,加大了模型训练的难度。在各类别图像数量比例严重失调的情况下,将训练好的模型用于分类任务,可能会出现分类结果更偏向图像数据量较大的类别,降低模型分类的准度。因此数据增强在本次光伏电池的缺陷分类任务当中是尤为关键的。

本文将缺陷图像数据集采用数据增强的方式,涵盖了亮度增强、旋转和翻转。数据增强前的图像数量如 图7 所示,经过数据增强后的图像数量如 图8 所示。增强后的图像示例如 表4 所示。

Figure 7. The amount of image data before data enhancement--图7. 数据增强前的图像数据量-- Figure 8. The amount of data after data enhancement--图8. 数据增强后的数据量-- <xref></xref>Table 4. Example of an enhanced imageTable 4. Example of an enhanced image 表4. 增强后的图像示例
类别

原始图像

亮度增强

水平翻转

旋转90°

碎片

续表

裂纹

水平

未对准

进行模型训练时需要将数据集划分为训练集和测试集,比例为4:1,训练集和测试集中各类缺陷图像数量如 图9 所示,数据增强后,保证了每种缺陷不会因为训练数据过少导致最终模型检测效果不好。

Figure 9. The number of images for each training set and test set--图9. 各类别训练集和测试集的图像数量--
<xref></xref>4.3. 不同网络模型对比实验及分析

在相同实验条件下,通过改进后的ResNet-18、ResNet-34、ResNet-50和VGG-16四种网络模型训练,将不同模型的准确率、收敛速度和召回率等多个维度进行记录,得到以下实验结果。

1) VGG-16网络模型

图10. VGG-16网络模型的评价指标

VGG-16网络模型的评价指标如 图10 所示,测试集的准确率、损失函数、召回率等指标在抵达次数达到869次时,出现明显的尖点,是因为本文使用了学习策略为等间隔调整学习函数(StepLR),学习率每5次Epoch下降至之前的一般,根据本文的Batch Size为20,训练集图像数量为3444,所以当迭代次数为860次左右时会使学习率突然下降,VGG-16模型需要一些迭代来适应新的学习率,最终回归正确的趋势走向。随着迭代次数的增加,VGG-16模型的准确率逐步增加,损失函数逐步减少。

2) ResNet-18网络模型

图11. ResNet-18网络模型的评价指标

ResNet-18网络模型的评价指标如 图11 所示,测试集的准确率在迭代次数达到700次左右趋于平稳,损失函数在迭代次数达到3300次左右趋于平稳,且具有较好的收敛精度以及准确度。

3) ResNet-34网络模型

图12. ResNet-34网络模型的评价指标

ResNet-34网络模型的评价指标如 图12 所示,测试集中准确率、F1和损失函数等指标两次出现明显的尖点,与VGG-16训练模型的原因一致,分别在迭代次数为860左右和1700左右出现学习率突然降低的情况,使得ResNet-34模型需要一些迭代来适应新的学习率,最终回归正确的趋势走向。测试集的准确率在迭代次数达到2200次左右趋于平稳,损失函数在迭代次数达到3500次左右趋于平稳,且具有较好的收敛精度以及准确度。

4) ResNet-50网络模型

图13. ResNet-50网络模型的评价指标

ResNet-50网络模型的评价指标如 图13 所示,测试集中准确率和损失函数等指标出现尖点的位置在不同的迭代次数处,与本文其他训练模型出现尖点的原因不同,ResNet-50模型容量很大,而数据集相对此模型来说较小,出现过拟合,导致训练过程中准确率和损失函数等指标的波动。经过几次波动测试集的准确率和损失函数都是在迭代次数达到2800次左右趋于平稳,且具有较好的收敛精度以及准确度。

为了找出最适合光伏电池缺陷分类任务的网络模型。在相同实验条件下,将改进后的ResNet-18、ResNet-34、ResNet-50和VGG-16四种网络模型通过准确率、收敛速度和召回率等多个维度进行比较分析,比较这些模型在光伏电池缺陷分类任务上的效果。

图14. 四种网络模型的评价指标

<xref></xref>Table 5. Network model evaluation index specific dataTable 5. Network model evaluation index specific data 表5. 网络模型评价指标具体数据
模型

准确率(Ac)

损失函数

精确率(Pr)

召回率(Re)

F1 Score

VGG-16

87.86%

31.41%

89.41%

88.73%

87.80%

ResNet-18

96.97%

12.05%

97.88%

96.74%

97.20%

ResNet-34

97.08%

12.24%

97.99%

96.96%

97.38%

ResNet-50

97.08%

12.51%

98.19%

97.01%

97.50%

四种网络模型的评价指标如 图14 所示,具体数据如 表5 所示。VGG-16模型在准确度以及损失函数等指标在其他模型中都不占据优势。ResNet-34模型相比其他模型具有较高的准确度以及较快的收敛速度,但是收敛过程中会因学习率下降而产生波动。ResNet-50模型虽然具有很高的准确度,但是在收敛过程中会出现过拟合现象。ResNet-18模型虽然在这几个模型中准确度不是最高的,但是也可以达到96.97%,且在收敛过程中不会出现明显的尖点,收敛速度较快且平稳。

以上结果表明,ResNet-18模型在光伏电池缺陷分类任务上具有显著的效果,是最适合光伏电池缺陷分类任务的网络模型。

运用选好的网络模型ResNet-18,进行分类效果的展示,如 图15 所示。

图15. 分类效果示例

<xref></xref>5. 总结

通过对这四种模型的输出层和归一化层进行针对性的修改,本文提出了改进的网络模型,旨在优化光伏电池缺陷分类的性能。最后,我们基于一系列性能指标对四种模型进行了详细的对比分析。实验结果表明,虽然各模型均展现出了较高的分类性能,但最终选取ResNet-18作为光伏电池缺陷分类的优选模型。这一选择基于ResNet-18模型在准确率、训练效率和资源消耗等方面的综合表现。

References He, K., Zhang, X., Ren, S. and Su, J. (2016) Deep Residual Learning for Image Recognition. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, 27-30 June 2016, 770-778. >https://doi.org/10.1109/cvpr.2016.90 Simonyan, K. and Zisserman, A. (2014) Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv: 1409.1556. >https://doi.org/10.48550/arXiv.1409.1556 Ulyanov, U, Vedaldi, A. and Lempitsky, V. (2016) Instance Normalization: The Missing Ingredient for Fast Stylization. arXiv: 1607.08022. >https://doi.org/10.48550/arXiv.1607.08022 Ba, J., Kiros, J. and Hinton, G. (2016) Layer Normalization. arXiv: 1607.06450. >https://doi.org/10.48550/arXiv.1607.06450 Ioffe, S. and Szegedy, C. (2015) Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. Proceedings of the 32nd International Conference on International Conference on Machine Learning, Lille, 6-11 July 2015, 448-456. Luo, P., Ren, J., Peng, Z., et al. (2018) Differentiable Learning-to-Normalize via Switchable Normalization. arXiv: 1806.10779. >https://doi.org/10.48550/arXiv.1806.10779 Zeiler, M.D. (2012) Adadelta: An Adaptive Learning Rate Method. arXiv: 1212.5701. >https://doi.org/10.48550/arXiv.1212.5701
Baidu
map