李光耀,刘 枭,赖 铭,蒋 浩,崔俊佳
(湖南大学汽车车身先进设计制造国家重点实验室,长沙 410082)
轻量化技术是现代工业发展的重要趋势,已被广泛应用于飞机工业中。飞机轻量化不仅可以减少油耗成本,降低排放,还可以提升飞机推重比以实现更强的运载能力。使用铝和碳纤维等轻质材料替代传统的钢材,可以有效地实现结构轻量化,但铝、钢等材料之间的物化属性差异,导致它们之间的连接面临挑战[1–3]。磁脉冲连接技术是一种利用电磁感应现象产生的电磁力来实现快速变形连接的高能率动态连接技术,具有环保、节能、高效等优势,适合铝钢等异种材料的连接。但是目前磁脉冲压接件的检测主要依靠人工目测度量方法,需要受过培训的工人依靠目测估计或使用游标卡尺等测量工具对工件关键特征进行测量,该方法人力成本高且难以实现自动化。计算机视觉技术作为一种高效、易于实现自动化的检测技术,近年来逐渐被应用到工业检测和自动化监测中[4]。Xiao 等[5]提出了一种基于机器视觉技术的在线尺寸精度测量方法,通过感兴趣区域(ROI)截取工件图像,使用图像去模糊、去噪和边缘检测算法来提取锥形旋转工件的边缘,试验表明,该测量方法测量结果与精度3μm 的3D 测量机测量结果相对误差小于10%,直线度和圆度的平均检测时间分别为98.5ms 和69.3ms,但是该方法需要借助专门的定位装置来实现ROI区域截取,不利于实现自动化。吕尧等[6]提出了一种基于机器视觉技术和模板匹配的非接触式轮毂装卡位置精确测定方法,使用模板匹配算法实现初定位,然后运用双特征位置精确测定方法计算轮毂位置误差和装卡位置误差,试验表明,该测量系统能满足轮毂自动化加工位置检测的性能要求。韩天雨等[7]基于机器视觉技术和模板匹配设计了一种低成本、高精度的丝杆螺距测量系统,该系统使用基于模板的拼接方法获得完整的丝杆图像,并使用图像处理方法计算出螺距误差,试验表明,该系统对3 种型号的滚珠丝杆螺距测量结果的精度误差分别不超过0.04%、0.06%和0.09%,可以看出,基于模板匹配算法的视觉测量技术能够达到较高的检测精度,但模板匹配算法对检测环境变化非常敏感,一般需要辅助照明和定位装置来保持检测环境不发生变化,部署在工业上的难度相应也会提高。刘之远等[8]针对钣金类零件设计开发了一套基于双目视觉和线结构光的钣金件边缘检测系统,基于激光条纹中心点提取算法、点云实时拼接算法、全局光束平差优化算法实现了手持式钣金件厚度的测量,试验表明,该测量系统平均检测误差约为0.04mm,标准差约为0.03mm,可以看出,引入线结构光技术可以实现更具鲁棒性和准确性的视觉测量,但线结构光的工作环境要求较为严苛,部署在自动化生产线上有一定的难度。
随着深度学习和卷积神经网络的发展,使用卷积神经网络的目标检测算法表现出极高的检测鲁棒性和检测效率,基于卷积神经网络的视觉检测方法也逐渐被应用于视觉检测任务之中[9–10]。赵子婧等[11]针对复杂城市道路下的交通标志检测问题提出一种基于改进Libra R–CNN 检测网络的检测方案,验证了所提出的方案检测性能得到较大提升,实现了高鲁棒性的目标级别的检测,但无法实现数据级别的测量。赵建敏等[12]提出了一种基于Kinect V4 传感器的牛体尺寸测量方法,采集彩色和深度图像,结合目标检测、Canny 边缘检测、三点圆弧曲率拟合进而计算体尺数据,实现了高鲁棒性的数据级别的测量,但是该方法高度针对牛体形貌特征,算法无法应用到磁脉冲压接件检测任务中。
磁脉冲压接件在线检测需要高精度、高鲁棒性、快速地实现关键特征数据级别的测量,并且应尽可能减小检测系统的部署难度和部署成本。针对磁脉冲压接管件在线检测问题,本文提出了一种基于改进YOLOv4–Tiny(You only look once v4–Tiny)检 测 网络和自适应图像处理的磁脉冲压接管件接头深度在线检测方法,使用改进YOLOv4–Tiny 算法提取工件关键区域,进而使用自适应图像处理算法提取压接管件压接深度。算法检测结果精度高、速度快,不需要定位夹持装置,易于部署在实际生产线上。
磁脉冲管压接技术的设备和连接原理如图1所示。压接步骤主要可以分为3 个阶段:(1)放电装置储能并释放指定能量的脉冲电流到线圈之中;(2)集磁器感应出流向相反的脉冲电流及变化磁场;(3)金属外管感应出与集磁器感应电流流向相反的脉冲电流,并在集磁器感应出的变化磁场中受到径向向内的电磁力,外管在电磁力的作用下发生缩径变形完成压接。
图1 磁脉冲压接设备及原理图Fig.1 Equipment and schematic of magnetic pulse crimping
从磁脉冲管压接的原理可以看出,磁脉冲压接管件的性能与压接区域的状况高度相关,包括是否有缺陷和轮廓形状。由于磁脉冲管压接技术重复性很好,管件轮廓形状非常相似,在没有明显缺陷的情况下,压接深度便可以反映压接区域的轮廓形状,因此可以通过测量磁脉冲压接管件的压接深度来实现质量检测。本文采用的视觉检测平台如图2所示,主要包括3 个部分:图像采集模块(CMOS 工业相机、光源、视觉支架)、工控电脑以及检测台。图像采集模块通过调整照明强度和相机工作距离来拍摄细节清晰可用的工件图像;工控电脑负责对拍摄的工件图像进行算法处理,计算得到压接深度;检测台用于承载工件完成图像拍摄。
图2 视觉检测平台Fig.2 Platform of vision detection
本文结合改进YOLOv4–Tiny 和自适应图像处理算法,提出了一套磁脉冲压接管件在线检测算法。算法主要流程如图3所示,包括图像采集、改进YOLOv4–Tiny 压接区域提取、自适应图像处理3 个模块:(1)图像采集模块负责调整光照环境并采集原始图像送入改进YOLOv4–Tiny 压接区域提取模块中;(2)改进YOLOv4–Tiny 压接区域提取模块使用自采集的数据集和在线数据增强技术完成模型训练,实际检测时,直接对工业相机采集得到的图片进行推理计算,得到磁脉冲压接管件压接区域并裁剪得到压接区域图像;(3)自适应图像处理模块使用中值滤波平滑裁剪得到压接区域图像,利用自适应分割算法分割出工件图像,采用Canny 算法提取轮廓边缘,对边缘使用概率霍夫变换提取得到母线方程,进而逐像素点计算距离得到工件压接深度。
图3 算法流程图Fig.3 Algorithm flow diagram
1.2.1 改进YOLOv4–Tiny 检测网络
(1)模型结构优化。YOLO 目标检测网络是一系列开源的单阶段端对端的目标检测算法,经过训练的目标检测网络可以对输入的图像进行推理运算并直接输出目标边界框,兼具高效率和高精度[13–16],被广泛应用于工业质量检测及缺陷检测中。YOLO 目前最新的官方版本为YOLOv4,按模型参数量从大到小有YOLOv4–Large、YOLOv4 和YOLOv4–Tiny 3 种版本。其中YOLOv4–Tiny 网络参数量最小,算力要求小,在简单的检测任务上也能保持较高的精度,因此本文选择YOLOv4–Tiny 作为压接区域检测网络。同时为了保障网络的检测精度,在网络的尾端引入高效通道注意力(ECA)模块对网络进行改进。
如图4所示,ECA 模块[17]是一种轻量的通道注意力模块,该模块通过1 个全局平均池化(GAP)、1 个快速一维卷积(Conv_1d)以及Sigmoid函数 (σ)获得了注意力权重。其中Conv_1d 的卷积核长度k由启发方程获得:
图4 ECA 模块原理图[17]Fig.4 ECA module schematic[17]
式中,|x|odd为选取x最近的奇数;γ和b为调整系数,用于调整k的大小,取值分别为2 和1。
Sigmoid 函数可以将输入映射到(0,1)之间,从而生成权重。其函数方程为
引入ECA 模块后的改进YOLOv4–Tiny 网络结构如图5所示,与传统YOLOv4–Tiny 网络相比添加了3 个ECA 模块。
图5 改进YOLOv4–Tiny 网络结构图Fig.5 Improved YOLOv4-Tiny network structure diagram
(2)在线数据增强。为提升模型训练效果,本文采用在线数据增强技术,训练数据每次输入模型前会进行一次随机的数据变换,从而增加训练数据量,提高训练模型的鲁棒性。本文采用的数据增强技术如图6所示,主要包含3 种变换:随机裁剪、随机翻转和HSV 色域变换。随机裁剪会从原始图像中随机位置随机大小地裁剪出一部分图像作为新的训练数据;随机翻转会随机性地选择是否对原图像进行水平翻转或竖直翻转;HSV 色域变换则会随机地改变图像的色调(H)、饱和度(S)和明度(V)。
图6 在线数据增强示意图Fig.6 Diagram of online data enhancement
(3)压接区域提取。磁脉冲件压接区域的边界并不明显,可能的标注框非常多。若直接对完整的压接区域进行标注很难做到前后统一,从而导致模型精度下降、训练困难。为了保证数据集标注的精度,本文利用压接区域中的凹槽进行较为精确、统一的标注。图7为人工直接标注法和本文标注方法示意图。本文标注方法主要有两个步骤:先标注出唯一的凹槽区域;然后将凹槽区域的长和宽扩展两倍得到完整的压接区域,从而得到最终的标注框。
图7 标注方法示意图Fig.7 Annotation method schematic
1.2.2 自适应图像处理算法
将图像处理方法应用到工业生产中可以实现快速精确的特征测量。但目前主流的视觉测量方法通常是根据生产环境和待检测工件的特性进行针对性的设计。一旦工件的材料、光照条件发生了波动,测量方法的精度就会受到很大影响。针对这一问题,本文采用一种自适应的图像处理方法对工件压接区域的压接深度进行提取。该方法流程如下。
(1)对压接区域图像进行自适应阈值分割。首先对裁剪得到的压接区域图像进行中值滤波平滑图像去除细小噪声,然后计算图像的灰度直方图,如图8所示。由于平行光源照明的特点,背景像素的灰度值普遍相似度较高,且都在低灰度值区域。所以背景像素集中在灰度直方图的低灰度值区域中,形成了一个像素值“山峰”。
图8 图像灰度直方图Fig.8 Image gray histogram
根据图像的灰度值特点,本文提出一种自适应阈值选择算法,自动地选择像素山峰的右峰底作为分割阈值,这样便可以将黑色背景像素去除而保留工件像素。分割阈值算法流程如下。
b.从0 到255 遍历灰度直方图的灰度值,计算每一步灰度值的变化,如果灰度值增加到了,则认为开始爬峰。
c.继续遍历灰度值,直到当前灰度值对应像素数量为最近2n+1 个像素数量中最小的,则认为到达右峰底。将此时的灰度值记为最终分割阈值。其中,n为一个自适应的搜索步长,其值根据图像灰度值的最大值maxH决定:
其中,H为图像灰度值,对一张图片来说,只会有一个maxH。
d.使用该阈值对图像进行硬阈值二值化,灰度值低于阈值的置为0,高于阈值的置为255,得到自适应分割图像,阈值分割结果如图9所示。
图9 自适应阈值分割结果图Fig.9 Result diagram of adaptive threshold segmentation algorithm
(2)Canny 边缘检测算法提取压接轮廓。目前主流的边缘检测算法有Sobel 算子、Robert 算子、Prewitt 算子和Canny 算子。其中Canny 算子相较其他算法具有鲁棒性好、不易受噪声影响的优点[18],因此本文选择Canny算子对分割后图像进行边缘提取,算法流程有以下5 个步骤:
a.使用高斯滤波器平滑原图像,消除细小噪声并确保图像可被求导;
b.利用求导卷积核计算图像各像素点的灰度梯度的方向和幅值;
c.针对图像灰度梯度的幅值进行非极大值抑制,消除冗余梯度;
d.利用双阈值算法连接各边缘点得到最终边缘曲线;
e.使用八连通域面积滤波滤去像素面积少于100 的线条,去除可能存在的图像噪点,得到最终的边缘曲线。
(3)使用霍夫概率直线检测得到母线。得到工件边缘后需要计算压接深度,但由于本算法没有辅助定位装置,因此本文基于霍夫概率变换提出一种高鲁棒性的压接深度计算方法。如图10所示,霍夫变换通过一种投票算法来检测具有特定形状的物体,其核心的思想是建立一个参数坐标系ρ–o–θ。则图像像素点坐标(x,y)可以对应为参数坐标系下的一条曲线ρ=cosθx+sinθy,而图像空间中共线的点所对应的参数坐标系下的正弦曲线一定相交于一点(ρ′,θ′)。将图像坐标系上的所有点都转换为参数坐标系下的正弦曲线,计算所有正弦曲线的交点,满足数量阈值和误差容忍度的交点即为求得的直线参数,进而实现了直线检测。
图10 霍夫变换直线检测示意图Fig.10 Diagram of Hough transform lines detection
随着相机分辨率越来越高,一张图片的像素值都在百万级别以上,传统霍夫变换消耗的时间也随之增加。为了提高霍夫直线检测的效率,本文采用检测速度更快的霍夫概率变换来进行直线检测。其原理与标准霍夫变换相似但不需要对图片中所有的点进行计算,步骤主要如下:
a.随机选择图像中的一个像素点,若该点在已经求得的直线上,则不进行霍夫变换,继续随机选择一个像素点直到所有像素点被选取完毕;
b.对选择的像素点进行霍夫变换,并累加计算;
c.判断霍夫空间中交点数量最大的值是否达到设定阈值,如果高于阈值则检测完毕输出交点对应的线段,否则继续随机选择图像坐标中的点;
d.计算求得线段的长度,如果大于约束条件则保留为直线检测结果之一,否则舍去;
e.重复步骤a~d,直至所有像素点被划分完毕,输出所有满足条件的直线。
(4)计算压接深度。使用霍夫概率变换提取得到工件母线方程后,遍历计算各边缘点到母线的距离,计算得到的距离最大值就是该工件压接深度。压接深度提取结果如图11所示。红色框体为改进YOLOv4–Tiny 检测模型预测出的压接区域边界框,框体上显示的数字则为自适应图像处理算法计算出的压接深度。
图11 压接深度提取算法结果图Fig.11 Result diagram of crimping depth extraction algorithm
表1为本文用以训练及验证的计算平台的详细配置。为了训练验证提出的算法,本文模拟工业生产环境拍摄了470 张磁脉冲压接管件图像。根据光照强度的不同,数据集主要包含4 个类别:低光照数据集、普通光照数据集、高光照数据集和不均匀光照数据集。将采集得到的数据集按1∶4 划分为测试集和训练集。
表1 计算平台配置Table 1 Computer configuration
为了检验本文改进YOLOv4–Tiny 模型的检测性能,使用消融实验方法,分别对YOLOv4–Tiny、YOLOv4–Tiny–Kmeans、本文算法、本文算法+Kmeans 4 种检测模型进行验证。采用交并比阈值为0.5 时的平均精确度 (AP@0.5)和交并比阈值分别取0.5、0.6、0.7、0.8 并求平均的平均精确度 (AP@0.5∶0.8)作为评价指标。AP@0.5 和AP@0.5∶0.8是目标检测算法的一种评价指标。AP@0.5表示预测的边界框和实际的边界框交并比达到0.5 才认为这个预测框为正确样本,按照这个规则绘制PR 曲线,PR 曲线与坐标轴围成的面积就是AP@0.5。AP@0.5∶0.8则是分别计算AP@0.5、AP@0.6、AP@0.7、AP@0.8 并求平均得到的数值。PR 曲线是用来衡量目标检测模型性能的曲线,其横坐标为召回率 (Recall),纵坐标为精准率(Precision)。显然召回率高时,精准率一般就会比较低,反之亦然。因此PR 曲线围成的面积越大,则表示模型越能兼具广度和精度。面积为100%时,意味着召回率和精准率从始至终为100%,无漏检,无错检。使用90 张验证集图像对4 个模型进行验证,计算4 个模型的交并比阈值 (Iou)为0.5、0.6、0.7、0.8 时在验证集上的平均精度值 (AP–val)。图12为4 种网络模型的性能曲线,可以看出引入ECA 注意力模块的改进YOLOv4–Tiny 具有最佳的检测效果;而引入Kmeans 聚类算法对先验锚框进行优化并不能提升检测效果,在验证集上的AP 值反而有所下降,原因可能是本文检测场景中工件的位姿并不固定,所以针对训练集聚类得到的先验锚框并不能很好地匹配验证集,而初始的先验锚框由于考虑了各种形状反而具有更好的普适性。
图12 网络性能曲线图Fig.12 Performance graph of networks
4 个检测模型的模型大小、检测精度、推理时间如表2所示。本文算法通过引入ECA 注意力模块,在微弱增加了0.07ms 推理时间和几乎没有增加模型大小的条件下,将AP@0.5∶0.8 提升了7.9%。
表2 检测模型验证结果Table 2 Validation results of detection models
为了验证本文提出的自适应压接深度提取算法,人工对验证集图像进行标注得到基准边缘,分别使用硬阈值分割算法+Canny、大津法+Canny以及本文算法+Canny 对原始图像进行边缘提取,计算所得边缘与基准边缘的偏差作为算法精度指标。
图13为边缘提取算法在4 种光照条件下的结果图,可以看出,本文算法在4 种典型光照条件下均能精确地实现边缘提取。大津法+Canny算法的组合在高亮度图像上才有一定的检测效果,在其他光照条件下算法求得的边缘与基准边缘都有很大偏差,检测效果不佳。硬阈值算法在3 种均匀光照条件下都可以实现较为精确的轮廓提取,但是该算法需要针对每张图片的灰度值来手动调整阈值,鲁棒性较差,且在不均匀光照条件下表现不佳。
图13 边缘提取结果对比Fig.13 Comparison of edge extraction results
对基准边缘和3 种边缘检测算法提取得到的边缘逐像素进行比对,计算最大偏差、平均偏差。使用同一批验证数据集对3 种算法的单帧运行时间进行计算,得到本文算法边缘提取算法的验证结果如表3所示。可以看出,本文算法在均匀光照条件下 (低亮度、标准亮度、高亮度)精度与手动调参的硬阈值分割+Canny算法相近,且不需要针对图像进行手动调参,算法鲁棒性更强。同时本文算法在不均匀光照条件下也能实现较为精确的边缘提取。相比于硬阈值分割+Canny 算法,本文算法在综合数据集下最大偏差下降了60.6%,平均偏差下降了58.9%,具有更佳的检测性能。运行时间方面,本文算法运行时间有所增加,但单帧运行时间依旧控制在4ms 以内,能够满足工业生产的实时性要求。
表3 边缘提取算法验证结果Table 3 Validation results of edge extraction algorithms
在验证集上挑选4 种光照条件下各10 个样本对完整算法进行验证,无法计算出压接深度的记为漏检样本,将计算出的压接深度与基准深度进行对比得到平均偏差像素、均方偏差以及平均偏差率,并记录下单帧图像从读取图像到运行完整算法得出压接深度的总时间作为速度指标。
表4为总体算法验证结果,本文算法平均单帧运行时间为124.49ms,满足工业生产的实时性要求;且算法在4 种典型光照条件下都能够顺利运行,具有较高的鲁棒性;压接深度提取的平均偏差为0.313 个像素值,均方偏差为0.115 平方像素,平均偏差率为1.35%,即实际压接深度为2mm 时,压接深度提取算法的平均偏差为0.027mm,具有较高的检测精度。
表4 总体算法验证结果Table 4 Validation results of whole algorithm
(1)针对磁脉冲压接管件检测问题,基于改进YOLOv4–Tiny 和自适应图像处理算法提出了一种高鲁棒性、无须辅助定位装置的视觉测量算法,验证结果表明该算法平均单帧运行时间为124.49ms,在4 种照明类型下均能实现压接深度检测,平均像素偏差为0.313 个像素,均方偏差为0.115 个平方像素,平均偏差率为1.35%。算法鲁棒性好,检测精度高,部署成本低,具有较高的应用价值。
(2)为了保证压接区域检测算法的精度,提出了一种具有更高统一性的人工标注方法,并且在网络尾端引入了ECA 模块对YOLOv4–Tiny网络进行改进,在几乎不增加运行时间和模型大小的条件下将检测精度提升了7.9%,实现了检测模型性能的优化。
(3)基于自适应阈值分割算法、Canny 边缘检测算法设计了一种自适应边缘提取算法,在均匀光照条件下可以达到与手动调参的硬阈值分割算法相近的提取精度,且在不均匀光照条件下同样表现良好,无须手动调参,鲁棒性较佳。