一种基于深度学习的风机叶片故障智能识别方法
技术领域
本发明属于深度学习在计算机视觉技术领域的应用,涉及一种基于深度学习的风机叶片故障智能识别方法。
背景技术
风能是一种清洁的可再生资源,其储量大,分布面广。风电对于缓解能源供应、改善能源结结构、保护环境等方面意义重大。这些年,风电机组在我国得到了广泛的安装使用。由于风力发电机组通常处于野外,环境条件恶劣,容易出现故障,电站运维团队需要定期对风力发电机进行巡检,以保证风力发电机组的可靠运行,提高设备可利用率。但发电机多地处偏远地区,且排布分散,人工巡检不仅存在安全性差、工作量大、效率低等问题,而且受观测角度影响,不能全面及时的发现问题。
叶片是风机发电组中的一个关键部件,其气动效率决定了风力发电机组利用风能的能力。而叶片高速运转时不可避免会与空气中的沙尘、颗粒产生摩擦和撞击,导致叶片前缘磨碎,前缘粘合因此开裂等。另外,随着风机运行年限的增加,叶片表面胶衣磨损、脱落后会出现砂眼和裂纹。砂眼一方面会造成叶片阻力增加,影响发电量;另一方面,如果变成通腔砂眼,会有积水,从而造成防雷指数降低,易遭雷击伤害。设立在海上的发电机,其叶片容易遭受海风的腐蚀等等。所以,需要定期对叶片表面进行巡检以保证风电的正常运行。
传统的叶片表面巡检方式是运维人员通过望远镜观测,以及在风机附近仔细聆听叶片是否有刺耳的异常噪音,凭借经验进行判断。无人机在风机叶片拍摄的运用大大提高了工作人员的观察角度。无人机通过搭载高分辨率可见光摄像机观察记录叶片表面状态,从叶片低端至顶端概况巡查,同时向工作人员传回高清视频。专业人员通过对其拍摄的不同角度的风机叶片视频进行观测查看,确认叶片是否损伤,并通过拍摄时所做的标志以及整体的拍摄画面预估当前损伤所处的大概位置以及故障大小,虽然整个过程中比起传统方法能够多角度多多方面的观测风机叶片,但是需要很多专业人员对视频进行查看分析,且随着观测时间增长,由于疲劳而导致的误判率及漏判率也随之升高,从而衍生出平台能够自动对无人机拍摄的风机视频进行分析的需求,减少人力劳动,提高工作效率。
随着深度学习的发展,深度学习在图像数据方面的应用逐渐成熟,在图像数据分类方面展现了巨大的潜力,因此可利用深度学习技术去识别视频中的故障帧。同时,经过大量数据学习后的卷积网络能够很好的提取高维图像特征,利用这一点对其进行进一步分析也能取得不错的效果。在当前背景下,进一步通过目标检测框架获取具体的故障区域以及大小也成为了可能。
发明内容
为解决现有技术的不足,本发明的目的在于提供一种基于深度学习的风机叶片故障智能识别方法,能够对风机视频进行分析,自动精确识别叶片的故障区域,提高了故障识别的准确率与效率。
为了实现上述目标,本发明采用如下的技术方案:一种基于深度学习的风机叶片故障智能识别方法,其特征在于,包括以下步骤:
步骤一,利用已标注的风机视频故障帧构建深度学习网络模型;
步骤二,对待检测的风机视频进行帧抓取,识别出故障帧图片;
步骤三,压缩后的故障帧图片输入目标检测网络,获取故障区域样本,并进一步输入深度学习回归网络模型,计算风机叶片故障区域面积。
进一步地,步骤一中所述利用已标注的风机视频故障帧构建深度学习网络模型的步骤如下:
步骤1a,对风机视频进行帧抓取;
步骤1b,对获取的帧进行数据标注,标注内容包括故障区域、类别及估计面积;
步骤1c,构建用于识别故障帧的卷积分类网络;
步骤1d,基于已标注故障帧,构建目标检测网络;
步骤1e,用图像处理方法获取已标注故障帧中的故障区域样本;
步骤1f,基于所述故障区域样本,构建深度学习回归网络。
进一步地,步骤1b中所述对获取的帧进行数据标注,标注内容包括故障区域和类别的步骤如下:
专业人员先将获取的帧分别标注为正常帧或故障帧;
专业人员利用标注工具标注所述故障帧中的故障区域,并附注故障类型以及估计面积。
进一步地,步骤1c中所述构建用于识别故障帧的卷积分类网络的步骤如下:
搭建卷积神经网络分类模型,基本构架采用conv+relu+pooling结构,输出层激活函数采用sigmoid函数,参数调优的loss采用交叉熵;
将正常帧和故障帧经过数据增强后,输入构建好的卷积神经网络分类模型中进行训练。
进一步地,步骤1d中所述基于已标注故障帧,构建目标检测网络的步骤如下:
搭建目标检测网络;
处理已标注的故障帧,获取故障帧中故障区域的bbox信息以及对应标签;
利用原始图像数据以及处理得到的故障区域数据对目标检测网络进行训练。
进一步地,步骤1e中所述用图像处理方法获取已标注故障帧中的故障区域样本的步骤如下:
求取故障帧中故障区域mask图的连通区域;
求取所有所述连通区域的bbox信息;
通过所述bbox信息从原图中获取该故障区域子图,并与对应估计面积构成故障区域样本。
进一步地,步骤1f中所述基于所述故障区域样本,构建深度学习回归网络的步骤如下:
构建深度学习回归网络,其卷积层采用conv+relu+pooling架构;
对故障区域面积进行回归,参数调优的loss采用mse或mae;
对所述故障区域样本进行预处理,包括补零,resize等图像处理方法;
对所述深度学习回归网络基于处理好的故障区域样本进行训练。
进一步地,步骤二中所述以一定的时间间隔对视频进行帧抓取,识别出故障帧图片的步骤如下:
步骤2a,利用所述卷积分类网络,识别视频帧中的故障帧;
步骤2b,获取故障帧的全连接层特征,利用所述全连接层特征对故障帧进行聚类,去除重复故障帧;
进一步地,步骤2a中所述利用卷积分类网络,识别视频帧中的故障帧的步骤如下:
将帧图片输入卷积分类网络中,获取故障置信度,若故障置信度大于或等于预设的阈值,则为故障帧,若故障置信度小于预设的阈值,则为正常帧进行舍弃。
进一步地,步骤2b中所述利用卷积网络中的全连接层特征对获得的故障帧进行聚类,去除重复故障帧的方法为:将故障帧通过卷积神经网络计算出全连接层特征并结合相应时间轴特征构成聚类样本集,从中随机选取一个样本作为簇中心,利用meanshift算法不断迭代计算,直到所有样本都被归类到相应簇中,保留离簇中心最近的帧样本作为输出,簇中其它样本舍弃,从而完成故障帧压缩。
进一步地,步骤三中所述压缩后的故障帧图片输入目标检测网络,获取故障区域样本,并进一步输入深度学习回归网络模型,计算风机叶片故障区域面积的步骤如下:
步骤3a,利用所述目标检测网络对步骤2b得到的故障帧进行预测,获取故障区域的bbox信息和故障类型;
步骤3b,对故障区域进行处理,以处理后的故障区域数据作为所述深度学习回归网络的输入,获得故障区域的面积。
进一步地,步骤3b中所述对故障区域进行处理,以处理后的故障区域数据作为所述深度学习回归网络的输入,获得故障区域的面积的方法为:利用故障区域的bbox信息从相应故障帧中提取出故障区域子图,所述故障区域子图通过补零、resize等图像处理方法处理后,输入到所述深度学习回归网络中,计算故障区域面积。
本发明的有益之处在于:
本发明采用技术方案与现有技术相比,采用深度学习框架自动对风机视频进行分析,提高了现有工作方式的工作效率;并通过模型一次性预测出故障的多个信息值,减少了工作工序;能够负荷长时间工作,减小了工作人员由于外部因素干扰而导致的误判以及漏判,提高了故障识别的准确率。
附图说明
图1是本发明一种基于深度学习的风机叶片故障识别方法的流程示意图;
图2是本发明的第三个实施例中训练模块的运行示意图;
图3是本发明的第三个实施例中检测模块的运行示意图。
具体实施方式
以下结合附图和具体实施例对本发明作具体的介绍。
参照图1所示,针对现有技术的缺陷,本发明提供了一种自动对风机视频(比如可以是无人机拍摄的)进行分析的技术。由于一些风机视频中的风机背景比较复杂,用传统的图像处理方法无法很好的解决,因此,采用深度学习作为主要的技术路线。
本发明一种基于深度学习的风机叶片故障识别方法,包括以下步骤:
S10,利用已标注的风机视频故障帧构建深度学习网络模型;
S20,对待检测的风机视频进行分帧,识别出故障帧图片;
S30,压缩后的故障帧图片输入目标检测网络,获取故障区域样本,并进一步输入深度学习回归网络模型,计算风机叶片故障区域面积。
其中,S10中利用已标注的风机视频故障帧构建深度学习网络模型的具体步骤为:
S11,对风机视频进行帧抓取;
S12,对获取的帧进行数据标注,标注内容包括故障区域、类别及估计面积;
S13,构建用于识别故障帧的卷积分类网络;
S14,基于已标注故障帧,构建目标检测网络;
S15,用图像处理方法获取已标注故障帧中的故障区域样本;
S16,基于所述故障区域样本,构建深度学习回归网络。
进一步,S15中,用图像处理方法获取已标注故障帧中的故障区域样本包括如下步骤:
求取故障帧中故障区域mask图的连通区域;
求取所有所述连通区域的bbox信息;
通过所述bbox信息从原图中获取该故障区域子图,并与对应估计面积构成故障区域样本。
在本发明的第一个实施例中,对深度学习模块进行训练的方法为:
第一步,利用计算机视觉处理库读取风机视频并以一定时间间隔进行帧抓取,获取帧图片;
第二步,专业人员对帧图片进行标注,标注包含正常帧、故障帧以及标注故障帧的损伤区域及其类别,并对损伤区域面积大小做出估算;
第三步,搭建卷积神经网络分类模型,采用conv+relu+pooling架构,全连接输出层采用sigmoid激活,参数调优的loss函数采用交叉熵,将正常帧和故障帧经过数据增强后,训练构建好的分类模型;
第四步,搭建目标检测网络,包含两个模块,定位模块和分类模块,定位模块为回归模型,用于对检测目标的位置进行预测,参数调优的loss采用smooth_l1,分类模块为分类模型,用于对检测目标的具体类别进行预测,激活函数采用softmax函数,参数调优的loss采用交叉熵;
第五步,使用计算机视觉处理库将故障帧中的故障区域取出,并通过resize操作将所有图像统一到同一分辨率,然后对处理后的图像进行周边补零操作,达到同一大小;
第六步,对第五步得到的图像数据resize成网络输入要求大小,训练深度学习回归网络,回归目标为故障区域面积,参数调优的loss函数采用mse或mae。
S30中所述以压缩后的故障帧图片作为深度学习回归网络模型的输入,计算风机叶片故障区域面积的具体方法为:
S31,利用所述卷积分类网络,识别视频帧中的故障帧;
S32,获取故障帧的全连接层特征,利用所述全连接层特征对故障帧进行聚类,去除重复故障帧;
S33,利用所述目标检测网络对步骤S32得到的故障帧进行预测,获取故障区域的bbox信息和故障类型;
S34,对故障区域进行处理,以处理后的故障区域数据作为所述深度学习回归网络的输入,获得故障区域的面积。
在第一个实施例的基础上,本发明的第二个实施例中,以压缩后的故障帧图片作为深度学习模块的输入,计算风机叶片故障区域面积的步骤为:
第一步,读取待测风机视频并以一定时间间隔进行帧抓取,获取帧图片;
第二步,帧图片输入训练好的分类网络中,获取所有帧图片的故障置信度,保留所有故障置信度大于或等于阈值的图片;
第三步,对保留的故障帧提取全连接层特征,同时结合时间轴特征,进行meanshift聚类,保留最终聚类结果中离簇中心最近的样本,完成故障帧的压缩;
第四步,故障帧进一步输入目标检测网络,获取帧中故障区域的bbox值和具体故障类别;
第五步,用计算机视觉处理库基于bbox值从故障帧中提取故障区域,并将故障区域通过resize操作统一分辨率,同时通过周边补零操作统一大小;
第六步,将处理后得到的故障区域数据输入深度学习回归网络,预测得到相应故障区域的面积大小。检测过程结束。
在本发明的第三个实施例中,本发明方法的实施平台为python/Keras/Tensorflow,分为两个模块——训练模块和检测模块进行。参照图2所示,训练模块具体按照以下步骤运行:
(1)用计算机视觉处理库读取风机视频,并以一定时间间隔进行帧抓取;
(2)专业人员对帧图片进行标注,标注包含正常、故障,并对故障帧的故障区域进行具体标注(包含类别,故障区域面积)。
(3)搭建卷积神经分类网络,卷积层结构采用conv+relu+pooling架构,输出层采用sigmoid激活,使用交叉熵作为loss函数,优化器采用Adam,用正常帧和故障帧训练分类网络。
(4)搭建目标检测网络并用故障样本(区域类别已标记)训练。
(5)处理故障帧,单独切取故障帧中的故障区域数据,并通过resize操作达到统一分辨率以及在周边进行补零操作达到统一图像大小。
(6)搭建深度学习回归网络(卷积+回归),其特征提取模块——卷积网络采用基本架构conv+relu+pooling,并用处理得到的故障区域以及对应面积进行训练。
参照图3所示,检测模块按照以下步骤运行:
(1)用计算机视觉处理库读取待测风机视频并以一定时间间隔进行帧处理。
(2)帧图片输入卷积分类网络,预测故障置信度,大于或等于预设阈值为故障帧,小于预设阈值为正常帧。
(3)对预测得到的故障帧进行meanshift聚类,保留离簇中心最近的样本,完成故障帧压缩。
(4)将压缩后故障帧输入目标检测网络,输出故障区域的bbox信息以及故障类型。
(5)利用bbox值获取相应故障帧的故障区域数据,进行resize操作统一分辨率,周边补零操作统一图像大小。
(6)将故障区域数据输入深度学习回归网络,输出当前故障区域的面积。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。