融合知识蒸馏和注意力机制的光伏热斑检测

2024-01-04 02:24吴瑛琦王海莹
光学精密工程 2023年24期
关键词:特征模块故障

郝 帅,吴瑛琦,马 旭,李 彤,王海莹

(西安科技大学 电气与控制工程学院,陕西 西安 710054)

1 引言

太阳能是重要的可再生能源之一,可以作为传统燃料的清洁和可再生替代品。在众多清洁能源中,太阳能越来越受到人们的青睐。光伏电池板在运行过程中存在微裂纹、玻璃破损等缺陷,进而导致出现热斑故障,极大降低其运行效率[1-3]。因此,对光伏电池板进行热斑故障检测是保证光伏电站安全、高效运行的有效措施。

目前,常用的热斑检测方法可分为电气测量检测方法和基于计算机视觉的故障检测方法。电气测量检测方法主要是通过搭建外部电路获取电压电流等电气量,与正常运行值对比判断进行检测[4]。计算机视觉的方式主要是对通过拍摄得到的图像进行特征提取分析[5]。基于计算机视觉的检测方法可分为传统检测法和基于深度学习检测方法。传统目标检测方法主要依赖于滤波器或手工特征描述符对故障目标进行提取分割识别。孙海蓉等[6]受高斯分布启发提出一种热斑识别函数,采用改进自私羊群算法对热斑位置进行寻优,利用双边滤波对热斑故障进行分割,获得热斑故障检测结果。蒋琳等[7]为抑制噪声干扰,提出对红外图像灰度直方图进行B 样条最小二乘拟合,提高检测准确率。Grimaccia 等[8]通过图像镶嵌技术和颜色滤波技术识别出光伏组件,结合红外温度信息检测热斑故障。上述算法虽然在一定条件下具有较高的检测精度,但是由于采用人工提取特征其鲁棒性较弱,泛化能力不足。深度学习借助于卷积网络能够自动学习图像特征信息,得到样本具体特征表达,在目标缺陷检测任务中取得了显著成效,具有较好的鲁棒性和泛化能力[9-11]。因此,部分学者借助深度学习对光伏热斑检测展开研究。

目前,基于深度学习的检测方法主要分为两类:Two-stage 和One-stage。Two-stage 方法需要产生候选区域并对其进行分类以确定目标,代表算法 有Faster RCNN[12],Sparse RCNN[13]等。樊涛等[14]在Faster RCNN 网络中 结合注 意力机制以提升复杂环境下特征提取的有效性,进而提升网络检测准确率。但Two-stage 算法存在设计复杂、检测效率低等问题。One-stage 算法通过回归的方式检测目标,代表算法包括SSD[15-16],YOLO 系列[17]等。王道累等[18]针对红外热斑图像数据较少的问题,利用伽马变换扩充数据,并提出改进YOLOv4-tiny 的金字塔结构并融合注意力机制提升检测准确率。夏杰锋等[19]针对热斑成因的差异性提出基于EfficientNet 的缺陷分类网络,利用边缘检测提取光伏组件轮廓进行定位。Su 等[20]提出一种通道注意力特征加权的门机制进行特征提取与过滤,实验证明该方法可有效检测光伏热斑故障。

综上,基于深度学习的光伏热斑检测算法相较于基于人工特征的检测算法具有明显优势,但是基于深度学习的光伏热斑检测方法依然存在以下难点:第一,现有算法主要针对单尺度目标开展研究,而光伏热斑故障目标存在尺度差异大,导致特征难以有效表达;第二,热斑故障纹理特征较弱且存在边缘模糊现象,易淹没于复杂背景中,导致目标特征显著度较低,难以获取;第三,现有算法难以兼顾检测精度和网络轻量化。

针对上述问题,本文提出一种融合知识蒸馏和注意力模型的光伏热斑检测算法(Knowledge Distillation and Attention Network,KDANet)。针对热斑故障存在多尺度的问题,设计一种高阶空间交互和通道注意力相融合的特征提取模块以加强网络对于多尺度目标特征的有效表达。为解决检测环境复杂导致检测困难的问题,构建一种结合通道和位置的注意力模块来增强故障目标显著度,抑制背景信息干扰,进而增强检测准确率。为提升网络检测精度的同时减少网络参数量,基于知识蒸馏思想框架将教师网络的知识迁移至学生网络中,兼顾网络精度与网络轻量化。

2 基于知识蒸馏的光伏热斑检测

为提升复杂环境下多尺度热斑故障检测能力,本文提出一种融合知识蒸馏和注意力机制的光伏热斑检测算法。其中,学生网络为需要实现高精度的小型网络,保证模型参数量少,故选择YOLOv5s 作为学生网络;而教师网络需要保证足够高的检测精度,构建出检测精度高的网络,模型参数量较大。为提升网络对多尺度热斑特征信息的表达能力,本文设计一种高阶空间信息交互和通道注意力相融合的模块;为提升复杂背景下网络对热斑信息的正确表达,本文设计一种结合通道和位置信息的注意力模块。本文检测网络结构主要分为三部分,分别为教师网络部分、学生网络部分和蒸馏部分,原理如图1 所示。

图1 基于知识蒸馏的检测原理图Fig.1 Schematic diagram of detection based on knowledge distillation

训练具体步骤如下:

(1)选取YOLOv5 作为教师网络和学生网络的基准,教师网络将主干网络部分替换为高阶空间交互和通道注意力相融合的特征提取模块(Fusion Channel Attention and Higher-order Spatial Interactions,FCAHSI)以增强多尺度目标在网络中的权重信息,提升网络检测准确率。

(2)将教师网络中检测头部分替换为本文设计的结合通道和位置信息的注意力模块(Combining Channel and Location information Attention,CCLA)来抑制复杂背景的干扰,增强目标显著度,借以提升热斑目标的检测精度。

(3)将光伏热斑数据集划分为训练集、验证集和测试集,训练集分别送入教师网络和学生网络进行训练,得到初始权重。

(4)利用初始权重进行蒸馏训练,即获取教师网络预测层输出特征,将其迁移至学生网络预测层,辅助学生网络学习热斑故障信息。过程中通过蒸馏损失控制学习热斑故障特征,实现提升学生网络检测精度的目的。

2.1 FCAHSI 模块

针对网络对多尺度热斑信息表达能力弱,导致算法检测性能不足的问题,本文设计了一种融合高阶空间交互和通道注意力的结构,如图2所示。

图2 FCAHSI 结构图Fig.2 Structure of FCAHSI

首先,将输入图像调整成统一尺寸,求取输入图像的全局平均池化Fgap得到通道注意权重图,并利用WC获得全局故障信息关注,计算式定义如式(1)和式(2)所示:

其中:Xdiv∈RC×W×H,指只通过一次跳跃连接拼接特征得到的特征图,XC∈RC×1×1,指代特征图通过全连接层后得到的权重图,σ是sigmoid 激活函数,Fgap代指通道全局平均池化,A是通过计算得到的一种通道关注特征描述子,Xrefine代表计算得到的通道特征图。

其次,为实现故障目标特征有效保留,将上述特征图输入至HB 模块中,经过门控卷积的多次空间计算,保留故障信息。令x∈RHW×C代表输入特征,其计算式如式(3)~式(5)所示。

其中:φin,φout表示通道混合后的线性投影层,f是深度可分离卷积,p,q分别代表相邻特征,通过上式计算相邻特征之间的内在联系。

为实现更高层次的特征空间交互,采用递归的方式增加模型容量。首先,使用φin获得一组特征p0和

然后递归执行门控卷积,得到如式(7)所示特征:

其中:使用1/α将输出缩放,稳定训练;{fk}是一组深度卷积层,{gk}用于不同顺序匹配维度,定义如式(8)所示:

最后,将最后一个递归φout的输出馈送至投影层p0,获得更高阶的空间信息交互结果。为限制高阶空间交互作用引入的计算开销,将每阶通道维度按照式(9)设置。

低阶特征使用较少的通道计算,可实现特征从粗到细全方位交互,保证目标信息的完整性。由此,可融合通道注意力和高阶空间交互,实现目标特征信息有效保留。

2.2 CCLA 模块

针对网络难以准确检测复杂环境下热斑故障信息的问题,本文设计一种结合位置信息和通道信息的注意力模块,将其嵌入检测网络中,提升故障目标的表达能力,借以提升网络检测准确率和精度。具体结构如图3 所示。

图3 CCLA 结构图Fig.3 Structure of CCLA

为增强注意力利用精确的位置信息在空间上捕捉长距离的相互作用,将全局池化分解为两个1 维方程表示。具体而言,给定输入X,使用池化函数(H,1)和(1,W)分别对水平方向和垂直方向的通道信息进行编码。由此可得高度h第c通道的输出如式(10)所示:

同样地,由此可得宽度w第c通道的输出如式(11)所示:

上述两个变换分别沿着两个空间方向聚合特征信息,产生一对方向感知特征图,可以捕获沿一个空间方向的长距离依赖关系,同时保留沿另一空间方向的精确位置信息,有助于检测网络更加准确的定位感兴趣的目标。融合后的特征图如式(12)所示:

其中:[ ·,·]指沿空间维度进行串联,F1是1×1 的卷积变换函数,δ是非线性激活函数,fu表示将水平方向和垂直方向上的空间信息进行编码所得的中间特征图。fu沿着空间维度分解为fh和fw,通过公式(13)和公式(14)将通道数调整至和输入X相同。

最后,位置信息注意力部分可写为式(15)所示:

为保留通道信息,将上述拥有位置信息的特征图进行全局平均池化,压缩特征为具有全局信息的1×1×C的数列(C为特征通道数);然后不降维的情况下调整大小为k的快速以为卷积生成通道权重,进行局部扩通道交互,共享通道参数,获取各个通道之间的相关依赖关系,如式(16)所示:

其中,ω为特征权重,捕获跨通道局部交互信息;CID为一维卷积,k决定扩通道局部交互的范围。

特征通道数C与k正相关,计算关系如式(17)所示:

确定通道维数C后,计算卷积核k大小如式(18)所示:

其中,γ和b分别取2 和1。最后,将生成的特征图加权到原来的输入特征图上。

2.3 基于知识蒸馏的目标检测

知识蒸馏是一种模型轻量化的方法,由教师网络和学生网络组成。和学生网络相比,教师网络结构复杂、训练后获得的检测精度更高,通过迁移教师网络大模型的知识到学生网络小模型中,可辅助学生网络更好地学习到故障目标信息,实现检测精度和速度兼顾。

针对标准蒸馏方法中学生网络会从教师网络预测的背景区域中学习错误的边界框导致出现检测能力降低的问题,本文将教师网络的预测层内容进行蒸馏,并使用蒸馏损失函数控制学生网络学习。本文采用如式(19)所示的蒸馏损失函数,使得蒸馏过程中学生网络只学习教师网络预测的目标概率值较高的边界框位置和类别概率:

2.4 函数优化

当预测框和真实框相互包含或出现宽和高对齐时,该损失函数会退化为IoU,使得定位不准确,导致预测框收敛方向出现偏差,容易造成漏检问题。因此,本文采用Focal-CIoU 损失函数替代原损失函数,其计算公式如式(23)~式(26)所示:

其中:α和υ为长宽比,w,h,wgt和hgt分别表示预测框的宽、高和真实框的宽和高,γ用于控制曲线弧度。

3 实验结果

3.1 实验数据集与实验环境

本文实验中软硬件平台配置如表1 所示。

表1 软硬件平台配置Tab.1 Configuration of Hardware and software

实验使用的数据集是来自某光伏电站通过无人机携带热红外相机拍摄所得,总共1 028 张红外图像,使用LabelImg 工具进行标注工作,按照6∶2∶2 划分训练集、验证集和测试集。在网络训练时,首先将输入图像调整到统一的640×640大小,并采用动量项为0.937 的梯度下降算法进行训练。同时,为保证学习率随网络的学习程度而自适应,本文使用余弦退火学习率方法对学习率做自适应调整。每个批次训练的batch 中包含8 张图像,分为77 次送入网络。

3.2 评价指标

为客观评价KDANet 算法的优势,本文选取召回率MR,准确率MP,mAP50 和模型推理时间Mt作为客观评价指标,各指标的公式定义如式(27)~式(29)所示:

其中:NTP为网络正确检测出缺陷的个数,NFN代表未正确检测的缺陷个数,NFP代表误检的故障个数,和分别表示网络检测开始和结束的时间。

3.3 KDANet 消融实验

为客观评估KDANet 算法的检测性能,将KDANet 与YOLOv5 网络做对比分析,其中损失函数对比曲线如图4 所示。

图4 损失函数对比曲线Fig.4 Loss function contrast curves

从图4 可以看出,本文采用的损失函数可以更快的将训练损失降到最低。

平均准确值对比曲线如图5 所示。图5 中本文算法精度在约150 轮后超过基准YOLOv5 算法,达到平衡且最终稳定于84.5%。

图5 平均准确值对比曲线Fig.5 Different module action experiments

为进一步验证各改进模块的有效性,本文设计的教师网络在原始YOLOv5 网络基础上通过加入不同改进策略对测试集进行消融实验,所有实验均使用相同的数据样本和参数设置,对比结果如表2 所示。

表2 不同模块作用实验Tab.2 Different module action experiments

由表2 结果可知,和基准网络相比,教师网络中单独使用本文设计的FCAHSI 模块后,准确率提升14.4%,召回率提升13.7%,AP50 提升15.9%。单独使用CCLA 模块后,准确率提升13.3%,召回率提升11.3%,AP50 提升15.3%。实验结果说明本文提出的FCAHSI 和CCLA 模块对于热斑故障信息检测能力提升显著。

3.4 蒸馏对比实验

为验证本文设计的蒸馏网络性能,将教师网络、学生网络和蒸馏后的网络进行测试对比,蒸馏温度设置为20,蒸馏损失平衡系数λD设置为1,结果如表3 所示。

表3 蒸馏实验结果Tab.3 Result of distillation experiment

从表3 结果可以看出,教师网络模型最大,检测精度最高,但检测时间最长。学生网络的检测准确率、回归率和精度均最低,经过蒸馏之后各个指标均有不同程度的提升,尤其在不添加任何模型复杂度的情况下,检测精度较原来提升14.2%,而检测时间减少0.2 ms,说明本文设计的蒸馏网络可将教师网络的优势无条件迁移至学生网络,从而提升学生网络的检测性能。

3.5 对比实验

为客观评价KDANet 的检测性能,选取SSD,CenterNet,EfficientDet,FCOS 4 种经典算法在多尺度、小目标、密集目标、复杂背景4 种不同情景下进行对比测试(原图中绿色框标出所有热斑故障,实验图白色框标出所有漏检、误检情况)。实验用原图和算法检测图如图6 所示(彩图见期刊电子版)。

图6(a)为实验用原图,从左到右4 组实验结果及分析如下。

第1 组实验:多尺度热斑目标检测。从第1组实验结果可以看出,SSD,EfficientDet 和FCOS 算法均存在漏检问题,本文算法因使用FCAHSI 模块,多尺度信息保留能力较强,可较好的解决故障尺度不同导致检测困难问题,检测结果更为准确。

第2 组实验:小目标热斑检测。SSD,EfficientDet 算法有漏检情况,其余3 种算法可检测出小目标热斑故障。本文算法因使用了CCLA模块,增强网络对小目标位置信息的特征表述,提升了对小目标的检测能力。

第3 组实验:密集目标检测。对于故障所处区域较为密集的情况,所有算法均可检测出。其中,EfficientDet 和FCOS 存在误检情况,无法准确检测出所有故障,而SSD 算法检测框较真实检测框存在一定偏移。

第4 组实验:复杂背景下热斑目标检测。实验结果表明,CenterNet 算法可检测出热斑故障,但也存在误检情况。其余对比算法均可检测出热斑故障,而本文算法使用CCLA 模块,提升网络对于复杂背景下热斑故障的表达能力,不仅可以准确检测出故障,还拥有最高的置信度。

为进一步验证KDANet 算法的优势,将KDANet 算法与8 种经典目标检测算法进行对比实验。实验过程中所有目标检测算法均使用相同数据样本和参数进行训练,其检测结果如表4所示。从表4 的实验结果可以看出本文算法有最高的检测精度,与Yolov7 算法相比,在检测精度上更为优异,能够较好的兼顾检测精度和实时性具有良好的检测性能。

表4 不同算法检测结果对比Tab.4 Comparison of detection results of different algorithms

4 结论

本文提出了一种融合知识蒸馏和注意力模型的光伏热斑故障检测方法。通过对比实验分析,得到如下结论:

(1)通过本文设计的融合通道注意力和空间交互能力的模块可以有效增强多尺度热斑故障的表征能力,提高目标故障的检测准确率。

(2)通过在检测网络中采用本文设计的结合通道和位置注意力模块,检测网络可以准确感知复杂背景下故障目标的具体坐标位置,借以提升检测精度。

(3)通过知识蒸馏的知识迁移过程,学生网络可以更好地学习光伏热斑故障,进而提高热斑故障的检测精度,其检测结果较原始网络高14.2%。

(4)通过某光伏电站无人机拍摄所得到的数据对本文算法进行验证,实验结果表明,本文算法能够实现复杂环境下多类故障目标的准确检测,检测精度高达84.8%,并且具有良好的实时性。

猜你喜欢
特征模块故障
28通道收发处理模块设计
“选修3—3”模块的复习备考
故障一点通
如何表达“特征”
不忠诚的四个特征
抓住特征巧观察
奔驰R320车ABS、ESP故障灯异常点亮
故障一点通
江淮车故障3例
线性代数的应用特征