一种改进Canny算子芯片图像边缘检测方法
2022-08-12周小军
周小军,谭 薇
(1.甘肃工业职业技术学院,甘肃 天水 741025; 2.四川大学 网络空间安全学院,四川 成都 610041)
0 引言
集成电路产业已成为衡量一个国家科技综合实力的重要标准。2015年公布《中国制造2025》战略规划,将“集成电路生产和封装”作为重点建设内容。集成电路芯片在生产封装过程中的表面缺陷检测技术对提高生产效率至关重要,人工方法误检率高,效率差,基于图像处理技术的机器视觉检测优势明显。图像的边缘是位于2个区域的边界上相连像素的集合,芯片图像缺陷检测时的关键步骤就是根据图像灰度的不连续性来进行图像分割,通过检测图像的一阶梯度最大值和二阶导数是否过零点来判断轮廓,也叫边缘检测[1]。常见的一阶算子有 Roberts,Prewitt和Sobel;二阶算子有Log,Kirsch和Laplacian等[2]。近年来在已有的传统方法的基础上,大量的边缘检测方法出现。由于在工业环境的检测过程中,芯片图像在采集过程中要受各种因素如环境温度湿度、光源的照度和工业相机镜头在工业上利用CCD相机畸变等的影响,采集到的芯片图像中不可避免的存在各种干扰和噪声,使采集到的图像对比度不均匀或者存在阴影,对边缘检测的结果影响很大。
1 经典Canny 算子
Canny边缘检测算子于1986年由John F.Canny提出[3],算法简单高效,是图像中最经典、最广泛应用的算法之一,因检测效果良好,至今仍然十分活跃。近年来,国内外学者不断对Canny算子进行了改进[4-9]。Canny同时确定了一个优秀边缘检测算子的3个标准:(1)低检错率高信噪比准则,即检测算法应该最大限度检测出边缘信息,降低误检和漏检,减少噪声影响,提高信噪比;(2)最优精度定位准则,使检测的边缘图像尽可能和原图像无限接近,噪声影响引起的偏离度最低,提高定位的精确度;(3)对应准则,检测点和边缘点要相互对应,噪声和干扰不应被作为伪边缘被检测[10]。
Canny边缘检测算子实质就是在3个准则上建立的一种多级检测算法,具体实现可分为以下4个步骤:
其中,坐标与方位之间关系为:
式中:M(x,y)为幅值,表示边缘的强度;θ(x,y)为方位角,最大局部值M(x,y)所对应梯度的方位角表示边缘。
第3步 幅值非极大值抑制,用3×3邻域作用于梯度幅值阵列,将图像像素梯度值M(x,y)与沿着梯度方向的2个8邻域像素梯度M(x+1,y+1)进行比较。如该像素点梯度值不是局部最大则令M(x,y)=0,对该点进行抑制即该点不是边缘点。
第4步 双阈值连接边缘,对图像进行高、低阈值分割后可得到2个边缘图像。高阈值图像不含假边缘,但有间断[11]。利用低阈值在图像8邻域搜索可能连接的边缘,完成对高阈值图像的间断连接。
2 经典算法的缺陷
(1)Canny算子对光照十分敏感,因为芯片焊盘表面反光,采集时会产生曝光现象;同时,有光源阴影的存在,会检测出假边缘,影响检测质量。
(2)Canny算子中高、低阈值参数不具有自适应的能力,而阈值选择对图像的边缘检测影响很大,人为设定阈值费时费力,也很难取得好的检测效果。
(3)在具体的应用环境中,如果阈值设置不合理,则可能产生过判断现象,将噪声和伪边缘误判为真实边缘;也有可能产生过粗,判断不出真实的边缘,无法进行识别目标的轮廓准确检测处理。
3 改进阈值自适应Canny算法
Canny算子检测算法简单有效,检测时间短,但因其阈值不能自动选择而需人为干预。阈值大小直接影响检测的性能,Canny算子在提取不同图像的边缘时缺乏自适应性,对局部噪声敏感,所以常会过检测出伪边缘,而对灰度值变化缓慢边缘又无法检测到。对此,该文用最大类间方差对Canny算子阈值的选取方法进行了改进,能自适应确定阈值,经实验证明在对芯片图像检测时效果良好。最大类间方差法是根据图像的灰度特性对图像进行全局二值化,将其分为前景和背景两部分,两者之间方差越大,两部分之间的差别就越大,错分的概率就越小,分类就越正确。
则整个图像全局均值为:
4 实验结果
用Matlab2016b软件,在处理器为Intel(R)Core(TM)i5-5200U CPU@2.20 GH,内存为8G的计算机平台上实验。选取了Matlab自带的2张512×512的原始图像1Liftingboby原始图像2Pillsetc图像和2张自行采集到的200×200缺陷芯片原始图像3Dirt和原始图像4Scratch。采用传统的Canny算子和该文最大内间差自适应阈值改进后的结果进行了对比分析和研究,实验检测结果如图1和图2所示。
图1 图像1 Liftingboby和图像2 Pillsetc检测结果对比
图2 图像3 Dirt和图像4 Scratch检测结果对比
由上述实验结果可以看出,图形内容较为丰富的原始图像1中含有薄厚变化的云层背景和远近2个飞行器图像,图像内容相对比较单一,因此加入了彩色药品和采集噪声较大的原始图像2。2种图像在使用普通Canny算子时因为检测阈值的自动选择,大量的干扰信息被检测,噪声及干扰都被检测成边缘。对要进行机器视觉识别的芯片图像的原始图像3和原始图像4,因为图像内容相对简单,但是由于工业图像采集环境的不同,以及受光照不均匀的影响,产生了一定的噪声和阴影,这样图像灰度分布各异,分割阈值对边缘检测影响很大,通过人工反复修改试验也能取得较好的阈值,但是耗时耗力,尤其是在实际应用时无法做到实时的响应。
通过采用该文改进后的最大内间差法自适应获取高低阈值。图像1~4的高阈值TH、低阈值TL,采用传统Canny算子检测熵值E1、消耗时间t,和改进后检测熵值E2、消耗时间t2分别如表1所示。
表1 改进后图像检测参数对比统计表
由表1知,在检测消耗时间上,采用改进后的方法在运行后使用的时间要相对长一些。因为图像中细节的信息和噪声信息被处理掉,改进后检测边缘的图像熵值比改进前变小,由于处理大量干扰信息,所以牺牲了一定的时间代价。图像3和图像4因采集时光照不均匀,边缘轮廓产生的阴影被很好地处理掉。改进后检测效果良好,有效去除了不必要的干扰,图像重要信息的边缘得以保留,从直观视觉效果可以看出改善效果明显。总之,经改进算法处理后的图像能去除大部分噪声及光照干扰,在后续芯片缺陷识别时对提高识别率和准确率非常关键。
5 结语
利用机器视角检测集成芯片表面缺陷的核心技术仍受制于人,对芯片的表面缺陷进行检测主要是检测芯片表面的印刷字符、芯片引脚、划痕污染等。为准确判断芯片图像中的缺陷,需要采集后的图像二值化,然后再进行缺陷边缘检测,通过在Canny算子中引进最大内间差法自适应地根据图像灰度来生成高低阈值,改善了原算法的噪声敏感性,检测时将大量的非缺陷信息进行滤除,保留有效的检测信息。实验结果表明,改进算法对检测到有效边缘信息有很强的自适应性,能满足工程上实时性要求,可为后续芯片缺陷检测提供关键的技术参考。