机器视觉检测的基础知识(六)OCR
OCR是视觉检测的基本功能之一,即字符识别。今天我们针对OCR及其相关,作一篇专题讲座。一,印字检测的...
OCR是视觉检测的基本功能之一,即字符识别。今天我们针对OCR及其相关,作一篇专题讲座。
一,印字检测的类型。
说来OCR只是印字检测的一种类型,即字符识别。其实印字检测依据难度逐渐升高,可以分为以下三类。
1,印字有无检测。
顾名思义,就是简单检测印字有还是没有。
2,OCR。
OpticalCharacter Recognition,即视觉字符识别。主要目的只是要求看出来一个字符到底是“A”,还是“B”,并将识别的结果和标准作对照,或者直接输出该识别字符串。
3,OCV。
OpticalCharacter Verification,即视觉字符验证。不仅仅是要识别出字符,对于字符印刷不良,比如缺失笔画等也需要检测出来。
第一种印字有无检测可以使用图像传感器来识别,非常简单。
第三种OCV在印刷制版业用的比较多,多采用专用视觉设备。其大致原理是,采用图像差分,即好的图片和不良的图片做减法,从而挑出不良的地方。难点在于:a)对于大视野的检测,因为需要高精度,所以要求像素高,这样处理的数据量就很大,在做算法时,需要更细致考虑如何保证速度。b)需要甄别良品的差异。即好的产品也没有两个100%完全一样,哪些不一样属于良品范畴,需要给Pass,哪些不良是真的不良,要给NG。要根据足够样本量的良品,在算法上作迭代。c)对于印刷数据变化,比如像时间日期,还需要考虑这个变化量。正因为比较复杂,所以多采用定制开发的专用机来做。成本也会相应比较高。
▼下图是使用通用智能相机做的OCV检测,中间涉及到智能学习的算法。(想了解更详细内容,欢迎给我邮件。)
第二种OCR,是我们本次要着重讨论的。
▼首先看一个例子,下图是方便面底部的印字。要求是检测出喷印的字符,并且判断是否是对的字符。要求随时间变化,判断标准也变为对应时间的字符。
▼处理后的效果如下图:
这一过程分解来看是步骤如下:
1,图像背景处理。
2,字符切割。
3,字符注册。
4,字符识别与判断。
5,结果输出。
1,图像背景处理。
简单讲就是通过各种图像滤波器的组合,使得字符和背景对比度增加,从而区别开来。
▼举一个此类背景处理的极限例子。在100元RMB左上角暗藏一个100,这里通过很强大的背景处理使其凸显出背景来。
2,字符切割。
▼这个环节的重点是字与字之前要有间隙。再辅以一些手段,可以将字符准确切割开来。
▼当然,也有些字符之前位置关系变化很大,并且缺乏直接规律的情况,需要用到手动切割,并辅以个别的位置补正。如下图例:
3,字符注册。
OCR从本质上来讲,其实还是图像匹配。所以在字库注册环节,如果可以为同一字母添加多个注册图像,会大大提高识别率和准确率。
4,字符识别与判断。
如上面所讲,字符的识别依赖于注册的图像。而判断环节,对于固定字母数字直接输入判断标准即可。如果数字和字母是变化的(多半是时间日期,或者自然数递增),则需要设置相应函数和容差范围(即时间点切换时候的容差范围,比如3月2号晚上23:59切换为3号时候,在正负1分钟内,无论印刷为2号还是3号都合格。)。
5,结果输出。
输出可以输出判断结果,也可以直接输出识别出来的字符串。
▼整个过程图解如下:
希望本期的内容对大家对OCR的认识有所帮助。如有进一步的问题,欢迎邮件联系。
Apolloluo@keyence.com.cn
关注 工业机器视觉系统的前沿应用
微信扫一扫关注公众号