一种藏文识别方法、装置及电子设备转让专利

申请号 : CN201910185902.X

文献号 : CN110032938B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尼玛扎西韦秋华刘正珍拥措洛桑嘎登

申请人 : 北京汉王数字科技有限公司西藏大学

摘要 :

本申请提供了一种藏文识别方法,属于光学字符识别技术领域,解决了现有技术中藏文识别准确率低的问题。所述方法包括:确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息;通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果;根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果。本申请公开的藏文识别方法,不需要将藏文文本行图像切分到单字,而是以图像块的形式通过串识别模型进行识别,可以有效提升识别的准确率。

权利要求 :

1.一种藏文识别方法,其特征在于,包括:

确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息的步骤,包括:根据所述待识别文本行图像在水平方向的投影对所述待识别文本行图像进行切分,确定所述待识别文本行图像包括的投影图像块;

通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息;

通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果;

根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果;

所述通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,包括:将所述指定滑窗的左边界与分布在所述待识别文本行图像左侧的第一个投影图像块的左边界对齐,确定所述指定滑窗的当前位置对应的所述待识别文本行图像的图像区域;

若所述当前位置对应的所述待识别文本行图像的图像区域完全覆盖至少一个所述投影图像块,则将当前位置对应的所述待识别文本行图像的图像区域完全覆盖的至少一个所述投影图像块合并为一个目标图像块,并设置所述目标图像块的重叠信息为指示所述目标图像块不重叠的数值;将所述指定滑窗的左边界与所述图像区域完全覆盖的所述投影图像块中最右侧的图像块的右侧相邻图像块的左边界对齐,跳转至执行确定所述指定滑窗的当前位置对应的待识别文本行图像的图像区域的步骤;

若所述当前位置对应的所述待识别文本行图像的图像区域为所述投影图像块的一部分,则将当前位置对应的所述投影图像块拆分为多个与所述指定滑窗等宽的重叠的目标图像块,并设置拆分得到的目标图像块的重叠信息为指示目标图像块重叠的数值;将所述指定滑窗的左边界与所述当前位置对应的投影图像块右侧相邻图像块的左边界对齐,跳转至执行确定所述指定滑窗的当前位置对应的待识别文本行图像的图像区域的步骤。

2.根据权利要求1所述的方法,其特征在于,所述通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息的步骤,包括:根据所述第一文本串识别模型的输入图像尺寸,确定所述指定滑窗宽高比;

根据所述待识别文本行图像的高度和所述指定滑窗的宽高比,确定所述指定滑窗的宽度;

沿所述待识别文本行图像的宽度方向滑动所述指定滑窗,并根据所述指定滑窗的每个移动位置与所述投影图像块的位置关系,对所述投影图像块进行合并或拆分处理,确定目标图像块及所述目标图像块的重叠信息。

3.根据权利要求1所述的方法,其特征在于,所述通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果的步骤之后,还包括:判断所述目标图像块的文本识别结果中是否包含预设字符识别结果;

若包含所述预设字符识别结果,则确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块,并通过预设第二文本串识别模型对所述待识别文本行图像中与所述预设字符识别结果对应的图像块进行重识别,以重识别得到的识别结果替换所述预设字符识别结果。

4.根据权利要求3所述的方法,其特征在于,所述第一文本串识别模型为卷积循环神经网络,所述确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块的步骤,包括:根据所述第一文本串识别模型的网络参数,确定所述待识别文本行图像中与所述预设字符识别结果对应的初始图像块;

根据所述待识别文本图像的几何特征对所述初始图像块进行边界调整,得到与所述预设字符识别结果对应的图像块。

5.根据权利要求1所述的方法,其特征在于,所述根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果的步骤,包括:若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果;

根据所述目标图像块在所述待识别文本行图像中的位置、所述目标图像块的重叠信息、所述重叠区域文本识别结果,对各所述目标图像块的文本识别结果进行拼接和去重处理,得到所述待识别文本行图像的文本识别结果。

6.根据权利要求5所述的方法,其特征在于,所述若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果的步骤,包括:若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块的文本识别结果和所述相邻的预设目标图像块的文本识别结果之间的所有公共字符串;

确定评分最高的所述公共字符串为所述目标图像块与相邻的预设目标图像块的重叠区域文本识别结果。

7.一种藏文识别装置,其特征在于,包括:

目标图像块信息确定模块,用于确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息;

所述目标图像块信息确定模块进一步包括:

投影图像块确定子模块,用于根据所述待识别文本行图像在水平方向的投影对所述待识别文本行图像进行切分,确定所述待识别文本行图像包括的投影图像块;

目标图像块确定子模块,用于通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息;

目标图像块识别模块,用于通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果;

识别结果整合模块,用于根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果;

通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,包括:将所述指定滑窗的左边界与分布在所述待识别文本行图像左侧的第一个投影图像块的左边界对齐,确定所述指定滑窗的当前位置对应的所述待识别文本行图像的图像区域;

若所述当前位置对应的所述待识别文本行图像的图像区域完全覆盖至少一个所述投影图像块,则将当前位置对应的所述待识别文本行图像的图像区域完全覆盖的至少一个所述投影图像块合并为一个目标图像块,并设置所述目标图像块的重叠信息为指示所述目标图像块不重叠的数值;将所述指定滑窗的左边界与所述图像区域完全覆盖的所述投影图像块中最右侧的图像块的右侧相邻图像块的左边界对齐,跳转至执行确定所述指定滑窗的当前位置对应的待识别文本行图像的图像区域的步骤;

若所述当前位置对应的所述待识别文本行图像的图像区域为所述投影图像块的一部分,则将当前位置对应的所述投影图像块拆分为多个与所述指定滑窗等宽的重叠的目标图像块,并设置拆分得到的目标图像块的重叠信息为指示目标图像块重叠的数值,将所述指定滑窗的左边界与所述当前位置对应的投影图像块右侧相邻图像块的左边界对齐,跳转至执行确定所述指定滑窗的当前位置对应的待识别文本行图像的图像区域的步骤。

8.根据权利要求7所述的装置,其特征在于,在通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息时,所述目标图像块确定子模块进一步用于:根据所述第一文本串识别模型的输入图像尺寸,确定所述指定滑窗宽高比;

根据所述待识别文本行图像的高度和所述指定滑窗的宽高比,确定所述指定滑窗的宽度;

沿所述待识别文本行图像的宽度方向滑动所述指定滑窗,并根据所述指定滑窗的每个移动位置与所述投影图像块的位置关系,对所述投影图像块进行合并或拆分处理,确定目标图像块及所述目标图像块的重叠信息。

9.根据权利要求7所述的装置,其特征在于,还包括:

判断模块,用于判断所述目标图像块的文本识别结果中是否包含预设字符识别结果;

重识别模块,用于若包含所述预设字符识别结果,则确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块,并通过预设第二文本串识别模型对所述待识别文本行图像中与所述预设字符识别结果对应的图像块进行重识别,以重识别得到的识别结果替换所述预设字符识别结果。

10.根据权利要求9所述的装置,其特征在于,所述第一文本串识别模型为卷积循环神经网络,所述确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块时,所述重识别模块进一步用于:根据所述第一文本串识别模型的网络参数,确定所述待识别文本行图像中与所述预设字符识别结果对应的初始图像块;

根据所述待识别文本图像的几何特征对所述初始图像块进行边界调整,得到与所述预设字符识别结果对应的图像块。

11.根据权利要求7所述的装置,其特征在于,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果时,所述识别结果整合模块进一步用于:若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果;

根据所述目标图像块在所述待识别文本行图像中的位置、所述目标图像块的重叠信息、所述重叠区域文本识别结果,对各所述目标图像块的文本识别结果进行拼接和去重处理,得到所述待识别文本行图像的文本识别结果。

12.根据权利要求11所述的装置,其特征在于,所述若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果时,所述识别结果整合模块进一步用于:若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块的文本识别结果和所述相邻的预设目标图像块的文本识别结果之间的所有公共字符串;

确定评分最高的所述公共字符串为所述目标图像块与相邻的预设目标图像块的重叠区域文本识别结果。

13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任意一项所述的藏文识别方法。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任意一项所述的藏文识别方法的步骤。

说明书 :

一种藏文识别方法、装置及电子设备

技术领域

[0001] 本申请涉及光学字符识别技术领域,尤其涉及一种藏文识别方法、装置及电子设备。

背景技术

[0002] 现有技术中的藏文图像识别技术主要针对现代印刷体的藏文图像进行识别,其识别通用流程为:首先,对图像进行预处理,如灰度化、二值化、去噪声等操作;然后,对藏文行文本图像进行字符切分、归一化,提取单个字符的特征;之后,将单字符的特征送入单字符识别核心,获取单字符识别结果;最后,对单字符识别结果进行后处理,获取行文本识别结果。其中,单字符识别核心采用的是传统的模式分类方法。
[0003] 然而,现有技术中的藏文图像识别技术对于图像质量比较好,字符之间没有粘连的藏文行文本图像具有较高的识别准确率。而对于图像质量比较差,或字符之间有粘连的藏文行文本图像,行文本的识别准确率却很低。并且,所覆盖的字符集只有现代藏文字符。
[0004] 可见,现有技术中的藏文识别方法至少存在对于图像质量差的藏文文本行图像的识别准确率低的缺陷。

发明内容

[0005] 本申请实施例提供一种藏文识别方法,以提升对于图像质量差的藏文文本行图像的识别准确率。
[0006] 第一方面,本申请实施例提供了一种藏文识别方法,包括:
[0007] 确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息;
[0008] 通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果;
[0009] 根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果。
[0010] 可选的,所述确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息的步骤,包括:
[0011] 根据所述待识别文本行图像在水平方向的投影对所述待识别文本行图像进行切分,确定所述待识别文本行图像包括的投影图像块;
[0012] 通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息。
[0013] 可选的,所述通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息的步骤,包括:
[0014] 根据所述第一文本串识别模型的输入图像尺寸,确定所述指定滑窗宽高比;
[0015] 根据所述待识别文本行图像的高度和所述指定滑窗的宽高比,确定所述指定滑窗的宽度;
[0016] 沿所述待识别文本行图像的宽度方向滑动所述指定滑窗,并根据所述指定滑窗的每个移动位置与所述投影图像块的位置关系,对所述投影图像块进行合并或拆分处理,确定目标图像块及所述目标图像块的重叠信息。
[0017] 可选的,所述通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果的步骤之后,还包括:
[0018] 判断所述目标图像块的文本识别结果中是否包含预设字符识别结果;
[0019] 若包含所述预设字符识别结果,则确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块,并通过预设第二文本串识别模型对所述待识别文本行图像中与所述预设字符识别结果对应的图像块进行重识别,以重识别得到的识别结果替换所述预设字符识别结果。
[0020] 可选的,所述第一文本串识别模型为卷积循环神经网络,所述确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块的步骤,包括:
[0021] 根据所述第一文本串识别模型的网络参数,确定所述待识别文本行图像中与所述预设字符识别结果对应的初始图像块;
[0022] 根据所述待识别文本图像的几何特征对所述初始图像块进行边界调整,得到与所述预设字符识别结果对应的图像块。
[0023] 可选的,所述根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果的步骤,包括:
[0024] 若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果;
[0025] 根据所述目标图像块在所述待识别文本行图像中的位置、所述目标图像块的重叠信息、所述重叠区域文本识别结果,对各所述目标图像块的文本识别结果进行拼接和去重处理,得到所述待识别文本行图像的文本识别结果。
[0026] 可选的,所述若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果的步骤,包括:
[0027] 若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块的文本识别结果和所述相邻的预设目标图像块的文本识别结果之间的所有公共字符串;
[0028] 确定评分最高的所述公共字符串为所述目标图像块与相邻的预设目标图像块的重叠区域文本识别结果。
[0029] 第二方面,本申请实施例还提供了一种藏文识别装置,包括:
[0030] 目标图像块信息确定模块,用于确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息;
[0031] 目标图像块识别模块,用于通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果;
[0032] 识别结果整合模块,用于根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果。
[0033] 可选的,所述目标图像块信息确定模块进一步包括:
[0034] 投影图像块确定子模块,用于根据所述待识别文本行图像在水平方向的投影对所述待识别文本行图像进行切分,确定所述待识别文本行图像包括的投影图像块;
[0035] 目标图像块确定子模块,用于通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息。
[0036] 可选的,在通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息时,所述目标图像块确定子模块进一步用于:
[0037] 根据所述第一文本串识别模型的输入图像尺寸,确定所述指定滑窗宽高比;
[0038] 根据所述待识别文本行图像的高度和所述指定滑窗的宽高比,确定所述指定滑窗的宽度;
[0039] 沿所述待识别文本行图像的宽度方向滑动所述指定滑窗,并根据所述指定滑窗的每个移动位置与所述投影图像块的位置关系,对所述投影图像块进行合并或拆分处理,确定目标图像块及所述目标图像块的重叠信息。
[0040] 可选的,所述装置还包括:
[0041] 判断模块,用于判断所述目标图像块的文本识别结果中是否包含预设字符识别结果;
[0042] 重识别模块,用于若包含所述预设字符识别结果,则确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块,并通过预设第二文本串识别模型对所述待识别文本行图像中与所述预设字符识别结果对应的图像块进行重识别,以重识别得到的识别结果替换所述预设字符识别结果。
[0043] 可选的,所述第一文本串识别模型为卷积循环神经网络,所述确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块的步骤时,所述重识别模块进一步用于:
[0044] 根据所述第一文本串识别模型的网络参数,确定所述待识别文本行图像中与所述预设字符识别结果对应的初始图像块;
[0045] 根据所述待识别文本图像的几何特征对所述初始图像块进行边界调整,得到与所述预设字符识别结果对应的图像块。
[0046] 可选的,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果时,所述识别结果整合模块进一步用于:
[0047] 若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果;
[0048] 根据所述目标图像块在所述待识别文本行图像中的位置、所述目标图像块的重叠信息、所述重叠区域文本识别结果,对各所述目标图像块的文本识别结果进行拼接和去重处理,得到所述待识别文本行图像的文本识别结果。
[0049] 可选的,所述若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果时,所述识别结果整合模块进一步用于:
[0050] 若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块的文本识别结果和所述相邻的预设目标图像块的文本识别结果之间的所有公共字符串;
[0051] 确定评分最高的所述公共字符串为所述目标图像块与相邻的预设目标图像块的重叠区域文本识别结果。
[0052] 第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的藏文识别方法。
[0053] 第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例所述的藏文识别方法的步骤。
[0054] 这样,本申请实施例公开的藏文识别方法,首先,先确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息,然后,通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果,最后,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果。本申请是按照预先拆分的目标图像块并结合目标图像块之间的重叠信息进行文本识别,避免了现有技术中先对藏文文本图像进行单字切分而后对单字进行字符识别的过程,因此,本申请解决了对于图像质量差的藏文文本行图像的识别准确率低的缺陷。本申请公开的藏文识别方法,不需要将藏文文本行图像切分到单字,而是以图像块的形式通过串识别模型进行识别,可以有效提升识别的准确率。

附图说明

[0055] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0056] 图1是本申请实施例一的藏文识别方法流程图;
[0057] 图2是本申请实施例一中待识别文本行图像的一个示意图;
[0058] 图3是图2所示的待识别文本行图像划分为投影图像块的示意图;
[0059] 图4是本申请实施例二的藏文识别方法流程图;
[0060] 图5是梵文藏文转写字构成示意图;
[0061] 图6是本申请实施例三的藏文识别装置结构示意图之一;
[0062] 图7是本申请实施例三的藏文识别装置结构示意图之二。

具体实施方式

[0063] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0064] 实施例一:
[0065] 本实施例提供了一种藏文识别方法,如图1所示,所述方法包括:步骤10至步骤12。
[0066] 步骤10,确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息。
[0067] 藏文记载的文献、古籍、古经文等资源数目众多,这些藏文资源一般是以木刻板的形式保存。由于年代久远,加上木刻文字本身的特点,拍照或者扫描获取到的木刻板藏文图像存在以下特点:图像质量较差,文字模糊不清、噪声干扰大等;字符的左右间距小,存在大量的粘连字符;音节符和单垂符比较窄,容易和相邻字符粘连,由于其宽度相比其他字符很小,粘连后很难识别出来。因此,对于存在上述特点的藏文图像如果采用现有技术中将藏文的文本行图像切分为单个字符,通过单字符识别模型进行识别的方法,识别的准确率将非常低。为了提升存在上述特点的藏文文本行图像的识别准确率,本申请具体实施时,将待识别的藏文文本行图像切分为若干图像块,通过文本串识别模型进行识别。
[0068] 基于神经网络训练的文本串识别模型支持的最大字符串长度是有限制的,例如,本申请具体实施时采用的文本串识别模型支持的最大字符长度为22个。而藏文文献的一行文字一般会比较长,如木刻版文字的单行文字高达250个字符。因此,一幅文本行图像需要拆分成多个图像块送入文本串识别模型。由于藏文文献存在字符粘连严重的情况,再将一幅文本行图像拆分成多个图像块时,会存在将一个字符拆分到两个图像块中的情况,从而导致该字符识别不正确。为了避免这种拆分情况导致的字符识别不正确,本申请采用滑窗的方法将待识别文本行图像拆分成多个目标图像块。
[0069] 具体实施时,将待识别文本行图像拆分为目标图像块遵循以下三条原则:1、目标图像块的宽高比满足文本串识别模型的要求。在目标图像块高度确定的情况下,如果宽高比太大,则包含的字符会比较多,如果超过识别核心支持的字符数太多,识别的准确率会下降。2、同一个字符被拆分到两个目标图像块的情况越少越好。3、在满足第1条和第2条的情况下,目标图像块的宽高比越大越好。如果宽高比太小,则总切分得到的目标图像块数量就会增加,这会增加总的识别时间。
[0070] 根据上述三条原则,首先要找到待识别文本行图像中所有的可切分位置,这些位置不会把一个字符拆分成两个。
[0071] 在本申请的一些实施例中,确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息的步骤,包括:根据待识别文本行图像在水平方向的投影对所述待识别文本行图像进行切分,确定所述待识别文本行图像包括的投影图像块;通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息。
[0072] 考虑到单个藏文字符一般没有左右组合的部件,可以采用投影的方法找到切分位置。由于木刻版藏文图像噪声比较多,除了一些图像处理能解决的点噪声,还存在一些长条的类似污迹或者折痕的噪声,这类噪声对投影的干扰比较大,进一步的,在进行投影之前需要对待识别文本行图像进行去噪处理。
[0073] 在本申请的一些实施例中,根据待识别文本行图像在水平方向的投影对所述待识别文本行图像进行切分,确定所述待识别文本行图像包括的投影图像块的步骤之前,还包括:对所述待识别文本行图像沿宽度方向进行连通域分析,基于分析得到的连通域确定所述待识别文本行图像包括的连通图像块;根据每个连通图像块的高度对所述待识别文本行图像进行去噪处理。
[0074] 具体实施时,首先将待识别文本行图像进行二值化和去噪处理,然后,计算出该待识别文本行图像中所有的连通域。计算连通域的具体方法参见现有技术,本申请实施例中不再赘述。如图2所示的待识别文本行图像,经过连通域分析,将得到与连通域对应的图像块,称为连通图像块。
[0075] 在根据每个连通图像块的高度对与各连通图像块对应的图像区域进行去噪处理时,可以根据每个连通图像块的高度,确定上述待识别文本行图像的参考高度;根据确定的参考高度和确定的连通图像块对待识别文本行图像进行去噪处理。
[0076] 例如,对计算得到的所有连通图像块计算一个参考高度RefHeight。参考高度的计算方式如下:分别计算所有的连通域对应的图像块的高度,取高度的中位数作为参考高度。如果该中位数小于预设高度阈值(如20),则将参考高度设置为预设高度阈值。其中,预设高度阈值是一个经验值,根据多数藏文文献中的藏文字符高度确定。然后,基于参考高度RefHeight,判断连通图像块的尺寸是否符合预设规则,若不符合,则将该图像块作为噪声,对该连通图像块对应的上述待识别文本行图像中的区域进行去噪处理。其中,预设规则可以为:连通图像块的长度大于参考高度的第一预设比例、连通图像块的宽度大于或等于参考高度的第二预设比例等。
[0077] 接下来,通过对去噪处理后的待识别文本行图像采用水平方向投影方法进行切分,将待识别文本行图像分成多个图像块,如图3中矩形框标识的图像块,每个图像块与连续的投影对应,本申请实施例中称为投影图像块。由于基于水平投影进行切分,每个字符基本只属于某一个图像块,有效减少了一个字符被切分到两个图像块的情况。
[0078] 进一步的,为了提升文本串识别模型的识别效率,通过滑窗对投影图像块进行扫描,确定宽度合适的、最终用于识别的目标图像块。具体实施时,通过沿上述待识别文本行图像的宽度方向滑动指定滑窗,对上述投影图像块进行合并或拆分处理,确定该待识别文本行图像中的目标图像块及各目标图像块的重叠信息的步骤,包括:根据第一文本串识别模型的输入图像尺寸,确定指定滑窗的宽高比;根据上述待识别文本行图像的高度和上述指定滑窗的宽高比,确定上述指定滑窗的宽度;沿上述待识别文本行图像的宽度方向滑动上述指定滑窗,并根据上述指定滑窗的每个移动位置与上述投影图像块的位置关系,对上述投影图像块进行合并或拆分处理,确定目标图像块及所述目标图像块的重叠信息。
[0079] 具体实施时,用于对待识别文本行图像进行滑动扫描的上述指定滑窗包括两个参数,分别为宽高比(本申请实施例中通过k_window表示)和图像块重叠宽度(本申请实施例中通过OverLap_Width表示)。具体实施时,图像块重叠宽度为当前目标图像块与其左侧的目标图像块的重叠区域的宽度,或,当前目标图像块与其右侧的目标图像块的重叠区域的宽度。本申请实施例中以图像块重叠宽度为当前目标图像块与其右侧的目标图像块的重叠区域的宽度举例说明目标图像块的确定过程。
[0080] 具体实施时,k_window=height_input_layer/width_input_layer,其中,height_input_layer为用于对目标图像块进行识别的第一文本串识别模型的输入图像的高度,width_input_layer为该第一文本串识别模型的输入图像的宽度。OverLap_Width=k*RefHeight,其中,k按照经验取值,如k为3,RefHeight为上文计算出的参考高度。
[0081] 进一步的,以上述待识别文本行的高度作为该指定滑窗的高度height_window,根据公式width_window=height_window*k_window确定该指定滑窗的宽度。
[0082] 接下来通过滑动该指定滑窗确定待识别文本行图像中的目标图像块。具体实施时,沿上述待识别文本行图像的宽度方向滑动上述指定滑窗,并根据上述指定滑窗的每个移动位置与上述投影图像块的位置关系,对上述投影图像块进行合并或拆分处理,确定目标图像块及各目标图像块的重叠信息,可以为:将该指定滑窗的左边界与分布在该待识别文本行图像左侧的第一个投影图像块的左边界对齐,确定该指定滑窗的当前位置对应的该待识别文本行图像的图像区域,后续操作又可分为如下两种情形:
[0083] 若当前位置对应的该待识别文本行图像的图像区域完全覆盖至少一个上述投影图像块,则将当前位置对应的该待识别文本行图像的图像区域完全覆盖的至少一个上述投影图像块合并为一个目标图像块,并设置该目标图像块的重叠信息为指示目标图像块不重叠的数值,然后,将该指定滑窗的左边界与该图像区域完全覆盖的上述投影图像块中最右侧的图像块的右侧相邻图像块的左边界对齐,跳转至执行确定该指定滑窗的当前位置对应的该待识别文本行图像的图像区域的步骤;
[0084] 若当前位置对应的该待识别文本行图像的图像区域为上述投影图像块的一部分,则将当前位置对应的上述投影图像块拆分为多个与该指定滑窗等宽的重叠的目标图像块,并设置拆分得到的目标图像块的重叠信息为指示目标图像块重叠的数值,然后,将该指定滑窗的左边界与该当前位置对应的上述投影图像块右侧相邻图像块的左边界对齐,跳转至执行确定该指定滑窗的当前位置对应的该待识别文本行图像的图像区域的步骤。
[0085] 具体实施时,可以对待识别文本行图像中所有投影图像块按照其在该待识别文本行图像中的分布位置从左到右的顺序排序,并依次为每一投影图像块设置从小到大的块编号id,如,id号从0开始,左侧第一个投影图像块的块编号设置为0。然后,将该指定滑窗的左边界位置left_pos与第0号投影图像块的左边界位置对齐,则该指定滑窗左边界位置left_pos所处的前述投影图像块的块编号记为left_id(此处,left_id=0),并确定该指定滑窗的右边界位置right_pos所处的前述设置块编号的投影图像块,及该投影图像块的块编号,记为right_id(如right_id=2)。之后,判断该指定滑窗的右边界位置与的块编号为right_id的右边界的位置关系,从而确定一个目标图像块和该指定滑窗的下一个位置。具体判断方法分为以下两种情况。
[0086] 第一种情况:如果right_id>left_id,则进一步判断该指定滑窗的右边界位置right_pos是否等于第right_id号投影图像块的右边界,如果right_pos等于第right_id号投影图像块的右边界,则确定第left_id号至第right_id号(如第0号至第2号)投影图像块对应的待识别文本行图像之间的图像区域为一个目标图像块,并设置该目标图像块的重叠信息ovlelapFlag为0,用于指示该目标图像块与其右侧的目标图像块不重叠,之后,将该指定滑窗的左边界位置移动到第right_id+1号投影图像块的左边界,准备下一次的取块;如果right_id>left_id,且该指定滑窗的右边界位置right_pos小于第right_id号投影图像块的右边界,则确定第left_id号至第right_id-1号(如第0号至第1号)投影图像块对应的待识别文本行图像之间的图像区域为一个目标图像块,并设置该目标图像块的重叠信息ovlelapFlag为0,用于指示该目标图像块与其右侧的目标图像块不重叠,之后,将该指定滑窗的左边界位置移动到第right_id号投影图像块的左边界,准备下一次的取块。
[0087] 第二种情况:如果right_id==left_id,说明该指定滑窗当前所处的投影图像块id_current需要拆分成多个存在重叠的目标图像块,则取该指定滑窗所处的图像区域作为一个目标图像块,并设置该目标图像块的重叠信息ovlelapFlag为1,用于指示该目标图像块与其右侧的目标图像块重叠,之后,移动指定滑窗的左边界位置到right_pos-OverLap_Width的位置,准备下一次的取块,直到该指定滑窗的右边界位置大于或者等于第id_current号投影图像块的右边界位置,结束第id_current号投影图像块的拆分。之后,将该指定滑窗的左边界位置移动到第id_current+1号投影图像块的左边界位置,准备下一次取块。
[0088] 通过滑窗对水平投影得到的投影图像块进行扫描,确定待识别文本行图像中的目标图像块,与直接利用滑窗对待识别文本行图像进行切分相比,可以减少将一个字符划分到两个目标图像块中的概率,有助于提升识别准确性。
[0089] 在本申请的一些实施例中,通过沿上述待识别文本行图像的宽度方向滑动指定滑窗,对上述投影图像块进行合并或拆分处理,确定上述待识别文本行图像中的目标图像块及各目标图像块的重叠信息的步骤之后,还包括:对确定的目标图像块进行边界调整。具体实施时,进行边界调整包括分别调整每一个目标图像块的上下边界,其中,将上边界调整为各目标图像块的最小上边界,将下边界调整为各目标图像块对应的最大下边界。
[0090] 步骤11,通过预设第一文本串识别模型对各目标图像块进行识别,确定每个目标图像块的文本识别结果。
[0091] 本申请具体实施时,需要预先训练本串识别模型,即通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果的步骤之前,还包括:训练第一文本串识别模型,该第一文本串识别模型为卷积循环神经网络,由卷积神经网络和循环神经网络串联而成。其中,上述卷积神经网络的输出作为上述循环神经网络的输入。
[0092] 其中,卷积神经网络可以采用残差网络(RESNET,Residual Network),循环神经网络可以为结合连接时域分类器(CTC,Connectionist TemporalClassification)层和双向长短期记忆网络(BLSTM,Bidirectional Long Short Term Memory)。第一文本串识别模型通过卷积神经网络将输入该模型的图像进行空间上的保序压缩,相当于沿水平方向形成若干切片,每个切片对应一个特征向量。由于卷积的感受野会相互重叠,这类特征本身就包含了一定的上下文关系。接下来的循环神经网络是一种时间递归神经网络,适合于处理具有时序性的问题,可以学习长期依赖信息,采用双层双向长短期记忆网络,进一步学习上下文特征,据此得到前述确定的每个切片对应的字符类别。最后的连接时域分类器设计了一种结构化损失,通过引入空白类和映射法则模拟了动态规划的过程。上述卷积神经网络和循环神经网络相结合的第一文本串识别模型,在图像特征和识别内容序列之间是严格保序的。
[0093] 具体实施时,根据不同文本行图像长度对识别设备内存的需求量和网络模型训练难易程度和准确率的影响,设置用于网络模型训练的样本所包含的最大字符长度。根据这个最大字符长度,确定网络模型输入图像宽度。本申请实施例中假设最大字符长度为22个,则网络模型输入图像宽度为350,高度为48。进一步的,将采集的藏文文本行图像转化为灰度图并做如下的预处理:同比例缩放,归一化到350*48的大小,图像做灰度拉伸。
[0094] 具体实施时,还需要设置第一文本串识别模型的网络参数。具体实施时,发明人设置了一个出现频率阈值rate,然后对藏文文献中字符出现频率进行统计分析,将出现频率大于rate的字符认为是高频字符,将出现频率小于rate的字符认为是低频字符。通过分析发现藏文文献中包括的高频字符包括2012个,而低频字符基本都是梵文藏文转写字,不排除会有少量的现代藏文字符。因此,本申请实施例中设置文本串识别模型支持的类别数为2013,其中2012个类别对应2012个高频字符,1个类别对应所有低频字符。卷积神经网络用于图像特征提取,经过卷积神经网络处理后,输出的特征维度为:44*6,即送入循环神经网络时间步(timestep)为44。经过循环神经网络处理之后,每一个timestep会输出维度为
2013的数据,该数据表示该timestep对应到2013个类别的概率。每一个timestep取一个最优的类别,将这44个类别做合并即可获取输入至卷积神经网络的文本行图像对应的文本识别结果。
[0095] 在进行文本串识别模型训练时,可以首先采用合成样本预训练第一文本串识别模型。预训练需要大量的样本,从而提取较好的特征,这对提高模型的泛化能力是非常重要的。串识别技术要求训练样本要有多样性,各个类别的样本数量要均衡化。随着实际标注样本数量的增加,可以建立finetune训练样本集,这个样本集是合成样本和实际样本按照一定的比例合并而成的。其中,finetune是指基于某一个预训练好的模型,对当前样本进行继续训练,这样就不用重新训练模型,提高模型训练效率。通过这样一种循环迭代的方式,不断提高识别核心的性能,最终得到一个对合成样本和实际样本识别效果都比较理想的第一文本串识别模型。
[0096] 具体实施时,将前述步骤确定的每个目标图像块分别输入至上述第一文本串识别模型,即可得到每个目标图像块对应的文本识别结果。具体实施时,一个目标图像块输入至上述第一文本串识别模型之后,第一文本串识别模型将输出该目标图像块中依序排列的每个字符图像分别分类为2013个字符类别的置信度。然后,对于每个字符图像的识别结果,取置信度最高的字符类别作为该字符图像的最终识别结果,即可得到目标图像块中每个字符图像的识别结果。可见,通过上述第一文本串识别模型对每个目标图像块进行识别,得到的文本识别结果包括目标图像块中每个字符图像的字符识别结果(即与相应字符类别对应的字符串)和对应的置信度。
[0097] 步骤12,根据上述目标图像块的重叠信息对各目标图像块的文本识别结果进行整合,确定上述待识别文本行图像的文本识别结果。
[0098] 在确定了每个目标图像块的文本识别结果之后,进一步对每个目标图像块的文本识别结果按照各目标图像块在待识别文本行图像中的位置,进行整合,得到待识别文本行图像的文本识别结果。
[0099] 具体实施时,如果不存在有重叠区域的目标图像块,则可以直接将各目标图像块的文本识别结果按照各目标图像块在待识别文本行图像中的位置进行从左到右拼接,得到上述待识别文本行图像的文本识别结果。如果存在有重叠区域的目标图像块,则需要对有重叠区域的目标图像块中重叠区域图像的识别结果进行去重处理。
[0100] 在本申请的一些实施例中,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果的步骤,包括:若所述目标图像块的重叠信息指示该目标图像块与相邻的预设目标图像块重叠,则确定该目标图像块对应的重叠区域文本识别结果;根据所述目标图像块在所述待识别文本行图像中的位置、所述目标图像块的重叠信息、所述重叠区域文本识别结果,对各所述目标图像块的文本识别结果进行拼接和去重处理,得到所述待识别文本行图像的文本识别结果。
[0101] 对于存在重叠区域的目标图像块,在滑窗取块的过程中,会设置一个重叠信息ovlelapFlag,以指示该目标图像块是否和右侧目标图像块存在重叠区域,重叠信息值为0表示该目标图像块与其他目标图像块不存在重叠区域,重叠信息值为1表示该目标图像块与其他目标图像块存在重叠区域。对于存在重叠区域的目标图像块,需要进行文本识别结果去重整合处理。
[0102] 若目标图像块的重叠信息指示该目标图像块与相邻的预设目标图像块重叠,则确定该目标图像块对应的重叠区域文本识别结果的步骤,包括:若目标图像块的重叠信息指示该目标图像块与相邻的预设目标图像块重叠,则确定该目标图像块的文本识别结果和该相邻的预设目标图像块的文本识别结果之间的所有公共字符串;确定评分最高的上述公共字符串为该目标图像块与相邻的预设目标图像块的重叠区域文本识别结果。其中,评分最高的公共字符串为最优公共字符串。
[0103] 具体实施时,公共字符串的评分根据该公共字符串的字符长度、该公共字符串在目标图像块中的位置、该公共字符串的识别结果置信度中的一项或多项确定。本实施例中,以根据该公共字符串的字符长度、该公共字符串在目标图像块中的位置、该公共字符串的识别结果置信度三项确定评分举例说明确定最优公共字符串的方案。
[0104] 具体实施时,每个文本识别结果为字符串。最优公共字符串的查找过程如下:确定假设S1为重叠信息指示存在重叠区域的目标图像块的识别结果,是一个字符串的形式,则找到右侧相邻目标图像块的识别结果S2,对S1和S2找出所有的公共字符串对{pair0,pair2,……pairn},S1和S2的长度为length1和length2。每一个公共字符串对pairi包含该公共字符串的第一个字符在S1和S2所对应的位置以及该公共字符串的长度lengthsub,如表示为{pos1,pos2,lengthsub},其中,i为整数,0≤i≤n。利用下述公式给每一个公共字符串对pairi计算一个得分,取得分最大的公共字符串对pairi作为最优的公共字符串:
[0105] Scorepair=k0*lengthsub+k1*recogAvgConfig+k3*(length1-pos1+pos2);
[0106] 其中,recogAvgConfig为该pair在S1和S2中对应字符的识别结果置信度的平均值,每个字符的识别结果置信度是文本行识别模型计算出来的。k0、k1、k2权重系数,k0+k1+k2=1.0,各权重系数的取值通过实验确定。
[0107] 接下来,将各目标图像块的文本识别结果按照目标图像块在所述待识别文本行图像中的位置从左到右拼接,得到拼接文本。然后,从上述拼接文本中删除与各目标图像块的重叠区域对应的重复的文本识别结果。即拼接文本中对于相邻目标图像块的每个重叠区域的文本识别结果,仅保留一份。至此,拼接去重后得到的文本识别结果即为上述待识别文本行图像的文本识别结果。
[0108] 本申请实施例公开的藏文识别方法,首先,先确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息,然后,通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果,最后,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果。本申请实施例是按照预先拆分的目标图像块并结合目标图像块之间的重叠信息进行文本识别,避免了现有技术中先对藏文文本图像进行单字切分而后对单字进行字符识别的过程,因此,本申请实施例提供的方案有效解决了对于图像质量差的藏文文本行图像的识别准确率低的缺陷。现有技术中的藏文识别方法首先要将藏文文本行图像切分到单字,然后识别单字的类别,最后将识别结果串联起来。而对于藏文文本行图像质量较差的情形,如存在字符粘连,则会导致切分错误,直接影响识别结果的准确性。本申请公开的藏文识别方法,不需要将藏文文本行图像切分到单字,而是以图像块的形式通过串识别模型进行识别,可以有效提升识别的准确率。
[0109] 另一方面,本申请以图像块的形式通过串识别模型进行识别时,通过卷积神经网络和循环神经网络结合进行特征提取,考虑了每个字符的上下文信息,进一步提升识别准确性。而现有技术中,为了考虑每个字符的上下文信息,往往需要对图像进行“过切分”,即找到所有可能是切点的位置,然后再将所有切片和可能的切片组合统统送给单字识别模块,通过在各个识别结果中间进行“动态规划”,寻找一条最优路径,从而确定切分和识别的结果。在寻优过程中,往往还需要结合文字的外观统计特征以及语言模型(若干字的同现概率)。切分、识别和后处理存在深度耦合,导致实际系统中的串识别模块往往堆砌了非常复杂和可读性差的算法。并且无法突破识别性能瓶颈。比如一些复杂的艺术体和手写体文字,严重粘连的情况等等识别准确率仍然很低。
[0110] 实施例二:
[0111] 本实施例提供了一种藏文识别方法,如图4所示,所述方法包括:步骤40至步骤46。
[0112] 步骤40,确定待识别文本行图像中的依序分布的目标图像块和各目标图像块的重叠信息。
[0113] 确定待识别文本行图像中的依序分布的目标图像块和各目标图像块的重叠信息的具体实施方式,参见实施例一,本实施例不再赘述。
[0114] 步骤41,通过预设第一文本串识别模型对上述各目标图像块进行识别,确定上述各目标图像块的文本识别结果。
[0115] 通过预设第一文本串识别模型对上述各目标图像块进行识别,确定上述各目标图像块的文本识别结果的具体实施方式,参见实施例一,本实施例不再赘述。
[0116] 步骤42,判断各目标图像块的文本识别结果中是否包含预设字符识别结果,若包括,至执行步骤43,否则,执行步骤46。
[0117] 由实施例一可知,第一文本串识别模型输出的文本识别结果包括目标图像块中每个字符图像的字符识别结果(即与相应字符类别对应的字符串)和对应的置信度。具体实施时,字符识别结果中可能包括藏文高频字符,也可能包括藏文低频字符。本申请具体实施时,将藏文低频字符的识别结果定义为一个类别,通过预设字符识别结果表示。具体实施时,识别为藏文低频字符的字符图像通常为梵文藏文转写字的图像,也可能会包括一些不常见的藏文字符或新发现的藏文字符。具体实施时,可以定义第一文本串识别模型的识别字符集为{C1,C2,……,CN-1,CN},其中{C1,C2,……,CN-1}是以现代藏文字符为主的高频字符,CN为所有的低频字符,则预设字符识别结果对应CN。
[0118] 为了进一步确定识别为藏文低频字符的字符图象的准确字符识别结果,在通过预设第一文本串识别模型对各目标图像块进行识别,确定各目标图像块的文本识别结果的步骤之后,还包括:判断每个目标图像块的文本识别结果中是否包含预设字符识别结果;若包含预设字符识别结果,则对相应字符图像通过预设的第二文本串识别模型进行重新识别。
[0119] 步骤43,确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块。
[0120] 当确定文本行图像识别结果中包括预设字符识别结果时,可以认为该目标图像块中存在低频字符的图像,需要进一步确定该低频字符的图像,然后,进行重识别。
[0121] 在本申请的一些实施例中,上述第一文本串识别模型为卷积循环神经网络,确定上述待识别文本行图像中与该预设字符识别结果对应的图像块的步骤,包括:根据第一文本串识别模型的网络参数,确定上述待识别文本行图像中与预设字符识别结果对应的初始图像块;根据待识别文本图像的几何特征对上述初始图像块进行边界调整,得到与所述预设字符识别结果对应的图像块。
[0122] 在根据第一文本串识别模型的网络参数,确定上述待识别文本行图像中与预设字符识别结果对应的初始图像块时,可以通过上述卷积循环神经网络中循环神经网络的输出和输入的映射关系,以及,上述循环神经网络的输入与上述卷积循环神经网络中卷积神经网络的输入的映射关系,确定与上述待识别文本行图像的文本识别结果中每个字符识别结果对应的初始图像块;根据第一文本串识别模型输出的文本识别结果中字符识别结果的类型对与上述字符识别结果对应的初始图像块进行删除和/或合并处理,确定有效字符识别结果及各有效字符识别结果对应的初始图像块。上述有效字符识别结果对应的初始图像块中包括预设字符识别结果对应的初始图像块。
[0123] 具体实施时,循环神经网络(如LSTM,Long Short-Term Memory)的输入图像特征和输出的识别内容序列之间是严格保序的,即输入循环神经网络网络的图像特征切片与字符识别结果是可以按照顺序进行映射的。
[0124] 因此,本申请获取字符识别结果对应的图像块分为两个阶段:
[0125] 1、字符识别结果与特征图切片的映射;
[0126] 2、特征图切片与原始输入图像的映射。字符识别结果是LSTM的输出,特征图切片是LSTM的输入,原始输入图像是卷积神经网络(CNN)的输入,特征图切片是CNN的输出的特征图得到的。因此上述的两个映射分别是LSTM网络和CNN网络的输入和输出的映射。LSTM网络输入的特征图切片数量与输出的识别结果个数一样的,因此特征图切片与识别结果是一一对应的。CNN的输入图像经过RESNET网络,逐层获取特征图,特征图的维度一般是逐层降低的。CNN输出的特征图切片是按照横向切片送入LSTM网络的,因此,CNN输入图像和LSTM输入特征图切片只能进行横向的映射,映射关系为k_CNN_Map=width_CNN_input/width_LSTM_input,其中width_CNN_input为CNN输入图像的横向尺寸,width_LSTM_input为LSTM输入特征切片个数。因此,字符识别结果和原始输入图像可以建立横向的映射。假设字符识别结果个数为n,原始输入图像的横向宽度为width,则k_CNN_Map=width/n,将原始图像按照横向尺寸为k_CNN_Map进行分块,可以获取n个初始图像块。那么,字符识别结果按照先后顺序,分别对应原始图像的这n个初始图像块。
[0127] 然后,对连续几个识别为相同字符的初始图像块进行合并,去除识别结果为空白类别的初始图像块,剩余的初始图像块即为有效的字符识别结果对应的初始图像块。其中,空白类别为串识别技术预留的一个类别,用于表示输入图像上空白部分的识别结果;连续的相同字符为串识别技术对统一图像块多次识别的得到的结果。
[0128] 通过上述映射方法获取到的字符的初始图像块与实际的字符图像区域在左右边界上会存在偏差,可以认为实际的字符图像区域的横向中心位置和上述方式获取的字符的初始图像块的横向中心位置一致。因此,接下来要根据待识别文本图像的几何特征对上述初始图像块进行边界调整,得到与所述预设字符识别结果对应的图像块,获取最佳的字符图像。
[0129] 具体实施时,根据待识别文本图像的几何特征对上述初始图像块进行边界调整包括:将待识别文本行图像进行水平方向投影,并根据投影将待识别文本行图像划分为若干投影图像块;根据字符识别结果对应的初始图像块与相应投影图像块的位置关系,对上述初始图像块进行边界调整。其中,相应投影图像块可以为与上述预设字符识别结果对应的初始图像块重叠面积最大的投影图像块。
[0130] 在本申请的一些实施例中,根据预设字符识别结果对应的初始图像块与相应投影图像块的位置关系,对该预设字符识别结果对应的初始图像块进行边界调整的方案如下:
[0131] 若某个投影图像块只与预设字符识别结果对应的初始图像块存在重叠,则将预设字符识别结果对应的初始图像块的边界调整为该投影图像块的边界,得到与预设字符识别结果对应的图像块;
[0132] 若某个投影图像块与所有的字符识别结果对应的初始图像块都没有重叠,则该投影图像块为噪声块;
[0133] 若某个投影图像块与多个字符识别结果对应的初始图像块存在重叠,则进一步对这个投影图像块求取连通域块,基于连通域块对投影图像块进行横向的过切分,基于过切分后得到的投影图像子块与预设字符识别结果对应的初始图像块的位置关系对该预设字符识别结果对应的初始图像块进行边界调整,得到与预设字符识别结果对应的图像块。
[0134] 例如:若某个过切分后得到的投影图像子块只与预设字符识别结果对应的图像块存在重叠,则将该预设字符识别结果对应的初始图像块调整为投影图像子块对应的图像区域;若某个过切分后得到的投影图像子块与所有字符识别结果对应的初始图像块都没有重叠,则认为该投影图像子块是噪声块;若过切分后得到的投影图像子块与多个字符识别结果对应的初始图像块存在重叠,则认为该部分图像文字粘连严重,则将该过切分后的投影图像子块对应的图像区域均分给与其重叠的字符识别结果对应的初始图像块,得到与其重叠的字符识别结果对应的图像块。
[0135] 在本申请的另一些实施例中,基于连通域块进行横向的过切分,基于过切分后得到的投影图像子块与预设字符识别结果对应的图像块的位置关系对该预设字符识别结果对应的图像块进行边界调整时,还可以根据与预设字符识别结果对应的图像块的中心位置距离最近的投影图像子块,对该预设字符识别结果对应的图像块进行边界调整。
[0136] 本申请具体实施时,确定图像中的连通域块的具体实施方式参见现有技术,本申请实施例不再赘述。基于连通域块对投影图像块进行横向的过切分的具体实施方式参见现有技术,本申请实施例不再赘述。
[0137] 步骤44,通过预设第二文本串识别模型对上述待识别文本行图像中与上述预设字符识别结果对应的图像块进行重识别。
[0138] 本申请具体实施时,还需要预先训练第二文本串识别模型,所述第二文本串识别模型为串识别模型,输入为字符图像,输出为字符串。第二文本串识别模型可以采用与第一文本串识别模型相同的结构和训练方式,也可以采用包括循环神经网络的其他网络结构或训练方式。本申请对第二文本串识别模型采用的具体网络结构和训练方法不做限定。
[0139] 在确定了目标图像块中与预设字符识别结果(如藏文低频字符)对应的字符图像块(如一个梵文藏文转写字的图像块)之后,将该字符图像块输入至第二文本串识别模型,该第二文本串识别模型将输出该字符图像块对应的字符识别结果及置信度,该字符识别结果通常为字符串。
[0140] 梵文藏文转写字是由藏文的基本字母纵向组合而成,如图5所示,其组合不遵循藏文的基本组成规则,没有组合规则。因此梵文的藏文转写字是无法一一列举的。本申请具体实施时,把梵文藏文转写字作为低频字符定义为第一文本串识别模型的识别字符集中的CN。然后,再通过第二文本串识别模型对识别为CN的字符图像块进行重识别。
[0141] 具体实施时,在通过前述映射方法确定了低频字符CN的字符图像块(即预设字符识别结果对应的图像块)之后,从待识别文本行图像中切分出低频字符CN的字符图像块;然后,将该字符图像块做逆时针90度旋转;之后,将旋转后的图像输入至第二文本串识别模型。第二文本串识别模型为以藏文字母为单位的串识别模型,该第二文本串识别模型的字符集为藏文字母,第二文本串识别模型的输出为以字母为单位的串识别结果,通常以字符串表示。
[0142] 步骤45,以重识别得到的识别结果替换上述预设字符识别结果。
[0143] 接下来,对于第一文本串识别模型输出的文本识别结果中包括预设字符识别结果的目标图像块,即包括藏文低频字符图像的目标图像块,通过第二文本串识别模型对该藏文低频字符图像的重识别结果替换第一文本串识别模型输出的文本识别结果中的预设字符识别结果,得到该目标图像块的更准确的文本识别结果。
[0144] 例如,目标图像块A的文本识别结果中包括5个字符识别结果,表示为{string1,string2,string3,string4,string5},其中,第5个字符识别结果string5为藏文低频字符,则首先通过前文描述的映射技术确定string5对应的目标图像块A中的字符图像块B;然后,将字符图像块B逆时针旋转90度得到字符图像块C;之后,将字符图像块C输入至第二文本串识别模型;第二文本串识别模型经过识别,输出字符图像块C的字符识别结果,表示为字符串string6;最后,以重识别得到的识别结果string6替换上述预设字符识别结果string5,得到该目标图像块A的更准确的文本识别结果表示为{string1,string2,string3,string4,string6}。
[0145] 至此,对于包含藏文低频字符图像的每个目标图像块的文本识别结果进行了更新,得到了相应目标图像块的更准确的文本识别结果。
[0146] 步骤46,根据上述各目标图像块的重叠信息对各目标图像块的文本识别结果进行整合,确定上述待识别文本行图像的文本识别结果。
[0147] 根据上述各目标图像块的重叠信息对各目标图像块的文本识别结果进行整合,确定上述待识别文本行图像的文本识别结果的具体实施方式,参见
[0148] 实施例一,本实施例不再赘述。
[0149] 本申请实施例公开的藏文识别方法,首先,通过确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息,然后,通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果;之后,进一步判断所述目标图像块的文本识别结果中是否包含预设字符识别结果;若包含所述预设字符识别结果,则确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块,并通过预设第二文本串识别模型对所述待识别文本行图像中与所述预设字符识别结果对应的图像块进行重识别,以重识别得到的识别结果替换所述预设字符识别结果,最后,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果,不仅解决了对于图像质量差的藏文文本行图像的识别准确率低的缺陷,还能够实现不同梵文藏文转写字的识别。而对于现有技术中的藏文行文本识别方法,将梵文藏文转写字当成一个字符来识别,但梵文藏文转写字无法一一列举,因此,现有技术中的藏文行文本识别方法只支持常见的高频梵文藏文转写字识别。而本申请公开的藏文行文本识别方法,采用串识别技术把梵文藏文转写字归类到一个低频字符类别中,然后,通过映射技术确定识别为低频字符类别的字符图像,并将该字符图像进行旋转,进一步采用串识别技术对旋转后的字符图像进行识别,可以识别任意的梵文藏文转写字。
[0150] 实施例三:
[0151] 相应的,本申请还公开了一种藏文识别装置,如图6所示,所述装置包括:
[0152] 目标图像块信息确定模块60,用于确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息;
[0153] 目标图像块识别模块61,用于通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果;
[0154] 识别结果整合模块62,用于根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果。
[0155] 可选的,如图7所示,所述目标图像块信息确定模块60进一步包括:
[0156] 投影图像块确定子模块601,用于根据所述待识别文本行图像在水平方向的投影对所述待识别文本行图像进行切分,确定所述待识别文本行图像包括的投影图像块;
[0157] 目标图像块确定子模块602,用于通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息。
[0158] 可选的,在通过沿所述待识别文本行图像的宽度方向滑动指定滑窗,对所述投影图像块进行合并或拆分处理,确定所述待识别文本行图像中的目标图像块及各所述目标图像块的重叠信息时,所述目标图像块确定子模块602进一步用于:
[0159] 根据所述第一文本串识别模型的输入图像尺寸,确定所述指定滑窗宽高比;
[0160] 根据所述待识别文本行图像的高度和所述指定滑窗的宽高比,确定所述指定滑窗的宽度;
[0161] 沿所述待识别文本行图像的宽度方向滑动所述指定滑窗,并根据所述指定滑窗的每个移动位置与所述投影图像块的位置关系,对所述投影图像块进行合并或拆分处理,确定目标图像块及所述目标图像块的重叠信息。
[0162] 在本申请的另一个实施例中,可选的,如图7所示,所述装置还包括:
[0163] 判断模块63,用于判断所述目标图像块的文本识别结果中是否包含预设字符识别结果;
[0164] 重识别模块64,用于若包含所述预设字符识别结果,则确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块,并通过预设第二文本串识别模型对所述待识别文本行图像中与所述预设字符识别结果对应的图像块进行重识别,以重识别得到的识别结果替换所述预设字符识别结果。
[0165] 可选的,所述第一文本串识别模型为卷积循环神经网络,所述确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块时,重识别模块64进一步用于:
[0166] 根据所述第一文本串识别模型的网络参数,确定所述待识别文本行图像中与所述预设字符识别结果对应的初始图像块;
[0167] 根据所述待识别文本图像的几何特征对所述初始图像块进行边界调整,得到与所述预设字符识别结果对应的图像块。
[0168] 可选的,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果时,所述识别结果整合模块62进一步用于:
[0169] 若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果;
[0170] 根据所述目标图像块在所述待识别文本行图像中的位置、所述目标图像块的重叠信息、所述重叠区域文本识别结果,对各所述目标图像块的文本识别结果进行拼接和去重处理,得到所述待识别文本行图像的文本识别结果。
[0171] 可选的,所述若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块对应的重叠区域文本识别结果时,识别结果整合模块62进一步用于:
[0172] 若所述目标图像块的重叠信息指示所述目标图像块与相邻的预设目标图像块重叠,则确定所述目标图像块的文本识别结果和所述相邻的预设目标图像块的文本识别结果之间的所有公共字符串;
[0173] 确定评分最高的所述公共字符串为所述目标图像块与相邻的预设目标图像块的重叠区域文本识别结果。
[0174] 本申请实施例公开的藏文识别装置,首先确定待识别文本行图像中的依序分布的目标图像块和所述目标图像块的重叠信息,然后,通过预设第一文本串识别模型对各所述目标图像块进行识别,确定每个所述目标图像块的文本识别结果,最后,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果,解决了对于图像质量差的藏文文本行图像的识别准确率低的缺陷。现有技术中进行藏文识别时,首先要将藏文文本行图像切分到单字,然后识别单字的类别,最后将识别结果串联起来。而对于藏文文本行图像质量较差的情形,如存在字符粘连,则会导致切分错误,直接影响识别结果的准确性。本申请公开的藏文识别装置,不需要将藏文文本行图像切分到单字,而是以图像块的形式通过串识别模型进行识别,可以有效提升识别的准确率。
[0175] 另一方面,本申请以图像块的形式通过串识别模型进行识别时,通过卷积神经网络和循环神经网络结合进行特征提取,考虑了每个字符的上下文信息,进一步提升识别准确性。而现有技术中,为了考虑每个字符的上下文信息,往往需要对图像进行“过切分”,即找到所有可能是切点的位置,然后再将所有切片和可能的切片组合统统送给单字识别模块,通过在各个识别结果中间进行“动态规划”,寻找一条最优路径,从而确定切分和识别的结果。在寻优过程中,往往还需要结合文字的外观统计特征以及语言模型(若干字的同现概率)。切分、识别和后处理存在深度耦合,导致实际系统中的串识别模块往往堆砌了非常复杂和可读性差的算法。并且无法突破识别性能瓶颈。比如一些复杂的艺术体和手写体文字,严重粘连的情况等等识别准确率仍然很低。
[0176] 进一步的,本申请实施例公开的藏文识别装置,通过进一步判断目标图像块的文本识别结果中是否包含预设字符识别结果;若包含所述预设字符识别结果,则确定所述待识别文本行图像中与所述预设字符识别结果对应的图像块,并通过预设第二文本串识别模型对所述待识别文本行图像中与所述预设字符识别结果对应的图像块进行重识别,以重识别得到的识别结果替换所述预设字符识别结果,最后,根据所述目标图像块的重叠信息对各所述目标图像块的文本识别结果进行整合,确定所述待识别文本行图像的文本识别结果,不仅解决了对于图像质量差的藏文文本行图像的识别准确率低的缺陷,还能够实现不同梵文藏文转写字的识别。
[0177] 而对于现有技术中将梵文藏文转写字当成一个字符来识别的藏文行文本识别技术,由于梵文藏文转写字无法一一列举,因此,现有技术中的藏文行文本识别技术只支持常见的高频梵文藏文转写字识别。本申请公开的藏文行文本识别装置,采用串识别技术把梵文藏文转写字归类到一个低频字符类别中,然后,通过映射技术确定识别为低频字符类别的字符图像,并将该字符图像进行旋转,进一步采用串识别技术对旋转后的字符图像进行识别,可以识别任意的梵文藏文转写字。
[0178] 相应的,本申请实施例还公开了一种电子设备,所述电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例一和实施例二所述的藏文识别方法。所述电子设备可以为手机、PAD、平板电脑、藏文识别机等。
[0179] 相应的,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例一和实施例二所述的藏文识别方法的步骤。
[0180] 本申请的装置实施例与方法相对应,装置实施例中各模块和各单元的具体实现方式参见方法是实施例,此处不再赘述。
[0181] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0182] 本领域普通技术人员可以理解,在本申请所提供的实施例中,所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0183] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0184] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。