0 前言:

涡轮通常用采用的材质为金属或非金属(塑料),金属材质的涡轮进行缺陷检测可使用磁力探伤的方式,但非金属材质的涡轮无法使用磁力探伤,通常采用超声波探伤的方式。而使用超声波探伤的方式通常面临两个问题:

第一、要求非金属材料为良导体。

第二:超声波探伤设备价格较贵(价格区间8K~20K左右)。

图1 金属涡轮

图2 非金属涡轮    

图3 非金属涡轮表面缺陷示意图(黑色圆弧为记号笔所做标记)

基于上述问题,我们提出使用深度学习涡轮表面缺陷检测的方法,通过相机采集涡轮表面图像并构建数据集,使用图像标注工具对数据集中涡轮缺陷部位进行标注,再使用深度学习目标检测算法对标注后的图像进行训练和测试。为了便于操作,我们使用Python开发了一套涡轮表面缺陷检测上位机,将涡轮表面缺陷检测算法嵌入到上位机中。

1 正文:

1、涡轮表面缺陷检测算法

我们首先对带有缺陷的涡轮进行收集,然后使用相机对涡轮的缺陷部位进行拍摄,用于构建带有缺陷的涡轮数据集,数据集构建如图3所示(图中黑色线为记号笔标注的缺陷位置,不用于标注和训练)。

图3 涡轮表面缺陷数据集

构建后的数据集,我们使用LabelImg标注工具对缺陷部位进行BBox标注,如图4所示。通过LabelImg标注工具,获取标注信息(Label),然后使用YOLO系列算法进行训练和测试。

图4 LabelImg缺陷标注工具

本次使用的检测算法有两种,分别是YOLOV4和YOLOV4-Tiny。所用工作站使用32GB的内存,搭载了RTX 2080Ti显卡,在对YOLOV4进行测试时,测试识别速度约为55 fps,YOLOV4-Tiny更快,完全可以满足实时性要求,有条件的可以自行测试哦。

图5 涡轮表面缺陷检测算法

我们可以看一下YOLOV4和YOLOV4-Tiny算法的训练曲线,两种算法在训练时损失函数逐渐降低,趋向于0,因此,所采用算法可实现对涡轮缺陷表面的检测。针对涡轮表面缺陷检测,我们首先可以从训练曲线上可以看出,算法识别准确率比较低,初步判断是我们训练的数据集样本数太少,由于手头上带缺陷的涡轮数据集较少,后续增加缺陷涡轮数据集可提高识别准确率。

2、涡轮缺陷表面检测上位机

确定了使用的算法后,每次通过命令窗进入,实在是不便于操作,并且更换测试平台后还需要重新配准上位机运行环境,我们决定开发一套自主检测用的上位机软件。为了缩短开发周期,我们采用Python进行界面开发,使用的界面开发工具为PyQt(QT的Python版本)。开发的上位机软件的功能如图6所示,上位机软件工作流程如图7所示。

图6 上位机软件功能

图7 上位机软件工作流程

确定好上位机的工作流程后,我们对其界面进行开发,开发功能主要包括数据加载(离线数据、在线数据webcam)、数据回放、急停、OK/NG提示、声音报警等。涡轮表面缺陷检测上位机界面如图8所示。

图8 涡轮表面缺陷检测上位机

其中,YOLOV4位置为下拉框,可选择多种检测算法,目前包括YOLOV4和YOLOV4-Tiny。离线数据按钮,用于加载图片或者视频。加载相机按钮,用于直接从相机对拍摄的视频实时识别。数据回放按钮,通过上位机检测后的数据可进行保留,方便如后对缺陷产品进行追溯。急停按钮,由于后续需要与PLC建立通讯,控制行架上机器夹具的动作,急停按钮主要用于防止生产过程中出现安全问题。

3、试验

我们先来看一下如何对涡轮表面的缺陷进行数据采集,采集过程如图9所示。我们现场使用的工作台是可以对涡轮的参数进行测量的,通过与蜗杆啮合可获取涡轮与蜗杆之间的中心距等参数信息,我们在涡轮旋转参数测量工作台旁放置高清相机,实时拍摄涡轮表面的清晰图像,将拍摄后的图像使用涡轮表面缺陷检测算法实现对不合格品的筛选。

图9 涡轮表面缺陷数据采集过程

我们先来看一下涡轮表面缺陷检测检测算法对涡轮表面缺陷检测前后的效果,检测前后效果分别如图10和图11所示。

图10 检测前效果

图11 检测后效果

上图中检测效果是涡轮表面缺陷算法对缺陷涡轮进行直接检测,目前正在将检测算法嵌入到所开发的上位机中。上位机软件框架已经搭载完毕,对应功能的程序现在正在完善,完善后会更新。