黄 静, 司梦雪, 杨 戈, 贺 辉, 周 鹏
SIM模块质量分析系统①
黄 静1, 司梦雪2, 杨 戈1, 贺 辉1, 周 鹏1
1(北京师范大学珠海分校信息与技术学院, 珠海 519087)2(北京师范大学研究生院珠海分院, 珠海 519087)
针对智能卡片生产制造过程中的质量检测问题, 提出一种基于SIM的质量的在线视觉检测方案, 通过对采集图像光源设计、模块定位以及检测算法的研究, 利用图像处理技术中的边缘检测、特征提取、开闭运算和对象识别等关键技术, 将打光方案和算法设计相结合, 实现了一种利用几何特征匹配的定位算法, 用以检测模块中是否有芯片、是否有污物、生锈、条带严重弯曲、花纹断裂、折痕、背面硅胶偏移、硅胶偏厚、报废模块背面硅胶异常凸出、模块条带的定位孔破损等问题. 测试结果表明, 该系统有效的实现了对SIM卡的质量检测.
SIM模块; 机器视觉; 在线检测; 硅胶质量; 图像处理
SIM卡(Subscriber Identity Module)是保存移动电话服务, 用于客户身份识别的智能卡. 目前, 随着互联网时代的蓬勃发展, 手机得到普遍的应用, SIM卡的作用也日益突出. 每一张智能卡在封装启用之前都需要对其质量进行测试, 因而对其检测的要求越来越严格. 目前, 在我国企业主要依靠人眼检测, 工作量大、生产效率低、成本高. 因此, 迫切需要寻找高效、快速的检测手段[1].
基于机器视觉的检测中, 国外主要在工农业检测领域中取得了广泛应用[2-5], 国内, 吴舜娟等人主要对智能卡性能检测的方法做了深入的研究, 提出了智能卡在各种环境下的检测方法[6]. 胡科杰, 刘强对智能卡生产过程中焊点位置的检测提出了一套基于焊点距芯片边缘距离的自动测量系统[7]. 程秀芹等针对ISO7816智能卡电气特性和逻辑特性检测的原理设计了一款新型的智能卡检测仪器, 主要应用于智能卡生产线的微电流及逻辑特性参数的测试[8]. 这些研究成果对于智能卡的检测提供了一定的程度的帮助.
然而, 在我国目前还没有研发出一套关于SIM卡表面缺陷检测的成熟系统. 台湾力丞仪器科技有限公司曾研制出一款设备, 但其检测的内容只有划痕和污点, 内容少, 达不到对SIM卡质量控制的要求.
本文针对SIM卡质量检测问题进行了研究, 提出了一种完整的检测方案, 与其他传统的质量检测系统相比, 本系统使用的非接触式的机器视觉检测, 分析了SIM模块表面缺陷成像的难点, 克服了由于SIM模块体积小、花纹精细、表面缺陷复杂等特点造成的定位不准确且速度低的困难, 大大的提高了检测速率和精准度, 降低了生产成本, 并改进了过程控制.
1.1 平台架构
SIM卡视觉检测系统由工控机、芯片读写器、扫描相机、视觉软件、控制软件和I/O控制卡等元器件组成, 其中系统的图像采集模块由照明光源、图像传感器和1394接口卡等元器件共同组成.
1.2 打光方案设计
SIM卡正面为金属贴片模块, 背面为半透明和反光的硅胶模块. 根据此特征, 对其正反面分别进行打光设计, 正面采用采用同轴光源, 触点在图像中表现为亮区; 背面采用低角度环形光源, 硅胶在图像中表现为环形暗区.
1.3 系统检测方案设计
该系统如图1所示, 由SIM模块生产流水线1, 同轴光源2, 低角度环形光源3、照相机4、5和计算机图像处理系统6组成. 系统将SIM模块检测设计成一种在线模式, 并采用光源对所述SIM模块的正面和背面进行照射, 当模块条带进给到工作位置, 触发两个相机分别抓图, 并采集所述SIM模块的正面图像和背面图像, 送入计算机进行处理, 处理时分别对正面图像和背面图像进行不同的图像处理和分析工作, 最终得出检测结论.
SIM模块的检测要求为: 正面模块上是否有污物、生锈、条带严重弯曲、花纹断裂、折痕; 背面模块中硅胶是否偏移、偏厚、异常凸出, 是否有芯片, 芯片位置是否发生偏移、模块条带的定位孔是否破损等.
图2中分别展示了SIM模块的正面图像和SIM模块的背面图像.
图1 打光方案设计实体检测设备示意图
(a) 模块正面
(b) 模块背面
图2 SIM卡正反面图像
2.1 SIM卡正面检测方法设计
2.1.1 正面模块定位算法
由于SIM卡正面模块触点为固定的几何花纹图案, 因此本文采取基于几何特征的匹配算法, 优先选择Canny算子边缘检测算法[9]提取图像边缘, 把其中的交叉点和线作为特征, 再由相关特征进行模块定位, 具体步骤如下, 流程图如图3所示.
(1) 选取二维高斯滤波模板, 通过模板对图像进行平滑, 以便抑制噪声; 其中高斯函数:
(2) 用梯度算子求两个方向的偏导数, 计算梯度的大小和方向; 使用微分算子求出偏导数:
(3) 边缘点由在梯度方向上的梯度局部极大值来确定, 其它非局部极大值的点置0(此过程称为“非极大值抑制”);
(4) 确定两个阈值1,2,(1<2), 梯度局部极大值大于2的点称为强边缘点, 局部极大值大于1, 而小于2的点称为弱边缘点. 最后将强边缘点和那些能连通(8连通)到强边缘的弱边缘点合并,(舍去那些不能连通到强边缘的弱边缘点), 形成图像的边缘图.
图3 Canny算子边缘检测算法流程图
在采集所述SIM模块的正面图像后, 首先对图像进行去噪处理, 通过提取图像的边缘来进行阈值分割, 然后, 选择基于灰度图像的角点检测方法[10]来获取特征值, 本文选取Harris 算子来进行特征值的提取. 具体实现步骤如下:
(1) 利用水平、竖直差分算子对图像(,)每个像素进行滤波以求得I,I,进而求得中四个元素的值:
,,
(2) 对的四个元素进行高斯平滑滤波, 得到新的. 离散二维零均值高斯函数为:
(3) 利用计算对应于每个像素的Harris响应值, 并对小于某一阈值的置为0.
其中,为矩阵的行列式,为的直迹,为经验常数, 范围在0.04~0.06.
(4) 进行5×5邻域非极大值抑制, 图像中的角点用局部极大值的点表示.
(5) 记录角点在原图像中的位置, 即图像角点的位置所在, 也是本文所提取的特征点.
在经过角点检测提取图像特征点后, 通过选取每一个模块单元的轮廓来实现正面模块的定位.
传统的图像匹配方法是将模板的每一个像素点和标准图像求互相关, 这种方法计算量大, 计算时间长, 很难满足实时性要求高的系统. 因此基于直方图二维图像变成一维信息的特点, 检测系统中通过匹配直方图特征先筛选出一些模板匹配可能性较大的区域, 这样就大大减少了计算量, 节省了系统资源, 具体实施方案如下:
(1) 选取合适的模板, 计算并保存模板的直方图特征;
(2) 从目标图像的零点起, 截取与模板同样大小的子图, 计算其直方图特征;
(3) 设定一个合适的阈值, 计算模板直方图与已检测的子图的互相关, 达到阈值要求, 则保存该子图的坐标信息;
(4) 选取一个合适的步长, 同样截取与模板同样大小的子图, 并计算其直方图特征, 然后与模板特征进行匹配, 直至目标图像扫描完毕;
(5) 保存整个检测过程中符合要求的子图信息, 进入精匹配.
由于直方图仅仅统计了不同灰度值出现的次数而不能反映各个具体像素点在源图像中的真实位置, 因此引入图像的另一个特征——投影特征.
常用的投影方法有水平方向投影与垂直方向投影. 水平方向投影即横向投影是指将每一行图像中的像素点的灰度值进行累加, 累加值除以行宽就得到了该行的投影特征; 而垂直方向投影即纵向投影是指将每一列图像中的像素点的灰度值进行累加, 累加的结果除以列宽, 得到的结果作为该列的投影特征, 具体方案如下:
(1) 选取合适的模板(大小为*单位为像素), 计算并保存模板的横向与纵向投影H(T),W(T);
(2) 以待检测图像的左下角顶点作为起点, 截取与模板同等大小的子图像S, 计算子图像的横向与纵向投影H(S),W(S);
(3) 设定合适的阈值, 利用投影相关函数计算模板与子图像的相关值, 如果两者之间的相关值满足阈值要求, 则投影特征匹配成功, 记录子图的坐标信息, 停止该图的检测, 进入下一张图; 否则进入步骤4;
(4) 选定合适的步长, 移动相应的步长之后, 继续截取与模板同等大小的子图, 重复步骤3, 直至待检测图像匹配完成.
定位结果如图4所示, 基于直方图与投影特征的匹配算法的执行流程如图6所示.
图4 正面模块定位图
2.1.2 污染、生锈、花纹划痕弯曲等的检测方法
正面模块定位后, 通过模板匹配检测SIM卡正面是否有污染. 如图5表示的是含有划痕和生锈的次品.
图5 模块正面有划痕和生锈的图像
模板匹配(Template Matching)就是在待匹配图像中尝试着寻找特征相同形状的过程. 因此, 将模板的中心放在图像的一个点上, 然后通过计算图像中有多少个点与该模板点匹配. 重复计算这些图像中的点, 找到那个最佳匹配点, 即计数最大的点, 也就是形状(通过模板给出)在图像中所处的位置.
首先, 由SIM模块正面图的特点可知, 用表示整个图像区域, 分割可以看作是把分成均匀大小的个子区域来处理. 每个区域投射一个“种子”, 利用区域生长法可以进行分割, 并对分割的区域进行标注.
然后, 将用模板图像和待匹配SIM模块的正面图像作卷积运算, 便可以通过模板图像在待匹配图像中获得匹配位置[11].
当模块正面出现划痕或锈斑时, 模块正面的二值分割也会相应的出现不完整.
图6 基于直方图与投影特征的匹配算法的流程图
2.2 SIM卡背面检测方法设计
2.2.1 背面模块定位方法
背面模块需要对定位矩形方形孔、废弃孔标记圆、硅胶以及硅胶内封装的芯片进行检测, 并判断其位置的正确与否.
由于背面模块几何形状比较少, 硅胶的形状不规则, 一致性差, 故不能使用正面模块定位中的匹配算法. 因此, 本文通过实现检测矩形孔和方形孔来定位模块, 即采取依靠四边形之间相互的距离来实现. 其中主要方法是通过对角点提取后, 根据先验理论运用最小二乘法回归拟合法来拟合.
首先, 对图像进行滤波去除噪声处理, 然后通过OTSU二值分割[12]进行阈值分割, 利用Canny算子进行边缘检测, 再对图像边缘的若干直线的参数通过Hough变换[13]算法进行检测.
Hough变换的基本原理在于利用点与线的对偶性, 将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点. 这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题, 如图7所示.
图7 Hough变换
平面中任意一条直线可以用极坐标方程来表示, 即可以用和两个参数确定下来, 对于图像空间任意点 , 其函数关系为:
其中为原点到直线的距离(即原点到直线的垂直线的长度),确定了直线的方向(即原点到直线的垂直线与轴方向的夹角).
如上图7所示, 在图像空间, 直线上一点()转换到参数空间就是一条曲线, 而且图像空间同一直线上的点转换到参数空间的曲线一定相交于一点, 即参数空间各曲线的交点对应着图像空间的一条直线, 这样, 检测参数空间曲线交点就检测出了图像空间的直线.
根据所述直线参数计算4条相近或相交的直线是否构成的直角, 并判断所述4条相近或相交的直线是否构成符合条件的四边形, 通过该方法可以检测出方形孔和矩形孔是否符合规范, 同时, 为了检测方形孔和矩形孔是否规范, 还可以先由轮廓跟踪算法计算图形中的轮廓, 再对各个连续轮廓做四边形拟合, 看是否为规范的四边形, 如果是, 说明被检测的方形孔和矩形孔的模型符合检测规范. 从而可以通过分析图像的方形孔和矩形孔的位置与关系来进行定位.
其中, 在四边形拟合的时候要考虑直线的参数, 具体包括所述直线的位置、长度和斜率等.
本文中所用到的算法同样的可以对废弃孔标记圆进行判定. 由于在检测到的圆中既包括废弃孔标记圆又包括芯片引脚的圆, 因此, 在识别的时候可以根据二者之间半径的大小不同来进行区分, 当检测圆半径设置较小时, 检测到的是芯片引脚的圆; 当检测圆半径设置稍大的时候, 检测到的圆才是我们需要检测的废弃孔标记圆.
具体方法同检测矩形孔的方法类似, 即检测所述图像边缘中是否存在圆形, 如果是, 则说明正面图像中存在废孔.
效果如图8所示, 其中引脚1为检测到的废孔, 引脚2为不需要检测的芯片引脚.
图8 废弃孔标记圆检测图
2.2.2 硅胶质量分析
SIM卡背面中间部分在检测之中封上透明硅胶主要作用有: ①起到保护作用, 使得卡中部的孔和芯片不受磨损; ②起到绝缘作用, 防止中心孔和芯片在检测过程中漏点. 图9中表示SIM卡中间芯孔有无贴上硅胶的图像.
由图9可以看出, 检测SIM卡背面是否封上硅胶主要是检测外圈是否存在圆形轮廓.
由于模块中的硅胶形状不规则(非完全对称的圆形), 一致性差, 圆的轮廓不明显, 且需要识别的圆形个数有限, 不能直接使用Hough变换提取硅胶轮廓. 因此, 在对硅胶的检测实施中, 本文选取模糊识别圆的方法来实现.
首先采用阈值分割法[14]对背面模块的图像作二值化处理, 然后采用边界跟踪算法提取出硅胶的轮廓边缘, 提取出来的完整轮廓特征值为一系列有序的边缘点集, 对所得到的边缘点集进行多边形拟合, 然后归一化处理已经拟合好的多边形, 由于圆具有旋转、平移及尺度变换不变性的几何特征, 根据多边形的顶点为特征点求取硅胶圆的参数. 如果待检测硅胶的几何特征参数大于预先给定的阈值, 则被标记为硅胶圆, 如图10所示.
图9 模块背面硅胶比较
图10 硅胶检测流程图
检测效果如图11所示, 包括四个子图, 左上角是模块的模板背面原图, 右上角为硅胶的边缘检测图, 左下角为模板背面硅胶圆轮廓的检测图, 右下角为硅胶内芯片的检测图像.
图11 模板背面硅胶及芯片检测图
通过此算法可以检测出没有封住硅胶的模块, 此时并自动分选做出标记. 图12为硅胶不正确时的检测图, 左上为无硅胶的原图像, 右上为边缘检测图像, 无法检测出边缘圆, 左下为检测内孔, 右下显示硅胶内无芯片时OTSU二值分割无图像.
图12 无硅胶的模块检测图
2.2.3 硅胶内芯片有无及其位置的判定
SIM卡封装的硅胶也会把SIM卡芯片封住. 硅胶位置和芯片位置是否准确也是质量检测环节的一个重要部分. 如图11左下角所示, 硅胶内芯片为矩形区域部分, 由于图像中芯片在硅胶中呈现为不同颜色区域(深色区域), 但由于有硅胶封住芯片, 会使得芯片的轮廓变得模糊.
本文检测芯片的算法是先对背面图像作开运算使边缘轮廓变得清晰, 再对其进OTSU二值分割, 设置适当的阈值后便可以得到芯片二值化的图像. 在硅胶质量分析计算过程中可以得到硅胶检测圆的圆心, 通过比较质心和圆心的距离范围即可判定芯片和硅胶是否都处于正确的位置, 如果距离范围在预设的阈值内, 则检测为良品. 算法流程如图13所示.
图13 芯片检测算法流程
当模块背面没有硅胶和芯片的时候, 通过此算法可以检测为废品, 其检测效果如上图12所示, 且模块内硅胶和芯片的位置也就无法确定, 此时系统就会自动分选做出标记(以废弃孔标记圆的方式), 这样就会增加产品的封装成功率.
本文将视觉技术运用到SIM模块质量检测环节, 所设计的技术方案检测内容多、效率较高. 针对SIM模块的质量要求, 通过模块正反两面不同的特性, 设计出了不同的打光方案, 并且综合运用多种图像处理的算法. SIM模块视觉检测系统的测试结果表明检测时间单枚小于0.5s, 检出率>99%,误检率<0.3%, 漏检率<0.9%. 使用多种图像处理算法的复杂度, 使得设计和开发完整的视觉检测系统需要的周期长、难度大. 表1为视觉检测系统测试的结果.
本文研究了基于机器视觉检测SIM模块质量的算法, 所提供的方案首次将视觉技术运用到SIM卡质量检测环节. 本文所提供的技术方案具有以下几个特点:
(1) 打光方案与算法设计相结合, 有效平衡光源方案的经济性和检测算法的有效性;
(2) 系统的检测效率高, 检测速度快, 在节约成本的同时, 改进了SIM模块的质量控制;
(3) 检测流程和操作规范比较容易, 对操作人员的要求不会太高;
(4) 视觉检测系统安装配置简单, 使得软件系统的可移植性增强;
(5) 有足够强的鲁棒性, 各个检测算法分块封装, 具有良好的可扩展性和重构性.
表1 SIM模块检测合格率报表(首次视觉检测测试)
针对SIM模块质量要求, 综合运用多种图像处理算法, 检测时间较短, 检出率很高,误检率在正常生产范围内. 其中所有的算法设计中的阈值均采用机器学习的办法调试得到. 实验效果表明检测算法的有效性, 并通过SIM卡在线视觉检测样机将该系统作了相关的验证, 达到了企业所提出的检验要求.
1 李运志,Zhang Q,陈弘毅,党晓辉,李新岗,胡耀华.基于机器视觉的半干枣病害和裂纹识别研究.农机化研究, 2016,8(8):120–125.
2 Atas M, Yardimci Y, Temizel A. A new approach to aflatoxin detection in chili pepper by machine vision. Computers and Electronics in Agriculture, 2012, 87: 129–141.
3 Dowlati M, Mohtasebi SS, Omid M, et al. Freshness assessment of gilthead sea bream (Sparus aurata) by machine vision based on gill and eye color changes. Journal of Food Engineering, 2013, 119(2): 277–287.
4 EIMasry G, Cubero S, Moltó E, et al. In-line sorting of irregular potatoes by using automated computer-based machine vision system. Journal of Food Engineering, 2012, 112(1-2): 60–68.
5 Nashat S, Abdullah A, Abdullah MZ. Machine vision for crack inspection of biscuits featuring pyramid detection scheme. Journal of Food Engineering, 2014, 120: 233–247.
6 吴舜娟,尹文化,冯志新,陈燕.智能卡性能检测方法研究.合成材料老化与应用,2014,43(2):60–63.
7 胡科杰,刘强.智能卡芯片焊点位置的检测系统.机电产品开发与创新,2014,9,27(5):94–96.
8 程秀芹,李永红,王怀恩,翁志能.智能卡测试仪器的设计与开发.技术与应用,2010,6:12–14.
9 Worthington PL. Enhanced Canny edge detection using curvature consistency. Proc. International Conference on Pattern Recognition. Los Alamitos, CA, USA. IEEE. Computer SOC Press. 2002. 596–599.
10 邬铎.基于双目视觉的手势识别算法研究与实现[硕士学位论文].沈阳:东北大学,2011.
11 曾文艳,王亚刚,蒋念平,邵惠鹤.基于机器视觉的香烟小包装外观质量检测系统.信息技术,2004,1.
12 崔涛,杨永乐.基于改进的二维 OTSU 算法的图像二值化分割.高教论述,2013,2.
13 朱桂英,张瑞林.基于Hough变换的圆检测方法.计算机工程与设计,2008,6:1462–1464.
14 Nixon MS.特征提取与图像处理.北京:电子工业出版社,2010.
Analysis System of SIM Module Quality
HUANG Jing1, SI Meng-Xue2,YANG Ge1, HE Hui1, ZHOU Peng1
1(Department of Information Technology, Beijing Normal University (Zhuhai), Zhuhai 519087, China)2(Zhuhai Branch, Graduate School of Beijing Normal University, Zhuhai 519087, China)
To resolve the problem of quality detection in the manufacturing process of smart card, an on-line visual inspection scheme based on SIM is proposed. We present a localization algorithm based on geometric feature matching combining the lighting scheme and algorithm design. It is implemented through the design of image’s light source collection and research of the positioning and detection algorithm of module. Some key technologies, such as edge detection, feature extraction, opening and closing operation and object recognition are used in this algorithm too. It is useful for detecting if there is the chips, and other problems like dirts, rusts, banding severe bending fracture, decorative pattern, crease, silica gel on the back of migration, silica gel thick, scrapped modules silicone abnormal bulge, module stripe location hole on the back of damage, et al. Test results show that the system is an effective implementation of the quality detection of SIM card.
SIM module; machine vision; online detection; silicone quality; image processing
国家自然科学基金(61272364);珠海科技计划(2012D0501990006);广东省学科建设专项资金(2013WYXM0122);广东省大学生创新创业训练计划(201413177035,201513177028);珠海市哲学社科“十二五规划”(2015YB016)
2016-04-14;收到修改稿时间:2016-05-19
[10.15888/j.cnki.csa.005526]