掌桥专利:专业的专利平台
掌桥专利
首页

一种颜色特征敏感的智能文字合成方法

文献发布时间:2023-06-19 09:30:39



技术领域

本项发明属于人工智能中的深度学习领域。对于深度学习中的模型数据渴求问题,合成数据可以有效弥补训练数据短缺的缺陷,并节省时间、人力和金钱。在文本检测与识别任务中,当下流行采用“合成数据训练模型,真实数据验证模型”的策略。因此,合成数据的质量直接影响检测器或识别器的表现情况。基于此,提出了一种新颖的文本合成技术,根据背景图像的颜色分布规律,找出最适合当前文本的颜色,从而避免因文本与背景颜色相近影响实验结果的问题。该发明可以应用在文字检测与识别任务中,并且能够提高检测器与识别器的表现情况。

背景技术

随着深度学习的快速发展,模型对于数据的渴求愈发增大,合成数据的出现解决了这一传统难题,但是如何提高合成数据的质量来支持模型去做更为高效的研究,仍然是一个亟待解决的问题。

在文字检测与识别任务中,可以分为两个独立的研究内容即检测与识别。

首先,在文字识别任务中,相关的合成技术主要是通过字体渲染、阴影渲染、基础着色、透视变换、添加噪声等步骤来进行文本的合成。通过这一系列的操作后可以得到对应的一张文本实例图,且相关的实验证明,该方法可以高效的应用于模型的训练任务。

其次,在文字检测任务中,由于上述提到的合成方法生成的仅仅是包含一个文本的实例图,故而不适用于检测内容。针对于复杂且困难的文字检测问题,一些研究者提出了一种以文本位置为创新的生成方法,将文本限制在图像的同一深度中,具体来说,根据语义信息和深度的筛选结果来选出当前最适合文本放置的位置。还有一些研究者提出了一种基于语义一致的方法,该方法认为在合成图片的过程中,应该滤除一些不和谐的文字生成区域,例如人脸。在此基础上,最终文本的生成还将经过显著性分析和最适文本位置两部分的流程。前者主要是有助于将文本嵌入到语义上合理的区域内的正确位置。后者则是根据嵌入位置周围的背景图像的颜色和亮度,自适应地确定源文本的颜色和亮度,同时还可以根据嵌入位置周围的上下文结构的方向来自适应地确定源文本的方向。另外还有些研究者提出的是基于UE4的三维引擎来构建虚拟世界模仿真实世界的方法,其最大特点就是将文本实例与背景图像一起渲染,以达到将文本与背景差异最小化的目的,通过该方法还可以生成多语言版本。

类似的还有生成对抗网络(GAN),在合成图像上也表现出了巨大的潜力。

由于合成方法在识别任务中已取得优异的成果,因此现有的相关工作都着重关注于如何提高文字检测方面的精确度,然而该类方法却忽略了在合成文本当中关键的一个环节--文本着色。与之不同的是,本文分析了目前现有的文本着色方案的不合理性,同时又考虑了文本可能出现的位置的随机性,在此前提下,提出了一种新型的智能文本生成算法,可以较好地解决上述问题,并提高模型的表现效果。

发明内容

(1)核心思路

基于颜色特征敏感的文字合成技术,首先,用于着色的颜色具有相近颜色不可分的原则,即当选择的两个颜色处于某个范围内时,二者将很难区别。具体来说,以灰度像素为例,一共分为256个灰度值,其中我们通过实验以及相关资料得知,当像素范围值取x时,两两像素之间才可以达到勉强辨识的程度,以具体例子为例:当目标像素取第50号像素时,则在其前后x范围内的像素都具有干扰影响,故而只有当取得的像素小于等于第(50-x-1)号或者大于等于(50+x+1)号像素时,才能得到一个较为清晰可辨的可选颜色像素。对于三基色颜色,其特征与灰度颜色一致,都遵循一样的颜色规律。其次,在现实中,文字出现的位置都具有随机性的特点,当取景的角度不同时,文字可能呈现出一半出现在天空,一半出现在建筑物上的情形。同时现实场景中存在着许多复杂背景下的文字图像,例如宣传图片等。对于这类问题,现有的方法因为所采用的不合理颜色方案而无法适用。与之相反,我们方法的优势在于基于颜色特征,因此可以有效解决此类问题。总而言之,所提出的方法可以解决当下被大多数技术所忽略的问题,从而提高模型的性能。

(2)算法描述

整个算法的大致过程如图2所示,先从输入的图片中随机选择一个位置来放

置文本;之后通过膨胀的操作(文字向外扩展两圈)来获取其文字周边的背景像素;随后统计当前合成任务中文字的个数以及刚获取的背景像素的数量;紧接着,进入该方法中关键的两个步骤,通过设置的两个阈值T1和T2进行筛选;最后,从留存下来的像素集中随机选择一个像素进行文本的着色。

下面是每一步的较为详细的叙述:

首先,算法的输入是从输入的图片里随机挑选一个位置放置文本,然后获取当前图像中文字膨胀两圈(2像素)后的像素(简称影响因子),随后进行一些统计操作,包括统计合成图像中文字的个数,所提取像素的个数等。

其次,整个合成方法中最关键的部分便是算法的两个阈值,在第一个阈值(T1)的选取过程中,这里采用的是“(0.1/word_count)*length_dic”(这里word_count和length_dic分别代表文字的个数和像素的个数),具体地说,0.1代表了1/10个像素,这里参考英文字母中“i”上方的点,点为最小单位的像素且大致占整体1/10,故而这里的系数采用0.1,随后将0.1与总体字数相除,便可以得到所有字体像素中最小单位的像素值,最后再与像素总数相乘便可以得到某个具体的阈值(T1)。

再获取第一个阈值(T1)之后,我们以第一个像素点为起点,随后开始以”8”方向进行广度优先遍历以筛选可用像素。遍历的具体规则如下:首先记录起点像素值(不变),随后按8方向进行遍历(左上,上,右上,右,右下,下,左下,左),这里8方向的广度优先遍历的可视化图片见图4。如果满足所遍历到的像素值与起点像素值的差值小于等于n,则将其加入候选颜色列表中,否则便删除。以此类推,直至遍历完所有像素结束。

图3以流程图的形式展示了第一个阈值处理的过程。

通过上面这一步骤,获取得到候选颜色列表后,将会面临算法中的第二次筛选。这里筛选中所采用的阈值参考颜色敏感的特征点,即采用x作为第二次的阈值T2(相关的内容已在“核心思路”中阐述),具体的筛选过程:对所有未被选为候选颜色列表的背景像素进行x范围内的筛选,在这个范围内且存在于候选颜色列表的像素将会被删除,最后还存在于这个列表中的像素则升级为可用像素。算法最后会随机从可用像素中选择其中一个像素进行文本着色。

这里需要注意的是,如果经过x范围内的筛选后无可用像素,则算法将自动回归第一步,即重新选择一个文本位置,随后进行一样的操作。直至20轮迭代后,若仍旧没有可用像素,则放弃此次合成。

第二个阈值T2筛选的过程可详见图5。

最后,经过两个阈值T1和T2筛选后,可以得到一个最终的可用像素集,之后从像素集中随机选取一个像素作为文本渲染的颜色像素。

附图说明

图1以图示的方式展现了该文字合成方法详细的每一步骤。

图2以流程图的形式表示该合成方法概括后的合成步骤。

图3以流程图的形式表示第一个阈值T1工作的原理。

图4为第一个阈值T1处理过程中,采用的8方向广度优先遍历方法的可视化图像。

图5以流程图的形式表示第二个阈值T2工作的原理。

图6为该方法生成的一些样本,可以看到文字与背景,文字与文字间清晰可见,没有颜色混淆问题。

输入:字典索引(index_dic,用于提取文本周围所有的像素),文字总字数(word_count,统计合成图像中文字的个数),像素个数(length_dic,提取所有影响像素的个数),过滤阈值(group_thresh,其中0.1作为单个文字的1/10像素,之后与总字数相除,最后与提取的总像素个数相乘得到最终阈值)

输出:可用颜色列表

相关技术
  • 一种颜色特征敏感的智能文字合成方法
  • 一种自然场景图像敏感文字的检测识别方法
技术分类

06120112190589