APP下载

基于Halcon的微透镜表面缺陷检测算法

2018-04-24王凯李毅

现代计算机 2018年8期
关键词:感光透镜个数

王凯,李毅

(1.四川大学计算机学院,成都 610065;2.四川大学图象图形研究所,成都 610065)

0 引言

随着我国精密制造的需求日益增长,对精密制造的准确率也有了更高的要求。尤其是现在精密制造业制造速度的提升,随着机器的老化和损坏,出现次品的概率将会越来越高,因此,通过分析各个流水线的次品率及缺陷出现的部分对流水线进行调整和改进,成为了精密制造业的一项基础工作。

目前对于微透镜的检测,主要使用的方法依旧是目视法,通过显微镜查看微透镜表面是否存在缺陷。目视法费时费力,劳动强度大,效率低且主观因素影响较大。随着制造量的增加目视法只能应用于抽查。

笔者基于机器视觉的工作原理设计出了一套微透镜表面缺陷检测的方案,该方案通过图像处理和模式识别技术,对微透镜表面缺陷进行自动检测,为微透镜检查提供了一种快速有效的途径,具有成本低且精度高的特点。

微透镜表面缺陷检测与识别算法:

本文主要检测的是大斑块和小斑块缺陷,整个算法由图像预处理,光照均衡,缺陷定位,缺陷分类。

1 算法实现

本文算法的主要流程如图1。

图1

1.1 图像预处理

微透镜本身属于精密器件,检测需要进行封装测试,因此光照环境会很均衡。由于微透镜本身的特征,如图2可以看到微透镜表面的感光区域的灰度值远小于非感光区域的灰度值,可以在原图上进行一个30-110的灰度阈值,找出感光区域所在的部分 Re⁃gion_Light。

对Region_Light填充边界,由于边界上很多时候会出现一些大面积的缺陷或者破损,且微透镜本身的感光区域呈近似矩形,将找出的感光区域向内腐蚀5个像素左右的距离,去掉小区域的同时将感光区域边缘的阈值残留部分去掉。一个图像中只会有一个感光区域,找出最大的面积即为要找的感光区域,找出该区域的最大内接矩形,并将感光区域在原有内接矩形的基础上向外扩展32个像素。扩展方式在原有的图像上扩展边界,得到一张新的图像,对于那些未在内接矩形内的点的部分找出对应其在内接矩形内的图像再镜像翻转,得到ROI_Region。

1.2 光照调整

由于微透镜会将光源的光进行折射和散射,可以明显的看到图2中的四周光照较暗,而中间部分的光照较亮。因此需要对光照进行调整,使用傅里叶变换转入频率域后使用高斯滤波去噪后进行低通滤波。

1.3 缺陷查找

由于微透镜是每4像素为一个重复区间,且缺陷区域均为灰度值较大或较小区域,因此对于要寻找的大面积缺陷,首先以16像素为边长进行均值滤波以均衡透镜部分灰度值较低的情况,均衡小区域内的灰度值。取感光区域的均值为mean,再以灰度值在(mean-15)到(mean+15)以外的部分判定为缺陷的部分,找出大于16像素的区域,进行内部填充。将找出的区域作为region1。如图3的绿色部分。

对于要寻找的小面积缺陷,先使用15×15的高斯滤波进行滤波,再以边长16像素的范围内的灰度最大值减去最小值作为当前像素的值,即找出短距离内的灰度变化,取变换后的感光区域的均值为mean,然后在(mean-10)到(mean+10)以外的部分判定为缺陷,筛选出缺陷区域,找出大于64像素的部分(由于此方法会将小缺陷扩大,因此筛选需要以较大区域作为筛选条件),进行内部填充,将找出的取余作为region2。如图3的红色部分。

将region1和region2合并作region,并将预处理中扩充的部分去掉,留下原先内部的部分。

图2

图3

1.4 分类

基于region可以找出需要找到的大小缺陷,标记好后,按照其大小和内部颜色,可分类为内部白色小缺陷,内部白色大缺陷,内部黑色小缺陷,内部黑色大缺陷。根据不同缺陷的数量可以提供给生产商,可以帮助其找到生产线中存在的问题,以便以改进生产流程。

2 实验结果及分析

本文算法可检测的最小缺陷尺寸为2um×2um,像素精度为1um/pixel,采用该算法对实际的封闭场景下采集到的微透镜图像,其中包含750副无缺陷图像和250副包含大小斑块缺陷的图像,进行检测和识别。在实际的微透镜缺陷检测中所拍摄的图像绝大多数为无缺陷图像,所以实验中采用了更多的是无缺陷图像。在有缺陷图像中,缺陷个数为532个。实验中使用了准确率,误检率和检全率三个原则,定义为准确率α误检率β检全率γ定义为:

α=n/(n+n1)

β=n1/n2

γ=n/N

其中n为检测出的正确缺陷个数,n1为非缺陷但被检测成缺陷的个数,n2为所有无缺陷图像的数量,N为实际缺陷个数,。当区域内像素个数大于4时检测为缺陷,试验中检测出正确的缺陷个数为511个,检测出的非缺陷个数为23个。得到准确率为95.7%,检全率为96.1%。若使用更大的面积作为判定缺陷的范围,将导致误检率下降,准确率也下降。若单独使用其中一种斑块判定方式,将会导致准确率大幅下降。

3 结语

本文使用的傅里叶低通及大小斑块分别检测的思路对于微透镜表面的缺陷检测效果较好。实验证明:①傅里叶低通对于光照散射到导致的亮暗不均匀问题有很好的效果。②两种斑块判定方式结合在一起比单独使用其中一种准确率高很多。本文的重点在于研究了微透镜表面缺陷图像的检测方法,今后的工作还需重点研究深度学习方法来对缺陷进行快速的识别分类。

参考文献:

[1]Feng C.Microlens Alignment Procedures in CMOS Image Sensor Design:US,US8068284[P],2011.

[2]Tseng C X,Pang C P,Yang C L,et al.Design of Microlens on Pixel Array:US,US7687757[P],2010.

[3]Campbell S P,Tsai R H,Agranov G A,et al.Alignment Among Elements in an Image Sensor:US,US7351945[P].2008.

[4]Wakelin S,Derstine M W,Wong J S.Microlens Array with Spatially Varying Optical Property[J],2002.

[5]Okigawa M.Solid State Imaging Device with Microlens Shifted from the Center of the Photo Diode[J],2015.

猜你喜欢

感光透镜个数
引力透镜
感光食物,吃了会变黑?
透镜(部级优课)
怎样数出小正方体的个数
怎样数出小木块的个数
中国感光学会2019年活动计划表
最强大脑
怎样数出小正方体的个数
透镜及其应用专题复习
透镜光路图大梳理