特种设备公司通常会利用X射线对焊接处进行投射形成焊缝图像,同时会在图像上生成文字或符号用来标识焊缝的相关信息.这些信息统称为识别标记,而对其进行准确识别对于追溯整个焊缝检测过程起着决定性的作用.目前X射线检测行业存在许多问题,其中最为突出的是信息检测的自动化程度低,多数仍采用人工肉眼识别的方法[1-3],不仅检测效率极低,而且检测结果受主观性影响很大.为了有效地进行焊缝图像数字化管理工作,对焊缝图像信息进行自动化检测具有重要意义.目前,国内外在X射线焊缝图像检测领域中对图像上相关信息的自动化检测工作主要为焊缝缺陷检测[4-5].如何利用机器视觉和计算机视觉等相关技术完成这一目标成为行业中亟待解决的难题.卷积神经网络(CNN)是深度学习领域中一种广泛应用于目标检测任务的方法,典型算法主要有YOLO系列[6-8]和SSD系列[9-10]的单阶段算法.这些算法检测速度快,但精度不高.经典的双阶段方法Faster R-CNN[11]先生成一系列候选框,再对其进行分类与回归,大大提升了检测精度,但检测速度更慢.CNN模型都具有庞大的参数量和计算量,这对搭载并运行模型的硬件提出了很高的要求,对CNN模型进行轻量化操作成为了近年来学者们研究的热点.分组卷积[12]将卷积核与特征图在维度上进行等分,大幅降低了卷积过程的计算量与参数量.深度可分离卷积[13]通过分开考虑区域与通道信息提升了卷积效率.在基于分组卷积的思想上混洗操作[14]可避免大量1×1卷积的操作.这些轻量化设计可以在保证精度的同时提高检测速度,降低参数量与计算量.本研究将轻量化方法引入到YOLO网络中,并根据任务具体特点对网络结构进行优化,提出针对X射线焊缝图像信息检测的两种轻量化神经网络.1 轻量化信息检测网络1.1 网络结构相对于先产生候选区域,再生成特征图进行分类的双阶段算法,YOLO-V3在保持高精度的同时,具有更快的检测速度.YOLO-V3采用三种尺度的检测输出层对不同大小的目标进行检测,使得网络对目标尺度变化适应性较好,能同时检测大、中、小面积的目标,提高检测精度.胶片中的识别标记因包含诸多焊缝图像信息,在焊缝图像管理工作中有着至关重要的作用.识别标记一般由数字、字母及汉字组成,因待检测信息种类很多,且图像内的字符歪扭、光照变化大,故检测难度较大.以YOLO-V3为基础进行轻量化改进,通过引入分组卷积(group convolution,GC)和深度可分离卷积(depthwise separable convolution,DSC)作为轻量化手段分别得到YOLO-G网络和YOLO-D网络,并根据识别标记的尺寸特点,对网络结构和锚点框个数进行特定性调整.识别标记网络结构如图1中的虚线框所示,图中:CBL为网络的基本组件,由卷积层、归一化层和激活层组成;res n为残差结构,n为残差单元个数;concat层的作用是将不同特征图在通道上进行拼接;“+”代表将不同特征图逐元素进行值的相加.10.13245/j.hust.210106.F001图1识别标记检测网络结构1.2 网络结构调整在3个不同尺度的特征层上分别进行YOLO-V3网络大中小目标的预测.3个不同尺度损失函数的总和构成了网络的总损失函数,因此任意一个尺度训练效果不佳会使整个网络的损失值偏大,降低收敛速度,影响训练效果.考虑到焊缝图像中的识别标记尺寸普遍较小,为了使YOLO-V3网络更加适合识别标记检测任务,仅保留52×52小目标预测层进行训练与预测.1.3 锚点框个数调整在训练过程中卷积神经网络负样本数量太多会造成正负样本不均衡[15-16],导致网络训练效果不佳.直接减少锚点框个数来减少负样本个数,提高网络检测精度.YOLO-V3在每一个输出层中的同一个网格内设置了3个锚点框,目的是检测出可能重叠的物体,但因为焊缝图像中识别标记重叠现象极少,所以减少锚点框个数不会导致网络出现漏检现象,最终设置每个网格中仅有一个锚点框,通过kmeans++聚类[17]得到尺寸为长1.39像素,宽6.46像素.1.4 轻量化信息检测网络模型中绝大部分的计算量和参数量通常由卷积层产生,假设输入特征图尺寸为H×W×M,输出特征图尺寸为h×w×N,卷积核尺寸为K×K,对于标准卷积来讲,其计算量(F)和参数量(p)分别为:F=HWMNK2;p=MNK2.分组卷积将输入特征图和卷积核在维度上进行等分,用每组的卷积核与相对应的特征图进行卷积操作,最终将每组得到的特征图拼接起来.若将输入特征通道在深度方向上分为m组,则分组卷积的计算量为HWMNK2/m,参数量为MNK2/m,均为标准卷积的1/m[17-18].将分组卷积引入到YOLO-V3网络中,提出YOLO-G网络.YOLO-G网络在仅保留小目标检测输出层的YOLO-V3基础上,将除第一个3×3卷积之外的其他3×3卷积替换为分组卷积.这一操作将大幅减少模型尺寸,并有助于提高网络的训练和推断速度.经计算YOLO-G网络的参数量为6.375 901×106,计算量为3.77 GFlops,YOLO-V3网络参数量为61.949 149×106,计算量为33.05 GFlops,YOLO-G的计算量仅为YOLO-V3的11.4%,极大地降低了对硬件的要求.深度可分离卷积由分组卷积和逐点卷积组成,因为在分组卷积基础上通过1×1卷积进行了通道间的信息融合,所以尽管增加了更多的计算量,但深度可分离卷积,往往比分组卷积能达到更好的特征学习能力.深度可分离卷积的计算量为HWMK2+HWMN,参数量为K2M+MN,因此深度可分离卷积在计算量与参数量上都为标准卷积的1/N+1/K2[19].在仅保留YOLO-V3的小尺度输出层,以及输出层的每个网格只设置一个锚点框的基础上,通过引入深度可分离卷积对调整后的网络进行轻量化处理.采用深度可分离卷积代替标准卷积,从而达到降低模型的参数量、计算量与模型大小,加速网络训练及检测速度的目的.与YOLO-G网络设计方式相同,将调整结构后的YOLO-V3网络中除第一个3×3卷积之外,利用深度可分离卷积替换掉其他所有3×3卷积.YOLO-D与YOLO-V3网络的参数量分别为1.251 119 7×107和6.194 914 9×107,计算量分别为7.05 和33.05 GFlops.而YOLO-D的计算量仅为YOLO-V3的21.3%.2 实验及分析实验环境如下:CPU为Intel(R) Core(TM) i7-8700K CPU@3.70 GHz,显卡GTX1070Ti,Linux操作系统.使用Pytorch深度学习框架.2.1 实验数据集及图像预处理将特种设备企业实际生产车间中的焊缝胶片数字化,共获得897张焊缝图像,以此为基础建立X射线焊缝图像数据集.因数据集图片数量较少,故利用数据增强技术对数据集进行扩充.通过采用改变图像亮度和对比度最终得到2 691张图像,并按照9∶1将图片分为训练集和测试集.网络的图像输入尺寸为416×416,但焊缝图像均为长方形,且尺寸大小不一,因此在输入图像到网络之前须对图像进行预处理.图2(a)和(b)为两种不同形状类型的胶片,图2(c)和(d)分别为归一化之后的图片.将图像长度方向整体缩放至416个像素,并通过补0操作使其在宽度方向上也成416个像素,以此作为网络的输入图像.这样可以使得图像长宽比不变,达到保持检测对象不变形的目的.10.13245/j.hust.210106.F002图2图像尺寸归一化2.2 评价指标为了定量分析各个网络的性能,使用指标准确率(rp)、召回率(rc)和检测速度(v)进行衡量,rp=TP/(TP+FP);rc=TP/(TP+FN),式中:TP为检测正确的数量;FP为检测错误的数量;FN为漏检的数量.检测速度为每s可以处理的图像数量.2.3 识别标记检测方法实验对比训练轮数设置为300,优化器选择自适应学习率参数更新算法(Adam),学习率初始值为0.001,每次更新后的学习率衰减值设为0.000 5.使用数据集对基于深度可分离卷积的YOLO-V3网络(YOLO-V3+DSC,设置3个锚点框,保留3个检测层)进行训练,最终得到训练过程中各预测层的分类精度曲线,如图3所示.图中n为迭代次数.可以看出:小目标检测层的分类准确率远优于中目标检测层与大目标检测层.10.13245/j.hust.210106.F003图3YOLO-V3+DSC网络各预测层的分类精度曲线因胶片内检测对象的大小相近,故可以推断出3个目标检测层同时在预测相等大小的目标,但分类精度的巨大差异表明了仅小目标检测层有必要保留,另外两个检测层为冗余的分支.为了进一步验证锚框个数调整的有效性,利用训练集基于YOLO-D网络进行训练.该网络仅有一个小目标预测层,且预测层的每个网格仅产生一个锚点框,并在此基础上增加至3个锚点框进行对比网络实验.将训练过程中每个batch产生的Loss值相加,得到各自训练过程产生的Loss值总和,1个锚点框的YOLO-D网络Loss值总和为2.338 603 71×104,3个锚点框的YOLO-D网络Loss值总和为2.370 102 34×104,因此可以定量地得出一个锚点框网络在训练过程中产生的Loss值总和更少,说明减少锚点框个数后的网络训练过程更优,更适合识别标记任务检测.在数据集上对YOLO-V3网络,单尺度单锚点框YOLO-V3,YOLO-V3+DSC,YOLO-G,YOLO-D,SSD和快速R-CNN进行训练,最终在测试集上得到不同网络在识别标记检测任务上的结果,如表1所示.10.13245/j.hust.210106.T001表1不同网络在识别标记检测任务上的结果网络模型准确率/%召回率/%训练时间/min测试时间/s批大小检测速度/(帧·s-1)模型大小/MiBYOLO-V375.6072.85960.409.31629248.1单尺度单锚点框YOLO-V393.1292.78721.079.00630248.0YOLO-V3+DSC67.1967.03902.958.9463050.5YOLO-G93.6393.22525.158.4083225.8YOLO-D94.9294.74660.978.3563250.4SSD98.1786.495 153.7813.971019288.3快速R-CNN97.1896.032 546.8720.53213485.7可以看出:YOLO-D和YOLO-G网络在YOLO系列网络中的准确率分别为94.92%和93.63%,虽然与单尺度单锚点框YOLO-V3的准确率相近,但YOLO-D模型仅50.4 MiB,YOLO-G模型只有25.8 MiB,与YOLO-V3相比分别降低了79.68%和89.60%.可见轻量化方法能够在大幅降低模型大小的同时,有效保障网络的高精度.在调整网络结构之前,YOLO-V3网络的准确率和召回率分别仅为75.60%和72.85%,但采用单尺度单锚点框的策略后,分别提升到了93.12%和92.78%.YOLO-V3+DSC网络为YOLO-D调整结构前的模型,同样可以看出:仅保留小目标输出层与设置单个锚点框可以极大地提高网络的检测性能.相比于YOLO-V3,YOLO-D的训练时间减少了31.18%,YOLO-G的训练时间减少了45.32%,检测速度均加快了10.34%.尽管SSD的准确率最高,但召回率很低,说明检测的漏检情况严重.快速R-CNN的准确率和召回率都较高,但模型大小分别为YOLO-G和YOLO-D网络模型的19倍和10倍,检测速度也仅为这两种网络的40%,训练时长分别为它们的4.8倍和3.9倍.YOLO-D和YOLO-G均能够在达到模型轻量化的同时,保持较高检测精度和更快的训练及检测速度.在应用中,可以根据实际需要在这两种模型中进行选择,当追求更高的准确率时,可以采用YOLO-D网络,而如果模型轻量化的程度及训练时长更加重要时,那么YOLO-G网络能够很好地完成任务.3 结语对X射线焊缝图像信息检测任务进行研究,将经典的YOLO网络模型与先进的轻量化技术相结合,针对焊缝图像的识别标记检测,提出了精度和模型大小各有优势的YOLO-G和YOLO-D信息检测网络.实验验证:两种网络在保持高检测精度的同时,仍然具有高检测速度和较小的模型规模,极大地降低了对搭载硬件的要求,具有很好的实用性与经济价值.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读