一种迁移场景风格的字符图像生成方法转让专利

申请号 : CN202011569475.4

文献号 : CN112598764B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 柯逍刘童安

申请人 : 福州大学

摘要 :

本发明提出一种迁移场景风格的字符图像生成方法,可用于生成含给定场景风格的汉字字符图像,所述方法包括以下步骤:步骤S1:采集场景字符图像,制作原始字符图像,构建训练数据集;步骤S2:构建用于场景字符图像生成的生成对抗网络,并训练网络;步骤S3:使用源场景字符图像、源原始字符图像和目标原始字符图像,生成场景字符图像;本发明可提供一种通过给定含有场景风格和字体风格的场景字符图像,并通过字体文件制作简单的黑底白字的字符图像,生成指定字符含有给定场景风格的场景字符图像。

权利要求 :

1.一种迁移场景风格的字符图像生成方法,用于生成含给定场景风格的汉字字符图像,其特征在于:所述方法包括以下步骤:步骤S1:采集场景字符图像,制作原始字符图像,构建训练数据集;

步骤S2:构建用于场景字符图像生成的生成对抗网络,并训练网络;

步骤S3:使用源场景字符图像、源原始字符图像和目标原始字符图像,生成场景字符图像;

所述步骤S1具体为:

步骤S11:收集并整理场景字符图像nimgs对,仅包含字符的源场景字符图像imgsrc和目标场景字符图像imgtgt,成对的字符图像应具有相似的场景和字体,且对应不同的字符,尺寸为边长为s的正方形,其中s为人工设定的参数,于是第ia对字符图像imgsrc和imgtgt表示为imgsrcia和imgtgtia,则nimgs对场景字符图像表示为imgs={imgsrctgtia|ia=0,1,...nimgs},其中imgsrctgtia表示第ia对场景字符图像imgsrctgtia={imgsrcia,imgtgtia};

步骤S12:选择一种字体作为原始字体,基于该字体生成黑底白字的字体图像,一幅场景字符图像对应一个字符,对应字符生成的字体图像定义为原始字符图像,生成的原始字符图像尺寸为边长为s的正方形,字符位于图像中央,于是对imgsrc制作原始字符图像得到源原始字符图像charsrc,对imgtgt制作原始字符图像得到目标原始字符图像chartgt,第ia个imgsrc制作原始字符图像得到charsrcia,第ia个imgtgt制作原始字符图像得到chartgtia,对ia=0,1,...nimgs执行操作得到nimgs对原始字符图像chars={charsrctgtia|ia=0,1,...nimgs},其中charsrctgtia表示第ia对原始字符图像,charsrctgtia={charsrcia,chartgtia};

步骤S13:组合imgs和chars得到训练数据集

trains={trainia|ia=0,1,...nimgs},其中trainia表示第ia组训练数据,trainia={imgsrcia,imgtgtia,charsrcia,chartgtia};

所述步骤S2具体为:

步骤S21:构建用于场景字符图像生成的生成对抗网络;

步骤S22:使用构建的训练数据集训练构建的生成对抗网络,使用第ia个训练数据训练时,首先使用生成器生成场景字符图像,生成器的输入为imgsrcia、charsrcia、chartgtia,则生成的图像为fakeia;

步骤S23:然后优化判别器,判别器通过三种输入优化,输入为imgsrcia和charsrcia时,判别器的优化目标为真,输入为imgsrcia和chartgtia时,判别器的优化目标为假,输入为fakeia和charsrcia时,判别器的优化目标为假,设判别器的前向过程用函数D表示,则损失Lossd用下式计算:Lossd=MSELoss(D(imgsrcia,charsrcia),1) +MSELoss(D(imgsrcia,chartgtia),0) +MSELoss(D(fakeia,charsrcia),0)其中,MSELoss为均方损失函数;

步骤S24:优化好判别器后优化生成器,生成器的优化目标是让判别器输入为fakeia和charsrcia时判别结果为真,且fakeia与imgtgtia相似,生成器的损失Lossg计算方法如下:Lossg=MSELoss(D(fakeia,charsrcia),1) +L1Loss(fakeia,imgtgtia)其中L1Loss为L1损失函数;

步骤S25:重复步骤S22至S24反复训练判别器和生成器,直到生成器能生成符合期望效果的场景字符图像为止。

2.根据权利要求1所述的一种迁移场景风格的字符图像生成方法,其特征在于:所述用于场景字符图像生成的生成对抗网络,具体如下:网络包含两个部分,一个生成器和一个判别器,生成器用于生成图像,判别器用于判定一张图像是否为满足某一条件的某种图像;

生成器的输入含有三个分支,三个分支分别通过独立的多层卷积网络提取源场景字符图像、源原始字符图像和目标原始字符图像的特征,然后将三个分支提取的特征在通道维度连接,合并的特征再通过多层卷积网络融合特征,紧接着连接一个UNet结构的网络,这种结构的网络能将图像先下采样至一个较小的尺寸,再上采样恢复原来的尺寸,并在上采样的过程中和下采样提取的特征融合,最后的输出结果是生成的含有源场景字符图像风格和目标原始字符图像字符的场景字符图像,其尺寸与输入的三张图像均一致;

判别器的输入含有两个分支,分别通过独立的多层卷积网络提取待判别图像和一张原始字符图像的特征,然后将两个分支提取的特征在通道维度连接,合并的特征再通过多层卷积网络融合特征,紧接着连接一个马尔科夫判别器,这种判别器能够输出图像不同位置满足判别条件的概率,判别器的判别目标为当待判别图像符合场景字符图像训练集的域分布且待判别图像是输入的原始字符图像对应的字符图像时,判别结果为真,否则判别结果为假。

3.根据权利要求1所述的一种迁移场景风格的字符图像生成方法,其特征在于:所述步骤S3具体为:步骤S31:准备一张仅含有字符的某种风格的字符图像,将其处理为尺寸为边长为s的正方形,作为源场景字符图像,并制作其对应的源原始字符图像;

步骤S32:制作任意字符的原始字符图像作为目标字符图像;

步骤S33:将步骤S31中制作的源场景字符图像、源原始字符图像和步骤S32中制作的目标字符图像输入训练好的生成器中,生成的图像包含目标字符图像对应的字符,且能够迁移源场景字符图像的场景特征。

说明书 :

一种迁移场景风格的字符图像生成方法

技术领域

[0001] 本发明涉及模式识别与计算机视觉技术领域,尤其是一种迁移场景风格的字符图像生成方法。

背景技术

[0002] 语言是人类传播信息的主要方式之一,文字是书面的语言,也是人类通过视觉传递信息最广泛的方式之一。
[0003] 随着人工智能、互联网等技术的迅速发展,使用计算机自动识别图像中的文本具有重要意义。对于中文文本识别任务,由于汉字类别多,使用深度学习方法训练汉字识别模型通常需要海量的数据支持,采集数据的成本极高。而且现实场景下,大多数类别的汉字并不常见,这种不均匀的类别分布会导致识别模型的性能下降,而在大多数场景下收集生僻字是困难的。因此,使用计算机生成各种场景下的汉字具有很强的实用价值。

发明内容

[0004] 本发明提出一种迁移场景风格的字符图像生成方法,可提供一种通过给定含有场景风格和字体风格的场景字符图像,并通过字体文件制作简单的黑底白字的字符图像,生成指定字符含有给定场景风格的场景字符图像。
[0005] 一种迁移场景风格的字符图像生成方法,可用于生成含给定场景风格的汉字字符图像,所述方法包括以下步骤:
[0006] 步骤S1:采集场景字符图像,制作原始字符图像,构建训练数据集;
[0007] 步骤S2:构建用于场景字符图像生成的生成对抗网络,并训练网络;
[0008] 步骤S3:使用源场景字符图像、源原始字符图像和目标原始字符图像,生成场景字符图像。
[0009] 所述步骤S1具体为:
[0010] 步骤S11:收集并整理场景字符图像nimgs对,仅包含字符的源场景字符图像imgsrc和目标场景字符图像imgtgt,成对的字符图像应具有相似的场景和字体,且对应不同的字符,尺寸为边长为s的正方形,其中s为人工设定的参数,于是第ia对字符图像imgsrc和imgtgt可以表示为imgsrcia和imgtgtia,则nimgs对场景字符图像可以表示为imgs={imgsrctgtia|ia=0,1,...nimgs},其中imgsrctgtia表示第ia对场景字符图像imgsrctgtia={imgsrcia,imgtgtia};
[0011] 步骤S12:选择一种字体作为原始字体,基于该字体可以生成黑底白字的字体图像,一副场景字符图像对应一个字符,对应字符生成的字体图像定义为原始字符图像,生成的原始字符图像尺寸为边长为s的正方形,字符位于图像中央,于是对imgsrc制作原始字符图像可以得到源原始字符图像charsrc,对imgtgt制作原始字符图像可以得到目标原始字符图像chartgt,第ia个imgsrcia制作原始字符图像得到charsrcia,第ia个chartgt制作原始字符图像得到chartgtia,对ia=0,1,...nimgs执行完上述操作得到nimgs对原始字符图像chars={charsrctgtia|ia=0,1,...nimgs},其中charsrctgtia表示第ia对原始字符图像charsrctgtia={charsrcia,chartgtia};
[0012] 步骤S13:组合imgs和chars得到训练数据集trains={trainia|ia=0,1,...nimgs},其中trainia表示第ia组训练数据,trainia={imgsrcia,imgtgtia,charsrcia,chartgtia}。
[0013] 所述用于场景字符图像生成的生成对抗网络,具体如下:
[0014] 网络包含两个部分,一个生成器和一个判别器,生成器用于生成图像,判别器用于判定一张图像是否为满足某一条件的某种图像;
[0015] 生成器的输入含有三个分支,三个分支分别通过独立的多层卷积网络提取源场景字符图像、源原始字符图像和目标原始字符图像的特征,然后将三个分支提取的特征在通道维度连接,合并的特征再通过多层卷积网络进一步融合特征,紧接着连接一个UNet结构的网络,这种结构的网络能将图像先下采样至一个较小的尺寸,再上采样恢复原来的尺寸,并在上采样的过程中和下采样提取的特征融合,最后的输出结果是生成的含有源场景字符图像风格和目标原始字符图像字符的场景字符图像,其尺寸与输入的三张图像均一致;
[0016] 判别器的输入含有两个分支,一分支分别通过独立的多层卷积网络提取待判别图像和一张原始字符图像的特征,然后将两个分支提取的特征在通道维度连接,合并的特征再通过多层卷积网络进一步融合特征,紧接着连接一个马尔科夫判别器,这种判别器能够输出图像不同位置满足判别条件的概率,判别器的判别目标为当待判别图像符合场景字符图像训练集的域分布且待判别图像是输入的原始字符图像对应的字符图像时,判别结果为真,否则判别结果为假。
[0017] 所述步骤S2具体为:
[0018] 步骤S21:构建用于场景字符图像生成的生成对抗网络;
[0019] 步骤S22:使用构建的训练数据集训练用构建的生成对抗网络,使用第ia个训练数据训练时,首先使用生成器生成场景字符图像,生成器的输入为imgsrcia、charsrcia、chartgtia,则生成的图像为fakeia;
[0020] 步骤S23:然后优化判别器,判别器通过三种输入优化,输入为imgsrcia和charsrcia时,判别器的优化目标为真,输入为imgsrcia和tgtsrcia时,判别器的优化目标为假,输入为fakeia和charsrcia时,判别器的优化目标为假,设判别器的前向过程可以用函数D表示,则损失Lossd可以用下式计算:
[0021] Lossd=MSELoss(D(imgsrcia,charsrcia),1)+MSELoss(D(imgsrcia,tgtsrcia),0)+MSELoss(D(fakeia,charsrcia),0)
[0022] 其中,MSELoss为均方损失函数;
[0023] 步骤S24:优化好判别器后优化生成器,生成器的优化目标是让判别器输入为fakeia和charsrcia时判别结果为真,且fakeia与imgtgtia尽可能相似,生成器的损失Lossg计算方法如下:
[0024] Lossg=MSELoss(D(fakeia,charsrcia),1)+L1Loss(fakeia,imgtgtia)[0025] 其中L1Loss为L1损失函数;
[0026] 步骤S25:重复步骤S22至S24反复训练判别器和生成器,直到生成器能生成符合期望效果的场景字符图像为止。
[0027] 所述步骤S3具体为:
[0028] 步骤S31:准备一张仅含有字符的某种风格的字符图像,将其处理为尺寸为边长为的正方形,作为源场景字符图像,并制作其对应的源原始字符图像;
[0029] 步骤S32:制作任意字符的原始字符图像作为目标字符图像;
[0030] 步骤S33:将步骤S31中制作的源场景字符图像、源原始字符图像和步骤S32中制作的目标字符图像输入训练好的生成器中,生成的图像包含目标字符图像对应的字符,且能够迁移源场景字符图像的场景特征。
[0031] 本发明与现有技术相比具有以下有益效果:
[0032] 1、本发明能高效的生成海量的任意字符的场景字符图像数据;
[0033] 2、本发明生成的场景字符图像可以迁移指定场景字符图像的风格;
[0034] 3、本发明生成的图像质量高、真实性强,生成模型稳定性良好,具有一定的泛化能力。

附图说明

[0035] 下面结合附图和具体实施方式对本发明进一步详细的说明:
[0036] 附图1是本发明的流程示意图。

具体实施方式

[0037] 如图所示,一种迁移场景风格的字符图像生成方法,可用于生成含给定场景风格的汉字字符图像,所述方法包括以下步骤;
[0038] 步骤S1:采集场景字符图像,制作原始字符图像,构建训练数据集;
[0039] 步骤S2:构建用于场景字符图像生成的生成对抗网络,并训练网络;
[0040] 步骤S3:使用源场景字符图像、源原始字符图像和目标原始字符图像,生成场景字符图像。
[0041] 所述步骤S1具体为:
[0042] 步骤S11:收集并整理场景字符图像nimgs对,仅包含字符的源场景字符图像imgsrc和目标场景字符图像imgtgt,成对的字符图像应具有相似的场景和字体,且对应不同的字符,尺寸为边长为s的正方形,其中s为人工设定的参数,于是第ia对字符图像imgsrc和imgtgt可以表示为imgsrcia和imgtgtia,则nimgs对场景字符图像可以表示为imgs={imgsrctgtia|ia=0,1,...nimgs},其中imgsrctgtia表示第ia对场景字符图像imgsrctgtia={imgsrcia,imgtgtia};
[0043] 步骤S12:选择一种字体作为原始字体,基于该字体可以生成黑底白字的字体图像,一副场景字符图像对应一个字符,对应字符生成的字体图像定义为原始字符图像,生成的原始字符图像尺寸为边长为s的正方形,字符位于图像中央,于是对imgsrc制作原始字符图像可以得到源原始字符图像charsrc,对imgtgt制作原始字符图像可以得到目标原始字符图像chartgt,第ia个imgsrcia制作原始字符图像得到charsrcia,第ia个chartgt制作原始字符图像得到chartgtia,对ia=0,1,...nimgs执行完上述操作得到nimgs对原始字符图像chars={charsrctgtia|ia=0,1,...nimgs},其中charsrctgtia表示第ia对原始字符图像charsrctgtia={charsrcia,chartgtia};
[0044] 步骤S13:组合imgs和chars得到训练数据集trains={trainia|ia=0,1,...nimgs},其中trainia表示第ia组训练数据,trainia={imgsrcia,imgtgtia,charsrcia,chartgtia}。
[0045] 所述用于场景字符图像生成的生成对抗网络,具体如下:
[0046] 网络包含两个部分,一个生成器和一个判别器,生成器用于生成图像,判别器用于判定一张图像是否为满足某一条件的某种图像;
[0047] 生成器的输入含有三个分支,三个分支分别通过独立的多层卷积网络提取源场景字符图像、源原始字符图像和目标原始字符图像的特征,然后将三个分支提取的特征在通道维度连接,合并的特征再通过多层卷积网络进一步融合特征,紧接着连接一个UNet结构的网络,这种结构的网络能将图像先下采样至一个较小的尺寸,再上采样恢复原来的尺寸,并在上采样的过程中和下采样提取的特征融合,最后的输出结果是生成的含有源场景字符图像风格和目标原始字符图像字符的场景字符图像,其尺寸与输入的三张图像均一致;
[0048] 判别器的输入含有两个分支,一分支分别通过独立的多层卷积网络提取待判别图像和一张原始字符图像的特征,然后将两个分支提取的特征在通道维度连接,合并的特征再通过多层卷积网络进一步融合特征,紧接着连接一个马尔科夫判别器,这种判别器能够输出图像不同位置满足判别条件的概率,判别器的判别目标为当待判别图像符合场景字符图像训练集的域分布且待判别图像是输入的原始字符图像对应的字符图像时,判别结果为真,否则判别结果为假。
[0049] 所述步骤S2具体为:
[0050] 步骤S21:构建用于场景字符图像生成的生成对抗网络;
[0051] 步骤S22:使用构建的训练数据集训练用构建的生成对抗网络,使用第ia个训练数据训练时,首先使用生成器生成场景字符图像,生成器的输入为imgsrcia、charsrcia、chartgtia,则生成的图像为fakeia;
[0052] 步骤S23:然后优化判别器,判别器通过三种输入优化,输入为imgsrcia和charsrcia时,判别器的优化目标为真,输入为imgsrcia和tgtsrcia时,判别器的优化目标为假,输入为fakeia和charsrcia时,判别器的优化目标为假,设判别器的前向过程可以用函数D表示,则损失Lossd可以用下式计算:
[0053] Lossd=MSELoss(D(imgsrcia,charsrcia),1)+MSELoss(D(imgsrcia,tgtsrcia),0)+MSELoss(D(fakeia,charsrcia),0)
[0054] 其中,MSELoss为均方损失函数;
[0055] 步骤S24:优化好判别器后优化生成器,生成器的优化目标是让判别器输入为fakeia和charsrcia时判别结果为真,且fakeia与imgtgtia尽可能相似,生成器的损失Lossg计算方法如下:
[0056] Lossg=MSELoss(D(fakeia,charsrcia),1)+L1Loss(fakeia,imgtgtia)[0057] 其中L1Loss为L1损失函数;
[0058] 步骤S25:重复步骤S22至S24反复训练判别器和生成器,直到生成器能生成符合期望效果的场景字符图像为止。
[0059] 所述步骤S3具体为:
[0060] 步骤S31:准备一张仅含有字符的某种风格的字符图像,将其处理为尺寸为边长为的正方形,作为源场景字符图像,并制作其对应的源原始字符图像;
[0061] 步骤S32:制作任意字符的原始字符图像作为目标字符图像;
[0062] 步骤S33:将步骤S31中制作的源场景字符图像、源原始字符图像和步骤S32中制作的目标字符图像输入训练好的生成器中,生成的图像包含目标字符图像对应的字符,且能够迁移源场景字符图像的场景特征。