时间:2024-05-04
魏永超,李 涛,邓 毅
(中国民用航空飞行学院科研处,广汉 618307)
航空发动机工作环境恶劣,其内部温度最高可达1900 K,高压涡轮作为核心机部分处在高温、高压、高转速的工作状态下,因此容易产生烧蚀、裂纹、涂层丢失、材料丢失等缺陷。为防止因高压涡轮内部缺陷而导致的飞行事故,必须对发动机内部进行定期检测。但是发动机内部结构复杂、空间狭小,不利于目视检查,并且不能轻易拆卸。随着孔探检测技术的发展,从20 世纪60年代开始,软体光纤内窥镜被广泛应用于发动机内部损伤和故障的全面检查。
目前,广泛使用的第3 代电子内窥镜在很大程度上解决了成像质量和损伤尺寸测量的问题。然而,对于发动机内部损伤评估,先进的孔探仪却无能为力,因为损伤评估需要孔探人员具备较高的专业素养与工作经验。而目前航空公司的发动机孔探检测专家往往仅限于在专门从事飞机发动机维修的无损检测部门,这种专家少、飞机多、飞机分布广的特点使得发动机孔探检测面临了典型的异地检测和评估困难问题,无法及时准确地得到评估结果。造成了工作效率低下、公司营运成本增加等问题。此外,孔探检测设备只具备图像及视频采集功能,对于图像和视频的处理与分析能力完全不具备。因此,如何将人工孔探检测工作转换为半自动化工作就显得尤为重要。
所以,考虑利用比较成熟的深度学习技术,研究发动机孔探缺陷自动识别算法,将训练好的神经网络模型部署于服务器端作为后端。采用树莓派连接孔探仪作为前端,接收实时的孔探视频,对视频进行编码,然后通过局域网发送至服务器端,后端读取并解码视频后,会自动识别视频中是否有缺陷以及缺陷的类型,同时标记出缺陷的位置、形状以及大小。
本方法将深度学习技术以及树莓派应用到发动机孔探检测中,提供一种辅助孔探人员识别发动机内部缺陷的远程智能便携式系统。
该系统基本原理为:系统将孔探仪探头采集到的高清图像或视频输入服务器端的智能检测系统进行分析判断,得到孔探图像或视频中的缺陷类型及位置、尺寸。然后系统进行损伤程度判断,并将带有缺陷的视频帧标记完成后反馈到树莓派端,在触摸显示屏的UI 界面显示实时检测结果,此时孔探人员可以将该视频帧保存、以便进一步复审。该系统的硬件连接图如图1所示。
图1 硬件连接图
图1中树莓派型号为树莓派4 代RaspberryPi4B,4 GB 内存;孔探仪为美国韦林公司生产的VideoProbe XL 系列可测量型航空专用内窥系统;服务器为配置有NVIDIA GeForce RTX 2080 SUPER 的GPU 显卡的机器,安装NVIDIA驱动、CUDA加速库及相匹配的cuDNN版本。
该系统结构示意图如图2所示。
图2 系统结构示意图
总体流程图如图3所示。具体流程如下:
图3 系统整体流程图
(1)该系统采用树莓派搭载触摸操控屏幕作为前端,视频采集卡将孔探仪的视频信号接入到树莓派。
(2)视频信号在树莓派中经Base64 逐帧编码后,基于ZMQ 传输层协议,通过局域网被发送至服务器端。
(3)服务器端运行同样基于ZMQ 传输层协议的监听程序,等待、接收树莓派端的视频数据。收到树莓派端的帧数据后,首先进行Base64解码,还原得到孔探视频帧。
(4)在服务器端运行训练好的神经网络模型,该模型的训练数据来源于国内某航空公司孔探维护数据。该神经网络模型可识别烧蚀、涂层脱落、裂纹、材料丢失四种缺陷类型。神经网络模型会对视频帧中的缺陷进行识别、标记。
(5)服务器在完成缺陷识别后再将带有标记的视频帧重复上述过程发回到树莓派,在树莓派搭载的屏幕上经UI界面显示实时检测结果。
(6)孔探工作人员可在UI 界面截取识别到的带有缺陷的视频帧,进行保存并送去复审。
软件是整个系统的核心,其完成整个系统的控制,包括孔探图像数据的采集和处理、图像显示、图像分析、缺陷识别、定位、分割等功能,实现发动机孔探缺陷的智能识别。系统的软件结构设计如图4所示。软件系统主要包括图像获取模块、图像预处理模块、损伤评估与诊断模块。软件实现的主要功能有:判断库管理、知识库管理、案例库管理、图像分析与特征提取等。软件系统的特色功能就是能够对采集到的孔探图像进行自动分析处理、自动识别出孔探图像中的缺陷类型、自动定位缺陷、自动分割缺陷。
图4 系统的软件结构示意图
本文局域网的搭建采用Python 的ZMQ 库进行编程。由于视频帧数据在局域网中进行传播前还需要进行若干次编码,所以需要先把采集到的孔探视频通过OpenCV 进行编码操作,OpenCV 中的imencode 函数可以将视频数据编码成流数据,赋值到内存缓存中,以便于网络传输。转换成流数据之后,再经过Base64 编码,树莓派将孔探仪上采集到的视频数据转化为可以在局域网中传播的数据形式。然后在服务器端只需按照ZMQ 协议与解码规则进行部署,即可完成接收视频帧的功能。其中,在树莓派前端,网络收发功能已经被整合到UI 界面的框架中。其网络传输架构及原理图如图5所示。
图5 网络传输架构及原理图
鉴于当前没有公开的航空发动机孔探缺陷数据集,本文需要收集、处理、标注孔探数据,建立发动机孔探缺陷数据库。本文的训练数据来自国内某航空公司孔探维护数据,如表1所示。
表1 某航空公司孔探维护数据
本文选取CFM56 系列发动机为研究对象,将孔探缺陷大致分为烧蚀(burn)、裂纹(crack)、涂层丢失(missing coating)、材料丢失(missing material)四大类,四种典型缺陷类型如图6所示。
图6 四种缺陷类型
本文利用VIA(visual geometry group image annotator)对数据集进行标注,标注过程如图7所示。标注完成后,导出为json文件格式。
图7 VIA标注过程
本文的实验环境在Ubuntu16.04 操作系统下,配置有NVIDIA GeForce RTX 2080 SUPER的GPU 显卡的机器,安装NVIDIA 驱动、CUDA加速库及相匹配的cuDNN 版本,从而可以使用GPU 加快模型的训练过程。并利用主流的深度学习框架训练神经网络模型,一共经过300 个epoch 训练,得到孔探缺陷识别模型。最后,将神经网络模型部署于服务器端。
为验证该系统实际孔探检测效果是否满足工业级要求,首先检测孔探图像与视频,判断其检测缺陷准确率及网络识别速度。孔探图像检测效果如图8所示。
图8 四种孔探缺陷识别效果(a至h为原图)
对孔探视频的检测结果如图9所示。
图9 检测孔探视频
对某型航空发动机做实时检测实验,实验结果如图10 所示。结果表明,树莓派UI 界面及服务器端可显示实时检测结果,该改进模型可以满足工业要求,辅助孔探人员工作。
图10 实时孔探检测
该系统将树莓派与深度学习技术结合起来,通过计算机自动识别孔探图像缺陷,实现了对发动机内部损伤的发现-定位-测量-评估-决策的智能诊断,可以辅助孔探人员方便地进行航空发动机内部损伤诊断,在检测稳定性、检测精度、人力成本消耗等方面均有很大的优势。后续的研究工作,可以添加识别发动机缺陷损伤程度的模块,在内部缺陷损伤的类型上对损伤的程度进行定性分析和定量测量。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!