基于机器视觉的微小陶瓷基材检测系统研究

2011-07-25 06:49任少斌李元宗
计算机工程与设计 2011年9期
关键词:灰度边缘像素

任少斌, 李元宗

(1.太原理工大学理学院计算机基础教学部,山西太原030024;2.太原理工大学机械工程学院,山西太原030024)

0 引 言

柱形陶瓷基材采用尺寸精度为微米或微米以下的高纯度致密氧化铝烧结体而成,它是电子产品的重要的基材之一。它的尺寸精度与表面质量对电子产品的最终质量起很大的作用。为满足不同器件的要求有各种不同规格 (如图1所示)。由于其生产工艺是先冲压后烧结成型,在冲压时基体材料较软,因此在冲压后常带有一定的不确定性,特别是在表面精度方面,很容易出现瑕斑,另外由于陶瓷材质特点,容易出现碎片,这些情况均会影响其应用。传统的陶瓷基材质量的检测主要依靠人工进行,由于人工长时间检测很容易出现误差,因此在实际工作中需要重复检测,劳动强很大,而且在检测中标准很难保证稳定的检测技术要求。本文的方法是基于机器视觉系统的检测方案,它利用面阵CCD成像,通过嵌入式算法检测产品的质量,结合相应的控制系统,实现产品检测自动化。

1 嵌入式与PC式系统检测技术特点分析

随着计算机性价比的提高以及各种算法[1-3]研究的深入,越来越多的行业开始将基于计算机视觉识别的技术运行到产品质量检测与分析中[4-10]。在机器视觉的研究中存在着两种不同的开发方式,板卡式机器视觉系统(PC-basedvisionsystem)以及嵌入式机器视觉系统(smart camera)。基于板卡式的开发方式是以算法的研究为主,它通过对不同算法的对比与分析提出解决方案。这类视觉系统通常目标明确,但结构复杂,开发周期较长,它能够有针对性实现较为复杂的系统功能,达到理想的精度。而嵌入式视觉系统则在立足于已有的系统环境进行二次开发,因此嵌入式视觉系统具有易学、易用、易维护、易安装等特点,可在短期内构建起可靠而有效的机器视觉系统,从而极大的提高了应用系统的开发速度。

图1 不同规格的陶瓷的基材

机器视觉系统开发的重要目的是解决实际工作的问题,不同的方式最终的目标是一致的。目前比较成熟的图像开发平台很多,如Halcon、XCliper、CVB等。它们均提供基于C++、VB与Java的接口,已经能够为绝大多数检测系统提供支持,因此采用嵌入式系统进行实际系统的开发,可以在短时间内开发满足企业需要的检测系统。本文采用德国Stemmer Imaging公司的CVB(common vision Blox)(通用视觉系统程序库)平台进行二次开发。

CVB程序库是一个面向机器视觉应用软件开发的基础程序包,能够支持绝大多数标准相机和多种软件开发平台(VB,VC++6.0,Delphi),共分为5层:硬件层、硬件抽象层、算法层、中间管理层和应用层,可应用于不同行业[11-14]。CVB包含条形码(1D/2D)、边缘提取、模式匹配、孔径测量、表面检测、OCR/OCV、几何形状识别等20多种常用工具。CVB良好的结构层次可以对输入图像的识别抽象化,使得算法不受摄像的约束,允许用户随时更换图像识别硬件。例如,在把面阵像机切换为行扫描像机时,只需载入相应的驱动程序即可,而不需要对应程序作任何修改。CVB的用户可以使用两种不同的编程环境:用户既可以采用高级语言编译器,也可以采用图形用户界面iTuition。编译后的程序既可以应用在电脑上,也可以应用在智能像机上。对于常用的图像处理工具,CVB都做了优化处理,使得运算都在几毫秒或几十毫秒以内完成。使用CVB提供控件能够轻松地获取目标图像的各种信息,方便地对其进行各种操作,高准确地得到结果,而不用担心执行效率的问题。这将大大缩短机器视觉软件的开发时间。

2 视觉检测算法及其实现

2.1 产品检测技术要求

用于生产检测技术要求有外观质量(裂纹、斑点、缺损等)、尺寸公差(外形公差、垂直度、平行度等)。该产品特点是尺寸小,产品种类繁多,人工检测困难,检测精度低、速度慢。通过生产线生产每月数量产品可以上亿个。全通过人工检测成本太高。本文针对其中1752型号产品进行分析。

尺寸自动检测系统要求如下:被测物体:圆柱形陶瓷棒。检测项目:直径、长度。检测要求:直径:1.68~1.73mm。长度:5.10~5.25mm。检测数值在以上范围内为合格,要求能够设定检测范围。检测直径方法:十字形、米字形或全圆周检测。工作方式:机器自动送料、自动检测、自动记录。检测速度:>2000只/min。

2.2 检测算法说明

在图像测量中,被测件有关边缘点的定位精度往往直接影响到整个测量的精度,因此,研究边缘点的精确定位算法是很有实际意义的。在对陶瓷基片进行尺寸公差测量时,第一步要做的工作就是对采集到的图像进行预处理,最重要的环节是对去噪后的图像进行边缘检测,得到允许范围内的连通的灰度边缘图。

边缘检测是图像特征提取的重要技术之一,边缘是图像局部亮度变化最显著的部分。即在灰度级上发生急剧变化的区域,它常常意味着一个区域的终结和另一个区域的开始,图像的边缘包含了物体初步设计方案。本环节主要完成陶瓷电阻图像的采集,并对采集到的图像数据进行处理,得到陶瓷电阻的尺寸和外观信息。产品的合格/不合格判定范围可由用户通过互动方式或者设定检测阈值进行选择。

系统主要包括下面几个过程:

(1)图像的采集:在本系统方案中,陶瓷电阻在传送带上进行有序排列后传送到检测位置,当产品到达检测位置稳定后,传动系统给相机发送触发信号,开始采集图像,图像传送至计算机。在传输的过程中要求被测试件按指定位置排放,连续采集的相片进行数据分析。

(2)图像分析处理技术要求:图像分析处理软件可以灵活设置模板,检测区域可设置和调整不同的质量标准,质量标准可以有多个级别,并可在检测中在线调整检测标准;可准确发出废品剔除控制信号,设备发生异常时可发出报警信号。每天将检测的数据备份存档。

(3)控制系统:处理器的控制程序根据收到的度量值进行计算,并根据所度量的值确定物体最可能属于的类别以及可能对之做出的处理。图像处理结果传送至控制系统,控制系统对合格/不合格产品做出决策。

3 系统组成

机器视觉系统由光源、镜头、CCD/CMOS相机、图像采集卡、图像处理软件、监视器、通讯/输入输出单元等部分组成。

3.1 相机

根据系统所要求的检测精度0.1mm以及检测的速度,选择相机的分辨率为1024×768像素,帧速率为33fps,且灵敏度高的千兆以太网接口相机,使用加拿大 Prosilica公司的GC1020相机。主要参数如下:分辨率1024×768时,帧速率可达33fps,1/3"CCD,像素尺寸4.65 m×4.65 m,10-Bit数据流输出,C-Mount光学接口,感兴趣区域可提高帧频。该系列相机使用工业标准的千兆以太网作为传输协议并且为应用提供以下重要优势:符合工业标准的硬件(1000MBit-Ethernet);传输距离可长达100m;100MB/s图像传输速率;低成本且安装方便(以太网结构)。

由于陶瓷电阻的尺寸非常小,因此设计合适的传送带使其能够有序排列,每次能够检测 100粒工件,选择相机视场为50mm×35mm,每秒钟通过外部触发拍摄10帧图像,能够分辨的最小尺寸为0.049mm,结合软件中的亚像素算法来得到更高的精度。

3.2 镜头

根据上面所选的相机的分辨率、相机的芯片尺寸、接口类型以及工作距离,使用德国施耐德公司型号为Xenoplan1.4/17的镜头。该镜头为固定焦距镜头,焦距为17mm,最大光圈F1.4。本系统中根据需要选择相机的视场为50mm×35mm,由相机的分辨率为 1024×768像素、传感器的尺寸为 4.8mm×3.6mm、工作距离为200mm左右,这时的光学放大倍率为左右,得出检测的精度可满足要求。

3.3 光源

光源的稳定和均匀是获得高品质图像的基础,选择蓝色立体漫射环形光源。它通过光学结构把光线向多方位折射、散射,使光线分散遍及整个漫射板,从而达到均匀照射的目的。它提供均匀的散射照明,能够很好地检测表面有光泽的曲面物体。检测位如图2所示。由于工件为圆柱形物体,所以在做外观缺陷检测的时候需要考虑到整体外圆周是否存在缺陷,采用两个检测位是为了降低漏检率,其中第二个检测位置将第一位置检测的工件进行翻转,主要目的为是了降低误检率。

图2 检测位

4 图像处理软件

软件设计使用VisualBasic6.0在CVB软件工具包进行二次开发,CVB实际是作为VB的控件插入程序中,利用VB本身的编译方式将图像处理库引用到程序中。其中 CVB运用部分主要由 Image Manager、CVB iTuition、CVB Tools这 3 项内容组成,它能够对目前市场上流行的绝大多数的图像采集硬件进行操作,具有极好的硬件无关性;它提供了典型30多个工具,能够根据项目的需要灵活地选择合适的工具进行编程;同时CVB进行了各种优化设计,使得软件具有很高的执行速度和准确度,能够满足现场实时性的要求。程序设计主要采用开发包中的CVBFoundationPackage功能。这是一个适用于一般工业检测的工具包,包含了工业在线检测领域常用的工具,如斑点分析,边缘检测,图像增强、滤波工具、相关性检测等多种工具。使用 CVB软件作为最终的应用软件开发平台一定会大大加快开发速度。同时,其中少量的算法要自行完成,CVB同样也提供了灵活的接口,方便开发者调用原始数据进行独特处理。

4.1 图像预处理

CVB Foundation Package中包含了图像预处理常用的算法,例如:滤波、形态学变换、数据统计分析等。处理图像的目的就是要使其比原始图像更加适合于特定应用。本方案中采用形态学变换,通过腐蚀算法有效去除检测图像边缘的毛边。

4.2 Blob检测工具

Blob分析是一种对闭合目标形状进行分析处理的基本方法。在进行Blob分析以前,必须把图像分割为构成斑点(Blob)和局部背景的像素集合。Blob分析一般从场景的灰度图像着手进行分析。在Blob分析以前,图像中的每一像素必须被指定为目标像素或背景像素。典型的目标像素被赋值为1,背景像素被赋值为0。对于高对比度及背景一致性很好的图像可用固定阈值分割。而对比度背景一致性较差的图像可动态设定阈值进行分割。在CVB开发工具包中,Blob分析工具可以从背景中分离出目标,并可计算出目标的数量、位置、形状、方向和大小,还可以提供相关斑点间的拓扑结构。在处理过程中不是采用单个的像素逐一分析,而是对图形的行进行操作。图像的每一行都用游程长度编码(RLE)来表示相邻的目标范围。这种算法与基于像素的算法相比,大大提高处理速度。本项目中,主要用blob工具实现目标的定位。

4.3 Edge检测工具

数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域重要的环节,图像理解和分析的第一步往往就是边缘检测,图像的特征指图像场中可用作标志的属性,而图像的边缘是图像最基本的特征。在数字图像中,所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。由于物体的边缘是由灰度不连续性所反映的,因此一般边缘检测方法是考察图像的单个像素在某个领域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律来检测边缘,这种方法通常称为边缘检测局部算子法。如果某一应用场合要求确定边缘位置,则边缘的位置可在亚像素分辨率上来估计,边缘的方位也可以被估计出来。采用Common Vision Blox(CVB)中的Edge工具很好的实现了边缘检测。该工具的特点如下:

(1)运行在单一位面上(8位或者更高至32位)

(2)用户可以制定检测区域的位置和方向

(3)以动态链接库或者OCX控件形式提供功能的实现

(4)支持图像坐标系统和亚像素精度

(5)注重图像处理的精度和速度

Edge中3种不同的方法来达到检测边缘的目的:

(1)以像素的灰度变化设定阈值检测,速度快捷。

(2)以一阶微分(相邻灰度间的变化)检测,可以摆脱固定光源的限制。

(3)以二阶微分检测。高精度其中第一种方法并不是简单的单像素检测,而是对图像像素行或列的像素灰度值之和进行分析,这样就可把其中的一些不明显的边缘检测出来。

在数字图像中,所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。由于物体的边缘是由灰度不连续性所反映的,因此一般边缘检测方法是考察图像的每个像素在某个领域内灰度的变化。Edge工具的检测精度可以达到亚像素级别,为1/10像素精度。

以下面3行10列像素区域为例

从左到右遍历,区域表示的是从黑到白渐进的一个梯度变化。其中中间一行的变化幅度不是很大。累加后203 218235 253 287 341 374 400 401 406。我们做归一化处理68 73 78 8496114125133133135这样再进行二值化处理,从而避免了直接阈值处理带来的弊端。第2种方法是在第1种算法的基础上再运用相邻两个值间的差值变化做二值化处理以求取边缘点。第3种方法是利用二阶微分过零点的原理提取边界点。在算法实现过程中,选取合适的阈值以提取边缘。

4.4 算法设计

目标定位:使用Blob工具确定目标在图像中的位置。边缘检测:使用Edge工具实现对目标边缘的检测。

将目标区域进行区域分割,根据实际需要设定边缘检测区域,检测每个区域的边界点,测量目标的尺寸。对图像进行图像增强、边缘锐化和降噪等,然后对目标图像进行处理分割,量化图像的关键特征,将图像中与周围区域存在差异的像素分离出来,在缺陷特征分割时,主要采用了 Foundation Package中的动态阈值算法。Edge工具能够实现边缘亚像素精度的检测。表面质量检测算法,能够很好的将杂质、污点、划痕等缺陷分离,从而确定产品质量。

5 实验结果与分析

利用 CVB环境进行系统开发与传统开发区别之处在于充分利用了已有的图像库。因此在开发的周期方面具有很强的优势。通常情况下针对于不同的检测技术要求,需要进行详细的算法分析。不同项目之间是没有必然的相关性,单纯的算法分析需要大量的时间与精力。工业化生产检测的特点是检测技术要求经常发生变化,单纯依靠底层分析研究,可以保证需要具体项目的实施,但缺少可移植功能。系统在开发完成后如果需要进行扩充,就需要从头开始分析。例如本系统设计过程中基材种类很多,尺寸的变化也很大,具体检测的要求是根据用户的产品要求进行,当产品批次与种类发生变化时,系统就需要重新设计。使用CVB环境进行设计只是在底层的处理中进行局部调整,交互技术内容完全可以利用原有的平台进行。

此类开发的不足之处在于依靠 CVB库的内容。而该库的内容不是可扩散版本,需要在每次开发时购买相关的序列号,且序列号对于可以使用的底层有限制,在具体应用时可能会增加开发的成本。从这个角度分析,基于源代码的开发更具备通用性。

6 结束语

本文针对陶瓷基材的检测要求,提出了一种基于通用视觉系统程序库开发机器视觉检测系统的想法。通过实践证明此方式可以迅速开发检测系统,而且系统的升级与调整方便。在具体运用中具有较高的检测速度与检测精度,为小尺寸工件快速检测提供了有效的途径。随着计算机集成技术的飞速发展,对基材尺寸精度与形位误差会提出更高的要求,特别是高精密设备使用的基材在生产过程中要求进行100%的测量与分选。由于基于机器视觉的测量技术具有非接触、实时、在线、精度高等特点,在未来的产品检测中会得到迅速的发展和广泛的运用。

[1]朱桂英,张瑞林.基于Hough变换的圆检测方法[J].计算机工程与设计,2008,29(6):1462-1464.

[2]陆建华,鲁周迅,黄毅.改进的形态学检测算子在螺纹检测中的应用[J].计算机工程与设计,2009,30(7):1793-1794.

[3]王林,白雪冰.基于Gabor变换的木材表面缺陷图像分割方法[J].计算机工程与设计,2010,31(5):1066-1069.

[4]徐歆恺,郭楠,葛庆平,等.计算机视觉技术在作物形态测量中的应用[J].计算机工程与设计,2006,27(7):1134-1136.

[5]陈孝威.王茵.基于图像处理的微小电子元器件自动计数算法[J].计算机工程与设计,2009,30(17):4100-4103.

[6]邹益民,贾达.基于视觉检测技术的浮球姿态测量[J].计算机工程与设计,2009,30(22):5298-5301.

[7]杨万利,沈明霞,严君红.外图像处理技术在苹果早期淤伤检测中的应用[J].计算机工程与设计,2010,31(1):149-152.

[8]陈建华,姚青,胡洁,等.基于计算机视觉的稻米垩白检测方法研究[J].计算机工程与设计,2010,31(1):218-240.

[9]周虹,罗晓曙,何富运.多孔零件二维几何量高精检测系统的研究[J].计算机工程与设计,2010,31(1):225-227.

[10]刘志强,宋世亮,汪澎,等.基于视觉的车辆侧后方道路图像检测技术[J].计算机工程与设计,2010,31(12):2800-2803.

[11]黄建荣,范彦斌,叶邦彦.基于Halcon的SMT-PCB元件缺陷检测[J].佛山科学技术学院学报(自然科学版),2008,26(2):19-21.

[12]梅迎春,王朝立,廖勤武.基于OpenCV的摄像机标定的应用研究[J].计算机工程与设计,2009,30(16):3856-3858.

[13]王俊骅,张方方,张兰芳.基于OpenCV和Halcon的交通冲突视频自动检测及数据处理 [J].同济大学学报 (自然科学版),2010,38(2):238-244.

[14]罗珍茜,薛雷,孙峰杰,等.基于HALCON的摄像机标定[J].电视技术,2010(4):101-102.

[15]张广军.机器视觉[M].北京:科学出版社,2005.

猜你喜欢
灰度边缘像素
采用改进导重法的拓扑结构灰度单元过滤技术
像素前线之“幻影”2000
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
“像素”仙人掌
ÉVOLUTIONDIGAE Style de vie tactile
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
高像素不是全部
基于像素重排比对的灰度图彩色化算法研究
在边缘寻找自我