机场道面表观缺陷快速检测技术研究
2022-12-23邵黎明张力波
涂 昊 张 平 邵黎明 张力波
(中国民用航空总局第二研究所,四川 成都 610042)
0 引言
机场道面是供飞机起飞、着陆、滑行、维修、停放的坪道,机场内的道面有跑道、滑行道、机坪等,是机场最为重要的基础设施。机场道面的健康状况直接影响着机场航空器的飞行安全,然而,我国大多数机场其道面建设时长都达到了数十年,长期以来,这些机场道面一直处于露天环境,承受着化学试剂的腐蚀,还要不断承受航空器带来的各种载荷,极易产生各种病害,因此机场需要定期对道面进行评价。道面表观缺陷状况是道面评价的重要资料[1],道面表观缺陷包括裂缝、接缝破碎、板角剥落等(图1),在过去的几十年间,主要都是采用人工通过肉眼巡视的方式来记录的,这样的方式工作强度大,巡检效率低。
图1 道面表观缺陷
随着计算机硬件的革新和图像处理技术、深度学习技术的发展,一批致力于探索机场道面表观缺陷自动巡检技术的学者涌现出来,希望能够提高道面表观缺陷的发现效率,减少人力的投入。早期的道面表观缺陷自动检测技术主要基于传统的图像处理算法。任峰[2]利用小波变换、阈值迭代法来对图片进行去噪和分割以提取道面裂缝,这类采取图像处理技术的方法其弊端在于:道面表观缺陷基本位于露天环境下,环境情况复杂,会面对诸如积水、光照不均匀、夜间低照度等一系列问题,十分不稳定,且难以对道面表观缺陷进行识别分类,算法也相对复杂,计算速度慢。为了提高算法的稳定性,吴治龙[3]提出了一种结合深度信息的道面裂缝识别算法,但并不能完全克服上述复杂环境带来的问题和检测速度慢的缺陷,同时也仅能针对裂缝这一种缺陷进行识别提取。
近年来,深度学习发展迅速,在机场道面检测领域也得到了许多应用。如马代鑫[4]提出了一种利用U-net[5]模型对道面裂缝进行分割提取的方法,取得了较小误差;张力波等人[6]提出使用DDRNet[7]的图像分割算法来提取道面裂缝信息,但这些研究都没有考虑表观缺陷的分类情况,同时模型的复杂度较高,对模型计算速度有一定影响,而且巡检过程中有大量的背景,用大规模的模型进行全流程的分割在算力的使用上效率不高。目标检测算法是深度学习中的一类算法,在实现对目标定位和识别分类所要求的算力上往往较分割算法更低,能够降低工程化的成本,也能提高道面表观缺陷检测的速度,并对多种表观缺陷进行分类,因此,本文将利用目标检测算法,针对搜集到的几种典型的道面表观缺陷进行研究。
1 算法概述
1.1 YOLOv7目标检测算法
目标检测算法是根据图片全局信息分析推理出目标位置和分类的算法,通常可以将算法分为二阶段检测算法和一阶段检测算法。早期目标检测算法都是二阶段算法[8-10],算法在第一阶段进行特征提取并分析正样本的候选区域,对目标所在位置边界框进行精确地回归,确定目标未知区域,在第二阶段进行目标分类的确定;而一阶段算法则是直接预测出目标的分类和位置。由于二阶段算法在早期可以通过采样的方式避免样本的不均衡问题,因此在准确度上一直优于一阶段算法,但速度上明显慢于一阶段算法。近几年,一阶段算法通过各种技巧很好地控制了样本不均衡、样本不一致等问题,在精度上已经能媲美甚至超越二阶段算法。
部分目标检测算法性能对比如图2所示,可以发现,一阶段算法YOLOv7[11]平均精度上高于二阶段算法Faster-RCNN,且YOLOv7在速度上也具有很大优势。因此,本文也采用最新的YOLOv7目标检测算法来进行研究。
图2 部分目标检测算法性能对比
1.2 算法整体结构
YOLOv7算法的整体框架如图3所示,主要包含两个部分:骨干网络和检测头,其中骨干网络用于提取特征,检测头用于对目标的位置和分类进行预测。
图3 YOLOv7算法整体结构
1.2.1 骨干网络结构
YOLOv7的骨干网络由若干基本卷积块(Basic-Conv-Block,以下简称BCB块)构成,如图4所示,BCB块包含一次卷积操作、一次批归一化操作和一次利用SiLU激活函数激活的操作。BCB块中卷积层的卷积操作有(1,1)、(3,1)、(3,2)三种形式,以(3,2)的BCB块为例,其表示为用3×3的卷积核进行步长为2的卷积操作。
图4 基本卷积模块
池化过程如图5所示,在整个算法网络中,池化块存在两种形式:MP-1、MP-2,区别在于MP-1的输出通道与输入通道相等,MP-2的输出通道是输入通道的两倍。
图5 池化模块
骨干网络中还有另一种形式的卷积块,称作ELAN块,如图6所示,ELAN块是由BCB块按照图示组合而成的。
图6 ELAN模块
1.2.2 检测头结构
骨干网络提取特征是自顶向下的过程,随着卷积的不断深入会损耗细节信息,YOLOv7的检测头将骨干网络提取到的不同深度的特征层进行融合,使得用于预测的特征层既包含深层的整体信息,也包含浅层的细节信息。检测头首先通过自底向上的方式,将深层语义信息上采样与浅层语义信息融合,再对这几层特征进行一次自顶向下的卷积,以减少深层特征和浅层特征之间的距离。利用SPPCSP[12]增大感受野,提升算法速度。
检测头的ELAN块结构和骨干网络中的ELAN块稍有不同,如图7所示。
图7 ELAN*模块
检测头中还使用了重参数化技术,如图8所示,在训练过程中使用多分支结构叠加的方式以增加模型的复杂程度,使模型的性能得到提升,在部署时通过重参数化的方法将多分支结构等效成单分支结构,起到压缩模型参数量、提高算法效能的作用。
图8 模型重参数化
2 模型训练
2.1 数据集
本文从机场实际道面拍摄的图片中筛选出3 672张图片进行标注。数据集标注了3类典型的表观缺陷:裂缝、接缝破碎、板角剥落,并随机选出734张图片用于验证,734张图片用于测试,剩余的用于训练。随后利用翻转、颜色空间调整、仿射变换等数据增强方式对数据集进行扩充。
2.2 模型训练
模型训练和测试使用的硬件包括:NVIDIA RTX3090显卡、Intel Core I9-10900K(3.70 GHz)处理器。输入尺寸为640×640×3,初始学习率为0.01,采用余弦退火法来控制学习率的变化。
另外,该模型在训练时采用了多尺度训练,如图9所示,即每隔一个epoch,微调训练图片的尺度,以增强算法模型对不同大小目标的鲁棒性。
图9 多尺度训练输入尺度对比
3 模型评价
该模型的训练过程记录如图10所示,其中深灰色曲线表示的是未经多尺度训练的模型在验证集上的表现记录,浅灰色曲线表示的是经过多尺度训练的模型在验证集上的表现记录。
图10 训练过程记录
该模型在训练到第354个epoch时的平均精度均值(mAP)达到最高,为0.787,且使用了多尺度训练的模型在验证集上的效果在训练初期mAP要低于不使用多尺度训练的模型,而当训练了一段时间以后要优于不使用多尺度训练的模型。
因此,最终选择进行了多尺度训练的模型,该模型在测试集上的精确率(Precision)为0.809,召回率(Recall)为0.609,mAP为0.755,平均推理耗时仅为22 ms。模型输出效果如图11所示。
图11 模型输出示例
4 结语
根据实验结果可以发现,YOLOv7在针对机场道面的几种典型表观缺陷检测上mAP可以达到0.755,且检测速度较快(平均仅耗时22 ms),可以实现机场道面表观缺陷的快速检测。但由于目前用于训练和测试的数据集较小,针对的表观缺陷类别还不够齐全和细化,图像采集环境也不够多样,因此,模型的性能还有待提升。未来将通过搜集更多数据,研究场景更复杂,目标类别更多、更细化的机场道面自动化巡检计算。