【转】腾讯OCR—自动识别技术,探寻文字真实的容颜
文字,一种信息记录的图像符号,千年来承载了太多的人类文明印记。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开辟更广阔的技术和市场空间。
【转】腾讯OCR—自动识别技术,探寻文字真实的容颜的更多相关文章
- 腾讯Ocr文字识别
简述 上篇文章记录了百度Ocr的两种模式用法,接下来这篇文章开始记录腾讯Ocr的使用方法.腾讯Ocr的通用印刷体识别模式使用比较简单,直接接入sdk即可,但手写体的识别相对比较麻烦,需要自己post表 ...
- 汽车Vin码识别——可以嵌入到手机里的新OCR识别技术
汽车Vin码识别(车架号识别),顾名思义,就是识别汽车的Vin码(车架号),汽车Vin码识别(车架号识别)利用的是OCR识别技术,支持视频流获取图像,自动触发识别,另外汽车Vin码 ...
- 发票OCR识别/票据OCR自动识别
对于一些大的集团公司来说,分散式财务管理模式管理效率不高,管理成本相对较高,同时也制约了集团企业发展战略的实施,因而需要建设财务共享中心.一个企业想建造财务共享中心,面临的难题是大量的数据采集和信息处 ...
- AI时代的OCR识别技术浅析
人工智能这个词可谓是耳熟能详,近几年人工智能热潮再次席卷而来,引起轰动的要数google的AlphaGo,相继打败了围棋界的韩国选手李世石以及世界冠军柯洁,见证了人工智能发展的里程碑式的变革,人工智能 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别
Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...
- 腾讯QQ会员技术团队:人人都可以做深度学习应用:入门篇(下)
四.经典入门demo:识别手写数字(MNIST) 常规的编程入门有"Hello world"程序,而深度学习的入门程序则是MNIST,一个识别28*28像素的图片中的手写数字的程序 ...
- 腾讯QQ会员技术团队:以手机QQ会员H5加速为例,为你揭开sonic技术内幕
目前移动端越多越多的网页开始H5化,一方面可以减少安装包体积,另一方面也方便运营.但是相对于原生界面而言,H5的慢速问题一定被大家所诟病,针对这个问题,目前手Q存在几种方案,最常见的便是离线包方案,但 ...
- Android技术分享-文字转语音并朗读
Android技术分享-文字转语音并朗读 最近在做一个项目,其中有一个功能是需要将文本转换成语音并播放出来.下面我将我的做法分享一下. 非常令人开心的是,Android系统目前已经集成了TTS,提供了 ...
- 干货满满,腾讯云+社区技术沙龙 Kafka Meetup 深圳站圆满结束
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 云+导语:4月22日,由腾讯云和 Kafka 社区主办.开源中国协办的腾讯云+社区技术沙龙 Kafka Meetup 深圳站在腾讯大厦举行, ...
随机推荐
- 一个Highcharts的例子
关键字:Highcharts <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Typ ...
- u-boot Makefile整体解析
一.概述 1.理解u-boot的makefile需要的准备 linux常用命令.shell脚本基础知识.makefile脚本基础知识 2.Makefile的元素 万变不离其宗,无论工程多么复杂,文 ...
- SDWebImage 详解
一.SDWebImage介绍 1.在项目的开发过程中,我们经常会用到异步加载图片的功能,先从网络上异步下载图片,然后通过UIImageView显示在屏幕上.这是一个经常使用的功能,基本上所有的联网应用 ...
- 递归-快速排序quickSort
现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序.首先在这个序列中随便找一个数作为基准数.为了方便,就让第一个数6作为基准数吧.接下来,需要将这个序列中所有比基准数 ...
- [BZOJ 2738] 矩阵乘法 【分块】
题目链接:BZOJ - 2738 题目分析 题目名称 “矩阵乘法” 与题目内容没有任何关系..就像VFK的 A+B Problem 一样.. 题目大意是给定一个矩阵,有许多询问,每次询问一个子矩阵中的 ...
- PS字体工具字体显示不出来
显示一个小点:搜索了各种答案,扩大字号(最大72)更改前景色和背景色,最正确的解释就是分辨率太低,我发现分辨率是1,一般的设置成300,1分辨率情况下可以在图层那选择文字图层,然后按ctrl+t,拉大 ...
- Colored Sticks
poj2513:http://poj.org/problem?id=2513 题意:就是求一个欧拉回路. 题解:本题是判断欧拉通路是否存在,但是如果是用map的话就会超时,这里采用了trie树,有发现 ...
- Setup SQL Server 2008 Maintenance Plan Email Notifications
一条龙作完,如何设置EXCHANGE的操作员邮件通知.. ~~~~ http://808techblog.com/2009/07/setup-sql-server-2008-maintena.html ...
- WebApp触屏版网站开发要点
所谓的触屏版网站其实也是WebApp的一种展示形式,主要是依赖HTML+CSS+Javascript这三个关键因素来实现,相比较原生客户端程序来说优点就是开发周期短.升级简单.维护成本低,因为从根本上 ...
- JBossESB教程(一)——开发环境的搭建
前言 上篇对SOA的概述里面,在说SOA构建需要考虑什么时,提到了ESB,它作为SOA的基础设施而存在. 从这篇开始,将对ESB的其中一个实现JBossESB进行一个从头开始的讲解,既然是从头开始,那 ...