基于HED与Canny方法融合的孔类零件边缘检测方法

2022-05-26 13:00徐文龙
制造业自动化 2022年5期
关键词:毛刺边缘像素

徐文龙,侯 明

(北京信息科技大学 自动化学院,北京 100192)

0 引言

工业4.0快速发展时代,传统制造业面临着严峻的挑战[1]。随着计算机技术的进步和科技的不断发展,制造业自动化程度不断提高,融合人工智能的智能高精尖设备成为行业发展热点。随着中国制造2025概念的提出,加工制造业的智能化成为行业发展的必然趋势。

精密孔坯结构的零件,如液压阀体、发动机缸体等,粗加工留下的孔缘毛刺清除,对于保证零件的密封性能具有重要影响。毛刺的清除目前采用人工锉削,工时长、品质参数不易[1]保证。研发孔类零件的自动磨削设备对于提高生产效率、保证部件性能具有重要意义。

本文对矿用液压阀体的孔结构边缘毛刺检测进行研究,为自动加工提供目标位置参量。

1 背景

孔缘毛刺参数提取,需要对工业相机拍摄的图像进行边缘检测。根据理论边缘与检测边缘的差值,获得毛刺参数。边缘信息在图像分析中起着重要的作用,也是目标识别的重要依据[2]。由工业相机获取的工件图像,其边缘包含目标工件的重要信息,精确的边缘检测结果可以有效获取图像的边界结构[3~5],为后期自动磨削提供空间参数。目前有许多图像边缘检测的算法被提出。Canny算法是当前广泛使用的传统边缘检测算法[6,7],其很大程度上解决了Prewitt和Sobel等经典边缘检测算子在图像处理中出现的问题。HED[8](Holistically-Nested Edge)神经网络是目前比较好的图像边缘检测网络,无需经过复杂的特征工程即可对工业图像进行边缘检测,并且能够自动学习到工业零件图像的多层级特征,得到最佳的边缘特征图像,可以最大程度上抑制非目标区域边缘。

在项目研发阶段,遇到了两个难点:

1)在孔类零件孔的周围存在的划痕、锈蚀、油迹等给边缘提取带来很大干扰,Canny算法会导致细节过多[9],从而影响工业零件图像分割的效果。

2)HED方法能够实现特征的自动提取,实现了图像预处理的目的,但是经过HED网络输出的边缘检测结果是一个粗边缘的概率图,对于结构相对细小的毛刺对象产生了覆盖,影响毛刺结构的辨识精度。

通过初期的效果分析,发现Canny算法和HED算法能够进行互补,在本文所涉及的应用场合具有较好的针对性,预计在自动选择零件特征的基础上能够提高边沿细小特征的分辨率。于是开展研究,获得了较好的效果。

2 研究方法原理

2.1 HED网络

HED网络在VGG(Visual Geometry Group)网络[10]的基础上改进而来,VGG网络结构简洁且具有强大的目标特征提取能力。VGG网络比HED网络多最后一个全链层,全连接层计算复杂、算力资源消耗大,能获得的细节多;对于本文涉及的场景来讲,实时性、抗扰性适应度不佳,因此研究选择HED网络。

HED在VGG网络上增加了5个侧边输出层,分别从VGG16网络的最后一个卷积层进行输出,即图1所示的conv1-2,conv2-2,conv3-3,conv4-3和conv5-3,并对原VGG网络进行修改,将网络所有的全连接层去除。HED网络从低层到高层的感受野在不断扩大,但位置信息也会不断丢失,而语义信息将会逐渐丰富。由于每一层得到的图像的长宽尺寸是不一样的,所以HED利用转置卷积和反卷积操作对每一层得到的图像再做一遍运算。这样HED在每个尺度上得到的图像,都是相同的大小。

图1 HED网络结构

2.2 HED训练方法改进

现有的HED网络与FCN(Fully Convolutional Networks)网络[11,12]相似。在训练过程中,采取了分别对各个融合层进行训练的方式,这种训练方式比较复杂,训练耗费的时间也更长,实时效果不佳。因此对HED网络训练方法进行了改进:

1)通过5个侧边输出层与融合层同时进行训练的方式,对网络的训练步骤进行了简化。

2)改进损失函数。在本应用场景中,图片大部分区域都是非边缘像素,且有严重的扰动,若使用常用的损失函数进行训练会造成训练后的模型不稳定,影响工件的边缘检测效果。修改后的HED网络的边缘位置损失函数很好的解决目标边缘像素和非边缘像素不平衡的问题。

最终修改后的HED网络的损失函数如下:

式(1)中,Lside表示图像像素级的侧边输出代价。在HED网络训练的过程中,对于每一张图像,这一函数表示为:

式(2)中:Y+:标签中标记为边缘的像素;

Y-:标签中标记为非边缘的像素;

Pr(yi=1|X;W,wm):是由侧边输出的响应值通过逻辑回归函数计算得到的参数。对于网络的第m个侧边输出层记为。HED网络将所有的侧边输出层的预测结果连接在一起学习混合权重,混合权重层的损失函数如式(3)所示。

式(3)中h表示为HED网络的侧边的各个输出层的融合系数。表示手工标记的标签与网络预测结果的距离,利用交叉熵函数计算得出。最终网络利用梯度下降法进行迭代优化,最终总体损失函数如式(4)所示:

2.3 Canny算法融合

Canny算法在对零件进行边缘检测时,一般会先对零件图像进行高斯滤波降噪处理,然后计算图像梯度的幅值和以及图像梯度的方向,再利用非极大值抑制算法对梯度幅值进行非极大值抑制,最后用双阈值算法检测并且连接图像边缘。非极大值抑制就是指寻找像素点的局部最大值,在零件边缘检测中非极大值抑制就是抑制零件局部区域内像素点不是极大值的点。这样就可以进一步的将零件部分非目标边缘点剔除掉。Canny算子采用非极大值抑制算法对图像边缘细化。经过细化后,得到的边缘仍然存在一部分虚假边缘。Canny算子采用双阈值算法对该边缘图像进一步检测并连接边缘。Canny算法在HED网络输出的边缘范围附近进行检测,会获得更小的毛刺边缘细节,且能有效的避开非边界区的扰动。

3 实验实施与结果

3.1 数据集的自建

HED训练首先要有高相关的图片数据集。而目前尚没有公用的坯孔边缘毛刺的数据集。因此需要先自建数据集。本实验使用的手工制作的零件数据集。样品零件为矿用液压阀体,使用工业相机对不同孔在不同角度拍摄,作为HED网络训练数据,对应的输出是手工标注的孔类零件边缘。在本次实验中,使用了200张图片集。图2为其中一张数据集的原始图,图3为对应的标记图。

图2 原始图

图3 标注图

3.2 硬件及软件架构与参数调节

本实验基于TensorFlow深度学习框架和CUDA9.2并行计算库进行开发。实验中硬件平台为:CPU,Xeon E5 2689;GPU GTX-1070(8G);RMA,32G。

输入原始零件图片,用训练好的HED网络模型对图片进行检测。得到零件边缘概率图,将边缘概率大于等于0.5的像素点设置为255,将边缘概率小于0.5的像素点像素值设置为0,得到零件显著性边缘。同时对原始零件图片进行Canny检测,将检测结果与HED网络检测的显著边缘进行与运算,得到最终融合图。

实验在进行HED网络模型训练时,采用迁移学习的思想,用VGG进行初始化,加载VGG网络初始化参数,并进行微调。为防止训练过程中陷入局部最小值,引入自适应学习率,动态调整学习率大小。

3.3 实验结果分析

图4原始零件图片,可以看出零件周围有很多划痕以及油污点、锈迹等,孔边缘的左上部存在毛刺。

图4 原始零件

图5是Canny算子检测结果。

图6是HED检测结果。

通过图5、图6和图7的对比,得出结论如下:

图5 Canny算法检测效果

图6 HED网络检测效果

图7 本文算法检测效果

Canny算法虽然采用滤波函数对工件图像进行了降噪处理,相比较其他传统算法有着较强的噪声抑制能力,不容易受到工业现场产生的噪声干扰,但是在本课题中,效果不佳,对于一些与边缘像素尺度相近的痕迹不能区分。

HED算法在去噪能力上明显优于Canny算法。HED网络在训练过程中,能自动学习零件的边缘图像特征,且检测出的零件边缘特征明显,零件毛刺轮廓比较清晰。HED神经网络通过对数据的学习,对孔类零件的非边缘区域较少检测,零件的边缘部分成为网络处理的重点。HED算法自动学习边缘图像特征的能力、降噪能力、抑制非目标物体边缘能力上比Canny算法强,但是检测出的边缘较粗,会在一定程度上影响工件视觉测量的精度,忽略小细节,在本课题对应的场景中,也存在明显的不足。

图7是将HED网络与Canny算法融合的结果。具有两个明显的优越性。

1)通过改进算法检测出的图像边缘像素宽度能达到1~2像素,与Canny算法相当。HED算法检测出的边缘像素宽度在4~5像素。改进算法相比较HED算法定位更加准确,定位精度提高300%。

2)下面采用距离品质因数对整体轮廓点的有效性进行定量分析。品质因数主要通过三个因子组合定义的,即检测到的假边缘数,丢失的边缘数量以及边缘的定位误差。品质因素的定义如下:

式中,Ne是参考边缘点数目,Nd是提取的边缘点数目。d(i)是参考边缘与提取的边缘之间的距离。FM值越大表示提取的边缘与实际的边缘越接近,也反映出方法的鲁棒性好。

下图是用于定量分析的部分数据集,从左至右对应1号图片、2号图片、3号图片。

边缘检测结果品质因素对比如表1所示。

表1 距离品质因素评估

根据表1的结果可以发现改进融合算法相比较Canny算法,距离品质明显提高,实验条件下至少提高70%。

4 结语

随着人工智能技术的发展,基于机器视觉的在线检测技术在工业上的应用也更加广泛。而传统算法由于自身的局限性,无法自主选择图像特征,需要手动提取特征,这不符合高效在线检测不同特征零件的要求;此外,传统算法去噪能力有限,在实际应用中存在很大的不足。本文提出基于改进的HED网络融合Canny算子的零件边缘检测算法,自动化度更高、精度更高、品质好、鲁棒性高。对于磨削机器人加工运动控制实时性、精度提供了更有效的方案。

在研究中,对于HED网络的训练只用了200张图片,远低于公共数据集数量,然而检测结果品质整体提高较多,适合工业应用。

猜你喜欢
毛刺边缘像素
像素前线之“幻影”2000
电化学去毛刺试验研究
去毛刺机飞锤异常损坏原因与预防措施
新视域下金属切削毛刺控制技术实践运用探究
阀芯去毛刺工艺研究
“像素”仙人掌
一张图看懂边缘计算
高像素不是全部
您的像素,饱和吗?[上]
在边缘寻找自我