文字,一种信息记录的图像符号,千年来承载了太多的人类文明印记。OCR,一种自动解读这种图像符号的技术,一直以来都备受关注。尤其在信息时代的今天,数字图像纷繁复杂,如何便捷高效的获取其中的文字信息,更有着重要的时代意义。作为模式识别领域最为经典的研究热点之一,OCR经历了长时间的发展变化,各种新技术、新方法、新应用层出不穷。
OCR技术的过去和现在:
OCR(光学字符识别技术),是通过扫描仪或相机等光学输入设备获取纸张上的文字、图片信息,利用各种模式识别算法对文字的形态结构进行分析,形成相应的字符特征描述,通过合适的字符匹配方法将图像中的文字转换成文本格式。
基于汉字的识别最早见于20世纪60年代,采用基于模版匹配的方法,由IBM公司的Casey和Nagy于1966年提出。此后日本多家企业如:三洋、松下、理光、富士等也相继研发了汉字印刷体识别系统。我们国家开始于70年代,当时主要专注与算法和方案的探索,后在90年代,中文OCR技术慢慢由实验室走商业市场,开始在实际中应用。当前国内该技术做得比较好的有:文通、汉王,丹青(台湾公司)、蒙括(台湾公司),商业化应用比较好的软件有:清华OCR、 尚书七号、中文紫光OCR等,国外的公司当然属ABBYY和IRIS。这些技术和产品的衍生、改进都标志这人们对OCR技术需求的不断变化。
在OCR字符识别领域中,还有一个著名开源项目:Tesseract,它是一个OCR引擎,在1985年~1995年间由惠普实验室开发,之后被Google接管并做了大量优化,最终作为开源项目发布在Google Project上得以全新问世。在tesseract-ocr 3.0及其随后的版本发布中,也陆续支持了中文汉字的识别。
我们的OCR技术简介:
在研发印刷体字符识别技术之初,我们曾考虑基于Google的开源框架Tesseract下针对实际业务需求进行优化,但是大量的测试显示,Tesseract由于自身的算法的限制,其对于中文字符的识别并不能达到我们的预期。为此,自主研发OCR系统的想法便浮出水面,而这必将是一个艰苦长期的过程,一旦选择便义无反顾,只能风雨兼程,我们始终相信上帝对每一个人都是公平的,在不断付出汗水和努力的同时,也必将收获更丰盛的果实。
下面简单介绍下我们研发的OCR系统,其整体框架如(图一)所示:
(图一) OCR整体
OCR系统的五大部分:
1.图像预处理:该阶段主要针对输入的图像进行局部自适应去噪、字符区域检测,以及对字符尺寸进行预估;
2.字符分割:中文字符与英文等字符最大的不同点在于,许多中文字符是由多个文字块组成(如:“明”由“日”和“月”构成;“林”由“木”和“木”构成等),对于这类字符是很难有统一的方法进行完整的分割。事实上,在我们的OCR框架中,对于字符分割阶段的分割准确率要求是比较宽松的,其最本质的原因在于我们采用了“分割→匹配→分割”这样一种动态调整的识别策略,自动通过不同组合来寻找到最优的分割字符;
3.特征描述:作为OCR最核心的步骤,在特征描述阶段,我们做了大量的实验,最终选定了“多尺度+多特征融合+降维”的特征描述方法。对于每一个字符,我们会对其进行中心重定位以及光照归一化处理,同时提取其不同尺度下(5种尺度)的多类特征(梯度投影特征+HOG+模板)并进行融合,对于提取出来的高维特征采用一定的降维处理,最终得到字符的低维特征表达。特征描述的完整过程可以见(图二)所示:
(图二) 特征描述
4.字符匹配:综合考量欧氏距离、余弦距离、QDA、L1范数等多种相似度计算方法的优劣,采用余弦距离作为最终的相似度计算方法。
5. 结果输出:对于很多相似字符(如W-w, Z-z, 0-O-o,1-l等),单纯依靠特征匹配是很难区分开来的,所以在这个步骤中,必须要加入相应的语言模型进行校正。同时对于某些特殊应用,需要对于结果做结构化分析和输出。
在模型训练过程中,我们主要针对4800个高频汉字、英文、数字,以及常用的60个符号,总的训练样本数约12万个印刷体字符。实测结果显示,该OCR有较高的准确率:中文识别准确率达99.6%,数字、符号、英文等字符的识别率达99.2%,均已达到国际先进水平。(图三、图四)为实际测试的结果:
(图三) 待识别字符图像
(图四) 识别结果
未来我们OCR技术要走的路:
在OCR领域,目前所做的仅仅只是一个开始,我们还将沿着当前的道路继续一往无前的走下去。基于当前OCR框架,不仅仅可以做印刷体字符的识别,实际上我们可以做的更多:
1.手写体字符识别;
2.自然场景文字检测与识别;
3.特殊场景下(如银行票据、商业文档、身份证明等)格式化文本的自动版面分析与字符识别。
在未来OCR研究的道路上,我们不仅要关注技术性能的提升,更需要结合用户、产品以及市场需求来定位我们的研究方向,寻求更多技术的交叉融合,为OCR开辟更广阔的技术和市场空间。