机器视觉检测的基础知识(六)OCR

 

OCR是视觉检测的基本功能之一,即字符识别。今天我们针对OCR及其相关,作一篇专题讲座。一,印字检测的...



OCR是视觉检测的基本功能之一,即字符识别。今天我们针对OCR及其相关,作一篇专题讲座。

一,印字检测的类型。

说来OCR只是印字检测的一种类型,即字符识别。其实印字检测依据难度逐渐升高,可以分为以下三类。

1,印字有无检测。

顾名思义,就是简单检测印字有还是没有。

2OCR

OpticalCharacter Recognition,即视觉字符识别。主要目的只是要求看出来一个字符到底是“A”,还是“B”,并将识别的结果和标准作对照,或者直接输出该识别字符串。

3OCV。

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


    关注 工业机器视觉系统的前沿应用


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册