CN108804397B - 一种基于少量目标字体的汉字字体转换生成的方法 - Google Patents
一种基于少量目标字体的汉字字体转换生成的方法 Download PDFInfo
- Publication number
- CN108804397B CN108804397B CN201810598146.9A CN201810598146A CN108804397B CN 108804397 B CN108804397 B CN 108804397B CN 201810598146 A CN201810598146 A CN 201810598146A CN 108804397 B CN108804397 B CN 108804397B
- Authority
- CN
- China
- Prior art keywords
- font
- stroke
- target
- original
- chinese character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/287—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
Abstract
本发明提供了一个基于少量目标字体的汉字字体转换生成方法,包括下述步骤:(1)原字体笔画数据集和原字体‑目标字体数据集准备;(2)采用简单的图像降维和聚类算法,挑选出具有较高代表性的训练样本;(3)训练端到端的、基于深度笔画分离的字体转换(DeepSDFT)神经网络,保存网络参数;(4)利用DeepSDFT神经网络进行目标字体汉字自动生成,得到剩余的目标字体汉字。本发明提供的基于少量目标字体的汉字字体转换生成方法,无需人为交互、无需网络预训练,网络参数较少,可用于多种目标字体生成,实现了嵌入特征空间的可解释性,适用于字体设计辅助场景,实用性较强。
Description
技术领域
本发明属于图像处理的技术领域,尤其涉及一种基于少量目标字体的汉字字体转换生成的方法。
背景技术
文字充斥在现代生活的每个部分中,人们需要通过文字阅读大量不同媒介传播的信息,用风格化的文字往往可以在第一时间抓住阅读者的注意力。然而汉字的字符数量巨大,以中国国标汉字字体GB 18030-2000为例,共27533个汉字,即使是由专业的字体设计人员来设计一套完整的汉字字体,也需要2至3年的时间,效率较低。汉字字体自动生成是解决该问题的方法之一,根据已有的少量目标字体汉字,自动生成其余含目标风格的汉字,可以省去大量的人工设计,极大地缩短一套字体的设计时间。
现有的汉字字体自动生成方法大致可以分为三类。
第一类是参数化方法,用参数来定义字体的轮廓路径、笔画粗细、偏斜角度等。这类方法对字体描述精确、生成清晰,但是仅限于生成一种字体,并且需要大量人工调节适合的参数,效率较低。第二类是混合方法,利用已有的大量不同的风格化字体作为训练集,可以对不同字体做加权和,也可以学习一个高维空间中的字体流形,从而生成目标字体。这类方法需要的人工监督较少,但是需要大量的风格化字体,并且由于生成效果不确定,往往需要与使用者进行交互而调节。第三类是字体图像的转换方法,原字体和目标字体的图像各对应一个高维的数据空间,学习一个原字体空间到目标字体空间的映射。具体方法可分为三种子类。第一种是基于笔画拆分的方法,对一个汉字进行笔画拆分,然后两种字体的对应笔画进行映射转换,最后将转换后的笔画合并为一个汉字。这种方法往往需要大量的人工交互,并且笔画合并过程中需要不断调整笔画的形状、大小、位置等,生成速度较慢。第二种是基于字体风格和骨架分离的方法,首先用传统算法提取字体骨架,然后对两种骨架的进行关键点匹配并形变,最后再将目标字体风格的笔画应用在形变后的字体骨架上。这种方法生成效果准确,但要求两种字体骨架形状差别不可太大,且形变算法复杂度高。第三种是基于深度卷积网络的方法,训练网络学习一个原字体到目标字体的映射,该方法一般不需要人为干预,可以快速完成模型训练,但较为风格化的目标字体生成效果不稳定,并且需要大量的训练样本,不符合实际应用。
发明内容
本发明的主要目的是减少字体设计师的工作量,提供一个基于少量目标字体的汉字字体转换生成方法,训练端到端的深度神经网络,完成从原字体到目标字体的自动生成,无需人为操作和网络预训练,适用于多种目标字体,可用于辅助字体开发,提高开发效率。
为了达到上述目的,本发明采用以下技术方案:
本发明一种基于少量目标字体的汉字字体转换生成的方法,包括下述步骤:
(1)字体数据集准备,包括原字体笔画分类提取和原字体-目标字体对提取,所述原字体笔画数据集用于笔画分离步骤的网络训练,根据新华词典将汉字笔画种类,将原字体每个汉字笔画都拆分成横、竖、撇、捺、折五种,所述原字体-目标字体数据集用于训练DeepSDFT神经网络进行目标字体汉字自动生成;
(2)训练数据集挑选,使用PCA降维、t-SNE降维和K-means聚类方法,选出具有代表性的训练样本;
(3)训练基于深度笔画分离的字体转换DeepSDFT神经网络,保存训练完成的网络参数;所述基于深度笔画分离的字体转换DeepSDFT神经网络是一个端到端的神经网络,不需要网络预训练,可直接输入原字体笔画和原字体-目标字体对进行训练,训练过程不需人为调整,训练完成后即可进行目标字体的自动生成;
(4)利用DeepSDFT神经网络进行目标字体汉字自动生成,得到剩余的目标字体汉字。
作为优选的技术方案,所述步骤(1)中,字体数据集准备的步骤如下:
(1-1)调用聚合数据提供的新华字典API返回每个汉字的笔画信息及种类;
(1-2)楷体为原字体,提取makemeahanzi项目提供的每个楷体汉字的矢量笔画路径;
(1-3)根据步骤(1-1)中的笔画种类进行划分,把同种笔画对应的矢量笔画合并,并且转换为灰度图片,由此,完成了原字体的笔画数据集的制作;
(1-4)从每种字体的TrueType文件提取汉字并转换为图片,调整图片大小并保证字体居中,筛除没有在原字体和目标字体中同时存在的汉字,把两种字体对应的同一个汉字组成图像对,由此,完成了原字体-目标字体对训练集的制作。
作为优选的技术方案,所述步骤(2)中,训练数据集挑选的步骤如下:
(2-1)将每个大小为256×256的原字体汉字图像先下采样为128×128,拉伸为一维向量1×1282;
(2-2)使用主成分分析PCA方法将每个字体向量降至1×5000,保留原图的主要信息;
(2-3)使用t-SNE方法,将向量降至1×2大小,保持原图从高维到低维的性质基本不变;
(2-4)使用K-Means聚类算法,将原字体汉字分为100个簇,从每个簇中随机选出5个样本,则总共可以组成样本量为500的训练数据集。
作为优选的技术方案,所述步骤(3)中,DeepSDFT神经网络的组成及训练方法如下:
(3-1)笔画分离;
笔画分离是指由原字体到原字体某种笔画的转换,实现原字体笔画嵌入空间特征的分离,笔画分离由两个模块完成:笔画编码模块和笔画解码模块,笔画编码模块包含若干个笔画编码器Encs(X),笔画解码模块中有相应的笔画解码器Decs(X),下标s表示编码器的编号;新华词典将汉字笔画种类大致划分为五种:横、竖、撇、捺、折,根据此划分方法,定义笔画编码模块中有五种笔画编码器Encs(X),s=1,2,…,5,每种笔画编码器使用相同的网络结构,都由编码器的基本网络层堆叠而成;相应地,笔画解码模块中有对应的五种笔画解码器Decs(X),s=1,2,…,5,同样也具有相同的网络结构,由解码器的基本网络层堆叠而成;驱动笔画分离的动力是两种损失函数,两种损失函数分为为笔画的均方误差和笔画嵌入空间的L1距离;
(3-2)字体转换;
字体转换指根据已有的原字体特征,转换生成目标字体汉字,字体转换包括两个要点:多尺度特征提取和字体生成,也是由字体解码模块和字体编码模块共同完成;
多尺度特征是由原字体的整体和局部的特征融合而成,局部特征指上一步骤笔画分离提取的不同种类笔画的嵌入空间特征,整体特征指能使原字体被重建的特征,在字体编码模块中定义一个字体编码器Encfont(X),用于提取原字体的整体特征;对应地,在字体解码器中定义一个字体解码器Decfont(X),根据原字体的整体特征重建原字体汉字,两者也分别由编码器和解码器的基本网络层堆叠而成,用原字体的均方误差训练字体编码器和字体解码器;
此外,还设计了一个鉴别器模块D,鉴别器模块D包含一个鉴别器,输入是原字体-目标字体对,或者是原字体-生成字体对,对前者输出1,对后者输出0,而目标字体解码器需要尽量让鉴别器输出1,从而鉴别器和目标字体解码器形成了博弈关系,驱动目标字体编码器生成更接近目标字体风格的汉字。
作为优选的技术方案,步骤(3-1)中,笔画编码器由四个编码器的基本网络层组成,笔画解码器由四个解码器的基本网络层组成,笔画编码器第一个基本网络层和笔画解码器最后一个基本网络层不使用批归一化;解码器最后一个基本网络层使用tanh激活函数。
作为优选的技术方案,步骤(3-1)中,设原字体汉字图像为X,第s种笔画的图像为Xs,则两种误差的定义为:
笔画的均方误差:MSE(X,Xs)=(Decs(Encs(X))-Xs)2
作为优选的技术方案,步骤(3-2)中,采用多种损失函数进行组合优化,记总损失函数为L,其定义为:
L=γLMSE+αLCONST+βLcGAN+Ltv
其中,LMSE、LCONST、LcGAN、Ltv分别代表转换得到的目标字体汉字的均方误差、语义损失、条件生成对抗损失、整体变动损失;γ、α、β是用于均衡各项损失的系数;
记目标字体解码器Dectrans的输入为多尺度特征Emerged,输出为Xtrans,对应的目标汉字Ground Truth图为Y,Xtrans的上标i,j代表第i行、第j列的像素点,其中各项损失的计算方式如下:
Xtrans=Dectrans(Emerged)
LMSE=(Xtrans-Y)2
LCONST=|Encfont(Xtrans)-Encfont(Y)|
整个DeepSDFT网络的优化使用Adam算法,训练批大小为1,共训练100个周期,训练集大小为500个样本,图像大小为256×256,笔画编码器和字体编码器共由四个编码器基本网络层堆叠而成;笔画解码器和字体解码器共由四个解码器基本网络层堆叠而成;目标字体解码器在字体解码器的基础上,在网络最前端加上两个1×1卷积层,用于特征融合。
作为优选的技术方案,所述步骤(4)中,使用训练完成的DeepSDFT网络生成目标字体的步骤如下:
(4-1)加载训练完成的DeepSDFT神经网络参数;
(4-2)将原字体图像输入DeepSDFT神经网络,得到相应的目标字体图像;
(4-3)将生成的目标字体图像进行后处理,如转换为字体矢量图像、转为TrueType字体文件。
本发明与现有技术相比,具有如下优点和有益效果:
1.本发明针对汉字字体的设计,提出一种基于少量目标字体的汉字字体转换生成方法,作为字体设计的辅助,极大地减少字体设计人员的工作量,提高了字体开发的效率。
2.本发明提出了端到端的DeepSDFT神经网络,无需人为监督和调整,无需预训练,整体网络参数数量少,所需训练时间较少,符合实际应用场景。
3.本发明提出的汉字字体转换生成方法,可保持原字体不变,只需更换目标字体的种类,即可训练出不同目标字体对应的DeepSDFT网络。
4.本发明实现了字体笔画嵌入空间的分离,将字体笔画含义与字体嵌入空间特征联系起来,提高了神经网络特征的可解释性。
本发明可以运用到如下领域:
1.字体设计公司,辅助风格化字体设计,加快字体开发进程;
2.图像研究,对图像特征对应的语义进行解释;
3.图像生成,增进图像生成模型的质量。
附图说明
图1为本发明提出方法的整体流程图。
图2为DeepSDFT网络的内部结构图。
图3为编码器基本网络层的结构图。
图4为解码器基本网络层的结构图。
图5为1x1卷积示意图。
图6为跳跃连接示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
实施例如图1所示,本发明是一种基于少量目标字体的汉字字体转换生成的方法,输入位原字体汉字,依次进行笔画分离和字体转换。笔画分离由笔画编码模块和笔画解码模块完成,通过原字体到原字体笔画的转换,实现了原字体不同种类笔画的嵌入空间特征分离,作为原字体的局部特征。字体转换由字体编码模块、字体解码模块和鉴别器模块组成。字体编码模块提取原字体的整体特征;字体解码模块把原字体的整体特征和局部特征进行特征融合,形成原字体的多尺度特征,并转换生成目标字体汉字;鉴别器模块与字体解码模块形成博弈关系,驱动字体转换生成更高质量的图像。
本发明的汉字字体转换生成方法具体包括如下主要技术要点:
1.数据集准备;
本发明需要的数据集有两个:原字体笔画数据集和原字体-目标字体数据集。
原字体笔画数据集用于笔画分离步骤的网络训练,根据新华词典将汉字笔画种类大致划分为五种:横、竖、撇、捺、折。以这个划分标准,将原字体每个汉字笔画都拆分成五种,如汉字“大”,分别具有横、撇、捺,则这三种笔画被拆分开,其余两种笔画为缺省值。为了制作原字体汉字的笔画数据集,需要进行笔画信息提取和笔画路径提取。笔画信息提取由聚合数据平台中的新华字典API提供,用汉字的Unicode编码调用新华字典API,该API将以json格式返回该汉字的基本信息,包括笔画顺序、笔画种类等。笔画路径提取由makemeahanzi项目提供,每个汉字被存储为svg矢量格式,其中包含汉字每一个笔画的路径信息。将汉字笔画种类和笔画路径一一对应,就可以提取出特定种类的笔画图,储存为png图像格式。
原字体-目标字体数据集制作较为简便,直接从两种字体的TrueType文件提取字体,将对应同一汉字的图像组合成对,筛除没有同时在两种字体存在的非法图像,把剩余的合法图像转换为png图像格式。
2.训练样本挑选;
训练样本应该尽量覆盖汉字字体所有可能的结构和偏旁,本发明采用简单的图像降维和聚类算法,挑选出具有较高代表性的训练样本。具体步骤如下:
(1)将每个大小为256×256的原字体汉字图像先下采样为128×128,拉伸为一维向量1×1282;
(2)使用主成分分析(PCA)方法将每个字体向量降至1×5000,保留原图的主要信息;
(3)使用t-SNE方法,将向量降至1×2大小,保持原图从高维到低维的性质基本不变;
(4)使用K-Means聚类算法,将原字体汉字分为100个簇,从每个簇中随机选出5个样本,则总共可以组成样本量为500的训练数据集。
其中,PCA和t-SNE都是降维算法,但是原理和计算过程并不相同。PCA算法主要保留的是原向量的主要信息,t-SNE算法保持了数据从高维到低维的数据分布特性不被改变。此外,由于t-SNE算法复杂度较高,一般都会用PCA算法先对数据进行预降维。
3.DeepSDFT神经网络组成及训练方法;
如图2所示,针对汉字字体自动生成任务,我们设计了一个基于深度笔画分离的字体转换(DeepSDFT,Deep Stroke Disentagling based Font Transformation)网络,该网络由笔画编码模块、笔画解码模块、字体编码模块、字体解码模块、鉴别器模块组成。所有模块都基于深度卷积网络或反卷积网络,相对传统神经网络,所需参数数量较少,并且可以进行端到端训练,无需网络预训练、无需人为监督和交互,适用于实际场景。
DeepSDFT网络依次完成两个任务:
(1)笔画分离
笔画分离是指由原字体到原字体某种笔画的转换,实现原字体笔画嵌入空间特征的分离在一定程度上,联系了神经网络特征和实际语义,让神经网络的特征具有可解释性。嵌入空间特征是指输入X经过一个编码器(Encoder)之后被映射到低维的、保持原有X关键信息的特征Y,它往往可以再经过解码器(Decoder)反向映射到与X同样维度的数据空间,得到输出X’。
笔画分离由笔画编码模块和笔画解码模块共同完成。根据新华词典将汉字笔画划分为五种,在笔画编码模块中定义五种笔画编码器Encs(X),s=1,2,…,5,每种笔画编码器使用相同的网络结构,都由编码器的基本网络层堆叠而成。相应地,笔画解码模块中有对应的五种笔画解码器Decs(X),s=1,2,…,5,同样也具有相同的网络结构,由解码器的基本网络层堆叠而成。利用笔画编码器提取相应的笔画嵌入空间特征,再将此特征作为笔画解码器的输入,转换生成该笔画图像。
驱动笔画分离的动力是两种损失函数,笔画的均方误差和笔画嵌入空间的L1距离。设原字体汉字图像为X,第s种笔画的图像为Xs,则两种误差的定义为:
笔画的均方误差:(3-1)MSE(X,Xs)=(Decs(Encs(X))-Xs)2
MSE(X,Xs)的梯度从笔画解码器末端流向笔画编码器起点,的梯度从笔画编码器末端流向笔画编码器起点,两者分开优化。MSE(X,Xs)的可以推动解码器生成与正确笔画接近的图像,可以推动编码器提取与正确笔画相近的笔画嵌入空间。
笔画编码器由四个编码器的基本网络层组成,笔画解码器由四个解码器的基本网络层组成,笔画编码器第一个基本网络层和笔画解码器最后一个基本网络层不使用批归一化;解码器最后一个基本网络层使用tanh激活函数。
如图3所示,编码器的基本网络层依次进行三种操作:卷积、LReLU激活、批归一化。假设笔画编码器有L个基本网络层,则上标l代表第l个基本网络层,l∈{1,2,…,L},如果上标为0,表示输入层,即输入原字体汉字图像I。在第l层中,有M个不同的共享卷积核,下标j表示第j个卷积核,j∈{1,2,…,M}。输入第l-1层的特征Xl-1,用第j个卷积核对其进行卷积得到然后用负半轴斜率为0.2的Leakly ReLU(LReLU)函数对其进行激活,得到激活值最后进行批归一化(BN)得到第l层的输出Xl。卷积核大小设为4x4,卷积步长为2x2,步长设为2,每次反卷积输出的长宽各增大一倍。具体计算如下:
假设第l层共有M个共享卷积核,其中l,j∈Z,l≥1,l=1,2,…,L,j=1,2,…,M。
编码器的基本网络层进行堆叠,可以稳定地提取输入汉字图像的丰富特征,并且收敛速度较快。
同样,如图4所示,解码器的基本网络层也是三种操作的顺序执行:反卷积、ReLU激活、批归一化。反卷积是卷积的逆向操作,对于输入Xl-1,学习一个从低维空间映射到高维空间的反卷积核将其进行反卷积操作,映射为尺寸更大的输出然后用ReLU激活函数对其进行激活,得到输出激活值最后进行批归一化(BN)得到第l层的输出Xl。将反卷积核大小设为4x4,反卷积步长设为2x2,反卷积核大小是反卷积步长的整数倍,可以减缓反卷积产生的棋盘效应。同时,步长设为2,每次反卷积输出的长宽各增大一倍。具体计算如下:
假设第l层共有N个反卷积核,其中l,k∈Z,l≥1,l=1,2,…,L,k=1,2,…,N。
(2)字体转换
字体转换指根据已有的原字体特征,转换生成目标字体汉字。这一步主要包括两个要点:多尺度特征提取和字体生成,也是由字体解码模块和字体编码模块共同完成。
多尺度特征是由原字体的整体和局部的特征融合而成,局部特征指上一步骤笔画分离提取的不同种类笔画的嵌入空间特征,整体特征指能使原字体被重建的特征。在字体编码模块中定义一个字体编码器Encfont(X),用于提取原字体的整体特征;对应地,在字体解码器中定义一个字体解码器Decfont(X),根据原字体的整体特征重建原字体汉字。两者也分别由编码器和解码器的基本网络层堆叠而成。用原字体的均方误差训练字体编码器和字体解码器。
字体生成由字体解码模块中的目标字体解码器Dectrans完成,使用两个1×1卷积层先对原字体的整体和局部特征进行融合,形成特征通道数减少的多尺度特征,1×1卷积操作如图5所示,该操作保持特征大小不变,通道数减少,实现了特征的筛选和组合;再利用多尺度特征转换生成目标字体。目标字体解码器由两个1×1卷积层和四个解码器基本网络层组成。由于Dectrans的输入为字体或者笔画的嵌入特征,经过了编码器的降维,可能损失了一定的原字体信息,因此本方法采用了跳跃连接,弥补编码器造成的信息损失。如图6所示,跳跃连接将编码器同样大小的特征送入解码器,将特征进行深度拼接,一同进行解码器的下一次操作。
此外,还设计了一个鉴别器模块D,其中包含一个鉴别器,输入是原字体-目标字体对,或者是原字体-生成字体对,对前者输出1,对后者输出0。而目标字体解码器需要尽量让鉴别器输出1,从而鉴别器和目标字体解码器形成了博弈关系,驱动目标字体编码器生成更接近目标字体风格的汉字。
对于字体生成,采用多种损失函数对目标字体解码器进行优化。记总损失函数为L,其定义为:
(3-10)L=γLMSE+αLCONST+βLcGAN+Ltv
其中,LMSE、LCONST、LcGAN、Ltv分别代表转换得到的目标字体汉字的均方误差、语义损失、条件生成对抗损失、整体变动损失;γ、α、β是用于均衡各项损失的系数。记目标字体解码器Dectrans的输入为多尺度特征Emerged,输出为Xtrans,对应的目标汉字Ground Truth图为Y,Xtrans的上标i,j代表第i行、第j列的像素点。其中各项损失的计算方式如下:
(3-11)Xtrans=Dectrans(Emerged)
(3-12)LMSE=(Xtrans-Y)2
(3-13)LCONST=|Encfont(Xtrans)-Encfont(Y)|
LMSE和LCONST保证目标字体生成图像与Ground Truth字体图像形状接近,并且在字体嵌入空间上相近。LcGAN通过网络之间对抗的关系,使生成图像的风格接近目标字体风格。Ltv缩小在局部区域像素点差值,平滑生成结果。L的梯度从鉴别器末端和目标字体解码器末端流向目标解码器起点和字体编码器起点,同时优化网络不同部分。
DeepSDFT的训练方式为端到端,即上述提及的模块都是同时进行优化,不需要进行网络预训练和人为干涉,整体网络都只涉及卷积或者反卷积操作,参数数量较少。网络输入大小为256×256,使用自适应学习率的Adam算法进行各项损失的优化,训练批大小为1,训练数据集大小仅为500,共100个训练周期。
一旦DeepSDFT神经网络训练完成,则保存整个网络的参数。
4.使用DeepSDFT神经网络进行字体转换生成。
在目标字体自动生成阶段,直接进行以下步骤,即可得到目标字体剩余大量汉字:
(1)加载训练完成的DeepSDFT神经网络参数;
(2)将原字体图像输入DeepSDFT神经网络,得到相应的目标字体图像;
(3)将生成的目标字体图像进行后处理,如转换为字体矢量图像、转为TrueType字体文件等。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种基于少量目标字体的汉字字体转换生成的方法,其特征在于,包括下述步骤:
(1)字体数据集准备,包括原字体笔画分类提取和原字体-目标字体对提取,所述原字体笔画数据集用于笔画分离步骤的网络训练,根据新华词典的汉字笔画种类,将原字体每个汉字笔画都拆分成横、竖、撇、捺、折五种,所述原字体-目标字体数据集用于训练DeepSDFT神经网络进行目标字体汉字自动生成;
(2)训练数据集挑选,使用PCA降维、t-SNE降维和K-means聚类方法,选出具有代表性的训练样本;
(3)训练基于深度笔画分离的字体转换DeepSDFT神经网络,保存训练完成的网络参数;所述基于深度笔画分离的字体转换DeepSDFT神经网络是一个端到端的神经网络,不需要网络预训练,可直接输入原字体笔画和原字体-目标字体对进行训练,训练过程不需人为调整,训练完成后即可进行目标字体的自动生成;
(4)利用DeepSDFT神经网络进行目标字体汉字自动生成,得到剩余的目标字体汉字。
2.根据权利要求1所述基于少量目标字体的汉字字体转换生成的方法,其特征在于,所述步骤(1)中,字体数据集准备的步骤如下:
(1-1)调用聚合数据提供的新华字典API返回每个汉字的笔画信息及种类;
(1-2)楷体为原字体,提取makemeahanzi项目提供的每个楷体汉字的矢量笔画路径;
(1-3)根据步骤(1-1)中的笔画种类进行划分,把同种笔画对应的矢量笔画合并,并且转换为灰度图片,由此,完成了原字体的笔画数据集的制作;
(1-4)从每种字体的TrueType文件提取汉字并转换为图片,调整图片大小并保证字体居中,筛除没有在原字体和目标字体中同时存在的汉字,把两种字体对应的同一个汉字组成图像对,由此,完成了原字体-目标字体对训练集的制作。
3.根据权利要求1所述基于少量目标字体的汉字字体转换生成的方法,其特征在于,所述步骤(2)中,训练数据集挑选的步骤如下:
(2-1)将每个大小为256×256的原字体汉字图像先下采样为128×128,拉伸为一维向量1×1282;
(2-2)使用主成分分析PCA方法将每个字体向量降至1×5000,保留原图的主要信息;
(2-3)使用t-SNE方法,将向量降至1×2大小,保持原图从高维到低维的性质基本不变;
(2-4)使用K-Means聚类算法,将原字体汉字分为100个簇,从每个簇中随机选出5个样本,则总共可以组成样本量为500的训练数据集。
4.根据权利要求1所述基于少量目标字体的汉字字体转换生成的方法,其特征在于,所述步骤(3)中,DeepSDFT神经网络的组成及训练方法如下:
(3-1)笔画分离;
笔画分离是指由原字体到原字体某种笔画的转换,实现原字体笔画嵌入空间特征的分离,笔画分离由两个模块完成:笔画编码模块和笔画解码模块,笔画编码模块包含若干个笔画编码器Encs(X),笔画解码模块中有相应的笔画解码器Decs(X),下标s表示编码器、解码器的编号;新华词典将汉字笔画种类划分为五种:横、竖、撇、捺、折,根据此划分方法,定义笔画编码模块中有五种笔画编码器Encs(X),s=1,2,...,5,每种笔画编码器使用相同的网络结构,都由编码器的基本网络层堆叠而成;相应地,笔画解码模块中有对应的五种笔画解码器Decs(X),s=1,2,...,5,同样也具有相同的网络结构,由解码器的基本网络层堆叠而成;驱动笔画分离的动力是两种损失函数,两种损失函数分为笔画的均方误差和笔画嵌入空间的L1距离;
(3-2)字体转换;
字体转换指根据已有的原字体特征,转换生成目标字体汉字,字体转换包括两个要点:多尺度特征提取和字体生成,也是由字体解码模块和字体编码模块共同完成;
多尺度特征是由原字体的整体和局部的特征融合而成,局部特征指上一步骤笔画分离提取的不同种类笔画的嵌入空间特征,整体特征指能使原字体被重建的特征,在字体编码模块中定义一个字体编码器Encfont(X),用于提取原字体的整体特征;对应地,在字体解码器中定义一个字体解码器Decfont(X),根据原字体的整体特征重建原字体汉字,两者也分别由编码器和解码器的基本网络层堆叠而成,用原字体的均方误差训练字体编码器和字体解码器;
此外,还设计了一个鉴别器模块D,鉴别器模块D包含一个鉴别器,输入是原字体-目标字体对,或者是原字体-生成字体对,对前者输出1,对后者输出0,而目标字体解码器需要让鉴别器输出1,从而鉴别器和目标字体解码器形成了博弈关系,驱动目标字体编码器生成更接近目标字体风格的汉字。
5.根据权利要求4所述基于少量目标字体的汉字字体转换生成的方法,其特征在于,步骤(3-1)中,笔画编码器由四个编码器的基本网络层组成,笔画解码器由四个解码器的基本网络层组成,笔画编码器第一个基本网络层和笔画解码器最后一个基本网络层不使用批归一化;解码器最后一个基本网络层使用tanh激活函数。
7.根据权利要求4所述基于少量目标字体的汉字字体转换生成的方法,其特征在于,步骤(3-2)中,采用多种损失函数进行组合优化,记总损失函数为L,其定义为:
L=γLMSE+αLCONST+βLcGAN+Ltv
其中,LMSE、LCONST、LcGAN、Ltv分别代表转换得到的目标字体汉字的均方误差、语义损失、条件生成对抗损失、整体变动损失;γ、α、β是用于均衡各项损失的系数;
记目标字体解码器Dectrans的输入为多尺度特征Emerged,输出为Xtrans,对应的目标汉字Ground Truth图为Y,Xtrans的上标i,j代表第i行、第j列的像素点,其中各项损失的计算方式如下:
Xtrans=Dectrans(Emerged)
LMSE=(Xtrans-Y)2
LCONST=|Encfont(Xtrans)-Encfont(Y)|
整个DeepSDFT网络的优化使用Adam算法,训练批大小为1,共训练100个周期,训练集大小为500个样本,图像大小为256×256,笔画编码器和字体编码器共由四个编码器基本网络层堆叠而成;笔画解码器和字体解码器共由四个解码器基本网络层堆叠而成;目标字体解码器在字体解码器的基础上,在网络最前端加上两个1×1卷积层,用于特征融合。
8.根据权利要求1所述基于少量目标字体的汉字字体转换生成的方法,其特征在于,所述步骤(4)中,使用训练完成的DeepSDFT网络生成目标字体的步骤如下:
(4-1)加载训练完成的DeepSDFT神经网络参数;
(4-2)将原字体图像输入DeepSDFT神经网络,得到相应的目标字体图像;
(4-3)将生成的目标字体图像进行后处理,转换为字体矢量图像或转为TrueType字体文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810598146.9A CN108804397B (zh) | 2018-06-12 | 2018-06-12 | 一种基于少量目标字体的汉字字体转换生成的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810598146.9A CN108804397B (zh) | 2018-06-12 | 2018-06-12 | 一种基于少量目标字体的汉字字体转换生成的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804397A CN108804397A (zh) | 2018-11-13 |
CN108804397B true CN108804397B (zh) | 2021-07-20 |
Family
ID=64088476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810598146.9A Expired - Fee Related CN108804397B (zh) | 2018-06-12 | 2018-06-12 | 一种基于少量目标字体的汉字字体转换生成的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804397B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784330B (zh) * | 2019-01-03 | 2021-03-23 | 北京百度网讯科技有限公司 | 招牌内容识别方法、装置及设备 |
CN110135530B (zh) | 2019-05-16 | 2021-08-13 | 京东方科技集团股份有限公司 | 转换图像中汉字字体的方法及系统、计算机设备及介质 |
CN110222693B (zh) * | 2019-06-03 | 2022-03-08 | 第四范式(北京)技术有限公司 | 构建字符识别模型与识别字符的方法和装置 |
CN110211203A (zh) * | 2019-06-10 | 2019-09-06 | 大连民族大学 | 基于条件生成对抗网络的汉字字体的方法 |
CN110427989B (zh) * | 2019-07-18 | 2021-07-09 | 北京大学 | 汉字骨架自动合成方法及大规模中文字库自动生成方法 |
CN112329803B (zh) * | 2019-08-05 | 2022-08-26 | 北京大学 | 一种基于标准字形生成的自然场景文字识别方法 |
JP2021026191A (ja) * | 2019-08-08 | 2021-02-22 | ブラザー工業株式会社 | 学習済みの機械学習モデル、画像データ生成装置、および、方法 |
CN112115680B (zh) * | 2020-08-18 | 2023-01-10 | 天津洪恩完美未来教育科技有限公司 | 字体拆分方法、装置、计算机设备及计算机可读存储介质 |
CN112070658B (zh) * | 2020-08-25 | 2024-04-16 | 西安理工大学 | 一种基于深度学习的汉字字体风格迁移方法 |
DE102021109845A1 (de) | 2021-04-19 | 2022-10-20 | Technische Universität Darmstadt, Körperschaft des öffentlichen Rechts | Verfahren und Vorrichtung zur Erzeugung von optimierten Fonts |
CN113449787B (zh) * | 2021-06-23 | 2022-12-09 | 西安交通大学 | 基于汉字笔画结构的字体库补全方法及系统 |
CN114055483A (zh) * | 2021-09-30 | 2022-02-18 | 杭州未名信科科技有限公司 | 一种基于机械臂书写汉字的方法、装置、设备及介质 |
CN114970447A (zh) * | 2022-05-26 | 2022-08-30 | 华侨大学 | 一种汉字字体转换方法、装置、设备和存储介质 |
CN115497107B (zh) * | 2022-09-30 | 2023-04-18 | 江西师范大学 | 一种基于笔画和部首分解的零样本汉字识别方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898315B2 (en) * | 1998-03-23 | 2005-05-24 | Microsoft Corporation | Feature extraction for real-time pattern recognition using single curve per pattern analysis |
CN101604451A (zh) * | 2009-07-13 | 2009-12-16 | 浙江大学 | 一种基于形状语法的个人汉字手写字体自动仿写方法 |
CN102662922A (zh) * | 2012-04-12 | 2012-09-12 | 董月夕 | 一种以笔画为基本构件的智能中文字体设计方法和系统 |
CN104156725A (zh) * | 2014-08-14 | 2014-11-19 | 电子科技大学 | 一种新的基于笔画段间角度的汉字笔画组合方法 |
CN106503756A (zh) * | 2016-10-18 | 2017-03-15 | 上海子墨国际文化传播有限公司 | 基于图像轮廓化建立汉字笔迹模型的方法 |
CN107644006A (zh) * | 2017-09-29 | 2018-01-30 | 北京大学 | 一种基于深度神经网络的手写体中文字库自动生成方法 |
-
2018
- 2018-06-12 CN CN201810598146.9A patent/CN108804397B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898315B2 (en) * | 1998-03-23 | 2005-05-24 | Microsoft Corporation | Feature extraction for real-time pattern recognition using single curve per pattern analysis |
CN101604451A (zh) * | 2009-07-13 | 2009-12-16 | 浙江大学 | 一种基于形状语法的个人汉字手写字体自动仿写方法 |
CN102662922A (zh) * | 2012-04-12 | 2012-09-12 | 董月夕 | 一种以笔画为基本构件的智能中文字体设计方法和系统 |
CN104156725A (zh) * | 2014-08-14 | 2014-11-19 | 电子科技大学 | 一种新的基于笔画段间角度的汉字笔画组合方法 |
CN106503756A (zh) * | 2016-10-18 | 2017-03-15 | 上海子墨国际文化传播有限公司 | 基于图像轮廓化建立汉字笔迹模型的方法 |
CN107644006A (zh) * | 2017-09-29 | 2018-01-30 | 北京大学 | 一种基于深度神经网络的手写体中文字库自动生成方法 |
Non-Patent Citations (2)
Title |
---|
Neural net based complete character recognition scheme for Bangla printed text books;S K Alamgir Hossain 等;《IEEE》;20141231;全文 * |
面向特定字符集的脱机手写体文字识别算法研究;孙艺豪;《万方数据库》;20180415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108804397A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804397B (zh) | 一种基于少量目标字体的汉字字体转换生成的方法 | |
CN110210551B (zh) | 一种基于自适应主体敏感的视觉目标跟踪方法 | |
CN110503598B (zh) | 基于条件循环一致性生成对抗网络的字体风格迁移方法 | |
CN107577651B (zh) | 基于对抗网络的汉字字体迁移系统 | |
CN110516536B (zh) | 一种基于时序类别激活图互补的弱监督视频行为检测方法 | |
CN110533737A (zh) | 基于结构引导汉字字体生成的方法 | |
CN108710906B (zh) | 基于轻量级网络LightPointNet的实时点云模型分类方法 | |
CN111079795A (zh) | 基于cnn的分片多尺度特征融合的图像分类方法 | |
CN113870124B (zh) | 基于弱监督的双网络互激励学习阴影去除方法 | |
CN115620010A (zh) | 一种rgb-t双模态特征融合的语义分割方法 | |
CN115330620A (zh) | 一种基于循环生成对抗网络的图像去雾方法 | |
CN110852199A (zh) | 一种基于双帧编码解码模型的前景提取方法 | |
CN113837366A (zh) | 一种多风格字体生成方法 | |
CN113807176A (zh) | 一种基于多知识融合的小样本视频行为识别方法 | |
CN114757864A (zh) | 一种基于多尺度特征解耦的多层级细粒度图像生成方法 | |
CN111027433A (zh) | 一种基于卷积神经网络的多重风格人脸特征点检测方法 | |
CN114494284B (zh) | 一种基于显式监督区域关系的场景解析模型及方法 | |
CN116403133A (zh) | 一种基于YOLO v7改进的车辆检测算法 | |
CN115775316A (zh) | 基于多尺度注意力机制的图像语义分割方法 | |
Ren et al. | SAFont: Automatic Font Synthesis using Self-Attention Mechanisms. | |
CN112906829B (zh) | 一种基于Mnist数据集的数字识别模型构建方法及装置 | |
CN111461169B (zh) | 基于正反卷积和多层分支深度网络的行人属性识别方法 | |
CN114170460A (zh) | 一种基于多模态融合的艺术品分类方法及系统 | |
CN114638870A (zh) | 一种基于深度学习的室内场景单目图像深度估计方法 | |
CN115984911A (zh) | 属性生成对抗网络以及基于该网络的人脸图像连续变换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210720 |
|
CF01 | Termination of patent right due to non-payment of annual fee |