基于LabVIEW的图像拼接技术在PCB板在线检测系统中的应用
2011-12-26秦益霖马祥林
秦益霖 马祥林
(1.常州信息职业技术学院 江苏常州 213164 2.江苏科技大学 江苏镇江 212003)
基于LabVIEW的图像拼接技术在PCB板在线检测系统中的应用
秦益霖1,2马祥林2
(1.常州信息职业技术学院 江苏常州 213164 2.江苏科技大学 江苏镇江 212003)
PCB板的检测是电子设备制造过程中的重要环节,它是产品质量和性能达标的重要保障。检测系统在采集PCB图像时,需要进行多次局部成像,再进行图像拼接操作来获得被检测PCB的全景图像,以进行后续的模式识别和缺陷检测。介绍了一种快速配准的算法,并使用LabVIEW编程对所采集到的PCB图像进行拼接。通过实验证明,所讨论的拼接方法能够达到满意的拼接结果。
PCB;LabVIEW;图像拼接;比值模板
0 引言
图像拼接技术是根据图像重叠部分,将多张有重复区域的图像拼合成一张高分辨率的全景图。目前图像拼接技术广泛应用于数字视频、运动分析、虚拟现实技术、医学图像分析、遥感图像处理等领域[1]。
视觉检测系统在采集PCB图像时,为了保证检测的精度,对摄像机的分辨率要求较高,这就使摄像机的视野受到限制,因此很难通过一次成像而得到整个PCB的图像。为了在低成本下获得大面积高精度图像,需要进行多次局部成像,再进行图像拼接操作获得被检测PCB的全景图像,以进行后续的模式识别和缺陷检测[2]。
1 LabVIEW简介
LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言,又称G语言。它由美国国家仪器(NI)公司研制开发。LabVIEW主要用于开发测试、测量与控制系统。其主要优点是可以快速搭建小型自动化测量系统,具有较高的开发效率。通过DLL文件,可以轻松实现LabVIEW与其他语言的混合编程。
IMAQ Vision软件将高级机器视觉和图像处理功能加入到LabVIEW中。IMAQ Vision中包括一整套丰富的MMX优化函数,用于完成灰度、彩色以及二进制图像的显示、处理、形状匹配、斑点分析、计算和测量等。最终用户、系统集成人员和OEM都可以使用IMAQ Vision来加快工业视觉和科学图像应用的开发。IMAQ Vision可用于工厂和实验室自动化操作等需要高稳定性、高速度的视觉系统中。
2 图像拼接算法
图像拼接通常可以分成两个步骤:配准和融合。配准的目的是根据几何运动模型,将图像注册到同一个坐标系中;融合则是将配准后的图像合成为一张大的拼接图像[3]。
具体的实际工程中检测平台的移动平台精度比较高,图像间的旋转误差很小,可以忽略,所以拼接时可以只考虑平移变换,忽略图像的旋转;此外,在线检测中拼接速度太慢将会影响生产的效率,所以算法不能太复杂,由于在线检测的工程环境,使得传统的配准方法应用效果不好。
本文将介绍一种能适应在线检测应用的快速匹配算法。
2.1 算法的数学原理
设给定空间Cn中的向量序列{Xk},其中
由于光照等原因,对于两个不同时刻采集得到的数字图像,会存在着噪声、量化误差等随机因素的影响,所以即使实际上是相同的两列像素,其数值也不可能相等,但是其极限值却是相同的[5]。
当选中第一幅图像和第二幅重叠部分的若干列的灰度或变换作为特征向量,求解其与第二幅图像所有可能相关部分对应列向量或变换间的距离,则最小值所对应的列即为重叠起始部分。
2.2 算法的描述
算法的思路是选取一幅图像重叠部分中的一列作模板,在第二幅图像中对全图区域进行搜索,找到与第一幅图像模板对应的最佳匹配列,实现拼接。如图1所示。
图1 图像拼接示例
在Pic1的重叠区域选取间隔为int的两列像素,计算其像素比,定为模板a;然后,在图像Pic2中从第一列起,依次选取间隔为int的两列,计算对应像素比值定为b;计算b和a的差值定义为模板c。模板c是一个二维数组,计算每一列向量的和,得到数组d,数组d反应了两幅图像中对应列的图像像素的差异,求数组d各列的平方和,平方和最小值对应列为匹配列;或者求数组d各列的绝对值之和,绝对值和的最小值对应列为匹配列。
2.3 算法的改进
在线检测系统中,存在着光照不均匀的现象。这样相机获得的图像容易受到光照噪声的干扰,影响配准结果。对于上面的算法,它是基于一列像素的对比,偶然性比较大,可能出现误匹配的情况。
有鉴于此,对上述算法进行了改进。
改进算法的思路是:在图像Pic1重叠部分选取一定间隔的三列,求其对应的比值作模板,在图像Pic1中对全图区域进行搜索,找到与图像Pic1模板对应的最佳匹配列,实现拼接。
改进的算法步骤如下:
1)在图像Pic1中取两图像重叠区域部分的连续三列像素点,然后选取间隔为x的连续3列像素点,以它们的对应比值作为模板a;
2)在图像Pic2中从第一列像素开始选取,按照上述方法计算得到比值模板b1;
3)计算模板a和b1差值的平方和得到模板c1,对c1求列向量和,然后再求3个和值的和得到sum1;
4)模板在图像Pic2中右移1列,重新计算得到c2,再计算sum2,再继续移动直至完成搜索;
5)完成搜索后得到一组sum1,sum2,sum3…经过比较求的最小值,计为Smin,其对应的数值即为与图像Pic1中选取的那列像素点相匹配的像素列值;
6)结束。
3 图像拼接实验
下面对所讲述的算法进行图像拼接实验。两幅待拼接图片如图2,它们是NI1744智能相机拍摄的图片,均为256*256,它们只存在着平移,在拼接的时候不考虑旋转。
图2 待拼接图片
根据未改进的算法思想,运用LabVIEW进行编程。选取第一幅图像的最右边的一列,即256列作为模板。然后在第二幅图像中遍历搜索。能够得到匹配列为第158列,然后进行图像的拼接。拼接结果如图3,很明显可以看出,这次的拼接结果为误匹配。
图4所示图片为改进的匹配算法匹配结果图。所选取的比值模板的第一列为210,像素间隔x取为5,即在第一幅图像中取第210,211,212列,以及210+x,211+x,212+x,计算对应3 列像素比值得到a模板,然后在第二幅图像中遍历搜索。最后得出Smin对应的列坐标为121,即匹配列为第121列,然后进行图像的拼接。
改进算法的LabVIEW程序如图5所示。
图3 原算法匹配结果
图4 改进算法匹配结果
4 结束语
本文通过增加比值模板列数对原有匹配算法进行了改进,由合成图像可以看出,合成图像包含了原图像所有的信息量,证明了改进算法的正确性。改进算法因为增加模板列数也就增加了信息量,带来了算法的计算量的加大。当然增加更多的列数能够更加有效地消除误匹配,所以要根据实际应用需要来选取模板列数。
该改进算法与原来匹配算法相比有效地消除了误匹配,提高了配准精度,而且计算量也不是很大,是一种能够应用在在线检测系统速度要求的图像拼接方法。
编程方法采用了LabVIEW,它是一种图形化程序语言,只要通过连线就可以轻松实现算法功能,产生的程序是框图的形式,方便快捷。
图5 改进算法程序图
[1]赖宇锋,程良伦.基于小波变换与相位相关的PCB图像拼接算法[J].计算机应用研究.2009,26(9):3572-3574.
[2]张彦习.面向PCB质量检测的图像拼接技术研究[D].天津:河北工业大学,2007.
[3]方贤勇.图像拼接技术研究[D].杭州:浙江大学,2005.
[4]李俊杰.矩阵分析[M].北京:机械工程出版社.1995.
[5]马令坤,张震强.图像拼接算法的研究[J].微计算机信息,2007,23(2-3):303-305.
The Application of the Image Mosaic Based on LabVIEW in the Inspection of PCB
QIN Yi-lin1,2MA Xiang-lin2
(1.Changzhou College of Information Technology,Changzhou 213164 2.Jiangsu University of Science and Technology,Zhenjiang 212003,China)
The inspection of PCB is an important part in the manufacture process of electronic device.It is the guarantee to the performance and quality of the products to meet the standard.When the visual inspection system acquires the PCB image capture,it needs many multiple partial images to mosaic a large one to be used in pattern recognition and defect detection.This article describes a fast registration algorithm by using the LabVIEW program to mosaic partial images.Experiments have proved that the method discussed can achieve satisfactory results in the image mosaic.
PCB;LabVIEW;image mosaic;ratio template
TP 391.41
A
1672-2434(2011)04-0028-03
2011-05-19
2006年常州信息职业技术学院自然科学计划项目(Z2006011)
秦益霖(1970-),男,副教授、高级工程师,从事研究方向:计算机控制、图像处理、系统集成