APP下载

基于改进YOLO v5s 算法的光伏组件故障检测

2023-03-05孙建波王丽杰麻吉辉高玮

红外技术 2023年2期
关键词:置信度卷积损失

孙建波,王丽杰,麻吉辉,高玮

(1.哈尔滨理工大学 测控技术与通信工程学院,黑龙江 哈尔滨 150080;2.哈尔滨理工大学 黑龙江省激光光谱技术及应用重点实验室,黑龙江 哈尔滨 150080)

0 引言

光伏组件多安装于室外,长期工作过程中会受到复杂环境因素影响产生如组件脱落、表面破裂、开路、栅线老化[1]等不同程度的缺陷,导致局部发热并在红外图像中呈现出“热斑效应”,对光伏发电的经济效益和安全运行都带来了严重影响[2]。传统的光伏电站巡检方式多为人工巡检,工作时难度高且效率低下,主要依赖光伏逆变器的电气特性和组件外观状态,检测效率较低。

随着光伏产业规模不断扩大,搭载工业相机的无人机巡检逐渐成为主流。一方面,传统的红外图像处理方法将获取的图像信息进行聚类分析、几何边缘分割[3]、形态学处理等操作,能够较为准确地判别故障模式。时亚涛[4]等采用傅里叶变换的方法去除光伏板母线,并重建图像背景,最后用待检图像与背景图像的差值得到缺陷类型。该方法对不同缺陷都有较高的识别准确率,但对小目标识别效果不佳,且未对缺陷类型进行明确分类。毛峡[5]等以红外图像局部标准差衡量局部灰度一致性,在该区域中根据矩形尺寸采用了形态学方法对光伏阵列背景区域进行去除,从而对热斑图像有效区域进行了分割,且分割效果优于常规分割算法。另一方面,相较于传统图像处理算法,基于深度学习的目标检测算法在检测速度和识别准确率方面更加理想,其从结构上可分为单阶段(one-stage)检测算法和二阶段(two-stage)检测算法。前者如SSD(single shot multiBox detector)[6]、YOLO(you only look once)[7]系列不用生成区域候选框,在网络中基于区域回归的方式进行特征提取,具有较高的检测速度但定位精度较低。后者先由模型生成一系列候选框,再通过后续分类网络进行分类,常见的如R-CNN[8]、Faster-RCNN[9]、Cascade RCNN[10]等,此类方法能在一定程度上提高精度,但检测速率较低,为此,近年来领域内大量科研人员开始致力于相关研究及探讨。S.Wei[11]等提出了基于霍夫变换和Canny 算子结合的经典图像处理算法以及基于Faster-RCNN和迁移学习的卷积神经网络方法来检测复杂环境下的光伏板热斑,后者对热斑的检测效果更好,但模型较大,不能很好地部署到移动端。Bartler[12]等通过对故障光伏图像进行畸变校正、分割、透视校正等预处理,将其输入卷积神经网络用于训练,成功解决了数据不平衡问题,并取得了较高的分类准确率;程起泽[13]等提出了一种基于CNN-LSTM 的光伏组件缺陷检测方法,相较于单纯使用LSTM 模型训练时间缩短,同时保持了良好的准确率。

通过分析上述研究手段的优劣及其适用条件,本文提出了一种基于损失改进和特征增强处理的YOLOv5s 光伏故障巡检方法。使用性能更佳的EIOU 函数代替GIOU 函数计算回归损失,该函数充分考虑了锚框宽高的比例,同时自适应调节置信度损失函数平衡参数,使模型更加专注高质量锚框的损失;结合Inception 结构以及残差结构的特点,在每个检测层前构建InRe 特征增强模块,以期提高特征提取能力。

1 数据采集方案

研究中,利用搭载双光相机的无人机对东北某光伏场站进行图像采集。故障分析采用光伏板红外图像热斑及缺陷分析为主、可见光图像分析为辅的故障模式及效应分析手段,执行红外图像热斑与缺陷识别分析,借此改变目前用于深度学习的光伏缺陷数据集多为可见光图像的研究现状。研究中,图像数据采集的实验设备设置为大疆Matrice200 无人机搭载ZENMUSE XT2 云台方式,双光相机采用FLIR 长波红外非制冷热成像相机机芯和可见光相机。对于沼泽、水面等地势较平整的光伏场区域,采用路径自主规划算法;对于坡地区域事先手动选取光伏区域起始、结束点进行路径规划,再由无人机依据路径进行巡检。巡检时,始终保持红外相机云台角度与倾斜的光伏板正对以获得最大拍摄面积,为了克服阳光强烈时造成的反光干扰,及时调整飞行高度,水平飞行速度为4 m/s。

图像数据采集后,通过对得到的红外与可见光图像进行对比分析发现,故障主要包括热斑和组件脱落两种,其中热斑数量较多,多位于组件栅格外侧边缘,图1 给出了无人机采集的两种常见故障模式热斑和组件脱落的红外图像。

图1 两种常见光伏组件故障类型样例Fig.1 Examples of two common PV module failure types

通过对采集的红外图像进行筛选,删除成像效果不佳数据,共得到尺寸为640×512 的故障样本1062 张。为满足深度学习训练要求,需对数据进行增强,研究中针对上述缺陷样张进行翻转(30°、60°、90°)、裁剪、平移等变换,共得到3200 张图像样本。将所得样本按照4:1 的比例分成训练集和测试集,使用标注软件LabelImg 对数据进行标注,标注类别有热斑(hot spot)和组件脱落(damage)两类,格式与VOC2007 数据集一致,建立红外光伏板故障数据集。

2 YOLO v5s 模型搭建及优化研究

2.1 YOLO v5 模型搭建

YOLO v5 网络由输入(Input)、主干(backbone)、特征金字塔结构(FPN+PAN)和检测头(YOLO head)组成,如图2 所示。从运行机理分析,YOLO v5 基本遵循YOLO 系列的框架架构,并在此基础上提出多点改进,包括数据输入、特征金字塔、解耦头等关键处理环节。

图2中,在数据输入阶段,YOLO v5 对其进行了同YOLO v4 一样的Mosaic 数据增强,这样处理能同时将4 张图片经过随机缩放、裁剪等操作拼接成一张图片,丰富目标背景的同时减少计算成本。进一步地,图片缩放后使用更加合理的黑边填充比例,可减少信息冗余带来的干扰。

YOLO v5 主干部分主体采用CSPDarknet 结构,其中的CSP 结构将底层特征分解为两部分,其中一部分经过卷积加多个残差结构或多个卷积操作后与另外一部分拼接,从而学习到更加丰富的特征。模型根据CSP 模块参数量配置共有Yolo v5s、Yolo v5m、Yolo v5l、Yolo v5x 四个版本,参数量由小到大,本文选用最为轻量级的Yolo v5s 模型,结构如图2 所示。引入Fcous 结构,将图片进行切片操作,即每间隔一个像素取值,得到4 个特征层结构,在参数量上得到大幅优化;添加SPP 结构,即对尺度分别为1×1、5×5、9×9、13×13 的4 个最大池化处理进行特征提取,该操作能在不影响运算速度的前提下实现不同尺度的特征融合。

图2 YOLO v5s 结构示意图Fig.2 Structural diagram of YOLO v5s

特征金字塔部分,将主干中对输入尺寸进行3、4、5 次压缩的特征层组成图像金字塔FPN+PAN 结构,以此实现特征多尺度自底向上和自顶向下的融合,使特征信息得到大幅增强。

如图2 所示,YOLO v5 模型结构中,解耦头共设置3个,分别与特征金字塔FPN+PAN 结构的3个输出相连,对解耦头进行解码得到预测结果。所有激活函数采用效果更佳的SiLU 激活函数,该函数在深层网络中有着比Relu 函数更好的表现。回归损失(location loss)采用GIOU loss,置信度损失(confidence loss)和分类损失(classification loss)均通过BCE 损失函数得到。

2.2 损失函数优化

神经网络中的损失(loss)反映预测值和真实值的差异,YOLO v5 中损失有3种,分别是回归损失(location loss)ed,分类损失(classification loss)es和置信度损失(confidence loss)ek,定义网络的总损失l:

式中:a1、a2、a3分别代表3 个不同分辨率特征层的置信度平衡参数(balance parameter);ed由GIOU损失得到,表示为:

如图3 所示,IOU 是预测框和真实框的交并比;S2表示包裹预测框和真实框的最小矩形面积;S1表示两框相并的面积。

图3 GIOU 示意图Fig.3 Schematic diagram of GIOU

该损失函数解决了两框没有交集面积时IOU值为0 的问题。同时也存在两个主要缺点:一是当两框交集为0时,在横向与纵向收敛较为缓慢,二是当两框出现包含情况时,损失退化为IOU 损失,此时收敛依然困难。因此,为了提高模型的收敛稳定性,研究中采用EIOU(efficient intersection over union)[14]代替GIOU 作为新的置信度损失,其定义如下:

该函数主要包含重叠损失LIOU,距离损失Ldis和宽高损失Lasp三部分,其中c表示能包裹两框最小矩形的对角线距离,ρ(b,bgt)为两框中心点距离,cw和ch分别表示能包裹两框最小矩形的宽度和高度。ρ(w,wgt)和ρ(h,hgt)代表两框宽和高的差值。EIOU损失不仅考虑了两个矩形框的距离因素,也最小化了两框宽高的差异,因此可在一定程度上提高较小目标的检测准确率。

在式(1)中,a1、a2、a3和不同大小目标的数量有关,考虑到原coco 数据集中小目标较多的特点,按照特征层由大到小的顺序默认为0.4,1.0,4。具体到本文实验对象中,样本的不确定性会影响结果的准确性,因此,有必要根据样本的数量自适应设置平衡参数[15],其设置规则如下:

假设第i个检测层中所有正样本预测框数量为mi,同时,将mi中与真实框的IOU 值大于阈值q的预测框数量设为ni,则得到平衡参数表达式:

式中:r表示检测层个数;θ=0.1;μi为高质量正样本数占总的正样本数比例。

改进的置信度损失充分考虑真实框大小和输出层锚框大小,有利于使模型更加专注于重合度较高的预测框所带来的影响。

2.3 特征增强模块

在YOLO v5 模型中,浅层特征层有更小的感受野,位置信息较多,但语义信息较少,常用作检测小目标;而深层特征层有更大的感受野,位置信息较少,但语义信息较多,常用作检测大目标。因此有必要增强特征层对目标尺度的适应性,提高对不同大小目标的鲁棒能力。本文使用结合Inception结构和Resnet 残差连接优点的Inception-ResNet 模块[16]构建特征增强模块InRe,结构如图4 所示,对主干特征层进行不同尺度的卷积操作,所得结果都与输入层拼接成作为图像金字塔结构的输入。

图4中,InRe 结构分为多尺度卷积部分和残差连接部分。前者共有3 个支路,分别进行卷积核为1×1 或3×3 的卷积组合操作。研究中,为了减少时间开支,将3×3 的卷积分解为1×3 和3×1 的卷积,之后将3 个通道的结果进行堆叠,得到不同大小的感受野信息。后者直接将输入端经过激活的结果与前者拼接,从而获得更多的特征信息,在加深网络的同时避免了梯度消失的发生。除堆叠处卷积外的所有卷积层后激活函数同样采用SiLU 激活函数,改进的模型整体结构如图5 所示。

图4 InRe 特征增强模块Fig.4 InRe feature enhancement module

图5 改进后的YOLO v5s 模型Fig.5 Improved YOLO v5s model

3 实验结果与分析

3.1 实验环境设置

本实验的深度学习平台关键参数如下:操作系统为Windows10,64 位;显卡型号为NVIDIA RTX A4000,内存16 GB;CPU 型号为Intel(R) Xeon(R)CPU E5-2686v@2.30 GHz;深度学习框架为Pytorch1.8.1,CUDA 版本为11.1。

训练时,图片大小设置为640×640,直接从主干开始进行100 次epoch 训练,batchsize 设置为8,在倒数第40 个epoch 时关闭Mosaic 数据增强方法,并选用随机梯度下降法(stochastic gradient descent,SGD)进行优化,最大学习率为1e-2,最小学习率为1e-4,使用余弦衰减方式。

3.2 评价指标

在数据分析阶段,采用模型大小、参数量、FPS(frames per second)、平均准确率均值mAP(mean average precision)4 个参数对模型效果进行评价。其中模型大小可以反映模型的轻量化程度,参数量从时间上评价模型的复杂程度,FPS 代表每秒能够检测图片的帧数,该值越大,说明检测速度越快。mAP 衡量模型识别准确率,计算过程如(5)~(7)所示:

式中:P表示准确率;R表示召回率;TP 代表判定出来的正样本数量,FP 代表应该为负但被判定为正样本的数量,FN 代表应该为正但被判定为负的样本数量,AP 代表每一类的平均精确度,N为分类数量。

3.3 实验结果与分析

对于本文所提出的各种方法有效性,我们在YOLO v5s 的基础上进行了消融实验,各组实验采用相同的超参数和训练策略,实验结果如表1 所示。

表1 消融实验Table 1 Ablation experiment

为了验证损失函数改进带来的效果提升,设置了实验一、二、三、四,其中实验一采用原YOLO v5s 算法。相较于实验一,实验二仅将回归损失由GIOU 改为EIOU;实验三自适应调节置信度损失的平衡参数;实验四综合两种改进方法进行实验。实验二的结果表明,当回归损失函数由GIOU 改为EIOU时,mAP 上升了3.1 个百分点,精度明显改善,同时检测速度增长了2.29 FPS,有较小幅度的提升;虽然实验三的精度效果提升不明显,但模型回归效果有所改善,其训练和验证过程损失图像如图6 所示。

从图6 中可以看出在重新计算出置信度平衡参数后,损失函数更快接近收敛,最终稳定在0.063左右。综合两种方法的实验四则是在准确率和检测速度方面均有提升,说明训练效果比未改进损失函数之前好。

图6 损失变化Fig.6 Loss diagram

实验五在实验一的基础上加入了特征增强模块InRe,由于在3 个特征层都加入了该模块,导致模型参数量增加,检测速度有所下降,但明显的变化是精度得到了提升,mAP 提高了4.24%,提升精度是最多的,说明InRe 模块的引入,增强了特征层对目标尺度的适应性,对一些对精度要求较高的光伏巡检任务来说,加入该模块成效显著。

最后,实验六融合了以上所有改进方法,融合后的模型效果精度达到了最佳,训练用时132 min,其训练过程损失和验证过程损失如图7 所示,可以看出网络在训练过程中没有出现过拟合现象。证明了模型经过损失函数优化和特征增强处理后在均值平均精度和检测速度上都有着不错的表现。

图7 实验六损失函数变化Fig.7 Loss diagram of experiment 6

为了进一步验证模型在同类型算法中的表现,将目前较为主流的单阶段和二阶段算法与本文所提出的算法进行比较,包括经典的Faster-RCNN、SSD算法,以及同系列的YOLO v3、v4、v5s 算法和轻量级网络YOLO v4-tiny、YOLO v5-mobileNet,对数据集图像处理分析得到的结果如表2 所示。

从表2 中可以看出,原YOLO v5 算法通过特征增强模块的引入及损失函数的改进提高了对小目标的识别能力,对于目标更小的热斑的识别准确率明显高于其他几种算法,同时也牺牲了一小部分检测速度,帧率相比于同系列的轻量化模型YOLO v4-tiny 和YOLO v5-mobileNet 稍有下降,但mAP却分别高出了27.22 和23.94 个百分点。本文算法在综合性能上都优于其他模型,mAP 在所有模型中达到了最佳,因此精度上有着明显的优势,完全适用于光伏故障巡检任务,也可部署在计算资源有限的无人机设备上。

表2 对比实验Table 2 Comparative experiment

为了验证本文算法在实际应用中的表现,从数据测试集中抽取了3 种场景的图片,分别使用本文算法和原YOLO v5s 算法进行测试,如图8 所示。

图8 处理结果表明:在第一组图片中,光伏阵列背景中存在多个干扰点,两种模型都表现出较好的适应性,没有误检的情况发生,但原YOLO v5s算法出现了热斑点漏检,且本文算法拥有更高的置信度;在第二组图片中,光伏阵列和背景之间灰度较为接近,且场景比组一更加明亮,原YOLO v5s算法同样出现了漏检,可以看出本文算法对小目标的检测效果有所提升;第三组场景更为复杂,在与组二对比度相似的情况下,出现了边缘的目标,本文算法依旧可以识别出来,说明模型具有较强的鲁棒性。

图8 检测结果对比Fig.8 Comparison of test results

4 结论

本文提出了一种基于损失改进和特征增强处理的YOLO v5s 光伏故障巡检方法,通过改进回归损失和增加自适应置信度平衡系数,一方面可以提升先验框回归效果,进一步提升了目标检测准确率,另一方面可以使损失更快地收敛,减少模型训练时间;最后通过添加特征增强模块InRe,在一定程度上使检测层获得了更多的语义信息和位置信息,mAP 因此提升效果明显。

实验及研究结果表明,本文提出的算法较原YOLO v5s 算法的mAP 提升了8.55 个百分点,同时,小目标检测效果也得到了改善,对复杂场景识别也有较高的鲁棒能力。后续进一步研究中将侧重模型剪枝等轻量化处理,在保证精度的前提下使之能更好的部署到移动设备当中。

猜你喜欢

置信度卷积损失
硼铝复合材料硼含量置信度临界安全分析研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
正负关联规则两级置信度阈值设置方法
基于傅里叶域卷积表示的目标跟踪算法
一般自由碰撞的最大动能损失
置信度条件下轴承寿命的可靠度分析
损失