首页> 中国专利> 一种婆罗米系文字的识别方法及系统

一种婆罗米系文字的识别方法及系统

摘要

本发明提供一种婆罗米系文字的识别方法,用于输入图像的文本识别,包括检测步骤、识别文本步骤,其中,检测步骤包括:1.输入图像,图像进入检测模块;2.检测模块对图像中的文字区域进行描述,描述形式为多边形顶点坐标;3.将描述完毕的文字区域图提取出来经过变换得到规则形状的图像;识别文本步骤,包括:4.将多边形图像传入识别模块得到文本数据;其中,检测模块内设有用于提取图像特征的第一主干神经网络,识别模块内设有第二主干神经网络。本发明提供的一种婆罗米系文字的识别方法及系统,解决了传统OCR对部分婆罗米系文字不能正确识别的问题,有很好的市场前景。

著录项

  • 公开/公告号CN114842487A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 上海鹑火信息技术有限公司;

    申请/专利号CN202210262353.3

  • 发明设计人 不公告发明人;

    申请日2022-03-16

  • 分类号G06V30/40(2022.01);G06V30/14(2022.01);G06V30/19(2022.01);G06V10/80(2022.01);G06V10/82(2022.01);G06V10/764(2022.01);G06K9/62(2022.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构杭州天昊专利代理事务所(特殊普通合伙) 33283;

  • 代理人范凌杰

  • 地址 201400 上海市奉贤区大叶公路8188号8幢

  • 入库时间 2023-06-19 16:12:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-11-03

    授权

    发明专利权授予

  • 2022-08-19

    实质审查的生效 IPC(主分类):G06V30/40 专利申请号:2022102623533 申请日:20220316

    实质审查的生效

  • 2022-08-02

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及文字识别技术领域,尤其涉及一种针对婆罗米系文字的识别方法及系统。

背景技术

以下的背景技术介绍仅仅是一些背景常识的介绍,不会对本发明构成任何限制。

所谓婆罗米系文字(Brahmic scripts),是指源自古印度古印度孔雀王朝的婆罗米文衍生而来的一种书写系统,属于元音附标文字(Abugida),又称音节音位文字(Alphasyllabary),是一类以辅音字母为主体、元音以附加符号形式标出的表音文字。婆罗米(Brahmī)的原意“来自大梵天的”,是婆罗门为了给这种字母围上一圈圣光而捏造出来的。这种字母历史极古,公元前6 世纪已开始使用、变体颇多。其被广泛使用于南亚、东南亚、部分中亚及东亚地区,包括很多语族:印欧语系、汉藏语系、蒙古语族、达罗毗荼语系、南亚语系等,具体而言梵文(达利迦体、悉昙体、兰札体、天城体等等)、孟加拉文、藏文、泰米尔文、僧伽罗文、缅甸文、古孟文、高棉文、泰文、傣泐文(兰纳文)、老挝文、吐火罗文A(焉耆文)和B(龟兹文)等都属于婆罗米系文字,另外当代印地语和尼泊尔语也使用天城体梵文来书写,是目前世界上第四多人使用的文字系统。该文字在南亚和东南亚各国会因政经和地理环境而呈现出不同的样貌。虽然样貌上存在不同,但是由于其历史渊源,这些文字一脉相承,具有共同的底层字母拼写和单字构造逻辑,使得这些文字具有大量共性特点,这也是本发明的识别方法及系统能通用于婆罗米系文字的根本原因。

附图15、附图16为部分婆罗米系文字辅音子母对照表以及元音子母对照表,从其字形上,也能看出它们之间存在的渊源和衍变,存在着相似性和共性。

婆罗米系文字的特点:

1.辅音字母通常自带元音a(高棉文通过辅音阴阳分组,阴组带元音

2.辅音单独使用不带任何元音时,则用无韵辅音符(元音消除符virāma,即怛达点画)来标明,用于表示半音,包括:天城体梵文、孟加拉文和藏文的

3.单字(字丁)由一个核心辅音字母在其上下左右叠加元音和变音符号,辅音自带的元音省略不写。

4.复辅音(辅音丛)通过在核心辅音字母的上下或左右叠加其它辅音字母实现,藏文是上下堆叠,泰文是左右叠加,天城体梵文、孟加拉文采用左右叠加和上下堆叠两种方式,高棉文三层辅音堆叠时进行先上下、后左右的叠加:

5.辅音丛(辅音连写)里,次要辅音字母可能会进行一定的变形或简化,例如梵文(悉昙体、天城体)、孟加拉文的辅音合写(合字、连体字),藏文上加字

例如:天城体梵文ddhrya合字

悉昙体梵文:ra+ka+va组合成rkva,如附图13所示。

孟加拉文,附图14所示。

6.多个字母叠加时,纵向叠加会导致行高的变化,书写的时候有可能跨行,例如梵音藏文(用藏文转写音译梵文)最多有九层字母堆叠(Unicode编码最多支持七层堆叠),如附图7所示。

7.文字从左向右横向书写,部分文字为了书写美观,可能有些笔画会跨越多个单字,例如藏文草书的多种字体元音字母都会跨字,如附图8所示。

8.部分文字书写时进行横线冠联,导致很多个单字粘连在一起,例如天城体梵文自近代以来词与词之间不留间隙,如附图9所示。

9.在书写材质上,梵文(达利迦体、悉昙体、天城体、兰札体等)、高棉文、傣泐文(兰纳文)、缅甸文、古孟文、僧伽罗文等很多文字古籍大多写在贝叶上,大多数是使用梵箧装(梵夹装)的版式(例如藏文长条经)。

由于上述婆罗米系文字的特点,导致现有的文字识别技术无法完成对婆罗米系文字的识别,原因如下:

1.针对部分婆罗米系文字在书写时存在横线冠联,如图9所示,导致单字粘连,传统OCR技术比较难实现单字分割。

2.针对部分婆罗米系文字在书写时存在单字笔画横向跨越多个单字,如图8所示,传统OCR 技术比较难以实现单字分割。

发明内容

本发明的目的在于提供一种婆罗米系文字的识别方法及系统,尤其适用于对婆罗米系文字的识别,以解决上述背景技术中提出的问题。

为实现上述目的本发明所采用的技术方案是一种婆罗米系文字的识别方法,用于输入图像的文本识别,包括检测步骤、识别文本步骤,

其中,检测步骤包括:

1.输入图像,图像进入检测模块;

2.检测模块对图像中的文字区域进行描述,描述形式为多边形顶点坐标;

3.将描述完毕的文字区域图提取出来经过变换得到规则形状的图像;

识别文本步骤,包括:

4.将多边形图像传入识别模块得到文本数据;

其中,检测模块内设有用于提取图像特征的第一主干神经网络,识别模块内设有第二主干神经网络。

进一步地,步骤2包括:

2.1采用第一主干神经网络,提取图像特征;

2.2基于第一主干神经网络提取的图像特征,再采用检测神经网络,找出文字区域的二值化图像;

2.3针对文字区域的二值化图像进行处理,提取出多边形顶点坐标。

进一步地,第一主干神经网络为FPN神经网络,检测神经网络为可选择的,包括DB神经网络, EAST神经网络,SAST神经网络。

进一步地,步骤3包括:

3.1根据步骤2得到的多边形顶点坐标,使用Sklansky凸包算法提取多边形顶点集合的凸包;

3.2使用鞋带算法计算原多边形的面积和凸包的面积;

3.3根据原多边形的面积比上凸包的面积得到R;

3.4根据R值的大小判断文字区域是矩形文字还是弯曲文字,并施行不同的多边形处理算法;

3.5根据判断结果,实施不同的操作;

在步骤3,4中,通过将R与预设好的文字比较值C进行比较,来判断是矩形文字或是弯曲文字当R>C,判定为矩形文字区域,当R

在步骤3.5中,实施不同的操作为进行不同的二维变换,二维变换包括但不限于仿射变换、刚体变换、投影变换、tps变换。

进一步地,当第一主干神经网络选用FPN神经网络时,步骤2.1包括:

2.1.1图像缩放;

2.1.2提取图像特征;

2.1.2提取图像特征具体为:首先一个自底向上的子网络计算出N个尺寸的特征图(N≥2),然后一个自顶向下的子网络以及水平连接逐步恢复特征图的尺寸,并使用concat操作把所有尺寸的特征融在一起,得到特征图。

进一步地,当检测神经网络为DB神经网络,步骤2.2为:

2.2基于FPN网络提取的图像特征,DB神经网络会在步骤2.1.2提取的特征图的每一个像素位置计算一个[0,1]之间的值,并与预先设定好的特征比较值B进行比较,值大于B的像素就判定为文字区域,值小于B的像素判定为非文字区域,由此得到一个二值化图像;

步骤2.3为:

2.3针对文字区域的二值化图像做连通分量分析,基于连通区域提取轮廓,最终找出文字区域的多边形顶点坐标。

进一步地,第二主干神经网络为可选择的,包括CRNN卷积循环神经网络结构,或是RARE神经网络,或是SAR神经网络;

当第二主干神经网络选用CRNN时,识别文本步骤包括:

4.1采用第二主干神经网络,将检测模块得到的多边形图像压缩为高维特征序列;

4.2对于第二主干神经网络输出的高维特征序列进行解码,得到最终的文本信息。

进一步地,步骤4.1包括:

4.1.1图像缩放;

4.1.2CNN提取提取序列特征;

4.1.3RNN增强序列特征;

步骤4.2包括:

4.2.1在不同位置分别计算概率最大的分量索引,得到与位置数量相同的索引;

4.2.2不同索引中相邻索引如果相等则需要坍缩成一个;

4.2.3删除索引序列中用于表达空白字符的索引;

4.2.4索引序列按照词典映射成文字序列。

进一步地,还包括步骤5:

5.检测结果和识别结果打包输出。

一种婆罗米系文字的识别系统,包括检测模块、文本识别模块,检测模块用于识别输入图像上的文字区域,并对其进行提取,文本识别模块用于对提取后的文字区域进行识别;

检测模块、文本识别模块能分别执行上述的检测步骤和识别文本步骤。

上所述,本发明的有益效果是:本发明提供的一种婆罗米系文字的识别方法及系统,解决了传统OCR对部分婆罗米系文字不能正确识别的问题,有很好的市场前景。具体的:

1.本发明中基于FPN结构的主干神经网络进行图像特征提取,它能创建特征金字塔,特征金字塔区别于传统技术中的图像金字塔,它融合了深层卷积层的高级别特征和浅层卷积层的低级别特征,实现只使用一个尺度的输入创建一个所有层次都具有很强语义特征的特征金字塔,能完成对小物体的很好检测,适用于文字识别,另外,基于FPN结构的主干神经网络能够有效过滤掉图像中的噪声、模糊、复杂背景和不均匀的光照,提取出文字区域和非文字区域的本质特征。

2.在传统方案中,只能描述水平方向的文字区域,而本发明中,基于mask和多边形轮廓的表达形式,能描述任意形状、任意方向的文字区域,尤其适用于形状变化较大,排版不规则的婆罗米系文字。

3.本发明中的检测神经网络是可选择的,根据文本识别情况,来随时更新更有效的算法,来提高识别效率。

4.本发明中检测模块的工作,大致对标传统方案中的预处理和单字提取两个步骤之和,但是传统的预处理和单字提取是一种无监督的算法,没有利用机器学习,无法利用数据来提升效果,本发明中检测算法中采用的深度学习的方法,能从数百万张图像中学习到大量知识,不断提升文字检测的能力,在版面分析能力上,大大的提升。

5.本发明中CRNN卷积循环神经网络能解决基于图像的序列识别问题,特别适用于文字识别,通过CNN将图片的特征提取出来后采用RNN对序列进行预测,相比于传统方案中采用的CNN神经网络或SVM算法,能够更好的提取图像中的文字信息,显著提升准确率。

5.本发明文本识别步骤(识别算法)不需要把每一个单字独立分割出来再做识别,而是整个序列连贯起来识别(以一整行的文本为单位做识别),能够处理任意长度的文本图像,对背景技术中提到的书写时存在的横线冠联,导致单字粘连,或是,单字笔画横向跨越多个单字的技术问题,不需要把每一个单字独立分割出来再做识别,而是以一整行的文本为单位做识别,实现端到端地对不定长的文本序列进行识别。

6.CRNN卷积循环神经网络相比于传统方案中采用的CNN神经网络或SVM算法,能够更好的提取图像中的文字信息,显著提升准确率;传统方案以单字为识别单位,分类器只能看到当前的一个单字,而无法利用语境中的上下文信息,限制了识别准确率,而本发明使用的基于整行的识别能够有效利用一整行文本的上下文信息,将文本识别转化为时序依赖的序列学习问题,就是基于图像的序列识别,能利用语境中的上下文信息,进一步提升准确率。

附图说明

图1为现有技术所采用的技术方案;

图2为本发明申请所采用的技术方案;

图3为检测模块的三种输入输出实例;

图4为二维变换抠图;

图5为检测模块的内部流程图;

图6为识别模块的内部流程图;

图7为多层字母堆叠的梵音藏文;

图8为藏文草书;

图9为天城体梵文。

图10为检测步骤的一种具体流程图;

图11为识别步骤的一种具体流程图;

图12为天城体梵文

图13为悉昙体梵文rkva;

图14为孟加拉文;

图15为部分婆罗米系文字辅音子母对照表;

图16为部分婆罗米系文字元音子母对照表;

图17为图像拉伸前检测模块的检测结果;

图18为图像拉伸后检测模块的检测结果。

具体实施方式

以下结合附图对本发明的实施方式做进一步详细描述,应当指出的是,实施例只是对本发明的详细阐述,不应视为对本发明的限定,本发明的实施例中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均能够以任何方式组合。

实施例1,一种婆罗米系文字的识别方法。

本实施例提供一种婆罗米系文字的识别方法,用于输入图像的文本识别,包括检测步骤、识别文本步骤。检测步骤用于识别输入图像上的文字区域,并对其进行提取,文本识别步骤用于对提取后的文字区域进行识别。

其中,检测步骤由检测模块进行,参照附图5,检测步骤包括:

1.输入图像,图像进入检测模块;

2.检测模块对图像中的文字区域进行描述,描述形式为多边形顶点坐标;

3.将描述完毕的文字区域图提取出来经过变换得到规则形状的图像;

优选的,本发明中多边形顶点坐标中的多边形指的是至少由四个顶点构成的多边形,该多边形区域为文字区域,文字区域能框住识别到的文字。具体的,关于如何选用特定的多边形进行顶点坐标的描述,主要是根据识别到的图像中实际文字区域是规则的长方形还是弯曲的不规则形状,根据识别情况来选择,如果是文字区域是长方形,检测结果就用四边形描述;如果文字区域是弯曲的,结果就用多边形描述,如附图3所示,附图3的第二幅图就是用八边形描述的。

优选的,步骤2具体为:

2.1采用第一主干神经网络,提取图像特征;

2.2基于第一主干神经网络提取的图像特征,再采用检测神经网络,找出文字区域的二值化图像;

2.3针对文字区域的二值化图像进行处理,提取出多边形顶点坐标;

在步骤2.1中,第一主干神经网络为检测步骤中所采用的主干神经网络,将图像数据传入第一主干神经网络,第一主干神经网络内部会进行计算,得到图像特征,并输出,完成图像特征的提取。第一主干神经网络例如FPN神经网络,采用FPN神经网络作为第一主干神经网络进行图像特征提取,它能创建特征金字塔,特征金字塔区别于传统技术中的图像金字塔,它融合了深层卷积层的高级别特征和浅层卷积层的低级别特征,实现只使用一个尺度的输入创建一个所有层次都具有很强语义特征的特征金字塔,能完成对小物体的很好检测,适用于文字识别。同时,基于FPN结构的主干神经网络能够有效过滤掉图像中的噪声、模糊、复杂背景和不均匀的光照,提取出文字区域和非文字区域的本质特征。

在步骤2.2中,将前一步提取的图像特征作为输入,经过检测神经网络,检测神经会在步骤 2.1中提取的特征图的每一个像素位置计算一个[0,1]之间的值,并与预先设定好的特征比较值B 进行比较,值大于B的像素判断为文字区域,值小于B的像素判断为非文字区域,输出一个二值化的图像(mask),二值化的图像上面一般为黑白两色,一般用白色表示文字区域,用黑色表示非文字区域。在传统方案中,只能描述水平方向的文字区域,而本发明中,基于mask和多边形轮廓的表达形式,能描述任意形状、任意方向的文字区域。

检测神经网络例如DB神经网络、EAST神经网络、SAST神经网络。当检测模块采用DB神经网络时,在步骤2.3中,针对文字区域的mask做连通分量分析,基于连通区域提取轮廓,最终找出文字区域的多边形顶点坐标;当检测模块采用EAST神经网络时,EAST神经网络首先找出文字中心线的mask,在步骤2.3中,根据中心线mask内部每个位置计算其到文字边界的偏移信息,最终借此偏移信息还原出文字区域的多边形顶点坐标;当检测模块采用SAST神经网络时,SAST神经网络在EAST神经网络的基础上进一步增加了中心线内部每个位置到其所属整个文本行中心的偏移信息,在步骤2.3中,通过聚类分析,能够将本来是分开但是误粘连在一起的文本行分开,同时将本来是一体但是误断开的文本行合并,最终还原出文字区域的多边形顶点坐标。在上述三种技术方案中,DB和SAST神经网络能处理任意形状和角度的文本,EAST神经网络能处理任意形状的文本,但是只能处理长直文本不能处理弯曲文本;SAST神经网络的检测效果最好,但是复杂度也最高,所以在大部分场景下,采用DB和EAST就能满足性能和效果的平衡,仅当遇到非常复杂的场景才考虑用SAST。

优选的,步骤2.2中的检测神经网络是可选择的。例如通过将各个模块的输入和输出预先设计好,使得模块内部具体算法可以灵活选择,后续可以根据文本识别情况,来随时更新更有效的算法。通过模块内部算法的可选择性,来提高识别效率。

3.将描述完毕的文字区域图提取出来经过变换得到规则形状的图像

优选的,步骤3具体为:

对于一个多边形,找到它的最小包围凸多边形,计算两个多边形面积的比值R。R值越大多边形就越接近于凸多边形。例如附图3中的第二幅图,上面矩形文字区域的R值就大于下面的弯曲文字区域的R值。

步骤3包括:

3.1根据步骤2得到的多边形顶点坐标,使用Sklansky凸包算法提取多边形顶点集合的凸包;

3.2使用鞋带算法计算原多边形的面积和凸包的面积;

3.3根据原多边形的面积比上凸包的面积得到R;

3.4根据R值的大小判断文字区域是矩形文字还是弯曲文字,并施行不同的多边形处理算法;

3.5根据判断结果,实施不同的操作。

步骤3.1中的Sklansky凸包算法,来自1982年论文Finding the convex hull ofa simple polygon作者Jack Sklansky,opencv中已经实现好了这个算法,直接调用opencv即可。

步骤3.2中的鞋带算法为现有技术。

在步骤3,4中,例如将R与预设好的文字比较值C进行比较,文字比较值C可以预设为0.8。

在步骤3.5中,例如R>0.8,判定为矩形文字区域,计算多边形的最小外接矩形得到4个顶点,然后通过仿射变换将文字区域的局部图像提取出来得到单个文本行图像;如果R<0.8,判定为弯曲文字区域,把弯曲多边形的顶点映射到一个矩形框的4条边上,然后计算两组顶点之间的薄板样条变换,将弯曲文字区域的图像变形得到单个文本行图像,如附图4所示。上述操作均能通过opencv 图像处理库提供的算法来完成,薄板样条变换属于现有算法。

优选的,步骤3中的提取可以理解为将图像中某一部分单独分离出来,例如PS技术中常用的将图像中某一区域单独抠出来。

优选的,步骤3中的变换为二维变换,二维变换包括但不限于仿射变换、刚体变换、投影变换、 tps(thin plate spline)变换(又称薄板样条变换(样条变换))。一般情况下,对提取出来的四边形图像的变换采用仿射变换;对提取出来的多边形图像的变换采用tps变换。例如附图4所示的。

优选的,步骤3中的规则形状的图像为长方形形状的图像。

采用上述技术方案,使得检测算法具备处理任意形状、任意方向文字的能力,尤其适用于形状变化较大,排版不规则的婆罗米系文字。本发明中检测模块的工作,大致对标传统方案中的预处理和单字提取两个步骤之和,但是传统的预处理和单字提取是一种无监督的算法,没有利用机器学习,无法利用数据来提升效果,本发明中检测算法中采用的深度学习的方法,能从数百万张图像中学习到大量知识,不断提升文字检测的能力,在版面分析能力上,大大的提升。

为了本领域的技术人员能更好的理解上述技术方案,通过以下举例进行进一步的说明。

例如,第一主干神经网络采用的是FPN神经网络,检测神经网络采用的是DB神经网络,参照附图10。

在上述步骤2.1中,图像传入到FPN神经网络,由于FPN神经网络所能接收的图像尺寸是固定的,而输入图像的尺寸是不固定的,因此需要在保证图像长宽比的前提下缩放图像大小使得其符合接收图像的尺寸要求。因此步骤2.1包括:

2.1.1图像缩放

具体的,FPN神经网络要求接收的图像其短边的长度为X,或是,要求接收的图像其长边的长度为Y,这里,假定FPN神经网络所能接收的图像其短边的长度为X(长边长度为Y的算法类似,不予赘述),输入图像的高度为a,宽度为b,目标短边X,此时需要先对输入图像的长宽进行判断,如果a

步骤2.1还包括2.1.2:

2.1.2提取图像特征。

FPN网络使用特征金字塔的方式提取并融合多尺度的特征。具体的,首先一个自底向上的子网络计算出N个尺寸的特征图(N≥2),例如计算出4个尺寸的特征图,分别是原图大小的 1/4,1/8,1/16,1/32。假如输入图像大小为800×1280,则自底向上将提取出形状分别为200×320、 100×160、50×80、25×40的4个特征图。然后一个自顶向下的子网络以及水平连接逐步恢复特征图的尺寸,并使用concat操作把所有尺寸的特征融在一起,concat操作为本领域技术人员熟悉的张量计算。

具体,通过下列步骤可以实现:

设:C2,C3,C4,C5为自底向上的子网络计算出的4个特征图,形状分别是原图大小的 1/4,1/8,1/16,1/32;ConvIn2,ConvIn3,ConvIn4,ConvIn5为4个水平方向的连接卷积;ConvOut2, ConvOut3,ConvOut4,ConvOut5为4个水平方向的输出卷积。计算过程如下:

in5=ConvIn5(C5)

in4=ConvIn4(C4)

in3=ConvIn3(C3)

in2=ConvIn2(C2)

out4=in4+2倍resize(in5)

out3=in3+2倍resize(out4)

out2=in2+2倍resize(out3)

p5=ConvOut5(in5)

p4=ConvOut4(out4)

p3=ConvOut3(out3)

p2=ConvOut2(out2)

p5=8倍resize(p5)

p4=4倍resize(p4)

p3=2倍resize(p2)

fuse=Concat(p5,p4,p3,p2)

通过上述步骤,得到一个原图大小1/4的特征图。以输入图像大小800×1280为例,FPN网络最终输出的是一个200×320大小的特征图,特征图是本领域技术人员熟悉的一种数学上的4维张量。

步骤2.1执行完毕后执行步骤2.2。

2.2基于FPN网络提取的图像特征,再采用DB神经网络,DB神经网络会在步骤2.1.2提取的特征图的每一个像素位置计算一个[0,1]之间的值,并与预先设定好的特征比较值B进行比较,特征比较值B可以为0.5,这样,值大于0.5的像素就判定为文字区域,值小于0.5的像素判定为非文字区域,由此得到一个二值化图像(mask)。

步骤2.2执行完毕后执行步骤2.3。

2.3针对文字区域的二值化图像进行处理,提取出多边形顶点坐标;

具体的,这里检测神经网络为DB神经网络,因此,针对文字区域的mask做连通分量分析,基于连通区域提取轮廓,最终找出文字区域的多边形顶点坐标,上述操作可以通过opencv图像处理库中提供的算法来实现。

至此步骤2执行完毕。步骤2执行完毕后执行步骤3,

优选的,在一些情况下,步骤2描述的多边形顶点坐标可能会出现重叠现象,尤其是上下行之间,如附图17所示,这样在后续文本识别模块工作时,会把识别到的上下行内容也包含进去,导致最后的识别结果出错。

为了解决该问题,还包括步骤X,步骤X位于步骤2之后,位于步骤3之前,具体为:

判断多边形顶点坐标之间是否存在重叠,如有重叠,则执行图像拉伸,拉伸倍数可以自适应调节,拉伸完毕后,重新执行步骤2,再判断是否存在重叠;如没有重叠,则继续执行步骤3。

经过上述步骤,能得到附图18所示的检测结果,用此时的检测结果进入文本识别模块,能极大提升识别准确率。

在本发明中,检测模块的工作,大致对标传统方案中的预处理和单字提取两个步骤之和,但是本发明的检测模块具备如下优势:1.传统的预处理和单字提取是一种无监督的算法,没有利用机器学习,无法利用数据来提升效果;而本发明采用的深度学习的方法,能从数百万张图像中学习到大量知识,不断提升文字检测的能力。2.传统方案只能描述水平方向的文字区域,而本发明中,基于 mask和四边形或多边形轮廓的表达形式,能描述任意形状、任意方向的文字区域,尤其是单字的跨行,可以很好地提取。

识别文本步骤,包括:

4.将多边形图像传入识别模块得到文本数据。

识别模块内设有第二主干神经网络,第二主干神经网络例如CRNN卷积循环神经网络结构,CRNN 神经网络采用的是CNN+RNN+CTC的结构,这种神经网络结构能解决基于图像的序列识别问题,特别适用于文字识别,通过CNN将图片的特征提取出来后采用RNN对序列进行预测。第二主干神经网络还可以是RARE神经网络或是SAR神经网络,RARE神经网络采用CNN+Seq2Seq+1d Attention的结构,SAR神经网络采用CNN+Seq2Seq+2d Attention的结构。

一般情况下,针对长方形文字选用CRNN,针对形状弯曲的文字选用RARE或SAR。这三种方案都无需做单字分割,都能够处理任意长度的文本。CRNN只需要在训练数据中准备有限的几种长度,在推理时就能正确处理任意长度。而RARE和SAR则需要在训练数据中覆盖推理时会遇到的所有可能的长度,数据准备比较复杂。另外,在文本上下文信息关联度比较高的场景下,RARE和SAR能更好的学习到其中的关联信息,因此识别效果略好于CRNN。

当第二主干神经网络选用CRNN时,识别文本步骤包括:

4.1采用第二主干神经网络,将检测模块得到的多边形图像压缩为高维特征序列;

4.2对于第二主干神经网络输出的高维特征序列进行解码,得到最终的文本信息;

优选的,在步骤4.1中,高维特征序列的高度等于1。

优选的,当第二主干神经网络选用CRNN卷积循环神经网络结构时,针对CRNN卷积循环神经网络结构的训练,可以通过CTC算法计算从高维特征序列到文本标签的概率,再通过反向传播算法做参数优化。CTC算法,能通过多对一坍缩映射的方式来处理任意长度的文本行。

优选的,在步骤4.2中,解码的方式为:greedy解码或beam search解码。

为了本领域的技术人员能更好的理解上述技术方案,通过以下举例进行进一步的说明。

第二主干神经网络采用的是CRNN卷积循环神经网络结构。

在上述步骤4.1中,检测算法输出的是矩形的文本行图像,以此作为识别算法的输入。而CNN 部分只接受高度为32像素的图像,而输入图像的高度尺寸是不固定的,因此需要在保证图像长宽比的前提下缩放图像大小使得其符合接收图像的尺寸要求。因此步骤4.1包括:

4.1.1图像缩放;

这一步会在保持宽高比不变的前提下把图像高度缩放至32像素。

步骤4.1还包括4.1.2,步骤4.1.2在步骤4.1.1执行完毕后进行。

4.1.2CNN提取提取序列特征;

以尺寸为32×100的彩色图像(3个通道)为例,会用一个形状为1×3×32×100的张量特征来表达。CNN网络会通过4个卷积模块来提取图像特征,不断减小特征空间尺度的同时增大特征通道数目,最后一层使用池化操作降低特征对位置的敏感性,得到一个形状为1×512×1×25的序列化特征,高度为1,宽度为25,特征通道数为512(本领域的技术人员了解的是,1×512×1这部分是固定的,25是因为CNN输出的长度是输入的四分之一(此处的四分之一是根据下面这个具体网络设置表格的配置形成的,通过改变网络设置表格的配置也可以得到宽度为原来的1/2或是其他比例的序列化特征),1×512×1×25是4维张量的形状),具体网络设置如下:

步骤4.1还包括4.1.3,步骤4.1.3在步骤4.1.2执行完毕后进行。

4.1.3RNN增强序列特征;

将步骤4.1.2中提取出的序列特征后传入RNN。RNN相比于CNN来说,具有更大范围的感受野,能够综合整个序列的信息来做识别。同时RNN将对序列特征中的每一个位置产生一个关于最终识别结果的概率分布,以高棉文18000词的词典为例,通过2层RNN将生成一个18000通道的特征序列,最终得到一个形状为1×18000×1×25的高维特征序列,具体网络设置如下:

至此步骤4.1执行完毕,执行步骤4.2:

4.2对于第二主干神经网络输出的高维特征序列进行解码,得到最终的文本信息;

经过RNN增强后的特征再经过greedy解码得到最终的识别结果,以步骤4.1.3得到的形状为 1×18000×1×25的高维特征序列,此特征高度为1,宽度为25,共25个位置,每个位置有个18000 分量的离散概率分布,greedy解码方式可以如下描述:

4.2.1在不同位置分别计算概率最大的分量索引,得到与位置数量相同的索引;在这里,需要在25个位置每个计算概率最大的分量索引,得到25个索引;

4.2.2不同索引中相邻索引如果相等则需要坍缩成一个;在这里,25个索引中相邻索引如果相等则需要坍缩成一个;

4.2.3删除索引序列中用于表达空白字符的索引;

4.2.4索引序列按照词典映射成文字序列;

通过上述技术方案,使得文本识别步骤(识别算法)不需要把每一个单字独立分割出来再做识别,而是整个序列连贯起来识别(以一整行的文本为单位做识别),能够处理任意长度的文本图像,尤其是对于手写文字或者某些特殊的语言,单字和单字之间的没有明显的分界线,此时传统的单字分割方案将失效,利用本发明的这一套识别方法,能解决婆罗米系文字识别难的问题。另外,CRNN 卷积循环神经网络相比于传统方案中采用的CNN神经网络或SVM算法,能够更好的提取图像中的文字信息,显著提升准确率;传统方案以单字为识别单位,分类器只能看到当前的一个单字,而无法利用语境中的上下文信息,限制了识别准确率,而本发明使用的基于整行的识别能够有效利用一整行文本的上下文信息,能够更好的提取图像中的文字信息,进一步提升准确率。

优选的,还包括步骤5:

5.检测结果和识别结果打包输出;

具体的,检测结果和识别结果的打包输出可以如下来描述:

{

文本1:{顶点坐标,文字内容},

文本2:{顶点坐标,文字内容},

文本3:{顶点坐标,文字内容},

文本4:{顶点坐标,文字内容},

文本X:{顶点坐标,文字内容},

}

检测结果和识别结果打包输出能使得图像中的每一条文本都有一个顶点坐标和文字内容组合起来的数据包,而图像里面所有文字的数据包会放到一起组成一个大包,再利用计算机内部有特殊的数据结构来存储,例如json,步骤5能完成所有文本识别结果的汇集。

另外,在本发明中,多次提到了CRNN,以下内容是CRNN的介绍以及如何训练CRNN识别器。

CRNN神经网络是Shi等人于2017年提出的端到端文本识别网络,它将文档图像文本识别认为是对文字序列的预测,所以采用了序列预测网络RNN(循环神经网络)中的LSTM(长短期记忆)。先通过CNN(卷积神经网络)将图片的特征提取出来后采用RNN对序列进行预测,最后通过一个 CTC(ConnectionistTemporal Classification)将输入序列与输出序列一一对应,得到最终识别结果。原文中将CRNN的体系结构划分为三部分:1)卷积层(Convolutional Layers),从输入图像中提取特征序列;2)循环层(Recurrent Layers),预测每帧的标签分布;3)转录层(Transcription Layers),将每帧预测转化为最终的标签序列。

优选的,CRNN识别器训练步骤如下:

Step 1:初始化网络并设置超参数。初始化网络结构,包括优化器的选取、损失函数的定义等,并设置网络所需要超参数,如学习率、训练轮数等。

Step 2:加载数据集。依据路径从内存中读取数据集。

Step 3:模型训练。将图片送入网络进行前向传播,得到实际输出,并通过损失函数计算其与标签之间的损失,使用优化器不断对网络参数进行调整,使下一轮的训练实际输出与标签之间的误差更小。

Step 4:保存模型。训练结束后,将训练好的模型与参数保存到模型文件中。

经过训练,提高CRNN网络对数据集的识别率。

当网络完成识别器的训练后,即得到CRNN识别器。

优选的,RARE和SAR能套用到上述CRNN识别器的四步训练步骤,RARE和SAR与上述CRNN识别器训练的区别在于网络结构不同,也就是step 1中的初始化网络设置超参数和初始化网络结构这里有差异。其余内容相同,因此不予赘述。

通过本发明的上述步骤,能够实现端到端地对不定长的文本序列进行识别,不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,就是基于图像的序列识别。

实施例2,一种文字识别系统。

本实施例与实施例1匹配,实施例1的一种婆罗米系文字的识别方法需要基于本实施例的一种文字识别系统而进行。

本实施例提供一种文字识别系统,包括,检测模块、文本识别模块。检测模块用于识别输入图像上的文字区域,并对其进行提取,文本识别模块用于对提取后的文字区域进行识别。

优选的,检测模块是基于深度神经网络的算法的。例如通过FPN神经网络进行图像特征的提取,基于图像特征提取结果,再采用DB神经网络、EAST神经网络、SAST神经网络找到文字区域的mask。

优选的,文本识别模块是基于深度神经网络的算法的。例如通过CRNN卷积循环神经网络结构,或是RARE神经网络结构、SAR神经网络结构进行文本识别。

本实施例的其他实施方式与实施例1相同。

实施例3。

本实施例对实施例1中的一种婆罗米系文字的识别方法/实施例2中的一种文字识别系统进行了测试。

基于藏文大藏经《甘珠尔》和《丹珠尔》的全文数字版(《甘珠尔》: https://github.com/Esukhia/derge-kangyur,《丹珠尔》:https://github.com/Esukhia/derge-tengyur开源项目,基于ACIP、Adarsha和TBRC三种大藏经数据的人工整理,共917.7M文本数据:《甘珠尔》共103卷、300.2M,《丹珠尔》共213卷、617.5M),为了使合成的文档图像文本行尽量逼近于真实文本行数据,通过在真实样本上取样的方式在合成图像上进行颜色空间转换(cvtColor)、模糊(blur)、抖动(jitter)、噪声(Gasuss noise)、随机切割(randomcrop)、透视(perspective)、颜色反转 (reverse)、TIA数据增广等操作以模拟真实数据,生成了自定义数据集,使用白徂体(柏簇体)、徂同体(簇通体)、朱匝体(珠擦体)等草体字,OCR测试结果准确率均可达98%以上。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号