丛龙森,孙康宁,何志飞,刘广臣
(1.鲁东大学数学与统计科学学院,山东 烟台 264025;2.鲁东大学物理与光电工程学院)
太阳能作为可再生能源,已经成为了供人类使用的主要能源之一。光伏发电是将太阳能转化为电能的有效形式。我国现有太阳能光伏薄膜发电系统装机量占全世界总装机量约26.3%,装机建设规模居世界第一。我国光伏设施多建在地势复杂的山区,检修压力十分突出,对于已装光伏发电板的维护与故障检测,有着很大的智能运维技术需求。
因此我国在智能识别光伏板脏污、异物、裂痕领域有待于深入探索。YOLO系列算法是指一个完全基于深度学习的one-stage 回归类方法,其中YOLOv5算法在采用原来YOLOv4 算法的基础上又进一步融进了其他的算法特性与开发思路,使其在运算速度与精度上有了很大程度的提升。YOLO系列算法在生活领域的应用十分广泛,国内科研中,闵燚,罗钊[1]、夏利民,邓克捷[2]首先提出了基于融合特征视频的关键帧提取,并结合了HSV,HOG 等系统理论,并获得了重要的研究成果。王雪[3]提出了关于光伏故障的诊断方法。罗旭鸿,刘永春,楚国铭[4]等人提出了基于改进YOLOv5 无人机图像目标检测算法,减少了无人机图像目标检测算法中的漏检与误检。
本文针对YOLO系列算法对小目标检测精度低的问题,利用EIoU Loss 函数改进了传统YOLOv5 算法的损失函数,同时增加了一组小目标检测层并优化YOLOv5 网络结构Head 部分,获得有更大面积的语义信息和精确的位置信息的特征图像,从而提高检测性能。
本文的研究工作从实际出发,建立精准度较高的光伏表面故障智能化识别模型,对于光伏发电系统的维护提供了一定的技术辅助支持。
在复杂地形情况下,光伏板会遇到不同的故障问题。通过视频监控对光伏板定期进行视频的采集和记录,并对原始图像进行处理之后,对数据进行预处理。
对光伏板上的常见故障进行分类,可分为脏污、异物、裂痕。在地势复杂的山区,因为狂风积雪的天气因素,或者偶然的人为因素,光伏板表面容易产生脏污与异物如图1、图2所示。因为设备因素,原料因素,天气因素,工艺参数因素,易产生光伏板表面裂痕,如图3所示。
图1 光伏板脏污
图2 光伏板异物
图3 光伏板裂痕
本文使用监控视频对某光伏发电厂的故障光伏板进行视频采集,获取约30分钟视频。对于采集到的原始视频利用帧间差分法提取视频关键帧并进行筛选分类,分为脏污、异物、裂痕类型,并对图像集利用标记软件标注出故障具体位置与类别。把Labelimg软件中标签故障图像集数据由xml格式文件直接输出转化为利用YOLOv5 算法自动生成并可被直接用于读取数据源的txt格式文本数据后,将标签故障图像集内容再重新按照比例按照7:2:1 比例划分为训练集、验证集和测试集。
YOLOv5 是一种单阶段目标检测算法,可以实现快速检测和高精度。YOLOv5模型主要是被拆分为了下面这四个子部分:骨干网络(Backbone)、颈部(Neck)、头部(Head)和输入端(input)。YOLO 将对回归目标区域的分布特征和对回归区域目标类别的分布特点的预测的模型数据,集成输入到了另一个功能相对更单一的神经网络模型中,并通过直接输入以整数张的图片数据来作为在网络输出中的数据输入,在网络的输出数据层可以直接地输出被回归到的目标区域上的所有目标类别数据信息和目标位置信息。输入端具有自适应图像缩放和自适应锚框计算操作功能。此外,我们还采用Mosaic 数据增强方法,通过对初始数据进行随机排列、随机缩放拼接和随机裁剪来丰富数据集,极大地提高了数据训练的精度和鲁棒性。YOLOv5 的骨干网仍然是CSPDarkNet。但在骨干网络Backbone 结构的基础上,又被相应地增加了到了focus结构,它基本上是直接采用了切片式的操作的方式把原先几个相对高分辨率的特征图进行拆分合并而成产生了更多个甚至更为低的分辨率的特征图,减少掉了下一个采样所能造成的信息质量的损失,解决掉了目标识别的能力的相对较弱的网络瓶颈问题,YOLOv5的网络架构组成可如图4所示。
图4 YOLOv5s网络架构
输入端:在模型训练的阶段,提出来了的一些模型改进和思路,主要是包括如何利用翻转、旋转、裁剪、降噪等各种方法多方位的进行数据的增强、自适应锚框的计算、自适应的图片的缩放。
骨干网络[7]:融合了其他检测算法设计中使用的一些新技术想法,主要内容包括:Focus结构与CSP结构。
Neck网络:目标检测网络在Backbone层与最后的Head 输出层之间往往同时也插入了其他的一些层,在YOLOv5中增加了FPN+PAN结构。
Head 输出层:该层中的预测锚框机制与YOLOv4大致相同,主要改进了训练时的损失函数GIOU_Loss,以及对预测锚框筛选时用到的函数DIOU_nms做出一些相应的改进,极大地提高了算法的检测精度。
帧间差分法,是一个利用对运动视频图象中连续两帧或三帧图像作差分,通过计算得到检测目标的方法。但在监控下,出现了异常的目标运动,在连续的帧数像素之间会有比较明显的差别,两帧相减,通过相对位置像素点差的绝对值,判别移动是否超过了阈值点,从而可以研究视频或图象序列的物体运动特点。在本项研究中,我们采用三帧差分法,并将图像的降噪处理融合进关键帧提取的算法当中:
首先,设(x,y)为视频的像素点坐标,fk(x,y)为第k帧时像素点坐标(x,y)对应的灰度值。
然后,将第k 帧的相邻两帧第(k-1,k+1)帧分别与第k帧进行差分运算,并求它们之间的交集:
接着,对获取的灰度图进行二值化处理(阈值为T):
最后,对D1(x,y)降噪,得到掩码图像DN(x,y)。
YOLOv5s 的边框损失[5-6]算法包含置信度概率损失、边界框概率回归损失和目标类别概率回归损失共三个小部分,YOLOv5s 使用CIOU 的值来作为参数计算预测框和真实边界框间的边框损失。矩形框损失函数公式如下:
其中,IoU 为物体的预测框和物体的真实框的交集的面积与并集的面积之比,ρ2(b,bgt)代表计算两个中心点间的欧氏距离,b,bgt分别代表预测框和真实框的中心点,c分别代表包含了相邻的预测真实框中心的和的相邻两个真实框之间的每一个最小的封闭区域之间的对角线距离。其中a是其中一个权重函数,用来度量长宽比框之间的几何相似性,w为实际框面宽,h为实际框面高,gt为真实框,p为可预测框。
CIOU 考虑了边界框的重叠面积,到中心点距离还有长宽比,但长宽比v仍是不精确的模糊值,CIOU也不能很好地平衡正、负样本的问题。因此,本文选用EIoU 作为矩形框回归的Loss 函数,EIoU Loss 函数的计算公式如下:
其中,EIoULoss 共包含三种损失:中心距离损失,宽高损失,重叠损失,前半段参数与CIoU 一致,Cw和Ch是覆盖两个边界框的最小外框的长度与宽度。EIoU 在CIoU基础上将宽高比进行了详细的处理,解决了宽高比过于模糊的问题,有效地提升了回归框的精度。
使用BCEWithLogitsLoss损失函数计算YOLOv5s的分类与置信度损失,该函数将sigmoid 与BCELoss集成,并将sigmoid 激活自动映射到输入前的区间(0,1),然后对目标和输出进行BCELoss 处理。BCEWithLogitsLoss计算公式如下:
其中,N为样本的个数;xn为样本的预测概率,ln为第n个样本对应的loss 由sigmoid 激活处理,yn为对应样本类别的真实概率,取值0 或1,w代表样本的真实类别。sigmoid函数计算公式如下:
目前,YOLOv5 算法被广泛应用于交通、农业、医学等领域,如车辆与行人的检测,森林防火等。在光伏板表面智能化故障识别中,YOLOv5 算法几无应用前例。
本次实验的具体运行开发环境信息如下:CPU 配置为Intel i7-11800H,GPU型号为NVIDIA RTX 3060,内存为16 GB,操作系统为Windows10,安装CUDA11.2、cuDNN 8.0.5 与tensorrt7.2.2.3 库文件,开发语言为Python3.8,Pytorch1.8.0框架。
在实验训练中,首先收集原始数据并进行数据预处理[8],利用Labelimg 软件将图片中的异物转为标签,被标签选中的异物将以坐标的形式进行数据量化处理。其次,根据光伏数据集的特性,选取YOLOv5 目标检测算法作为本文的视频检测基础算法。然后,基于传统的YOLOv5 算法,对目标检测算法进行多尺度优化,利用改进后的YOLOv5 算法训练优化后的数据集。最后,基于YOLOv5算法建立故障预测模型,经检验,模型mAP、精度等重要指标均超过YOLOv4 目标检测算法,目标检测效果良好,算法的实际应用性强。基于YOLOv5s 算法的光伏表面故障智能化识别模型可投入实际应用。
经YOLOv5s 算法训练后的数据集与损失函数如图5所示,mAP随训练次数的变化如图6所示。
图5 数据集与损失函数的关系示意图
图6 mAP随训练次数的关系示意图
图7 精准率-召回率关系图
在模型的训练过程中,由于模型数据大小适中,为避免使用过大的Bach-size 会降低模型训练时的随机性,导致训练模型数据陷入了局部最优化的情况,所以将Bach-size 调整为8 来增强模型的泛化性。设网络训练的初始学习率为0.01,权重衰减设置为0.0005,迭代次数为300。采用随机梯度下降优化器设定动量因子为0.937,其余参数根据YOLOv5团队开发的超参数文件YOLOv5s.yaml默认。
选择的目标检测模型的参数评估指标主要有mAP值,精度(Precision)和召回率(Recall)。一般训练结果主要观察Precision,Recall 波动情况,然后观察mAP@0.5:0.95 评价训练结果。
⑴Precision:精确率,指正确预测的结果数占所有预测为正样本的比率,其公式如下:
其中,TP 指将正类预测为正类数目,FP 指将负类预测为正类数目。
⑵Recall:召回率,指预测正确的结果数占真实结果总数的比例,其公式如下:
其中,FN指将正类预测为负类数目。
⑶mAP:所有数据的所有种类的平均精度的平均值。其计算公式如下:
其中,AP指单类别精度均值,而mAP@.5:.95表示在两个不同IoU 阈值下(从0.5 到0.95,步长0.05)上的平均mAP。
⑷平均精度(Average Precision,AP)
将召回率作为x轴,精准率为y轴,得到的精准率-召回率曲线,一般情况下的P-R 曲线是向右上方凸起的一条曲线,检测性能在凸起点处达到平衡状态。对于单一的目标类别检测,AP 的计算数值为P-R 曲线下的面积和。
⑸IoU:交并比,指的是真实框与预测框的交集面积占两者总面积的一个比值,IoU 越大说明检测框的效果越好,通常认为IoU>0.9,检测效果良好。
本文为了量化基于YOLOv5s 算法的实时检测光伏发电板故障模型的性能表现,我们将算法在光伏故障数据集上进行训练和测试。经过训练后,本文中模型的精度为99.2%,召回率为98.4%,Map@0.5:0.95 为66.2%,3个指标均高于YOLOv4检测算法。
针对基于YOLOv5s 算法的实时检测光伏发电板故障模型训练结果如表1所示。
表1 YOLO系列算法在光伏发电板故障数据集上的测试结果
检测效果展示(如图8、图9):
图8 YOLOv5模型检测前故障图像
图9 YOLOv5模型检测后的故障图像
在检测光伏发电版故障类型为异物的情况下,交并比(IoU)的测试结果在0.80 以上,检测效果良好,满足未来实际应用需求。
本文提出了基于YOLOv5s 对光伏发电板故障的实时监测模型,针对光伏板上的目标物体尺寸不一致、种类繁多、易受背景干扰等问题,首先对目标检测网络架构中的骨干网络、Neck 网络进行了改进,将YOLOv5s 中未使用的浅层特征图与现有的深层特征图进行融合,增加小目标检测层,对小目标进行针对性检测,有效减少语义与位置信息的丢失,提高了目标识别的有效性。然后对损失函数进行改进,引入EIoU 函数,在降低负样本权重、提高正样本权重的同时提升回归框的准确性。最后,将YOLOv4与YOLOv5算法进行对比实验,证明了本文所提算法的精度在VOOC2007光伏板数据集上同其他算法相比具有一定的优势,既实现了对光伏发电板快速检测,又兼顾了较高的精度,对于光伏发电板的实时监测具有重要的现实意义。然而,由于网络结构的更改在一定程度上增加了模型训练后推理的时间成本,因此后续工作应重点放在优化模型参数上,在保证速度的同时让其更好地应用于不同条件下的环境。