数平精准推荐 | OCR技术之数据篇

导语:深度学习在OCR领域的成功应用需要大量数据,数平精准推荐团队利用图像增强,语义理解,生成对抗网络等技术生成高质足量的数据,为算法模型提供燃料,帮助OCR技术服务在多种业务场景中快速迭代,提升效果。

一. 背景介绍

如果把深度学习看做引擎,大量带标注的数据则是燃料,燃料的体量和质量直接影响引擎的动力。随着计算能力大幅增强,深度学习模型已向着wide & deep的方向越走越远,更大更深的模型需要更多的数据训练。这一点从近年来学术界与工业界竞相公开的数据集规模上可见一斑。以经典的计算机视觉任务为例,如fig.1所示,公开数据集的量级几乎呈指数上升趋势。体量越来越大的数据集同时也包含着越来越丰富的标签信息,正是这些庞大而丰富的信息使得深度模型得以充分的训练,从而能完成各种机器视觉,语义理解,行为预测等任务。

fig. 1 近年来计算机视觉公开数据集 [1][2][3] [4] [5]

1.1 OCR数据

如图fig.2所示,OCR的作用是检测图像中的文字区域以及识别文字内容。我们的OCR算法当前主要应用于广告图片,不仅助力广告审核,更重要的是提取广告素材图片中的语义特征以求更精准的推荐[17]。除了广告领域,我们还服务于内容相关的网络图像,游戏图像,以及各类卡证图像的识别。相比物体检测识别,OCR由于包含倾斜文本框,低分辨率文字,以及文本版面多样化,因此OCR数据标注具有特殊性,标注成本更高。如此情况决定了我们难以通过用户反馈获得待标注样本来支撑OCR深度模型训练。因此,除了在具体业务场景中必不可少的人工数据标注,我们的训练样本需要通过机器生成来获取。

fig.2 OCR图像文字识别效果

二. OCR数据生成

对基于深度学习的技术而言,训练数据的数量很大程度上影响了技术效果。公司的业务图片中包含大量中文汉字文本行,中英文数字混合的情况,几乎没有这样大规模可用的文字检测识别数据集,由于获取大量带标注训练数据成本高,易扩展且速度快的数据机器生成便成为首选。在计算机视觉领域,数据机器生成主要可粗略的分为三种类型:底层的图像处理技术,中间层的图像理解加人为规则,以及高层的端到端图像数据生成,OCR技术的数据生成同样遵循这三类。

2.1 图像处理数据增强

基于图像处理进行数据增强这种训练数据生成的方式是门槛最低也应用最为广泛的方法。最常用的图像处理方式包含如fig.3所示,翻转,平移,旋转,加噪声,模糊,等几十种基础操作,每张样本可通过组合这些操作生成出众多新样本。在OCR领域,除了上述的基础图像处理技术,书写文字的属性及背景图片也可以极大的多样化。我们使用的背景图片来自于多种业务场景;在字体选取上使用几百种中英文字体;在语料库的选择上,在现有广告语料基础上,我们构建了近千万词条的新语料库。生成的样本最大化接近真实广告图片, 生成样本数千万,使得模型具备强大的识别能力和泛化性能。

fig.3 图像样本增强:噪声,旋转,调整对比度,模糊等

2.2 基于图像分割&景深

由于直接将文字写在背景图片上这种策略并不考虑背景变化,在很多背景复杂的情况下,生成的样本显得不真实,且部分样本人眼也无法判断文字内容。这些样本的存在有极大的可能给模型检测识别能力带来副作用,受到牛津大学VGG实验室16年发表的文章[6]启示,我们对背景图片进行分析理解,选取趋近一致的背景进行文字书写,并且根据图片景深信息,将文字书写平面与图片中物体表面进行拟合,让文字贴合物体表面,获得更加真实的视觉效果。

fig.4 OCR图像文字识别效果

(绿色文本框标识文本行位置,黑色文字代表文本框内文字内容,图像来源[6])

在fig.4中,第一行为背景图片处理流程,第二列为生成样本示例。图片经过景深检测,图像分割以及文字区域筛选。在书写文本行的过程中,文字书写的平面会依据物体表面,以模拟出更真实的图片样本。在fig.5中可以看到图片中生成的文字不仅每个文本行带有标注框,每个字的位置也有文本框明确的标注。

fig.5 基于图像分割和景深生成OCR标签图片

基于上述图像分割和图像景深的技术,我们在广告图片上生成了大量的带标注样本供文本检测模型训练。如fig.6所示,样本中的文字与图片大小比例,文本行倾斜角度,文字颜色与背景颜色的映射关系,文字间隔等细节特征也通过统计广告图片获得。在使生成样本更加趋近真实的样本的基础上,我们还从文字透明度,斜体方面增加了生成样本的多样性,从而获得更加鲁棒的文字检测及端到端检测识别的能力。

fig.6 广告图片生成样本

对于大部分网络图片(广告图片,信息流文章图片,游戏图片等),由于业务中的样本本身也由计算机生成,属于生成数字图片(Born-Digital Images)识别,因此我们生成的样本可以模拟到非常逼真,但是在部分业务场景里,待识别的图片来自于真实拍摄,属于自然场景文字识别  STR(Scene Text Recognition),STR在计算机视觉领域是经典且热门的技术,很多年来一直持续不断有研究工作[10][11][12][13]推进其发展。但是,STR在公开数据集的数量方面一直没有突破,一些研究尝试使用基于类似生成网络图片的方式生成自然场景样本,却始终没有取得显著的效果。

2.3 生成对抗网络(Generative Adversarial Network)

在自然场景中,文字通常不但不像网络图片具有显著性,还经常伴随着模糊,反光等情况,给文字检测识别带来极大的困难。以银行卡号识别场景为例,阴影,反光,角度,背景均给识别带来很大的困难,然而这些并不是最核心的问题,核心问题是银行卡图片属于个人隐私,获取大量真实银行卡图片样本几乎不可能。那么,如何满足模型训练却必须有样式丰富、数量庞大的样本集需求呢?我们需要更多从算法角度出发,寻找突破口。

fig.7生成对抗网络结构

自从2014年底Ian Goodfellow 提出生成对抗模型(GANs)[7]以来,业界涌现出大量GANs应用在各个任务上的工作,其中包含了一些数据生成的成果[8][9][14][15]。GANs思想如fig.7所示,生成网络负责生成图像,判别网络负责预测输入图片是否真实,随着生成网络G与判别网络D的交替式对抗学习,生成网络逐渐能够生成以假乱真的图像

(a)模型训练过程

(b) 生成器模型结构选择

fig.8 pix2pix[14]原理图解

在一系列生成对抗网络的成果中,我们发现基于对抗学习的图片风格转化[14][15]更符合我们的场景,如fig.8所示,pix2pix[14]中,判别器D学习区分真实样本和生成样本;生成器G学习生成更真实的样本以求让D无法识别,其中生成器网络结构可选择是否带有跳跃连接。在这个基础上,我们可以将人工生成出的白底黑字的号码转化为银行卡号的风格,用以增加训练样本。如fig.9所示,左边为真实的银行卡样本图片,右边为对应卡号的模版。我们期望利用训练好的生成对抗网络将随机的卡号转化为银行卡风格的样本,如此以来我们便可以获得大量带标注的银行卡样本用以训练文字识别模型。

fig. 9 银行卡样本素材(部分号码涂黑为保护卡号隐私)

fig.10为我们使用的生成对抗模型,不同于常规的图片生成任务,卡号图片为长条形(长是宽的10倍以上),为了保证生成的图片整体风格一致,我们调整网络结构,让网络感受野足够看到大部分图片,从而保障生成的图片整体风格保持一致。另外再通过drop out来控制随机性,使同一个号码模版可以生成出几百种不同的风格。

fig.10 银行卡样本生成对抗模型

Fig.11中的图片通过GANs生成, 可以看到尽管图片还有少量瑕疵(最下图),但绝大多数图片已经可以达到以假乱真的程度。我们依照银行卡号数字编码规范,可以很快生成几十万数字模版,再通过GANs将这些模版转换为银行卡号风格,伴随推理过程中的随机性,我们可以在一天内产出百万量级的生成样本提供给识别模型训练。

fig.11 用生成对抗网络生成银行卡号样本效果

2.4 小结

在各类任务上,我们累计生成样本千万级别,为OCR检测和识别提供了充足的训练数据。通过上述的数据生成技术,我们在网络图片,自然场景图片,以及特定业务场景(银行卡,×××...)的OCR检测与识别效果有明显提升。尤其是网络图片,由于生成样本逼真,数量多,足够多样化,能够通过算法bad case反馈迅速反应,生成针对性的样本,使得OCR能力快速提升。在生成对抗网络方面,优化生成模型的稳定性,利用少样本学习,半监督学习等将会是我们重点探索的方向。

三、总结

本文分享了数平精准推荐团队在数据生成方面的工作,主要基于图像处理,图像理解,和生成对抗网络三种类型的技术快速产生大量带标注数据,在此之外,也在不断积累人工标注数据作为真实样本,这些真实样本不但客观反映了业务场景,也为生成数据规范提供了标杆,即依赖这些真实数据样式来在生成数据环节进行大量的模拟和泛化。在后续的工作中,我们会重点关注如何通过服务化和工具化实现不断的数据自动积累,模型自动训练更新。除OCR外,计算机视觉乃至整个机器学习领域,尽管数据驱动这个词被无数次提到,但真正能够释放数据驱动能力的产品或技术服务依然寥寥无几。如何让机器自身具备数据收集、整理、分析的能力,并自主对算法进行调整和优化,自主做出判断和决策将是我们探索的方向。

腾讯TEG数平精准推荐团队OCR方面已经有了多年积累下的各项技术积累,愿意与任何有OCR技术相关需求的业务同事们进行交流合作,以TEG的使命:专业、合作、伙伴为目标,唯愿以持续打造业界一流的数据、算法、系统,为业务团队提供优质的服务。

技术&业务合作请咨询:[email protected],亦长期招聘优秀算法工程师与实习生,欢迎联系。

参考文献:

[1] The 2005 PASCAL Visual Object Classes Challenge, M. Everingham, A. Zisserman, C. Williams, L. Van Gool, M. Allan, C. Bishop, O. Chapelle, N. Dalal, T. Deselaers, G. Dorko, S. Duffner, J. Eichhorn, J. Farquhar, M. Fritz, C. Garcia, T. Griffiths, F. Jurie, D. Keysers, M. Koskela, J. Laaksonen, D. Larlus, B. Leibe, H. Meng, H. Ney, B. Schiele, C.Schmid,E.Seemann,J.ShaweTaylor, A. Storkey, S. Szedmak, B. Triggs, I. Ulusoy, V. Viitaniemi,and J. Zhang.      In Selected Proceedings of the First PASCAL Challenges Workshop, LNAI, Springer-Verlag,  2006 (in press).

[2] SUN Database: LargeScale Scene Recognition from Abbey to Zoo. J. Xiao, J. Hays, K. Ehinger, A. Oliva, and A. Torralba. IEEE Conference on Computer Vision and Pattern Recognition, 2010.

[3] The MIR Flickr Retrieval Evaluation. M. J. Huiskes, M. S. Lew, ACM International Conference on Multimedia Information Retrieval (MIR'08), Vancouver, Canada

[4] New Trends and Ideas in Visual Concept Detection. M. J. Huiskes, B. Thomee, M. S. Lew, ACM International Conference on Multimedia Information Retrieval (MIR'10), Philadelphia, USA.

[5] Abu-El-Haija,  Sami, Nisarg Kothari,  Joonseok Lee,  Paul Natsev,  George Toderici,   Balakrishnan Varadarajan, and Sudheendra Vijayanarasimhan.  "Youtube-8m: A large-scale video classification benchmark." arXiv preprint arXiv:1609.08675, 2016.

[6] Synthetic Data for Text Localisation in Natural Images, Ankush Gupta, Andrea Vedaldi, Andrew Zisserman. CVPR?2016.

[7] Generative Models, Andrej Karpathy, Pieter Abbeel, Greg Brockman, Peter Chen, Vicki Cheung, Rocky Duan, Ian Goodfellow, Durk Kingma, Jonathan Ho, Rein Houthooft, Tim Salimans, John Schulman, Ilya Sutskever, And Wojciech Zaremba, OpenAI, retrieved April 7, 2016.

[8] Ashish Shrivastava, Tomas Pfister, Oncel Tuzel, Josh Susskind, Wenda Wang, Russ Webb, Learning from Simulated and Unsupervised Images through Adversarial Training, CVPR 2017.

[9] Xinlong Wang,  Mingyu You , Chunhua Shen, Adversarial Generation of Training Examples for Vehicle License Plate Recognition. arXiv 2017.

[10] Xinhao Liu?,?Takahito Kawanishi?,?Xiaomeng Wu, Kunio Kashino,  Scene text recognition  with high performance CNN classifier and efficient word inference.  ICASSP 2016.

[11] Fei Yin, Yi-Chao Wu, Xu-Yao Zhang, Cheng-Lin Liu,  Scene Text Recognition with Sliding  Convolutional  Character Models, Arxiv 2017.

[12] Suman K.Ghosh, Ernest Valveny, Andrew D. Bagdanov, Visual attention models for scene text recognition, CVPR 2017.

[13] Baoguang Shi, Xinggang Wang, Pengyuan Lyu, Cong Yao, Xiang Bai Robust Scene Text Recognition with Automatic Rectification, CVPR 2016.

[14] Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros, Image-to-Image Translation with  Conditional Adversarial Nets, CVPR 2017.

[15] Jun-Yan Zhu,  Taesung Park,  Phillip Isola, Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Arxiv 2017.

[16] Mehdi Mirza, Simon Osindero, Conditional Generative Adversarial Nets. Arxiv 2014.

[17]薛伟, 广告中的大数据与机器学习, 腾讯大数据技术峰会, 2017.

原文地址:http://blog.51cto.com/13591395/2097012

时间: 2024-08-29 14:33:11

数平精准推荐 | OCR技术之数据篇的相关文章

数平精准推荐 | OCR技术之系统篇

导语:如果说算法和数据是跑车的发动机和汽油,那么系统则是变速箱,稳定而灵活的变速箱,是图像识别服务向前推进的基础.算法.数据.系统三位一体,随着算法的快速发展和数据的日益积累,系统也在高效而稳定地升级. 一.背景介绍 前面的系列文章分别介绍了算法和数据,如果说算法和数据是跑车的发动机和汽油,那么系统则是变速箱,稳定而灵活的变速箱,是图像识别服务向前推进的基础.算法.数据.系统三位一体,组合成完整的OCR在线服务.伴随着算法的升级和业务的持续接入,系统也经历了从单机版升级到分布式版本:从为了每个算

腾讯数十亿广告的秘密武器:利用大数据实时精准推荐

在过去几年,你在腾讯做了什么来推动大数据的应用? 过去三年,我一直在坚持一件事:推动大数据的实时应用.现在从国外数据中心的数据,一秒钟可以达到深圳数据中心,这就是腾讯具备的数据能力.有了这个能力,就可以做很多商业化行为的模式. 目前腾讯收集的数据已经超过了1万亿条, 计算机规模已经超过了8千8百台.这么庞大的数据如果能实时处理,就能发挥出巨大的商业价值.这个商业价值就是精准推荐. 每年腾讯几十亿的广告,其基础来自于数据的精准推荐.实时数据推荐还可以用于视频的推荐,腾讯音乐推荐,新闻客户端的推荐,

互联网精准广告定向技术(转)

http://www.williamlong.info/archives/3125.html 互联网精准广告定向技术,指的是依托于搜索引擎庞大的网民行为数据库,对网民几乎所有上网行为进行个性化的深度分析,按广告主需求锁定目标受众,进行一对一传播,提供多通道投放,按照效果付费. 本文的写作初衷是总结自己的知识,将知识从片段的.隐形的转化为可以向别人讲述.能够给人帮助的.在总结的过程中自己也提升了很多,同时希望这些内容能够切实的给刚进入这个行业的同学们以帮助.为了查看方便,特把内容进行汇总. 一.基

OCR技术的简介及发展

一.OCR技术的发展历程  自20世纪60年代初期出现第一代OCR产品开始,经过30多年的不断发展改进,包括手写体的各种OCR技术的研究取得了令人瞩目的成果,人们对OCR产品的功能要求也从原来的单纯注重识别率,发展到对整个OCR系统的识别速度.用户界面的友好性.操作的简便性.产品的稳定性.适应性.可靠性和易升级性.售前售后服务质量等各方面提出更高的要求. IBM公司最早开发了OCR产品,1965年在纽约世界博览会上展出了IBM公司的OCR产品--IBMl287.当时的这款产品只能识别印刷体的数字

Netflix是如何向4000万用户精准推荐电影的

虎嗅注:本文来自爱范儿网,虎嗅进行了相关编辑.在信息爆炸的时代,智能推荐应时而生.内容提供商能够对用户的爱好做出更为细致的分析,从而做出更加个性化的推荐.Atlantic网站的Alexis C. Madrigal通过对Netflix影片分类的深入分析以及采访Netflix产品副总裁,揭示了Netflix影视推荐背后的真相. 外界的解读:语法 Netflix 推荐影片的时候,会给出一个非常细致的类型,或者说是一种“微类型”.Alexis 想要整理出一份完整的微类型列表.由于Netflix的微类型多

【OCR技术系列之一】字符识别技术总览

最近入坑研究OCR,看了比较多关于OCR的资料,对OCR的前世今生也有了一个比较清晰的了解.所以想写一篇关于OCR技术的综述,对OCR相关的知识点都好好总结一遍,以加深个人理解. 什么是OCR? OCR英文全称是Optical Character Recognition,中文叫做光学字符识别.它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受.人又可以理解的格式.文字识别是计算机视觉研究领域的分支之一,而且这个课题已经是比较成熟了,并且在商业中已经有很多落地项

如何精准实现OCR文字识别?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识别--智能图像分享活动,活动举办期间用户耐心听分享嘉宾的介绍,并提出了相关的问题,智能图像团队的科学家和工程师也耐心解答可用户的疑问.以下就是活动分享的全部内容. 正文 在日常生活工作中,我们难免会遇到一些问题,比如自己辛辛苦苦写完的资料,好不容易打印出来却发现源文件丢了.难的收集了一些名片,却要很麻烦的

行驶证识别OCR技术促进移动通信发展

随着手机及平板电脑及移动通信的发展,PC上的信息系统逐渐转移到了智能终端设备上.可以预见未来几年60%以上的业务将会逐渐转移到智能终端系统上来.OCR识别技术也不例外,移动端OCR识别也在逐渐的兴起. 行驶证识别是一款基于android和iOS平台的行驶证识别软件,通过手机端的相机进行行驶证拍摄或扫描,利用OCR技术自动识别行驶证上的内容信息,将识别后的内容分组归类,存入手机端或同步服务器,避免繁琐的手工录入,提高信息录入的工作效率,同时也可对证件图像进行头像照片切割处理. 行驶证识别功能特点:

手机扫一扫护照识别OCR技术

一.护照识别OCR技术应用背景 护照是一个国家的公民出入本国国境和到国外旅行或居留时, 由本国发给的一种证明该公民国籍和身份的合法证件.如今,在很多APP中都涉及到对护照信息录入录入,由于护照上的信息量非常大,如果手动去输入护照信息,速度非常慢,且用户体验非常差,效率非常低.为了提高在移动终端上输入护照信息的速度和准确性,我司开发出护照识别OCR技术,以满足各行业应用需求,给用户带来更好的体验.只需将护照识别SDK集成到APP中,即可通过手机摄像头扫描识别护照信息. 二.护照识别OCR技术产品描