科普文章

光学字符识别技术:让电脑“读”懂世界

发布时间:2015-04-09

  把手机摄像头对准菜单上的法语菜名,屏幕上实时显示出翻译好的中文菜名;批量扫描书籍,将全世界图书馆的藏书转化为电子书;街景车游走于大街小巷,拍摄街景的同时也从图像中自动提取文字标识,让地图信息更丰富准确……这些场景的背后,是一项共同的关键技术——光学字符识别(Optical Character Recognition,OCR)。

慧眼读世界

  鼠标发明人道格拉斯·恩格尔巴特(Douglas Engelbart)曾经针对人工智能的简称“AI”提出了另一个理念——Augmented Intelligence,增强智能。在他看来,人已经足够聪明,我们无需再去复制人类,而是可以从更加实用的角度,将人类的智能进一步延伸,让机器去增强人的智能。智能眼镜就是这样的产品:去超市的时候戴上一副,看到心仪商品上的文字,自动搜索出详细信息:生产商情况、在不同电商平台的价格等等。

  让智能眼镜“读懂”文字的,正是OCR技术。OCR本质上是利用光学设备去捕获图像,无论是今天的手机、照相机,还是未来的智能可穿戴设备,只要有文字,就能去认出来。设想一下,在未来的工作会议中,只要手机等智能设备给会议白板拍照,系统便能自动识别白板上的讨论内容,分检出相关人员的后续工作,并将待办事项自动存放到各自的电子日历中。在OCR技术的支持下,这样的场景将不是梦想。

  微软去年推出的Office Lens应用就向梦想的实现迈进了一小步。在研究院语音团队的核心支持下,这一技术已经可以通过视觉计算技术实现对图像的自动清理,并利用基于云端的OCR技术将对图片进行文字识别,最终返还给用户一个可编辑、可搜索的数字文件。

  

    图片来源:research.microsoft.com

辉煌与挑战

  OCR技术的应用经历了超过半个世纪的摸索优化。早在20世纪50年代,IBM就开始利用OCR技术实现各类文档的数字化。但早期的OCR设备庞大而复杂,只能处理干净背景下的某种特定的印刷字体。20世纪80年代,平板扫描仪的诞生让OCR进入商用阶段,设备更为轻便灵巧,可以处理的字体数量也增多,但对文字的背景要求仍然很高,需要很好的成像质量才能保证效果。

  到了20世纪90年代,平板扫描仪对印刷体文本的识别率就已经达到99%以上,可谓OCR应用迎来的第一个高潮。当时最著名的事件是谷歌数字图书馆,谷歌还申请了图书扫描专利,实现了批量化的高速扫描。在此期间,手写字体的识别也在并行发展,被广泛用于邮件分拣、支票分类、手写表格数字化等领域。

  这样的成就,一度让大家误以为OCR技术已经登峰造极,但自从2004年拥有300万像素摄像头的智能手机诞生之日起,OCR的发展又有了新的追求:越来越多的人随手拿起手机拍摄所看到的事物和场景,此类自然场景中的文字识别难度远远高于平板扫描仪时期,即便是印刷字体,也不能得到很高的识别率,更别说手写体了。学术界因此将自然场景中的文字识别作为全新的课题来对待。

自然场景下的文字检测

  自然场景图像中的文字识别之所以大大难于扫描仪图像中的文字识别,是因为它具有极大的多样性和明显的不确定性。文字所属的语言、字母的字体参数、文本行的排列和对齐方式等因素,都影响着识别的效果。由于拍摄图像的随意性,图像中的文字区域还可能会产生变形(透视和仿射变换)、残缺、模糊断裂等现象。

  此外,与传统 OCR 技术中的扫描文档图像相比,自然场景图像的背景也更为复杂。如文字可能写在曲面上、文字区域附近有复杂的纹理和噪声、图像中的非文字区域有跟文字区域非常相似的纹理(比如窗户、树叶、栅栏、砖墙)等等。这些复杂背景会极大增加误检率。

  通常,OCR识别的步骤可以分为两步:首先是文本检测(Text detection),将文字从图片中提取出来;然后,对文本进行识别(Recognition)。微软亚洲研究院团队对相关技术和算法进行了针对性的优化和创新,对文本检测环节进行了改进。

  文本检测首先要从图像中切割出可能存在的文字,即“候选连通区域”,然后再对其进行文字/非文字分类。一个字母或文字通常可以分为若干个连通区域,如字母“o”就只有一个连通区域,“i”则拥有两个连通区域。在确定候选连通区域阶段,我们创新地采用了对比极值区域CER(Contrasting Extremal Region),选取跟周围的背景有一定对比度的极值区域,通过大幅缩小候选范围,提高了算法的效率。

  

    受噪声影响的CER示例。图片来源:霍强

  由于在图像模糊、分辨率低或者噪声较多时,提取出来的CER有可能会含有冗余像素或者噪声,这些冗余像素或者噪声的存在会使得后面的文字/非文字分类问题变得更为复杂。为了提高所获得的候选连通区域的质量,微软亚洲研究院团队决定增加一个算法环节去增强CER。我们利用图像的颜色信息尽可能地滤除CER中的冗余像素或者噪声,得到具有视觉感知一致性的颜色空间。这一空间对光照不敏感,更接近人眼对颜色的判断。

  

算法提取出来的候选连通区域结果示例。图片来源:霍强

  当系统获得了高质量的候选连通区域,就需要对其中的字符进行分辨,确定其是否为文字或非文字。微软亚洲研究院团队提出了一套基于浅层神经网络的文字/非文字分类算法,比以往的算法更加有效。这个算法根据文字本身的特性采用分治策略将原始问题空间划分为5个子空间,每个子空间对应一类文字样本,每个候选连通区域被划分到这5类中的一种。在每个子空间中,都有一个相应的浅层神经网络作为该子空间的文字/非文字分类器——我们可以将该神经网络看作是一个黑盒子,在经过大量学习之后,它便能较为准确的将文字与非文字分类。

  

     文字类问题空间划分示例。图片来源:霍强

  这些改进大大增强了OCR在自然场景中的识别本领。之前,在自然场景文字检测的标准数据集进行测试,业界最好的技术所能达到的检测精度是88.5%,而召回率只有66.5%。而在2014年8月,微软亚洲研究院团队在瑞典首都斯德哥尔摩举办的国际模式识别大会(ICPR)上进行的自然场景文字检测测试中取得了92.1%的检测精度和92.3%的召回率。随着研究工作的不断突破,OCR必定还会焕发新机,衍生出更多振奋人心的应用。

  (编辑:Calo)