王睿,胡云雷,刘卫朋,李海涛
(1.河北工业大学,天津,300131;2.哈尔滨工业大学,先进焊接与连接国家重点实验室,哈尔滨,150001)
X 射线焊缝检测在管道焊接和连接领域应用广泛[1].针对X 射线焊缝图像底片的质检,更多的是采用人工检测的方式,根据工程师的经验来判断检测结果的好坏,在检测效率和检测标准上会受到主观性的制约.X 射线焊缝图像的检测大多基于主观设定阈值来凸显缺陷特征,焊缝缺陷对比度低,许多时候不易直接提取特征,而且,基于阈值的方式很难对缺陷类型进行定位和分类[2].随着计算机和人工智能的发展,许多学者从传统的主观提取X 射线焊缝图像特征,转向用自动学习的方式提取X 射线焊缝特征[3-4].刘涵等人[5]采用卷积神经网络 (convolutional neural networks,CNN)和Softmax 分类器,研究了基于石油钢管场景下的焊缝的缺陷检测与识别.樊丁等人[6]改进了模型中的指数线性单元(exponential linear unit,ELU)函数,来识别焊缝X 射线图像的缺陷.谢经明等人[7]通过减少X 射线焊缝识别网络的检测层数,提高卷积神经网络的推理速度.
卷积神经网络通过反向传播学习缺陷特征,通过数据提高模型的鲁棒性,利用卷积神经网络可以有效解决X 射线焊缝缺陷自动检测问题.目标检测的主要算法包括以Faster R-CNN[8]系列为代表的两阶段目标检测算法和以YOLO[9]系列为代表的一阶段算法.从焊缝缺陷检测的已有研究来看,焊缝自动辨识技术的研究建立在高性能计算机之上[10],所提出的算法参数较多、权重较大、训练较慢,更多考虑的是模型单方面性能,缺乏对硬件资源的全面考虑.
针对以上问题,结合X 射线焊缝缺陷检测任务特点,算法基于YOLO 目标检测框架,引入轻量级的倒残差结构[11],加快缺陷信息在边缘硬件上的传播效率.采用多尺度预测机制,精准识别不同缺陷特征.跨网格扩增缺陷正样本,加快模型训练过程中的收敛速度.最后,通过计算机以及边缘设备进行焊接质检试验,研究轻量级卷积神经网络的检测性能和智能硬件的运行性能.
边缘分布式运算具有实时性、高效性、安全性和低成本等特点[12],试验采用的边缘人工智能(artificial intelligence,AI)检测器的核心部件为K210 芯片,芯片功耗为0.3 W,主要负责图像检测、控制器运算和数据处理.K210 是RISC-V 双核64 位CPU,支持机器视觉多模态识别,具有神经网络硬件加速器,其处理器运算能力为1 TOPS,相比于拥有128 个CUDA 单元的Jetson Nano,K210 芯片具有良好的性能指标和更低廉的价格.
系统部署流程如图1 所示,首先组成适用于提取缺陷特征的数据集,通过深度学习中卷积神经网络构建检测模型,训练出来的模型文件通过勘智官方提供的工具链转换成K210 芯片支持的KModel格式,转换后的模型烧录进边缘识别设备.
图1 系统部署流程图Fig.1 Flow chart of system deployment
具有辨识能力的嵌入式设备可以对焊缝图像进行区域性检测,安装在检测器前方的摄像头将缺陷图片信息传递给K210 芯片,芯片利用自身神经网络加速器处理输入图片,最终获得目标位置类别等处理结果.通过物联网模块进行MQTT 协议通信,连接物联网云平台并上传设备状态信息,云平台统计边缘AI 设备的状态信息,方便工程人员观察统计X 射线焊缝缺陷信息.把边缘硬件验证算法和云端数据存储相结合,极大增加了缺陷识别系统的鲁棒性.
复杂模型在工业场景或低端设备上难以被使用,工程设计需要采用更加轻量的网络形式,卷积网络不仅要在性能和模型大小之间进行衡量取舍,同时要考虑勘智官方工具链对网络结构的支持.YOLO-M 是基于格子预测,相比较于先产生候选区域,再生成候选框的双阶段算法,其不仅有更快的检测速度,也具有良好的准确率.如图2 所示,针对焊缝缺陷多尺度的特征,从3 个不同输出层对X 射线焊缝缺陷进行检测,网络可以更好地辨别缺陷特征.
图2 YOLO-M 架构图Fig.2 YOLO-M architecture diagram
考虑到边缘设备的加速器结构和计算效率等问题,为了充分满足K210 边缘设备的需求特点,算法的主干网络采用轻量的线性瓶颈的倒残差结构,从而实现在不同图像细粒度上聚合并形成图像特征.随着神经网络的训练,网络的参数不断更新,预测层结果不断接近目标真实结果,训练结束后卷积神经网络的参数达到最佳,通过最佳参数的模型实现焊缝辨识任务.
如图2 所示,主干网络采用倒残差(inverted residual)结构,倒残差先使用1 × 1 的卷积(convolution,Conv)结构,目的是将低维空间映射到高维空间,增加维度后采用分离提取的方式来提取特征,由于将传统的卷积改为了分离提取的方式,使得网络的计算量和参数大幅减少,线性瓶颈的倒残差结构的中间层可以增加通道数来提取更多特征,更好的识别X 射线焊缝缺陷信息.对于低维空间图片信息而言,进行线性映射会保存X 射线焊缝缺陷特征,而非线性函数会影响缺陷信息的传递,残差结构两边的维度信息通道数都比较少,可以认为是“低维向量”,所以后面线性激活选择大小为1 ×1 的卷积核.倒残差结构可以增加缺陷信息在不同层级之间的传播能力,保持目标向量信息传输,有着更好的内存使用效率.一个瓶颈块的操作运算F(x)可以表示为3 个运算操作的组合.
式中:A为 线性变换函数;N为卷积的每个通道非线性变换函数;B为输出域的线性变换函数;x为卷积运算输入.
如图3 所示,深度可分离卷积(deep separable convolution,DSC)将传统的卷积提取特征的过程分解为两部分,首先对输入每个通道的图像信息采用轻量级的单通道滤波器,分别提取不同信息,然后通过逐点卷积组成新的图像信息.在达到同样的输出效果的同时,采用分离提取的方式比传统卷积参数减少8~9 倍.
图3 深度可分离卷积模型Fig.3 Deeply separable convolution model
在X 射线焊缝缺陷检测训练任务中,YOLOM 网络通过k-mean 聚类产生适合焊缝缺陷的先验框,目的是对预测焊缝缺陷识别框进行约束,根据预测头的结构特点,在最小的特征图上,其单位面积内的图像感知范围最大,应用最大尺度的先验框,适合辨识尺度较大的目标.在最大的特征图上,其单位面积内的图像感知范围最小,应用最小尺度的先验框,适合辨识尺度小的目标.
YOLO-M 网络输出三维特征来表达缺陷坐标x和y、宽度w和高度h、缺陷置信度、缺陷类别.其中,缺陷坐标x和y、缺陷宽度w、高度h经先验框微调与真正的目标缺陷图像重合,置信度信息判断是否存在目标缺陷,缺陷类别信息判缺陷类型.通过网络训练得到最优损失函数,损失函数L由边框信息损失函数Lbox、目标置信度损失函数Lobj和目标分类损失函数Lcls组成.网络中置信度预测和类别预测均采用二分类交叉熵损失LBCE(binary cross entropy loss,BCE),边框回归采用Complete IoU(CIoU) loss[13].
式中:tx,ty,tw,th为归化后的坐标和宽、高度信息;gx,gy,gw,gh为 标注框的坐标和宽、高度信息;cx,cy为预设先验框的左上角坐标信息;pw,ph为预设先验框的宽、高度信息;bx,by,bw,bh为网络输出的坐标和宽、高度信息;σ为Sigmoid 归一化函数[9],加快模型收敛;n为输出信息数量;ti为 目标信息;oi为输出信息;L为模型损失函数;Lbox为边框信息损失函数;Lobj为 目标置信度损失函数;Lcls为目标分类损失函数.
为了增加焊缝缺陷正样本和加快网络的收敛速度,如图4 所示,网络采用跨网格的预测机制,模型基于网格预测,缺陷中心点所在的网格负责预测缺陷,同时增加相邻网格作为负责预测缺陷的网格,通过跨网格策略极大提高了网络训练时的收敛速度.网络训练中采用数据增强策略,随机拼接缺陷图片,增强小目标的检测能力.每一个网格生成3 个先验框,先验框通过调整生成目标框,在输出真正目标框之前,模型通过目标框分数特征信息筛选和保留最优目标框.
图4 预测机制Fig.4 Prediction mechanism
训练算法和验证算法的数据集由GDXray 公共数据库[14]和中国石油天然气管道科学研究院提供的缺陷底片样本共同组成.从联合数据集中获取2 070 个具有相同大小的不同缺陷裁剪补丁,图像的尺寸为128 像素 × 128 像素.图5、图6、图7 和图8 分别为裂纹(crack,CR)、气孔(porosity,PO)、未焊透(lack of penetration,LOP)、未熔合(lack of fusion,LOF)缺陷图像检测过程可视化.X 射线焊缝缺陷图像具有模糊、多尺度等特征,其中,裂纹缺陷大小不一,未焊透缺陷对比度极低,未熔合缺陷长宽对比大,气泡缺陷相对微小.
图5 CR 图像检测过程可视化Fig.5 Visualization of CR image detection process.(a)input;(b) output;(c) confidence;(d) class
图7 LOP 图像检测过程可视化Fig.7 Visualization of LOP image detection process.(a)input;(b) output;(c) confidence;(d) class
图8 LOF 图像检测过程可视化Fig.8 Visualization of LOF image detection process.(a)input;(b) output;(c) confidence;(d) class
3.2.1 评价指标
以下指标评估网络的综合性能,例如准确率(average precision,AP)、平均准确率(mean average precision,mAP)、每秒帧数(frames per second,FPS)、模型参数(model parameters,MP).
式中:YAP为 准确率;YMP为 模型参数量;NTP为检测结果正确的图片数量;NFP为检测结果错误的图片数量;c为卷积输入通道数;n为卷积输出通道数;h,w为卷积核的高度和宽度;1 为偏置因子.
3.2.2 结果可视化
卷积神经网络是黑盒模型,通过可视化输出层的方式验证网络的效果.卷积神经网络输出三维向量,每一层的二维向量都代表不同含义,如图5~图8所示,其中图5~图8 中b 图为可视化缺陷检测结果,包括缺陷位置框,缺陷类别和置信度分数.图5~图8 中c 图为可视化缺陷检测过程中置信度信息层.图5~图8 中d 图为可视化缺陷检测过程中类别信息层.
检测过程中,缺陷图片上会形成特征信息,把特征信息映射到原图片上产生不同颜色,由于是跨网格预测机制,所以缺陷附近也存在不同程度信息,网络筛选分数最优的信息,通过置信度和类别分数的综合评定,网络最终确定缺陷类型.
3.2.3 试验对比
对比试验网络包括主流一阶段目标识别网络、二阶段目标识别网络、多阶段目标识别网络以及基于非边框预测的目标识别网络,在X 射线焊缝缺陷数据集上验证网络的有效性,网络运行硬件的显卡环境为Nvidia Gefore GTX TITAN,对比结果如表1 所示.
表1 焊缝识别效果对比Table 1 Comparison of weld recognition effect
由于裂纹缺陷的尺度不均匀,对比度较小,不同检测网络对于裂纹的识别率较低.具有多尺度检测机制的网络可以更好识别不同尺度缺陷,其中,YOLO-M 网络对于不同类型的缺陷都具有较好的检测效果.特征残差提取结构使得YOLO-M 网络整体参数量极低,模型权重仅为3.6 M,较少的计算量和更高效的残差结构使得网络具有较高的推理速度,在计算机上的前向推理速度为100 帧/s,可以实时检测焊缝缺陷.
由于嵌入式平台的内存限制,只有参数较少的网络才能进行部署.YOLO-M 网络进一步转化为K210 芯片支持的KModel 网络格式,转化后的模型权重仅为3.7 M.识别过程中,由于摄像头传输信息加大噪声对缺陷识别任务的影响,所以使用程序对数据集加入随机的椒盐噪声和高斯噪声,提升网络识别能力.如图9 所示,K210 边缘设备具有良好的识别效果.经过测试,由于试验中摄像头采集性能的限制,K210 设备上的网络检测速度为11 帧/s,检测准确率为93.5%.
图9 嵌入式设备和检测结果Fig.9 Embedded device and detection results.(a) K210 development board;(b) bubble defect detection results
(1) YOLO 系列检测模型的计算量主要集中于主干网络,采用倒残差结构减少模型参数量,加快了缺陷特征提取速度,模型参数量仅为3.6 M.从训练可视化图得出,多尺度检测网络可以学习缺陷信息,识别不同焊缝缺陷.
(2) 由于裂纹缺陷的尺度不均匀,对比度较小,不同检测网络对于裂纹的识别率较低,需要不断扩增数据集,提高网络的拟合能力.
(3) 在勘智K210 设备上进行试验,YOLO-M 网络检测准确率为93.5%,检测速度为11 帧/s,该网络可以检测小目标缺陷.试验结果证明了低成本焊缝自动质检的可行性,所提方法可结合数字射线成像检测设备进行缺陷质检试验.