本发明涉及图像处理技术领域,具体为一种基于改进的可变形部件模型的矩形引脚芯片定位方法。
背景技术:
随着电子元器件向着微小化发展,机器视觉检测技术在各个领域得到了广泛的应用。对于芯片检测行业而言,由于芯片的高度集成化,芯片之间的间距越来越小,中心检测与引脚定位的难度越来越大,精度要求也越来越高,对芯片引脚进行准确的定位显得十分重要,利用一种高精度的技术对芯片引脚进行定位是急需解决的问题。现有针对引脚芯片的定位方法无法准确的定位出带有形变的矩形引脚芯片。
技术实现要素:
本发明的目的是:针对现有技术中的定位方法无法准确的定位出带有形变的矩形引脚芯片的问题,提出一种基于改进的可变形部件模型的矩形引脚芯片定位方法。
本发明为了解决上述技术问题采取的技术方案是:
一种基于改进的可变形部件模型的矩形引脚芯片定位方法,包括以下步骤:
步骤一:获取芯片区域图像;
步骤二:对图像中引脚区域进行提取,得到初步筛选的潜在引脚区域;
步骤三:首先通过带旋转角度的滑动窗口法,在芯片图像中确定多个带有旋转角度的检测位置,其次根据带有旋转角度的检测位置确定引脚的理想位置,然后根据引脚的理想位置与初步筛选的潜在引脚区域逐个判断是否重叠,若重叠则该区域为对应引脚模型的形变实例,之后计算引脚模型的分数和根模型的分数,从而得到芯片整体模型的分数,进而在局部位置搜索最优的形变;
步骤四:根据步骤三中获得的局部位置最优形变及芯片整体模型的分数,通过非最大化抑制方法判断局部最大值,进而判断图片中芯片的位置。
进一步的,所述步骤二的具体步骤为:
步骤二一:采用基于高斯混合模型的图像分割算法对输入图像进行图像分割,并在芯片图像中提取潜在引脚像素;
步骤二二:基于图像分割的结果,利用联通区域标记算法对潜在引脚像素进行标记,获得联通的区域,并将联通的区域作为潜在引脚区域;
步骤二三:根据步骤二二得到的潜在引脚区域,估计其带有旋转角度的外接矩形;
步骤二四:提取潜在引脚区域的参数,所述参数包括:尺寸和矩形度;
步骤二五:在潜在引脚区域中,剔除尺寸过小或矩形度过小的区域,得到初步筛选的潜在引脚区域。
进一步的,所述矩形度的公式为:
其中,aregion为联通区域的面积,arectangle为有旋转角度的外接矩形的面积。
进一步的,所述对应引脚模型的形变实例通过引脚搜索金字塔得到,所述引脚搜索金字塔包含四层区域,所述四层区域为无旋转芯片级搜索区域、有旋转芯片级搜索区域、引脚组级搜索区域和引脚级搜索区域;
所述无旋转芯片级搜索区域执行如下步骤:首先定义一个无旋转的搜索空间,使其覆盖所有旋转角度的芯片空间,然后将所有潜在引脚区域中与无旋转的芯片级搜索空间重叠的区域作为无旋转的搜索空间内潜在引脚区域,之后设定一个阈值,若无旋转的芯片级搜索空间内潜在引脚区域的数目大于该阈值,则认为,此位置上可能存在芯片,则由有旋转芯片级搜索区域处理;若引脚区域的数目小于该阈值,则终止操作;
所述有旋转芯片级搜索区域执行如下步骤:首先根据待检测位置的位姿和芯片参数定义一个有旋转的芯片级搜索空间,使其覆盖所有引脚,然后将无旋转的搜索空间内潜在引脚区域中,与有旋转的芯片级搜索空间重叠的潜在引脚区域,作为有旋转的搜索空间内潜在引脚区域,之后设定一个阈值,若有旋转的芯片级搜索空间内潜在引脚区域的数目大于该阈值,则由引脚组级搜索区域处理;若引脚区域的数目小于该阈值,则终止操作;
所述引脚组级搜索区域执行如下步骤:首先根据待检测位置的位姿和芯片参数定义引脚组级搜索空间,使其覆盖该组引脚,然后将有旋转的芯片级搜索空间内潜在引脚区域中,与引脚组级搜索空间重叠的潜在引脚区域,作为引脚组级搜索空间内潜在引脚区域,之后设定一个阈值,若引脚组级搜索空间内潜在引脚区域的数目大于该阈值,则由引脚级搜索区域处理;若引脚区域的数目小于该阈值,则终止操作;
所述引脚级搜索区域执行如下步骤:首先根据待检测位置的位姿和芯片参数定义引脚级搜索空间,使其覆盖该引脚,然后将引脚组级搜索空间内潜在引脚区域中,与引脚级搜索空间重叠的潜在引脚区域,作为该引脚模型的形变实例,若引脚模型的形变实例的个数为零,则该检测位置上该引脚模型找不到合适的形变。
进一步的,所述步骤三的具体步骤为:
步骤三一:通过带旋转角度的滑动窗口法,在芯片图像中确定多个带旋转角度的待检测位置;
步骤三二:在每个带旋转角度的待检测位置上,确定芯片及其引脚的理想位置,其中芯片的理想位置与待检测位置相同,芯片的理想角度与待检测位置的角度相同,所述引脚的理想位置根据芯片的标准参数获得;
步骤三三:通过引脚搜索金字塔得到引脚模型对应的引脚区域,进而得到芯片引脚模型的形变实例;
步骤三四:根据步骤三三得到的引脚模型对应的引脚区域,计算第i个引脚模型li的分数si(·),分数si(·)为:
si(δr,δ1,…,δn)=s1i(p(δr,δi))+s2i(p(δr,δi),pi(δr,δ1,…,δn))
若引脚模型有一个引脚区域,则s1i(p(δr,δi))的定义为:
s1i(p(δr,δi))=α1×(swl+hl)+2×r
式中:
α1和α2为常参数,设置为1;其中,
若引脚模型有两个引脚区域,分别为root和foot,则s1i(p(δr,δi))的定义为:
式中:α1、α2、α3和α4为常参数,可以设置为1;
rk为引脚区域的矩形度;
s2i(p(δr,δi),pi(δr,δ1,…,δn))的定义为:
s2i(p(δr,δi),pi(δr,δ1,…,δn))=β×(sld+sa)
式中:
β为常参数,设置为1;
步骤三五:根据步骤三四得到的引脚的位置,进而得到芯片的位置,然后计算芯片根模型的分数:
步骤三六:根据步骤三四中引脚模型的分数和步骤三五中得到的根模型的分数计算芯片整体模型的分数,并将待检测位置上最大分数的形变作为当前位置的局部位置最优形变。
进一步的,所述步骤三五中计算芯片的根模型的分数公式为:
式中:
l0为图像对角线长度的一半,lc为芯片中心到图像中心的距离;θmax为芯片的旋转角度最大容许值,θ为芯片的旋转角度,li为第i个干扰区域到芯片中心的距离,ri为第i个干扰区域的矩形度,rt为引脚区域的矩形度阈值。
进一步的,所述引脚区域的矩形度阈值rt为0.7。
进一步的,所述步骤三六中计算芯片整体模型的分数公式为:
其中,sr为根模型的分数。
本发明的有益效果是:本发明首先从芯片图片中提取潜在引脚区域及其参数,然后在局部位置上搜索芯片形变,最后在全图片上搜索芯片形变。本发明可以准确的定位出带有形变的矩形引脚芯片,抗干扰能力强。
附图说明
图1为本发明的流程图;
图2为引脚搜索金字塔图。
具体实施方式
具体实施方式一:参照图1具体说明本实施方式,本实施方式所述的一种基于改进的可变形部件模型的矩形引脚芯片定位方法,包括以下步骤:
步骤一:获取芯片区域图像;
步骤二:对图像中引脚区域进行提取,得到初步筛选的潜在引脚区域;
步骤三:首先通过带旋转角度的滑动窗口法,在芯片图像中确定多个带有旋转角度的检测位置,其次根据带有旋转角度的检测位置确定引脚的理想位置,然后根据引脚的理想位置与初步筛选的潜在引脚区域逐个判断是否重叠,若重叠则该区域为对应引脚模型的形变实例,之后计算引脚模型的分数和根模型的分数,从而得到芯片整体模型的分数,进而在局部位置搜索最优的形变;
步骤四:根据步骤三中获得的局部位置最优形变及芯片整体模型的分数,通过非最大化抑制方法判断局部最大值,进而判断图片中芯片的位置。
所述引脚的理想位置指的是没有形变的情况下芯片和引脚的位置。
所述步骤一采用黑白相机获取芯片图像。
步骤二:对图像中引脚区域进行提取
步骤二一:采用基于高斯混合模型的图像分割算法对输入图像进行图像分割,将芯片图片分为背景像素和引脚像素;
步骤二二:基于图像分割的结果,基利用联通区域标记算法对潜在引脚像素进行标记,获得联通的区域,并将联通的区域作为潜在引脚区域;
步骤二三:根据步骤二二得到的潜在引脚区域,估计其带有旋转角度的外接矩形;
步骤二四:提取潜在引脚区域的参数,包括:尺寸(长度、宽度、面积)、矩形度,其中矩形度的定义为:
其中,aregion为联通区域的面积,arectangle为有旋转角度的外接矩形的面积;
步骤二五:在潜在引脚区域中,在潜在引脚区域中,剔除尺寸过小或矩形度过小的区域,得到初步筛选的潜在引脚区域。
步骤三:局部位置搜索芯片形变
步骤三一:通过带旋转角度的滑动窗口法,在芯片图片中确定多个带旋转角度的待检测位置。
步骤三二:在每个带旋转角度的待检测位置上,确定芯片及其引脚的理想位置,其中芯片的理想位置与待检测位置相同,芯片的理想角度与待检测位置的角度相同,所述引脚的理想位置根据芯片的标准参数获得;
步骤三三:通过引脚搜索金字塔得到引脚模型对应的引脚区域,进而得到芯片引脚模型的形变实例,
搜索芯片的引脚模型的形变实例,可以通过一个四层的引脚搜索金字塔来搜索引脚,引脚搜索金字塔如图2所示,其具体结构为:
所述引脚搜索金字塔包含四层区域,所述四层区域为无旋转芯片级搜索区域、有旋转芯片级搜索区域、引脚组级搜索区域和引脚级搜索区域;
所述无旋转芯片级搜索区域执行如下步骤:首先定义一个无旋转的搜索空间,使其覆盖所有旋转角度的芯片空间,然后将所有潜在引脚区域中与无旋转的芯片级搜索空间重叠的区域作为无旋转的搜索空间内潜在引脚区域,之后设定一个阈值,若无旋转的芯片级搜索空间内潜在引脚区域的数目大于该阈值,则认为,此位置上可能存在芯片,则由有旋转芯片级搜索区域处理;若引脚区域的数目小于该阈值,则终止操作;
所述有旋转芯片级搜索区域执行如下步骤:首先根据待检测位置的位姿和芯片参数定义一个有旋转的芯片级搜索空间,使其覆盖所有引脚,然后将无旋转的搜索空间内潜在引脚区域中,与有旋转的芯片级搜索空间重叠的潜在引脚区域,作为有旋转的搜索空间内潜在引脚区域,之后设定一个阈值,若有旋转的芯片级搜索空间内潜在引脚区域的数目大于该阈值,则由引脚组级搜索区域处理;若引脚区域的数目小于该阈值,则终止操作;
所述引脚组级搜索区域执行如下步骤:首先根据待检测位置的位姿和芯片参数定义引脚组级搜索空间,使其覆盖该组引脚,然后将有旋转的芯片级搜索空间内潜在引脚区域中,与引脚组级搜索空间重叠的潜在引脚区域,作为引脚组级搜索空间内潜在引脚区域,之后设定一个阈值,若引脚组级搜索空间内潜在引脚区域的数目大于该阈值,则由引脚级搜索区域处理;若引脚区域的数目小于该阈值,则终止操作;
所述引脚级搜索区域执行如下步骤:首先根据待检测位置的位姿和芯片参数定义引脚级搜索空间,使其覆盖该引脚,然后将引脚组级搜索空间内潜在引脚区域中,与引脚级搜索空间重叠的潜在引脚区域,作为该引脚模型的形变实例,若引脚模型的形变实例的个数为零,则该检测位置上该引脚模型找不到合适的形变。
步骤三四:计算芯片的引脚模型的分数
根据步骤三三引脚模型对应的引脚区域,可以计算第i个引脚模型li的分数si(·),分数si(·)由两部分组成:
si(δr,δ1,…,δn)=s1i(p(δr,δi))+s2i(p(δr,δi),pi(δr,δ1,…,δn))式2
其中,s1i(·)只处理与引脚区域自身相关的信息,而s2i(·)还需要考虑其它引脚和芯片整体的信息。
引脚模型分数的第一部分s1i(p(δr,δi))只与引脚自身的形变相关,主要反映的是引脚的缩放形变和引脚的矩形度。对于引脚内区域数目不同,s1i(p(δr,δi))的定义不同:
1.对于引脚只要一个区域的情况,s1i(p(δr,δi))的定义为:
s1i(p(δr,δi))=α1×(swl+hl)+2×r式3
式中:
α1和α2为常参数,设置为1;
r为引脚区域的矩形度。
2.对于引脚有两个区域的情况,两个区域分布为根部和足部,s1i(p(δr,δi))的定义为:
式中:
α1、α2、α3和α4为常参数,设置为1;
rk为引脚区域的矩形度;
引脚模型分数的第二部分s2i(p(δr,δi),pi(δr,δ1,…,δn))的定义为:
s2i(p(δr,δi),pi(δr,δ1,...,δn))=β×(sld+sa)
式中:
β,常参数,可以设置为1;
步骤三五:根据步骤三四得到的引脚的位置,进而得到芯片的位置,然后计算芯片根模型的分数:
式中:
l0图片对角线的长度的一半;
lc芯片中心到图像中心的距离;
θmax芯片的旋转角度最大的容许值;
θ芯片的旋转角度;
li第i个干扰区域到芯片中心的距离;
ri第i个干扰区域的矩形度;
rt引脚区域的矩形度阈值,一般设置为0.7。
步骤三六:根据步骤三四中引脚模型的分数和步骤三五中得到的根模型的分数计算芯片整体模型的分数,并将待检测位置上最大分数的形变作为当前位置的局部位置最优形变。
计算芯片整体模型的分数为:
将待检测位置上最大的分数作为当前位置的分数。
步骤四:全图片位置搜索芯片形变:
根据步骤三中获得的局部位置最优形变及芯片整体模型的分数,通过非最大化抑制方法判断局部最大值,进而判断图片中芯片的位置。
在步骤三中,已经为图片的每个潜在位置上获得了分数及对应的形变实例,可以通过最大化抑制的方法,判断局部最大值,来判断图片中芯片的位置。
实施例:
为了验证本发明提出的定位方法,发明人收集了本节的实验采用多种分组的矩形引脚芯片采集数据,包括sot23-4、sop16、qfp32和qfp114四种芯片,其中,sot32-4和sop16是双列引脚芯片,qfp32和qfp144是四列引脚芯片;另一方面,四种芯片的引脚数目从4个到144个,数目变化也非常大。综上所述,本节选用的四种芯片基本覆盖了矩形引脚芯片的大多数特点。在各种光照下采集了20张图片,因此一共有800个测试样本。
在实验中,用本章讨论的芯片定位算法处理这些测试样本,并将算法得到的芯片位置与三星sm482机器得到的结果进行对比。如表1-1所示,将本文所提算法与标准值求差后,求得误差绝对值的平均值,如表1-1所示。从表中可以看出,本文所提算法得到的x坐标和y坐标的平均误差与像素宽度相近,已达到设备的最小系统误差。
表1-1本发明的定位误差
本发明中所述的非最大化抑制即为非极大值抑制算法(non-maximumsuppression,nms)
需要注意的是,具体实施方式仅仅是对本发明技术方案的解释和说明,不能以此限定权利保护范围。凡根据本发明权利要求书和说明书所做的仅仅是局部改变的,仍应落入本发明的保护范围内。