何 翔,杨爱军,黎健生,罗海燕,陈彩云
(福建省计量科学研究院,福建 福州 350003)
光伏用电致发光缺陷检测仪是光伏组件生产过程中重要的检测设备。其原理是通过对组件两级增加正向偏压,使用红外数码相机捕捉光伏组件发出的红外光,再通过计算机处理后成像[1-2]。光伏用电致发光缺陷检测仪能够很好地检测到光伏组件生产过程中产生的各种缺陷,如隐裂、断栅等。
不同厂家生产的光伏用电致发光缺陷检测仪性能有所差异,因此需要合理的设备评估方法。林剑春等[3]及ISO12233[4]提出以空间分辨率作为指标评估光伏用电致发光缺陷检测仪性能,同时由福建省计量科学研究院/国家光伏产业计量测试中心主导的福建地方标准《JJF(闽)1088-2018光伏组件电致发光缺陷检测仪校准规范》[5]以及正处于发布阶段的相关国家标准也使用空间分辨率作为设备评估指标。
光伏用电致发光缺陷检测仪空间分辨率评估方法采用的空间分辨率测试板由不透光的金属制成,空间分辨率测试区域包括一系列连续排列的具有相等宽度的镂空线对。测试时将空间分辨率测试板贴于光伏组件表面,以光伏组件发出的光作为背景光源,光通过空间分辨率测试板镂空处形成线对图像。使用光伏用电致发光缺陷检测仪拍摄后,通过目视逐一判别线对图像,找出能够目视分辨的最密线对,其对应的空间分辨率即为该光伏用电致发光缺陷检测仪的空间分辨率,从而对设备性能做出评估。
然而,上述目视判别过程严重受到判别者主观因素的影响:不同判别者对于同一线对图像可能给出不同结论,同一判别者对同一线对多次判别,也可能给出不同的结论。因此,需对目视判别线对过程进行量化,以提升判别准确度与重复性。文献[6]提出将线对图像沿着线对方向对图像灰度求和,根据曲线最小的峰值-谷值差作为阈值依据,替代人为目视判断。然而,人眼采集图像信息并经过大脑分辨这一过程十分复杂,通过单一或几个指标难以替代这一过程。
神经网络是一种自适应非线性动态网络[7],属于端对端监督学习。通过大量数据对模型进行训练,训练完成的模型能够直接由数据映射最终结论,所有的数据特征由模型提取,能够很好地模拟人眼采集图像信息并由大脑分辨这一复杂过程。但是传统的全连接神经网络在训练像素较多的图像数据时,其网络特性会产生大量的参数,导致训练速度缓慢甚至无法训练。由Sermanet P, Chintala S, LeCun Y提出的卷积神经网络[8]主要包含输入层、卷积层、池化层、全连接层和输出层,它通过局部感知、参数共享大大降低了参数数量,解决了上述问题。卷积神经网络常用于图像识别[9],并且在许多领域已得到广泛的应用[10-13]。
本文针对光伏用电致发光缺陷检测仪空间分辨率目视判定重复性、准确性差,并且难以量化等问题,参考相关标准,提出一套基于卷积神经网络的光伏用电致发光缺陷检测仪空间分辨率图像判别方法。该方法使用经过标识的线对图像对卷积神经网络模型进行训练,完成训练后使用该模型自动判断线对图像,替代目视判别,有效提高了检测准确性。
为了模拟不同的使用场景及环境,本文选取不同的拍摄条件以获得各种情况下不同灰度及方向的线对图像,具体拍摄条件如表1所示。
表1 拍摄条件
由于拍摄后的图像为光伏组件的电致发光成像图,如图1所示,需要经过预处理将每个线对图像分离。本文采用的预处理方法为:(1)根据组件尺寸将电致发光成像图中各电池片区域图像切割分离;(2)由于粘贴空间分辨率测试板区域大量光线被遮挡,灰度值较低,因此根据分离后的电池片区域图像的平均灰度筛选出粘贴空间分辨率测试板的图像区域,如图2所示;(3)对空间分辨率测试板的区域进行二值化处理,并对二值化图像沿着列方向求和,获得灰度求和曲线。根据不同区域灰度求和曲线不连续性的特点切割出空间分辨率线对所在区域,典型区域如图3所示;(4)将空间分辨率线对所在区域图像进行二值化、灰度闭运算消除单个线对内部空隙,对处理后的图像沿着图3短边方向灰度求和,获得灰度求和曲线,根据不同线对灰度求和曲线不连续性的特点逐一切割出空间分辨率线对图像;(5)由于卷积神经网络需确定输入模型的图像尺寸,因此根据分离后的最大线对图像尺寸,将所有线对图像扩展为128×128像素的图像,扩展区域灰度为0,最终处理完成的典型线对图像如图4所示。
图1 光伏用电致发光成像图Fig.1 Image of photovoltaic electroluminescence
图2 空间分辨率测试板成像区域Fig.2 Imaging area of resolution test chart
图3 空间分辨率线对所在区域Fig.3 Image of resolution line pairs
图4 预处理完成后的线对图像Fig.4 Image of line pairs after pretreatment
选取三名有光伏用电致发光缺陷检测仪检测经验的人员分别对所有线对图像进行目视判定,判定结果分为“清晰”与“不清晰”两种类型。由于需分类的图像数目较多,在判定大量图像时,判定人员在开始部分对图像的判定标准可能与后续存在较大差异,因此对于每个人前100张线对图像的判定不予采用。线对图像是否“清晰”取决于3名人员的共同判定结果,若判定存在分歧,则以支持人数较多的判定为最终结果。最后,为了避免不同类别训练样本数量差异影响模型训练结果,随机去除部分图像以平衡“清晰”与“不清晰”的线对图像数量。
为了模拟实际测试过程中空间分辨率测试板粘贴、倾斜的现象,增加训练样本数。将2.3小节中得到的图像随机旋转-10°~10°并增加到训练样本中,保持原样本分类不变。最终得到“清晰”线对图像3 272张,“不清晰”线对图像3 272 张。从以上两组样本中各随机选取250张线对图像,共500张组成测试集,剩余6 044张线对图像作为训练集。
本文所采用的神经网络结构如下:每张图像转换为1行,128×128列的矩阵,矩阵中数值表示对应像素点的灰度值。图像分类标签采用one-hot编码格式,判定为“清晰”的图像标签为[1,0]矩阵,判定为“不清晰”的图像标签为[0,1]矩阵。考虑到样本数量较大,每次选取小批量样本输入模型进行训练,每批量的样本数为256。
模型共3层卷积层,每层卷积核尺寸为3×3,图像长宽方向步长都为1,激活函数采用relu函数,数学表示式如式(1)所示,函数图像如图5所示。相比sigmoid和tanh激活函数, relu激活函数计算简单,能够提高训练速度[9]。池化层分别采用长宽方向步长都为2的最大池化层。总体结构示意图如图6所示。
f(x)=max(0,x).
(1)
图5 relu函数图像Fig.5 Image of relu function
图6 卷积层、池化层的结构示意图Fig.6 Schematic diagram of convolutional layer and pool layer
之后连接一个全连接神经网络,输入层神经元数量为16×16×128个,隐藏层神经元数量为256个,输出层神经元数量为2个,结构如图7所示。对全连接层设置权重丢弃[14]以避免过拟合,即每次计算时选取一部分权重临时不参与计算,丢弃率为0.5。
图7 全连接层结构示意图Fig.7 Schematic diagram of full connected layer
损失函数采用softmax交叉熵损失函数,数学表达式为:
(2)
式中:loss为损失函数,pi为模型预测结果矩阵中第i个元素值,yi为训练集标签矩阵中第i个元素值,trian_num为训练集样本数。优化器选择Adam优化器,学习率为1×104。
为了充分利用训练样本,本文采用K折交叉验证对模型进行验证,K取10。将训练集随机平均分为10份,每次不重复的选取1份作为验证集,其余9份数据作为训练集,计算验证集的损失函数与准确率。最后,统计10次验证集的平均损失函数与准确率作为本轮训练的损失函数与准确率。K折交叉验证示意图如图8所示。
图8 K折交叉验证示意图Fig.8 Schematic diagram of K-fold cross-validation
使用以上参数对模型进行训练,本文采用tensorflow深度学习框架,python语言。图9为训练集的损失函数与准确度随着训练次数的变化曲线。可以看出,训练开始后验证集损失函数迅速下降,验证集准确率迅速上升,在约100次训练后,速度减缓;在约600次训练后,验证集的损失函数与准确率基本保持稳定,分别约为0.318与99.5%。
图9 损失函数与训练集准确度曲线Fig.9 Loss function and accuracy curve of training set
训练完成后,使用模型对测试集进行预测,并统计预测准确度,最终在500张测试图像中,判定正确的数量为496张,判定错误的数量为4张,测试准确度为99.2%,与验证集准确率相近,未发生过拟合。
本文提出一套基于卷积神经网络的光伏用电致发光缺陷检测仪空间分辨率图像判别方法,采取不同的拍摄条件拍摄并切割出空间分辨率线对图像,对图像进行人工分类。设计卷积神经网络结构,采用卷积层、池化层和全连接层结构,并使用已分类完成的空间分辨率线对图像对模型进行训练。最终使用测试样本对模型进行评估,结果表明,模型在测试样本上的判别正确率达到99.2%,并且未发生过拟合。该方法提高了光伏用电致发光缺陷检测仪空间分辨率判定的准确性与重复性,并为其量化提出了新的解决思路。同时,由于太阳电池片用光致发光缺陷检测仪与光伏用电致发光缺陷检测仪有着类似的成像方式,因此可将文献[3,5]所用的方法扩展到光致发光缺陷检测设备的性能评估中,同时本文提出的方法可兼容光致发光缺陷检测设备的空间分辨率性能评估。