APP下载

边缘梯度算法在LED 晶片定位的应用研究*

2021-10-26宋华军张永昊

电子器件 2021年4期
关键词:分拣机晶片金字塔

宋华军,韩 旭,李 翼,张永昊

(中国石油大学(华东)海洋与空间信息学院,电子信息工程系,山东 青岛 266580)

LED 晶片分拣机是将LED 晶片按等级从晶片盘分拣至料片(成品)盘的设备,而对晶片盘中晶片的识别和定位是分拣过程中最为关键的步骤之一[1]。在对晶片盘中的晶片定位时,晶片会出现微小角度歪斜,识别出歪斜晶片的角度可以减少漏检率,也可以使LED 分拣机的分拣过程更加流畅。传统LED 分拣机大多采用基于Hu 矩的形状匹配或者基于灰度的模板匹配对LED 晶片进行定位。基于灰度的模板匹配方法虽然可以完成LED 晶片的定位,但该方法计算量大,耗时较长。而Hu 矩具有旋转不变性,因此基于Hu 矩的形状匹配无法识别出晶片旋转角度[2]。

吴晓等[3]采用粗精结合的匹配实现较为准确的定位,但LED 晶片分拣机对速度的要求不断提高,该方法的速度已满足不了需求。Jun-Bo X 等[4]为了提高模板匹配的性能,提出基于梯度搜索的圆模板匹配方法,采用灰度匹配值和差分匹配值来共同设定匹配值,但该方法无法识别出晶片旋转角度。

针对上述存在的问题,利用基于边缘梯度的晶片定位算法对LED 晶片进行识别和定位,通过计算LED 晶片模板图像和LED 晶片待搜索图像边缘点梯度,将梯度相关性作为匹配的相似度[5],既提高了定位速度,也能识别出晶片旋转角度。HexSight视觉软件的算法是机器视觉领域成熟稳定的算法,设置实验与HexSight 的算法进行比较,证明速度优于HexSight 的算法,且在稳定性、精度和速度方面均满足LED 晶片定位的基本要求。

后续结构如下:第一节介绍基于边缘梯度的晶片定位算法的流程。第二节介绍了对该算法的优化。第三节设置实验与HexSight 的算法比较并进行分析。

1 基于边缘梯度的晶片定位算法

基于边缘梯度的晶片定位算法的主要思想是采用边缘梯度进行相似性度量,使得算法在LED 晶片旋转的情况下仍能准确的匹配,提高算法的适用性,并且提高LED 晶片识别定位速度。算法整体流程图如图1 所示。

图1 算法整体流程图

首先,对LED 晶片模板图像和LED 晶片待搜索图像进行高斯滤波等图像预处理。对LED 晶片模板图像以0.1°的步长进行旋转,然后金字塔下采样,生成一系列不同旋转角度和三层金字塔的模板,用Canny 算子提取边缘点,计算并保存边缘点对应的梯度,并归一化处理[6]。同样,对LED 晶片待搜索图像进行下采样,生成三层金字塔的LED 晶片待搜索图像,分别提取并计算LED 晶片待搜索图像不同层级的金字塔图像的边缘点梯度信息,最后,通过归一化互相关匹配算法计算LED 晶片模板边缘梯度和LED 晶片待搜索图像边缘梯度向量的相关性[7],根据相关性大小获取匹配信息,得到晶片旋转角度、位置中心,完成晶片识别和定位。

下面对算法主要步骤进行解释。

1.1 边缘特征点提取及筛选

用Canny 算子分别提取不同旋转角度和金字塔层级的LED 晶片模板图像的边缘点。同样,分别提取不同金字塔层级的LED 晶片待搜索图像的边缘点,获取边缘点x方向和y方向的梯度,计算所有边缘点梯度的幅值和方向。通过非最大值抑制以及双阈值法识别出伪边缘点,不作为后续相关性计算的数据[8]。

1.2 相关性计算

将LED 晶片模板图像转换为一个点集pi=(ri,ci)T,每一个点(ri,ci)对应的梯度向量为di=(ti,ui)T。同样,对LED 晶片待搜索图像进行处理,得到每个点(x,y)及其对应的梯度向量ex,y=(vx,y,ωx,y)T。对LED 晶片模板图像仿射映射[9],得到点集pi′=Api,梯度向量=(A-1)Tdi,其中A为二阶标准旋转矩阵。计算LED 晶片模板图像中边缘点梯度与LED 晶片待搜索图像子图像的边缘点梯度相关性,并将其作为匹配相似度[10]。在LED 晶片待搜索图像点q=(r,c)T处,模板与待搜索图像的相似度量值的计算表示如下:

式中:n为边缘点数。在计算LED 图像梯度时,向量的模与LED 图像亮度有很大关系,所以(1)式容易受到光照或非线性噪声的影响,对其进行归一化处理:

通过(2)式可以得到0 到1 的匹配得分,该分值越高,表示当前LED 晶片待搜索图像的子图与LED 晶片模板图像越匹配[11]。

从图像金字塔顶层开始,计算边缘梯度的相似性。在最顶层获得与模板图像相似的大概位置后,将该位置映射到下一层,在一定ROI 区域内进行更准确的匹配,以此类推,到金字塔的底层为止。每次计算匹配得分之后,将该得分与提前设定好的阈值做比较,若高于该阈值,则保存该子图位置和旋转角度,并将该得分作为LED 晶片待搜索图像下一个子图像的阈值。当遍历完整个LED 晶片待搜索图像后的阈值就是当前LED 晶片待搜索图像的最高匹配得分,而对应的位置和旋转角就是晶片位置和旋转角。

2 多LED 晶片的快速识别

LED 晶片待搜索图像中通常存在多个与LED晶片模板相匹配的目标位置,需要全部将其识别并定位。当应用基于边缘梯度的算法识别出一个LED 晶片后,该位置的匹配得分很高,并且该位置附近区域的匹配分数也会较高。由于每一个LED晶片之间有一定间隔,因此可以在得到一个LED 晶片的位置中心后,将LED 晶片待搜索图像中该匹配目标所在区域内的边缘梯度幅值设为0,然后对不同金字塔层的LED 晶片待搜索图像对应位置做同样的处理[12]。下一次匹配时,该位置及附近位置不会被匹配到,因此与上一次匹配相比,处理的速度也会变快。此时最高匹配得分位置将不再是之前匹配到晶片的区域,所以可以找到该区域外的最高匹配得分,进而定位到另一个晶片。重复上述过程直至所有晶片都被识别和定位。最后,将所有的LED 晶片位置中心都记录下来,完成一张LED 晶片待搜索图像的完整识别和定位。

此外,为了提高搜索速度,在搜索过程中设置了终止计算条件,设定一个阈值Smin来确定何时停止计算相似度量。设LED 晶片模板图像前j个元素的点积和为Sj,由(2)式可知其相似度量表示为:

由(3)式可知,点积总和中剩余的n-j项都小于1,因此当部分和满足Sj<Smin-1+j/n条件时,对应匹配得分的局部最大值也无法高于Smin[13]。满足该情况后,在第j个元素就停止LED 晶片待搜索图像与LED 晶片模板图像的相似性的计算,减少了整个匹配过程的计算量,因此设置终止计算条件的搜索策略可以有效地提高算法速度。

3 实验与结果分析

实验采用的视觉系统包括高性能CCD 相机,可控红色环形光源和点光源以及高倍率连续变焦镜头,实现LED 晶片图像的获取。

通过基于边缘梯度的晶片定位算法得到的匹配结果图像如图2 所示。为了验证基于边缘梯度的晶片定位算法稳定性、精度和速度,设置实验与HexSight 的算法进行比较。

图2 基于边缘梯度的晶片定位算法匹配结果

为检验算法的稳定性,在每一种旋转角度下随机取20 幅晶片盘不同位置的图像,每幅图像中有25 个完整的晶片,所以每一个旋转角度包含500 个晶片。6 种旋转角度总共120 幅图像,设顺时针旋转角度为正值。对结果进行分析,如表1 所示。

表1 不同角度晶片识别率结果

表1 结果表明,不同旋转角度下,基于边缘梯度的晶片定位算法识别率均很高,120 幅LED 晶片图像共3 000 个晶片,精准识别出2 995 个。总识别率达到99.83%,与HexSight 的算法识别率相当,满足LED 晶片分拣机对识别率大于99%的要求。

为检验算法的精度,在一幅LED 晶片图中选取8 个晶片,如表2 所示。

表2 结果表明,基于边缘梯度的晶片定位算法与HexSight 的算法定位坐标几乎一致,总体偏差在1 pixel 之内。

表2 识别坐标对比结果 单位:pixel

为检验算法的速度,在每一种旋转角度下随机取20 幅晶片盘不同位置的图像,每幅图像中有25个完整的晶片,7 种旋转角度总共140 幅图像,对其进行算法耗时计算,并与HexSight 的算法比较,如图3 所示。

从图3 结果可以看出,基于边缘梯度的晶片定位算法每幅图像计算耗时均在85 ms 以内。平均每个晶片耗时3.4 ms 以内,速度优于HexSight 视觉软件算法,可以满足LED 晶片分拣机实际工作时对速度的要求。

图3 耗时实验结果

4 结束语

为解决传统LED 分拣机视觉系统速度较慢,无法识别晶片旋转角度的问题,应用基于边缘梯度的算法对LED 晶片进行识别和定位。该方法提取LED 晶片搜索图像不同层级金字塔图像的边缘点梯度信息,通过互相关算法计算边缘梯度向量相关性获取匹配信息,实现对晶片的识别和定位。经验证,基于边缘梯度的晶片定位算法能识别出晶片旋转角度,速度优于HexSight 的算法,平均3.2 ms 完成一个晶片角度的识别和定位,满足LED 晶片高速识别和定位需求。

猜你喜欢

分拣机晶片金字塔
“金字塔”
交叉带式邮件分拣机常见故障的分析及处理
福特phve冷板检测定位pin自动分拣机控制系统的研究
Great Vacation Places
海上有座“金字塔”
基于SVM-DTC的测试分拣机下压机构电机力矩控制
双晶片悬臂梁式压电传感器的有限元仿真研究
神秘金字塔
基于STM32 的自动硬币分拣机控制系统设计
IBM发明纳米碳管晶片 可使晶片速度提高1000倍