基于迁移学习的风力发电机叶片裂缝识别*
2019-08-15刘艳霞丁小燕方建军
刘艳霞, 丁小燕, 方建军
(1.北京联合大学 城市轨道交通与物流学院,北京100101; 2.河北省科学院地理科学研究所 地理信息开发应用研究中心,河北 石家庄 050000)
0 引 言
风力发电对治理大气雾霾、调整能源结构和转变经济发展模式意义重大。风机叶片是风力发电机组的关键部件之一,因长期暴露在室外恶劣环境中,难免出现不同程度的损伤。
目前常用的无损检测方法X射线、超声波、声发射、光纤传感器、红外热成像检测技术等[1~3],适用于风机叶片出厂前质量检测,并不适合安装位置高且处于服役过程中的风机发电叶片。文献[4]用图像自动识别方法检测X射线焊缝缺陷,提高了检测效率。
随着深度学习的迅速发展,涌现出很多性能优异的图像检测和分类模型,如Faster RCNN(faster region-convolutional neural network)[5]、R-FCN(region-based fully convolutional networks)[6]、SSD(single shot mutibox detector)[7]和YOLO(you only look once)[8]。这类方法用于风机裂缝自动检测可有效提高工作效率,但样本标注量大、机器配置要求高,训练时间长。迁移学习用在海量数据集上训练好的模型对小样本进行特征提取,再利用提取的特征微调针对具体任务设计的全连接网络参数。这大大降低了深度网络训练的难度,可以解决小样本分类问题。
文献[9,10]对迁移学习的历史、分类和挑战进行了详细阐述。文献[11]提出基于inception v3模型,利用迁移学习对德国交通标志识别基准(GTSRB) 进行识别,提高了交通标志识别的精度。文献[12] 提出一种基于迁移学习的全连接神经网络小样本舌象分类方法,准确率达90 %,且训练时间明显缩短。文献[13]基于SSD和YOLOv2模型进行迁移学习,实现了牵引变电所视频图像中高压开关柜的仪表、分合指示灯状态、隔离开关分合状态的自动识别。文献[14] 提出一种基于迁移学习的卷积神经网络电缆隧道锈蚀识别算法,解决了训练样本不足、训练时间冗长的问题。文献[15]提出一种将显著性检测和迁移学习相结合的方法,提高了花卉分类准确率。上述研究中除迁移模型外的全连接层设计基本采用反向传播(back propagation,BP)神经网络,需要迭代训练。
本文提出设计一种基于极限学习机(extreme learning machine,ELM)的全连接层,在保障风机叶片裂缝检测精度的同时可进一步提高训练速度。
1 数据集
利用深度学习进行风机叶片检测,需要大量带类别标签的风机叶片裂缝图片作为训练集、验证集和测试集。但到目前为止全球还没有公开的、带类别标签的风机叶片图像数据集。
考虑到风机叶片裂缝形态和土地、墙体裂缝有很大相似之处。设计爬虫程序从网上抓取大量裂缝和非裂缝图片,构建带标签的20 000张预训练数据集,用于深度模型预训练,对风机叶片裂缝预测问题先形成一个大概的印象。
经过预训练的网络还需要高质量的风机叶片数据集进行参数优化。该数据集获取困难,样本量小,而且裂缝图片数量远小于无裂缝图片数量,类别之间存在较大差异会影响分类器性能。本文通过翻转、旋转、缩放、裁剪、放射变换、高斯噪声、颜色扰动等数据增强技术,扩展数据集图片达2 000张。
2 迁移学习
首先将在ImageNet上训练好的Inception v3模型参数迁移到风机叶片分类任务中,提取风机叶片图像特征,得到2 048维的特征向量。然后把特征图输入全连接网络,训练网络参数对这些特征向量进行二分类(有裂缝图片和无裂缝图片)。全连接网络设计分别采用BP神经网络和超限学习机实现。
2.1 基于BP神经网络的全连接层
典型的三层BP网络就可以实现较高的逼近精度,其网络结构如图1(a)所示。其中,wij表示输入层第j个神经元与隐含层第i个神经元间的输入权值,βij表示隐含层第i个神经元和输出层神经元间的输出权值,bi表示隐含层第i个神经元的阈值。隐含层使用ReLU激活函数,输出层使用Softmax函数。
神经网络训练的目的就是根据训练样本集,找到使交叉熵损失L最小的输入权值wij、输出权值βij和偏置bi。
式中yj为神经网络的输出,tj为样本数据的标签。正向传播过程的网络输出为
2.2 基于ELM的全连接层
ELM算法无需对随机初始化的wi和bi进行调整,也没有输出层偏置,仅通过正则化原则计算输出权值βi,即可逼近任意连续系统,几乎不需要学习。其网络结构如图1(b)所示。
图1 二种网络结构
假设隐含层有L个神经元,训练集包含N个不同样本(xi,yi),若采用非线性激励函数g(x),可以零误差逼近来自同一连续系统的N个输入样本,使
式中wi=(wi1,wi2,…win),xj=(x1j,x2j…xnj)T,则式(3)可改写为
Y=Hβ
(4)
令ELM网络的输出等于样本标签T,则
T=Y=Hβ
(5)
多数情况下,隐含层神经元的个数L远小于训练样本的个数N,因此式(5)的解为
根据最小范数解准则,式(6)存在极小范数最小二乘解
(7)
式中H+为输出矩阵H的广义逆。
2.3 迁移学习网络架构
包含inception v3和全连接层的迁移学习整体网络架构如图2所示。左侧为在ImageNet数据集上训练好的深度卷积Inception v3模型卷积和池化部分,具有提取图像特征的能力。保持其结构和参数不变用于提取风机叶片的图像特征(瓶颈层输出即为提取的图像特征)。右侧为自己设计的全连接网络,本文分别采用如图1所示的BP神经网络和ELM超限学习机。
图2 迁移学习整体网络架构
用Inception v3模型提取的风机叶片图像特征微调全连接网络,进行小样本风机叶片分类(有裂缝或无裂缝两类),分类流程如图3所示。
图3 风机叶片分类流程
3 实验分析
3.1 全连接层网络对比
为验证如图1所示的全连接网络分类效果,本文利用Python和开源深度学习框架TensorFlow搭建网络。首先用20 000张的大型预训练数据集进行迭代训练。随着迭代次数增加,基于BP神经网络的全连接网络模型精度如图4(a)所示,迭代超过1 000次后基本平衡,预测准确率达68.6 %。
图4 基于BP神经网络全连接层预训练和调优结果
再用2 000张的实际风机叶片数据集对基于BP神经网络的全连接网络进行调优调。随机抽取数据集的90 %作为训练集,剩余的10 %为测试集。随着迭代次数增加,基于BP神经网络的全连接网络预测精度如图4(b)所示。由于是在预训练参数的基础上继续调优,随着迭代次数增加,准确率进入平衡状态较快,迭代500次后预测准确率基本稳定在90 %左右。
基于ELM超限学习机的全连接网络可以利用最小二乘直接确定参数,不需要迭代,所以无法和图4进行对比。表1给出了这两种算法经过实际风机叶片数据集调优之后各项指标的对比结果。
表1 两种全连接层性能对比
表1中的时间是针对2K数据集,在处理器Intel(R) CPU E3-1050M v6 @3.00GHz、内存8GB、GPU 4GB的笔记本上训练用时。基于ELM超限学习机的全连接网络因为不需要迭代训练,用时仅为0.165 s;基于BP神经网络的全连接网络在学习率为0.01,每批次样本量为10,迭代训练2 000次的情况下用时146.29 s,是基于ELM超限学习机的近千倍。表1中其他指标相差不大,由此可见,针对本文的应用场景,采用ELM超限学习机构建迁移学习中的全连接层是可行的,而且速度更快。
3.2 收敛精度对比
为进一步验证提出方案在速度和识别准确率上的优势,本文引入经典的目标检测识别算法Faster R-CNN和Yolo v3,与本文提出的方案进行对比。首先把20 000张的大型预训练数据集作为训练集进行迭代训练,2 000张的实际风机叶片数据集作为测试集。随着迭代次数增加,模型精度变化曲线如图5(a)所示。由图5(a)可以看出Faster R-CNN和Yolo v3的收敛速度都低于迁移学习,迭代到2 000次时还没有完全收敛,准确率也低于迁移学习方法,要提高模型精度需要花费更长的训练时间。
图5 迁移学习效果
然后再用2 000张的实际风机叶片数据集分别输入上述算法模型进行调优。随机抽取数据集的90 %作为训练集,剩余的10 %为测试集,随着迭代次数增加,模型精度变化曲线如图5(b)所示。Faster R-CNN和Yolo v3的收敛速度和网络精度都低于迁移学习,这主要是因为其需要调整网络各层的所有参数,很难在较少的迭代次数内学习到更好的参数,而迁移学习方法所用的模型基本上是已经训练好的,只有全连接部分需要调整,可以在短时间内达到较高的网络精度。若迁移学习的全连接部分采用ELM超限学习机设计,训练速度还可以大大提高,这在4.1节已经说明。由于ELM超限学习几乎不需迭代训练,没有在图5中表示。
4 结 论
迁移学习方法不仅比优秀的深度学习检测模型Faster R-CNN和Yolo v3收敛速度更快,而且在小样本任务中网络训练可达到更高的精度。另外迁移学习中的全连接层网络结构相对简单,采用ELM超限学习机设计全连接层比基于BP神经的全连接层在保证精度的情况下可以缩短上千倍的训练时间,非常适合于对实时性要求较高的应用场景。这为迁移学习的应用提供了一种新思路。