APP下载

基于OpenCV 的偏光片检测方法

2020-10-16石鹏飞

机械管理开发 2020年10期
关键词:偏光片喷码小图

石鹏飞, 刘 慧

(中电科风华信息装备股份有限公司, 山西 太原 030024)

引言

偏光片的检测需求主要分为两大类:第一,喷码字符检测,常见的检测内容包括喷码字符不正、错码、缺点、重码、红点等;第二,表面缺陷检测,常见的包括打痕、压痕、糊污、条纹、划伤、剥离、折痕等。对于这两大类检测需求,传统的方法是人工检测,人工检测费时又费力,不仅检测水平受人的因素影响非常大,而且人工操作容易对偏光片造成二次伤害。近些年来,随着自动化需求不断提高,在线检测逐渐开始替代人工检测。

由于国内外的检测水平参差不齐,国外一些视觉厂商由于行业接触早,技术积累多,因而在技术上一直处于领先地位,但功能模块固定,不能随着检测需求的变化积极应对。国内一些视觉供应商,通过购买成熟算法库,积极进行二次开发,在偏光片检测行业逐步占有了一席之地。

国内对偏光片检测的研究主要集中在深圳大学。曾小星[1]等人采用结构光照明的方法,对偏光片外观缺陷进行了研究;赖文威[2]等人研究了偏光片外观缺陷的成像机理;贺健[3]对偏光片缺陷进行了仿真。石鹏飞[4]引入了机器学习的方法,对偏光片缺陷进行了检测和分类。综上所述,国内对偏光片缺陷的检测处于起步阶段,一些技术并没有大规模地应用于生产实践。

本研究采集了大量实际生产缺陷小图,使用开源计算机视觉库(Open Source Computer Vision Library)中算法进行处理,而OpenCV 提供的视觉处理算法非常丰富。一次作业中,喷码字符是固定的,因此对于喷码字符的检测,并不需要对字符进行识别,只需要比对每次喷码内容是否一致即可。而OpenCV 中,模板匹配算法非常适合进行字符比对,只需要事先提取一个图片模板,每次利用匹配算法进行图片模板的匹配即可,通过匹配度即可判断喷码字符优良。表面缺陷的检测则需要依次进行多种算法操作,最终将缺陷轮廓位置提取出来。

1 喷码字符检测

1.1 模板匹配简介

用T 表示模板图像,I 表示待匹配图像,切模板图像的宽为w 高为h,用R 表示匹配结果,匹配过程如图1 所示。

图1 匹配过程

归一化平方差匹配法算法如式(1)所示:

此处R 越小,表示匹配程度越高。实际程序中,用1-R 表示匹配度。OpenCV 主要函数如下:

MatchTemplate(img,temp,ftmp,1);

//0-5 共5 种方法,1 表示归一化平方差匹配

MinMaxLoc (ftmp, &minv, &maxv, &minl, &maxl,NULL);

//输出最小值,最大值,以及最小值,最大值的位置

1.2 模板提取

如下页图2 所示,提取200*200 大小的一幅待匹配模板。该模板完美体现了喷码字符的内容,没有缺点,没有其它遮挡,角度也正确,是一个合格模板。使用该模板在原图中进行匹配,匹配结果如图3 所示。

图2 模板图

图3 验证原图模板

从匹配结果来看,匹配度达到了99.83%,匹配程度非常的高。从红框的位置来看,准确地找到了目标字符的位置,并显示出了结果,X 方向1 729,Y 方向1 825。

1.3 OK 结果匹配验证

从同一喷码批次中随机抽取8 张喷码字符确认OK 的图片进行验证。每张图片都通过了人工的检测,判定OK。验证结果如表1 所示。

表1 OK 样品匹配结果

表1 中显示,样品OK3 未能匹配到准确的位置,其余的样品均可以达到98%左右的匹配度,X 方向以及Y 方向的位置精度均在100 个像素以内,选择合适大小的矩形区域,可以完整地提取出来。

1.4 NG 结果匹配验证

图4 依次为四种典型的喷码NG 缺陷类型:未喷码、字符缺点、记号覆盖、字符错印。表2 中是相应的匹配度。

图4 四种典型的喷码NG 缺陷类型

表2 NG 品匹配结果

对比所有的匹配度结果发现,除字符错印外,同一批喷码结果无论NG 还是OK,均有较高的匹配度,其原因主要是背景像素占比过大,计算匹配矩阵时,结果往往就过大。极端地讲,例如OK3 样品,虽然找到了最大的匹配度值,但确未能正确匹配位置。通过比较匹配度,可以发现,选取合适的阈值,可以将大部分喷码结果筛选出来,对于印错字符,可以明显地挑选出来,但仍然存在不能完全检出的问题,存在一定的误判风险,既有可能由于过低的匹配度将OK 品过杀,又有可能由于过高的匹配度将NG 品放过。表1、表2 中,无论是OK 品和NG 品,二者的匹配度都太高了,并且十分接近。

2 表面缺陷检测

2.1 处理过程

采用OpenCV 中的算法,对一些表面带有缺陷的偏光片图片进行处理,把最大的缺陷位置标记出来。为了处理方便,将带有缺陷的偏光片按照缺陷位置预先分割成200*200 的缺陷小图。如下页图5 所示,带有明显缺陷的缺陷小图。

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像去噪,因此采用高斯滤波对图像进行预处理。下页图6 为高斯滤波后的效果图。

选取合适的阈值对图像高斯滤波后的图像进行二值化运算,如下页图7 所示。二值化后,缺陷部分和非缺陷部分明显的黑白分明。但缺陷位置的范围可能略小,避免提取轮廓时不能完全包围,因此对二值化后的图像进行膨胀操作,如下页图8 所示,白色区域面积明显扩张。

图5 缺陷小图

图6 高斯滤波

图7 二值化

图8 膨胀

采用canny 算法提取图像的轮廓,如图9 所示,四个大小不一的缺陷轮廓都被提取出来。找出最大的一组轮廓,并找到围成该轮廓的最小矩形,并在原始缺陷小图上标记出来,如图10 所示。

图9 轮廓提取

图10 缺陷标记

2.2 验证结果分析

对48 幅不同的缺陷小图进行处理,选取其中有代表性的进行分析。图11 是六种典型的处理结果。图11-1 代表了能够正常检测的结果,图11-2 代表了未能找到缺陷位置的检测结果。图11-3 和图11-4 分别代表了横向和纵向条纹的缺陷检测结果。图11-5 表面缺陷的对比度较高,有利于检测结果。对比图11-4 和图11-6 发现,横向条纹的检测结果不是很理想,但如果横向条纹有较高的对比度,可以得到不错的检测结果。

通过分析以及验证,造成以上六种典型检测结果的一个原因是在使用OpenCV 中算法时,函数参数选取的差异性。高斯滤波、二值化、膨胀、轮廓提取对应的函数中都要选取对应的结构元素,机构元素的大小和方向都会造成检测结果有较大的差异性。

3 结论

图11 验证结果

1)OpenCV 中模板匹配算法不仅可以准确对喷码字符进行匹配,而且可以验证喷码位置的准确性。对于喷码不良的各种情况,也可以分辨出来。但仍有匹配失误的图片,究其原因,背景和字符像素差异不大,二值化可以解决这个问题。

2)利用OpenCV 中算法组合以及选取合适的结构元素,偏光片表面缺陷检测大部分可以检测出来。但参数的选取比较困难,需要大量的验证。另外,算法的稳定性也需要长期的验证。

3)机器视觉检测的经典算法和深度学习算法结合起来,可大大提高缺陷检测的能力和图像分类的能力。

猜你喜欢

偏光片喷码小图
一种喷码位置偏移的检测方法及装置设计
DOD 喷码技术在激光切割行业的应用
深圳市三利谱光电科技股份有限公司副总经理阮志毅:国内偏光片上游材料市场前景广阔
基于安川工业机器人的钢卷自动喷码系统开发
国产超宽幅偏光片产品蓄势待发
液晶电控调光镜研究
小图的夏天
智趣
全新70 微米喷嘴为制造商提供更多优势
拼图