基于机器视觉的金属垫片表面缺陷检测

2022-07-01 01:41姜阔胜王济广卢丽子
关键词:色差垫片直方图

姜阔胜,王济广,卢丽子

(1.安徽理工大学,机械工程学院,安徽 淮南,232001;2.深部煤矿采动响应与灾害防控国家重点实验室,安徽 淮南,232001)

金属垫片在生产加工过程中,凹坑、塌边、划伤等缺陷会影响到金属垫片的表面质量,降低垫片的使用性能。在传统工业中,金属垫片表面缺陷检测依赖人工检测,但人工检测极易受到主观因素的影响,如:人工检测的检测标准不一致、人眼识别易疲劳、效率低等。这极易出现误检和漏检的情况,从而影响检测的准确度和效率。随着计算机技术和自动化技术的飞速发展,机器视觉技术已经得到日益广泛的应用[1-3]。机器检测逐渐代替人工检测,实现了大批量检测并且大幅提高了检测效率[4-5]。

金属垫片在受热后,其表面颜色存在色差。若采用传统阈值处理算法,很难准确清晰地将每张图片中的金属垫片表面缺陷进行分割,不能满足检测要求。此外,根据目前视觉检测方法中的二值化算法的原理,常量阈值的二值化会在同批的不同表面颜色、缺陷相同的零件得到不同的处理结果,从而影响检测精度。因此,这样的视觉检测方法并不适用于垫片表面间存在色差[6-7]的情况。

针对金属垫片表面间存在色差而导致缺陷检测过程中产生误判的问题,本文利用Otsu算法,以基于OpenCV开发的柔性视觉检测系统为载体,采用对被检测零件图片背景加入有色噪声的方法,以确保Otsu算法可以取到分割图片的最佳全局阈值,从而精确的检测出表面颜色不同的垫片的表面缺陷。

1 视觉检测系统的总体设计方案

检测系统的构成主要分为上位机软件和下位机硬件2个部分[8-9],其总体设计见图1。上位机软件使用基于Visual Studio 2017平台的C++和Qt5框架编写[10],机器视觉算法使用的OpenCV视觉算法库[11],在工控机的windows10系统环境下运行。下位机硬件由PLC、工业相机、光源、伺服电机、玻璃转盘、光纤传感器、吹气设备组成。其中,工业相机、光源、吹气设备以及光纤传感器分布于玻璃转盘周围,相机镜头垂直于玻璃转盘,可垂直拍摄到垫片的表面,光源为红色同轴光源,位于玻璃盘上方、相机下方与相机垂直位置,玻璃盘下方处放置灰色反光板,保证光照均匀。相机通过Gige通讯与工控机相连,传输拍摄到的照片,同时与PLC的Y输出口相连,保证自动运行时PLC正常输出触发拍照信号。PLC与工控机之间的通信方式为RS232串口通信。

系统自动运行前,先在界面中选择需要检测的项目,设置系统判断零件合格的标准值。然后对相机和吹气设备进行定位,以光纤传感器处为0脉冲位,通过记录转盘转过的脉冲数定位相机和吹气设备,保证拍摄的垫片图像处于图片的正中间,吹气设备可以准确吹走合格和不合格的垫片。自动运行时,当垫片从上料机上到转盘上转到光纤传感器处时,PLC会为这个垫片分配一个寄存器,并记录其随转盘转过的脉冲数,当转到相机位置时,PLC触发相机进行拍照,图像传给上位机软件进行检测,软件将检测结果返回给PLC分配的寄存器,当垫片转到吹气口处时,PLC会根据寄存器中的检测结果控制不同的吹气口进行吹气,一个垫片的检测完成。

2 非线性的视觉检测方法

本文针对垫片表面间存在色差的情况,提出一种基于非线性视觉检测方法。首先,采用和常用检测方法相同的方式获取被测零件的图片,并进行灰度、滤波和差分处理,获取感兴趣区域[12],接着,根据图片直方图上较小的波峰,在图片背景中加入灰度值相似的有色噪声,再使用Otsu算法找出最佳阈值。

通常,当物体和背景像素的灰度分布十分明显时,直方图会出现2个明显的波峰[13],见图2,其最佳阈值往往出现在波谷处,而波谷处的阈值,会使其左右2个类间方差最大化,此时,使用Otsu算法就可以很轻松地计算出这个阈值。

图1 视觉检测系统总体设计Fig.1 Overall design of visual detection system

图2 双波峰明显的直方图Fig.2 Histogram with obvious double peaks

根据Otsu算法,设原图灰度级为L,灰度级i的像素点为n,则图像的全部像素数N为

N=n0+n1+…nL-1

(1)

归一化直方图为

pi=ni/N

(2)

按灰度等级用阈值t划分为2类,C0和C1,见图3,C0和C1类的方差可由下式求得类间方差为

σ2B(t)=[mGP1(t)-m(t)]2/P1(t)[1-P1(t)]

(3)

由此可取得最佳阈值t*,使得类间方差最大化。

对于垫片零件,其表面缺陷在灰度图片中一般为较暗的像素点,合格表面则为较亮的像素。此时的感兴趣区域中,较亮和较暗的像素的灰度分布并不明显,缺陷部分相对于合格部分的面积差距较大,直方图上并不会出现2个明显的双峰,见图4。若此时直接使用Otsu算法,则其计算出的使得类间方差最大化的阈值并不会处于波谷。为了使得图片前景和背景像素灰度分布明显,可以往图片背景中加入和缺陷区域灰度值相似的有色噪声,增加图片中较暗像素点的个数,使整张图片的直方图上呈现出较为明显的2个波峰和1个波谷,这时,使用Otsu算法通过类间方差最大化的方法,可以很顺利地取到波谷处的阈值作为图片的全局阈值,对图片进行二值化处理。针对垫片与垫片之间表面存在色差的情况,可以自适应地分割出零件的合格表面和缺陷。

图3 最大类间方差阈值Fig.3 Maximum interclass variance threshold

图4 双波峰不明显的直方图Fig.4 Histogram of unobvious double peaks

3 试验设计与分析

3.1 实物图

本试验随机选取了100个缺陷相同但表面颜色存在色差的垫片。将其放置在振动盘中,使用振动盘对垫片依次进行上料,上料口置于玻璃转盘的正上方,打开上位机软件,设置好检测项目参数,检测系统开始自动运行,通过振动盘振动上料,经过导向轮拨正,使垫片有序的排列,玻璃转盘旋转将垫片依次转到相机下方进行拍照,逐个对垫片进行缺陷检测。垫片色差对比及上料图见图5。

3.2 试验处理步骤

待测垫片先通过振动盘上料,工业相机对垫片逐个拍照采集,最后使用2种检测方法分别对100个缺陷相同、表面颜色存在色差的垫片逐个进行缺陷检测。试验环境为:200万像素工业相机,C口镜头,红色同轴光源;图像处理软件采用Visual Studio 2017平台的C++和Qt5框架、算法使用OpenCV视觉算法库编写。其中选取的垫片见图6。

(a)垫片色差对比图;(b)上料图图5 垫片色差对比及上料图Fig.5 Cushion color difference comparison and feeding diagram

(a)表面颜色浅的垫片;(b)表面颜色深的垫片图6 垫片色差对比及上料图Fig.6 Color difference defect gasket

首先,采用传统的检测方法进行试验,即基于常量阈值二值化算法对相机拍下的垫片图像进行图像处理,步骤为灰度化、blur滤波、背景差分、选取ROI区域、全局常量阈值的二值化处理。根据垫片表面颜色存在色差的情况,手动调节阈值滑块,选择适中的阈值为107。检测结果见图7。

图7 传统方法检测的检测结果Fig.7 Detection results of traditional methods

然后,采用本文提出的非线性视觉检测方法进行试验,对相机拍下的垫片图像进行图像处理,步骤为灰度化、blur滤波、在背景中添加有色噪声、Otsu算法计算最佳阈值、二值化处理、选取ROI区域。通过算法,计算出表面颜色较浅的最佳阈值为96,表面颜色较深的最佳阈值为78。检测结果见图8。

图8 非线性视觉检测的检测结果Fig.8 Detection results of nonlinear visual inspection

3.3 试验数据分析

通过反复验证,从2种检测方法试验的直方图和二值图可以发现,在使用传统方法进行检测的试验中,表面颜色浅和表面颜色深的垫片图像,手动调节阈值滑块。选择适中的阈值为107,在该阈值下,ROI区域的直方图上没有明显的2个波峰,表面颜色较浅的垫片,其表面缺陷在二值图上被分割了出来,而表面颜色较深的垫片,表面缺陷则分割不太完整。100个垫片缺陷检测的正确率仅为63%。而在使用非线性视觉检测方法的试验中,在表面颜色浅和表面颜色深的垫片图像背景中添加了有色噪声后,通过Otsu算法计算出表面颜色浅的最佳全局阈值为96,表面颜色深的最佳全局阈值为78,ROI区域的直方图上呈现出2个明显的波峰。能够清晰地分割出表面颜色浅和表面颜色深的垫片表面缺陷,检测的正确率提高到98%。试验检测结果见表1。

表1 试验检测结果Table 1 Experimental results

由表1结果可知:2种检测方法经过5次重复性试验后,传统检测方法中,检测结果的正确率不高且检测结果不稳定,检测速度较慢,难以满足工业实时检测[14-15]的需要。

表2 数据分析表Table 2 Data analysis table

为了方便计算和分析,直接对结果进行配对t检验。运用SPSS软件对数据进行处理,数据分析表见表2。设临界水平α=0.05。传统检测方法和非线性检测方法之间的差值为-37.400,标准偏差为2.408,T为-34.725,P<0.05,说明本文提出的非线性检测方法与传统检测方法的检测差异性有统计学意义。检测结果正确率高,检测速度快,运行稳定可靠,可以用来代替人工目检对存在色差的垫片进行缺陷检测。

4 结语

针对人工目检方法在色差垫片表面缺陷检测存在的诸多问题,通过在采集垫片的图像背景上添加有色噪声,根据垫片的颜色分布自动选取最佳阈值,对图像进行阈值处理,自适应地分割出金属垫片的表面缺陷,完成对色差垫片的表面缺陷检测。结果表明:软件系统图像处理工具丰富,试验验证检测系统具有可行性;硬件系统结构可靠,运行稳定。试验结果优于传统的检测方法,解决了传统检测方法因垫片表面颜色存在色差而导致误检的情况,达到了垫片缺陷检测的要求,能够稳定地完成垫片表面缺陷检测,具有良好的工业应用价值。

猜你喜欢
色差垫片直方图
符合差分隐私的流数据统计直方图发布
CIEDE2000色差公式在彩涂板色差检测上的应用研究
彩涂板色差标准板管理方法的探讨
用直方图控制画面影调
涂装色差控制工艺分析
色差
中考频数分布直方图题型展示
新型垫片自动计数装置的开发与研究
前稳定型垫片在初次全膝关节置换术中应用的早期临床结果
基于空间变换和直方图均衡的彩色图像增强方法