APP下载

基于YOLOv3的太阳能电池板缺陷检测

2022-02-18周得永高龙琴

南方农机 2022年4期
关键词:先验电池板类别

周得永 , 高龙琴

(扬州大学机械工程学院,江苏 扬州 225127)

0 引言

太阳能作为绿色无污染的可再生能源正受到日益广泛的关注且被广泛应用。作为太阳能的发电载体,太阳能电池也得到了大规模的应用[1]。由于太阳能电池在生产过程中可能会产生断栅、隐裂等缺陷,而这些缺陷对电池的转换效率和使用寿命有着严重的影响,严重时将危害太阳能电池组件甚至整个光伏发电系统的稳定性,因此缺陷检测是太阳电池生产过程中的重要环节。太阳能电池板电致发光(EL)测试技术因具有操作简便、检测速度快、成本较低等优点而成为目前光伏行业常用的缺陷检测技术之一[2]。随着人工智能技术的发展,许多优秀的深度学习目标检测算法被提了出来。总的来说,深度学习图像目标检测算法大致可分为两类:一类是基于区域推荐的目标检测算法,这类算法首先利用区域推荐产生候选目标,然后使用卷积神经网络进行处理。比较具有代表性的算法有RCNN、Fast RCNN、Faster RCNN、Mask RCNN等,这些算法的优点是精度比较高,缺点是因为计算量过大而不能够对目标进行实时的检测。另一类是基于回归的目标检测算法,这类算法将目标检测作为回归问题进行处理,直接预测目标的类别和位置。具有代表性的算法有SSD、YOLOv3等。这类算法的优点是能满足实时应用的需求,缺点是相较于RCNN系列算法而言检测精度偏低[3]。2018年Redmon等[4]提出的YOLOv3目标检测模型相较于前代YOLO模型采用了更深层的网络模型结构和多尺度检测等技术,达到检测速度与精度的平衡,提升了对小目标物的检测效果[5]。

本文对太阳能电池板常见的断栅、隐裂缺陷利用YOLOv3目标检测模型进行检测。利用K-means聚类算法对太阳能电池板缺陷数据集进行聚类后得到适合本数据集的先验框,从而加速模型收敛。实验表明YOLOv3检测模型可以准确地检测和识别太阳能电池板电致发光图像中的缺陷。

1 YOLOv3算法简介

1.1 网络结构

1.1.1 骨干特征提取网络

YOLOv3网络结构如图1所示。采用了Darknet-53作为骨干特征提取网络,该网络是一个纯卷积神经网络,使用了卷积层、批规范化层、激活层结合的结构作为网络的基本组件。Darknet-53通过卷积层改变卷积核的步幅来实现特征图尺寸变化。除此以外,Darknet53还借鉴了ResNet的残差结构,使得网络性能有了明显的改善[6]。

图1 YOLOv3网络结构

1.1.2 多尺度特征融合

低层的特征语义信息比较少,但是目标位置信息准确。高层的特征语义信息比较丰富,但是目标位置信息比较粗略。YOLOv3借鉴FPN(Feature Pyramid Networks)的思想,利用上采样将高层的特征语义信息和低层的特征语义信息进行特征融合,提高了对小物体的检测精度。

1.1.3 模型预测

在检测层结构中,分别对特征图像进行了32倍降采样、16倍降采样以及8倍降采样,从而生成了3种不同尺度的特征图,在多尺度特征图上进行检测,提高了较小目标的检测效果。

1.2 YOLOv3损失函数

YOLOv3算法的损失函数包括定位损失、置信度损失和分类损失。通过查阅相关资料及其源码,发现YOLOv3的损失函数除了定位损失中的宽高误差损失外,其他误差损失均使用二元交叉熵[7]。YOLOv3的损失函数如式(1)所示。

其中,带*号的参数表示真实值,不带*号的对应参数表示模型的预测值。xi,yi,wi,hi表示预测框中心点的横纵坐标以及宽高。S表示划分的网格数量,B表示先验框个数。Ci表示置信度,Pi表示分类概率。表示第i个网格中的第j个先验框有目标其值为1,否则为0。表示第i个网格中的第j个先验框没有目标其值为1,否则为0。在YOLOv3的损失函数中为了提高对小物体的检测精度会乘上一个(2-wi×hi)的比例系数。

2 YOLOv3模型训练

2.1 数据集制作与环境配置

在暗箱中使用近红外工业相机对通电后的太阳能电池板进行图片采集。总共采集到太阳能电池板电致发光图片1 024张。使用数据标记工具labellmg对图片中的缺陷进行逐一标记,并生成xml格式的缺陷类别和位置信息文件。并按照8∶1∶1的比例将图片划分为训练集、验证集和测试集。

本文实验环境如下:Windows10 64位操作系统,处理器Intel(R) Core(TM) i5-10300H CPU @ 2.50 GHz 2.50 GHz,显卡GTX1650TI,运行内存16 G。编程语言为Python3.7.10,深度学习框架为Pytorch。

2.2 网络训练过程

图片的训练和测试输入尺度均采用416×416大小。YOLOv3网络默认使用的先验框参数是在COCO和PASCAL VOC两个数据集聚类得到的[8]。针对太阳能电池板缺陷数据集,运用K-means聚类生成3种尺度的9个先验框:(12×17),(18×12),(24×14),(35×11),(18×22),(34×15),(50×13),(66×12),(85×12)。小尺寸的先验框在高分辨率特征图上用于检测小目标,大尺寸的先验框在低分辨率特征图上用于检测大目标。YOLOv3网络模型训练总计迭代1 000次,初始的学习率设置为0.001,每迭代50次学习率下降0.8倍。 YOLOv3训练过程中损失值变化曲线如图2所示。

从图2可以看出,随着迭代次数的增加,曲线逐渐收敛。当迭代次数超过900时,损失值大小几乎不再变化。就参数收敛的整体情况看,网络训练结果较为理想。

图2 损失值变化曲线

3 实验评价与分析

3.1 评价指标

在本文的实验中,使用mAP(mean Average Precision)作为目标检测精度的指标。mAP指的是多个类别平均准确率的平均值。AP指的是单个类别的平均准确率,衡量的是模型在某一类别上识别效果的好坏[9]。本文使用的AP为AP50,即预测框与真实框的交并比在大于50%的单类别的平均准确率[10]。mAP的值越大表示模型的总体识别准确率越高。

3.2 实验结果分析

YOLOv3算法在测试集上断栅的AP值为90.08%,隐裂的AP为73.55%,则YOLOv3算法对太阳能电池板缺陷检测的mAP为81.81%。不同缺陷类别的平均准确率如图3所示。YOLOv3算法对太阳能电池板电致发光图片进行缺陷检测的效果如图4所示。可以看出,YOLOv3检测模型对太阳能电池板电致发光图像能实现比较准确的检测与识别,整体检测效果较为理想。

图3 不同缺陷类别的平均准确率

图4 YOLOv3检测效果

4 结语

为了提高太阳能电池板缺陷的检测效率,本文提出了一种基于 YOLOv3 的图像缺陷检测与识别方法。实验结果表明,本文使用的方法在太阳能电池板缺陷检测上能够取得较好的效果,尤其在断栅的检测上效果比较理想。但是,由于隐裂本身具有形状不固定、尺寸较小的特点因而对隐裂的检测精度较低。因此在以后的研究中,将重点解决太阳能电池板缺陷检测中对隐裂的检测问题,以获得更高的检测精度。

猜你喜欢

先验电池板类别
太阳能电池板需求增长带动银价飙升铜铝或成替代品
国际空间站航天员正在安装太阳能电池板
基于暗通道先验的单幅图像去雾算法研究与实现
论陶瓷刻划花艺术类别与特征
先验想象力在范畴先验演绎中的定位研究
一起去图书馆吧
一种考虑先验信息可靠性的新算法
全自动扫吹一体化太阳能电池板综合除尘系统
隐身的电池板
先验的风