基于TICA的太阳能电池无监督学习缺陷识别

2023-09-04 14:50宋晓宇冯加华陈智丽
计算机仿真 2023年7期
关键词:维数特征向量太阳能

宋晓宇,冯加华,袁 帅,陈智丽

(沈阳建筑大学信息与控制工程学院,辽宁 沈阳110168)

1 概述

随着能源的紧缺和环境的恶化,太阳能作为一种可再生的清洁能源,成为了近年来发展最快,最具活力的研究领域。在太阳能光伏发电系统中,太阳能光伏阵列是核心单元之一,光伏阵列由多个太阳能硅片组成[1]。硅片的生产工艺复杂,在生产过程中容易产生如裂纹、缺角、破损等缺陷,这些缺陷严重的影响了太阳能硅电池的使用年限和发电效率,因此有必要对太阳能电池片表面缺陷进行检测,以提高太阳能电池片的使用寿命。

太阳能电池片分为单晶硅太阳能电池片,多晶硅太阳能电池片和非晶硅太阳能电池片。多晶硅太阳能电池片表面缺陷形成原因复杂多变,缺陷种类多,不同缺陷表现出不同特征,并且多晶硅太阳能电池片表面纹理相较于单晶硅太阳能电池片表面纹理更加复杂,这些问题都给多晶硅太阳能电池片表面缺陷检测带来了挑战。目前国内外主要的特征提取缺陷检测方法是提取缺陷图像的几何特征,不变矩特征,纹理特征和灰度特征[2-4],这些方法直接在空间域提取特征。考虑到有些图像特性在空间域并不明显,但是在变换域中却表现的更加明显,一些方法将缺陷图像转换到变换域中提取特征,常用的方法有Fourier变换,Gabor变换和Wavelet变换等[5-6],这些变换虽然在一定程度上可以提高缺陷识别准确率,但是变换的基向量固定不变,与被检测的缺陷图像没有直接关联,导致提取的特征不能完全反映图像特性,因此如果能从缺陷图像中自适应估计出某种变换和基向量,通过这种变换提取到的特征将会比上述通用变换提取的特征更能反映图像特点,缺陷识别准确率也将进一步提高。

近年来,独立成分分析(ICA)[7]在图像处理领域得到了广泛应用,ICA算法从盲源分离问题发展而来,是一种基于信号高阶统计特性的分析方法。 ICA算法通过扩展,演变为拓扑独立成分分析(TICA)[8]算法。ICA和TICA应用于图像数据时,通过建立原始图像统计生成模型,对图像进行无监督学习,自适应地估计出基向量和其对应滤波器。TICA相较于ICA的优势在于,TICA估计的基向量具有一定拓扑顺序,使得TICA比ICA的图像表示更能反映图像特性。

针对上述方法存在的不能自适应提取图像特征,缺陷识别率易受基向量拓扑顺序影响等问题。本文提出了一种基于拓扑独立成分分析(TICA)的特征提取缺陷检测方法。首先利用DE算法改进TICA算法,通过改进的TICA算法提取图像特征。然后采用ReliefF算法和K-means算法进行特征选择,最后利用随机森林分类器进行分类识别。实验结果表明,本文算法相比于传统TICA算法,增强了图像特征提取能力,提升了缺陷分类准确率,目前准确率为96.0%,提高了2.8%。

2 基于DE的TICA特征提取

2.1 TICA基本模型

ICA算法是解决盲源分离问题一种常用的算法,其目的是从给定混合信号中提取相互独立的信号源,其基本模型为

(1)

式中x=[x1,x2,…,xn]Τ为原始数据,s=[s1,s2,…,sn]Τ独立信号,A=[a1,a2,…,an]为混合矩阵。

在ICA模型的假设中,所有源信号si相互独立,但是当ICA算法应用于实际问题时,往往得不到完全相互独立的分量。通常情况下,一个随机向量很难严格线性分解为相互独立的成分。因此,Hyvärinen等[8]放宽了源信号相互独立的假设,提出了TICA算法。

TICA算法利用邻域函数定义源信号si的拓扑顺序,在拓扑顺序中相邻的分量具有高阶意义上的相关性,而相距较远的分量则被认为相互独立。

TICA模型中,成分si被建模为

(2)

TICA模型求解步骤如下:

步骤1:对样本数据矩阵X进行预处理,利用主成分分析(PCA)算法对X进行白化操作。选取协方差矩阵C=E{XXΤ}的K个最大特征值,组成对角矩阵D,特征值对应的特征向量组成矩阵E,根据(3)式得到预处理后的数据z

(3)

步骤2:随机初始化向量bi,根据以下梯度学习规则更新bi。

(4)

(5)

(6)

2.2 TICA模型优化

由上述TICA模型求解步骤可知,TICA求解结果对矩阵B的初始值具有较强的依赖性,这限制了TICA算法在全局方向上求解的能力。为解决这个问题,引入差分进化算法(DE)[10]对矩阵B进行优化。

差分进化算法(DE)是一种基于群体差异的启发式随机搜索算法,在随机种群基础上,对种群中个体进行变异,交叉,选择等操作,每次迭代后留下适应度高的个体形成新种群,经过不断的迭代循环,DE算法能够朝着全局最优解逼近。因此,引入DE算法优化矩阵B,使TICA模型在优化后能够沿着全局最优的方向求解,DE算法优化TICA算法步骤如下:

步骤1:随机初始化种群

P=[p1,p2,p3,…,pNP]

(7)

步骤2:变异

vi(g+1)=pr1(g)+F(pr2(g)-pr3(g))

(8)

式中F为缩放因子,g为迭代次数,vi(g+1)为变异后个体,r1≠r2≠r3。

步骤3:二项式交叉

(9)

式中j=1,2,…d,jrand为[1,d]内随机数,CR∈(0,1)为交叉概率,ui(g+1)为交叉操作后个体。

步骤4:选择

(10)

2.3 特征提取

当TICA算法用于处理实际图像数据时,通常将原始图像矩阵变换为列向量x,并将x表示为一组基向量ai的线性叠加,这种方式和大多数图像处理方法相同,都是将原始图像转换到变换域进行处理。

提取特征向量的重点是获取基向量,求解模型能够得到混合矩阵A和分离矩阵W,A的列向量ai即为所求基向量,将一维基向量还原成二维图像,可得到如图1所示的基向量图像。

5G是当前最受关注的产业之一,也是最确定的发展方向,家电厂商更需要准确判断市场环境,及时保持家电对热点技术、功能的研发,为消费者带来真正实用、好用的智慧家电。

图1 缺陷图像的基向量

图1中(a),(b)分别为ICA和TICA基向量图像,可以看出ICA和TICA基向量能够体现缺陷类别的显著特征,并自适应于缺陷图像的特点。相比于Wavelet,Gabor变换等方法,TICA和ICA基向量自由度更高,具有更多不同相位,能够适应于任意方向的缺陷图像。显然,利用TICA和ICA方法分析缺陷图像要比Wavelet,Gabor变换等方法更有效。

虽然图1中TICA基向量和ICA基向量非常相似,但是TICA基向量具有明显的拓扑组织。TICA基向量分布在一个没有边界的二维圆环面中,其中方向和位置相似的基向量相互形成邻域。因此,TICA提供了一种对原始图像的有序表示。

S=WX

(11)

式中S为提取的特征向量si组成的矩阵,大小为n×m。

3 基于无监督学习的电池片缺陷识别

3.1 基于ReliefF算法和K-means算法的特征选择

由图1(b)可以看出基向量中存在着一些冗余和与缺陷特点无关的基向量,例如,第一,二行的第一列为冗余基向量,第五行第五列为无关基向量。因此,在提取的特征向量中,则存在着一些冗余和无关特征,降低了缺陷识别准确率,影响了算法运行效率。通过特征选择能够去除特征向量中冗余和无关特征,精简特征向量,进一步提高缺陷识别准确率。

首先,利用ReliefF算法[12]将所有特征按照正负类分类能力的不同赋予相应权值,ReliefF算法是一个在Relief算法[13]基础上发展而来的特征权重赋值算法,按照特征与正负类之间相关性为每一个特征赋予权值。

ReliefF算法的具体思路是先从训练集中随机抽取一个样本x,接着从训练集中分别抽取k个与样本x同类,不同类的样本。然后对于特征向量中每一个特征,计算其与同类,不同类样本之间的距离,如果两类距离均值相差较大,说明该特征对样本具有较好的区分能力,则增加该特征权重,反之,则降低该特征权重。重复上述操作m次,将得到的均值为该特征最终的权重,对特征向量中每一个特征进行上述操作,可以为每一个特征赋予权重。实验中初始特征向量维数为150,k为10,m为20,将权重小于0.05的特征视为与分类无关的特征,去除无关特征后,特征向量维数为127。

然后,采用K-means算法根据特征权重对剩下的特征进行聚类,保留聚类结果每一簇中权重最大的特征。这是K-means算法一种较为特殊的应用,聚类对象不是样本而是特征,采用欧式距离作为距离度量,聚类终止条件为质心不再发生变化或达到最大迭代次数,实验中最大迭代次数为50,当聚类簇数为40时,缺陷分类准确率最高。

3.2 基于随机森林分类器的缺陷分类识别

随机森林算法是一种基于决策树的机器学习算法,相较于决策树算法,随机森林的优点在于其分类精度更高,泛化能力更强,并且不容易出现过拟合,因此本文采用随机森林作为分类器。随机森林算法通过Bootstrap抽样技术将多个决策树组合成森林,当样本进入随机森林时,森林中的每一棵决策树会产生相应分类结果,最后采用众数投票方式决定样本最终分类结果,得票数最多的类别即为样本分类结果,最终分类结果形式如式(12)所示

(12)

式中H(x)为最终分类结果,h(x)为单个决策树分类结果,C为分类类别,I(.)为表示性函数。

本文将太阳能电池片分为裂纹、缺角、破损和正常四个类别,实验中将数据集分为训练集和测试集,训练集用于训练模型,测试集用于验证模型性能。对于训练集,首先,通过TICA算法无监督地提取特征向量,然后,利用ReliefF算法和K-means算法进行特征选择,最后,将特征选择后的特征子集送入随机森林分类器中进行训练。对于测试集,首先,利用特征子集中特征对应的滤波器与图像进行滤波,提取特征向量,然后,将特征向量送入训练好的随机森林分类器中进行分类,验证模型的性能。随机森林分类器几个主要参数通过网格搜索算法确定,其中随机森林中决策树数量为180,决策树最大深度为15,叶子节点上最少样本数为2,随机数产生器的种子为42。

4 实验

本文采集不同批次的多晶硅图像1600张,用于模型训练和测试,其中无缺陷图像,裂纹图像,缺角图像和破损图像各400张,每张图像大小为240×240像素,采用五折交叉验证方法训练模型,训练过程中,数据集每一类缺陷平均分为五份,每一次训练使用其中四份作为训练集,另外一份作为测试集,如此重复五次,取五次识别准确率的平均准确率作为最终识别准确率。

4.1 图像预处理

4.1.1 栅线去除

原始图像中栅线和缺陷存在交集,因此,栅线可能会对缺陷检测造成影响,为保证缺陷检测的准确性,需去除原始图像中的栅线。图2中(a),(b),(c),(d)分别为原始无缺陷图像,裂纹缺陷图像,缺角缺陷图像和破损缺陷图像。

图2 原始硅片图像

实验中,采用形态学平滑[14]方法去除图像栅线,首先,利用45°,90°,和135°三个方向结构元素,对图像中像素点分别累加三个方向的灰度值,其中结构元素长度为16像素,宽度为1像素。然后,选择三个累加灰度和中最小的结构元素,作为给定像素点的结构元素。最后,将结构元素中最大灰度值替换给定像素点灰度值。图3中(a),(b),(c),(d)分别为图2中对应图像去除栅线后图像。

图3 去栅硅片图像

4.1.2 图像增强

图像增强的目的是提高机器对图像中缺陷的敏感度,换而言之,将图像中缺陷特征有选择地进行突出,衰减其它不需要的特征。在图像增强过程中,首先,对图像进行腐蚀操作,腐蚀使用5×5模板,模板中第三行和第三列中元素为1,其它元素为0,然后,对腐蚀后的图像进行拉普拉斯锐化操作,突出图像中缺陷细节,锐化使用3×3模板,模板中心元素为5,四个顶角元素为0,其它元素为-1。图4中(a),(b),(c)分别为去除栅线裂纹图像,腐蚀裂纹图像和锐化裂纹图像,可以看出缺陷图像经过图像增强操作后,图中缺陷细节得到了明显增强。

图4 图像增强过程

4.2 实验结果及分析

图5分别给出了传统ICA算法,TICA算法,DE算法优化后ICA算法,TICA算法的分类准确率,将DE算法优化的ICA,TICA算法分别记为DE_ICA和DE_TICA,特征向量维数范围为[10,150]。图中ICA算法,TICA算法最高分类准确率分别为89.8%,93.2%,而DE_ICA和DE_TICA的分类的准确率则分别提高到了91.3%和94.1%。同时,DE_TICA比DE_ICA的分类准确率更髙,并且达到最高准确率时向量维数也更少,DE_TICA达到最高分类准确率时维数为53,DE_ICA则是61。

图5 DE算法优化前后分类准确率

图6中RK_TICA为DE_TICA特征选择后的分类准确率。RK_TICA和DE_TICA初始特征向量维数都为150,经过ReliefF算法去除无关特征后维数为127,K-means算法聚类的特征维数范围为[10,126]。大多数情况下,RK_TICA分类准确率明显高于DE_TICA,并且,RK_TICA将最高分类准确率提高到了96.0%,达到最高分类准确率的特征向量维数从53降低到了40。

图6 特征选择后分类准确率

可见,无论TICA算法是否经过优化,对缺陷的分类性能都要优于ICA算法。同时,相比于传统TICA算法,DE_TICA和RK_TICA的分类准确率更高,达到最高分类准确率时特征向量的维数更少,说明本文采用的DE算法优化和特征选择操作能够明显提升TICA算法的性能。

表1为当特征向量维数为40时,不同缺陷的分类结果,从表1中可以看出裂纹缺陷,缺角缺陷,破损缺陷和正常图像的识别率分别为96.0%,96.5%,94.0%和97.5%,总体识别率为96.0%。可见本文算法对缺陷具有较强的识别能力,并且不仅仅局限于单一缺陷,而是对多种不同缺陷都具有较好的识别能力。

表1 缺陷分类结果

为了验证本文方法的有效性,采用文献[15]中王宇提出的改进VGGNet方法,文献[16]中刘磊提出的SVM方法,文献[17]中钱晓亮等提出的Visual Saliency方法和本文RK_TICA方法进行对比测试。实验使用的计算机硬件配置为Intel Core i5四核3.3GHz CPU处理器、8G内存,采用Python编程实现,结果如表2所示。

表2 识别方法对比

其中,VGGNet方法,SVM方法,Visual Saliency方法的分类准确率,识别时间分别为91.3%,0.430s,94.5%,0.527s和86.7%,0.483s,而本文的RK_TICA方法则是96.0%,0.358s。综合来看,无论是分类准确率还是分类时间,本文方法的性能都要优于其它方法。

5 结论

本文提出了一种基于拓扑独立成分分析(TICA)的特征提取方法,用于多晶硅太阳能电池片表面的缺陷检测。该方法在缺陷图像集的无监督学习基础上,采用基于DE优化的TICA算法,在全局方向上估计基向量,得到自适应性强、具有明显拓扑顺序的基向量,使其适应于所研究图像的缺陷特点。所提算法的特征选择方式减少了特征向量维数,降低了算法时间复杂度,有利于算法提高效率和实时处理。实验结果表明,本文方法识别准确率得到了明显提高,并进一步提高了实时处理效率,验证了本文算法的有效性。

猜你喜欢
维数特征向量太阳能
应用广泛的太阳能无人机
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
β-变换中一致丢番图逼近问题的维数理论
克罗内克积的特征向量
一类齐次Moran集的上盒维数
太阳能可以这样玩
一类特殊矩阵特征向量的求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
关于齐次Moran集的packing维数结果
太阳能虚拟窗