一种汉字风格迁移模型的训练装置和方法与流程

文档序号:22737380发布日期:2020-10-31 09:17阅读:143来源:国知局
一种汉字风格迁移模型的训练装置和方法与流程

本发明涉及文字处理技术领域,尤其涉及一种汉字风格迁移模型的训练装置和方法。



背景技术:

风格多样的汉字字体是一种重要的中国文化符号,它的设计和操作是一项需要大量专业知识的艰巨工作。汉字作为世界上最古老的文字之一,经历了甲骨文、篆书、隶书、楷书等字体,在弘扬中华民族传统文化中发挥着重要的作用。但是人为制作一种标准的中文字库,不仅费时费力,而且对设计者的学术水平有相当高的要求。随着科学技术的不断发展,以及基于深度学习的图像风格迁移技术的成功应用,为中文字库的制作带来了新的研究方向。在现实场景中,风格迁移技术已经成功应用于图像生成、数据增强等研究领域,解决了小数据集、训练数据量不足的问题。目前也有将该技术应用于字体的风格迁移,比如海报中艺术字的设计、手写体汉字研究等。

汉字结构复杂,基础部件之多,字体风格多样,且差异较大。针对汉字的风格迁移问题,现有技术中的传统方法是基于拆分匹配的汉字迁移方法,主要是根据汉字结构,将源字体拆分为多个基础部件,对应为目标字体的基础部件,再按照一定的缩放比例拼接成相应的目标字体,从而实现新字体的生成。现有技术中另一种方法是基于生成式对抗网络(gan)的汉字迁移方法。该方法主要是输入源字体图片,利用生成网络和判别网络两者之间相互博弈学习的过程,生成仿真度高的目标字体图片,从而实现汉字的风格迁移。

基于拆分匹配的汉字迁移方法,对于一些结构复杂的汉字,计算机难以将其正确的拆分开,且利用该方法生成的目标字体太过于古板化,缩放拼接不是很自然。基于生成式对抗网络的汉字迁移方法,该方法对于风格差异较小的两种字体可以生成仿真度较高的目标字体,比如宋体迁移到黑体,网络生成的目标字体效果很好,优于基于拆分匹配的汉字迁移方法,但是对于风格差异较大的两种字体实现的效果并不是很好,这是因为该方法只是单纯利用了汉字的全局特征去训练网络的模型参数,并未利用汉字的局部特征,所以对于一些笔画内容改动较大的字体,网络无法很好的学习到这种变化。



技术实现要素:

本发明实施例提出一种汉字风格迁移模型的训练装置和方法,从而提高汉字的风格迁移效果。

本发明实施方式的技术方案如下:

一种汉字风格迁移模型的训练装置,包括:

生成模块,用于基于汉字的源字体图像和所述汉字的标签字体图像,经由生成网络生成所述汉字的目标字体图像,基于所述源字体图像中的汉字基础部件图像和所述标签字体图像中的、对应的汉字基础部件图像,经由所述生成网络生成目标字体的汉字基础部件图像;

判别模块,用于基于所述汉字的标签字体图像,经由判别网络对所述目标字体图像进行判别以输出全局特征向量,基于所述标签字体图像中的、对应的汉字基础部件图像,经由所述判别网络对所述目标字体的汉字基础部件图像进行判别以输出局部特征向量,并根据所述全局特征向量和所述局部特征向量确定所述判别网络的损失函数。

在一个实施方式中,还包括:

预处理模块,用于将所述源字体图像和所述标签字体图像预处理为相同的格式,将所述源字体图像中的汉字基础部件图像和所述标签字体图像中的、对应的汉字基础部件图像预处理为相同的格式。

在一个实施方式中,还包括:

融合模块,用于将所述全局特征向量和所述局部特征向量拼接为整体特征向量,利用全连接网络对所述整体特征向量进行判别,以确定所述目标字体图像为真或假。

在一个实施方式中,所述判别网络的损失函数为d_loss,其中:

d_loss=e[logd(xlabel)+log(1-d((yglobal))]+e[logd(clabel)+log(1-d((ylocal))];

其中d(yglobal)是所述全局特征向量;d(ylocal)是所述局部特征向量;e是期望函数;d是判决函数;xlabel是所述标签字体图像;yglobal是所述目标字体图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像;ylocal是所述目标字体的汉字基础部件图像;log是对数函数。

在一个实施方式中,所述生成网络的损失函数为g_loss,其中:

g_loss=||yglobal-xlabel||+||ylocal-clabel||;

其中yglobal是所述目标字体图像;xlabel是所述标签字体图像;ylocal是所述目标字体的汉字基础部件图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像。

一种汉字风格迁移模型的训练方法,该方法包括:

基于汉字的源字体图像和所述汉字的标签字体图像,经由生成网络生成所述汉字的目标字体图像,基于所述源字体图像中的汉字基础部件图像和所述标签字体图像中的、对应的汉字基础部件图像,经由所述生成网络生成目标字体的汉字基础部件图像;

基于所述汉字的标签字体图像,经由判别网络对所述目标字体图像进行判别以输出全局特征向量,基于所述标签字体图像中的、对应的汉字基础部件图像,经由所述判别网络对所述目标字体的汉字基础部件图像进行判别以输出局部特征向量,并根据所述全局特征向量和所述局部特征向量确定所述判别网络的损失函数。

在一个实施方式中,还包括:

将所述源字体图像和所述标签字体图像预处理为相同的格式;

将所述源字体图像中的汉字基础部件图像和所述标签字体图像中的、对应的汉字基础部件图像预处理为相同的格式。

在一个实施方式中,还包括:

将所述全局特征向量和所述局部特征向量拼接为整体特征向量,利用全连接网络对所述整体特征向量进行判别,以确定所述目标字体图像为真或假。

在一个实施方式中,所述判别网络的损失函数为d_loss,其中:

d_loss=e[logd(xlabel)+log(1-d((yglobal))]+e[logd(clabel)+log(1-d((ylocal))];

其中d(yglobal)是所述全局特征向量;d(ylocal)是所述局部特征向量;e是期望函数;d是判决函数;xlabel是所述标签字体图像;yglobal是所述目标字体图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像;ylocal是所述目标字体的汉字基础部件图像;log是对数函数。

在一个实施方式中,所述生成网络的损失函数为g_loss,其中:

g_loss=||yglobal-xlabel||+||ylocal-clabel||;

其中yglobal是所述目标字体图像;xlabel是所述标签字体图像;ylocal是所述目标字体的汉字基础部件图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像。

从上述技术方案可以看出,本发明实施方式中,生成模块,用于基于汉字的源字体图像和汉字的标签字体图像,经由生成网络生成汉字的目标字体图像,基于源字体图像中的汉字基础部件图像和标签字体图像中的、对应的汉字基础部件图像,经由生成网络生成目标字体的汉字基础部件图像;判别模块,用于基于汉字的标签字体图像,经由判别网络对目标字体图像进行判别以输出全局特征向量,基于标签字体图像中的、对应的汉字基础部件图像,经由判别网络对所述目标字体的汉字基础部件图像进行判别以输出局部特征向量,并根据全局特征向量和局部特征向量确定判别网络的损失函数。由此可见,本发明实施方式在全局特征向量的基础上引入汉字基础部件所具有的局部特征向量,局部特征向量更好地表征了汉字笔画内容的改变,判别网络可以更好地学习到这种笔画内容的改变,进而可以提高汉字风格迁移的效果。

而且,本发明实施方式提出了新的损失函数,在原有的全局损失项的基础上加入局部损失项,共同训练生成模块和判别模块的参数,使网络效果更好。

附图说明

图1为本发明汉字风格迁移模型的训练装置的结构图。

图2为本发明汉字风格迁移模型的训练过程的示意图。

图3为本发明判别模块的处理示意图。

图4为本发明汉字风格迁移模型的训练过程的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。

为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。

针对现有技术的上述技术问题,本发明提出了一种提高汉字风格迁移效果的训练方法。图像到图像(image-to-image)的汉字风格迁移,本质上是在学习两种字体之间笔画的映射关系,本发明采用生成式对抗网络,可以避开汉字结构的拆分,且避免生成的目标字体太过于古板。而且,针对现有技术中风格差异较大的两种字体实现的效果不佳的情况,本发明保留原有的全局特征,且引入汉字基础部件所具有的局部特征,同时引入局部特征的局部判别,并通过损失函数训练网络的模型参数,使网络更好地学习到改动较大的笔画内容,从而提高汉字的风格迁移效果。

图1为本发明汉字风格迁移模型的训练装置的结构图。

如图1所示,该装置包括:

生成模块101,用于基于汉字的源字体图像和汉字的标签(label)字体图像,经由生成网络生成汉字的目标字体图像,基于源字体图像中的汉字基础部件图像和标签字体图像中的、对应的汉字基础部件图像,经由生成网络生成目标字体的汉字基础部件图像;

判别模块102,用于基于汉字的标签字体图像,经由判别网络对目标字体图像进行判别以输出全局特征向量,基于标签字体图像中的、对应的汉字基础部件图像,经由判别网络对目标字体的汉字基础部件图像进行判别以输出局部特征向量,并根据全局特征向量和局部特征向量确定判别网络的损失函数。

优选的,汉字基础部件在汉字中相比较非汉字基础部件,具有较多的笔画,以利于后续的局部判别。

在一个实施方式中,还包括:

预处理模块104,用于将源字体图像和标签字体图像预处理为相同的格式,将源字体图像中的汉字基础部件图像和标签字体图像中的、对应的汉字基础部件图像预处理为相同的格式。

在一个实施方式中,还包括:

融合模块103,用于将全局特征向量和所述局部特征向量拼接为整体特征向量,利用全连接网络对所述整体特征向量进行判别,以确定所述目标字体图像为真或假。

在一个实施方式中,判别网络的损失函数为d_loss,其中:

d_loss=e[logd(xlabel)+log(1-d((yglobal))]+e[logd(clabel)+log(1-d((ylocal))];

其中d((yglobal)是所述全局特征向量;d((ylocal)是局部特征向量;e是期望函数;d是判决函数;xlabel是标签字体图像;yglobal是目标字体图像;clabel是标签字体图像中的、对应的汉字基础部件图像;ylocal是目标字体的汉字基础部件图像;log是对数函数。

在一个实施方式中,生成网络的损失函数为g_loss,其中:

g_loss=||yglobal-xlabel||+||ylocal-clabel||;

其中yglobal是目标字体图像;xlabel是标签字体图像;ylocal是所述目标字体的汉字基础部件图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像。

可见,本发明在避免汉字结构拆分的同时,利用汉字的全局和局部特征,在gan模型的基础上加入局部判别处理,同时在原有的损失函数的基础上引入局部损失项,从而提高风格差异较大的汉字迁移效果。

图2为本发明汉字风格迁移模型的训练过程的示意图。

在图2中,源字体图像35和标签字体图像36中均包含汉字“的”,且分别呈现不同的字体。源字体图像35中还包含有汉字基础部件图像30,标签字体图像36中包含有对应于汉字基础部件图像30的汉字基础部件图像31。由图2可见,汉字基础部件图像30为具有源字体风格的基础部件“白”,汉字基础部件图像31为具有标签字体风格的基础部件“白”,汉字基础部件图像30和汉字基础部件图像31均对应于汉字“的”的左半部分。可见,相比较汉字“的”的右半部分“勺”,基础部件“白”具有较多的笔画。

首先,将源字体图像35、标签字体图像36、汉字基础部件图像30和汉字基础部件图像31输入预处理模块(图2中没有示出)。

预处理模块对输入图片进行前期处理。假设输入的字体图像为:input=[xsource;xlabel],xsource是输入的源字体图像35;xlabel是对应于源字体图像35的标签字体图像36,预处理模块将源字体图像35和标签字体图像36均剪裁为256×256。

同理,预处理模块对输入的基础部件图像也做相同的处理。假定输入的基础部件图像为:c=[csource;clabel],csource是输入的源字体对应的基础部件图像30,clabel是对应的基础部件标签图像31,预处理模块将基础部件图像30和基础部件标签图像31均剪裁为256×256。

生成模块101主要由包含编码器和解码器的生成网络构成,主要完成的是基于源字体(包括源字体图像和源字体图像中的汉字基础部件图像)生成与标签字体具有较高仿真度的目标字体(包括目标字体图像和目标字体的汉字基础部件图像)。

令生成模块的函数表示为y=g(x,θ),x为相应的输入图片,θ为该模块的参数,即网络需要训练的参数。当输入为input、c时,函数的输出为:y=g(input,c),其中y=[yglobal;ylocal],yglobal是生成网络生成的包含整个汉字的图像,即汉字的目标字体图像,ylocal是所对应的基础部件的生成图像,即目标字体的汉字基础部件图像。如图2的虚线框中的图像33所示,为汉字的目标字体图像。包含于图像33中的虚线框32为ylocal,即目标字体的汉字基础部件图像。

而且,生成模块101的损失函数定义为:g_loss=||yglobal-xlabel||+||ylocal-clabel||,因为l1损失往往可以产生更清晰和清楚的图片,所以优选在生成模块101中应用l1损失。可见,生成模块101的损失函数在原有的全局损失项的基础上加入了局部损失项,使网络可以学习到细节上的变化,从而提高生成模块的性能。

判别模块102包含全局判别子模块和局部判别子模块,主要完成的是最大准确地判别出输入图像是真实字体(即标签字体)的图像,还是网络生成的字体图像。当判定为真实字体(即标签字体)的图像时,判决结果为真;当判定为网络生成的字体图像时,判决结果为假。

判别模块102的损失函数为d_loss,与其他方法不同的是,本发明中在全局判别损失项的基础上加上了局部判别损失项:

d_loss=e[logd(xlabel)+log(1-d((yglobal))]+e[logd(clabel)+log(1-d((ylocal))];

其中d(yglobal)是所述全局特征向量;d(ylocal)是所述局部特征向量;e是期望函数;d是判决函数;xlabel是所述标签字体图像;yglobal是所述目标字体图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像;ylocal是所述目标字体的汉字基础部件图像;log是对数函数。关于d_loss的上式中,e[logd(xlabel)+log(1-d((yglobal))]为全局判别损失项,e[logd(clabel)+log(1-d((ylocal))为本发明新增入的局部判别损失项。局部判别损失项的加入使判别网络的判别性能提升,可以更好地与生成模块101对抗,从而间接地提高生成模块101的效果,使生成的字体仿真度更高。

图3为本发明判别模块的处理示意图。

图3中上半部分为全局判别子模块的处理过程,该子模块的函数表示为z_1=d(y_1,ω1),该子模块的输入为整个汉字图像,即yglobal,经过包含多个卷积网络(conv)和全连接层(fc)的判决网络后,该子模块的输出为z_1=d(yglobal),称之为全局特征向量。

图3中下半部分为局部判别子模块的处理过程,该子模块的函数表示为z_2=d(y_2,ω2),该子模块的输入为汉字的基础部件图像即ylocal,经过上述全局判别子模块处理过程中提到的、相同的判决网络后,该子模块的输出为z_2=d(ylocal),称之为局部特征向量。

全局特征向量和局部特征向量具有相同的维度。如果仅仅只使用全局特征向量进行判别,网络更加关注于字体的整体结构的学习,可能会忽略一些笔画内容变化较大的学习,且汉字风格迁移本质上是在学习两种字体之间笔画的映射关系,因此本发明在全局特征向量的基础上引入汉字基础部件所具有的局部特征向量,这些局部特征向量更好的表征了汉字笔画内容的改变,判别网络可以更好的学习到这种笔画内容的改变,进而可以提高汉字风格迁移的效果。

融合模块103包括一个全连接网络,主要是实现的是将全局特征向量和局部特征向量拼接为一个特征向量,即z=[z_1:z_2],经过融合模块103的全连接网络后输出最终的判别结果:0/1=fc(z),其中1表示是真实字体图片,0表示网络生成的字体图片。

可见,本发明实施方式提出了一种提高汉字风格迁移效果的训练方法。包括:

(1)、提出了一种新颖的提高汉字风格迁移效果的训练方法,在原有的gan模型的基础上,引入汉字基础部件所具有的局部特征向量,以及相应的局部判别子模块,通过生成模块和判别模块,提高汉字风格迁移的效果。

(2)、提出了新的损失函数,在原有的全局损失项的基础上加入局部损失项,共同训练生成模块和判别模块的参数,使网络达到效果更好。

基于上述描述,本发明还提出了一种汉字风格迁移模型的训练过程的方法。

图4为本发明汉字风格迁移模型的训练过程的方法流程图。

如图4所示,该方法包括:

步骤401:基于汉字的源字体图像和所述汉字的标签字体图像,经由生成网络生成所述汉字的目标字体图像,基于所述源字体图像中的汉字基础部件图像和所述标签字体图像中的、对应的汉字基础部件图像,经由所述生成网络生成目标字体的汉字基础部件图像。

步骤402:基于所述汉字的标签字体图像,经由判别网络对所述目标字体图像进行判别以输出全局特征向量,基于所述标签字体图像中的、对应的汉字基础部件图像,经由所述判别网络对所述目标字体的汉字基础部件图像进行判别以输出局部特征向量,并根据所述全局特征向量和所述局部特征向量确定所述判别网络的损失函数。

在一个实施方式中,还包括:

将所述源字体图像和所述标签字体图像预处理为相同的格式;

将所述源字体图像中的汉字基础部件图像和所述标签字体图像中的、对应的汉字基础部件图像预处理为相同的格式。

在一个实施方式中,还包括:

将所述全局特征向量和所述局部特征向量拼接为整体特征向量,利用全连接网络对所述整体特征向量进行判别,以确定所述目标字体图像为真或假。

在一个实施方式中,判别网络的损失函数为d_loss,其中:

d_loss=e[logd(xlabel)+log(1-d((yglobal))]+e[logd(clabel)+log(1-d((ylocal))];

其中d(yglobal)是所述全局特征向量;d(ylocal)是所述局部特征向量;e是期望函数;d是判决函数;xlabel是所述标签字体图像;yglobal是所述目标字体图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像;ylocal是所述目标字体的汉字基础部件图像;log是对数函数。

在一个实施方式中,生成网络的损失函数为g_loss,其中:

g_loss=||yglobal-xlabel||+||ylocal-clabel||;

其中yglobal是所述目标字体图像;xlabel是所述标签字体图像;ylocal是所述目标字体的汉字基础部件图像;clabel是所述标签字体图像中的、对应的汉字基础部件图像。

需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。

各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。

本发明还提供了一种机器可读的存储介质,存储用于使一机器执行如本申请所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。

用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机或云上下载程序代码。

在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。

上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,而并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方案或变更,如特征的组合、分割或重复,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1