基于MATLAB 软件的图像处理技术在电子元器件引脚缺陷检测的应用*
2018-01-26吴文轩陈方斯刘建锋黄鑫鑫
吴文轩,陈方斯,刘建锋,黄鑫鑫
(厦门理工学院 电气工程与自动化学院,福建 厦门 361024)
MATLAB是一种新型科学开发计算软件,特别运用矩阵的形式处理数据[1]。MATLAB将高效率的数值计算和可视化结合在一起,拥有众多的内置函数,被广泛用在科学算法计算、控制功能系统、数字图像处理、图像噪声处理等领域的仿真、分析以及设计[2-3]。如今,电子元器件朝着片式化、小型化方向发展,因此判断元器件是否合格显得十分重要。对于一些肉眼难以判断的检测,利用 MATLAB 图像处理技术,可以高效地完成对电子元器件的检测。因此,利用 MATLAB 图像处理技术检测电子元器件缺陷是很有意义的[4-5]。
元件检测流程如图1。首先,利用图像采集平台采集图像,然后将图像导入系统并传入工控机,在控制端进行图像滤波,并且利用图像二值化方法提取图像特征,再采用双引脚算法对芯片引脚进行缺陷判断,若合格,则为合格正常芯片;若不合格,则为存在引脚缺陷的芯片。
1 图像采集
图1 元器件检测流程图
图像采集装置如下图2所示,包括以下几个部分:导轨,用于提供运动路径;芯片框架,包括可供多种可供芯片放置的安装位,用于讲安装位上的芯片沿导轨的运动路径送到预设位置;运动像机,包括相机、支架、LED,用于对静止于预设位置上的芯片框架进行拍照,采集图片,对拍摄到的芯片图像予以输出;图像处理装置,利用MATLAB图像处理技术对所述芯片图像进行识别检测。
图2 图像采集装置
2 图像前期处理
图像前期处理主要方式有维纳滤波、DCT变换、中值滤波。
维纳滤波是一种基于最小均方误差准则、对平稳过程的最优估计器,适应面较广。但是要求得到半无限时间区间内的全部观察数据的条件很难满足,同时它也不能用于噪声为非平稳的随机过程的情况,对于向量情况应用也不方便。
DCT变换在视频图像的相关性明显下降,信号的能量主要集中在少数几个变换系数上,采用量化和熵编码可有效地压缩其数据,有较强的抗干扰能力。但本身不能压缩数据,也无法做频谱分析。
在此测试中采用中值滤波[6]的方法。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点,达到降噪的效果。
取一样品利用图像采集系统采集图像,得到如图3(a)所示,为拍摄原始图像。经过图像中值滤波后得到清晰图像,如图3(b)所示,可以清楚看出降噪效果,得到图像处理前后的比较。
图3 滤波前后效果比较
3 图像后期处理
此测试是基于NE556N芯片图片进行计算。该芯片封装为DIP,是一种通用双极定时器,引脚数目为14,允许的工作温度在0~70℃。在图4中,左侧图(a)芯片完整,为合格的芯片,右侧图(b)芯片引脚存在缺陷,为缺陷芯片。
图4 NE556N 芯片
3.1 图像二值化
对图像的二值化采用的是OTSU算法。最大类间方差法是由日本学者大津于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU[7]。此方法按图像的灰度特性,将图像分成背景和目标2部分。利用这种方法,可以很快将测试所需要的芯片引脚与背景分离,为后期的图像处理作准备。
以合格NE556N芯片为例,图5为经过二值化处理得到的图像[8]。
3.2 双引脚算法
图5 二值化图片
图6 轮廓查找
先对图片进行滤波处理工作,然后将图片进行矩形轮廓查找[9]。选取NE556N为对象,二值化后采用轮廓查找的方法,得到图6,即可找到每个矩形的端点坐标,随后利用端点坐标计算出引脚长度。
通过这种算法,对于引脚没有明显缺陷的芯片,能够准确的得出14根引脚长度。在此测试中采用中值滤波的方法对其进行处理,得到图像并计入所得到的引脚最大值为245以及最小值为219,运行时间为0.7280s,将数据整理绘制出表1。
表1 中值滤波方式下的双引脚算法结果
该芯片引脚的标准值为230,误差范围为20。根据表格与标准值进行比较,对于引脚完好的芯片,双引脚算法能够辨别。但是在不同滤波方式下,程序运行的时间也有不同。
该方法能够计算引脚完好的芯片,为了探究对与引脚长度有明显缺陷的芯片是否拥有同样的功能,取一个引脚长度有明显缺陷的芯片进行处理,运行结果图7所示,图(a)为二值化图片,通过轮廓查找得到图(b)。
图7 引脚缺陷的芯片
通过图7能够看出,双引脚算法对于引脚长度有缺陷的芯片,仍然能准确地找出矩形轮廓。同样用轮廓查找对芯片引脚进行测量,得到引脚最大值为245以及引脚最小值为83,运行时间为0.6946s,整理后如表2所示。
表2 双引脚算法对引脚缺陷芯片的测量
该种芯片引脚最大值符合误差范围为210~250,根据表中数据,判定该芯片存在缺陷。从而得出这样一个结论:双引脚算法对于引脚长度有缺陷的芯片,同样能测出引脚具体长度。可以根据最大值与最小值和标准值进行比对,从而判定芯片是否合格。双引脚算法能够满足这样的一个功能,因此可以利用它来进行电子元器件缺陷检测。
4 实验检测
为了探究这种算法对于不同种类的芯片是否都能达到检测的功能,将选取74ACT245TTR芯片(TSSOP封装)、AD9854ASVZ芯片(LQFP封装)、AD954ID芯片(DIP封装)三种芯片,使用双引脚算法分别对这三种芯片进行检测。
4.1 74ACT245TTR 芯片
图8 合格74ACT245TTR芯片
图8为合格74ACT245TTR芯片图像处理结果,左图(a)为二值化图片,右图(b)为轮廓查找,通过轮廓查找得到每个矩形的端点坐标,得到引脚最大值为310以及最小值为300。
图9 缺陷74ACT245TTR芯片
图9为缺陷74ACT245TTR芯片图像处理结果,左图(a)为二值化图片,右图(b)为轮廓查找,得到引脚最大值为309以及最小值为134。
合格74ACT245TTR 芯片引脚标准值为300,误差范围为20,若芯片引脚值在280~320范围内,则为合格芯片,反之,为缺陷芯片。整理数据得出比较结果,如表3所示。
表3 74ACT245TTR 芯片引脚长度统计
4.2 AD954ID 芯片
图10 合格AD954ID芯片
图10为合格AD954ID芯片图像处理结果,左图(a)为二值化图片,右图(b)为轮廓查找,通过轮廓查找得到每个矩形的端点坐标,得到引脚最大值为350以及最小值为338。
图11为缺陷AD954ID芯片图像处理结果,左图(a)为二值化图片,右图(b)为轮廓查找,通过轮廓查找得到每个矩形的端点坐标,求到引脚最大值为348以及最小值为194。
图11 缺陷AD954ID芯片
合格AD954ID芯片引脚标准值为340,误差范围为20,若芯片引脚值在320~360范围内,则为合格芯片,反之,为缺陷芯片。整理数据得出比较结果,如表4所示。
表4 AD954ID 芯片引脚长度统计
4.3 AD9854ASVZ 芯片
图12 合格AD9854ASVZ芯片
图12为合格AD9854ASVZ芯片图像处理结果,左图(a)为二值化图片,右图(b)为轮廓查找,通过轮廓查找得到每个矩形的端点坐标,得到引脚最大值为54以及最小值为44。
图13为缺陷74ACT245TTR芯片图像处理结果,左图(a)为二值化图片,右图(b)为轮廓查找,通过轮廓查找得到每个矩形的端点坐标,得到引脚最大值为53以及最小值为22。
图13 缺陷AD9854ASVZ芯片
合格74ACT245TTR 芯片引脚标准值为50,误差范围为10,若芯片引脚值在40~60范围内,则为合格芯片,反之,为缺陷芯片。整理数据得出比较结果,如表5所示。
表5 AD9854ASVZ 芯片引脚长度统计
根据测试情况,可以得出结论:对于一些结构简单的芯片,双引脚算法所采用的矩形轮廓查找都能取得非常好的测试结果。然而对于一些结构较为复杂的芯片,需要要根据实际情况对算法参数进行一些调整,才能对芯片进行检测。虽然该种算法在一些地方仍有改进的空间,但是双引脚算法对于电子元器件检测的效果还是令人满意的。
5 总结
本文利用 MATLAB 软件的图像处理技术,设计了引脚算法对贴片机芯片进行缺陷检测,目的是为了利用科学的方法对电子元器件进行缺陷检测。在信息化的大时代,图像处理技术发展十分迅猛。利用图像处理技术的方法研究已经成为了当代社会发展的一大研究课题。希望我们所提出的算法能够对电子元器件缺陷检测的研究开发提供一些思路和参考。
[1]邓昌瑞,周小红,周木兰,等. MATLAB图形处理功能的应用与探讨[J].科技资讯,2016(30):19-20.
[2]AlfioQuarteroni, FaustoSaleri.MATLAB科学计算[M].清华大学出版社,2005.
[3]欧阳黎明.MATLAB控制系统设计[M].国防工业出版社,2002.
[4]勒中鑫.数字图像信息处理[M].北京:国防工业出版社,2007:207-268
[5]杨涛,马彦恒,左勇,白利.基于MATLAB VB混合编程的图像噪声处理软件设计.机械工程师[J].2012(11):42-45
[6]江景涛,姜学东,李福荣.利用中值滤波去除图像噪声的研究及MATLAB实现[J].青岛农业大学学报(自然科学版),2006,23(1):63-65.
[7]付忠良.图像阈值选取方法--Otsu方法的推广[J].计算机应用,2000,20(5):37-39.
[8]王强,马利庄.图像二值化时图像特征的保留[J].计算机辅助设计与图形学学报,2000,12(10):746-750.
[9]王俊平,郝跃.矩形缺陷轮廓的成品率模型[J].半导体学报,2005,26(8):1514-1518.