一种基于视觉的SOP元件定位和缺陷检测方法
技术领域
本发明涉及表面组装技术(SMT)视觉系统中SOP元件的视觉检测方法,主要实现SOP元件视觉定位以及视觉缺陷检测功能。
背景技术
随着电子工业的发展,表面贴装技术(SMT,Surface Mount Technology)也迅速发展。其中,贴片机是SMT生产线上的关键设备,主要实现贴片元件的组装。高性能的贴片机普遍采用了机器视觉系统,这是贴片机最为关键的系统之一,其性能直接影响到的贴片机的贴装精度和速度。
对于一套成熟的贴片机视觉系统,元件的视觉识别方法的研究与论证显得至关重要,这是贴片机视觉系统的基础性问题,好的元件视觉识别方法会大大提高贴片机贴装时的精度和速度,并且随着现如今各类封装技术的完善,元件的种类也越来越多,这也对元件视觉识别方法的有效适用范围提出了更高的要求。
针对现如今SOP元件在贴片机贴装时出现的精度不够,对外界环境变化敏感的问题,设计一种具有良好实时性,对多型号SOP元件都适用的SOP元件视觉定位与缺陷检测的识别方法。
发明内容
本发明是要解决SOP元件在贴片机贴装时出现的精度不够,对外界环境变化敏感的问题,而提供了一种具有良好实时性,对多型号SOP元件都适用的SOP元件视觉定位与视觉缺陷检测的方法。
一种基于视觉的SOP元件定位和缺陷检测方法,它按以下步骤实现:
一、检查所选区域图像是否符合亮度要求;
(1)扫描所有所选区域图像像素点,将图像像素点总个数记为s1,灰度值大于150的像素点个数记为s2;
(2)取比值r1=0.03,r2=0.90,若s1/s2<r1图像区域太暗,若s1/s2>r2则图像区域太亮,停止并返回相应错误码;否则继续进行下一步;
二、将所选区域图像进行二值化,得到二值化图像;
三、采用canny边缘检测提取法提取第二步得到的二值化图像的外边界轮廓,得到二值化图像的各个外边界点集;且存放于一个二维点容器中,对不同的外边界点集进行随机标号;
四、对第三步得到的各个外边界点集进行“灰度值检查”操作,得到符合要求的边界点集;
五、将第四步得到的边界点集进行“面积筛选”操作,得到符合面积要求的边界点集;
六、寻找第五步符合面积要求的边界点集整体的最小外接矩形,将此最小外接矩形近似为整个SOP元件的最小外接矩形,并且根据此最小外接矩形的旋转角度和中心坐标确定SOP元件的粗略旋转角度α和元件粗略中心坐标(x0,y0);
七、对第六步中得到的SOP元件的粗略旋转角度α进行判断;当|α|>30°时停止并返回“旋转角度过大”的错误码;否则继续进行下一步;
八、求取第五步中符合面积要求的各个边界点集的中心坐标;
其中,所述求取每一个边界点集中心坐标(x,y)采用质心的原理,理论依据如下:
边界点集及其内部包围的点个数为N;用(xi,yi)来表示该边界包含的第i(i=1,2,…,N)个点;
mi=1表示(xi,yi)在边界上,mi=0表示(xi,yi)在边界内部,(x,y)为所求质心中心坐标;
九、在第五步得到的符合面积要求的边界点集中寻找SOP元件引脚足部的边界点集,并且以对应的引脚足部的边界点集中心坐标作为每个引脚足部的中心坐标;其中,所述引脚足部的边界点集包括上部引脚足部边界点集与下部引脚足部边界点集;
十、在第五步得到的符合面积要求的边界点集中寻找SOP元件引脚根部的边界点集,并且以对应的引脚根部的边界点集中心坐标作为每个引脚根部的中心坐标;其中,所述引脚根部的边界点集包括上部引脚根部边界点集与下部引脚根部边界点集;
十一、将第九步和第十步中得到的上部引脚足部边界点集和上部引脚根部边界点集存储到上部引脚边界点集中,下部引脚足部边界点集和下部引脚根部边界点集存储到下部引脚边界点集中;同时将对应的上部引脚足部边界点集中心和上部引脚根部边界点集中心存储到上部引脚边界点集中心集中,下部引脚足部边界点集中心和下部引脚根部边界点集中心存储到下部引脚边界点集中心集中;
十二、将第十一步得到的上下部引脚边界点集按照第六步所得SOP元件的粗略旋转角度α进行仿射变换,旋转中心为步骤六得到的SOP元件粗略中心(x0,y0),将其“转正”得到“转正元件”,即“转正”上下部引脚边界点集,并且记录“转正”前后各个引脚边界点集的对应关系,同时对每一个对应的边界点集中心进行“转正”操作,得到“转正”引脚中心点集;
其中,所述“转正”的理论依据如下:
设置仿射变换矩阵为将界点集中原始点坐标为的点变换到旋转中心是SOP元件的粗略中心坐标(x0,y0);
十三、将第十二步得到的“转正”上下部引脚边界点集分别进行引脚类别分类并且标号;
十四、根据第十三步得到的引脚类别分类结果以及标号,将第九步和第十步得到的引脚足部边界点集和引脚根部边界点集进行整理,明确每一个“引脚—足部—根部”的对应关系;并且整理得到上部引脚足部边界点集的集合,上部引脚边界点集的集合,下部引脚足部边界点集的集合,下部引脚边界点集的集合这四个边界点集集合,以及上部引脚足部中心点集,上部引脚中心点集,下部引脚足部中心点集,下部引脚边中心点集这四个中心点集合
十五、根据第十四步整理得到的四个边界点集集合利用其最小外接矩形求取引脚长度hpin、引脚足部长度hfoot以及引脚数量spin;
十六、根据第十四步整理得到的四个中心点集利用整体最小二乘法拟合直线得到引脚拟合直线:包括上部引脚根部拟合直线L-PIN-UP、下部引根部脚拟合直线L-PIN-DOWN上部引脚足部拟合直线L-FOOT-UP与下部引脚足部拟合直线L-FOOT-DOWN;
十七、利用十六步中得到的引脚拟合直线求取引脚足部宽度wfoot、引脚间距ppin和SOP元件精确中心坐标(xa,ya)、SOP元件精确旋转角度αa、SOP元件精确宽度wbody以及SOP元件精确长度hbody,得到该SOP元件拟合矩形;至此完成SOP元件的视觉定位操作;
十八、由以上得到的数据进行SOP元件引脚缺陷检测,至此完成了一种基于视觉的SOP元件定位和缺陷检测方法。
发明效果:
经过实践,本专利方法几乎可以实现现在市面上所有种类的SOP元件的视觉定位与缺陷检测,如图16为两个具体SOP元件利用本方法实现视觉定位的效果图。对于这两种SOP元件,在本方法下的处理时间都不超过20ms,相同外界条件下100次重复测试的重复精度也达到±0.001mm内,可见本方法在精度、速度和稳定性方面都很强。
附图说明
图1是本发明图像处理坐标系选定图;以图像左上角为原点,向右为x轴正方向,向下为y轴正方向作为坐标系;
图2是本发明选取的8位单通道区域图像;
图3是手动输入固定阈值二值化方法得到二值图像;
图4是类间方差最大的方法(otsu)得到二值图像;
图5是“面积筛选”操作后得到符合面积要求的边界点集图;
图6是元件近似最小外接矩形;
图7是符合面积要求的边界点集及边界点集中心点集;
图8是本发明中筛选得到的上部和下部引脚足部边界点集及上部和下部引脚足部边界点集中心点集;
图9是本发明是本发明中筛选得到的上部和下部引脚根部边界点集及上部和下部引脚根部边界点集中心点集;
图10是本发明步骤九与步骤十得到的上部下部边界点集及上部下部边界点集中心点集;
图11是本发明仿射变换“转正”后的“转正元件”图;
图12是本发明一般最小二乘法误差考虑示意图;
图13是本发明整体最小二乘法误差考虑示意图;
图14是本发明上部和下部引脚足部拟合直线L-FOOT;
图15是本发明上部下部引脚拟合直线L-PIN;
图16是本发明根据步骤十七拟合得到的元件边界直线与元件中心图;
图17是本发明引脚标号以及引脚—足部—根部对应关系示意图。
具体实施方式
具体实施方式一:本实施方式的一种基于视觉的SOP元件定位和缺陷检测方法,它按以下步骤实现:
一、检查所选区域图像是否符合亮度要求;
(1)扫描所有所选区域图像像素点,将图像像素点总个数记为s1,灰度值大于150的像素点个数记为s2;
(2)取比值r1=0.03,r2=0.90,若s1/s2<r1图像区域太暗,若s1/s2>r2则图像区域太亮,停止并返回相应错误码;否则继续进行下一步;
二、将所选区域图像进行二值化,得到二值化图像;
所述步骤二具体为:
(一)第一种是手动输入固定阈值二值化方法,即输入阈值为T,当第i行第j列的像素值tij≥T时,令tij=255;否则tij=0,如图4;
(二)第二种是类间方差最大的方法(Otsu法或者大津法),如图3;
三、采用canny边缘检测提取法提取第二步得到的二值化图像的外边界,得到二值化图像的各个外边界点集;且存放于一个二维点容器中,对不同的外边界点集进行随机标号;
四、对第三步得到的各个外边界点集进行“灰度值检查”操作,得到边界点值;并将符合要求的外边界点集进行标号;
五、将第四步得到的边界点集进行“面积筛选”操作,得到符合面积要求的边界点集如图5;
六、寻找第五步符合面积要求的边界点集整体的最小外接矩形如图6,将此最小外接矩形近似为整个SOP元件的最小外接矩形,并且根据此最小外接矩形的旋转角度和中心坐标确定SOP元件的粗略旋转角度α和元件粗略中心坐标(x0,y0);
七、对第六步中得到的SOP元件的粗略旋转角度α进行判断;当|α|>30°时停止并返回“旋转角度过大”的错误码;否则继续进行下一步;
八、求取第五步中符合面积要求的边界点集的中心坐标,并存储在一个一维点容器中,如图7;其中,所述SOP元件的粗略中心坐标(x0,y0)采用质心的原理,理论依据如下:
边界点集包围点数为N;用(xi,yi)来表示该边界及边界内部包含的第i(i=1,2,…,N)个点;mi=1表示(xi,yi)在边界上,mi=0表示(xi,yi)在边界内部,(x,y)为所求质心中心坐标;
九、在第五步得到的符合面积要求的边界点集中寻找SOP元件引脚足部的边界点集,并且以对应的引脚足部的边界点集中心坐标作为每个引脚足部的中心坐标;其中,所述引脚足部的边界点集包括上部引脚足部边界点集与下部引脚足部边界点集;
十、在第五步得到的符合面积要求的边界点集中寻找SOP元件引脚根部的边界点集并且以对应的引脚根部的边界点集中心坐标作为每个引脚根部的中心坐标;其中,所述引脚根部的边界点集包括上部引脚根部边界点集与下部引脚根部边界点集;方法同第九步,在寻找根部拟合直线时选取次最远的两条直线即可;
十一、将第九步和第十步中得到的上部引脚足部边界点集和上部引脚根部边界点集存储到上部引脚边界点集中,下部引脚足部边界点集和下部引脚根部边界点集存储到下部引脚边界点集中如图10;同时将对应的上部引脚足部边界点集中心和上部引脚根部边界点集中心存储到上部引脚边界点集中心集中,下部引脚足部边界点集中心和下部引脚根部边界点集中心存储到下部引脚边界点集中心集中如图10;
十二、将第十一步得到的上下部引脚边界点集按照第六步所得SOP元件的粗略旋转角度α进行仿射变换,旋转中心为步骤六得到的SOP元件粗略中心(x0,y0),将其“转正”得到“转正元件”如图11,即“转正”上下部引脚边界点集,并且记录“转正”前后各个引脚边界点集的对应关系,同时对每一个对应的边界点集中心进行“转正”操作,得到“转正”引脚中心点集;
其中,所述“转正”的理论依据如下:
设置仿射变换矩阵为将界点集中原始点坐标为的点变换到旋转中心采取的是SOP元件的粗略中心(x0,y0);采用变换后保留原图内容;
十三、将第十二步得到的“转正”上下部引脚边界点集分别进行引脚类别分类并且标号:要求上或下部中属于同一引脚的足部和根部边界点集定为一类,所分类别数就是上或下部引脚的数量;并且根据第十二步“转正”前后各个引脚边界点集的对应关系得到“转正”之前上下部引脚边界点集的引脚类别分类结果;
十四、根据第十三步得到的引脚类别分类结果以及标号,将第九步和第十步得到的引脚足部边界点集和引脚根部边界点集进行整理,明确每一个“引脚—足部—根部”的对应关系如图17;并且整理得到上部引脚足部边界点集的集合,上部引脚边界点集的集合,下部引脚足部边界点集的集合,下部引脚边界点集的集合这四个边界点集集合,以及上部引脚足部中心点集,上部引脚中心点集,下部引脚足部中心点集,下部引脚边中心点集这四个中心点集合
十五、根据第十四步整理得到的四个边界点集集合利用其最小外接矩形求取引脚长度hpin、引脚足部长度hfoot以及引脚数量spin;
十六、根据第十四步整理得到的四个中心点集利用整体最小二乘法拟合直线得到引脚拟合直线:包括上部引脚根部拟合直线L-PIN-UP、下部引根部脚拟合直线L-PIN-DOWN如图15中的两条直线,上部引脚足部拟合直线L-FOOT-UP与下部引脚足部拟合直线L-FOOT-DOWN如图14中的两条直线;
十七、利用十六步中得到的引脚拟合直线求取引脚足部宽度wfoot、引脚间距ppin和SOP元件精确中心坐标(xa,ya)、SOP元件精确旋转角度αa、SOP元件精确宽度wbody以及SOP元件精确长度hbody,得到如图16的该SOP元件拟合矩形;
十八、由以上得到的数据进行SOP元件引脚缺陷检测,即完成了SOP元件视觉定位与视觉缺陷检测操作;
(1)坐标系选取:本专利按图像处理惯例,以图像左上角为原点,向右为x轴正方向,向下为y轴正方向作为坐标系(如下图1);
(2)图像预处理:本专利所处理的图像已经为单通道8位灰度图像,并且根据图像自身特征选取了特征区域,即后续所述的区域图像。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤四具体为:
主要目的是处理以下两类外边界点集:一类是由于第2步二值化过程阈值选取过低时产生的多余外边界点集,需要去除此类外边界点集;另一类是由于某些边界之间存在内含、嵌套关系,需要明确此类外边界点集之间的关系;
1)取第三步中得到的某一个二值化图像的外边界点集,要求其内部包含的点数必须大于10,否则直接去除该外边界点集;
2)检查二值化图像的各个外边界点集是否有内含或者嵌套的外边界点集,有则将外两边界点集之间的连通区域像素值定为255,画到一个空的图像中,无则将此外边界点集所包含内部像素值定为255,画到一个空的图像中;
3)计算上一步得到的二值图像中像素值为255的像素点的个数记为s3,并且将上一步中画好的二值化图像与第二步中阈值为150的产生的二值图像做“位与”运算,计算该二值化图像中像素值为255的像素点个数记为s4;
4)计算s3/s4的值并将该值小于0.5所对应的外边界点集删除;
5)重复1)--4)直到取遍第3步中得到的所有边界点集。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤五具体为:
采用冒泡排序法将第四步各个边界点集按照边界所包围面积大小从小到大进行排序;
1)对排在中间三个的边界点集面积求取面积平均值记为a;
2)依次将各个边界点集所包围的面积ai与a进行比较,保留ai<2.5*a且ai>0.6*a的边界点集i;其中,所述ai为第i个边界点集的面积。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤六具体为:
本方法设计中所采用的求解最小外接矩的方法是一种基于空间几何的求解对象的最小外接矩形法,这里称之为几何凸壳法,此方法与常用的目标旋转法和顶点链码法相比避免了大量旋转角度计算和坐标变换计算,在显著减小计算量的同时,也提高了方法的精确度;方法思想步骤为:
1)获取图像中几何对象的点集M=((x1,y1),(x2,y2),…,(xn,yn));
2)当n=1,2,3时,退出并返回“点数过少无法进行最小外界矩的求解”,否则任取两点连接得到直线L;
3)令i=1;
4)寻找是否有点集中的点在直线L上,若Mi即M中的第i个点,即(xi,yi)在L上,则令i=i+1,再进行该步骤,若直到i=n时,点Mi仍然在直线L上,退出并返回“点在同一条直线上无法进行最小外接矩的求解”;否则进行下一步;
5)求取点集M=((x1,y1),(x2,y2),…,(xn,yn))的凸壳,并且以点集M的几何中心为原点按照逆时针方向得到凸壳点集合CH_M以及任意两个相邻凸壳点连线的凸壳边的集合CH_E;
6)令j=1;
7)寻找与凸壳边Ej相对应的其他矩形三边的点集Ma,Mb,Mc,要求以Ej为矩形一边来筛选点集Ma,Mb,Mc;
8)得到与凸壳边Ej相对应的矩形Rj,并存储其特征量,包括四顶点集P,四边方程参数集合Z,以及对应的面积A;
9)重复以上步骤直到j=n,绘制出面积变换曲线,寻找面积最小外接矩形对应的参数。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤九具体为:
具体步骤为:
1)将第八步中得到的各个边界点集中心重新画在一个图像上;
2)利用霍夫变换找到所有可能的直线集合Line1;
3)根据第七步得到的SOP元件的粗略旋转角度α来筛选Line1,要求直线的旋转角度与α相差小于1.5°,得到筛选后的直线集合Line2;
4)依次求解SOP元件粗略中心坐标(x0,y0)到Line2中各个直线的距离,找到分别在其上部和下部的最远直线L_up和L_down,作为上部和下部的粗略足部拟合直线;
5)依次求解各个边界点集中心到这两条直线的距离,分别将该距离最小的边界点集最小外接矩的长度作为上下两侧的引脚足部粗略长度C_h0和C_h1;
6)将上一步中所有到两条直线距离小于C_h0/2的对应边界点集定为上部引脚足部、将距离小于C_h1/2的对应边界点集定为下部引脚足部,进行存储。其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述步骤十三具体为:
1)对“转正元件”分离为上部图像和下部图像;
2)分别对上部图像和下部图像进行x轴方向的扫描,输出像素值有变化的像素点对应的x轴坐标;
3)根据一个引脚组在x轴方向坐标会变化两次的特点找到每一个引脚组所在的x轴坐标范围,按照如图17的标号方法进行标号;
4)依次取各个边界点集的“转正”中心,根据其x轴坐标值将其存入上一步中已经标号的引脚组中心点集当中,并且将对应的边界点集也存入已经标号的引脚组边界点集当中。
其它步骤及参数与具体实施方式一至五之一相同。
具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述步骤十五具体为:
1)对第十三步得到的各个引脚组边界点集求其最小外接矩形,并输出其最小外接矩形的长度pin_hi作为第i个引脚的长度;
2)对第十四步得到的足部引脚组边界各个引脚足部边界点集求其最小外接矩形,并输出其最小外接矩形的长度foot_hi作为第i个引脚足部的长度;
3)对1)与2)中的长度求取平均值,得到平均引脚长度hpin和平均引脚足部长度hfoot;
4)将第13步中引脚类的数量来直接确定引脚个数,记为spin。
其它步骤及参数与具体实施方式一至六之一相同。
具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:所述步骤十六具体采用的混合最小二乘法同时兼顾了自变量和因变量的误差考虑,相比常见的最小二乘法有更高的精度;其基本思想以及与最小二乘法拟合直线的差异如下:
直线方程表示为:yi=axi+b(i=1,2,…,N)令
其中(xi,yi)为测点坐标,a,b为待估参数,为a,b的估计值;
一般最小二乘法拟合直线只考虑因变量的误差,即有准则为如图12示意图;
然而对于整体最小二乘法拟合直线来说就同时还要考虑因变量的误差,即有采用混合最小二乘法的解法,准则为其中如图13示意图。
其它步骤及参数与具体实施方式一至七之一相同。
具体实施方式九:本实施方式与具体实施方式一至八之一不同的是:所述步骤十七具体为:
1)根据第十六步中得到的引脚足部拟合直线找到该直线与引脚足部边界点集的交点点集P={(x1,y1),(x2,y2),…,(x2N,y2N)};
2)将作为第i个引脚足部的宽度,求取其平均值作为引脚足部宽度wfoot,同时也作为引脚宽度wpin=wfoot;
3)将
作为第i个和第i+1个引脚足部的宽度,求取其平均值作为引脚间距ppin;
4)根据第十三步中得到的上部引脚组中心点集来求取上部引脚组中心点P0下部引脚组中心点集来求取下部引脚中心点P1,过点P1、P0的直线分别与上下部引脚拟合直线于点Q0=(xQ0,yQ0)和点Q1=(xQ1,yQ1),而SOP元件精确中心坐标为
5)根据步骤十六中得到的上下两条引脚拟合直线的斜率可求得这两条拟合直线的角度α0,α1进而求得元件精确旋转角度
6)同3),找到上下引脚组最外侧的四个引脚类中心,分别过这四个点做相对应引脚直线的垂线交于Q00,Q01,Q10,Q11四点;其中所述Q00,Q01为上部左右侧交点,Q10,Q11为下部左右侧点,记为元件精确宽度,为元件精确长度。
其它步骤及参数与具体实施方式一至八之一相同。
具体实施方式十:本实施方式与具体实施方式一至九之一不同的是:所述步骤十八具体为:
1)引脚缺失检测:根据第十七步得到的元件引脚间距ppin来依次与所有引脚间距di~i+1进行对比,当di~i+1>1.2*ppin认为第i个到第i+1个引脚有缺失;当di~i+1<0.7*ppin认为第i个到第i+1个引脚有弯曲或者粘连的情况;
2)引脚粘连或者引脚弯曲:当di~i+1<0.7*ppin时,继续判断第i个以及第i+1个引脚的宽度ri以及其最小外接矩形的旋转角度αi,当ri>1.5*wpin或者|αi-αa|>5°是认为引脚粘连弯曲;
3)引脚无法断开或者过长:根据第十五步得到的各个引脚足部长度foot_hi与引脚长度hpin和引脚足部长度hfoot对比进行判断,当foot_hi>hpin或者foot_hi>1.5*hfoot认为第i个引脚无法断开或者太长。
其它步骤及参数与具体实施方式一至九之一相同。