基于机器视觉的产品质量检测
2019-10-09邢佳荣张京军高瑞贞
邢佳荣,张京军,高瑞贞
(河北工程大学 信息与电气工程学院,邯郸056038)
在竞争激烈的全球市场中,可靠而有效的产品质量评估是保持高标准并最终确保成功的关键。 使用基于机器视觉和人工智能技术的自动评分系统,可以保证更连贯的质量标准,更好的重现性和更可靠的产品记录[1]。
通常由加工工业执行的2 种主要类型的检查成品检查和在线检查。 这2 种检测实践的主要区别在于,对于完成产品检验是指在工作加工过程结束后在进行检测。 另一方面,对于在线检查是指在生产现场进行测量[2-3]。 在线检测和现场测量相比,现场检测过程测量是一个耗时的过程和需要特定的检查区域[4]。 在线检测的主要好处是在制造过程的早期阶段就可以检测到超出公差的产品。 这意味着可以防止超出公差的产品进一步加工,处理,装配等,从而减少返工和废料[5]。 此外,有关偏离目标值的信息可以反馈的过程[6-7]。
本文提出了一种机器视觉系统,用于螺母和钢卡头缺陷。 设计了一种新颖的照明和图像采集系统,以增强缺陷外观并获得受控环境。 然后,提出或利用一系列图像处理方法来检查螺母上的缺陷。 并提出了一种基于该规则的简单而有效的检测算法。所提出的系统能够检查螺母是否再圆心一些缺陷。
1 系统装置
过去, 由于设备费用和图像分辨率的限制,机器视觉技术并未在工业中得到广泛应用。 通过持续改进,该技术日趋成熟。 近年来,随着PC 功能越来越强大,并且CCD 系统的分辨率得到提高,机器视觉系统已在许多应用中得到广泛应用[8]。 摄像机和光源的选择放置是创建成功视觉系统的最重要步骤之一。 因为获得高质量的图像可以大大简化视觉算法并提高其可靠性[9]。
系统的动力部件主要由轴承、固定中心、皮带和齿轮组成,并由直流电机驱动。 固定中心的作用是在两端支承凸轮轴。 基本视觉系统由CCD 摄像机、图像处理软件、图像处理算法、图像处理板和计算机组成。 采用背光技术,获得零件外部轮廓清晰清晰的图像。 背光产生即时的对比,因为它在明亮的背景下创建黑暗的轮廓。电机和CCD 摄像机通过插入计算机PC 主机总线的2 张卡与计算机接口。其中一张卡是连接到直流电机的接口卡,用来控制凸轮轴的旋转运动。 另一种接口卡是帧采集卡,其中视觉系统的CCD 摄像机连接到卡上可用的通道。为了获得恒定增量角度的图像,电机与旋转编码器耦合。 控制电机转速,实现轴的稳定旋转运动,获得更好的图像采集效果。 图1 为非接触式产品质量检测系统的系统标定图。
2 检测方法
图1 系统标定图Fig.1 System calibration diagram
将被测工件放置于机械载物台的传送带上,在运动控制机构的控制下以一定的速度运送至图像传感器即工业相机下。 在光源的照射下,被测工件将成像于工业相机,相机再将数字图像数据传送给图像处理器PC 机显示和处理, 计算出待检测工件是否合格,最后将标准工件尺寸与检测的计算结果进行比较,来判定是否符合标准,再通过运动控制机构将被测工件进行筛选。 工作流程如图2 所示。
图2 系统工作流程图Fig.2 System implementation work flow chart
2.1 图像获取
要构建机器视觉测量系统,摄像机图像平面应与待测工件平面平行。 如果摄像机不符合这些要求或者径向失真较大,则必须校准摄像机并应调整图像。通过读取图像读取相机捕获的工件图像,如图3所示。
图3 现场采集的工件图像Fig.3 Image of work piece collected on site
2.2 工件图像的灰度处理
在工件处理过程中我们将RGB 图像转化成灰度图像的过程称为图像的灰度化。 通过相机获取的工件图像通常是RGB 图像, 确定每个像素灰度R、G、B 三个分量。 从输入数据到PC 机是彩色图像,彩色图像的信息量比较大导致一些图像处理算法中彩色图像难度比较大。 R=G=B 为灰度图像,灰度图像的每个像素点只需要一个分量表示,它需要的计算和内存都会减少。
本文采用加权平均法进行灰度处理。 加权平均法就是人眼对红绿蓝三种基色的敏感度程度不一样,即对其进行加权,从而得到较合理的灰度图像。
图4 显示了对原始工件图像灰度化后的效果。
图4 图像灰度化效果Fig.4 Image grayscale rendering
通过图像我们发现,跟原图像相比较变化后的图像灰度图不含色彩信息,故灰度化之后的图像所含信息量大大减少,图像处理计算量也相应大幅减少,更方便后续计算。
2.3 工件图像的平滑去噪
与其他信号处理介质一样,视觉系统也含有噪声。 其中一些噪音是系统性的,可能来自镜头表面的尘土、 有缺陷的电子元件和有缺陷的存储芯片。还有一些其他的随机噪声,是由环境影响或照明不良引起的。 灰度化后的图像是一个损坏的图像,需要预处理,以减少或消除噪声。 此外,由于凸轮轴的振动和偏心,有时图像质量不高;因此,在对它们进行其他分析之前,必须对它们进行处理和改进。 总之,图像处理的目的是对图像进行处理使结果更适合于标定特征的结果,然后提取特征轮廓。 为了减少某些噪声成分,特别是由于检查区域的照明分布不均,采用了平场校正法。 凸轮轴图像中的随机斑点也可以看作是噪声,是高频分量,因为相邻像素的像素值变化非常快。 这种噪音可能来自电气部件或检查区域的灰尘和污物。 因此,为了消除噪声,在平面校正操作后采用了低通滤波器。
本文采用中值滤波进行平滑去噪,中值滤波本质上是一种统计排序滤波器,是一种非线性的滤波方式。 他对随机噪音的影响有一个非常好的降噪效果,尤其应用于椒盐去噪。
它的基本思想是用邻域内的中值代替灰度相差较大的像素[10]。 设一组数据行{x1,x2,x3,…xn},输出用y 表示。对该序列按升序或降序排列,得到{x(1),x(2),x(3),…x(n)},则有
式中:Med 表示对数据样本取中值。
在二维图像中,设{xmn,(m,n)∈I2}表示灰度,用窗口对图像进行二维中值滤波后的结果h(m,n)为
该方法使用给定结构的二维滑块模版根据像素值大小对面板上的像素进行大小排序,并生成增加或减少数据单调的二维序列。 实验结果及分析如图5 所示。
图5 中值滤波效果Fig.5 Median filtering effect diagram
由图可见,中值滤波算法非常有效地抑制噪声的同时仍较为完整地保留了原始图像的边缘特征。
2.4 直方图处理
2.4.1 直方图
图像的灰度直方图就是一幅图像灰度分布情况的统计表,它概括了一幅图的灰度级内容,是反映一幅图像中出现某灰度值的次数与灰度级之间的关系的图形。 如图6(b)所示的灰度直方图中,横坐标轴的范围为0 到255 表示图像的灰度值,纵坐标表示该图像中某灰度级出现的概率。图6(b)是一幅螺母图像的直方图。
图6 螺母灰度图和直方图Fig.6 Nut grayscale and histogram
2.4.2 直方图均衡化
直方图均衡化算法由于其简单、 高效的特点,已经成为传统的图像增强算法。 图像直方图均衡化是原图像经过某种变化, 得到灰度图像直方图,以获得变化均匀图像。 基于概率论,直方图均衡算法利用灰度运算实现图像中像素的灰度映射,并将直方图转换为均匀,平滑,灰度级清晰的直方图,从而达到图像增强的目的。 假设原始图像中像素的灰度值为r(0≤r≤1),其概率密度为p(r),增强图像中像素的灰度值为s(0≤s≤1)及其概率密度是p(s),映射函数是s=T(r)。 根据直方图的物理意义,很明显均衡直方图上的每个条都具有相同的高度。
设r 表示图像中像素的灰度级, 可以用概率密度函数Pr(rk)表示原始图像的灰度分布。 则Pr(rk)=nk/N
图7 螺母直方图均衡化效果Fig.7 Effect of nut histogram equalization
图8为直方图均衡化前后直方图的比较。
从图6(a)和6(b)可以清楚地看出,原始图像的视觉效果相对较暗,并且图像直方图的分布范围相对较小。 从图7 所示,显然增强图像的亮度增加并且视觉效果得到改善。 从图8(b)所示,显然分布范围被扩大,均衡的实质是扩大量化区间。
图8 均衡化前后直方图比较Fig.8 Histogram comparison before and after equalization
2.4.3 图像二值化
是的,这说明我们不再年轻了。乐于此道的几位朋友,都和我年龄相仿。在日常生活中,大家都似乎感受到一种疲惫。人到了 40岁,就像人生突然“断片”了,稀奇古怪的想法特别多。辞职创业的,离家出走的,爱上钓鱼的,到艰苦的地方去徒步的……在生理上,大家似乎突然意识到衰老的来临。孔子说,“四十不惑”,但这确实是一个希望和困惑并存的年龄,而困惑看上去还要更占优势一些。
一幅二值图像的二维矩阵仅由0、1 两个值构成,“0”代表黑色,“1”代白色。 由于每一像素(矩阵中每一元素)取值仅有0、1 两种可能,所以计算机中二值图像的数据类型通常为1 个二进制位。 二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。二值图像处理,以显示灰度图像为0或255,也就是,所有的图像显示出的黑色和白色的效果。 灰度图像为约256 的亮度等级通过选择适当的阈值二值化获得的图像仍可以在整个图像和局部特征中可以看出。
在很多情况下, 背景的灰度值并非是个常数,被测物体和背景的对比度在图像中也有变化,这样就导致可能在图像中某一区域有良好的效果的阈值在其它区域的效果可能很差。 在这样的情况下,我们把灰度阈值取成一个随着图像中位置变化而变化的函数值是最合适的我们称之为为自适应阈值,即本文采用自适应阈值的方法。
自适应阈值的选取方法的阈值相对比较简单,以每一个像素以它为中心的一个邻域窗口,计算窗口内的最大和最小值像素,然后将它们的平均值作为阈值。 然后对图像进行分块,如果在某一子块内背景和目标都存在的话, 则为双峰直方图。 如果某一子块内只有目标或者只有背景的情况下,就不是双峰直方图,可根据邻域各块分割得到的参数插值进行分割。 事实上自适应阈值分割完全可以按照图像的实际性质,为每一个像素值设置阈值,但该过程要考虑复杂性和实际应用问题的要求。
其中假定阈值T(k)=k,0<k<L-1,并假定C1由灰度值在区间[0,k]内的所有像素构成和C2由灰度值在区间[k-1,L-1]内的所有像素构成,像素被分到类C1中的概率像素被分到类C2中的概率。
分配到类C1的像素的平均灰度值为
分配到类C2的像素的平均灰度值为
整个图像的平均灰度值为
类间方差改写为
K*是最佳阈值:
在0<P1(k)<1 条件下选取最大的k 值。
该方法完全根据图像直方图的计算,直方图是一个非常简单的一维数组。 当螺母图像进行二值化时,发现大多数图像只有大约一半的灰度,即在某个灰度上的像素个数为零。 因此,它可大大减少方差算法从而来减少该程序的运行时间。
3 实验检测
3.1 实验检测过程
3.1.1 硬件装置
按照产品检测需要和检测的对象环境的实际情况,对图像采集装置进行硬件设计及安装。
3.1.2 图像的采集和预处理
使用工业相机对检测工件进行实时获取工件图像,并将图像传入PC 中;借助PC 机,进行图像处理的算法对采集的工件图像预处理,从而完成图像的灰度转换、平滑去噪、图像增强等相关工作。
3.1.3 工件特征提取
分析和比较现有的特征提取方法,最终选择局部形心位置提取方式,对目标工件图像进行特征提取。
3.1.4 特征分析和识别
选取合适的内圆形心位置与外六边形形心位置在x、y 方向上的差值, 并用加快的搜索策略提高检测速度,从而完成特征检测和识别。
3.2 特征提取与结果分析
通过对内圆和外六边形区域进行特征分析,通过对比差值来判断螺母是否合格。
图9(a)为提取的内圆二值图,确定螺母内圆的形心位置。 9(b)为提取的外六边形二值图,来确定螺母外侧六边形的形心位置。
图9 二值图像Fig.9 Binary image
4 结语
研究了工件检测的非接触检测方法。 研究开发了一套检测螺母形状公差的准则,从测量系统试验台的开发到基于图像处理程序的结果分析,以及零件检测评估的数学模型的开发。 通过建立合适的零件检测模型,成功地实现了非接触式的在线测量系统的方法。 利用多组零件图像对该方法和数学模型进行了分析。 结果表明,非接触式零件误差检测系统是一种有效、可靠的误差评定方法。 该测量概念可以进一步改进,以获得更好的误差评估精度。