图像魔术师

2021-08-27 17:22刘宗凡
中国信息技术教育 2021年13期
关键词:识别率文档图像

刘宗凡

编者按:光学字符识别(OCR),是将图像中的文字识别为可编辑的文字的技术。OCR技术极大地推动了纸质书籍数字化的进程,使得浩如烟海的存量书籍转化为数字版本成为可能,是数字化图书馆建立过程中当之无愧的最大功臣。当OCR技术插上人工智能的翅膀,更是将应用拓展到很多行业,如场景文字识别、手写识别、车牌识别、证件识别、汽车VIN码识别、发票识别、智能交通……使相应领域的工作方式和效率得到了前所未有的革新。因此,我们将分两期探讨光学字符识别(OCR)的发展以及使用。

OCR(Optical Character Recognition,光学字符识别)是指电子设备(如扫描仪或数码相机)检查字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程,即采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。传统的OCR技术已经发展了几十年,如今在人工智能(AI)的推动下,OCR技术又焕发出了新的活力。

● 汉字OCR发展沿革

我国使用汉字的历史源远流长,汉字的识别远比数字、西文要棘手,主要体现在以下三个方面。

1.数量庞大

和10个数字、26个英文字母相比较,汉字的数量可以说是一个天文数字。1994年出版的《中华字海》收录了87019个汉字,目前计算机上最全的字库,收录了91251个汉字。国标GB2312-80字符集有6763个汉字,其中一级汉字3755个,使用频度已经覆盖99.7%的使用范围,二级汉字3008个,两级汉字总使用频度达到了99.99%。所以,目前主要解决一级汉字的识别。即使这样,汉字识别也属于大类别数的模式识别问题。

2.结构复杂

汉字的结构性很强。汉字可以看作是部件的组合,称之为偏旁、部首或字根,是笔画的有意义的组合。笔画和部首的排列组合,构成了结构异常复杂的汉字。

3.相似字多

很多汉字之间差别很小,有些仅表现为某一个笔画位置或形态的微小变化。这些汉字即使由人来识别也容易出错,机器识别的难度可想而知。

正是由于这些原因,汉字的识别一直落后于西文。国际上最早展开对汉字识别的研究是在1966年,BIM公司发表了第一篇关于印刷体汉字识别的论文,利用简单的模板匹配法,能够识别1000个印刷体汉字。

1977年东芝综合研究所研制出可以识别2000个单体印刷汉字的识别系统;20世纪80年代初期,日本武藏野电气研究所研制出可以识别2300个多体汉字的印刷体汉字识别系统,识别率达到99.88%,识别速度大于100字/秒。

我国对汉字识别的研究主要分为三个阶段:①探索阶段(1979—1985年)。我国对汉字的识别研究是从20世纪90年代开始的,研制出了模拟识别软件和系统,发表了一些论文成果,为汉字的识别打下了坚实的基础。②研制阶段(1986—1988年)。这三年是汉字识别技术研究的高潮期,总共有11个单位进行了14次印刷体汉字识别的成果鉴定,识别率高达99.5%以上,识别速度达到10~14字/秒。由于印刷体文字形状发生了變化,软件的适应性和抗干扰性比较差,实际上识别率是比较差的,还达不到实用的效果。③实用阶段(1989年至今)。国家高技术研究发展计划(863计划)、国家重点科技攻关计划、国家自然科学基金和军事基础研究基金都对印刷体汉字识别这一研究课题给予了极大的重视和大力的支持。目前,印刷体汉字识别和联机手写汉字识别走向实用化,其技术水平和当前世界最高水平并驾齐驱。清华大学电子工程系研制由清华紫光集团推出的TH-OCR、汉王集团推出的汉王OCR、尚书OCR,是我国印刷体汉字识别领域的翘楚。

2016年,阿尔法狗与世界冠军李世石在围棋领域的惊世骇俗的一战,极大地推动了人工智能研究的热潮,以深度学习、卷积神经网络技术为代表的人工智能思想,在各个领域都得到了研究和应用。OCR技术在人工智能的推动下,进入了一个新的发展阶段。和传统OCR聚焦在印刷体汉字识别上不同,人工智能助推下的OCR对手写体的识别更上一层楼,在各种不同复杂背景环境下的文字识别也进入实用阶段。iOS15刚刚推出的图片识别文字(Live Text)功能,就是苹果公司人工智能研究的成果。我国互联网科技公司也扎堆人工智能跑道,百度、搜狗、腾讯、有道等都推出了OCR接口,可供我们使用或软件调用。可以预见,类似Live Text功能的软件将很快普及,各种复杂环境下的文字识别(场景文字识别)将不断提高识别率和识别速度,达到好用、易用的目的。

● 传统汉字OCR原理

目前现存大量传统汉字OCR软件的技术线路如下图所示。

1.文件管理

通过扫描仪、手机、相机等仪器采集需要识别的文字图片。

2.图像增强

图像增强即是对图像的成像进行修正,特别是手机、相机拍摄的图片,如果不进行修正,将极大地影响文字识别率。处理过程包括灰度化、二值化、几何变换(透视、扭曲、旋转等)、畸变校正、图像增强和光线校正、图像平滑、行字切分等。

(1)灰度化

我们得到的文字图片大多是彩色的,无疑会有很多干扰信息,对文字识别很不利。通过灰度化处理,将原本由三维描述的像素点映射为一维描述的像素点,可以排除多余的干扰。

(2)二值化

所谓二值化,就是把灰度值图像信号转化为只有黑和白的二值图像信号,将汉字从图像中分离出来。通常先确定像素的阈值,然后用像素的值和阈值比较,确定这个像素点为1或0。如果阈值太小,保留的信息过多,许多无用信息就会干扰以后的处理;如果阈值太大,则会丢失正常的信息,最终使得文字信息不完整,无法准确识别。

(3)行字切分

传统OCR主要采用模式匹配来进行汉字识别,所以要将图像中的文字首先切分成行(列),再将单个汉字抠出来,以和模式库中的文字进行比对。

3.汉字识别

汉字识别的关键是建立一个科学的特征库,通过图像预处理后,提取出汉字的特征,再和特征库进行比对,匹配上就完成了汉字的识别。汉字有哪些特征可供提取呢?

(1)结构特征

结构特征包括抽取笔画法和松弛匹配法。抽取笔画法是利用汉字的结构信息来进行汉字的联机识别;松弛匹配法是基于全局特征的匹配方法,抽取边界线段,将这些边界线段组成临近线段表,然后用松弛匹配操作,完成边与边的匹配。

(2)统计特征

①特征点:主要是利用字符点阵中一些有代表性的黑点、白点作为特征来区分不同的字符。特征点包括笔画骨架线的端点、折点、歧点和交点。这个方法能压缩特征库的容量,识别的适应性强、直观性好。

②笔段特征:汉字笔画由笔段组成,笔段可以看作是一定方向、长度和宽度的矩形段。利用笔段之间的关系组成特征对汉字进行识别,对多体汉字的识别效果较好。

当然,汉字的多样性和图像的不同特点决定了在汉字识别过程中,提取特征要根据实际情况来选择或者组合几个特征,以达到更好的效果。

4.编辑

目前的OCR都无法达到百分之百正确识别,通常识别完以后,都要提供一些方法对文字进行编辑修改。一般OCR软件都会提供对照修改或自动修改功能。对照修改就是观察识别错误的文字,将光标定位到错误处,界面会同时显示对应的图像位置,从而根据图像来修改文字。自动修改则是基于语义理解,结合上下文信息进行校正。语义理解是人工智能领域一个亟待突破的难点,目前的自动修改还只能作为一个参考来使用。

通过编辑的文字最终可以导出到文本文件(TXT)或RTF文档中。如果只需要文字进行排版,可以导出到文本文件中,如果想保留更多的格式信息,则RTF文档是一个不错的选择,从而可以在Word等软件中进一步编辑。

● PC机实用OCR软件指南

传统汉字OCR软件,大多是收费软件,或者随扫描仪随机提供。其中清华文通TH-OCR、汉王PDF OCR是国产扫描仪自带得最多的OCR软件。需要注意的是,对传统汉字OCR技术的研究从20世纪80年代末开始已经非常成熟,文字识别率已经非常高,所以,这些软件已经长期没有得到更新,但不影响它的实用性。在国际上声誉最高的是ABBYY FineReader,它是一款功能最强大的OCR软件,能将纸质文档、扫描件和PDF精确转换为Word、Excel。在处理PDF文档时,与数字方式生成的PDF文档相同,使用内嵌的OCR功能,可以无差别处理包含扫描件在内的任何PDF文档。它可以在同一工作流程中对各种文档进行数字化检索、编辑、保护,共享和协作变得更加容易,已经超出了普通OCR软件的范畴。

随着人工智能技术在OCR领域的普及,深度学习使得OCR从传统的印刷体光学字符识别走向了场景文字识别。一些开源小软件通过调用互联网大公司提供的接口提供OCR服务,能非常方便地解决某些领域的难题。

1.汉王PDF OCR

汉王集团除了OCR搭上了人工智能的快车,在手写识别、自然语言识别、人脸及生物特征识别等方面也得到了很大的发展。OCR方面,除了印刷体字符识别外,还在手写体字符识别、自然场景拍照识别、公式字符识别、复杂表格识别、卡片识别、票据识别等方面具有一定的优势。

如果我们需要把大量纸质文件数字化,汉王PDF OCR还是非常快捷方便的。

①输入:点击“文件”菜单,可以直接打开图像文件,或者选择联机的扫描仪扫描纸质文件。

②图像增强:如果扫描或拍照的文件有倾斜现象,可以在“编辑”菜单的“自动倾斜校正”中进行校正。如果效果不理想,“编辑”菜单下还提供“手工倾斜校正”。因为软件多年没有更新,图像增强方面提供的功能非常有限,特别是手机拍照产生的畸变无法校正,是这款软件的遗憾。

③版面分析:在“识别”菜单下有“版面分析”功能(快捷键F5),对图像中的文字进行切片。如果识别有错误,可以手工拖动红框进行修改。如果版面比较复杂,可以点击选中相应的板块,在“识别-修改栏属性”中设置相应的栏目为图像、表格、横排、竖排,为接下来的文字识别提供更好的识别率。

④文字识别:单击菜单“识别-开始识别”(快捷键F8),就会在中间栏显示识别结果,速度很快。

⑤文字编辑:在识别结果中,系统判定可能有错误的文字会用红色显示。点击识别错误的地方,相应文字的上面一行会用黄色显示扫描的这一行文字以作为对照,同时图像也会自动定位到相应的位置,并用红框框出正在修改的文字,以供修改时参考。同时,文本栏上方还会对光标所在文字提供修改意见,如果有正确的字,单击鼠标可以将文本修改过来,非常方便、直观。

⑥输出:点击“输出-到指定格式文件”,有TXT、RTF、HTML、XLS四种格式可以选。如果要保留原来的排版,输出成RTF格式,然后就可以用Word打开,继续完成排版工作。比较遗憾的是,虽然版式能大体保留下来,但每一行文字会作为一个段落。可以选中一个自然段,通过Word的“替换”功能(组合键Ctrl+H),在“查找内容”输入“^p”(或在下面的“特殊格式”中选中“段落标记”,会自动输入“^p”),让“替换为”留空,单击“全部替换”,就会把本段中多余的换行去掉。

汉王PDF OCR虽然较长时间没有更新,但还是能满足大量扫描文件识别的要求,如教材的数字化等。同时,软件还提供直接打开PDF文件,并能直接将文字化的PDF转化为RTF文件的功能,除了每行后会有一个段落标记外基本上能比较完美地复原PDF文档的版式。

2.天若OCR

天若OCR是一款开源软件,它本身并不具备OCR功能,而是通过调用各大OCR公司提供的接口来进行文字识别。因为要调用网络上提供的接口才能识别文字,所以它必须联网才能工作。它的最大用处是将计算机屏幕上能显示的文字识别出来,而不管这些文字是真正的文字(如各种网文、文库)还是图片、PDF文档,只要屏幕上能显示,都可以将其变为可编辑的文字。

天若OCR软件非常简洁,启动后只有一个浮动工具栏和一个类似空白记事本的界面。按“F4”键(或单击浮动工具栏的“T”),鼠标变成一个“十”字,右下将放大鼠标所在位置的图像。按下鼠标左键,拖动鼠标选中需要识别的文字,松开鼠标以后,识别结果就出现在主界面中,可以进一步修改。最后点击“docx”按钮,就能将文字导出到一个Word文档中,印刷体的识别率几乎达到百分之百。和汉王等传统OCR软件相比,天若能准确进行段落识别,再也不会在每行后面多出一个段落标记。它的缺点是对排版格式保留得不是很好,不适合于纸质文档数字化。

有了这款软件,我们可以解决几个主要问题:

①复制某些不方便复制的文档。我们在网上找到某些有用的文字时,经常被限制复制,需要注册会员、VIP等。有了这款软件,可以轻松完成复制文字任务。

②PDF转文字。微软Office 2013以后的版本都支持编辑PDF,可很多计算机还停留在Office 2007甚至Office 2003的版本。通過这款软件,不管是文字还是图片格式的PDF文档,都可以轻松转换成可编辑文本。

③图片文字识别。这个是OCR软件的基本功能,可以直接打开图片进行识别。

④表格、公式、竖排文本等复杂文本识别。复杂文本识别需调用收费接口或专用接口,需要下载天若专业版,收费使用。

随着人工智能技术的发展,深度学习和神经网络的研究与各行各业的结合,OCR也插上了飞翔的翅膀。从传统的汉字识别,到现在的图文混排和多语种混排的版面分析、版面理解和版面恢复,复杂场景下文字的识别等,都得到了极大的发展。多种多样专用识别系统的出现,标志着印刷体汉字识别技术的应用领域得到了广阔的扩展。

猜你喜欢
识别率文档图像
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
轻松编辑PDF文档
A、B两点漂流记
Word文档 高效分合有高招
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
名人语录的极简图像表达