一种高速在线检测五金工件表面缺陷系统

2017-11-20 08:49黄景维
电脑知识与技术 2017年27期
关键词:机器视觉检测

黄景维

摘要:该文研究一种高速在线检测五金工件表面缺陷的机器视觉系统。该系统中利用兩个特征轮廓中心点连接法求出五金工件的相对倾斜角度,通过图像旋转对其进行位置的校正;通过标准图像的灰度图与被检测图像的灰度图进行相减,得到差值图像,将差值大于阈值的像素点视为缺陷像素点;利用Sobol均匀随机投点法快速定位缺陷的位置;应用缺陷灰度图积分算法,避免了五金工件受光照和位置的影响而造成对缺陷的误判;得到缺陷位置后提取缺陷信息,采用BP人工神经网络对缺陷进行分类,记录每个有表面缺陷的五金工件的缺陷个数和缺陷种类,把这些缺陷信息记录在Access数据库中。在实际现场运行中,该系统实现了五金工件100%全面在线检测表面缺陷要求,在高速检测的环境下能够稳定运行。

关键词:五金工件;表面缺陷;机器视觉;检测

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)27-0194-03

Abstract: In this paper,an online high-speed system for surface defect inspection of hardware is studied. In this system,the relative angle of hardware is calculated by using two feature contour central point connection method; the position of hardware in image is corrected by image rotation.In order to get the difference image,the grayscale iamge of the standard image is reduced with the grayscale image of the detected image;the pixel point where the difference value is greater than the threshold is considered as a defect pixel point.It uses the Sobol uniform random shots method to identify the location of defect quickly.The system uses the defect gray scale integral algorithm that can avoid the misjudgment of the defect by the influence of the illumination and position of the hardware.The defcet information is extracted after the defect position is obtained,and use the BP artificial neural network to classify the defects,and record the defect number and defect type of each hardware artifact with surface defect and record the defect information in the Access database.In the actual running process,the system can realizes the requirement that detect all the surface defect in real-time ,and it can be stable to detect in the high-speed environment.

Key words: hardware;surface defect; machine vision; inspection

1 背景

在五金工件生产的过程中,由于加工设备的不良或工人操作的不当,会导致五金工件表面带有缺陷。五金工件产品的表面主要存在毛刺、划痕、碎屑、脏污等缺陷。传统的五金工件表面缺陷检测方法主要是依赖人的眼睛进行观察,这种方法不仅低效而且在长时间工作下和嘈杂的环境中工人会出现视觉疲劳,容易出现误检或者漏检。

随着科学技术的发展,基于机器视觉的自动目视检测技已经术越来越成熟,应用范围也越来越广泛。对于缺陷检测类系统来说,高质量图像的获取和判断表面缺陷的存在与否是缺陷检测系统最关键的部分[1]。 从实际角度看,影响系统检测能力的因素有:机器视觉检测系统容易受到光照影响,要突显五金工件表面的缺陷特征,并且使工业相机获取高质量的图像,这对于光源系统的设计是一个重大的考验[2];手动将五金工件在摆放在传送带上标定好的检测工位上,工件会存在一定的倾斜角度;为了提高机器视觉检测系统的检测精度,使用大分辨率工业相机必定会导致计算机处理图像数据的时间增加。

为了解决以上问题,本系统将在硬件设计和软件设计两方面入手,根据五金工件表面的特点设计相应的灯光系统,再现五金工件表面缺陷;根据五金工件表面轮廓,制定特征轮廓中心连线算法对工件进行位置校正;使用均匀随机投点法快速定位缺陷位置;应用BP人工神经网络对缺陷进行识别,把缺陷信息记录到Access数据库中。

2 系统描述

2.1 系统组成

五金工件表面缺陷检测系统如图1所示。检测系统硬件组成部分包括可调速传送带实验平台、环形LED灯光系统、工业相机、颜色变化传感器、挡光黑箱、硬件控制电路、分拣装置、主控计算机。

当颜色变化传感器遇到红色触发条时候,由于触发条的颜色和传送带的颜色不一样,颜色变化传感器因为这个颜色的变化而产生一个触发信号,触发信号促使硬件控制电路控制环形LED灯光系统进行曝光,并且触发相机在曝光时间里进行图像采集;计算机通过读取相机缓存数据的回调函数得到图像信息,通过图像处理技术,识别当前被检测工件表面是否存在缺陷;若遇到有表面缺陷的五金工件,计算机记录缺陷信息,硬件控制电路控制分拣装置将不合格的五金工件从传送带上推出去。endprint

2.2 灯光系统设计

五金工件表面缺陷检测对灯光的要求是:光照亮度均匀,不能有阴影,工件表面不能有反光,工件表面亮度与背景对比度高,避免外接光线的干扰。

根据以上需要,本系统选择的是蓝色LED光源,由于蓝色光的波长较短,容易被散射[4],所以不容易造成阴影,同时也可以增强工件表面与背景的对比度;灯光系统做成环形可以使整个检测工位的光照亮度都均匀,不容易造成工件表面反光;在相机和环形LED灯光系统外面安装一个挡光黑箱可以抵挡外界光线的干扰。

3 算法描述

3.1 算法流程

检测系统的处理过程包括图像采集、去噪、灰度化、二值化、边缘检测、位置校正、缺陷定位、消除误差、缺陷分类、缺陷统计。

3.2 位置校正

由于工件时人工摆放在检测工位上,每个工件的位置与标准工件的位置都存在一定的倾斜偏差[5],所以要对图像中工件的位置进行校正。

从相机缓存区读取图像数据,经过初步的图像处理后(去噪、灰度化、二值化),使用边缘检测算法获取图像中工件的边缘轮廓图像。采用特征轮廓中心连线法求工件的倾斜角度,以下是该算法描述。

由于工件表面轮廓各有特点,根据每个工件表面轮廓的特点选定两个不同的轮廓,以标准工件表面上的这两轮廓的中心点连线的角度作为一个位置校正标准。特征轮廓可以选择工件表面上具有明显特点的轮廓,例如最大或最小的圆形轮廓、正方形、矩形等等。为了快速找到图像中工件的轮廓位置和轮廓的中心点,本系统使用了OpenCV提供的cvFindContours函数和cvMinAreaRect2 函数。cvFindContours可以从二值图像中检索轮廓,并返回检测到的轮廓的个数。函数的参数first_contour的值由函数填充返回,它的值将为第一个外轮廓的指针,当没有轮廓被检测到时为NULL。检索其它轮廓可以使用h_next和v_next连接,从first_contour到达。将每个contour代入cvMinAreaRect2 函数,cvMinAreaRect2 函数后返回的数据类型是:

在检测过程中,根据选择的两个特征轮廓,通过cvFindContours函数和cvMinAreaRect2 函数处理获取两个特征轮廓的中点坐标(center1.x,center1.y)和(center2.x,center2.y),计算连线的斜率:[k=center1.y-center2.ycenter1.x-center2.x],利用斜率可以反求角度。得到工件的倾斜角度后,通过旋转倾斜角度对图像中的工件进行位置校正,将图像中工件的位置平移到标准工件的同一个位置。

3.3 缺陷定位

被检测图像经过位置校正后,与标准图像进行图像差计算,设标准图像灰度化图像为S,被检测图像灰度化图像为R,差值[E=|S(x,y)-R(x,y)|],若该点的差值大于阈值T1,则视为存在缺陷点,该点设为黑点(像素值0),否则设为白点(像素值255)。计算完成后得到差值图像。在差值图像中使用均匀随机投点法定位缺陷位置,以下是实现该算法的步骤描述。

1) 确定随机投点的序列,包括投点的数量,采样方法。

根据图像分辨率大小和实际需求的检测准确率,可取相机分辨率的1%~10%的取点数量。如两百万分辨率相机,可以取2万~10万个投点;三百万分辨率相机可取3万~30万个投点。

Sobol序列是一种半随机序列的一种[3],Sobol序列法的采样比均匀分布随机数列的采样更加均匀[5]。它可以拓展到任意维度,是一个覆盖率高而且稳定的随机序列[6]。如图2所示,Sobol序列和均匀随机序列在(0,1)区间采样点的分布,采样点数量为100个,Sobol序列在(0,1)区间的分布比均匀随机数列分布更加均匀。

2) 取得一定数量的Sobol序列采样点后,根据采集點的坐标,判断差值图像上对应的坐标像素值,如果遇到是黑点且不在已检测缺陷包围盒内,定为起始包围盒的原点。以该像素点的坐标为原心,规定以原心的正左、正右、正上、正下四个方向的方向增量分别为[{Add_lx,Add_ly,Add_rx,Add_ry}],将这四个变量初始化为1,它们构成最原始的包围盒大小。包围盒的大小变化根据包围盒外围边缘是否有黑点而变化,其原理表示:

其中,变量Out Row_lx代表包围盒的正左外边缘是否有黑点,若没有黑点,则该变量值为False,方向的增量Add_lx停止增加;若有黑点,则该变量值为True方向的增量Add_lx增加,其余三个变量也是如此。直到[OutRow_lx=False;OutRow_ly=False;OutRow_rx=False;OutRow_ry=False;]成立,则退出while循环,求出缺陷位置。

实验证明,均匀随机投点缺陷定位法与行程长编码(RLE算法)和8-邻域搜素算法相比,均匀随机投点法是一种图像局部搜索缺陷的方法,比起图像全局搜索方法的RLE算法和8-邻域搜索算法有明显的速度优势,见表1。实验环境是同一台主机上(处理器为Intel core i5-4210U CPU @ 1.70GHz 2.4GHz,运行内存8GB),对3200*2400像素含5个缺陷的灰度图进行缺陷检测,时间评估函数为VC6.0中的clock()函数。

3.4 误差消除

在实际检测过程中,每个工件摆放在检测工位上的位置有偏差,以致相机与工件之间存在的角度也会有所偏差,而且每个工件的偏差也会不一样,即使通过一些算法对其进行位置校正,将其与标准图位校正同一个位置,但是还是难以保证被检测图像与标准图像能够绝对重合。这种情况会有可能导致图像差值计算过程中,对应的像素点是否为缺陷点会造成误判。

其中,T是积分值;R(x,y)是被检测图像的灰度图;(lx,ly)和(rx,ry)分别是缺陷包围盒的左上角和右下角坐标;P(x,y)是缺陷的点灰度像素值。endprint

3.5 缺陷分类和统计

五金工件产品的表面主要存在毛刺、凹陷、碎屑、脏污等缺陷。识别缺陷类型和缺陷信息统计对于生产五金工件的过程具有重要的指导意义。本系统采用BP人工神经网络实现五金工件表面缺陷的分类,BP网络对应输入6种缺陷特征:面积、长宽比、灰度像素平均值、缺陷位置、密度、色度,输出是常见的4种常见的缺陷。经过大量的学习和改进,识别4种缺陷的准确率达到了90%以上。识别缺陷类型后,将缺陷信息(包括缺陷类型、缺陷数量、缺陷位置、当前次品数)记录到Access数据库中。

4 实验结果

本系统在已搭建的硬件平台下进行在实验操作,采用200万分辨率线阵CCD作为采集相机,系统中传送带实际长度为2m,初步设定传送带向前速度为0.2m/s,相邻两个检测工位间隔为0.6m。实验检测如图3所示的五金工件样品。

4.1 算法效率

本系统中,部分图像处理过程采用OpenCV提供的图像处理函数,其中包括图像灰度化、去噪、二值化、边缘检测。OpenCV使用优化的C代码编写,并且充分发挥多核处理的优势。它的算法效率至少是C语言的2倍以上。表2是统计图像处理各个流程所消耗的时间和总流程的时间消耗,在同一台计算机中与C语言实现比较(静态检测),表中t为本系统消耗时间,[tc]为C语言消耗时间。

根据静态检测的时间可以有效利用传送带的长度,将每个检测工位相隔的距离设置更合理。由表2可知,本系统在传送带静态下检测一个工件,图像处理时间为172ms,可以设计每个工件检测工位时间为200ms。从理论上分析,只要传送带足够长,系统最高检测速度可达180个/分钟~240个/分钟;C语言的检测单个工件的时间约为500毫秒/个,检测速度最多只能达到100个/分钟~120个/分钟。

4.2 检测精度与缺陷检测

本系统的检测精度由检测对象和检测分辨率决定。如图4所展示,本系统在传送带以1m/s的高速下能够检测最小缺陷大小约为0.5mm*0.5mm,检测最小宽度为0.5mm,检测最小长度为0.8mm。系统能够高速运行下稳定检测毛刺、污迹、划痕、杂料(填充)等四种常见的缺陷类型。

参考文献:

[1] 张建川. 红钢棒材表面缺陷图像采集与检测系统研究[D]. 濟南: 山东大学, 2012.

[2] 余文勇, 周祖德, 陈幼平. 一种高速印刷品缺陷在线检测系统[J]. 华中科技大学学报, 2006, 34(6):80-83.

[3] 潘金京, 李宗民. 一种改进的基于Sobol序列的快速线积分卷积法[J]. 中国石油大学学报, 2007, 31(3):163-166.

[4] 朱霞. 不规则零件机械视觉检测中的关键技术研究[D]. 南京: 南京航空航天大学, 2015.

[5] Joe S, Kuo F Y. Constructing Sobol0sequences with better two-dimensionalprojections[J]. SIAM J. Sci. Comput.,2008(30):2635-2654.

[6] Joe S, Kuo F Y. Remark on Algorithm 659: Implementing Sobols quasir-andom sequence generator[J]. ACM Trans. Math. Softw., 2003,29: 49-57.endprint

猜你喜欢
机器视觉检测
“不等式”检测题
“一元一次不等式”检测题
“一元一次不等式组”检测题
“几何图形”检测题
“角”检测题
大场景三维激光扫描仪在研究生实践教学培养中的应用