芯片表面标记自动识别技术是芯片制造技术不断高速发展的要求,本文介绍的系统使用NI的视觉系统开发工具,成功地实现了从芯片自动跟踪定位、图像采集到图像预处理、骨架提取以及识别等一系列功能。
芯片表面标记自动识别技术是芯片制造技术不断高速发展的要求,其中芯片表面标识主要包括厂商图标、序列号(包括英文字母及数字)等。由于自动识别技术具有极其重要的意义,一直以来,人们都对该技术的研究投入了大量的人力物力,并取得了卓有成效的进展。它可以应用于芯片性能自动检测领域,提高芯片测试效率,进而提高厂商的生产能力,具有十分广阔的应用前景。本系统使用NI的视觉系统开发工具构建,因而具有开发周期短、成本低等特点。系统综合运用了锐化、滤波、细化、特征识别等多种图像处理技术,成功地实现了从芯片自动跟踪定位、图像采集到图像预处理、骨架提取以及识别等一系列功能。
我们使用LabVIEW、IMAQ Vision和IMAQ Vision Assistant等软件进行系统开发。LabVIEW特有的数据流式编程、IMAQ Vision强大的图像处理能力以及IMAQ Vision Assistant的代码自动生成功能极大地缩短了系统的开发周期、降低了成本。
图1所示为IC芯片表面标识自动识别系统的工作流程。这里使用NI公司的PXI-1409图像采集卡和MBC-5051黑白摄像机进行图像采集,然后将采集到的图像送入计算机进行处理。为了提高识别的灵活性,系统加入了学习模块。与识别过程类似,它也包括图像预处理、文字区域裁剪、细化以及特征量提取的过程。不同的是,学习过程直接将提取到的特征量保存到计算机上,而识别过程则需要将这些特征值与已经存储了的特征值一一比较完成匹配。
|
图1:识别系统的工作流程。 |
芯片自动跟踪定位
芯片一旦进入摄像头视场,则能被系统感知,系统会开始对该芯片进行自动跟踪,确保ROI区域始终包含芯片,从而缩小了待处理的图像尺寸,减小了运算量。在这个过程中,系统主要完成了三个动作:阈值化采集到的图像,定位一个尺寸大于某一阈值的物体,根据该物体的位置信息设置ROI。因此通过IMAQ Vision,很容易就能够实现该定位功能。用户只需要对第一个动作中的灰度阈值和第二个动作中物体尺寸进行设置。
图像预处理
采集到的图像中夹杂有大量的噪声,这给图像的细化、识别等过程带来极大的困难,因此必须将它们滤除。图2所示为经过预处理之后的图像。系统采集到图像之后会自动对图像进行预处理,同时系统还支持手动图像处理,这主要是为了提高其在不同环境下的适应能力。如果用户对自动处理图像取得的效果不满意,可以打开图像手动处理程序,通过调整系统提供的图像处理函数的参数来获得较理想的图像质量。在进行手动处理的同时,系统将记录下用户使用过的图像处理函数及它们的参数,用户可以将这些参数保存到计算机中。因此,如果下一个待处理对象仍然是在该环境中,则可以调出这些参数,使用这些参数进行图像自动处理。
文字切割、细化
系统先将每一个文字单独分离出来,然后细化抽取它们的骨架,以方便后面的识别。文字的切分是利用文字行与行、字与字之间有间隙实现的。由于白颜色的灰度值是255,黑颜色的灰度值是零,所以可以逐行扫描下来,将当前行所有像素的灰度值之和与前一行的进行比较。如果发生正跳变,则说明该行为文字行的上边界,如果发生负跳变,则说明该行为文字行的下边界。确定了行边界之后再对该行进行左右扫描确定字的左右边界,从而分离每一个文字。但是逐行扫描速度较慢,因此系统使用了在此基础上改进的两次扫描法,原理类似。
细化过程采用的是FPA细化算法[1],其实现简单,功能强大,效果理想。如图3所示,即为对图像中两个已分离字符的细化过程。
文字识别
系统使用匹配法对文字进行识别,因此要先抽取图像中的一些特征量,然后将这些特征量与事先准备好的标准特征量进行匹配。如果某一个模板的标准特征量与待识别的图像的特征量最接近,即相似距离最小,则系统将待识别图像识别为该模板描述的文字或图像。
系统使用图4所示的方法提取特征量。其中有图像平面上纵、横、斜交叉的20条直线,这20条直线分别标记上1~20的序号。当图像平面上输入一个手写文字时,计算文字的各笔划与各条直线的相交次数,把他们作为该文字的特征量。设特征量数组为C,(方程1)中各个分量的值表示相应序号的特征直线与各笔划的相交次数。在提取特征值之前,系统先将分离出的文字图像逐一扩大为正方形,并且扩充之后文字仍然位于图像中心,使得斜向特征线更容易产生。
在特征线交点的基础上,系统匹配了更多的字符特征,例如端点个数、端点位置等,以提高识别的精度。这些特征量的提取有赖于图像的细化过程。
相似距离D是这样计算的。设待识别图形的特征量为(方程2),某个标准模板的特征量是(方程3),则待识别图形与该标准模板之间的相似距离由下式(方程4)计算。图5所示为相似匹配过程。
使用识别系统
主程序可以分为三大部分:第一部分是程序的开始,包括读取配置文件、开辟内存空间(特别是图像的内存空间)以及对硬件设备进行初始化;第二部分程序等待用户的操作,一旦用户按下前面板的按钮,系统则对这些事件进行响应;第三部分是程序的结束,主要作用是释放资源、进行出错处理等。图6所示为识别系统主界面。
|
图2:系统经过采集、处理的芯片表面标识。 | “Process”可以使用户能够在对自动处理的图像不满意的情况下完成手动图像处理,通过扩展该功能可以更加完善系统,提高系统在不同环境下的适应能力;主程序一共具有三个图像显示器,左上方的图像显示器显示的是采集得到的图像或使用“Open”打开的图像,“Open”和“Save”两个按钮对这个图像显示器中的图像进行操作的;左下方的图像显示器显示的是经过图像处理之后的图像,方便用户与原图像进行比较,“Save Image”对这个图像显示器中的图像操作;右侧的小型图像显示器显示的是细化后的单个文字的图像,使得用户可以实时观察细化效果。
在使用识别系统之前,用户需要完成以下几个工作。 1. 启动采集设备,如图像采集卡、摄像头、光源等; 2. 调整好摄像头焦距及位置等,调整光源方向,使得采集具有环境,从而提高系统的识别率。外界环境对于识别率具有举足轻重的作用,一个优良的环境能够大幅提高系统的识别率。 3. 配置好NI的图像采集设备。
效果和结论
我们运用美国NI公司的LabVIEW、IMAQ Vision以及PXI等虚拟仪器技术,通过众多图像处理模块的功能实现,在较短时间内建立了一套完整的芯片表面标识自动识别系统。该系统能够自动定位跟踪摄像头视场中的芯片,将芯片剪切出来,然后通过一系列的图像处理过程,对芯片上的文字进行逐一提取,再对文字图像进行细化,最后系统通过文字的细化结果等获取图像的特征信息,并与标准模板进行匹配,从而完成对文字的识别。系统具有较广范围的适用性,能够完成包括厂商标志图标等对象的识别;还具有较高的实用价值,配合芯片自动测试系统,将极大提高生产能力和效率,因此具有极其广阔的应用前景。 |