一种用于OCR图像识别模型训练数据生成的方法及设备转让专利

申请号 : CN202011356431.3

文献号 : CN112508000B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐栎谢利如

申请人 : 上海展湾信息科技有限公司

摘要 :

本申请通过一种用于OCR图像识别模型训练数据生成的方法及设备,获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;基于所述参数,将所述OCR图像裁剪为若干个参数图片;识别每个参数图片中的每个字符;基于预设字符数据库及预设标注数据库,将每个字符对应的字符图片顺序拼接,并将每个字符图片的标注顺序组合,以获得参数图片的拼接图片及其标注;遍历每个参数图片,将获得的每个拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片,并将获得的每个拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。通过该方法可获得高质量的训练数据。

权利要求 :

1.一种用于OCR图像识别模型训练数据生成的方法,其特征在于,所述方法包括:获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;

基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值;

识别每个参数图片中参数的名称及参数值的每个字符;

基于预设字符数据库,从所述字符数据库中选择与所述参数图片中每个字符匹配的字符图片,将选择出的每个字符图片按顺序拼接成所述参数图片的拼接图片,并基于与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片的标注;

遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;

将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。

2.根据权利要求1所述的方法,其特征在于,在所述基于所述参数,将所述OCR图像裁剪为若干个参数图片之前,对所述OCR图像进行预处理。

3.根据权利要求2所述的方法,其特征在于,所述对所述OCR图像进行预处理包括:对所述OCR图像进行灰化、锐化和/或尺寸缩放处理;

对灰化、锐化和/或尺寸缩放处理后的OCR图像进行背景标准化处理。

4.根据权利要求3所述的方法,其特征在于,所述背景标准化处理包括:色度聚类;

稀少像素颗粒群体筛滤,其中,所述稀少像素颗粒群体的像素数量不满足临界值;

基于筛滤后的像素颗粒群体确定背景与字符的色度分类。

5.根据权利要求4所述的方法,其特征在于,所述基于筛滤后的像素颗粒群体确定背景与字符的色度分类包括:基于筛滤后的像素颗粒群体,生成所有色度值的混合高斯分布;

确定所述混合高斯分布的峰间期望序列;

根据所述峰间期望序列确定所述像素颗粒群体的色度分布的期望间距;

根据所述期望间距确定背景与字符的色度分类。

6.根据权利要求5所述的方法,其特征在于,所述预设字符数据库及预设标注数据库的构建包括:获取若干经过预处理的OCR图像,其中,所述若干经过预处理的OCR图像包含用于表达所述参数的名称及参数值的全部字符;

遍历每个OCR图像,裁剪并提取出所有不重复的字符,并获取所述所有不重复的字符的每个字符对应的字符图片及所述字符图片对应的标注;

将所有字符图片集合,以构建成所述预设字符数据库,并将所有字符图片对应的标注集合成所述预设字符数据库对应的预设标注数据库。

7.根据权利要求6所述的方法,其特征在于,所述基于与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片的标注包括:基于所述预设标注数据库,参照字符图片的拼接顺序从所述预设标注数据库中选择出每个字符图片对应的标注;

将选择出的每个字符图片对应的标注顺序组合成所述参数图片对应的拼接图片的标注。

8.根据权利要求7所述的方法,其特征在于,所述将选择出的每个字符图片按顺序拼接成所述参数图片的拼接图片还包括:在将选择出的每个字符图片按顺序拼接过程中,在字符图片之间加入第一随机背景间隔。

9.根据权利要求8所述的方法,其特征在于,所述遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片还包括:在将每个参数图片对应的拼接图片顺序拼接过程中,在拼接图片之间加入第二随机背景间隔。

10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:将所述训练数据补充到所述OCR图像识别模型的训练数据集和/或验证数据集;

将所述训练数据集和/或验证数据集输入所述OCR图像识别模型,对所述OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。

11.根据权利要求10所述的方法,其特征在于,所述方法还包括:获取待识别OCR图像,并对所述待识别OCR图像进行预处理,其中,所述预处理包括对所述待识别OCR图像进行灰化、锐化和/或尺寸缩放处理,和/或背景标准化处理;

将预处理后的待识别OCR图像输入所述完成训练和/或验证的OCR图像识别模型,以识别所述待识别OCR图像。

12.根据权利要求11所述的方法,其特征在于,所述方法还包括:将识别出的所述待识别OCR图像的参数保存,以用于批量识别与所述待识别OCR图像同类型的OCR图像。

13.一种用于OCR图像识别模型训练数据生成的设备,其特征在于,所述设备包括:第一装置,用于获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;

第二装置,用于基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值;

第三装置,用于识别每个参数图片中参数的名称及参数值的每个字符;

第四装置,用于基于预设字符数据库,从所述字符数据库中选择与所述参数图片中每个字符匹配的字符图片,将选择出的每个字符图片按顺序拼接成所述参数图片的拼接图片,并基于与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片的标注;

第五装置,用于遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定与所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;

第六装置,用于将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。

14.根据权利要求13所述的设备,其特征在于,所述设备还包括:第七装置,用于在所述第二装置之前,对所述OCR图像进行预处理。

15.根据权利要求13所述的设备,其特征在于,所述设备还包括:第八装置,用于构建所述预设字符数据库及所述预设标注数据库。

16.根据权利要求14所述的设备,其特征在于,所述设备还包括:第九装置,用于将所述训练数据补充到所述OCR图像识别模型的训练数据集和/或验证数据集;

第十装置,用于将所述训练数据集和/或验证数据集输入所述OCR图像识别模型,对所述OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。

17.一种计算机可读介质,其特征在于,

其上存储有计算机可读指令,所述计算机可读指令被处理器执行以实现如权利要求1至12中任一项所述的方法。

18.一种设备,其特征在于,该设备包括:

一个或多个处理器;以及

存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至12中任一项所述方法的操作。

说明书 :

一种用于OCR图像识别模型训练数据生成的方法及设备

技术领域

[0001] 本申请涉及计算机图像处理技术领域,尤其涉及一种用于OCR图像识别模型训练数据生成的技术。

背景技术

[0002] OCR图像识别技术是通过扫描和摄像等光学输入方式获取纸张上的文字图像信息,利用各种模式识别算法分析文字形态特征,可以将票据、报刊、书籍、文稿及其它印刷品转化为文字图像信息,再利用图像识别技术将文字图像信息转化为可以使用的计算机输入的技术。通常以最终识别率、识别速度、版面理解正确率及版面还原满意度等四个方面作为OCR图像识别技术的评测依据。
[0003] 现有的OCR图像识别技术的内核算法大多来自于google(谷歌)开发及维护的开源识别工具Tesseract模型。Tesseract模型常用的训练样本主要来自于各行各业的手写体、正规体等,但针对专业领域(比如工业控制领域)的OCR图像的识别精度就比较低。

发明内容

[0004] 本申请的目的是提供一种用于OCR图像识别模型训练数据生成的方法及设备,用以解决现有工业控制领域OCR图像识别精度不高的技术问题。
[0005] 根据本申请的一个方面,提供了一种用于OCR图像识别模型训练数据生成的方法,其中,所述方法包括:
[0006] 获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;
[0007] 基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值;
[0008] 识别每个参数图片中参数的名称及参数值的每个字符;
[0009] 基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片及所述参数图片对应的拼接图片的标注;
[0010] 遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;
[0011] 将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。
[0012] 可选地,其中,在所述基于所述参数,将所述OCR图像裁剪为若干个参数图片之前,对所述OCR图像进行预处理。
[0013] 可选地,其中,所述对所述OCR图像进行预处理包括:
[0014] 对所述OCR图像进行灰化、锐化和/或尺寸缩放处理;
[0015] 对灰化、锐化和/或尺寸缩放处理后的OCR图像进行背景标准化处理。
[0016] 可选地,其中,所述背景标准化处理包括:
[0017] 色度聚类;
[0018] 稀少像素颗粒群体筛滤;
[0019] 基于筛滤后的像素颗粒群体确定背景与字符的色度分类。
[0020] 可选地,其中,所述基于筛滤后的像素颗粒群体确定背景与字符的色度分类包括:
[0021] 基于筛滤后的像素颗粒群体生成混合高斯分布;
[0022] 确定所述混合高斯分布的峰间期望序列;
[0023] 根据所述峰间期望序列确定所述像素颗粒群体的色度分布的期望间距;
[0024] 根据所述期望间距确定背景与字符的色度分类。
[0025] 可选地,其中,所述预设字符数据库及预设标注数据库的构建包括:
[0026] 获取若干经过预处理的OCR图像,其中,所述若干经过预处理的OCR图像包含用于表达所述参数的名称及参数值的全部字符;
[0027] 遍历每个OCR图像,裁剪并提取出所有不重复的字符,并获取所述所有不重复的字符的每个字符对应的字符图片及所述字符图片对应的标注;
[0028] 将所有字符图片集合,以构建成所述预设字符数据库,并将所有字符图片对应的标注集合成所述预设字符数据库对应的预设标注数据库。
[0029] 可选地,其中,所述基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片及所述参数图片对应的拼接图片的标注包括:
[0030] 基于预设字符数据库,从所述字符数据库中选择与所述参数图片中每个字符匹配的字符图片;
[0031] 将选择出的每个字符图片按顺序拼接成所述参数图片的拼接图片;
[0032] 基于所述预设标注数据库,参照字符图片的拼接顺序从所述预设标注数据库中选择出每个字符图片对应的标注;
[0033] 将选择出的每个字符图片对应的标注顺序组合成所述参数图片对应的拼接图片的标注。
[0034] 可选地,其中,所述将选择出的每个字符图片按顺序拼接成所述参数图片的拼接图片还包括:
[0035] 在将选择出的每个字符图片按顺序拼接过程中,在字符图片之间加入第一随机背景间隔。
[0036] 可选地,其中,所述遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片还包括:
[0037] 在将每个参数图片对应的拼接图片顺序拼接过程中,在拼接图片之间加入第二随机背景间隔。
[0038] 可选地,其中,所述方法还包括:
[0039] 将所述训练数据补充到所述OCR图像识别模型的训练数据集和/或验证数据集;
[0040] 将所述训练数据集和/或验证数据集输入所述OCR图像识别模型,对所述OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。
[0041] 可选地,其中,所述方法还包括:
[0042] 获取待识别OCR图像,并对所述待识别OCR图像进行预处理,其中,所述预处理包括对所述待识别OCR图像进行灰化、锐化和/或尺寸缩放处理,和/或背景标准化处理;
[0043] 将预处理后的待识别OCR图像输入所述完成训练和/或验证的OCR图像识别模型,以识别所述待识别OCR图像。
[0044] 可选地,其中,所述方法还包括:
[0045] 将识别出的所述待识别OCR图像的参数保存,以用于批量识别与所述待识别OCR图像同类型的OCR图像。
[0046] 根据本申请的另一方面,还提供了一种用于OCR图像识别模型训练数据生成的设备,其中,所述设备包括:
[0047] 第一装置,用于获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;
[0048] 第二装置,用于基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值;
[0049] 第三装置,用于识别每个参数图片中参数的名称及参数值的每个字符;
[0050] 第四装置,用于基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将与每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片的拼接图片及所述参数图片对应的拼接图片的标注;
[0051] 第五装置,用于遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定与所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;
[0052] 第六装置,用于将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。
[0053] 可选地,其中,所述设备还包括:
[0054] 第七装置,用于在所述第二装置之前,对所述OCR图像进行预处理。
[0055] 可选地,其中,所述设备还包括:
[0056] 第八装置,用于构建所述预设字符数据库及所述预设标注数据库。
[0057] 可选地,其中,所述设备还包括:
[0058] 第九装置,用于将所述训练数据补充到所述OCR图像识别模型的训练数据集和/或验证数据集;
[0059] 第十装置,用于将所述训练数据集和/或验证数据集输入所述OCR图像识别模型,对所述OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。
[0060] 与现有技术相比,本申请通过一种用于OCR图像识别模型训练数据生成的方法及设备,首先获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值,接着基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值,然后识别每个参数图片中参数的名称及参数值的每个字符,再接着基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片及所述参数图片对应的拼接图片的标注,然后还遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注,最后将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。通过该方法可生成针对如工业控制领域等采用专用机器字体的OCR图像识别模型的训练和/或验证样本,使得训练后的OCR图像识别模型可以高精度地识别相关领域的OCR图像。

附图说明

[0061] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0062] 图1示出根据本申请一个方面的一种用于OCR图像识别模型训练数据生成的方法流程图;
[0063] 图2示出根据本申请另一个方面一种用于OCR图像识别模型训练数据生成的设备示意图;
[0064] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0065] 下面结合附图对本发明作进一步详细描述。
[0066] 在本申请一个典型的配置中,系统各模块和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0067] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0068] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0069] 为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及优选实施例,对本申请的技术方案,进行清楚和完整的描述。
[0070] 图1示出本申请一个方面的一种用于OCR图像识别模型训练数据生成的方法流程图,其中,一个实施例的方法包括:
[0071] S11获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;
[0072] S12基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值;
[0073] S13识别每个参数图片中参数的名称及参数值的每个字符;
[0074] S14基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片及所述参数图片对应的拼接图片的标注;
[0075] S15遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;
[0076] S16将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。
[0077] 在本申请中,所述方法通过设备1执行,所述设备1为计算机设备和/或云,所述计算机设备包括但不限于个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
[0078] 在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
[0079] 在该实施例中,在所述步骤S11中,所述设备1获取从其它设备,例如工业控制领域的数控机床、机器人等设备,截取的OCR图像,其中,所述OCR图像中包含一个或者多个中、英文或专用字符表达的各类参数信息,所述参数信息包括但不限于参数名称及其数值。
[0080] 其中,所述OCR图像的获取方式可以是通过网络获取,也可以是离线复制或拷贝。在此,对所述OCR图像的获取方式不做限定,如适用于本申请也应包含在本申请的保护范围内。
[0081] 在该实施例中,在所述步骤S12中,所述基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值。
[0082] 对于工业控制领域的数控机床、机器人等设备来说,用于控制及生产的参数虽然很多,但采用的都是机器字体,不同于手写字体可能存在的限制条件,采用机器字体的参数中,同一个字符在所有的OCR图像中都是完全相同的,例如在工业控制领域具有代表性的delem机器中,对于参数“图号5”中的字符“5”,在包含参数“图号5”的全部OCR图像中都是完全相同的。因此很多参数,特别是同类型的参数,其字体、尺寸等都相同,所以在针对识别它们的OCR图像识别模型的构建过程中,可以预先考虑将同类型的参数进行分组,以减少构建模型的工作量,同时更可以维持训练数据的平衡性,避免因为训练数据的不平衡而影响到所构建的OCR图像识别模型的识别精确度。
[0083] 在完成按类型将参数分组之后,可以针对每一组参数进行训练数据生成。
[0084] 理想的训练数据至少需要满足:样本量足够,以及样本的多样性这两大特点。
[0085] 例如,对于在工业控制领域具有代表性的delem机器,在一次实验中,在不同时间段下一共采集到2000+张delem机器的OCR图像,将每一张OCR图像按照每个参数进行裁剪,提取到2000+张参数图片。对所有参数图片进行分析后,发现所有参数可以被分成两类:
[0086] ①具有一定程度多样性的参数,例如坐标参数,在2000+张参数图片中可提取出上百张不同的参数图片;
[0087] ②多样性不足的参数,例如图号参数,在2000+张参数图片中仅可以提取十张左右的不同图片。
[0088] 对于具有一定程度多样性的参数,直接从参数图片中可以提取到足够的特征信息,因此,可以采用常规的处理方式,将裁剪得到的参数图片直接进行标注后用于OCR图像识别模型的训练数据。
[0089] 对于多样性不足的参数,因为其本身参数性质的原因,在实际工业控制及生产过程中就是一个变化性很少的参数,不仅像如上实验中2000+张的参数图片仅有大约十种变化性存在,就算是将delem机器的OCR图像采集样本提高到上万张,其能够提取的不同参数图片预计也是寥寥可数。因此,如果直接将获取的OCR图像用于OCR图像识别模型的训练数据的生成,对于OCR图像中包含的多样性不足的参数来说,可以提取的有效信息很少,会影响到OCR图像识别模型的训练,以及识别精确度。
[0090] 可选地,其中,在所述基于所述参数,将所述OCR图像裁剪为若干个参数图片之前,对所述OCR图像进行预处理。
[0091] 通常,获取到的工业控制领域的OCR图像通常是通过截屏方式获取的,可能会存在一定程度的杂色、干扰线/粒子。为了避免OCR图像中存在杂色、干扰线/粒子影响到OCR图像识别模型的训练数据的质量,可以考虑在对获取到的OCR图像进行裁剪之前,对获取到的OCR图像进行预处理,以去掉OCR图像中的杂色、干扰线/粒子,统一背景、字体颜色等,获得质量较好的OCR图像,以用于后续处理。
[0092] 可选地,其中,所述对所述OCR图像进行预处理包括:
[0093] 对所述OCR图像进行灰化、锐化和/或尺寸缩放处理;
[0094] 对灰化、锐化和/或尺寸缩放处理后的OCR图像进行背景标准化处理。
[0095] 其中,设备1对获取到的OCR图像首先进行灰化处理,以减少后续图像处理的计算量,以及避免在后续处理时的条带失真;然后对灰化处理后的OCR图像进行锐化处理,使OCR图像中的参数信息更清晰;接着将锐化处理后的OCR图像进行尺寸缩放处理,以便后续获得尺寸大小相同的参数图片。
[0096] 设备1还对灰化、锐化和/或尺寸缩放处理后的OCR图像进行背景标准化处理,以去掉OCR图像中的杂色、干扰线/粒子,统一背景。
[0097] 可选地,其中,所述背景标准化处理包括:
[0098] 色度聚类;
[0099] 稀少像素颗粒群体筛滤;
[0100] 基于筛滤后的像素颗粒群体确定背景与字符的色度分类。
[0101] 其中,由于OCR图像中会包含背景色、字体色,以及其他的干扰线/粒子色,可以采用相应的聚类方法将以上色度按照类别将同色度类别的像素颗粒进行分类。
[0102] 像素颗粒的分类在最理想的情况下为两类,即只分为背景和字符两种像素类别。在实际大多数情况下,经过色度聚类后的初步分类结果基本为多于两类,其中,像素数量最多的两类应对应着背景像素颗粒群体及字符像素颗粒群体,其它剩下的类别数量较少,属于稀少像素颗粒群体,多为干扰粒子和/或干扰线。
[0103] 这种情况下,制定一个稀少像素颗粒群体的筛滤机制尤为关键。筛滤机制通常基于像素群体数量的某个临界值。如果某类像素量偏少,就会触发筛滤机制被作为干扰粒子和/或干扰线筛滤。
[0104] 通过筛滤机制对像素颗粒群体筛滤后,可以确定背景与字符的色度分类。
[0105] 可选地,其中,所述基于筛滤后的像素颗粒群体确定背景与字符的色度分类包括:
[0106] 基于筛滤后的像素颗粒群体生成混合高斯分布;
[0107] 确定所述混合高斯分布的峰间期望序列;
[0108] 根据所述峰间期望序列确定所述像素颗粒群体的色度分布的期望间距;
[0109] 根据所述期望间距确定背景与字符的色度分类。
[0110] 其中,在完成像素颗粒群体的筛滤之后,仍然有可能存在像素量较多的干扰粒子群体。这种情况的干扰粒子群一般都呈规律状分布于整个参数字符内部,且一般与背景色度值较近。
[0111] 对于这种情况,首先基于筛滤后的像素颗粒群体,生成所有色度值的高斯混合分布,在运用分类的类别数量的考量机制,比如,引用聚类轮廓系数,来评估不同类数的聚类效果。通常基于筛滤后的像素颗粒群体生成的混合高斯是由多个无偏峰的高斯分布构成。
[0112] 接着采用峰间期望对混合高斯分布求取期望序列。对期望序列的求取可以初步锁定不同色度类别的分布基准,为后续对背景及字符的色度分离,以及异常色度像素颗粒群体的筛滤都有着至关重要的作用。采用期望序列的峰间期望间距来定义背景与字符色度的差异标准,可定义合适的峰间期望间距临界值。因为在确定背景及字符色度分类的过程中,异常色度像素颗粒群体会大概率生成相似度极高(对应着峰间距极近的状况)的二峰混合分布,因此还可以利用定义的峰间期望间距临界值来筛滤掉异常色度像素颗粒群体。
[0113] 最后,参考上述的峰间期望间距临界值,根据所求取的期望序列的峰间期望间距,将背景与字符的色度分离,确定背景与字符的分类。
[0114] 经过对OCR图像进行一系列的预处理,可以得到基本消除所有噪音数据、背景及字符的色度也已经极大程度的锐化的OCR图像,包含白色度黑体字参数信息。
[0115] 上述的尺寸缩放处理及背景标准化处理还可以针对裁剪后的参数图片进行,即设备1对获取的OCR图像进行预处理,包括灰化、锐化处理后再进行背景标准化处理,然后对预处理后的OCR图像进行裁剪,以获得一个或若干个参数图片,再针对参数图片进行尺寸缩放处理及背景标准化处理,得到像素分辨率及符合OCR识别模型对训练数据的尺寸要求、白色度黑字体的参数图片。将此参数图片作为候选标注实体,进行标注,以生成OCR识别模型的训练数据,训练效率将会得到提升。
[0116] 继续在该实施例中,在所述步骤S13中,所述设备1识别每个参数图片中参数的名称及参数值的每个字符。
[0117] 继续在该实施例中,在所述步骤S14中,所述设备1基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片及所述参数图片对应的拼接图片的标注。
[0118] 可选地,其中,所述预设字符数据库及预设标注数据库的构建包括:
[0119] 获取若干经过预处理的OCR图像,其中,所述若干经过预处理的OCR图像包含用于表达所述参数的名称及参数值的全部字符;
[0120] 遍历每个OCR图像,裁剪并提取出所有不重复的字符,并获取所述所有不重复的字符的每个字符对应的字符图片及所述字符图片对应的标注;
[0121] 将所有字符图片集合,以构建成所述预设字符数据库,并将所有字符图片对应的标注集合成所述预设字符数据库对应的预设标注数据库。
[0122] 其中,针对工业控制领域采用的机器字体的字符,可以预先创建包含所有可能字符的预设字符数据库及与该预设字符数据库对应的预设标注数据库,其中,该预设标注数据库中的每个标注对应为该预设字符数据库的每个字符。
[0123] 预设字符数据库的构建过程包括:首先获取足够数量的OCR图像,以确保这些OCR图像包含用于表达参数的名称及参数值的全部字符,比如,字母字符Aa~Zz,数字字符0~9,特殊字符(小数点、拉丁字母、标点等),将所有OCR图像进行灰化、锐化和/或尺寸缩放处理,并进行背景标准化处理。接着遍历每个预处理后的OCR图像,将每个OCR图像中的单个字符裁剪成字符图片,提取出所有不重复的字符,将所有不重复的字符图片集合,以构建成该预设字符数据库。
[0124] 预设标注数据库的构建过程包括:首先对获取的所有不重复的字符对应的字符图片进行标注,例如,字符A对应的字符图片标注为A,数字0对应的字符图片标注为0,特殊字符.对应的字符图片标注为小数点。然后将所有字符图片对应的标注集合,以构建成该预设标注数据库。
[0125] 可选地,所述步骤S14包括:
[0126] 基于预设字符数据库,从所述字符数据库中选择与所述参数图片中每个字符匹配的字符图片;
[0127] 将选择出的每个字符图片按顺序拼接成所述参数图片的拼接图片;
[0128] 基于所述预设标注数据库,参照字符图片的拼接顺序从所述预设标注数据库中选择出每个字符图片对应的标注;
[0129] 将选择出的每个字符图片对应的标注顺序组合成所述参数图片对应的拼接图片的标注。
[0130] 例如,若对设备1获取的OCR图像经过预处理并裁剪后得到3个参数图片,参数图片1包括的字符及其顺序为C37K8V5V;参数图片2包括的字符及其顺序为R15226;参数图片3包括的字符及其顺序为C53CK136。
[0131] 则在步骤S14中,基于预设字符数据库,从该字符数据库中选择与参数图片1中每个字符匹配的字符图片,分别是字符图片C、3、7、K、8、V、5、V,然后将选择出的这些字符图片按顺序拼接成参数图片1对应的拼接图片如下:
[0132] C37K8V5V
[0133] 基于预设标注数据库,参照字符图片的拼接顺序从该预设标注数据库中选择出每个字符图片对应的标注,分别是C、3、7、K、8、V、5、V,然后将选择出的每个字符图片对应的标注顺序组合成参数图片1对应的拼接图片的标注C37K8V5V。
[0134] 同样地,可以得到参数图片2的拼接图片如下,得到参数图片2对应的拼接图片的标注R15226。
[0135] R15226
[0136] 可以得到参数图片3的拼接图片如下,得到参数图片3对应的拼接图片的标注C53CK136。
[0137] C53CK136
[0138] 可选地,其中,所述将选择出的每个字符图片按顺序拼接成所述参数图片的拼接图片还包括:
[0139] 在将选择出的每个字符图片按顺序拼接过程中,在字符图片之间加入第一随机背景间隔。
[0140] 例如,在将选择出的每个字符图片按顺序拼接过程中,在每个字符图片之间加入1~4个像素单位的随机背景作为之间的间隔。以便于用于OCR图像识别模型的学习,可以学习提取到有效信息,提高学习效率。
[0141] 继续在该实施例中,在所述步骤S15中,所述设备1遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注。
[0142] 例如对于上述举例中,在步骤S15中,设备1将3个参数图片顺序拼接,可得到该OCR图像对应的拼接图片如下,
[0143] C37K8V5V R15226 C53CK136
[0144] 并将获得的每个参数图片对应的拼接图片的标注顺序组合,确定所述OCR图像对应的拼接图片的标注是C37K8V5VR15226C53CK136。
[0145] 可选地,其中,所述步骤S15还包括:
[0146] 在将每个参数图片对应的拼接图片顺序拼接过程中,在拼接图片之间加入第二随机背景间隔。
[0147] 例如,在将每个参数图片对应的拼接图片顺序拼接过程中,在每个拼接图片之间加入10~15个像素单位的随机背景作为每个参数图片对应的拼接图片之间的间隔。以便于用于OCR图像识别模型的学习,可以学习提取到更多有效信息,提高学习效率。
[0148] 继续在该实施例中,在所述步骤S16中,所述设备1将得到的所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。
[0149] 与直接对参数图片进行标注的方法相比较,本申请记载的方法不需要针对每个参数图片做标注,只需要预先获取所有字符图片,构建字符数据库,以及针对所有字符图片做标注,构建标注数据库;而且还可以生成变化多样的不同的拼接图片,避免大量重复参数图片带来的重复数据;最后,在生成大量用于OCR图像识别模型的训练数据的同时,还可以生成具有代表意义的验证数据。
[0150] 采用本申请的方法,经过多次实验,对比多种参数及多次调优结果表明:本申请记载的用于OCR图像识别模型训练数据生成的方法,非常有效的防止了个别参数或个别字符的过拟合,可以最大范围的保证OCR图像识别模型全部参数的精确度,在实验的机器上,达到了对各个参数90%识别精确度的预期目标。
[0151] 采用本申请记载的方法也可以生成针对各种不同类型参数(例如:小数点后包含三位的小数类型)的OCR图像识别模型的验证数据,最大可能的还原原始参数形态。
[0152] 可选地,其中,所述一种用于OCR图像识别模型训练数据生成的方法还包括:
[0153] 将所述训练数据补充到所述OCR图像识别模型的训练数据集和/或验证数据集;
[0154] 将所述训练数据集和/或验证数据集输入所述OCR图像识别模型,对所述OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。
[0155] 其中,设备1还可以将OCR图像对应的拼接图片及其标注作为OCR图像识别模型的一个样本数据补充到该OCR图像识别模型的训练数据集和/或验证数据集,以更新该OCR图像识别模型的训练数据集和/或验证数据集。然后,将更新后的训练数据集和/或验证数据集输入该OCR图像识别模型,对该OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。
[0156] 其中,该OCR图像识别模型可以是基于4.0版本或该版本之后的Tesseract‑LSTM模型构建的。
[0157] 与传统的Tesseract模型相比较,本申请采用的OCR图像识别模型通过卷积层提取图片信息,通过循环网络序列性预测参数的字符。因为本身具有循环神经的网络特征,OCR图像识别模型在训练学习的过程中具有数据序列特征而不是单个数据点的反馈连接,这种特性允许将单个字符串成单词/序列,允许对字母和字符序列进行分组和分离,然后将其提取。
[0158] 另外,最重要的是,与传统的Tesseract模型相比较,本申请采用的OCR图像识别模型由于其序列的特征直接减免了标注过程中对每一个字符框坐标的标注,因此无需对OCR图像裁剪后的参数图片进行手动标注工作,这大大减少了工作量。而且因手动标注还会会直接导致训练得到的OCR图像识别模型无法扩展应用于更多的应用场景。
[0159] 由于本申请采用的OCR图像识别模型也可以更好地处理大量的训练数据,因此采用本申请的方法,可以生成大量多样性特征的训练数据来训练OCR图像识别模型,以提高该OCR图像识别模型的整体识别精确度。
[0160] OCR图像识别模型的训练过程通常包括整理训练数据、调整训练参数、采用训练数据训练模型、验证训练好的模型等。
[0161] 例如,参照本申请的训练数据生成的方法,首先针对每个类型的参数各生成1000张参数图片对应的拼接图片及其标注,构建数据样本;然后可以补充一定数量的采用直接对具有丰富多样性的参数图片标注得到的数据样本,根据参数类型分组分层,按比例(比如7:3或者8:2)将所有数据样本分成训练数据集和测试数据集;接着调整OCR图像识别模型参数初值,例如iteration number(迭代次数),learning rate(学习率)等等,进行模型训练,在确保模型收敛情况下完成OCR图像识别模型的训练学习。
[0162] 当OCR图像识别模型训练完成之后,进入到模型参数的精确度验证步骤。采用上述验证数据集进行验证,也可以分别采用由具有丰富多样性的样本数据构成的验证数据集和由本申请的方法生成的样本数据构成的验证数据集。
[0163] 在OCR图像识别模型精确度验证的过程中,可以根据验证得到的识别精确度的高低来确定每个参数分组的超参数选择,比如‑‑psm超参数(基于该超参数的不同取值,OCR图像识别模型采用不同方式处理输入数据),可以选择psm=6,8,13三种超参,然后确定精确度最高的超参数并保存。
[0164] 可选地,其中,所述一种用于OCR图像识别模型训练数据生成的方法还包括:
[0165] 获取待识别OCR图像,并对所述待识别OCR图像进行预处理,其中,所述预处理包括对所述待识别OCR图像进行灰化、锐化和/或尺寸缩放处理,和/或背景标准化处理;
[0166] 将预处理后的待识别OCR图像输入所述完成训练和/或验证的OCR图像识别模型,以识别所述待识别OCR图像。
[0167] 其中,OCR图像识别模型完成训练集验证后,可用来识别获取的待识别OCR图像。
[0168] 例如,设备1获取待识别图像,为了能更好地准确识别该OCR图像,先将获取的OCR图像进行预处理,包括对所述待识别OCR图像进行灰化、锐化和/或尺寸缩放处理,和/或背景标准化处理,以去掉OCR图像中的杂色、干扰线/粒子,统一背景,获得更清晰的OCR图像;然后将预处理后的OCR图像输入已完成训练和/或验证的OCR图像识别模型,以识别所述OCR图像中的参数信息。
[0169] 可选地,其中,所述一种用于OCR图像识别模型训练数据生成的方法还包括:
[0170] 将识别出的所述待识别OCR图像的参数保存,以用于批量识别与所述待识别OCR图像同类型的OCR图像。
[0171] 其中,对于工业控制领域的设备,其数控面板中的各类参数的字体都采用的是机器字体,类型大部分相同,特别是同一类设备,比如delem数控机床,参数类型相同。因此,在识别出某个OCR图像的参数信息后,可以将相关参数信息,比如参数名称等基本不变的信息保存,以用于批量识别与所述待识别OCR图像同类型的OCR图像。比如,在用该OCR图像识别模型去识别与已保存参数对应的已识别OCR图像的类型相同的若干个待识别OCR图像,无需再通过OCR图像识别模型识别出参数,只需要导入参数文件后通过OCR图像识别模型识别出每个待识别OCR图像相应参数的参数值。对于批量OCR图像的识别,可以大大减少识别时间,提高批量识别效率。
[0172] 图2示出根据本申请另一个方面的一种用于OCR图像识别模型训练数据生成的设备示意图,其中,所述设备包括:
[0173] 第一装置21,用于获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;
[0174] 第二装置22,用于基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值;
[0175] 第三装置23,用于识别每个参数图片中参数的名称及参数值的每个字符;
[0176] 第四装置24,用于基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将与每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片的拼接图片及所述参数图片对应的拼接图片的标注;
[0177] 第五装置25,用于遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定与所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;
[0178] 第六装置26,用于将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。
[0179] 在该实施例中,所述设备与设备1相同。
[0180] 其中,设备1的第一装置21获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值,接着设备1的第二装置22基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值,然后设备1的第三装置23识别每个参数图片中参数的名称及参数值的每个字符,再接着设备1的第四装置24基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将与每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片的拼接图片及所述参数图片对应的拼接图片的标注,再然后设备1的第五装置25遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定与所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注,最后设备1的第六装置26将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。
[0181] 可选地,所述设备还包括:
[0182] 第七装置27(未示出),用于在所述第二装置22之前,对所述OCR图像进行预处理。
[0183] 为了避免OCR图像中存在杂色、干扰线/粒子影响到OCR图像识别模型的训练数据的质量,在设备1的第二装置22之前,还包括第七装置27,在对获取到的OCR图像进行裁剪之前,对获取到的OCR图像进行预处理,以去掉OCR图像中的杂色、干扰线/粒子,统一背景、字体颜色等,获得质量较好的OCR图像,以用于后续处理。
[0184] 可选地,所述设备还包括:
[0185] 第八装置(未示出),用于构建所述预设字符数据库及所述预设标注数据库。
[0186] 针对工业控制领域采用的机器字体的字符,在获取OCR图像之前,设备1的第八装置28可以预先创建包含所有可能字符的预设字符数据库及与该预设字符数据库对应的预设标注数据库,其中,该预设标注数据库中的每个标注对应为该预设字符数据库的每个字符。
[0187] 可选地,所述设备还包括:
[0188] 第九装置29(未示出),用于将所述训练数据补充到所述OCR图像识别模型的训练数据集和/或验证数据集;
[0189] 第十装置210(未示出),用于将所述训练数据集和/或验证数据集输入所述OCR图像识别模型,对所述OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。
[0190] 其中,设备1的第九装置29还可以将OCR图像对应的拼接图片及其标注作为OCR图像识别模型的一个样本数据补充到该OCR图像识别模型的训练数据集和/或验证数据集,以更新该OCR图像识别模型的训练数据集和/或验证数据集。设备1的第十装置210将更新后的训练数据集和/或验证数据集输入该OCR图像识别模型,对该OCR图像识别模型进行训练和/或验证,以获得完成训练和/或验证的OCR图像识别模型。
[0191] 根据本申请的又一方面,还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述方法。
[0192] 根据本申请的又一方面,还提供了一种的设备,其中,该设备包括:
[0193] 一个或多个处理器;以及
[0194] 存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述方法的操作。
[0195] 例如,计算机可读指令在被执行时使所述一个或多个处理器:首先获取OCR图像,其中,所述OCR图像包含一个或者多个参数的名称及参数值;接着基于所述参数,将所述OCR图像裁剪为若干个参数图片,其中,每个参数图片包含一个参数的名称及参数值;然后识别每个参数图片中参数的名称及参数值的每个字符;再接着基于预设字符数据库及与所述预设字符数据库对应的预设标注数据库,将每个字符对应的字符图片顺序拼接,并将每个字符对应的字符图片的标注顺序组合,以获得所述参数图片对应的拼接图片及所述参数图片对应的拼接图片的标注;再然后遍历每个参数图片,将获得的每个参数图片对应的拼接图片顺序拼接,以确定所述OCR图像对应的拼接图片,并将获得的每个参数图片对应的拼接图片的标注顺序组合,以确定所述OCR图像对应的拼接图片的标注;最后将所述OCR图像对应的拼接图片及其标注确定为所述OCR图像识别模型的训练数据。
[0196] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件和/或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。