基于对抗网络的汉字字体迁移系统的制作方法

文档序号:13446192阅读:497来源:国知局
基于对抗网络的汉字字体迁移系统的制作方法

本发明涉及计算机视觉和图像处理领域,具体地,涉及一种基于对抗网络的汉字字体迁移系统。



背景技术:

众所周知,中文汉字有逾7000个之多,常用汉字有3755个。设计者设计一款字体需要设计出该字体下的每个汉字,设计一款书法家字体也需要该书法家写出几乎所有常用汉字。因此,汉字字体设计是一项非常耗时繁重的任务,探索更为高效的设计方法:即如何只需人工设计某一字体下的部分汉字,而自动生成该字体下剩余的汉字,具有很大的实用意义。

近年来,以深度神经网络为最主要特点的深度学习(deeplearning)在很多领域得到广泛应用,极大地推动了如图像识别、物体检测、视频预测、自然语言处理等领域的发展。在图像生成领域,利用深度学习进行图像风格转换取得了很好的效果,深度学习可以将一张普通的照片a与一张艺术家的画作b相结合,生成具有画作b风格的照片a。受此启发,国外有研究人员实现了拉丁文语系的字母风格转换。

但是,不同于英语只有26个英文字母,中文汉字仅常用字就有3755个,且有的汉字笔画繁多,结构复杂;汉字字体也种类多样,如宋体、楷体、仿宋、黑体……包括各种著名书法家或者普通人的手写字体。所以,在汉字字体迁移这一领域,利用深度学习进行汉字字体迁移的研究相对较少。

目前已有的相关研究往往采用基于汉字笔画分解重组的方法。一类方法是:源字体和真实目标字体下的汉字被层次分解成偏旁部首、笔画等各个部件,模型通过训练“记住”每个偏旁部首、笔画在目标字体下的形状,在模型的测试阶段,源字体同样被分解成各个部件,然后给每个部件匹配最佳的目标字体下的部件,最后进行组合形成生成目标字体。另一类方法利用深度神经网络生成与目标字体相近的偏旁部首或者笔画。

上述两种基于汉字分解的字体迁移方法都弊端在于该方法极大地依赖分解结果的好坏。对于笔画繁多、结构复杂的汉字,很难对其进行合适的分解,而对于笔画少的汉字,这样的分解又没有必要,因此这些都直接影响后续生成目标字体的结果。其次,基于汉字分解的方法前期预处理非常耗时间,且分解过程以来较多的先验知识。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于对抗网络的汉字字体迁移系统。

不同于现有基于笔画分解的汉字字体迁移系统,本发明基于对抗网络的汉字字体迁移系统将每个汉字视作一张图片来处理,不依赖于前期的预处理和后期的笔画重组,是一种端到端的汉字字体迁移系统,极大地简化了字体生成过程且增强了生成效果。

除此之外,本发明基于对抗网络的汉字字体迁移系统运用了近年来收到极大关注的生成对抗网络,引入了对抗训练的方法。对抗训练的方法可以使得模型学到与已给图片相同分布的伪图片,从而提高生成目标字体的逼真度。

为实现以上目的,本发明提供一种基于对抗网络的汉字字体迁移系统,包括:

汉字迁移模块h:将源字体通过全卷积神经网络映射成与源字体内容一致、字体不同的生成目标字体;

判别器模块d:利用基于深度神经网络的判别器网络对生成目标字体和与之对应的真实目标字体,即金标准进行真假字体判别,借助对抗网络训练的思想,对汉字迁移网络中的参数进行优化。

优选地,所述汉字迁移模块,包含如下两个子模块:

—汉字编码子模块:对输入的任一源字体si,通过一系列卷积操作,将其编码成尺度固定的三维特征向量fi;

—汉字解码子模块:对经汉字编码子模块得到的三维特征向量fi,进行一系列“解卷积”和卷积操作,将其解码成生成目标字体gi。

更优选地,所述汉字编码子模块采用全卷积神经网络,摒弃降采样一般所采用的池化操作;源字体si经过所述汉字编码子模块被映射成固定大小的三维特征向量fi,所述三维特征向量fi被认为是对源字体si内容的表征,简称为表征特征向量。

更优选地,所述汉字解码子模块采用全卷积神经网络,并且运用跳跃连接结构;所述表征特征向量fi经所述汉字解码子模块被映射成与源字体si相同大小的生成目标字体gi。

优选地,所述判别器模块对接收的生成目标字体gi和与之内容对应的金标准ti进行真伪判别;通过一系列卷积层和全连接层,输入的每个汉字被映射成二元输出值:1(真)或0(伪)。

优选地,所述汉字迁移模块h,在训练时,对该模块所需要的输入数据进行配对;从训练样本中采样得到的源字体si需要与之对应的金标准ti两两配对成(si,ti);

由源字体si经所述汉字迁移模块h映射而成的生成目标字体gi与其金标准ti构成像素级损失函数:

其中:lpix为像素级损失函数,(s,t)为源字体与真实目标字体的配对,h为迁移网络,h(s)即为由生成目标字体gi构成的生成域,σ为sigmoid激活函数,其数学形式为λp为黑白像素平衡系数。

优选地,所述判别器模块d,在训练时,并不一定需要对该模块所需要的输入数据进行配对;训练样本采样得到的众多源字体si构成源域s,经汉字迁移模块h映射而成的众多生成目标字体gi构成生成域g=h(s),金标准ti构成目标域t;

源域s和目标域t构成对抗损失函数:

ladvers=ld+lh

其中:

在所述系统中,利用损失函数对系统进行端到端训练。

优选地,所述以上两类损失函数被分为两组同时对网络进行联合优化,具体如下:

l1=λ1·(lpix+lh),l2=λ2·ld

其中:λ1、λ2分别为两组损失函数l1、l2之前的平衡系数;

由l1经反向传播产生的梯度更新汉字迁移模块h中的参数,一次梯度更新记为一次对h优化optimh;由l2经反向传播产生的梯度更新判别器模块d中的参数,一次梯度更新记为一次对d的优化optimd;

汉字迁移模块h和判别器模块d在每一次迭代中分别被优化的次数之比为3:1,即h被优化3次,d被优化1次。

每种字体选取5000个常用汉字作为数据集,通过多次实验后发现,当训练集占数据集对40%~60%时(即测试集占60%~40%),在均方误差(mse)这一指标下,本发明所述基于对抗网络的汉字字体迁移系统在测试集中能够取得同样好的泛化效果。

与现有技术相比,本发明具有如下的有益效果:

本发明利用基于深度神经网络的判别器网络对生成目标字体和与之对应的真实目标字体(以下称为“金标准”)进行真伪判别,借助对抗训练的方法,不断优化汉字迁移网络,使之能输出更逼真的生成目标字体。本发明能够基于对抗网络将任一印刷体的汉字迁移成另一印刷体,甚至对应某一人的手写体。通过多次实验后发现,当训练集占数据集对40%~60%时(即测试集占60%~40%),在均方误差(mse)这一指标下,该基于对抗网络的汉字字体迁移系统在测试集中能够取得同样好的泛化效果。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明一实施例的系统流程图;

图2为本发明一实施例的汉字迁移模块具体流程图;

图3为本发明一实施例的判别器模块具体流程图;

图4-图5为本发明一实施例对宋体字迁移到各个打印体目标字体的效果图,其中:(a)为源字体,(b)为生成打印体字体,(c)为金标准;

图6-图7为本发明一实施例对宋体字迁移到各个手写体目标字体的效果图,其中:(a)为源字体,(b)为生成手写字体,(c)为金标准。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

如图1所示,为本发明一种基于对抗网络的汉字字体迁移系统实施例的流程图,该系统中的汉字迁移模块利用输入源字体图像生成目标字体图像,该系统中的判别器模块对生成的目标字体和与之对应的金标准进行真伪判别,借助对抗训练的方法,不断优化汉字迁移模块,使之能输出更逼真的生成目标字体。

具体的,如图1所示,所述系统包括如下模块:

汉字迁移模块:将源字体通过全卷积神经网络映射成与源字体内容一致、字体不同的生成目标字体;

判别器模块:利用判别器网络对生成目标字体和与之对应的金标准进行真假字体判别,借助对抗网络训练的思想,对汉字迁移网络中的参数进行优化。

在部分优选实施例里,所述汉字迁移模块包含如下两个子模块:

汉字编码子模块:对输入的任一源字体,通过一系列卷积操作,将其编码成尺度固定的三维特征向量;

汉字解码子模块:对经汉字编码子模块得到的三维特征向量fi,进行一系列“解卷积”和卷积操作,将其解码成生成目标字体。

以下对本实施例中各个步骤和模块的具体实现进行详细的描述,以便理解本发明技术方案。

如图2所示,为一优选实施例中汉字迁移模块的流程图,所述汉字迁移模块包含如下两个子模块,共20个顺次相连的卷积层convi,i=1,2,…,19,20:

汉字编码子模块:对输入的任一源字体si,通过一系列卷积操作将其编码成尺度固定的三维特征向量fi;

汉字解码子模块:对经汉字编码子模块得到的三维特征向量fi进行一系列“解卷积”和卷积操作,将其解码成生成目标字体gi。

如图2所示,所述汉字编码子模块采用全卷积神经网络,摒弃了降采样一般所采用的池化操作。该编码模块包括convi,i=1,2,…8共8个卷积层,其中:

conv1,conv3,conv5,conv7卷积层保持前层输出的特征向量的高h、宽w尺度不变,通道数c为前层的2倍;

conv2,conv4,conv6,conv8卷积层保持前层输出特征向量的通道数c不变,高h、宽w尺度变为前层的1/2;

源字体si经过所述汉字编码子模块被映射成h×w×c=4×4×512大小的三维特征向量fi,该特征向量fi可被认为是对源字体si内容的表征,下文简称为表征特征向量。

如图2所示,所述汉字解码子模块采用全卷积神经网络,包括convi,i=9,10,…20共12个卷积层,其中:

conv9,conv12,conv15,conv18为“解卷积层”,保持前层输出特征向量的通道数c不变,高h、宽w尺度变为前层的2倍;

conv9,conv12,conv15,conv18卷积层的输出特征向量与前述中conv1,conv3,conv5,conv7卷积层的输出特征向量进行跳跃连接,即按照通道c维度进行拼接,形成4个通道数c为原先2倍的新的特征向量;

conv10,conv11,conv13,conv14,conv16,conv17,conv19,conv20卷积层保持前层输出的特征向量的高h、宽w尺度不变,通道数c为前层的1/2。前述的表征特征向量fi经过所述汉字解码子模块被映射成h×w×c=64×64×1大小的生成目标字体gi。

如图3所示,为一优选实施例中判别器模块的流程图;所述判别器模块对接收的生成目标字体gi和与之内容对应的金标准ti进行真伪判别,通过一系列卷积层和全连接层,输入的每个汉字被映射成二元输出值:1(真)或0(伪)。

本实施例中,所述汉字迁移模块,在训练时,需要对该模块所需要的输入数据进行配对。从训练样本中采样得到的源字体si需要与之对应的金标准ti两两配对成(si,ti)。由源字体si经汉字迁移模块映射而成的生成目标字体gi与其金标准构成像素级损失函数:

其中:lpix为像素级损失函数,(s,t)为源字体与真实目标字体的配对,h为迁移网络,h(s)为生成目标字体g,σ为sigmoid激活函数,其数学形式为λp为黑白像素平衡系数。

本实施例中,所述判别器模块,在训练时,并不一定需要对该模块所需要的输入数据进行配对;训练样本采样得到的众多源字体si构成源域s,经汉字迁移模块映射而成的众多生成目标字体gi构成生成域g=h(s),金标准ti构成目标域t。源域s和目标域t构成对抗损失函数:

ladvers=ld+lh

其中,

在本系统中,利用损失函数可对系统进行端到端训练。

在本实施例中,损失函数被分为两组同时对网络进行联合优化,具体如下:

l1=λ1·(lpix+lh),l2=λ2·ld

其中:λ1,λ2为分别为两组损失函数l1、l2之前的平衡系数。由l1经反向传播产生的梯度更新汉字迁移模块h中的参数,一次梯度更新记为一次对h优化optimh,由l2经反向传播产生的梯度更新判别器模块d中的参数,一次梯度更新记为一次对d的优化optimd。汉字迁移模块h和判别模块d在每一次迭代中分别被优化的次数之比为3:1,即h被优化3次,d被优化1次。

综上,本发明利用汉字迁移模块中的汉字编码子模块与汉字解码子模块来完成汉字字体的迁移,再利用判别器模块对生成目标字体和与之对应的真实目标字体进行真伪判别,借助对抗训练的方法,不断优化汉字迁移模块,使之能输出更逼真的生成目标字体。本发明能够基于对抗网络将任一印刷体的汉字迁移成另一印刷体,甚至对应某一人的手写体。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

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