一种图片合成方法及装置、文字识别系统
文献发布时间:2023-06-19 10:11:51
技术领域
本发明涉及文字识别领域,尤其涉及一种图片合成方法及装置、文字识别系统。
背景技术
OCR文字识别中由于中文汉字字符的庞大性,所以一般需要数以千万的图片才能训练一个文字识别系统,训练图片的数据量成为了文字识别的一个需要迫切解决的问题。如果采用人工标注数以千万的文字图片,则会耗费大量的人力财力,在OCR文字识别业务场景中会出现训练图片不足,训练图片缺乏多样性的问题。
发明内容
为解决上述问题,本发明实施例公开了一种图片合成方法及装置、文字识别系统,自动生成用于OCR文字识别的多样化图片。
一方面,本发明提供了一种图片合成方法,该方法包括:获取原始语料信息,对原始语料信息筛选得到用于图片合成的目标语料信息;将目标语料信息切分,得到多个字符集合,在多个字符集合中选择一个目标字符集合;获取字体文件,在字体文件中选择一种字体作为目标字符集合的字体;获取背景图片,在背景图片中选择一张背景图片作为目标字符集合的背景图片;计算背景图片的聚类中心和目标字符集合的字体颜色的色号的距离之和;将距离之和大于设定距离阈值颜色作为目标字符集合的颜色;将目标字符集合与背景图片合成,得到合成图片。
上述技术方案具有如下有益效果:通过对目标语料信息进行切分,可以得到语义信息丰富的多个目标字符集合,从这些目标字符集合中随机挑选与背景图片合成的任一目标字符集合,实现合成图片的语义多样性;通过对目标字符集合的字体进行随机选择,实现合成图片字体的多样性;通过计算背景图片的聚类中心与目标字符集合的字体颜色的色号之和,在距离之和大于设定距离阈值颜色中任选一个作为目标字符集合的颜色,大于距离阈值的颜色有多种,背景图片的颜色也有多种,目标字符集合与背景图片合成后能够得到多种文字颜色的合成图片,提高了合成图片色彩的复杂性和丰富性。
可选的,筛选原始语料信息得到用于图片合成的目标语料信息,包括:读取字典文件,字典文件收录有全部需要识别的单字符;读取语料文件,语料文件收录有原始语料信息;计算语料文件中的每一个单字符是否出现在字典文件中,若存在,保存单字符;若不存在,删除单字符。
可选的,获取背景图片,在背景图片中选择一张背景图片作为目标字符集合的背景图片之后,该方法还包括;计算背景图片的标准差;判断标准差是否小于设定标准差阈值,得到第一判断结果;若第一判断结果为是,则背景图片作为目标字符集合的背景图片。
可选的,根据目标字符集合的字体大小裁剪背景图片,以使背景图片与目标字符集合大小相同。
可选的,将目标字符与背景图片合成,得到合成图片之后,该方法还包括:对合成图片模糊处理、和/或噪声处理。
另一方面,本发明提供了一种图片合成装置,包括:筛选单元,用于获取原始语料信息,对原始语料信息筛选得到用于图片合成的目标语料信息;字符选择单元,用于将目标语料信息切分,得到多个字符集合,在多个字符集合中选择一个目标字符集合;字体选择单元,用于获取字体文件,在字体文件中选择一种字体作为目标字符集合的字体;背景图片选择单元,用于获取背景图片,在背景图片中选择一张背景图片作为目标字符集合的背景图片,根据目标字符集合的字体大小裁剪背景图片,以使背景图片与目标字符集合大小相同;计算单元,用于计算背景图片的聚类中心和目标字符集合的字体颜色的色号的距离之和;颜色选择单元,选择距离之和大于设定距离阈值颜色作为目标字符的颜色;合成单元,用于将目标字符与背景图片合成,得到合成图片;数据增强单元,对合成图片模糊处理、和/或噪声处理。
该装置除上述有益效果之外,还通过对背景图片进行裁剪,使背景图片的大小与目标字符集合大小适配,合成后的合成图片与真实情况下的图片相近,提升文字识别系统的识模拟环境真实性;为合成图片进行数据增强,使模拟场景更接近真实场景,提升文字识别系统的模拟环境真实性。
可选的,筛选单元包括:字典读取模块,用于读取字典文件,字典文件收录有全部需要识别的单字符;语料读取模块,用于读取语料文件,语料文件收录有原始语料信息;单字符判断模块,计算语料文件中的每一个单字符是否出现在字典文件中,若存在,保存单字符;若不存在,删除单字符。
可选的,该装置还包括;标准差计算单元,计算背景图片的标准差;背景图片判断单元,判断标准差是否小于设定标准差阈值,得到第一判断结果;若第一判断结果为是,则背景图片作为目标字符集合的背景图片。
另一方面,本发明还提供一种文字识别系统,包括利用上述图片合成方法合成的图片的训练样本集。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的图片合成方法流程图;
图2是本发明实施例提供的合成图片示意图;
图3是本发明实施例提供的竖排文字合成图片示意图;
图4是本发明实施例提供的筛选目标语料信息的方法流程图;
图5是本发明实施例提供的经模糊处理、和/或噪声处理后的合成图片示意图;
图6是本发明实施例提供的图片合成装置的结构框图。
附图标记:201-筛选单元 202-字符选择单元 203-字体选择单元 204-背景图片选择单元 205-计算单元 206-颜色选择单元 207-合成单元 208-数据增强单元
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,训练一个文字识别系统需要大数据量的训练图片,这要求训练图片具有多样性以模拟各个场景下文字识别系统对文字的识别的真实性。
图1是本发明实施例提供的一种图片合成方法流程图,如图1所示,该方法包括:
步骤101、获取原始语料信息,对原始语料信息筛选得到用于图片合成的目标语料信息。
在训练OCR文字识别模型时候,通常会需要语义信息,语义信息是信息的表现形式之一,指能够消除事物不确定性的有一定意义的信息。如命题或描述语句,科学理论等提供的信息。原始语料信息为内容包含语义信息的文章、小说等。最终的合成图片需要带有语义信息的文字,这样就涉及到对原始语料信息进行过滤筛选。筛选得到的目标语料信息为在不同识别场景下所要求出现的语料信息。
步骤102、将目标语料信息切分,得到多个字符集合,在多个字符集合中选择一个目标字符集合。
将目标语料信息进行随机切分,得到包含字符数量不同的多个字符集合。日常情况下人类一句话使用的文字大多在1-25个字符的范围内,优选的,字符集合包含的字符数量为1-25个。
步骤103、获取字体文件,在字体文件中选择一种字体作为目标字符集合的字体。
如图2所示,一张合成图片需要指定一种字体的文字与背景图片进行合成,其中字体文件包含很多种,例如楷体、宋体、方正华康、简体繁体等,不同的字体文件通常支持的字符不一样,例如简体文件一般只支持简体文字的合成,繁体文件只支持繁体文字的合成。
作为一种可能的实施方式,在为目标字符集合选择字体后,需要计算目标字符集合中的单字符是否全部在字体中,若是,选用当前字体作为目标字符集合的字体;若不是,重新选择字体。采用该方法计算当前选择的目标字符集合是否被当前字体所支持,避免了在合成图片上出现乱码格式。
步骤104、获取背景图片,在背景图片中选择一张背景图片作为目标字符集合的背景图片。
如图2所示,一张合成图片需要指定一种背景图片,背景图片用于模拟实际场景中具有背景的文字的识别。为了更真实的模拟实际场景,背景图片的颜色可以是纯色,也可以有多种颜色。
步骤105、计算背景图片的聚类中心和目标字符集合的字体颜色的色号的距离之和。
步骤106、将距离之和大于设定距离阈值颜色作为目标字符集合的颜色。
如图2所示,一张合成图片需要对目标字符集合选择一种合适的字体颜色,将具有该字体颜色的目标字符集合与背景图片组合得到最后的合成图。
具体为,在Lab空间下对背景图片进行resize操作,统一缩放成100x20像素大小,因此共有2000个像素点,作为需要聚类的样本集,在本实施例中采用Kmeans聚类。
初始化聚类中心k,输入样本集D={x
从样本集D中随机选择k个样本作为初始的k个质心向量:u
将簇C初始化为
对于i=1,2,…,m,计算每个像素点x
对于j=1,2,…,k,对C
如果对于所有的k个质心向量都没有变换,则输出聚类后的向量C={C
计算该背景图片Lab空间下得到的聚类中心和色库中每一种色号的距离之和,对结果进行降序排列,取排名前200中色号的一种作为当前目标字符集合的字体颜色。
步骤107、将目标字符集合与背景图片合成,得到合成图片。
作为一种可能的实现方式,合成图片可为横排文字,如图3所示,合成图片也可以为竖排文字。
作为一种可能的实现方式,如图4所示,筛选原始语料信息得到用于图片合成的目标语料信息,包括:
步骤1011、读取字典文件,字典文件收录有全部需要识别的单字符;
步骤1012、读取语料文件,语料文件收录有原始语料信息;
步骤1013、计算语料文件中的每一个单字符是否出现在字典文件中,若存在,保存单字符;若不存在,删除单字符。
字典文件中出现的单字符均是可以在合成图片上出现的单字符,在实际文字识别场景中,需要的文字种类有所不同,所以需要对该场景需要识别的单字符整理收录到一个字典文件中。
语料文件中包含一些带有语义信息的原始语料信息,可以是新闻、小说以及热门的网络用语,原始语料信息一定要丰富,足够多,才能尽量挖掘字符之间的语义信息。
作为一种可能的实现方式,原始语料信息也可以根据当前识别任务准备。
作为一种可能的实现方式,获取背景图片,在背景图片中选择一张背景图片作为目标字符集合的背景图片之后,该方法还包括;计算背景图片的标准差;判断标准差是否小于设定标准差阈值,得到第一判断结果;若第一判断结果为是,则背景图片作为目标字符集合的背景图片。
在计算图片的标准差之前,作为一种可能的实现方式,根据目标字符集合的字体大小裁剪背景图片,以使背景图片与目标字符集合大小相同。由于在实际的文字识别应用场景中,需要识别的图片是从整个文章中进行截取的,其文字与背景图片的相对比例需要在合成图片中进行模拟。
计算背景图片的标准差步骤为,计算将裁剪出的背景图片从RGB空间转成Lab空间。计算Lab空间下的颜色标准差,如果标准差大于设定标准差阈值,则说明该背景图片中颜色分布过于离散,需要重新选择背景图片并裁剪。
其中RGB空间转成Lab空间步骤具体为:
1)RGB转XYZ
假设r,g,b为图片的三个颜色通道,取值范围均为[0,255],则转换公式(1),(2)所示:
即:
2)XYZ转LAB
a
b
其中L
作为一种可能的实现方式,如图5所示,将目标字符与背景图片合成,得到合成图片之后,该方法还包括:对合成图片模糊处理、和/或噪声处理。
作为一种可能的实施方式,可以对合成图片进行以下处理:
高斯模糊:对合成图片按照一定的百分比使用高斯模糊,模拟真实图片出现的模糊图像。
左右运动模糊:对合成图片应用左右运动模糊算法,模拟拍照得到图片的左右移动的模糊。
上下运动模糊:对合成图片应用左右运动模糊算法,模拟拍照得到图片的上下移动的模糊。
高斯白噪声:对合成图片加入高斯白噪声,来增加图片的噪点,增加图片的多样性。
模糊图像:对合成图片应用模糊图像算法,模拟小图放大的效果。
需要声明的是,对合成图片进行的模糊处理,以及噪声处理的具体方式并不仅限于上述方式,凡是为模拟真实图片对合成图片进行处理的方式均在本发明的保护范围之内。
本发明实施例提供了一种图片合成装置,如图6所示,包括:
筛选单元201,用于获取原始语料信息,对原始语料信息筛选得到用于图片合成的目标语料信息。
在训练OCR文字识别模型时候,通常会需要语义信息,语义信息是信息的表现形式之一,指能够消除事物不确定性的有一定意义的信息。如命题或描述语句,科学理论等提供的信息。语料信息为内容包含语义信息的文章、小说等。最终的合成图片需要带有语义信息的文字,这样就涉及到对原始语料信息进行过滤筛选。筛选得到的目标语料信息为在不同识别场景下所要求出现的语料信息。
字符选择单元202,用于将目标语料信息切分,得到多个字符集合,在多个字符集合中选择一个目标字符集合。
将目标语料信息进行随机切分,得到包含字符数量不同的多个字符集合。日常情况下人类一句话使用的文字大多在1-25个字符的范围内,因此优选的,这些字符集合包含的字符数量为1-25个。
字体选择单元203,用于获取字体文件,在字体文件中选择一种字体作为目标字符集合的字体。
如图2所示,一张合成图片需要指定一种字体的文字与背景图片进行合成,其中字体文件包含很多种,例如楷体、宋体、方正华康、简体、繁体等,不同的字体文件通常支持的字符不一样,例如简体文件一般只支持简体文字的合成,繁体文件只支持繁体文字的合成。
作为一种可能的实施方式,在为目标字符集合选择字体后,需要计算目标字符集合中的单字符是否全部在字体中,若是,选用当前字体作为目标字符集合的字体;若不是,重新选择字体。采用该方法计算当前选择的目标字符集合是否被当前字体所支持,避免了在合成图片上出现乱码格式。
背景图片选择单元204,用于获取背景图片,在背景图片中选择一张背景图片作为目标字符集合的背景图片,根据目标字符集合的字体大小裁剪背景图片,以使背景图片与目标字符集合大小相同。
如图2所示,一张合成图片需要指定一种背景图片,背景图片用于模拟实际场景中具有背景的文字的识别。为了更真实的模拟实际场景,背景图片的颜色可以是纯色,也可以有多种颜色。
作为一种可能的实现方式,根据目标字符集合的字体大小裁剪背景图片,以使背景图片与目标字符集合字体大小相同。由于在实际的文字识别应用场景中,需要识别的图片是从整个文章中进行截取的,其文字与背景图片的相对比例需要在合成图片中进行模拟。
计算单元205,用于计算背景图片的聚类中心和目标字符集合的字体颜色的色号的距离之和。
颜色选择单元206,选择距离之和大于设定距离阈值颜色作为目标字符的颜色。
如图2所示,一张合成图片需要对目标字符集合选择一种合适的字体颜色,将具有该字体颜色的目标字符集合与背景图片组合得到最后的合成图。
具体为,在Lab空间下将背景图片进行resize操作,统一缩放成100x20像素大小,因此共有2000个像素点,作为需要聚类的样本集,随后进行Kmeans聚类。
初始化聚类中心k,输入样本集D={x
从样本集D中随机选择k个样本作为初始的k个质心向量:u
将簇C初始化为
对于i=1,2,…,m,计算每个像素点x
对于j=1,2,…,k,对C
如果对于所有的k个质心向量都没有变换,则输出聚类后的向量C={C
计算该背景图片Lab空间下得到的聚类中心和色库中每一种色号的距离之和,对结果进行降序排列,取排名前200中色号的一种作为当前目标字符集合的字体颜色。
合成单元207,用于将目标字符与背景图片合成,得到合成图片。
作为一种可能的实现方式,合成图片可为横排文字,如图3所示,合成图片也可以为竖排文字。
数据增强单元208,对合成图片模糊处理、和/或噪声处理。
作为一种可能的实施方式,如图5所示,可以对合成图片进行以下处理:
高斯模糊:对合成图片按照一定的百分比使用高斯模糊,模拟真实图片出现的模糊图像。
左右运动模糊:对合成图片应用左右运动模糊算法,模拟拍照得到图片的左右移动的模糊。
上下运动模糊:对合成图片应用左右运动模糊算法,模拟拍照得到图片的上下移动的模糊。
高斯白噪声:对合成图片加入高斯白噪声,来增加图片的噪点,增加图片的多样性。
模糊图像:对合成图片应用模糊图像算法,模拟小图放大的效果。
需要声明的是,对合成图片进行的模糊处理,以及噪声处理的具体方式并不仅限于上述方式,凡是为模拟真实图片对合成图片进行处理的方式均在本发明的保护范围之内。
作为一种可能的实现方式,筛选单元包括:字典读取模块,用于读取字典文件,字典文件收录有全部需要识别的单字符;语料读取模块,用于读取语料文件,语料文件收录有原始语料信息;单字符判断模块,计算语料文件中的每一个单字符是否出现在字典文件中,若存在,保存单字符;若不存在,删除单字符。
字典文件中出现的单字符均是可以在合成图片上出现的单字符,在实际文字识别场景中,需要的文字种类有所不同,所以需要对该场景需要识别的单字符整理收录到一个字典文件中。
语料文件中包含一些带有语义信息的原始语料信息,可以是新闻、小说以及热门的网络用语,原始语料信息一定要丰富,足够多,才能尽量挖掘字符之间的语义信息。
作为一种可能的实现方式,原始语料信息也可以根据当前识别任务准备。
作为一种可能的实现方式,该装置还包括;标准差计算单元,计算背景图片的标准差;背景图片判断单元,判断标准差是否小于设定标准差阈值,得到第一判断结果;若第一判断结果为是,则背景图片作为目标字符集合的背景图片。
计算背景图片的标准差步骤为,将裁剪出的背景图片从RGB空间转成Lab空间,计算Lab空间下背景图片的颜色标准差,如果标准差大于设定标准差阈值,则说明该背景图片颜色分布过于离散,需要重新选择背景图片并裁剪。
其中RGB空间转成Lab空间步骤具体为:
1)RGB转XYZ
假设r,g,b为图片的三个颜色通道,取值范围均为[0,255],则转换公式(1),(2)所示:
即:
2)XYZ转LAB
a
b
其中L
本发明实施例还提供一种文字识别系统,包括利用上述图片合成方法合成的图片的训练样本集。
使用上述图片合成方法得到的多个合成图片,作为文字识别系统的训练样本集,该训练样本集用于训练文字识别系统。该训练样本集数据量大,且内容丰富,颜色多样化,可以满足文字识别系统的训练要求。
本发明实施例还提供一种OCR文字识别方法,包括以下步骤:获取待处理的图片;识别图片中的文字;判断文字中是否存在敏感词,若不存在敏感词,则输出文字;若存在敏感词,则剔除敏感词,输出文字。
本发明实施例提供的图片合成方法具有如下有益效果:通过对目标语料信息进行切分,可以得到语义信息丰富的多个目标字符集合,从这些目标字符集合中随机挑选与背景图片合成的任一目标字符集合,实现合成图片的语义多样性;通过对目标字符集合的字体进行随机选择,实现合成图片字体的多样性;通过计算背景图片的聚类中心与目标字符集合的字体颜色的色号之和,在距离之和大于设定距离阈值颜色中任选一个作为目标字符集合的颜色,大于距离阈值的颜色有多种,背景图片的颜色也有多种,目标字符集合与背景图片合成后能够得到多种文字颜色的合成图片,提高了合成图片色彩的复杂性和丰富性;通过对背景图片进行裁剪,使背景图片的大小与目标字符集合大小适配,合成后的合成图片与真实情况下的图片相近,提升文字识别系统的识模拟环境真实性;为合成图片进行数据增强,使模拟场景更接近真实场景,提升文字识别系统的模拟环境真实性。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种图片合成方法及装置、文字识别系统
- 图片文字识别模型训练方法、装置及文字识别系统