APP下载

焊接质量智能检测系统设计

2022-05-12吕开旺王明睿

制造业自动化 2022年4期
关键词:锚定卷积特征

吕开旺,王明睿,田 禛,曹 翀,苏 赞

(1.北京机械工业自动化研究所,北京 100120;2.北京机械工业自动化研究所有限公司,北京 100120)

0 引言

随着计算机视觉和工业智能的不断发展,产品成像已成为收集生产信息、质量监测,产品回溯的重要方法。计算机视觉技术越来越受到工业专家的关注,高精度、实时的视觉检测系统得到了广泛的研究。在工业检测领域,多采用研究人员手工设计的特征提取器来提取轮廓特征。然后,根据提取的特征,使用支持向量机等分类器对目标进行检测[1]。但由于手工设计的特征提取器特性不完善,泛化能力较差,难以适应工艺技术的复杂变化,不利于其在实际工业场景中的应用。

目标检测是计算机视觉的一个子领域,在目标检测领域,基于深度学习的方法正逐渐显露出它的优势,开始彻底改变计算机视觉识别事物的方式。自引入神经网络以来,目标检测的速度和精度均有了显著的提升,已经成为从图像中提取特征的有效方法[2]。当前,目标检测算法主要可分为两类:基于区域建议的算法识别精度较高,如R-CNN,Fast R-CNN和Faster R-CNN等,而基于回归网络的算法在识别速度上有很大的优势,典型的如SSD和YOLO算法[3]。虽然R-CNN系列算法的检测精度比较准确,但该算法通常需要高性能的计算单元来进行推理,无法达到实时处理分析的速度,对于典型的工业生产场景并不实用。通用目标检测应该是快速、准确的,并且能够方便的部署到工业设备中。

本文应用了目前实时处理速度最快的目标检测算法YOLO,基于激光焊接数据集进行训练,对训练好的算法模型进行验证,通过量化和剪枝等操作,将模型压缩转化后,部署到移动端设备,对预测结果进行了检验,检测精度几乎没有损失,实时性较高,对于工业场景的部署有一定的借鉴价值。

1 目标检测算法YOLO

YOLO算法在2015年被Joseph提出,它将目标检测重新定义为一个单一的回归问题,直接从图像像素数据提取出目标的边界框坐标和类概率。使用训练完成的YOLO算法模型,只需“看”一次图像就可以预测出物体的位置。YOLO算法非常简单,单个卷积网络可以同时预测多个边界框和这些框的类概率。YOLO算法不同于R-CNN系列,采用回归网络直接进行预测,它将输入图像进行栅格化处理,分成相等大小的多个区域,若被检测物体的中心包含于某个网格区域中,则该区域的边界框负责预测物体的位置[4]。

由于YOLO算法将整个图像作为整体预测,因此它的输出结果是根据图像中的全局特征语义信息而来的,降低了将背景误检测为目标的概率。此外,YOLO算法还采用单个网络评估进行预测,这与R-CNN等算法不同,该方法大大减少了数据需求量和训练轮数,加快了网络训练效率[5]。

目前Joseph已经将算法更新到YOLOv3版本,该算法构思可分为产生候选区域和提取特征两个部分[6]:

1)算法按设定好的规则在图像上产生多个备选区域,根据目标实际标注框对这些区域进行判别比对,与实际标注框距离足够接近的作为正样本,偏离值较大的作为负样本,负样本不参与预测和标注过程[7]。

2)采用神经网络对输入图像进行特征提取,对算法判别为正样本的备选区域进行预测和标注,结合目标真实的标注框和类别,建立损失函数[8]。

算法训练流程如图1所示。

图1 训练流程图

YOLOv3的主干网络为Darknet53,算法通过主干网络进行一系列的卷积操作提取图像特征,引入残差网络Residual,有利于深层次的特征提取[9]。考虑到在不断卷积的过程中,虽然提取了更多的特征信息,但损失了目标的位置信息。因此YOLOv3将三层特征层进行输出,对不同的特征层进行堆叠拼接,用于构建特征金字塔FPN,从而整合不同层次的语义信息,进而更有效的提取特征[10]。网络结构如图2所示:

图2 YOLOv3网络结构

2 改进的YOLO算法

由于YOLO算法发明者Joseph担心算法被用于军事或其他危害到人类的研究中,带来不好的影响,因此停止了对于该算法的研究。目前的研究成果都是其他研究人员在YOLOv3的基础上提出了自己的改进思路,每年都有更好、更新,更先进的目标检测器被发布,但由于这些检测器是针对通用数据集(如COCO数据集)进行训练的,因此在激光焊接数据的目标模型上无法展示出最好效果,还存在着很大的提升空间。

本文主要研究焊接质量检测问题,焊接缺陷具有小目标的特征,而且在移动端设备部署需要考虑实时性和算力问题[11],因此需要对原检测模型进行针对性的改进,本文从锚定框,特征层卷积核和多尺度特征等方向进行了改进。

2.1 锚定框

设置适合的锚定框有助于提高算法对数据集目标匹配的准确性[12]。对于不同的数据集,需要重新设定锚定框的大小,使其更有效的对目标进行检测。YOLOv3中直接估计锚定框中的四个参数值:位置x、y,高度h和宽度w,就是把四个参数当作分散的自变量来处理,实际上并没有考虑到不同变量之间的关联性。计算公式如下:

本文选用了联合标定框方法(UnitBox),它采用了一种新颖的损失函数来预测锚定框[13]。IoU损失直接计算预测的锚定框与真实标注框的最大重叠率,它将边界框定义为一个四维的向量,将所有边界变量作为一个整体回归,不断迭代,最终得到适合数据的锚定框。

损失计算公式如下:

其中X=(XL,XR,XT,XB),Y=(YL,YR,YT,YB),具体参数如图3所示。

图3 图像标注框的损失计算

图中红框为真实标注框,绿框为预测框。其中O点为目标中心点,每个框的四个参数为目标中心点到边框上、下、左、右的距离。

2.2 特征层卷积核

如图4所示,输入图像在经过YOLO卷积特征提取后,最终输出预测对象的特征张量,原YOLOv3是针对COCO数据集的卷积计算,共输出3×(80+4+1)=255个特征信息[14]。特征信息可分为三个边界框的信息,每个边界框的85个特征信息为4个坐标信息:位置x、y,高h和宽w,边界框中是否含有目标,以及预测目标属于80个类别的概率。

图4 输入图像特征卷积

本文焊接数据的类有6个:完好、焊偏、未焊满、气孔、夹渣和裂纹,故可以调整YOLOv3卷积层的卷积核为:3×(6+4+1)=33。

2.3 多尺度特征

信息在神经网络中的传播方式是非常重要的,原YOLOv3算法中采用多尺度特征构建特征金字塔FPN,但不同层次之间的特征关联路径较长,增加了获取精确定位信息的难度[15]。为了解决这个缺陷,路径聚合网络PANet设计了简单而有效的组件来增强特征网络中的信息传播,整体框架如图5所示[16]。

图5 PANet框架图

其中图5(a)为FPN骨干网络,图5(b)为路径扩展,图5(c)为特征融合,图5(d)为特征输出。

PANet对路径进行了扩展,可以有效利用底层位置特征信息,对比于FPN,PANet缩短了特征关联路径,增强了多尺度特征信息的整合,且对计算的影响很小,故本文采用PANet来构建特征金字塔,用于提升算法识别目标的准确性。

3 检测系统搭建

检测系统的搭建流程图如图6所示。

图6 检测系统部署

检测系统的搭建包含四个重要节点:制作数据集,模型训练,模型压缩和移动端部署,其中制作数据集和模型压缩最为关键。

3.1 制作数据集

数据集对于模型的训练效果是极为重要的,但在工业生产中,缺陷样本相对于正常样本的数据量较少,不利于算法训练提取特征,故可以采用数据增强的方式扩展数据集,增加输入图像的可变性,也有利于提高算法模型的稳定性。常见的数据增强方式有光学失真和几何失真两种[17]。

光学失真包括:改变图像的亮度、色温、饱和度、对比度和增加噪点等。

图7 光学失真示例

几何失真包括:旋转图片、翻转、裁剪和缩放等。

图8 几何失真示例

本研究通过对现场的焊接图片进行采集,筛选适合深度学习的图片,根据不同的缺陷类型进行划分,并对其进行数据增强操作,各种缺陷的样本数量尽量保持均等,最终制作好的数据集分布如表1所示。

表1 数据集分布

3.2 模型压缩

部署于工业环境下,要为低功耗的嵌入式系统对模型进行压缩。对模型压缩的方法有定点量化,网络剪枝和知识蒸馏等操作[18]。

定点量化是将精度较高的浮点数转化为精度较低的定点数[19]。使用定点量化的计算有助于降低计算所需的资源,加快模型的运行速度,也有助于减少存储占用,降低功耗。

网络剪枝的方式是去除神经网络中不重要的部分和多余的权重值。

知识蒸馏是通过引入复杂但计算精确的网络来监督训练精简的神经网络,实现知识迁移。知识蒸馏有助于以更小的模型完成复杂模型的输出。

以上三种方式都有助于减少算法对于高性能计算单元的依赖,使得模型可以在硬件配置较低的移动端运行。

4 实验验证

本文采用5000张焊接图片,训练轮数为50000。在测试数据集上对比了原YOLOv3算法和改进的算法的效果,然后在整个数据集上测试了移动端部署检测系统的准确率,数据如下所示。

从表中数据可以看出,在平均精度指标AP中,T-YOLOv3算法为89.4%高于YOLOv3算法的83.6%,在不同尺度下的精度指标也均优于原YOLOv3算法。在召回率指标AR中,YOLOv3为59.9%低于改进的算法的67.3%。在检测速度上,本文所述算法T-YOLOv3也优于经典YOLOv3算法。

对于不同的缺陷类型,两种算法的识别情况如表3所示。

表2 两种算法准确性对比

表3 五种缺陷算法准确性对比

由图9中数据可以看出,改进后的算法在检测缺陷上的准确度均有不同程度的提升。在特征比较明显的焊偏和未焊满上,算法的识别准确度最高,较小的特征点如气孔,识别准确度也提升到80%以上。

图9 两种算法目标检测结果

5 结语

本文基于YOLOv3算法,提出了一种针对于焊接质量检测的改进算法,对算法的锚定框,特征层卷积核和多尺度特征进行了改变,增加了检测小目标焊接缺陷的成功率。将训练好的模型进行压缩转化后,最终在移动端进行部署,验证了算法的准确性和实时性。采用深度学习算法,训练出的检测模型泛化能力强,可以适应工业灵活的生产方式。对模型进行压缩,避免了对高性能计算单元的依赖,转化为对应环境的可执行文件,可以方便快速的在工业场景中部署。

本文检测系统仍存在一些不足之处,距离真正的实时分析处理还有差距。如何更好的优化网络,降低模型大小,减少计算量,提高实时检测速度,是未来学习的主要研究方向。

猜你喜欢

锚定卷积特征
根据方程特征选解法
锚定“四个一流”监督护航高校发展
离散型随机变量的分布列与数字特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
管道封堵机器人锚定装置设计与分析
锚定转型目标 奋力争先进位——“两会”上的农谷声音
卷积神经网络的分析与设计
双起升岸桥吊具锚定故障及其应对措施
从滤波器理解卷积
不忠诚的四个特征