一种风力发电机叶片表面损伤轻量化识别方法与流程

文档序号:24502557发布日期:2021-03-30 22:45阅读:355来源:国知局
一种风力发电机叶片表面损伤轻量化识别方法与流程

本公开属于叶片表面损伤识别技术领域,具体涉及一种风力发电机叶片表面损伤轻量化识别方法。



背景技术:

基于深度学习的检测技术利用时下流行的人工智能算法(例如fasterr-cnn、maskr-cnn)和大数据分析来定位和分类缺陷或损伤。主要步骤为:

a)使用摄像无人机采集大量的叶片照片,其中要包含正样本和负样本;

b)利用标记软件对叶片照片中的损伤进行人工标记,组建叶片损伤数据库;

c)使用基于卷积神经网络的目标检测算法搭建检测模型,并借助数据库进行训练至满意的精度;

d)使用此模型来对现场叶片照片中的损伤或缺陷进行定位和分类。

上述检测方法的缺陷在于深度学习模型需要大量的计算量难以部署在便携式设备中。巡检人员无法在现场得知识别结果,需要将照片带回总部利用服务器进行识别工作。目前正在研究的无人机智能巡检领域采用云计算的模式来做到实时现场识别,但需要丰富的移动带宽资源才能实现叶片数据在现场和云平台之间的快速传输。但是风电机组通常位于偏僻地区,基站分布量较少,带宽资源并不丰富,因此依赖于云计算的在线实时检测可能在此情景中是不实际的。



技术实现要素:

本公开旨在至少解决现有技术中存在的技术问题之一,提供一种风力发电机叶片表面损伤轻量化识别方法。

本公开的一个方面,提供一种风力发电机叶片表面损伤轻量化识别方法,所述方法包括:

建立叶片损伤数据库用作检测模型的训练集图像和验证集图像;

对所述叶片损伤数据库进行数据增强操作,以获得数据增强后的训练集图像;

搭建轻量化的目标检测模型,所述目标检测模型采用mobilenet算法作为特征提取算法,以及采用yolo-v3算法作为单阶段目标检测算法;

利用所述数据增强后的训练集图像,对所述目标检测模型进行训练,并利用所述验证集图像进行模型检测缺陷的精度测试,保存测试表现最好的模型参数,以得到训练好的目标检测模型;

将所述训练好的目标检测模型导出部署在便携式计算设备中,并到风电场进行实时的叶片表面损伤检测。

在一些可选地实施方式中,所述建立叶片损伤数据库用作检测模型的训练集图像和验证集图像,包括:

利用携带有高清摄像头的无人机到风电场采集大量的叶片图像;

分别对采集到的各所述叶片图像进行损伤标注,获得损伤标注信息,并按照yolo的格式对所述叶片图像、所述损伤标注信息以及叶片图像列表文档进行整理;其中,所述损伤标注信息包括标注格式和标注内容,所述标注格式采用pascalvoc数据集或者coco数据集的格式,所述标注内容包括缺陷的类别以及缺陷出现的位置和面积;

将所述损伤标注信息与所述叶片图像一一对应,获得所述训练集图像和所述验证集图像。

在一些可选地实施方式中,所述数据增强操作包括下述至少一项:

随机改变图像的亮暗、对比度和颜色、随机填充、随机裁剪、随机缩放、随机翻转、随机打乱真实框排列顺序。

在一些可选地实施方式中,所述对所述叶片损伤数据库进行数据增强操作,包括:

从图像文件或内存buffer中加载图像,转换为rgb格式;

将原始图片放入用像素均值填充的扩张图中,对此图进行裁剪、缩放和翻转;

使用随机的插值方式调整图像大小;

根据特定的插值方式调整图像大小;

对图像像素值进行归一化,先将像素值除以255.0,像素值缩放到到[0-1]区间;

如果boundingbox的数量少于50,则将零填充到所述boundingbox;

将所述boundingbox从(xmin,ymin,xmax,ymin)形式转换为(xmin,ymin,width,height)格式。

在一些可选地实施方式中,所述利用所述数据增强后的训练集图像,对所述目标检测模型进行训练,并利用所述验证集图像进行模型检测缺陷的精度测试,保存测试表现最好的模型参数,以得到训练好的目标检测模型,包括:

生成锚框:将所述数据增强后的训练集图像划分成m×n个小方块区域,在每个区域的中心生成k个尺寸不一的锚框,m、n和k均为大于等于1的正整数;

预测框生成的方法:在所述锚框的中心坐标(center_x,center_y)和尺寸上(p_h×p_w)的基础上微调生成预测框的中心坐标(b_x,b_y)和尺寸(b_h×b_w);

每个所述锚框都是一个可能的候选区域,对所述候选区域进行标注,标注信息包括(t_x,t_y,t_h,t_w,p_obj,p_1,p_2,p_3,…,p_c)的真实值;

使用mobilenet骨干网络提取图像特征,得到输出特征图;

根据所述输出特征图计算预测框位置和类别;

建立三种交叉熵损失函数来计算模型预测值和实际值之间的loss值,分别是表征是否包含目标物体的损失函数、表征物体位置的损失函数、表征物体类别的损失函数;

执行反向传播算法计算模型参数梯度,沿着梯度下降的方向更新参数来极小化总体损失函数;

模型每迭代n步保存一次模型参数,并进行一次验证集的loss值计算,将loss值最小的迭代轮次的模型参数作为获得训练过程中最好的模型文件,得到所述训练好的目标检测模型。

在一些可选地实施方式中,所述对所述候选区域进行标注,包括:

计算每个小方块区域生成的k个锚框与真实框的交并比iou,iou最大的锚框生成的预测框设置为objectness标签为正;

设置iou阈值iou_threshold,当预测框的objectness不为1,但其与某个真实框的iou大于所述iou_threshold时,将其objectness标签设置为-1,不参与损失函数的计算;所有其他的预测框,其objectness标签均设置为0,表示负类;

对于objectness=1的预测框,让真实框和预测框重合,反求t_x,t_y,t_h,t_w,并且其损伤类别与真实框的类别一致,用one-hot向量(p_1,p_2,p_3,…,p_c)表示预测框内物体属于每类损伤的概率值;

对于objectness=0或者-1的预测框,则不用管他们的位置和类别。

在一些可选地实施方式中,所述根据所述输出特征图计算预测框位置和类别,包括:

建立所述输出特征图与所述预测框之间的关联,所述输出特征图上每个像素点分别跟原图上一个小方块区域对应,实现空间位置的对应关系;

对所述输出特征图进行多次卷积,并将最终的输出通道数设置为[k(5+c)]×m×n,分别对应m×n个小方块区域生成的k个预测框的(t_x,t_y,t_h,t_w,p_obj,p_1,p_2,p_3,…,p_c)实数预测值。

在一些可选地实施方式中,所述将所述训练好的目标检测模型导出部署在便携式计算设备中,并到风电场进行实时的叶片表面损伤检测,包括:

采集所述风电场的实际叶片视频,选取视频关键帧图像输入到所述便携式计算设备上所搭载的所述训练好的目标检测模型中;

对于每张所述关键帧图像,所述训练好的目标检测模型执行前向传播算法得出预测框损伤类别和得分;

使用非极大值抑制消除重叠较大的冗余预测框:

根据预测框的实数数值在原始图片上绘制长方形损伤框并在绘制框的附近标注损伤类别和损伤得分;

将识别的结果按照损伤类型进行分类保存。

本公开的另一个方面,提供一种电子设备,包括:

一个或多个处理器;

一个存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现根据前文记载的所述的方法。

本公开的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现根据前文记载的所述的方法。

本公开实施例的风力发电机叶片表面损伤轻量化识别方法,使用轻量化yolo-v3目标检测模型以便可以部署在便携式设备上,通过图像增强处理扩大训练数据集,抑制过拟合,提升模型的鲁棒性,最后携带便携式设备到现场进行快速的损伤定位和分类,极大提高了叶片表面损伤检测的实时性和快速性。

附图说明

图1为本公开一实施例中用于实现风力发电机叶片表面损伤轻量化识别方法的示例电子设备的组成示意框图;

图2为本公开另一实施例中风力发电机叶片表面损伤轻量化识别方法的流程图;

图3为本公开另一实施例的不同卷积示意图;

图4为本公开另一实施例的不同卷积的结构图;

图5为本公开另一实施例的mobilenet的网络结构图。

具体实施方式

为使本领域技术人员更好地理解本公开的技术方案,下面结合附图和具体实施方式对本公开作进一步详细描述。

首先,参照图1来描述用于实现本公开实施例的一种风力发电机叶片表面损伤轻量化识别方法的示例电子设备。

如图1所示,电子设备200包括一个或多个处理器210、一个或多个存储装置220、一个或多个输入装置230、一个或多个输出装置240等,这些组件通过总线系统250和/或其他形式的连接机构互连。应当注意,图1所示的电子设备的组件和结构只是示例性的,而非限制性的,根据需要,电子设备也可以具有其他组件和结构。

处理器210可以是中央处理单元(cpu)、或者可以是由多个处理核构成、或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备200中的其他组件以执行期望的功能。

存储装置220可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现下文所述的本公开实施例中(由处理器实现)的客户端功能以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如,所述应用程序使用和/或产生的各种数据等。

输入装置230可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

输出装置240可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

下面,将参考图2描述根据本公开另一实施例的一种风力发电机叶片表面损伤轻量化识别方法。

如图2所示,一种风力发电机叶片表面损伤轻量化识别方法s100,所述方法包括:

s110、建立叶片损伤数据库用作检测模型的训练集图像和验证集图像。

具体地,在本步骤中,可以利用携带有高清摄像头的无人机到一个或多个不同的风电场采集大量的叶片图像。之后,分别对采集到的各所述叶片图像进行损伤标注,获得损伤标注信息,并按照yolo的格式对所述叶片图像、所述损伤标注信息以及叶片图像列表文档进行整理。最后,将所述损伤标注信息与所述叶片图像一一对应,获得所述训练集图像和所述验证集图像。

需要说明的是,对于损伤标注信息的具体内容并没有作出限定,例如,所述损伤标注信息可以包括标注格式和标注内容,所述标注格式可以采用pascalvoc数据集或者coco数据集的格式。所述标注内容包括缺陷的类别(共c类)以及缺陷出现的位置和面积。当然,除此以外,损伤标注信息还可以包括其他一些内容,本实施例对此并不具体限制。

s120、对所述叶片损伤数据库进行数据增强操作,以获得数据增强后的训练集图像。

具体地,在本步骤中,可以对图像做一些随机的变化,产生相似但又不完全相同的样本。主要作用是让有限的数据产生更多的数据,增加训练样本的数量以及多样性(噪声数据),提升模型鲁棒性。通常采用以下几种方法的组合来进行数据增强:

随机改变图像的亮暗、对比度和颜色等、随机填充、随机裁剪、随机缩放、随机翻转、随机打乱真实框排列顺序等。

s130、搭建轻量化的目标检测模型,所述目标检测模型采用mobilenet算法作为特征提取算法,以及采用yolo-v3算法作为单阶段目标检测算法。

具体地,在本步骤中,使用mobilenet原因:mobilenet采用深度可分离卷积方式,将传统的卷积分解为一个深度卷积(depthwiseconvolution)+一个1×1的卷积(pointwiseconvolution)。如图3所示,(a)是传统卷积(standardconvolutionfilters),(b)、(c)分别对应深度可分离卷积的深度卷积和1×1的卷积。

假设输入特征图大小为df×df×m,输出特征图大小为df×df×n,卷积核大小为dk×dk,则传统卷积的计算量为:

ccconventional=dk×dk×m×n×df×df

深度可分离卷积的计算量为深度卷积和1×1卷积的计算量之和:

ccdepth=dk×dk×m×df×df+m×n×df×df

深度可分离卷积与传统卷积的计算量之比为:

以上文中28×28×192的输入,28×28×256的输出为例,卷积核大小为3×3,两者的计算量之比为:0.1150。深度可分离卷积的计算量缩减为传统卷积的1/9左右。

如图4所示,传统卷积(左)与mobilenet中深度可分离卷积(右)的结构对比。depth-wise卷积和1×1卷积后都增加了bn层和relu的激活层。

使用yolo-v3原因:与r-cnn系列算法不同,yolo-v3使用单个网络结构,在产生候选区域的同时即可预测出物体类别和位置,不需要分成两阶段来完成检测任务。另外,yolo-v3算法产生的预测框数目比fasterr-cnn少很多。fasterr-cnn中每个真实框可能对应多个标签为正的候选区域,而yolo-v3里面每个真实框只对应一个正的候选区域。这些特性使得yolo-v3算法具有更快的速度,能到达实时响应的水平。

s140、利用所述数据增强后的训练集图像,对所述目标检测模型进行训练,并利用所述验证集图像进行模型检测缺陷的精度测试,保存测试表现最好的模型参数,以得到训练好的目标检测模型。

s150、将所述训练好的目标检测模型导出部署在便携式计算设备中,并到风电场进行实时的叶片表面损伤检测。

本实施例的风力发电机叶片表面损伤轻量化识别方法,使用轻量化yolo-v3目标检测模型以便可以部署在便携式设备上,通过图像增强处理扩大训练数据集,抑制过拟合,提升模型的鲁棒性,最后携带便携式设备到现场进行快速的损伤定位和分类,极大提高了叶片表面损伤检测的实时性和快速性。

在一些可选地实施方式中,所述对所述叶片损伤数据库进行数据增强操作,包括:

从图像文件或内存buffer中加载图像,转换为rgb格式;

将原始图片放入用像素均值填充的扩张图中,对此图进行裁剪、缩放和翻转;

使用随机的插值方式调整图像大小;

根据特定的插值方式调整图像大小;

对图像像素值进行归一化,先将像素值除以255.0,像素值缩放到到[0-1]区间;

如果boundingbox的数量少于50,则将零填充到所述boundingbox;

将所述boundingbox从(xmin,ymin,xmax,ymin)形式转换为(xmin,ymin,width,height)格式。

在一些可选地实施方式中,所述利用所述数据增强后的训练集图像,对所述目标检测模型进行训练,并利用所述验证集图像进行模型检测缺陷的精度测试,保存测试表现最好的模型参数,以得到训练好的目标检测模型,包括:

生成锚框:将所述数据增强后的训练集图像划分成m×n个小方块区域,在每个区域的中心生成k个尺寸不一的锚框,m、n和k均为大于等于1的正整数。

预测框生成的方法:在所述锚框的中心坐标(center_x,center_y)和尺寸上(p_h×p_w)的基础上微调生成预测框的中心坐标(b_x,b_y)和尺寸(b_h×b_w)。微调的算法如下:

bx=centerx+σ(tx)

by=centery+σ(ty)

给t_x,t_y,t_h,t_w随机赋值得到初始预测框。

每个所述锚框都是一个可能的候选区域,对所述候选区域进行标注,标注信息包括(t_x,t_y,t_h,t_w,p_obj,p_1,p_2,p_3,…,p_c)的真实值。其详细标注步骤如下:

计算每个小方块区域生成的k个锚框与真实框的交并比iou,iou最大的锚框生成的预测框设置为objectness标签(p_obj)为正。

设置iou阈值iou_threshold,当预测框的objectness不为1,但其与某个真实框的iou大于所述iou_threshold时,将其objectness标签设置为-1,不参与损失函数的计算;所有其他的预测框,其objectness标签均设置为0,表示负类。

对于objectness=1的预测框,让真实框和预测框重合,反求t_x,t_y,t_h,t_w,并且其损伤类别与真实框的类别一致,用one-hot向量(p_1,p_2,p_3,…,p_c)表示预测框内物体属于每类损伤的概率值。

对于objectness=0或者-1的预测框,则不用管他们的位置和类别。

使用mobilenet骨干网络提取图像特征,得到输出特征图。mobilenet的网络结构图如图5所示。

根据所述输出特征图计算预测框位置和类别,具体步骤为:

建立所述输出特征图与所述预测框之间的关联,所述输出特征图上每个像素点分别跟原图上一个小方块区域对应,实现空间位置的对应关系。

对所述输出特征图进行多次卷积,并将最终的输出通道数设置为[k(5+c)]×m×n,分别对应m×n个小方块区域生成的k个预测框的(t_x,t_y,t_h,t_w,p_obj,p_1,p_2,p_3,…,p_c)实数预测值。

建立三种交叉熵损失函数来计算模型预测值和实际值之间的loss值,分别是表征是否包含目标物体的损失函数、表征物体位置的损失函数、表征物体类别的损失函数。

执行反向传播算法计算模型参数梯度,沿着梯度下降的方向更新参数来极小化总体损失函数。

模型每迭代n步保存一次模型参数,并进行一次验证集的loss值计算,将loss值最小的迭代轮次的模型参数作为获得训练过程中最好的模型文件,得到所述训练好的目标检测模型。

在一些可选地实施方式中,所述将所述训练好的目标检测模型导出部署在便携式计算设备中,并到风电场进行实时的叶片表面损伤检测,包括:

采集所述风电场的实际叶片视频,选取视频关键帧图像输入到所述便携式计算设备上所搭载的所述训练好的目标检测模型中;

对于每张所述关键帧图像,所述训练好的目标检测模型执行前向传播算法得出预测框损伤类别和得分。预测框得分的定义是所属损伤类别的概率乘以其预测框是否包含目标物体的objectness概率。

使用非极大值抑制消除重叠较大的冗余预测框。如果两个预测框的类别一样,而且他们的位置重合度比较大,则可以认为他们是在预测同一个目标。非极大值抑制的做法是,选出某个类别得分最高的预测框,然后看哪些预测框跟它的iou大于阈值,就把这些预测框给丢弃掉。

根据预测框的实数数值在原始图片上绘制长方形损伤框并在绘制框的附近标注损伤类别和损伤得分。

将识别的结果按照损伤类型进行分类保存。

总而言之,虽然叶片图像的背景环境和光照强度变化巨大,但是采用公开的方法后,叶片表面的裂纹和斑点两类主要损伤的识别准确率均在90%以上,因此本公开技术方案与其他相似技术相比更具有鲁棒性,精度更高。本公开所使用的轻量化模型可以轻松地部署在便携式计算设备上,不需要巨大的计算量。并且本公开在具体实施例中的识别速率达到了45.5fps,完全可以实现实时检测。巡检人员无需忍受高清叶片图片或视频上传到云平台和识别结果返回所造成的难以忍受的延迟,或者由于风电场地处偏僻网络带宽资源匮乏,必须将图像带回总部进行损伤检测所带来的低效率。

下文将以一具体示例进行说明。

步骤一、建立训练集和测试集

首先由四旋翼无人机(如下图所示)携带高清摄像头进入不同的风电场采集大量的叶片图像,要求如下表1所示:

表1

使用labelimg对图像库中的两种主要损伤裂纹(crack)和斑点(spot)进行标注。

随着标注而生成的xml信息文件包含图像名称,图像路径,所标注图像的长、宽、通道,所标注目标的名称,所标注目标的位置信息等。

使用pascalvoc数据集格式对图片、标注信息以及图片列表文档进行整理。其中annotations存放标注生成的xml文件,jpegimage存放图片,imagesets存放对训练集和数据集的划分。imageset下有main文件,mian下需要建立一个label_list.txt。label_list.txt是指标注的所有损伤的名称,训练集和验证集按照8:2的比例随机抽取。

步骤二、数据预处理,依次进行以下步骤

从图像文件或内存buffer中加载图像,转换为rgb格式;

将原始图片放入用像素均值填充的扩张图中,对此图进行裁剪、缩放和翻转;

使用随机的插值方式调整图像大小;

根据特定的插值方式调整图像大小;

对图像像素值进行归一化,先将像素值除以255.0,像素值缩放到到[0-1]区间;

如果boundingbox的数量少于50,则将零填充到所述boundingbox;

将所述boundingbox从(xmin,ymin,xmax,ymin)形式转换为(xmin,ymin,width,height)格式。

步骤三、在云平台(系统:ubuntu18.04,处理器:8核,内存:16gb,显卡:单卡teslav100,存储:200gb)上安装百度飞桨平台搭建好轻量化模型训练环境,骨干网络选用mobilenet,基本网络选择yolo-v3,最大迭代步数设置为20000步,预训练模型来自百度官网,数据集格式设置为voc,数据集类别选择为两类,每隔200步保存一次模型参数,设置为边训练边测试,输入图像尺寸设置为3×608×608。

步骤四、开始进行训练

模型总共生成了100个训练文件,由于采用边训练边测试的方法,可以得到训练模型在测试环境中发挥最好的参数文件,将最好模型的网络结构和前向参数导出。

步骤五、叶片损伤实时检测

在便携式设备ip-1370(系统:ubuntu18.04,处理器:i7-7700t,内存:4gb,gpu:quadrop3000,存储:500gb,支持无线通信)进行python端预测部署,通过移动通信网络从云平台下载已经测试最优的轻量化模型的网络结构和前向参数,并将其导入到ip-1370的python端环境中。

高清无人机到现场拍摄叶片视频,选取视频关键帧图像通过wifi局域网无线传输到便携式设备中。

对于每张图像,轻量化模型只执行前向传播算法得出预测框损伤类别和得分。

使用非极大值抑制消除重叠较大的冗余预测框,阈值设置为0.5。

根据预测框的实数数值在原始图片上绘制长方形损伤框并在绘制框的附近标注损伤类别和损伤得分。

将识别的结果按照损伤类型进行分类保存。

本公开的另一个方面,提供一种电子设备,包括:

一个或多个处理器;

一个存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现根据前文记载的方法。

本公开的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现根据前文记载的所述的方法。

其中,计算机可读介质可以是本公开的装置、设备、系统中所包含的,也可以是单独存在。

其中,计算机可读存储介质可是任何包含或存储程序的有形介质,其可以是电、磁、光、电磁、红外线、半导体的系统、装置、设备,更具体的例子包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、光纤、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件,或它们任意合适的组合。

其中,计算机可读存储介质也可包括在基带中或作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码,其具体的例子包括但不限于电磁信号、光信号,或它们任意合适的组合。

可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1