光学自动检测系统在PCB板缺陷检测中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
光学自动检测系统在PCB板缺陷检测中的应用
1 引言
自动光学检测是印刷电路板生产线上的一种基于机器视觉的缺陷检测方式。由于印刷电路板生产过程中会产生很多的缺陷,为保证生产的质量,印刷电路板的多个生产步骤中必须加入质量检测。光学自动检测系统就是其中一种优秀的质量检测方法。
本文针对PCB制造过程中的缺陷,论述了一种自动光学检测系统。第一部分描述了检测系统的背景,第二部分阐述了该系统的优缺点,第三部分介绍了该系统的各个组成部分,包括光学采集模块、运动控制模块、图像处理模块和数据处理模块,第四部分叙述了检测系统的算法。第五部分对检测系统进行了总结。
2 检测系统的优缺点
2.1 优点
(1)提高了焊接点缺陷检测效率、缺陷定位效率。
(2)代替部分人工作业,降低成本。
(3)检测记录可自动存储、查看。
(4)自动筛选不合格品,提高准确率。
2.2 缺点
(1)存在一定比例的漏测或误报警,还需要在后续的工序中增加功能检测。
(2)只能检测外观缺陷。
(3)无法对BGA等不可见焊点进行检测。
3 检测系统的组成部分
系统硬件如图1所示:
图1 AOI实物图
3.1 光学采集模块
主要由光源和相机组成,将PCB板焊接转换成图像进行处理。
3.2 运动控制模块
主要由电机和控制部分组成,主要负责PCB板的入检、定位、出检等运动控制。
3.3 图像处理模块
主要负责将收集的PCB板元件、焊点的图像通过识别算法,判断焊接质量。
3.4 数据处理模块
对检测的数据进行保存存储,以便随时调阅、分析。
4 算法
4.1 色彩数量化算法
彩色PCB图像包含了丰富的信息。若直接进行二值化,由于铜板上的不少
部分因为色彩的微小波动而导致二值化结果出现了许多类似于欠腐蚀的缺陷,造成误检。若将彩色图像直接转化为灰度图像,则转化后的灰度图像丢失了色彩信息,最直接的问题就是造成原本人眼可以区分的字符与铜板在灰度图像中变得难以区分。
因此,对于彩色PCB图像进行简单的二值化或者灰度转化是不可行的,需要对彩色图像进行图像预处理,比如彩色图像色彩数量化、彩色图像平滑、彩色图像分割、彩色图像去噪等。
4.2 色彩数量法
在计算机图形学中,色彩数量化是指减少彩色图像中的色彩数量,并且要求产生的新图像与原图像尽量的接近。色彩数量法可以保留彩色PCB图像有效信息的同时,减少绝大部分在原彩色图像中的干扰信息。
在本质上色彩数量化上可以视为向量数量化的一个子集(Vector Quantization)。向量数量化的问题可以表述为:在N维空间中选取κ个向量,用这κ个向量来代表该空间中的M个向量。这里κ≪M,并且选取的这κ个向量要保证总误差最小。因此色彩数量化就是向量数量化在3维空间中的一个特例。这个指的3维空间即色彩的RGB,HLS,CIE等空间。色彩数量化的过程常常被分为以下四个步骤:
(1)对原始的待处理图像采样,得到图像色彩的分布。
(2)根据得到的色彩分布建立图像的色彩索引(color map)。
(3)把原始图像上的所有像素映射为该像素在色彩索引中的值。
(4)根据映射后的结果得到色彩数量化后的图像。
在PCB图像处理时,待处理的PCB图像如果是同一生产线上的图像,那么其色彩空间的分布是稳定的,因为同一种PCB图像在颜色上不会有大的变化。而且,如果PCB图像上因为缺陷而导致出现色彩的偏差,那么图片经过步骤1和步骤2处理后可能会把缺陷部分的色彩认为是主色彩,从而导致色彩数量化失败。因此步骤1与步骤2在处理PCB图像时并不适用。
传统的色彩数量化方法中中值切割(Median Cut)是最有代表性的方法,其它的方法比如均一化(Uniform)、流行元素计算(Popularity)、八叉树法(Octree)等都有与其类似的特点。中值切割法的前提是认为数量化后的图像中每种色彩索引所包含的像素点数量是一样的。然后根据原始图像的色彩分布分割色彩空间,直到分割为κ个子空间,其中K为色彩索引的数量。具体的算法如下:
(1)在指定的色彩空间中找到容纳图像中所有颜色的最小长方体。
(2)在该长方体的最长轴上对包含的色彩根据其值排序。
(3)在排完序后数列中找到中位数,在中位数处把长方体分为两部分。
(4)重复上述的步骤,直到把空间分割成κ个子空间为止。
(5)最后κ个子空间中的色彩为其空间内所有像素的平均值。
4.3 细小缺陷的检测
细小类缺陷的检测方法可以通过膨胀腐蚀法(Expansion-Contraction Method)检测。膨胀和腐蚀是数字图像处理中形态学方法(Morphological Operations)}28]的两种核心操作。膨胀(Dilation)是指让被操作的目标形态上扩大,这个过程中小孔可能会被填充完整,断的物件可能会被连接上。腐蚀(Erosion)是指通过去除目标的边缘部分而达到收缩目标形态的效果。这些操作都可以通过选取合适的结构元素来确定目标如何被膨胀和腐蚀。
膨胀处理的过程是通过指定一个结构元素E,并让这个结构元素E在待处理图像的像素上滑动,然后根据以下步骤确定是否需要膨胀该像素点:(l)如果原图像中与结构元素重合的区域没有与结构元素中同一值的像素点,那么该点像素保持不变,结构元素滑至下一个待处理像素。
(2)如果原图像中与结构元素重合的区域存在与结构元素中同一值的像素点,那么把该像素置为有效值(有效值与无效值可以预先指定,比如有效值为黑色,无效值为白色)。
腐蚀操作的处理过程与膨胀操作类似,也是指定一个结构元素,并让这个结构元素E在待处理图像的像素上滑动,然后根据以下步骤确定是否需要膨胀该像素点:
(1)如果原图像中与结构元素重合的区域没有与结构元素中同一值的像素点,那么该点像素保持不变,结构元素滑至下一个待处理像素。
(2)如果原图像中与结构元素重合的区域存在与结构元素中不同值的像素点,那么把该像素置为无效值。
AOI算法中的膨胀腐蚀法是基于以上介绍的膨胀腐蚀操作的。该算法的步骤如下:
(1)选取合适的结构元素E。
(2)对输入的图像用结构元素E进行膨胀操作。
(3)对经过步骤2处理的结果再用结构元素E进行腐蚀操作。
(4)对上一步结果再用结构元素E进行腐蚀操作。
(5)在上一步结果上用结构元素E进行膨胀操作。
(6)把步骤5的结果与原始输入图像作差比较,得到的缺陷的检测结果。4.4 大尺寸缺陷的检测
大尺寸缺陷是指与正常的PCB元件相比尺寸类似或者更大的缺陷。与细小