【机械制造与检测技术】
印刷电路板(PCB)集成了各种电子元器件的信息,其装配质量直接关系到产品的性能。严重的焊接缺陷将引起整个电路损坏而导致控制系统、检测系统、通信系统等的瘫痪。尽管近年来焊接工艺和质量检验水平不断提高,然而仍然无法完全避免PCB焊接缺陷引发的故障。尤其对于贴片IC器件,它具有引脚多、间距小等特点,使得IC器件的焊接缺陷检测难度高于其他的元件。
机器视觉检测技术是以人工智能、模式识别和图像处理为基础,实现对目标对象的测量、判断和识别[1]。目前,机器视觉在产品各方面缺陷检测及其他领域均有广泛应用。相对传统检测方法,机器视觉技术在实现企业自动化管理、安全高效生产方面起到了不可替代的作用,它既可以降低工人的劳动强度又可以提高产品生产的安全性,具有准确、快速、智能化程度高等优点[2]。
本文在充分研究国内外焊接缺陷检测以及机器视觉的原理及应用方法的基础上,提出了一种基于机器视觉的贴片IC焊接缺陷检测系统,对PCB板在装配过程中的贴片IC焊接缺陷进行检测,以提高电路板装配的效率和准确率。
该贴片IC焊接缺陷检测系统结构如图1所示,整个系统主要包括工业相机、光源、装配流水线、机械运动控制、图像采集模块、上位机、图像处理模块、瑕疵报警等。当系统启动时,工业相机对经过装配流水线传送过来的待检测电路板进行图像采集,并通过相机镜头经光电传感器及模数转换等图像采集模块将二进制信号送到上位机中。上位机中的图像处理模块利用HALCON中的图像处理算法对待检测图像进行定位、预处理、阈值分割等以提取贴片IC焊点特征信息,然后根据设定的焊点图像模式识别算法判断贴片IC焊点是否存在缺陷。如果检测到存在缺陷,上位机则发出指令到运动控制模块,剔除有焊点缺陷的PCB板。
图1 检测系统结构示意图
该贴片IC焊接缺陷检测系统的图像处理算法基于HALCON软件设计,HALCON是德国MVtec公司开发的一套完善标准机器视觉算法包,拥有应用广泛的机器视觉集成开发环境,它由一千多个各自独立的函数,以及底层的数据管理核心构成,其中包含了各类数学转换、滤波、形态学计算分析、校正、色彩以及几何、分类辨识等基本计算功能,且与各类工业相机兼容性较好,能简单便捷地获取图像,已被广泛应用于工业生产的各类自动化检测中[3]。
针对贴片IC焊接缺陷检测的问题,本文提出了一种基于机器视觉的检测算法,算法处理流程如图2所示。首先确定一个标准的模板图像,利用模板图像对待检测图像进行位置矫正,并确定待检测ROI区域。然后对提取的待检测区域进行图像预处理、图像分割提取焊点信息,包括图像增强、图像滤波、阈值分割、形态学处理等。最后对分割出的焊点图像进行模式识别以确定焊点是否存在缺陷。
图2 焊点检测流程框图
由于机械定位原因,PCB板在流水线工作平台生产过程中可能会出现移位、旋转等现象,因此,在检测过程中首先对待检测图像进行位置矫正。本文采用刚体仿射变换,刚体变换分为平移和旋转,从一个点和角度计算一个刚体仿射变换矩阵。在二维空间中,点(x1,y1)经过刚体变换至点(x2,y2)的映射关系为
(1)
其中:为旋转矩阵;为平移量。
仿射变换通过增加图像每一维度上的比例变化和缩放因子来扩展刚体变换的自由度,仿射变换可分解为平移变换和矩阵变换[4]。 在二维空间中,点(x1,y1)经过仿射变换至点(x2,y2)的映射关系为
(2)
其中,为实数矩阵。本文利用HALCON中的find_shape_model算子找到模板图像,然后根据模板图像区域的中心坐标和旋转角度创建一个空间几何变换模型 来进行精准的定位[5]。找到配准区域后,利用算子vector_angle_to_rigid与算子affine_trans_pixel对搜索到的待检图像进行仿射变换,从而完成待检测图像定位工作[6]。
在图像处理领域,有一个非常重要的名词ROI(region of interest),对应的中文解释就是感兴趣区域,即从图像中圈定一个区域,将要处理的图像从整个图像变为一个小区域,这样就便于进行进一步的处理,可以大大减小处理时间,这个区域就成为图像分析所关注的焦点。
对于待检测PCB板上除了检测目标焊接引脚,还会有很多其他无需检测的背景物体,如引脚标识、线路等,检测环境较复杂。而对于一个特定的电路板,其芯片引脚位置都是固定的,因此,首先利用HALCON中gen_rectangle算子在标准模板图像中创建需要检测的元器件矩形区域,然后在PCB板检测过程中,利用read_region算子读取标准模板创建的矩形区域,并通过intersection、reduce_domain算子从待检测图中分割ROI区域作为检测对象[7]。如图3所示为本实验提取的待检测ROI区域。
图3 ROI区域
1) 图像增强。为了提高检测系统的处理速度,在对待检测目标图像处理过程中,需要将检测系统采集到的彩色图像转化成单通道的灰度图像。图像的转换按照以下公式进行:
Y=0.299*R+0.587*G+0.114*B
(3)
其中:Y为彩色图像转换成灰度图像后对应像素点的灰度值;R、G、B分别为红、绿、蓝三色的分量值,对待检测图像进行灰度化处理效果如图4(a)所示。
另外,图像在采集过程中,会因为PCB板元器件之间的相互遮挡导致引脚焊点区域曝光不足的情况。检测过程中就需要对待检测PCB图像进行均衡化处理,使得图像像素值在0~255灰阶上的分布更加均衡,从而增大图像间距及反差,使得引脚焊点细节更加清晰[8],处理效果如图4(b)所示。
2) 图像滤波。PCB板表面镀层面的不均匀反射、PCB板上的污物,图像在生成以及传输过程中产生的信道噪声、电噪声和其他噪声都会影响焊点图像的质量,对后续特征提取产生不利影响。为了抑制噪声,改善待测焊点图像质量,便于后续更高层次的处理,必须对待检焊点图像进行去噪预处理[9]。通常去噪处理的方法有中值滤波、均值滤波、高斯滤波等。实验发现,中值滤波算法对于本文的检测环境能够取得较好的滤波效果。中值滤波算法的原理是:首先对窗口M中的各个像素按照灰度值大小进行排队,然后用中间位置的像素值g(x,y)表示原来f(x,y)的灰度值:
g(x,y)=Med{f(x-k,y-l),(k,l∈M)}
(4)
式(4)中:M表示窗口大小; f(m-k,n-l)用以表示窗口M的像素灰度值大小。
利用HALCON中的median_image算子对图像进行中值滤波以消除噪声。其滤波效果如图4(c)所示,中值滤波有效消除了该IC芯片图像的噪声信息,为后续处理奠定了良好基础。
图4 图像预处理
1) 阈值分割。图像分割就是依据形状、纹理、灰度和颜色等特征把图像分成若干个具有独特性质的特定区域并提出感兴趣目标的过程[10-11]。现有的图像分割方法主要可以分为以下几类:基于区域的分割方法、基于边缘的分割方法、基于阈值的分割方法以及基于特定理论的分割方法等。
通常焊点区域和芯片本身具有明显的灰度差,因此,本文利用灰度直方图确定全局阈值进行分割,使用Halcon中的threshold (Median,Region,195,248)算子,其中MinGray=195,MaxGray=248。
2) 形态学处理。通过阈值分割得到的区域不仅含有焊点区域,也包含许多非焊点的杂点和小的突出物,这将影响检测结果的精确性。为了保证检测精确度,准确提取焊点区域,需要对图像进行形态学处理,以消除不必要的干扰。形态学处理的基本运算包括膨胀和腐蚀,对膨胀、腐蚀的基本运算进行组合又可以形成闭运算、开运算等实用的形态学算法[12]。本实验采用闭运算对待检测焊点图像进行处理,即先膨胀后腐蚀。
膨胀运算如下:
膨胀运算可以用以联通较近的多个区域,填补阈值分割后待检测目标中的空洞。用公式表示为:
(5)
如式(5)所示,用来表示B关于原点对称的集合。膨胀运算后的目标图像暗的细节部分减少,使得图像比原图更亮。
腐蚀运算如下:
腐蚀运算用以消除目标图像中的孤立、无用的噪声点。腐蚀运算如式(6)所示。
AΘB={(x,y)|(B(x,y)⊆A)}
(6)
其中,A为二值图像中所有像素值为1的点的集合,B是结构元。腐蚀运算可以使得图像亮的细节部分减少,相比原图像更暗。
闭运算如下:
闭运算就是先膨胀后腐蚀的运算过程,其公式如式(7)所示:
A·B=(A⊕B)ΘB
(7)
闭运算可以去除图像中的暗细部分,消除细长的鸿沟、小的孔洞、狭窄的间断,而目标对象总的形状和位置不变。
本文分别利用了HALCON中的connection,select_region_point,closing_circle以及fill_up 等算子,消除了焊点检测中小的孔洞,并填补轮廓线中的断裂,处理效果比较好。如图5为图像分割效果图。
图5 图像分割效果图
1) 区域连通。对IC焊点图像进行分割后,为防止属于同一焊点的像素被分成不同区域,以及方便计算焊点面积并进行进一步识别,需要进行区域连通[13-14]。
假如某点p与其相邻域中的点q像素值相同,则认为p点和q点是连通的,当某个区域中的每个像素均与该区域其他像素连通时,则形成一个连通区域,常用的有4连通和8连通算子,4连通和8连通分别如图6(a)、图6(b)所示。经过实验验证,8连通算子能更好的根据周围像素对焊点缺陷区域进行检测,故本文采用8连通区域。在Halcon中,连通区域算子为connection。
图6 连通区域
2) 面积计算。焊点面积的计算指的就是计算焊点区域包括的像素点的总数目,可以使用HALCON中的area_center算子计算各个焊点区域的中心位置和焊点面积,并对检测出的焊点各个区域像素值进行标记,从而通过计算图像每个标记操作得到图像总区域的个数。
3) 焊点识别流程。工业生产过程中最严重的焊点缺陷主要有短路和漏焊,本文主要针对这两种缺陷进行识别。短路主要采用连通区域检测算法通过识别焊点是否桥接来实现。首先得到同一连通区域中的所有像素点,并对不同的连通区域进行标记,然后计算这些连通区域的面积。如果有相邻的两个焊点连接到一起出现桥接,则连通区域面积将增大,且检测结果中只会出现一个连通域,那么对于固定芯片,通过和标准图像所提取的焊点个数及焊点面积进行比较,即可识别出是否存在短路焊点[15]。而对于漏焊的焊点,其连通域个数会减少,但各个连通区域面积不变,从而可以结合此两个特征来判断是否漏焊。在图像预处理、图像分割的基础上对待检测图像进行识别,算法流程如图7所示。
图7 识别算法流程框图
利用本文提出的贴片IC焊接缺陷检测算法对待检测芯片焊点进行检测,爆点位置及焊点面积检测界面如图8所示。其中,该标准芯片正常焊点面积范围为[120,160],焊点区域个数为8。本文采集的待检测芯片焊点面积大小像素值为[135 144 137 128 137 128 146 148],焊点区域个数为8。通过判断焊点区域个数,可见该芯片不存在短路和漏焊缺陷,确定为正常芯片。
图8 爆点位置及焊点面积检测界面
为验证本文提出算法的可行性,对工业现场采集的260幅样本图像进行检测,其中具有漏焊现象图像96幅,具有桥接焊点的图像85幅。利用本文提出的贴片IC检测算法对其进行缺陷检测,实验结果如表1所示。
表1 实验结果统计表
焊点类型测试焊点数目检测正确数目检测正确率/%正常797898.7桥接858498.8漏焊 9696100
从表1数据可以看出:桥接样本中98.8%的缺陷焊点可以被识别,漏焊样本的识别率达100%,正常焊点的检测正确率为98.7%,平均耗时为150 ms。由于光源等因素的影响,经过分割后得到的连通区域面积减小,导致个别正常焊点、桥接被误判为漏焊。总体看来,本文提出的贴片IC焊接缺陷识别算法取得较好的检测效率和检测精度。
该贴片IC焊接缺陷检测系统基于图像增强、图像滤波预处理,阈值分割、形态学处理等图像分割及焊点缺陷模式识别的算法完成对电路板中贴片IC焊接主要缺陷桥接及漏焊的精确检测。实验结果表明,该检测算法识别正确率达98.7%以上,平均耗时为150 ms,具有一定的理论和实际意义。
[1] 彭赟,刘燕子,张冬霖.基于 HALCON 的点胶质量检测系统设计[J].包装工程,2018,39(15):204-208.
[2] 李亚中.基于图像识别的SMT焊点检测方法应用研究[D].成都:电子科技大学,2019:10-15.
[3] 王文平.基于Halcon的芯片字符识别[D].大连:大连交通大学,2018:13-15.
[4] 曹彦星.基于视频图像的拼接技术研究与实现[D].沈阳:东北大学,2010:35-37.
[5] 亢宇欣,谌贵辉,张三炳,等.基于Halcon的贴片电阻方向检测系统[J].包装工程,2017,38(23):116-120.
[6] 吴秀东,李东兴,常晓刚,等.基于Halcon的钢球表面缺陷检测系统设计[J].轴承,2018(10):53-58.
[7] 刘晓杰,罗印升,张旻,等.基于机器视觉的零部件表面缺陷检测方法研究[J].现代电子技术,2017,40(24):181-183.
[8] 赵磊.基于图像处理的贴片电阻缺陷检测[D].南京:南京邮电大学,2013,12-15.
[9] 赵梦超,孔令成,谭治英.基于改进 Otsu 法的镀膜金属带缺陷分割[J].计算机工程与设计,2018(9):2811-2816.
[10] ISABELLE B,ALAIN B,AERELIE L.Robust Similarity between Hypergraphs Based on Valuations and Mathematical Morphology Operators[J].Discrete Applied Mathematics,2015,183(11):2-19.
[11] 李豪,杨桄,关世豪.阈值选择方法在高光谱图像目标检测中的应用[J].兵器装备工程学报,2019,40(11):183-187.
[12] 李文静.基于视频差异化分析的电力系统智能安防技术 研究[D].西安:西安工程大学,2013:31-43.
[13] 黎杰.智能视频监控系统关键技术研究及在部队安防中的应用[D].广州:华南理工大学,2011,26-37.
[14] 罗秋棠.基于数学形态学的图像处理算法[J].电子技术与软件工程,2016(6):80-81.
[15] 尹丙桥.基于机器视觉的贴片元件焊点缺陷检测[D].广州:广东工业大学,2017,46-60.
Citation format:LI Wenjing, ZHANG Hushan, JIAO Jian.Welding Defect Detection Algorithm for Chip IC Based on HALCON[J].Journal of Ordnance Equipment Engineering,2020,41(08):244-248.