黄子涵 黄豪 林丹盈 曹洋瑞 张泽填 肖振球
摘要:自然场景图像中的文字识别,不同于传统文本字符识别。自然场景图像中的文字经常面临着视角变化,多字体文本以及场景图像曝光严重等多种因素的影响,因此,难以准确地获取自然场景图像中字符信息。该文利用可微分二值化函数对自然场景图像进行处理,得到一张易处理二值化图像,并对二值化图像进行文本检测以便机器处理识别,最后利用卷积递归神经网络(CRNN)[1]进行文本识别。该方法不仅提高了自然场景图像字符识别的准确度,而且解决了生活中多字体文字识别的难点。
关键词:场景图像;字符识别;二值化图像;文本检测;文本识别
中图分类号:TP315 文献标识码:A
文章编号:1009-3044(2022)01-0098-03
人类在自然场景中可以快速定位并识别看到的文字信息,但是想要计算机做到和人类一样是比较困难的。开发人员一直想要让机器也能识别图像中的文字信息。当然,对于自然场景来说,图像中的信息复杂甚至是低效的,文字旁的物体、光影,以及字体颜色、大小、书写风格,都会给机器识别带来不同程度的影响。图像文本识别通常被划分为两个部分:文本检测与文本识别。
1 文本检测
文本检测是文本识别首先要做的一步,是必不可缺的一步。要让机器识别自然场景中获取的文本信息,要先让机器知道文本信息的位置。现在也有很多文本检测的解决方案,但是在面对复杂的图像时,往往抗干扰能力不尽如人意。而且这些图像通常会有不同字体(例如艺术文字),不同形状,严重影响了文本的检测与识别[2]。
1.1 图像初始化
对于文本识别来说,文字和背景颜色通常是无意义的,反而保留颜色对于机器来说需要处理RGB色域中更多的复杂参数。在RGB 中,黑色(0,0,0)而白色(255,255,255),如果只用这两种颜色来表示图像依旧可以简单地勾勒出字符的轮廓。作者使用公式(1)对图片进行灰度化。
Gray=Red∗0.299+Green∗0.587+Blue∗0.114 (1)
灰度只是稍稍降低了多余信息字符识别的影响,但作者期望的是图像只有黑白两个值,这样对于机器来说简单处理也能够提高识别精度,只要将图片变成只有黑白的二值化图片。作者会介绍两种解决方案,并讨论它们的优劣。
1.1.1 传统二值化
预设一个二值化阈值 t,如果一个像素点的灰度值大于等于[t]的时候设置像素点为黑色,否则为白色,如公式 (2),[B]为 1 时是黑色,为 0 时是白色。
[Bi,j1 if Gi,j≥t0 otherwise ] [2]
而這个阈值[t]通常使用整个图像的灰度值来判断,如公式 (3), [n]是图像像素个数。
[t= i=1nGin] (3)
这样做出来的二值化图像往往不理想,会有大量噪点,如果字符所在的位置有大面积阴影,会导致图像二值化后字符被阴影覆盖,被干扰的区域在糟糕的情况下完全不能进行识别。
1.1.2 微分二值化
1)阈值
通过观察发现,单纯地设定一个阈值还是过于死板,作者选取的是一个通过整体图像运算出来的固定阈值,这样对于局部图像来说并不合理。比如在遇到阴影的时候,阴影部分往往是超过阈值的,导致阴影部分会全部变黑。局部的不合理导致丢失大量图像细节,字符是精细信息,丢失细节会让识别结果中的字符缺失。
作者使用了自适应阈值的计算方法,来提高整体图像阈值的鲁棒性,避免了局部缺失和噪点过多的情况。如公式(4),[ fsn]是将图像线性化后,第[n]个像素后面的[s]个像素的灰度总和。
[fsn=i=0s-1Gn-i ] [(4)]
自适应阈值函数是公式 (5),[Tn]就是求第[n]个像素点阈值的函数。
[Tn=1 if Gn<fsns100-t1000 otherwise ] [ (5)]
2)可微函数进行二值
引入一个可微的二值计算函数,做到更“光滑”地进行图像二值化,以降低图像的噪点、减少字符缺失。如公式(6),k是一个系数,依据经验的取值是50。
[ Bi,j=11+e-k(Gi,j-Ti,j)] (6)
关于公式 (6) 做出变换,[Gi,j-Ti,j]为[x],那么有[B(x)=11+e-kx],而它与传统二值化函数的差别,简单作图(1)对比可以知道,可微函数在黑白相接处更具有光滑性,极大降低了图像噪点以及信息缺失。
(中间是可微函数的图形,左右水平横线是传统函数的图形)
自此,可以得到原图、灰度、传统二值化、可微二值化的对比图像,如图 2。可以明显看出利用可微函数进行二值化可以有效降噪并可将细节尽可能保留。
1.2检测文本位置
初始化图像之后,笔者获得了一张机器易处理二值化图像(图2右下角),但是机器仍旧不知道文本的位置,所以作者需要进行文本检测,来勾勒出文本的轮廓,以便机器进行后续处理以及识别。常见的有OpenCV所带的EAST文本检测器,这是一个深度学习模型,720p的图像以13帧/秒的速度实时检测任意方向的文本,并可以获得很好的文本检测精度。
在此论文中,作者使用的是一种实时任意形状的场景文本检测器(DB),该检测器在测试过程中展现了较高的性能和优秀的结果返回,图3示例。通过将用于语义分割的简单网络与所提出的DB模块相结合,健壮且快速的场景文本检测器。从使用DB模块的性能评估中观察到,检测器相对于以前基于分段的最先进方法具有几个突出的优势[3]。
1)在场景文本上始终获得更好的性能。
2)比以前的领先方法执行得快得多,因为提供了高度健壮的二值化图,从而显著简化了后处理。
3)DB在使用轻量级骨干时效果很好,显著提高了检测性能。
2 文本识别
机器获取文本位置以及形状后,就要开始主要工作文本识别。最近,社会看到了神经网络的强大复兴,这主要是由深层神经网络模型,尤其是深卷积神经网络(DCNN) 在各种视觉任务中的巨大成功所激发的。
但是,最近有关深度神经网络的大部分工作都致力于对象类别的检测或分类。存眷计算机视觉中的一个经典题目:基于图片的序列识别。现实中,场景文本通常以递次的情况出现,而不是单独地呈现。与常见的识别不同,识别这种类似序列的对象常常需要系统地预测一系列对象标签。因此这种对象的识别可以被看作是序列识别问题[4]。像DCNN这样最流行的深度模型不能直接应用于序列预测,由于DCNN模型一般对固定尺寸的输入和输出操作,因而不能生成可变长度的标签序列。
此文使用了一种新颖的神经网络架构,称为卷积递归神经网络(CRNN),它融合了卷积神经网络(CNN)和递归神经网络(RNN)[5] 的优点。CRNN 能够拍摄不同尺寸的输入图像,并产生不同长度的预测。它直接在中文字符级别上运行。此外,由于 CRNN 放弃了传统神经网络中使用的完全连接的层,因此它导致了更加紧凑和有效的模型。所有这些特性使 CRNN 成为基于图像的序列识别的绝佳方法。
关于标签序列概率的公式 (7):
[pl|y=π:β(π)=1pπ|y ] [(7) ]
[π]的概率定義为[pπ|yt=1Tytπt] , [ytπt]是在时间戳[t ]处的具有[πt ]标签的概率。
在文本识别基准上的实验表明,与传统方法以及其他基于 CNN 和 RNN 的算法相比,CRNN 具有优异或极具竞争力的性能。
3总体实验结果
作者提供的服务使用时都需要先输入一张图片,此后需要用户根据自身需求选择不同的输出模式,而输出模式具有两种:
3.1 输出整段的文本结果
较为适合用于常规的长整段文本OCR工作,也更加适合用于语言播报对应的文本信息。在这种模式下,识别结果具有高度的上下文逻辑统一性,但是也对图像的角度,文字的平整度有着更高的要求。例如图4,获得识别结果。
识别结果被系统以字符串的方式输出,在这里展示一下结果。可以看出以整段的方式输出往往需要更好的图像质量,否则结果会严重失去逻辑性。
3.2 输出文本结果以及其位置坐标
这种输出模式往往更贴近自然场景,不需要文本段落直接有较强的逻辑性,字体的艺术风格往往也可以是多种多样,但同样也失去了语言播报的方便性。例如图5,它的识别输出结果同样也是一张图片[6]。
结果图中会标识识别到的文本位置以及轮廓,右侧是对应位置的识别后的文本信息[7]。
4 结束语
自然场景下的文字识别,是计算机领域的一项重要研究,它对生活中抓拍图像的文字识别、物流单子信息的输入等面临复杂场景下的文字识别都拥有极大的贡献,可以减少人力、物力的消耗。虽然现如今的文字识别技术已经相当成熟,但是自然场景下的文字仍然面临光照条件、拍摄角度以及图像曝光严重等复杂因素的影响,识别起来比较困难,准确率不如传统文本中的文字识别[8]。另外,自然场景图像还面临着多字体识别的问题,本文所述基于卷积递归神经网络(CRNN)的文字识别,该方法实现起来简单,不仅能够更准确地获取自然图像中的字符,而且进一步解决了多字体识别的问题,因而具有较大的现实意义。随着自然场景图像文字识别技术的发展,文字识别会在各行各业得到应用,从而大大减少人力、物力的消耗,具有巨大的、潜在的建设性价值。
参考文献:
[1] 万萌.基于深度学习的自然场景文字检测与识别方法研究[D].广州:广东工业大学,2019.
[2] 李颖,刘菊华,易尧华.自然场景图像的字符识别方法[J].包装工程,2018,39(5):168-172.
[3] Liao M H,Wan Z Y,Yao C,et al.Real-time scene text detection with differentiable binarization[J].Proceedings of the AAAI Conference on Artificial Intelligence,2020,34(7):11474-11481.
[4] Shi B G,Bai X,Yao C.An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(11):2298-2304.
[5] 陳桂安.端到端的自然场景文字检测与识别神经网络的研究与实现[D].上海:上海师范大学,2019.
[6] Du Y N,Li C X,Guo R Y,et al.PP-OCR:a practical ultra lightweight OCR system[EB/OL].[2021-03-20].https://www.researchgate.net/publication/344335174_PP-OCR_A_Practical _Ultra_Lightweight _OCR_System.
[7] 李文轩,孙季丰.基于复合优化的深度玻尔兹曼机的路牌文字图像识别算法[J].计算机工程与科学,2018,40(1):79-85.
[8] 韩宇.基于CNN及RPN技术的文字识别应用[J].机电信息,2019(21):90-91,93.
【通联编辑:唐一东】
收稿日期:2021-10-15
基金项目:本文为2020年大学生创新创业训练省级基金项目“基于自适应词组分类的自然场景文字识别方法研究”(编号 S202010582069)研究成果
作者简介:黄子涵(1998—),男,广东广州人,本科生,研究方向为网络工程;黄豪(1997—),男,广东汕尾人,本科生,研究方向为计算机科学与技术;林丹盈(2000—),女,广东揭阳人,本科生,研究方向为物联网工程;曹洋瑞(2001—),男,湖南岳阳人,本科生,研究方向为计算机科学与技术;张泽填(2000—),男,广东揭阳人,本科生,研究方向为软件工程;肖振球(1980—),男,广东梅州人,副教授,研究方向为计算机应用。
3145500338226