近年来, 随着社会的发展, 人类对能源的不合理使用导致不可再生能源逐渐枯竭、环境问题不断恶化, 已经严重威胁到人类的生存和发展. 面对困境, 以光伏发电为代表的新能源产业开始不断发展, 光伏板的需求也在急剧上涨. 在光伏板(本文只针对常用的多晶硅光伏板)的制造和使用过程中, 总是会有各种各样的缺陷[1, 2]出现, 例如, 光伏板的加工过程中会出现裂纹、破损等缺陷; 光伏板在户外的恶劣环境下发电时, 容易产生黑斑等缺陷; 更为严重的情况是, 光伏板自身的降解会进一步产生如断栅等问题. 这些缺陷的出现会影响光伏电池生产和发电的整个过程, 大幅度削弱发电效率和光伏板的使用寿命, 甚至可能会引发更为严重的电网安全隐患, 降低企业效益和市场竞争力. 因此必须定期对光伏板进行缺陷检查并做好分类[3], 将含有缺陷的光伏板剔除.
1 研究背景 1.1 国内外研究现状为了满足光伏板的缺陷分类需求, 国内外研究人员提出了许多用于光伏板缺陷分类的方法. 传统方法一般通过人眼判断和物理设备的方式来完成缺陷分类, 而近些年来不少学者从机器学习以及其子领域—小样本学习的研究角度入手, 提出了一大批很有价值的研究成果. 现有的光伏板缺陷分类方法大致可被划分为以下两种——人工物理法、机器学习法, 如表1所示.
由表1, 不同类方法对于光伏板缺陷分类有着不同的效果. 人工物理法属于比较传统的接触性的缺陷分类法, 发展较为成熟. 虽然它可以分类多种缺陷, 场景适用性强, 但是它对参数的设置要求极高, 参数一旦设置不当容易对光伏板本身带来二次损害, 局限性较高, 无法完全满足当今光伏板缺陷分类的需求. 对比另一类方法, 机器学习法作为近些年新兴的方法, 它不仅在很高程度上实现了缺陷分类的自动化, 并且逐步实现在缺陷分类场景的集成使用. 除此之外, 从成本、效率和稳定性上看, 机器学习法要远远优于人工物理法, 同时对缺陷样本的强大的分类能力和可靠性使其有望完全取代人工物理法成为未来光伏板缺陷分类方法的主流.
综合上述, 国内外的方法目前仍以人工物理法为主, 机器学习法如今正处于起步阶段, 还没有很多代表性的成果, 而且与人工物理法一样, 机器学习法的分类精度不稳定, 功能相对单一, 可分类的缺陷种类较少, 任务场景的自动化应用尚不太成熟. 然而, 近几年随着机器学习的分支—小样本学习的发展, 不少研究人员基于工业小样本场景提出了许多研究成果[11–13], 原型网络方法作为其中的代表者, 不仅对任务样本的特征嵌入能力较强、适用性较高, 而且实现思路较为简单、需要的数据量较少, 极其契合当前光伏行业的缺陷分类需求. 因此, 在充分考虑光伏板缺陷分类的未来的市场空间和实际应用价值的前提下, 原型网络方法能加速推动光伏板缺陷分类的发展成熟.
在工业光伏板缺陷分类的背景下, 本文将重点针对原型网络在分类时的局限性, 提出改进的原型网络方法, 改进了训练模式和距离度量, 进一步提升模型主干网络的特征嵌入能力, 减少过拟合的影响, 实现对光伏板缺陷的高效分类. 最后, 本文将所提出改进的原型网络方法应用于工业光伏板缺陷数据集中以验证其分类的可行性和有效性.
2 改进的原型网络方法 2.1 经典的原型网络方法定义及技术方案原型网络(prototypical network, PN), 最早由Snell等人[14]参照聚类思想提出. 方法的核心在于学习一个性能优秀的特征嵌入函数(外部辅助数据预训练的模型)来完成任务样本的映射和分类, 创新点在于它提出了“原型”的新概念, 即每个类都存在一个“嵌入”, 每一类的样本数据都围绕其进行聚类. 对于一个待分类的任务样本, 只需要通过计算分类的原型向量和查询点的距离来进行类别的确定.
原型的计算如式(1)所示:
$ {C_K} = \frac{1}{{{S_K}}}\sum {_{({x_i}, {y_i}) \in {S_K}}{f_\varphi }({x_i})} $ | (1) |
在式(1)中,
在一般的嵌入学习方法[15]中, 每个待分类样本需要一一计算与每个已知类别样本的度量(相似度), 而原型网络借鉴了聚类思想, 简化了流程, 如图1所示.
由图1, 方法的技术流程分嵌入模块和度量模块两部分. 第1部分对应嵌入模块, 原型网络先构建ConvNet4作为模型的主干网络, 结合外部辅助数据集对模型进行预训练, 构建一个特征嵌入空间, 再利用模型特征嵌入目标任务样本, 然后计算各个支持集类原型, 将类原型特征和待分类的任务样本特征(查询集)一同放入特征嵌入空间中; 第2部分对应度量模块, 该模块对特征嵌入空间中的支持集类原型和查询集样本进行相似性度量(欧氏距离)的计算, 然后预测各查询集样本的类别.
对比嵌入学习方法中的其他分类方法, 原型网络的优势如下4点.
(1) 将嵌入学习方法的思想延伸到非单样本的常规小样本学习问题[16]中, 验证了嵌入学习方法的思想有助于提升小样本学习的效果.
(2) 外部辅助数据集和目标任务数据也均为常规的生活图像数据, 它们的数据类别类似, 通过外部辅助数据预训练的模型能获取到足够的先验知识(通用任务型特征), 对目标任务数据的适用性较高.
(3) 提出的“原型”概念不仅将数据的处理分析最小化, 还减少了复杂的模型扩展和过多的参数训练.
(4) 采用欧氏距离作为相似性度量来衡量各类样本间的差异, 减少了过拟合的误差影响.
虽然原型网络证明了简单的模型也可以在分类过程中发挥优势, 取得较好的分类效果, 但是其仍存在有较为明显的不足[17], 大致为以下3点.
(1) 主干网络的网络层数较低, 模型整体较简单, 对以光伏板缺陷为代表的复杂工业样本的特征嵌入能力一般, 不利于快速学习到有效的任务相关特征.
(2) 用于原型网络验证的外部辅助数据集主要来源于生活图像数据, 例如水果, 交通工具, 动物等类别的数据, 与来源于工业领域的任务数据的任务相关性较低(任务通用型特征较少), 不利于对有限量的工业样本进行快速学习和泛化. 另外, 在预训练模型的过程中, 模型容易受到辅助数据中与任务无关的干扰特征影响, 影响模型的训练效果和任务适用性.
(3) 相似性度量的距离标准仍存在一定局限性, 影响模型精度.
接下来, 本文将重点针对原型网络在工业分类任务场景的局限性进行研究, 探索进一步完善原型网络的可能性, 让其满足工业光伏板缺陷分类场景的需求.
2.2 改进方法的实施方案针对原型网络方法的局限性, 本文提出一种改进的原型网络方法, 分别从原型网络的几个不足出发, 对关键问题进行攻关, 改良了嵌入模块, 同时优化特征嵌入网络的训练模式, 让其在有限量样本中也能学习到较好的网络参数, 注重对任务有关型特征的提取和保存, 提升原型网络对复杂任务样本的特征提取和学习能力; 然后对度量模块进行调整, 采用新的相似性度量计算方式, 优化相似性度量的计算过程, 以更好地区分异类样本.
(1) 嵌入模块中模型的主干网络由ConvNet4网络替换为带双重(空间+时间)注意力机制的ResNet18网络——AResNet.
(2) 优化模型预训练模式, 借鉴了半监督学习的思想, 将部分目标任务样本结合外部辅助数据集共同参与模型的网络参数训练, 得到任务适用性更好的模型.
(3) 度量模块中采用平方欧氏距离作为相似性度量.
改进后的方法主要是围绕嵌入模块和度量模块进行调整, 着重于复杂化网络层次, 同时增加对任务相关型特征的重点关注来提升模型对任务样本的特征嵌入能力, 还通过增加对异类样本的样本区分度来提高分类效果. 下面, 本文将展开叙述改进算法的主要改进之处.
2.2.1 模型主干网络——AResNet
区别于原型网络方法, 改进后的方法选择了新的模型主干网络来构建嵌入模块. 一般而言, 传统的机器学习通常会训练一个性能优秀的CNN模型来对样本进行特征嵌入, 模型的性能会随CNN的深度的增加而变好. 然而, 这种变化是有限度的, 一味地增加CNN网络的深度会导致梯度消失和梯度爆炸问题, 对于该问题的大部分解决方法是给网络中间添加正则化层, 原型网络中的ConvNet4便是采用了这种解决方式, 不仅极大地降低了成本, 解决了网络在训练时不收敛的问题, 还保证了模型具有较为不错的特征嵌入能力. 然而, ConvNet4网络在不少实际的工业图像分类场景下(以光伏板缺陷分类为代表)出现难以训练的困境, 过拟合问题也较为严重, 整体的性能仍受限, 这意味着需要新的解决措施.
最近几年针对这个问题有不少新的解决方法, 比较流行的是由He等人[18]在2016年提出的ResNet网络, 他们发现使用残差块能够训练更深的神经网络. 区别于传统的深层网络(单纯叠加网络层次到浅层网络中以实现网络加深), 残差网络(residual network, ResNet)引入了跳跃连接和残差的思想, 在浅层网络中新增加一些只进行恒等映射的网络层, 既加深了网络层次, 又无需再学习新的参数. 在光伏板缺陷分类场景中, 任务环境相对比较复杂, 缺陷样本的复杂度较高, ResNet可以在加深网络层次的同时保证网络的学习能力, 减少模型的训练误差. 因此, 本文选择了ResNet中比较典型的ResNet18网络作为模型主干网络, 既适当保证了网络深度, 同时通过残差块增加了网络深度自适应能力, 缓解了过拟合问题的影响, 简化学习目标和难度(增加模型训练速度), 提高训练效果.
另外, 光伏板缺陷分类场景比较复杂, 模型极容易被环境噪音等因素干扰, 影响分类性能, 模型的设计还存在改善空间. Woo等人[19]于2018年提出的轻量级卷积注意力模块(又称双重注意力机制, convolutional block attention module, CBAM)能对完善网络结构起到重要作用, 它分别从通道(channel)和空间(spatial)两个维度对输入的特征图进行降维, 增强网络的特征嵌入能力, 聚焦样本的重要特征, 排除样本的无效特征, 可以无缝集成到任意CNN网络中(补充网络架构), 具体如图3所示.
由图3所示, CBAM由通道注意力模块和空间注意力模块组成. 整体流程分别为以下两步.
(1) 以卷积层输出的样本特征作为输入, 通过通道注意力模块处理, 获得第一重加权结果.
(2) 将结果输入空间注意力模块中再通过一重加权来添加对有效特征的进一步关注(共两重加权), 筛选出更为有效的特征, 即图中重新定义的特征.
考虑到CBAM的广泛适用性, 为了从有限且复杂的光伏板缺陷样本中提取和解析更多有用的样本特征信息, 本文选择将其集成到ResNet18网络中, 组成ResNet变体—AResNet网络, 构造AResNet的关键是在ResNet18网络中添加双重注意力机制时不改变ResNet18的整体网络架构(选择加入到残差块的前后两处, 顺序排列). 区别于普通的传统前馈神经网络(plain network, 属于浅层CNN网络), AResNet加入几个关键因素. 首先, 在各网络层加上跳跃连接构建多个残差块同时进行组合串接, 叠加起来的深层网络只进行残差学习, 学习一个最优的恒等映射(实际上残差不会为0), 既减少了参数学习过程, 降低了模型训练的误差, 又保护网络学习的样本特征信息的完整性, 尽可能缓解网络层次加深所导致的学习性能退化问题. 然后, 在残差块前后加入了双重注意力机制, 作为整体网络架构的补充, 模仿人类的注意力机制, 强化模型对有效特征的关注, 提升模型在特征嵌入时对任务样本的特征敏感度,
总体而言, AResNet同时结合了ResNet18和双重注意力机制的优势, 对整体硬件的要求较高, 它通过构建多个残差块来叠加网络层次来提高对有限复杂样本特征嵌入能力, 有效地缓解了在网络层次加深时学习能力下降的问题, 同时帮助深层网络去动态适应任务样本(网络的每一个节点学到的都是对前面节点的补充, 虽然每个节点学习到的残差有震荡, 但震荡范围越来越小, 直到趋于0), 很大程度上解决了网络加深过程中出现的学习能力退化的问题, 节约了算力; 再利用注意力机制让模型强化了对样本中任务相关型特征的关注, 特别在光伏板缺陷分类的场景中, 加入双重注意力机制可以加深复杂样本中有效特征的表达效果, 可以快速地聚焦到样本的关键特征, 并尽可能地减少背景噪音等无效特征的干扰, 保证学习到的样本特征的质量, 帮助模型准确地去预测未知样本的类别, 提升模型精度.
2.2.2 模型预训练模式调整改进前的原型网络方法选择只采用外部辅助数据集来参与模型的预训练, 在常规的简单图像分类场景中, 外部辅助数据集和目标任务数据集都属于常规的生活类图像(通用型任务特征为主), 类别差异不大, 数据分布相似度高, 可以训练得到较好的模型. 在以光伏板缺陷分类为代表的工业场景中, 光伏板缺陷样本类型复杂且丰富, 与常规的图像样本的数据分布有很大的差异(只有小部分共通的通用型任务特征, 特定的光伏板缺陷特征与常规的生活类图像特征的相似度较低). 通过常规的图像样本组成的外部辅助数据集预训练得到的模型对光伏板缺陷样本的任务适用性较差, 对光伏板缺陷样本中的任务相关型特征不敏感. 这样子不仅不利于模型较好地特征嵌入光伏板缺陷样本, 而且影响模型对任务有效特征的捕捉和保存, 不利于模型准确地预测任务样本的类别, 模型整体性能会大打折扣(精度降低).
因此, 为了缓解因外部辅助数据集和目标任务数据集的数据分布差异过大的问题, 保证预训练的模型能更好地去适用目标任务样本的学习过程, 本文对预训练模式进行了改进, 借鉴了半监督学习的思想, 在构建完嵌入模块(主干网络)后, 对参与模型预训练的数据集组成进行调整, 采用了任务样本(随机抽取部分实时采集的光伏板缺陷数据)和外部辅助数据集(大规模的光伏板缺陷数据集)相结合的方式共同参与模型的预训练, 尽可能缓解数据分布差异带来的不良影响(模型的任务适用性问题), 使得模型能结合光伏板缺陷任务样本的信息特征去训练合适的参数. 除此之外, 模型采用的外部辅助数据集与分类任务的数据集类似, 使得通用的样本特征信息更多(样本相接近, 均是光伏板缺陷特征), 数据分布相似度大幅度增加, 多次预训练后能得到任务适用性较高的模型. 通过新训练模式学习到的模型更能专注于光伏板缺陷任务样本中有效特征的提取和保存(敏感度提升), 进一步保证了模型的精度不受样本中无效特征(噪音等)的干扰, 提高样本类别的预测准确率.
2.2.3 新的相似性度量—平方欧氏距离在原型网络方法中, 度量模块的核心功能即定义一个距离度量函数, 模型通过函数计算样本间的相似性度量并完成样本的类别预测, 它的思想来源于较为流行的度量学习方法(对不同样本间的度量建模). 相似性度量(本文的讨论只针对于固定距离度量)[20, 21]是用来衡量样本之间的关系的标准, 它遵循类内样本间距变小, 类间样本间距增大的原理, 它的选择很大程度上影响了样本相似度的计算过程, 进而影响了模型精度. Snell等人[14]采用了余弦距离和欧氏距离两种相似性度量方式来对比计算样本间的相似度以完成归类, 余弦距离和欧氏距离的定义公式(假定
$ {\rm{cos}}(\theta ) = \tfrac{{\displaystyle\sum\nolimits_{i = 1}^n {{x_i}{y_i}} }}{{\sqrt {\displaystyle\sum\nolimits_{i = 1}^n {{x_i}^2} } \sqrt {\displaystyle\sum\nolimits_{i = 1}^n {{y_i}^2} } }} $ | (2) |
$ d(X, Y) = \sqrt {\sum\nolimits_{i = 1}^n {{{({x_i} - {y_i})}^2}} } $ | (3) |
其中,
结合式(2)和式(3)以及余弦距离和欧氏距离在常规的图像分类场景的应用思想, 可以发现, 余弦距离更关注的是方向的差距(方向角度), 欧氏距离关注的是位置的差距(多维空间的绝对距离). 虽然余弦距离可以一定程度地修正个体差异, 能在解决数据稀疏等问题上取得不错的效果, 但是因为只能分辨个体在维度(空间角度)之间的差异, 没法衡量每个维度数值的差异, 容易忽略掉某些有用的样本特征信息; 而采用欧氏距离作为相似性度量计算方式更能关注到不同类样本的差距(类间差异), 简单直观, 能在区分不同类别样本的差异过程中取得较好的效果, 非常适合于常规的大样本场景中的样本学习任务. 然而, 欧氏距离没有固定的上界, 受数据值的大小影响较大, 在环境较为复杂的光伏板缺陷分类场景中容易出现样本被错误归类的情况(效果不稳定), 极大地降低了模型的精度.
因此, 为了进一步扩大对异类样本间的区分度, 提升模型预测的精度, 本文在欧氏距离的基础上, 提出用平方欧氏距离替换欧氏距离以及余弦距离作为相似性度量标准, 度量模块中的其他流程保持不变. 为了更好地去描述平方欧氏距离, 这里给出n维空间下平方欧氏距离的公式, 如式(4)所示:
$ d(X, Y) = \sum\nolimits_{i = 1}^n {{{({x_i} - {y_i})}^2}} $ | (4) |
其中,
其他元素的定义与式(3)的定义一致, 对比式(3)和式(4)可以发现, 平方欧氏距离的定义与欧氏距离相似, 相当于欧氏距离每一项的平方, 提升了计算效率.
与欧氏距离相似, 平方欧氏距离一般也在聚类场景中使用, 但它的简洁性和高效性同样适用于复杂环境(区别于欧氏距离), 主要用于区分各类复杂度较高的工业样本并计算各样本与样本簇中心的距离, 非常适合于光伏板缺陷分类场景. 平方欧氏距离的优势可以从两个角度体现出来, 从数值角度(模型性能)来看, 选择平方欧氏距离可以更直观地凸出样本间的差异(类间差异), 进一步扩大了异类样本的区分度, 减少样本被错误分类的概率, 降低类间误差, 提高模型的精度, 这正是光伏板缺陷分类所需要的, 也是目前固定距离度量急需完善的地方. 从其他角度(成本和效率)看, 去除开平方根的步骤可以提高模型的计算效率, 能快速地挖掘出隐含在样本分布间的联系, 进一步提升了模型对未知类别样本的泛化能力, 使得模型对已知类别样本和待分类样本都有较好的拟合度.
3 光伏板缺陷分类的实现与讨论在将改进方法应用到光伏板缺陷分类之前, 本文以常规的机器学习方法(这里选用了K最近邻算法(K-nearest neighbor, KNN)[22]和线性支持向量机(linear support vector machine, LSVM)[23])为评判基准, 通过在基准数据集(CIFAR-100数据集[24]和Omiglot数据集[25])下设置一组对比实验来分析改进前后的原型网络方法的实验表现, 验证小样本学习方法分类的优势以及改进方法的有效性和优越性. 下面, 本文将利用改进方法实现光伏板缺陷分类实验并对其进一步讨论分析.
3.1 数据集由于工业光伏板缺陷数据的种类较多, 样本复杂度较高, 所处环境复杂, 需要实时地利用一些外部设备(工业相机等)在线监测和动态采集. 通过实时采集到的光伏板缺陷样本的类别以及各类别对应的样本都过少, 不足以满足实验要求. 为了较好地模拟光伏板缺陷分类场景, 本文提出采用一种混合的光伏板缺陷任务数据集来进行仿真分类实验, 验证改进方法的有效性和可行性.
3.1.1 新数据集描述本文采用的混合光伏板缺陷任务数据集主要包含两个部分, 一部分是目前已公开的爱尔兰根纽伦堡大学(FAU)采集的光伏板缺陷数据集[26], 包含2000张图片; 另外一部分是通过工业相机抓拍到的实际场景下的实时数据, 包含273张图片. 所有的缺陷图片都是300×300像素的灰度图, 总共有20个不同类别的光伏板缺陷.
另外, 本文采用的外部辅助数据为PVELAD数据集[27], 它是由河北工业大学以及北京航空航天大学联合发布的, 包含了50类共36543张300×300近红外缺陷图像, 其中每类大致有60–70个样本, 数据量庞大, 包含各种光伏板缺陷图像, 与任务数据的图像属性(数据分布)类似, 可以用来作为辅助数据集.
3.1.2 缺陷分类及描述在光伏板缺陷分类场景中, 缺陷的类别多且复杂, 本文采用的任务数据集涵盖了大部分缺陷, 下面将通过表格划分缺陷类别, 总结缺陷的特点和形成原因, 如表2所示.
3.1.3 数据预处理
通常, 实际获得的原始数据可能存在诸如数据冗余、噪声等情况, 这些无疑会降低数据的质量, 进而产生低质量的数据分类性能.
本文对原始数据集做以下两步处理.
(1) 剔除掉所有无效样本, 尽可能保证所有样本均与任务相关, 排除干扰.
(2) 原始数据集中的缺陷样本中可能不止一类缺陷, 甚至有背景噪音, 按图片各缺陷的位置坐标提取各缺陷(图像裁剪), 然后按照标注的类别存放到对应的缺陷文件夹中, 得到可用的实验数据集.
3.2 算法实现本文的实验将在Ubuntu 18.04的操作系统下进行, 采用了Intel(R) Core(TM) i7-11800H的处理器, 用于实验的电脑的CPU+GPU配置是2.30 GHz+6 GB, 内存是16 GB. 除此之外, 本文的实验语言是Python语言, 在Anaconda (Python 3.6.5)的编程框架下进行实验, 实验的IDE是Visual Studio code, 采用了包含PyTorch、Sklearn、Numpy、Cv2等流行的算法库来实现整个算法, 具体的算法设计分为以下4个环节.
(1) 模型主干网络AResNet的构建, 实现步骤分两步.
1) 利用PyTorch框架(Torch模块的nn库、sequential库以及functional库)构建ResNet18.
2) 在ResNet18的基础上, 利用Torch模块中的nn库实现空间注意力块(SAM)和通道注意力块(CAM).
AResNet网络具体实现了以下8个部分.
1) Conv1: 一层卷积块.
2) CBAM: 空间注意力块+通道注意力块.
3) Conv2: 第1个ConvBlock, 包含了2个残差块.
4) Conv3: 第2个ConvBlock, 包含了2个残差块.
5) Conv4: 第3个ConvBlock, 包含了2个残差块.
6) Conv5: 第3个ConvBlock, 包含了2个残差块.
7) CBAM: 空间注意力块+通道注意力块.
8) Fc: 全连接层.
(2) 以结合了任务数据的辅助数据集作为预训练数据集, 按照Episodic Training的训练模式预训练模型, 分两步.
1) 根据分类任务场景, 利用PyTorch框架下的dataloader库完成预训练数据(PVELAD辅助数据集+部分任务数据)加载.
2) 调用GPU, 多次训练学习AResNet的网络参数, 得到当前最优的特征嵌入模型.
接下来, 用预训练的模型来特征嵌入当前任务的光伏板缺陷样本(调用Torch库实现), 分两步:
1) 先利用PIL图像处理库壹基金PyTorch框架下的Dataloader库完成光伏板缺陷任务的图片数据读取和加载(构造Episodes小数据集), 再利用模型为各光伏板缺陷样本(支持集+查询集)生成对应的特征编码(
2) 对支持集样本的特征编码进行求均值(mean函数)的操作, 生成各类支持集类原型编码表示.
(3) 将支持集类原型编码表示和查询集编码表示输入到一个特征嵌入空间中, 先利用Torch库按照计算支持集类原型编码和查询集编码的平方欧氏距离, 得到相似度;
(4) 使用Softmax公式将对应的相似度激活成概率分布, 计算当前查询集样本归属于哪一类的概率, 预测各查询集样本的类别标签, 并与真实值标签做交叉熵loss目标函数(Torch库实现), 通过梯度反向传播去不断地优化模型的主干网络, 尽可能获得一个优秀的模型, 得到最好的缺陷样本分类结果.
3.3 方法评价分析本节以模型精度(accuracy)和实验用时(time)作为实验评价准则, 设置两组实验, 一组作为对比实验, 对比各个方法, 验证改进方法的有效性; 另外一组作为消融实验(ablation study)重点评估改进方法中的各个改进之处的可行性, 进一步取论证小样本学习方法在光伏板缺陷分类的场景下的有效性.
首先是对比实验, 以传统机器学习方法(KNN)为对比标准, 评估小样本学习方法在光伏板缺陷分类场景下的四分类(4-way, N=4)和六分类(6-way, N=6)的实验表现. 在实验过程中, 四分类实验设置如下, 训练集包含了10个类, 验证集包含了5个类, 测试集包含了5个类; 六分类的实验设置则是训练集7个类别的光样本, 验证集包含了6个类, 测试集包含了7个类. 四分类和六分类中设置了两组子实验, 一组设置测试集每一类的样本数为10个(10-shot), 另一组设置测试集每一类的样本数为30个(30-shot), 训练集和验证集中每一类的样本数都大于10个(设置20个), 具体如表3所示.
表3展示了传统机器学习方法和小样本学习方法在光伏板缺陷任务数据集上的实验参数设置. 传统机器学习方法(KNN)和小样本学习方法(改进前后的原型网络方法)按照任务分类数给任务数据集划分了训练集、验证集和测试集(互不交叉), 测试集类别数大于等于当前的任务分类数(这里设置四分类为4个类别, 六分类为6个类别), 保证训练集的类别数大于测试集的类别数(这里设置四分类为12个类别, 六分类为8个类别). 另外, 传统机器学习方法采用不放回随机采样的方式直接参与任务样本的四分类和六分类实验, 小样本学习方法则设置了4-way 10-shot/30-shot和6-way 10-shot/30-shot的随机采样方式构建分类子任务(N-way K-shot模式), 分别对应四分类和六分类实验; 除此之外, 小样本学习方法还需要用外部辅助数据集(PVELAD数据集)预训练模型, 预训练设置与任务场景保持一致. 下面通过表4展示第1组对比实验的实验结果由表4, 首先关注模型精度, 可以发现.
(1)对比小样本学习方法, 以KNN为代表的机器学习方法的模型精度不到50%, 远低于改进前后的原型网络方法的模型精度.
(2)小样本学习方法中改进前后的原型网络方法的学习效果都较为不错, 模型精度能达到60%以上, 改进后的方法的准确率会高出几个百分比.
其次, 再关注实验用时, 可以发现.
(1) 传统机器学习方法(KNN)的实验耗时最长, 远远高于改进前后原型网络方法, 需要3个多小时才能完成缺陷的分类, 而改进前后的原型网络方法的实验时长只有两个小时左右.
(2) 对于小样本学习方法, 模型复杂度最高, 参数学习过程复杂. 改进前后的原型网络的实验用时差距在于改进后的方法需要处理更多参数, 相对改进前的方法实验用时更长.
然后是消融实验(以5-way 25-shot作为ablation study的实验设置), 实验参数设置如表5所示. 下面将通过该实验进一步论证各个改进之处的有效性并着重讨论几个改进之处结合后的效果, 实验结果如表6所示.
由表6, 可以发现:
(1) 在预训练模式和距离度量相同的情况下, 用AResNet作为主干网络训练特征嵌入函数可以取得比用ConvNet4更高的模型精度.
(2) 在特征嵌入函数和预训练模式相同的情况下, 采用平方欧氏距离作为距离度量能取得最高的模型精度, 基本能取得65%以上的模型精度, 其次是欧氏距离, 表现最差的是余弦距离.
(3) 在其他因素保持一致时, 主干网络的复杂度越高(AResNet > ConvNet4), 实验用时越长; 在其他因素保持一致时, 结合任务样本来预训练模型会延长实验用时; 另外, 在其他因素不变时, 选择欧氏距离的实验用时最长, 其次是平方欧氏距离, 采用余弦距离作为度量的实验用时最短.
综合两组实验, 改进模型主干网络架构的所起到的效果是最好的, 有助于提取到更有效的光伏板缺陷样本的特征, 同时提升模型对光伏板缺陷任务样本的适用性, 后续度量模块能准确地划分各光伏板缺陷样本的类别; 还有, 新的预训练模式可以让参数在学习时充分结合了任务样本特征, 增加模型的任务适用性, 进一步关注到有效的光伏板缺陷特征, 提升模型特征嵌入能力, 进而提升模型的精度; 另外, 实验也证明了平方欧氏距离通过减少开平方的计算过程可以减少实验用时, 而且进一步扩大了模型对异类缺陷样本的区分度, 不仅提升模型的精度, 而且优化了计算相似性度量的流程, 提升了模型分类效率, 减少了模型的时间成本. 除此之外, 改进之处的结合可以让方法取得更好的模型精度, 在光伏板缺陷分类领域论证了本文对原型网络的改进之处是行之有效的.
4 结语近些年来, 小样本学习一直是工业图像分类领域中的一个重要的研究课题. 在工业图像应用场景下, 样本数据量有限且复杂, 这给当前的小样本学习技术带来不小的挑战, 如何保证小样本学习的性能成为当前解决问题的关键. 小样本学习方法在常规小样本分类领域的发展过程中也取得不少有效成果, 本文受原型网络的启发, 针对方法在面对复杂工业样本时的局限性, 提出改进的原型网络方法, 主要贡献如下.
(1) 提出了新的主干网络——AResNet来预训练模型, 新主干网络既加深了网络层次, 又增强模型对任务有效特征的关注和保存能力, 提升模型精度;
(2) 提出了同时结合任务集缺陷样本和外部辅助数据集样本的方式去预训练模型, 让特征嵌入函数能结合到缺陷任务的样本特征训练出更优秀的参数, 使得整体模型更加适用于光伏板缺陷样本;
(3) 提出使用新的距离度量——平方欧氏距离来计算相似性度量, 进一步扩大异类样本的区分度, 有利于更为准确地预测缺陷样本的类别.
本文在自定义的光伏板缺陷数据集上设置了两组对比实验, 对新方法以及其各改进之处进行论证, 实验中发现模型主干网络对特征嵌入能力是影响整个方法分类效果的最关键因素. 另外, 几个改进之处均对提升模型分类效果起到重要作用(各评价指标均得到大幅度提升), 验证了改进算法的有效性和可行性, 证明了小样本学习不仅是存在于理想状态的概念, 在未来有望大规模应用在实际工业领域的光伏板缺陷分类场景中.
[1] |
Chaturvedi P, Hoex B, Walsh TM. Broken metal fingers in silicon wafer solar cells and PV modules. Solar Energy Materials and Solar Cells, 2013, 108: 78-81. DOI:10.1016/j.solmat.2012.09.013 |
[2] |
张玮华. 太阳能电池硅片缺陷自动检测分类方法研究[硕士学位论文]. 上海: 东华大学, 2014.
|
[3] |
王宪保, 李洁, 姚明海, 等. 基于深度学习的太阳能电池片表面缺陷检测方法. 模式识别与人工智能, 2014, 27(6): 517-523. DOI:10.3969/j.issn.1003-6059.2014.06.006 |
[4] |
Kim J, Liu GL, Lu Y, et al. Spectral tuning of localised surface plasmon-polariton resonance in metallic nano-crescents. IEEE Proceedings—Nanobiotechnology, 2006, 153(3): 42-46. DOI:10.1049/ip-nbt:20050016 |
[5] |
Ostapenko S, Dallas W, Hess D, et al. Crack detection and analyses using resonance ultrasonic vibrations in crystalline silicon wafers. Proceedings of the 2006 IEEE 4th World Conference on Photovoltaic Energy Conference. Waikoloa: IEEE, 2006. 920–923.
|
[6] |
Byelyayev A. Stress diagnostics and crack detection in full-size silicon wafers using resonance ultrasonic vibrations [Ph.D. Thesis]. Tampa: University of South Florida, 2005.
|
[7] |
Dueñas S, Pérez E, Cástan H, et al. The role of defects in solar cells: Control and detection defects in solar cells. Proceedings of the 2013 Spanish Conference on Electron Devices (CDE). Valladolid: IEEE, 2013. 301–304.
|
[8] |
孙智权, 周奇, 陈震, 等. 基于CMOS图像传感器的太阳能电池缺陷检测系统设计. 仪表技术与传感器, 2018(1): 60-63. DOI:10.3969/j.issn.1002-1841.2018.01.015 |
[9] |
Xie YF, Hu WT, Xie SW, et al. Surface defect detection algorithm based on feature-enhanced YOLO. Cognitive Computation, 2022, 1-15. DOI:10.1007/s12559-022-10061-z |
[10] |
Ur Rahman MR. Multi attention U-Net based defects inspection in polycrystalline solar cell electroluminescence images [Master’s Thesis]. Tianjin: Hebei University of Technology, 2020.
|
[11] |
Zhang S, Ye F, Wang BN, et al. Few-shot bearing fault diagnosis based on model-agnostic meta-learning. IEEE Transactions on Industry Applications, 2021, 57(5): 4754-4764. DOI:10.1109/TIA.2021.3091958 |
[12] |
Zhang AS, Li SB, Cui YX, et al. Limited data rolling bearing fault diagnosis with few-shot learning. IEEE Access, 2019, 7: 110895-110904. DOI:10.1109/ACCESS.2019.2934233 |
[13] |
Song WB, Wu D, Shen WM, et al. Meta-learning based early fault detection for rolling bearings via few-shot anomaly detection. arXiv:2204.12637, 2022.
|
[14] |
Snell J, Swersky K, Zemel RS. Prototypical networks for few-shot learning. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017. 4080–4090.
|
[15] |
Wang YQ, Yao QM, KWOK JT, et al. Generalizing from a few examples: A survey on few-shot learning. ACM Computing Surveys, 2021, 53(3): 63. |
[16] |
Li XR, Cao ZY, Zhao LY, et al. ALPN: Active-learning-based prototypical network for few-shot hyperspectral imagery classification. IEEE Geoscience and Remote Sensing Letters, 2022, 19: 5508305. |
[17] |
Chai Z, Zhao CH, Huang B, et al. Prototype-transfer neural network based industrial process fault diagnosis under variant working conditions. Proceedings of the 31st Chinese Process Control Conference. Xuzhou: Technical Committee on Process Control. 2020. 57.
|
[18] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
|
[19] |
Woo S, Park J, Lee JY, et al. CBAM: Convolutional block attention module. Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018. 3–19.
|
[20] |
Chen JX, Zhan LM, Wu XM, et al. Variational metric scaling for metric-based meta-learning. Proceedings of the 34th AAAI Conference on Artificial Intelligence. New York: AAAI, 2020. 3478–3485.
|
[21] |
Adewole S, Fernandez P, Yeghyayan M, et al. Lesion2Vec: Deep metric learning for few-shot multiple lesions recognition in wireless capsule endoscopy video. arXiv:2101.04240, 2021.
|
[22] |
迟殿委. 一种基于KNN算法的手写数字识别实现. 信息与电脑(理论版), 2019, 31(17): 20-22. |
[23] |
张翔, 周明全, 耿国华, 等. 基于LSVM算法的人脸识别方法研究. 计算机应用与软件, 2008, 25(8): 30-32. DOI:10.3969/j.issn.1000-386X.2008.08.012 |
[24] |
Ismayilov G, Yilmaz CD. Multi-criteria evaluation of publication impacts: Deep learning in autonomous vehicles. Proceedings of the 29th Conference of Open Innovations Association (FRUCT). Tampere: IEEE. 2021. 160–168.
|
[25] |
Singla S, Singla S, Feizi S. Improved deterministic l2 robustness on CIFAR-10 and CIFAR-100. 10th International Conference on Learning Representations. OpenReview.net, 2022. 1–30.
|
[26] |
Ur Rahman MR, Chen HY. Defects inspection in polycrystalline solar cells electroluminescence images using deep learning. IEEE Access, 2020, 8: 40547-40558. DOI:10.1109/ACCESS.2020.2976843 |
[27] |
陈文志, 张凤燕, 张然, 等. 基于电致发光成像的太阳能电池缺陷检测. 发光学报, 2013, 34(8): 1028-1034. |
[28] |
王胜利, 朱寿红, 蒋毅. 基于CNN模型迁移的OLI影像光伏电池板场景识别. 测绘通报, 2022(2): 5-9. DOI:10.3969/j.issn.0494-0911.2022.2.chtb202202002 |
[29] |
胡犇. 基于深度学习的光伏板缺陷检测技术研究[硕士学位论文]. 武汉: 湖北工业大学, 2021.
|
[30] |
王楠. 基于视觉的硅太阳能电池检测方法的研究[博士学位论文]. 保定: 河北农业大学, 2014.
|