人工智能在轨道交通缺陷检测的应用
唐诗
摘 要:在晚上地铁停运后,检测人员需要检测维修地铁运营车辆,排查可能的安全隐患,费时费力,效率低,成本高。为了解决这一系列问题,现利用AI算法进行地铁车轮螺栓松动检测,进行异常警告。
关键词:YOLOV3;边缘检测;UNet;Hough直线检测;缺陷检测
0 引言
根据深圳地铁的运营分析,城市轨道交通30年运营全成本约为建设成本的3.3~3.7倍,其中设备检修费用占到其中很大的一部分。因此,通过AI技术对地铁车轮螺栓松动进行检测,可以极大地提高检测效率,同时降低地铁运营中需要的维护成本。
近年来国内外对缺陷检测算法的研究取得了一些进展,主要表现在使用特定的特征提取方法,设计基于深度卷积网络的各种检测网络模型等新式检测手段。但目前市面上的检测方法相对较为单一,且螺栓在图像中占比较小,表面纹理特征差异不大,检测的效果达不到商用要求。本文提出的算法结合了YOLOV3、UNet和传统方法提取特征的手段,使车轮螺栓松动检测达到了很高的准确率。
1 螺栓松动检测系统
1.1 对接到地铁运营中心的数据库
开发地铁车辆检测系统软件,将算法检测到的结果形成可视化结果,提供给到维护人员,实时监控运营车辆故障异常情况,为检修提供参考依据。同时数据将会更新到地铁运营中心的数据库。
1.2 使用高速线阵相机进行数据采集
高速线阵相机的优点有以下的优点:非常适合测量场合,精度高,部署成
本低,且在高强度使用场景中不易发生故障,在工业上应用较多。目前主要运用于检测连续的材料,部署在地铁站场入口两侧。
1.3 光源、镜头的调试
调试镜头和光源直接影响数据质量,多次调试使数据的清晰度和亮度满足我们的要求,下面是我们的调试经验:
线扫描系统,对光源和相机来说,有效的工作区域都是一个窄条。也就是保证光源照在这个最亮的窄条与相机芯片要完全平行,否则只能拍到相交叉的一个亮点。所以机械安装、调试是比较费工夫的。同时由于幅宽比较宽,对于线光源有两个特别的要求,就是均匀性和直线性。因为线光源不同位置的亮暗差异,会直接影响图象的亮度高低,这一点LED比卤素灯更好控制。出光部分的直线性,取决于LED发光角度的一致性、聚光透镜的直线性以及线光源外壳的直线性。
2 基于多目标检测及图像分割算法
2.1 地铁车辆螺栓检测-YOLOV3
2.1.1 YOLOV3
YOLOV3是目前主流的目标检测算法,在工业上应用广泛。该算法有检测速度快、精度高的优点。该模型分别在不同的特征层面上做了特征融合,因此可以检测到图像中的小物体,这对螺栓的检测是至关重要的。
YOLOV3是one-stage检测算法,可以实现端对端实时检测。DarkNet53是主要的网络结构,主要是由1×1以及3×3卷积层和残差结构构成。通过堆叠这样的网络结构,实现速度与精度的均衡,同时残差结构还可以避免训练过程中发生的梯度爆炸问题。
YOLOV3借鉴了FPN的思想,对多种不同尺度的特征进行了检测。其输出特征图大小分别为52×52、26×26和13×13,使用了9种不同尺寸的anchor,输出得到的张量为K×K×[3×(4+1+C)],其中,K为特征图大小,C为缺陷类别数。
2.1.2 YOLOV3基础上的改进
使用GIOU替代IOU。GIOU的计算方式为:先计算两个框的最小闭包区域面积,再计算闭包区域中都不属于两个框的区域占闭包区域面积的比重,再计算IOU,最后用IOU减去这个比重。GIOU考虑到了 IOU 没有考虑到的非重叠区域,對尺度也不敏感。
增加注意力模块。通过在特征图的通道上使用注意力的机制,给予特征图中关键的位置较大的权重,从而提取到主要的特征,避免无关特征的干扰。
由于检测目标特征与背景区分度较高,故采用轻量化YOLOV3、检测网络仅使用52*52特征图进行检测,加快检测效率。
2.2 对螺栓图像分割-UNet
UNet是在FCN的基础上发展过来的网络结构,分割效果很好,该模型在医疗上有了成熟的应用。相比FCN,UNet通过拼接的方式保留了更多的维度/位置信息,该模型适用于超大图像分割,分割精度高,可满足多尺度分割的要求。使用YOLOV3抠出螺栓后,直接用OpenCV提取发现处理效果不好。后在中间加了一步图像分割,再用OpenCV处理图像分割后的结果,效果显著提升。
UNet的网络结构,整个结构呈U型,先对图像做下采样,后做上采样得到分割结果图,上采样结构层和下采样结构层之间做skip-connection,将不同尺度的特征融合到一起,提高分割的准确度。
3 数据集
3.1 数据采集
在地铁铁轨处安装高速相机,无需等到列车停放,在地铁运行时对地铁整体的车轮进行拍摄。对拍摄得到的图片做预处理,标注螺栓的位置和类别,螺栓松动检测主要做的是二分类,即判断是否松动。
3.2 样本制作
数据增强:将图片转换成灰度图;通过使用不同强度的光照模拟不同的光环境,得到更有泛化表现的样本;使用传统方法提高图片的对比度;随机裁剪图像,增强局部区域特征的学习;由于螺栓没有故障样本,需要使用PS的方式来制作YOLOV3的负样本。
用精灵标注助手标注YOLOV3的样本,螺栓有目标为正样本,没有目标作为负样本,共同参与训练。正样本约2w张,负样本约5w张。另留出700张作为测试集。
用LabelMe标注UNet的样本,即将六角螺栓标注出来,作为图像分割的样本。大约4w张样本。另留出400张作为测试集。
4 最终效果
使用本文算法对螺栓松动检测,在Tesla K80显卡下能达到30+FPS的帧率,mAP达到96.69;螺栓边缘直线检测平均误差2.2°。
5 结语
本文提出的算法不仅可以检测到螺栓的松动情况,还可以对误刹车和防松丝断裂等故障做出检测,最终也达到了很好的效果。闸刀闸瓦缝隙松开最小面积为3000+像素;防松丝正负样本分类准确率95.38%。综合前面的算法结构和最终效果,本文算法在工业上有较好的工程应用价值。
参考文献
[1]Redmon J,Farhadi A. ?YOLOV3: An Incremental Improvement[R]. arXiv,2018.
[2]Ronneberger O, Fischer P, Brox T. U-Net: Convolutional Networks for Biomedical Image Segmentation[C]// International Conference on Medical Image Computing & Computerassisted Intervention. 2015.
[3]Canny J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986 (6): 679-698.
[4]Generalizing the Hough Transform to Detect Arbitrary Shapes?BALLARD D. H. Pattern Recognition 13(2), 111-122, 1981