货车车钩铸件表面细沙的图像处理分析方法

2020-03-27 08:12刘升云徐业民谭晓东徐力岩曹江浩
自动化与仪表 2020年3期
关键词:车钩铸件直方图

刘升云,徐业民,谭晓东,徐力岩,曹江浩

(1.大连交通大学 电气信息工程学院,大连116028;2.中车齐齐哈尔车辆有限公司铸钢分厂,齐齐哈尔161000;3.大连交通大学 机械工程学院,大连116028)

如今,清理车钩主要是利用人力进行清理工作,大量的粉尘使得人们的健康出现问题以及整个作业的难度加大,即耗时又有害健康,因此利用机器人进行清理工作获得广泛研究,这需要利用视觉检测方法将铸件的特征信息传输给机器人进行操作[1]。

1 铸件图像预处理

在实际恶劣铸件生产环境中,由于视觉系统获取到的图像可能会受到粉尘和光照不均等影响,所以原来的图像不能够直接用来实验,要对图片进行预处理来淡化背景、消除噪声以及突出铸件的整体特征。图像预处理主要是对比度增强-图像增强和图像的平滑处理[2]。

1.1 对比度增强-图像增强

图像增强的目的是采用一系列的技术改善图像的视觉效果或是将图像转换为人或者机器更适于理解或者分析处理的方式,有选择的突出对人或机器分析有意义的信息,抑制无用的信息,提高图像的使用价值[3]。

对比度的增强主要是灰度变换法和直方图调整法,其中灰度变换法包括线性变换、对数变换和指数变换。 当图像成像过程中可能由于曝光不足或者过度,设备的非线性及图像记录设备动态范围太窄等因素,会产生对比度不足的问题,使得图像的某些细节分辨不清,这时需要将图像的灰度范围进行线性的扩展[4]。 函数表达式为设f(x,y)的灰度范围在[a,b],而g(x,y)灰度范围在[c,d],则有:

另一种直方图调整法是间接对比度增强法,包括直方图拉伸和直方图均衡化两种增强方法。 下面是关于直方图的计算,图像的灰度统计直方图是1-D 的离散函数:

式中:sk是图形f(x,y)的第k 级灰度值;nk是图形f(x,y)的第k 级灰度值的个数;n 是图像像素总数;p(sk)是灰度值概率估计。 当直方图显示灰度分布状况, 也就意味着给出了图像的灰度值整体情况描述。 表达式为

式中:ps(sk)为原来图像的第k 个灰度级的概率;nk为自变量,得到的曲线为直方图。 增强函数还需要满足以下2 个条件:

(1)EH(s)在0≤s≤L-1 范围内是单增函数;

(2)对0≤s≤L-1 有0≤EH(s)≤L-1。

累积分布函数(CDF)满足上面的2 个条件之后,能够使s 分布转为t 均匀分布, 其实s 的CDF 就是原来图像的累积直方图,基于这种情况有:

由上面的公式可以说明,原图像直方图可以直接算出直方图均衡化后各个像素的灰度值,实际情况需要对tk取整以达到数字图像的要求。

通过以上的方法介绍,应用到实际当中进行处理,得到原铸件图像与增强后图像的对比(如图1)。其中直方图的横坐标表示像素的值域,而纵坐标表示直方图范围。 从下面几幅图片中,可见在改用增强算法能够使得图像的均衡化直方图舒展开来。

图1 原始图像与增强图像的对比Fig.1 Contrast between original image and enhanced image

1.2 图像的平滑处理

图像平滑处理是一类局部预处理方法,主要用于抑制图像噪声,利用了图像数据的冗余性,处理的方法一般有高斯滤波、均值滤波和中值滤波等[5]。

均值滤波(如图2)是当前像素点周围N×N 个像素值的均值代替当前的像素值,它属于线性滤波器。 假设图像f(x,y)由N×N 个像素点组成,且平滑后的图像为g(x,y),则表达式为

在上式中,x 和y 的取值范围为[0,N-1],设S为(x,y)邻域中点集合,将他们的每一行相加之后求均值, 得到的值即为当前均值滤波后的像素值,它是每一个像素值求均值。

图2 均值滤波图Fig.2 Mean filter graph

高斯滤波将中心点的权重放大,远离中心点的权重就会变小,在这个基础上计算各不同的权重的和。 阈值处理是指剔除图像中高于某个值或者是低于某个值的像素点。

中值滤波(如图3)不需要通过加权求平均值的方法滤波,只需要对当前像素点及其周边的邻近的像素点的像素值,将它们进行排序位于中间值的像素值代替当前像素点的像素值。

图3 原始图像与高斯滤波图像的对比Fig.3 Comparison of original image with Gauss filter image

在实际处理当中,常常是比较复杂的,Ostu 方法可以根据目前的图像给出一个最佳的类间分割阈值,通过cv2.threshhold()中type 类型传递一个参数为“cv2.THRESH_OSTU”,即实现Ostu 方法分割。

经过以上方法介绍, 运用于实际中进行处理,得到原图像与高斯滤波图像的对比(如图4)。 经过对比之后,明显高斯滤波的效果比较好。

图4 中值滤波图与阈值图Fig.4 Median filter graph and threshold graph

2 铸件边缘形状检测

Canny 边缘检测(如图5)是一种使用多级边缘检测算法检测边缘的方法。 1986年,John.Canny 发表了著名论文《A Computational Approach to Edge Detection》, 在这篇论文中详细地介绍了如何进行边缘检测。 主要分为以下几个步骤:第一步,进行去噪,因为噪声会影响边缘检测的准确性,需要把有噪声的部分去掉;第二步,计算梯度的幅度和方向[6];第三步,非极大值抑制的过程,使得边缘“变细”;第四步,确定边缘,利用双阈值的算法处理边缘信息[7]。

图5 彩色边缘检测图与边缘检测图Fig.5 Color edge detection map and edge eetection map

梯度的方向与边缘的方向是垂直的关系,设边缘检测算子返回水平方向Gx和垂直方向Gy,梯度的幅度为G 和方向为θ,则有:

式中:atan2()代表2 个参数的arctan 函数。

在得到幅度和梯度方向之后,去除所有非边缘的部分,判别当前的点是否是周边像素点在梯度方向上最大的值,根据结果判断是否抑制该点[8]。 如果这一点在相反梯度方向上都是最大值则保留,如若不是则抑制。 完成上述过程后,强的图像就会在当前的图像内部,同时虚的边缘也可能会在图像中,可能是真实的图像反映出来的或是有噪声干扰造成的,将由噪声干扰的部分彻底的清除,如图6 所示。

图6 去噪彩色边缘检测图与边缘检测图Fig.6 Denoised color edge detection image and edge detection image

3 最优外部形状检测

3.1 查找和绘制轮廓

一个轮廓是由一系列的点组成,而这些点会以某种形式来表示图像的一条曲线。 首先要生成一个二值测试图像,检测所有图像的轮廓,最后绘制出图像的轮廓并通过参数可以绘制各种样式的轮廓。经过处理之后,查找到外部的轮廓并绘制出车钩铸件图(如图7)。

图7 车钩轮廓图Fig.7 Black hat operational detection

3.2 拟合最优外部形状

在未发现凸包的情况下, 将大冒口进行切除,分阶段处理车钩的轮廓,拟合外部形状形成最优轮廓结构,如图8 所示。 去除冒口之后分3 个阶段进行处理,第一阶段是切除冒口之后的原图进行轮廓的拟合,第二阶段是将切除冒口之后的图片进行滤波处理,再拟合轮廓,最后是经过前2 个步骤之后,拟合出最佳的轮廓图。

图8 车钩最优轮廓分析Fig.8 Optimal contour analysis of couple

3.3 图像特征点的信息提取

不管物体位置如何变化,但轮廓的面积、周长等信息不变,考虑到平移的不变性和缩放后的一致性,能够得到一组稳定的数据信息(如图9)。根据计算带有细沙的物体表面的轮廓特征和不带有细沙的物体表面轮廓特征,即在这两方面之间的部分为细沙存在的部分,根据机器视觉将其清除。

图9 车钩外部特征分析Fig.9 Analysis of external characteristics of couplers

4 结语

传统的人力清砂即耗时又费力,而且清砂环境极其恶劣, 因此利用机器人结合视觉处理清砂问题。 本文介绍了视觉处理车钩表面细沙,首先对于铸件来说,由于表面的细沙与铸件本身的颜色几乎相近,需要找到物体的最优外部轮廓并计算物体的特征值。 最后将带有细沙的物体与不带有细沙的物体作比较,从而找到需要清除的部分。

猜你喜欢
车钩铸件直方图
GJB 2896A-2020《钛及钛合金熔模精密铸件规范》解读
符合差分隐私的流数据统计直方图发布
国产330型车钩连挂兼容性研究
一种基于ResNet的车钩状态识别方法及其应用
基于FPGA的直方图均衡图像增强算法设计及实现
用直方图控制画面影调
熔模铸件缺陷分析及案例
H型车钩在铁路客车上的应用
金属型铸造铝合金铸件泄漏原因分析及应对措施
中考频数分布直方图题型展示