像素级手写体汉字自动生成方法、存储设备、处理装置转让专利

申请号 : CN201710419826.5

文献号 : CN107392973B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张英华张文生

申请人 : 中国科学院自动化研究所

摘要 :

本发明涉及一种像素级手写体汉字自动生成方法、存储设备、处理装置,所述方法为将预设的输入向量和录入的汉字标签值输入经迭代训练优化后的最终生成网络模型,得到对应汉字标签值的手写体汉字图像;其中最终生成网络模型的生成步骤包括:基于预先构建的包含生成网络模型和判别网络模型的生成式对抗网络、对输入向量和各样本对应标签的值的初始化,获取各伪样本;迭代进行判别网络模型的参数优化、生成网络模型修正,直至满足迭代条件时输出最终生成网络模型。本发明可直接在像素级别上从随机向量中生成指定手写体汉字样本,具有不需要部件库的支撑、可大量获取、全自动生成、风格变化多样等优点。

权利要求 :

1.一种像素级手写体汉字生成方法,其特征在于,所述方法包括:将预设的输入向量和录入的汉字标签值输入经迭代训练优化后的最终生成网络模型,得到对应汉字标签值的手写体汉字图像;

其中,

所述最终生成网络模型的迭代训练优化步骤包括:

步骤S1,构建生成式对抗网络;所述生成式对抗网络包括生成网络模型和判别网络模型;

步骤S2,基于样本集合和样本集合中各样本对应的标签,对输入向量和各样本对应标签的值进行初始化;

步骤S3,将初始化后得到的输入向量和各样本对应标签的值输入所构建的生成网络模型,得到各伪样本;

步骤S4,基于所述样本集合和各样本对应的伪样本进行判别网络模型的参数优化,得到新的判别网络模型;

步骤S5,基于所述新的判别网络模型,计算所述生成网络模型的损失函数,并依据所述损失函数修正所述生成网络模型,得到新的生成网络模型;

步骤S6,返回步骤S4进行迭代,直至满足预设的迭代条件,保存此时的生成网络模型为最终生成网络模型;

其中,所述生成网络模型包括第一隐含层、三个反卷积层、输出层;所述第一隐含层与输入信息全连接,并对输入信息白化处理后将1024的一维向量重塑成1024个通道的4×4的特征图像;所述三个反卷积层依照数据处理顺序,每下一层通道数减半,特征图像尺寸增加一倍;所述输出层是采用sigmoid激活函数的反卷积层,结点个数为样本图像尺寸大小64×

64;

其中,所述判别网络模型为去除池化层后的全卷积网络,输出层为全连接层,采用sigmoid激活函数;其余各层均采用LReLU函数且进行白化处理;

其中,步骤S4在迭代过程中采用二元极小极大博弈的方法优化判别网络模型和生成网络模型各层网络权重;

其中,步骤S4中判别网络模型的优化目标是最大化生成样本来自于真实样本的概率值且最小化产生自生成网络模型的生成样本的概率值,根据预设的优化函数计算优化值,并在现有各层网络权值的基础上增加所计算的优化值后得到更新后的各层网络权值;

其中,所述预设的优化函数为

其中,x为样本集合,Pdata(x)为样本x真实分布,D(x|y)为标签y下样本x的在判别网络D中的概率值,z为随机向量,Pz(z)为先验随机分布,D(G(z|y))为标签y下随机向量z作为输入通过生成网络G产生的伪样本在判别网络D中的概率值,y为标签。

2.根据权利要求1所述的手写体汉字生成方法,其特征在于,所述第一隐含层、三个所述反卷积层中激活函数均为ReLU函数。

3.根据权利要求1所述的手写体汉字生成方法,其特征在于,所述预设的输入向量为随机初始化的输入向量Z,Z服从(-1,1)之间的均匀分布。

4.根据权利要求3所述的手写体汉字生成方法,其特征在于,所述各样本对应标签的值采用基于词袋模型的one-hot向量表示。

5.根据权利要求1所述的手写体汉字生成方法,其特征在于,步骤S5在迭代过程中采用二元极小极大博弈的方法优化判别网络模型和生成网络模型各层网络权重。

6.根据权利要求5所述的手写体汉字生成方法,其特征在于,步骤S5中生成网络模型的优化目标是最大化所输出的生成样本在判别网络中的概率值,根据所述预设的优化函数计算优化值,并在现有各层网络权值的基础上减少所计算的优化值后得到更新后的各层网络权值。

7.根据权利要求1-6中任一项所述的手写体汉字生成方法,其特征在于,步骤S6中预设的迭代条件为预设的迭代次数。

8.一种存储设备,其中存储有多条程序,其特征在于,所述程序适于由处理器加载并执行以实现权利要求1-7中任一项所述的手写体汉字生成方法中的内容。

9.一种处理装置,包括

处理器,适于执行各条程序;以及

存储设备,适于存储多条程序;

其特征在于,所述程序适于由处理器加载并执行以实现:

权利要求1-7中任一项所述的手写体汉字生成方法中的内容。

说明书 :

像素级手写体汉字自动生成方法、存储设备、处理装置

技术领域

[0001] 本发明涉及模式识别、机器学习技术领域,特别涉及一种像素级手写体汉字自动生成方法、存储设备、处理装置。

背景技术

[0002] 汉字字符集数量大、结构复杂、手写体风格变化万千,大量的手写体汉字数据样本有助于手写体识别的研究,可以为机器学习、模式识别提供大量的训练样本,还可以用于个性化字库、验证码生成等领域,但是,真实的手写体汉字数据样本获取难度大,且一般需要大量的预处理操作。
[0003] 传统模拟手写体汉字生成算法框架为:笔画提取、笔画匹配、统计结构信息和笔画合成等步骤,包含笔画、部首、单字等三层层次模型,需要构建空间布局模型、部件关系模型、笔画粗细计算模型等。传统算法步骤繁琐,需要部件库的支撑,且生成的汉字形变有限,无法满足量大、风格变化多样的需要。

发明内容

[0004] 为了解决现有技术中的上述问题,即为了解决传统算法步骤繁琐、风格变化有限的问题,本发明的一方面,提供了一种像素级手写体汉字生成方法,所述方法包括:
[0005] 将预设的输入向量和录入的汉字标签值输入经迭代训练优化后的最终生成网络模型,得到对应汉字标签值的手写体汉字图像;
[0006] 其中,
[0007] 所述最终生成网络模型的迭代训练优化步骤包括:
[0008] 步骤S1,构建生成式对抗网络;所述生成式对抗网络包括生成网络模型和判别网络模型;
[0009] 步骤S2,基于样本集合和样本集合中各样本对应的标签,对输入向量和各样本对应标签的值进行初始化;
[0010] 步骤S3,将初始化后得到的输入向量和各样本对应标签的值输入所构建的生成网络模型,得到各伪样本;
[0011] 步骤S4,基于所述样本集合和各样本对应的伪样本进行判别网络模型的参数优化,得到新的判别网络模型;
[0012] 步骤S5,基于所述新的判别网络模型,计算所述生成网络模型的损失函数,并依据所述损失函数修正所述生成网络模型,得到新的生成网络模型;
[0013] 步骤S6,返回步骤S4进行迭代,直至满足预设的迭代条件,保存此时的生成网络模型为最终生成网络模型。
[0014] 优选地,所述生成网络模型包括第一隐含层、三个反卷积层、输出层;所述第一隐含层与输入信息全连接,并对输入信息白化处理后将1024的一维向量重塑成1024个通道的4×4的特征图像;所述三个反卷积层依照数据处理顺序,每下一层通道数减半,特征图像尺寸增加一倍;所述输出层是采用sigmoid激活函数的反卷积层,结点个数为样本图像尺寸大小64×64。
[0015] 优选地,所述第一隐含层、三个所述反卷积层中激活函数均为ReLU函数。
[0016] 优选地,所述判别网络模型为去除池化层后的全卷积网络。输出层为全连接层,采用sigmoid激活函数;其余各层均采用LReLU函数且进行白化处理。
[0017] 优选地,所述预设的输入向量为随机初始化的输入向量Z,Z服从(-1,1)之间的均匀分布。
[0018] 优选地,所述各样本对应标签的值采用基于词袋模型的one-hot向量表示。
[0019] 优选地,步骤S4、步骤S5在迭代过程中采用二元极小极大博弈的方法优化判别网络模型和生成网络模型各层网络权重。
[0020] 优选地,步骤S4中判别网络模型的优化目标是最大化生成样本来自于真实样本的概率值且最小化产生自生成网络模型的生成样本的概率值,根据预设的优化函数计算优化值,并在现有各层网络权值的基础上增加所计算的优化值后得到更新后的各层网络权值;
[0021] 步骤S5中生成网络模型的优化目标是最大化所输出的生成样本在判别网络中的概率值,根据所述预设的优化函数计算优化值,并在现有各层网络权值的基础上减少所计算的优化值后得到更新后的各层网络权值。
[0022] 优选地,所述预设的优化函数为
[0023]
[0024] 其中,x为样本集合,Pdata(x)为样本x真实分布,D(x|y)为标签y下样本x的在判别网络D中的概率值,z为随机向量,Pz(z)为先验随机分布,D(G(z|y))为标签y下随机向量z作为输入通过生成网络G产生的伪样本在判别网络D中的概率值,y为标签。
[0025] 优选地,步骤S6中预设的迭代条件为预设的迭代次数。
[0026] 本发明的另一方面,提供了一种存储设备,其中存储有多条程序,其特征在于,所述程序适于由处理器加载并执行以实现上述的手写体汉字生成方法中的内容。
[0027] 本发明的第三方面,提供了一种处理装置,包括
[0028] 处理器,适于执行各条程序;以及
[0029] 存储设备,适于存储多条程序;
[0030] 其特征在于,所述程序适于由处理器加载并执行以实现:
[0031] 上述的手写体汉字生成方法中的内容。
[0032] 本发明的有益效果:
[0033] 可直接在像素级别上从随机向量中生成指定手写体汉字样本,具有不需要部件库的支撑、可大量获取、全自动生成、风格变化多样等优点。

附图说明

[0034] 图1是本发明像素级手写体汉字自动生成方法流程示意图;
[0035] 图2a是本发明生成网络模型的结构示意图;
[0036] 图2b是本发明判别网络模型的结构示意图;
[0037] 图3是本发明实施例一个输出效果示意图。

具体实施方式

[0038] 下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0039] 本发明采用生成式对抗网络GAN框架,包含生成网络模型G和判别网络模型D。生成网络模型的输入是随机向量和数据标签,输出是生成样本,优化目标是最大化所输出的生成样本在判别网络模型中的概率值;判别网络模型的输入是真实样本和生成样本,输出是一个标量,表示样本来自于真实样本的概率,优化目标使最大化真实样本的概率值且最小化产生自生成网络模型G的生成样本的概率值。
[0040] 本发明能够对该数据集样本进行对抗学习,在指定汉字类别的情况下,可将一随机向量转化成指定汉字的手写体图像。本发明采用条件对抗生成网络GAN进行手写体汉字自动生成。本发明的生成模型G和判别模型D的优化过程是一个“二元极小极大博弈”问题。
[0041] 生成网络模型G和判别网络模型D交替进行训练,固定一方,更新另一个模型的参数,交替迭代进行,使得对方的错误最大化,最终,G能估测出样本数据的分布即可生成像素级手写体汉字图像。
[0042] 为了详细说明本发明的具体实施方式,接下来以某手写体汉字数据集为例进行说明。该数据集包含300位真人手写的1121749个汉字样本,不同汉字总数为3755。为简化计算量,在此具体事例中,我们以生成常用的100个汉字为例说明:
[0043] char_set="的一是了我不人在他有这个上们来到时大地为子中你说生国年着就那和要她出也得里后自以会家可下而过天去能对小多然于心学么之都好看起发当没成只如事把还用第样道想作种开美总从无情己面最女但现前些所同日手又行意动"。
[0044] 该方法的核心在于用于像素级手写体汉字生成的最终生成网络模型的构件和训练。在像素级手写体汉字生成过程中,将预设的输入向量和录入的汉字标签值输入经迭代训练优化后的最终生成网络模型,即得到对应汉字标签值的手写体汉字图像,具体如图1所示。
[0045] 为了便于描述,对文中出现的部分变量进行定义:x表示样本集合,y表示样本标签,label_y表示样本标签对应的标签值,z表示随机初始化输入向量,fake_x表示伪样本集合。
[0046] 最终生成网络模型的迭代训练优化步骤包括:
[0047] 步骤S1,构建生成式对抗网络;所述生成式对抗网络包括生成网络模型G和判别网络模型D。
[0048] 在本发明实施例中,生成网络模型G的结构如图2a所示,包括第一隐含层、三个反卷积层、输出层;输入(k维噪声向量z和t维向量label_y,label_y为样本标签的标签值)全连接到第一隐含层经过白化处理(Batch Normalization)后再把1024的一维向量通过reshape函数重塑成1024个通道的4×4的特征图像(feature map);之后通过5×5卷积核经过三个反卷积层,生成网络中每下一层通道数减半,特征图像尺寸增加一倍;输出层是反卷积层,采用sigmoid激活函数,结点个数为样本图像尺寸大小64×64。第一隐含层、三个所述反卷积层中激活函数均为ReLU(Rectified linear unit,修正线性单元)函数。
[0049] 本发明实施例中,判别网络模型D如图2b所示,是一个去除池化层后的全卷积网络,输出层为全连接层,采用sigmoid激活函数;其余各层均采用LReLU函数且进行白化处理。判别网络模型D输出的是一个标量,表示输入数据属于训练数据而非生成样本的概率。
[0050] 其中,隐含层添加BatchNormalization算法操作是为了使得深层神经网络训练更加稳定,加快收敛速度用。ReLU、LReLU、BatchNormalizatio、sigmoid为本领域已有技术,在此不作赘述。
[0051] 步骤S2,基于样本集合和样本集合中各样本对应的标签,对输入向量z和各样本对应标签的值label_y进行随机初始化。
[0052] 步骤S3,将初始化后得到的输入向量z和各样本对应标签的值label_y输入所构建的生成网络模型G,得到各伪样本fake_x。
[0053] 本实施例中随机初始化输入向量z服从(-1,1)之间的均匀分布,维数k=100。label_y采用one-hot向量表示,维数t=100。基于词袋模型的one-hot向量生成技术属于本领域的现有技术,在此不作赘述。
[0054] 根据z、label_y和现有生成网络模型G的模型参数,前向传播计算得到fake_x,具体计算技术属于本领域的现有技术,在此不作赘述。
[0055] 步骤S4,基于所述样本集合x和步骤S3中得到的伪样本fake_x进行判别网络模型D的参数优化,得到新的判别网络模型D′。
[0056] 本实施例中判别网络模型的优化目标是最大化生成样本来自于真实样本的概率值且最小化产生自生成网络模型的生成样本的概率值,根据预设的优化函数计算优化值,并在现有各层网络权值的基础上增加所计算的优化值后得到更新后的各层网络权值。
[0057] 预设的优化函数如公式(1)所示:
[0058]
[0059] 公式(1)表示两个期望的加和,其中x为样本集合,Pdata(x)为样本x真实分布,D(x|y)为标签y下样本x的在判别网络D中的概率值,z为随机向量,Pz(z)为先验随机分布,D(G(z|y))为标签y下随机向量z作为输入通过生成网络G产生的伪样本在判别网络D中的概率值,y为标签。
[0060] 步骤S5,基于所述新的判别网络模型D′,计算所述生成网络模型的损失函数,并依据所述损失函数修正所述生成网络模型,得到新的生成网络模型G′。
[0061] 本实施例中生成网络模型的优化目标是最大化所输出的生成样本在判别网络中的概率值,根据所述预设的优化函数(1)计算优化值,并在现有各层网络权值的基础上减少所计算的优化值后得到更新后的各层网络权值。
[0062] 步骤S6,返回步骤S4进行迭代,直至满足预设的迭代条件,保存此时的生成网络模型为最终生成网络模型。
[0063] 本实施例在使用过程中,只需要将预设的输入向量和录入的汉字标签值输入经迭代训练优化后的上述最终生成网络模型,即可得到对应汉字标签值的手写体汉字图像。
[0064] 本实施例中,步骤S4、步骤S5在迭代过程中采用二元极小极大博弈的方法优化生成网络模型和判别网络模型各层网络权重。
[0065] 本实施例中预设的迭代条件为迭代次数,例如,可以采用迭代次数为8000次来结束迭代。
[0066] 本实施例中,步骤S4和步骤S5中涉及到的梯度计算为本领域现有技术,在目前开源的theano、tensorflow、keras等深度学习框架中均已封装实现,在本发明实施例中,实际开发环境为ubuntu+python+theano+tensorflow。
[0067] 如图3所示为把随机初始化向量z和代表“一、不、在、人、了、的”的one-hot向量label_y输入到训练完成的生成网络模型G中得到的手写体汉字图像的效果示意图。
[0068] 本发明一种实施例的存储设备,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述的手写体汉字生成方法中的内容。
[0069] 本发明一种实施例的处理装置,包括处理器、存储设备;处理器,适于执行各条程序;存储设备,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的手写体汉字生成方法中的内容。
[0070] 上述实施例中的存储设备包括但不限于随机存储器、闪存、只读存储器、可编程只读存储器、易失性存储器、非易失性存储器、串行存储器、并行存储器或寄存器等,处理器包括但不限于CPLD/FPGA、DSP、ARM处理器、MIPS处理器等。
[0071] 本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,PC程序和PC程序产品)。这样的实现本发明的程序可以存储在PC可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0072] 本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0073] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。