中国人工智能学会

Chinese Association for Artificial Intelligence

CIIS 2019 演讲实录丨刘成林:文档图像识别技术进展与应用

发布时间:2019-12-02

10月26日-27日,由陕西省委网信办、陕西省工业和信息化厅、陕西省科学技术厅指导,中国人工智能学会主办,西安市委网信办、西安市科学技术局、西安国家民用航天产业基地管理委员会、京东云共同承办的2019第九届中国智能产业高峰论坛在“硬科技之都”——西安举办。在27日举办的视觉感知技术与应用前沿论坛上,CAAI模式识别专委会主任、中科院自动化研究所副所长、研究员、IEEE/IAPR/CAAI Fellow 刘成林为我们带来了题为“文档图像识别技术进展与应用”的精彩演讲。 

12-1.jpg

刘成林

CAAI模式识别专委会主任

中科院自动化研究所副所长、研究员

IEEE/IAPR/CAAI Fellow

以下是刘成林研究员的演讲实录: 

今天的论坛主题是视觉感知,视觉感知有很多不同的场景,不同场景的数据有不同的特点,文档图像是一类比较特殊的视觉数据,也有很广泛的用途。文档图像识别也称为文字识别,这里面技术的内涵和应用前景都是非常丰富的。我首先介绍一下文字识别的背景,现在一般把它叫文档分析与识别,过去讲的文字识别是单个字的识别,那叫文字识别没有问题,但我们实际碰到的情况都是一整页纸,在一张图片里,首先要把文字在什么地方提取出来,然后才能识别。文档分析和识别的目的,就是把图像里面的文字,从图像形式,转成电子文本,让计算机能够理解它是什么意思。 

文档是载有文字符号的纸张、图像或者电子文件。一大类文档是书籍、报纸、杂志、档案等纸张文档。过去一般是通过扫描得到文档图像,现在越来越多的图像是拍照的,不仅有拍照纸张文档,也有很多自然场景文档(如标识、标牌、车牌等)。另一类是合成文档,比如合成一个电子图像,或者在手写的过程当中用数码笔采集的笔划轨迹数据(称为联机手写文档),原来是没有的,所以也把它当成是合成文档。文档识别领域主要处理文档图像(联机手写文档也可以看做是一种图像)。现在越来越多的文档是通过拍照成像,包括金融领域的票据、单据、证件照等。跟扫描相比,拍照图像的视角、光照变化、形变等导致图像分析识别更困难。今天第一个报告肖京先生提到他们处理保险单、票据等,都是手机拍照以后传到网上去,在网上进行处理。目前这种业务处理方式越来越普遍。 

12-2.jpg

图1. 文档类型 

文档处理流程主要有这么几个阶段。扫描或拍照成像以后,首先是版面分析,把文本区域定位分割出来,下一个主要任务就是对文本行进行处理。传统方法希望把每个文字切分出来识别单个文字,但是字符切分是非常困难的,尤其手写字符大小、间隔不均匀,字间有粘连,汉子多部首等,导致字符间边界很难确定。因此,切分和识别是不能分开进行的,现在基本上是把整个文本行进行识别,同时进行字符切分和识别,这又称为字符串识别。 

这个流程里四个阶段,从图像处理到版面分析,到内容识别,最后到语义分析和应用,每个阶段都有大量的技术问题。最重要的两个步骤是版面分析和内容识别。版面分析分割图像里面的不同区域,包括文本区域和非文本区域,文本区域分割为段落和文本行。内容识别除了传统的文字识别之外还有其他的,比如说图形、公式、印章等。 

12-3.jpg

图2. 文档分析的步骤和相关技术问题 

文字识别领域的历史基本上是和模式识别、人工智能领域同步,从上世纪50年代、也就是电子计算机出现以后发展起来的。从早期的单字识别到后来的词识别、文本行识别,都有很多的难点,也发展了很多有效的方法。

下面概述一下文档识别里面主要的方法。 

图像的预处理是为了改善图像质量,或者进行二值化,区分文字与背景。对于噪声图像的二值化,提出了很多从简单到复杂的方法,现在可以用深度神经网络(如全卷积网络)直接对像素进行分类。预处理中形状矫正也很重要,比如拍照的图像,对它的变形、光照、阴影等矫正后得到比较规范、清晰的图像。 

版面分析是非常重要的一个阶段,其方法可分为两大类:自上而下和自下而上。自上而下的方法把图像从大到小进行划分,直到每个区域对应某一类对象,比如说这个区域里面都是文字,这个区域里面都是某一类图形。代表性的自上而下方法如投影法和X-Y Cuts。自下而上的方法从图像基本单元(像素、连通成分)从小到大聚合为文本行和区域,对图像旋转、变形、不规则区域等具有更强的适应能力。比如手写文档中,手写文本行有倾斜、弯曲,行之间挨得近,用投影法就很难分开,需用自下而上的聚类方法进行分割。经典的自下而上方法如DocStrum(文档谱)、Voronoi图方法等。最近的趋势是用深度神经网络或概率图模型进行版面分析。这是我们最近提出的一个方法,用条件随机场对连通成分进行分类,底层特征提取和分类用卷积神经网络,可以区分文档中文本和非文本,文本区域进一步分为印刷和手写文本。 

对于比较复杂的图像,比如复杂背景或噪声严重干扰的图像,很难用二值化去掉背景,那就可以用全卷积神经网络通过像素分类来区分背景和前景,分割文本、图形等区域。我们最近对全卷积神经网络方法做了一些改进,用多层次标号数据进行训练,可以分割挨得很近的手写文本行,并分割不同类型的区域,如手写文本、印刷文本、图形、表格等。 

场景文本检测可以看成一个特殊的版面分析问题。现在互联网(包括社交网如微信、微博)上有大量用户上载的图片,检测和识别其中的文字有巨大的用途,最近10年是非常热的研究方向,提出了很多方法。一类是基于文字的方法,先检测文字或连通成分,聚合成文本行,这也可以看成是自下而上的方法;第二类是直接对文本行整体进行检测,比如这个基于全卷积网络的直接回归方法,可直接估计任意方向文本行的边界。最近很多研究针对弯曲文本行的检测和识别,也有很多方法,比如TextSnake方法在提取连通成分之后,用所谓的弹性形状的方法得到文本行;这个基于自适应区域表示的方法对文本行的边界进行动态调整,可以得到任意形状轮廓的文本行的位置。 

下面重点讲文字识别和文本识别。早期主要做单个文字的识别,过去研究中对形状归一化、特征提取和分类提出了大量的方法,对于一般的手写汉字识别最好做到90%左右正确率。现在用深度神经网络,用大量样本训练,识别精度远远超过了传统方法。那么是不是传统方法就没有用了呢?其实还是有用的,比如用梯度方向特征图作为卷积神经网络的输入用于手写文字识别,可得到更高的精度同时网络复杂度较低,还不需要特别多的训练样本。 

我们现在识别的目标主要对整个文本行进行识别,因为切分和识别很难分开进行。那么我们研究单字识别器有没有用?还是有用的,现在一个基本的文本行识别方法是基于过切分或者候选切分网格的方法,比如这个文本行有四个文字,你不知道应该从哪里切分,可以用一个单字识别器,对每个侯选文字进行识别,得出一个置信度,最后根据这个置信度在候选网格中搜索最优路径,给出最终切分和识别结果,这里单字识别器的性能至关重要。英文手写识别中主要用隐马尔科夫模型,这是一种隐式切分的方法。现在长短时记忆递归神经网络(LSTM-RNN)在英文、阿拉伯文手写文本识别中成了主流,用于场景文本识别也基本是最好的方法。 

12-4.jpg

图3. 候选切分网格

我们最近提出一种基于滑动窗分类的文本行识别方法,用滑动窗做动态的文字检测,这类似过切分的方法。这个方法在场景文本识别中取得了跟其他最好方法相当的性能,而模型复杂度比RNN低很多,可以很容易地推广到大类别字符集的中文手写和场景文本识别。 

除了文字和文本之外,图像中各种图形符号的识别也很重要。现在手写文字识别精度非常高了,在应用中文字以外的图形符号也有重要的意思,比如表格、数学公式、流程图、工程图、签名、印章等。公式识别是一个很难的问题,有大量的研究,最近采用深度神经网络(尤其是注意网络)对手写公式识别取得了很大进步,但是识别率还不是很高。

刚才介绍了一些文档分析与识别的主要方法,那么现在文档识别的性能达到了什么程度呢?先看看英文和法文手写文本识别的性能。有两个比较通用的数据库,英文的IAM和法文的RIMES,这是一些样本示例。去年国际手写识别前沿会议(ICFHR)上的一篇文章报告了一些最好方法的识别率。一般用词错误率(WER)和字错误率(CER)来衡量。输入文本行(没有分词),没有词典的情况下,英文IAM数据集上最好的结果是WER为17.82%,CER为5.7%;法文RIMES数据集上最好的结果是WER为9.6%,CER为2.3%。 

中文手写识别中比较通用的数据库是中科院自动化所发布的CASIA联机和脱机手写样本库,包括手写单字样本和段落、文本行样本。利用此样本库,2011年和2013年国际文档分析与识别会议(ICDAR)举行了两次中文手写识别竞赛。这是在2013年竞赛测试集上一些代表性结果,包括竞赛结果和后来论文中发表的一些结果。单字识别中,最好的性能都是卷积神经网络(CNN)产生的,目前联机手写汉字(3755类)最高识别率为98.15%,脱机手写单字识别正确率97.30%。 

12-5.jpg

图4. CASIA-OLHWDB和CASIA-HWDB数据集中的手写单字样本示例(左:联机,右:脱机)

 12-6.jpg

图5.CASIA-HWDB数据集中手写文本图像示例

中文手写文本行识别的性能用字符正确率(测试集中所有字符被正确识别的比率)来衡量。这是在2013年竞赛测试集上一些代表性的识别结果。脱机手写文本行识别结果是用的过切分方法,其中分类器用的CNN,目前最高正确率为96.32%,中科院自动化所报告的。联机手写文本行识别最好识别结果是华南理工大学报道的,字符正确率96.58%。早在2013年竞赛中,联机手写文本行识别的字符正确率就达到了95.03%,用的是过切分方法加多层神经网络分类器。 

手写数学公式识别一般用CROHME(联机手写数学公式识别竞赛)数据集,用CROHME 2014训练集做训练,COHME 2013测试集做验证,CROHME 2014测试集和CROHME 2016测试集作评价。把联机手写笔迹转换成图像,可做脱机手写公式识别实验。目前报道的结果,CROHME 2014测试集上联机识别最高正确率61.16%,脱机手写公式识别最高正确率47.06%。 

下面我们看看文档识别技术应用情况。这是大家最关心的,到底能用在什么地方,用的怎么样。 

传统的文档识别应用场景包括印刷文档数字化、邮政分拣、票据识别、联机手写文字识别(主要是单字识别)。过去脱机手写字符识别的成功应用不多,主要是印刷体识别。 

当前,手写文本识别性能大幅提升,开始进入实用阶段。各种票据的识别开始推广,拍照文档(包括票据、卡证等)越来越多。手写作文识别、法律文档和档案识别开始推广。车牌识别从正面图像识别到任意角度识别,应用场所从道路扩展到停车场、网上保险理赔等。智能手机软件可以对文档拍照识别并翻译。互联网上巨量图片中文字信息的提取可用自动文本检测识别技术。除了文档图像中的文字,表格、公式、图形符号等的识别开始受到重视。 

现在我们看一些典型应用场景的识别例子。这些图片由中科阅深科技公司(中科院自动化所与汉王科技有限公司合资成立的文档识别技术公司)提供。车牌识别方面,任意方向视角图片中,车牌检测正确率98%以上,识别正确率97%以上。金融票据识别中,手写金额、单位名、人名等可以正确识别。图像中多种卡证混合的情况下,可自动检测定位卡证并分割、分类。中学生作文识别字符正确率平均98%以上。法律文档中可自动分析表格结构、识别文本内容,支持自动判案、理赔等。印章检测分割可以处理与文字高度重叠的印章。 

以上我们看出,文档识别技术有了很大发展,尤其是手写文档识别技术已经可以实用。但是现有技术还有一些不足,需要进一步研究提高。对文本识别而言,现有深度学习方法依赖大量标记样本训练;文本识别精度有很大提高,但是达不到100%,那么为了检查修正错误,能否把置信度低的字符自动标记出来(也就是拒识),这个目前还很难。字符结构分析在有些场合有重要应用,文本语义分析还做得不够。版面分析方面,版式变化太多,尚无普适性的表示分析方法。表格分析中,无框线表格的分析是难点。手写公式识别正确率还比较低,等等。 

最后,展望一下未来技术发展和应用前景。技术上,版面分析研究有新进展,比如基于基元检测和关系分析,具有较好的版面适应性;流程图、公式识别需要更加重视;文本整页识别(无需文本行分割)方法值得探索,即使短期内难以达到实用,这种研究有助于推动技术发展。文本识别方面,弱监督学习值得探索,字符定位、置信度估计和拒识需要重视;字符结构分析要加强研究。应用方面,已有的应用将不断提高检测识别精度,并且系统开发定制将更高效。新的应用场景将不断推广,如教育、医疗、古籍数字化、考古、数字人文、文化旅游等,都可以开发很多的应用。 

谢谢大家!欢迎交流讨论!

(本报告根据速记整理)

CAAI原创 丨 作者刘成林研究员
未经授权严禁转载及翻译
如需转载合作请向学会或本人申请
转发请注明转自中国人工智能学会