CN113657397B - 循环生成网络模型的训练方法、建立字库的方法和装置 - Google Patents
循环生成网络模型的训练方法、建立字库的方法和装置 Download PDFInfo
- Publication number
- CN113657397B CN113657397B CN202110945882.9A CN202110945882A CN113657397B CN 113657397 B CN113657397 B CN 113657397B CN 202110945882 A CN202110945882 A CN 202110945882A CN 113657397 B CN113657397 B CN 113657397B
- Authority
- CN
- China
- Prior art keywords
- word
- generation
- loss
- target domain
- model
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012549 training Methods 0.000 title claims abstract description 55
- 238000013145 classification model Methods 0.000 claims abstract description 54
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 28
- 239000013598 vector Substances 0.000 claims description 42
- 238000004364 calculation method Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 abstract description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 23
- 230000000694 effects Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/24—Character recognition characterised by the processing or recognition method
- G06V30/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
- G06V30/244—Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
- G06V30/245—Font recognition
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian 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/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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7796—Active pattern-learning, e.g. online learning of image or video features based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/12—Detection or correction of errors, e.g. by rescanning the pattern
-
- 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/18—Extraction of features or characteristics of the image
- G06V30/1801—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
- G06V30/18067—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Machine Translation (AREA)
Abstract
本公开提供了一种循环生成网络模型的训练方法和建立字库的方法,涉及人工智能领域,尤其涉及计算机视觉和深度学习技术,可应用于图像处理和图像识别等场景下。具体实现方案为:将源域样本字输入到循环生成网络模型,得到第一目标域生成字;通过将第一目标域生成字输入到经训练的字符分类模型,来计算循环生成网络模型的错字损失;通过将第一目标域生成字和预设的目标域样本字输入到字符分类模型,来计算循环生成网络模型的特征损失;以及根据错字损失和特征损失来调整循环生成网络模型的参数。本公开还提供了一种循环生成网络模型的训练装置、建立字库的方法和装置、电子设备和存储介质。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及计算机视觉和深度学习技术,可应用于图像处理和图像识别等场景下。更具体地,本公开提供了一种循环生成网络模型的训练方法和装置、建立字库的方法和装置、电子设备和存储介质。
背景技术
随着互联网的快速发展,人们对于图像风格多样性的需求越来越高,例如,各种风格字体的生成得到了广泛的研究和关注。
发明内容
本公开提供了一种循环生成网络模型的训练方法和装置、建立字库的方法和装置、电子设备和存储介质。
根据第一方面,提供了一种循环生成网络模型的训练方法,该方法包括:将源域样本字输入到循环生成网络模型,得到第一目标域生成字;通过将第一目标域生成字输入到经训练的字符分类模型,来计算循环生成网络模型的错字损失;通过将第一目标域生成字和预设的目标域样本字输入到字符分类模型,来计算循环生成网络模型的特征损失;以及根据错字损失和特征损失来调整循环生成网络模型的参数。
根据第二方面,提供了一种建立字库的方法,该方法包括:将源域输入字输入到循环生成网络模型,得到目标域新字;以及基于目标域新字建立字库;其中,循环生成网络模型是根据上述循环生成网络模型的训练方法训练得到的。
根据第三方面,提供了一种循环生成网络模型的训练装置,该装置包括:第一生成模块,用于将源域样本字输入到循环生成网络模型,得到第一目标域生成字;第一计算模块,用于通过将第一目标域生成字输入到经训练的字符分类模型,来计算循环生成网络模型的错字损失;第二计算模块,用于通过将第一目标域生成字和预设的目标域样本字输入到字符分类模型,来计算循环生成网络模型的特征损失;以及第一调整模块,用于根据错字损失和特征损失来调整循环生成网络模型的参数。
根据第四方面,提供了一种建立字库的装置,该装置包括:第三生成模块,用于将源域输入字输入到循环生成网络模型,得到目标域新字;以及建立字库模块,用于基于目标域新字建立字库;其中,循环生成网络模型是根据上述循环生成网络模型的训练装置来训练的。
根据第五方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用循环生成网络模型的训练方法和/或建立字库的方法的示例性系统架构示意图;
图2是根据本公开的一个实施例的循环生成网络模型的训练方法的流程图;
图3A是根据本公开的一个实施例的循环生成网络模型的训练方法的原理图;
图3B~3C是根据本公开的一个实施例的循环生成网络模型的结构原理图;
图4A~4B是根据本公开的一个实施例的特征损失的可视化效果图;
图5是根据本公开的一个实施例的使用特征损失的效果对比图;
图6是根据本公开的一个实施例的使用错字损失的效果对比图;
图7是根据本公开的一个实施例的使用循环生成网络模型基于源域样本字生成目标域生成字的效果图;
图8是根据本公开的一个实施例的建立字库的方法的流程图;
图9是根据本公开的一个实施例的循环生成网络模型的训练装置的框图;
图10是根据本公开的一个实施例的建立字库的装置的框图;
图11是根据本公开的一个实施例的循环生成网络模型的训练方法和/或建立字库的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
字体生成是图像风格迁移领域中的一项新兴任务,图像风格迁移是将一张图像在保持内容不变的情况下转换成另外一种风格,是深度学习应用的热门研究方向。
目前可以采用GAN(Generative Adversarial Networks,生成式对抗网络)模型来实现字体生成。但是在基于GAN模型的字体生成方案中,利用偏小数据量训练的网络,只能学习出一些相对较弱的特征,类似倾斜、大小、部分笔画的特征,无法学习出最具有用户风格的特征。也可以使用较大数据量训练的网络,虽然在风格上较强,但在训练集之外的汉字易产生错字。这些主流的研究成果,都很难达到字体级别的效果。
本公开的实施例提出了一种循环生成网络模型的训练方法以及使用该网络模型来建立字库的方法。通过使用循环生成网络CycleGAN(Cycle Generative AdversarialNetworks,循环生成对抗网络,简称循环生成网络)来实现字体生成,且使用字符分类模型引入错字损失和特征损失,来提高循环生成网络模型学习字体特征的能力,并减少生成错字的概率。
在本公开的实施例中,循环生成网络模型能够在源域和目标域之间,实现风格迁移。循环生成网络模型包括两个生成模型和两个判别模型。两个生成模型分别是GeneratorA2B和GeneratorB2A,GeneratorA2B用于将风格A的图像转换为风格B的图像,GeneratorB2A用于将风格B的图像转换为风格A的图像。两个判别模型分别是Discriminator A和Discriminator B,Discriminator A用于判别转换后的图像是否是属于风格A的图像,Discriminator B用于判别转换后的图像是否是属于风格B的图像。
在循环生成网络模型的训练过程中,两个生成模型的训练目标就是尽量生成具有目标域风格(或源域风格)的图像,而判别模型的训练目标是尽量将生成模型生成的图像与真实的目标域图像(或源域图像)区分开来。在训练过程中不断更新和优化生成模型和判别模型,使得两个生成模型实现风格迁移的能力越来越强,且两个判别模型判别生成图像和真实图像的能力也越来越强。
应注意,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1是根据本公开一个实施例的可以应用循环生成网络模型的训练方法和/或建立字库的方法的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括多个终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101通过网络102与服务器103进行交互,以接收或发送消息等。终端设备101可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机等等。
本公开实施例所提供的循环生成网络模型的训练方法和/或建立字库的方法中的至少之一一般可以由服务器103执行。相应地,本公开实施例所提供的循环生成网络模型的训练装置和/或建立字库的装置一般可以设置于服务器103中。本公开实施例所提供的循环生成网络模型的训练方法和/或建立字库的方法也可以由不同于服务器103且能够与终端设备101和/或服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的循环生成网络模型的训练装置和/或建立字库的装置也可以设置于不同于服务器103且能够与终端设备101和/或服务器103通信的服务器或服务器集群中
图2是根据本公开的一个实施例的循环生成网络模型的训练方法的流程图。
如图2所示,该循环生成网络模型的训练方法200可以包括操作S210~操作S240。
在操作S210,将源域样本字输入到循环生成网络模型,得到第一目标域生成字。
例如,源域样本字可以是具有源域字体风格的图像,源域字体风格可以是楷体、宋体或黑体等常规字体。第一目标域生成字可以是具有目标域字体风格的图像,目标域字体风格可以是用户手写字体风格或者其他艺术字字体风格。
将源域样本字输入到循环生成网络模型,循环生成网络模型输出第一目标域生成字。例如,将包含楷体字“做”的图像输入到循环生成网络模型,循环生成网络模型可以输出包含手写字“做”的图像。
在操作S220,通过将第一目标域生成字输入到经训练的字符分类模型,来计算循环生成网络模型的错字损失。
例如,经训练的字符分类模型可以是采用VGG19(Visual Geometry Group19)网络训练得到的。字符分类模型的训练样本可以是包含多种字体的图像,例如训练样本可以是包含了80多种字体和6700多个字的约45万张的图像。
将第一目标域生成字输入到上述字符分类模型,上述字符分类模型可以输出针对该第一目标域生成字的生成字符向量针对上述第一目标域生成字,预设有标准字符向量/>xi表示生成字符向量中下标为i的元素,yi表示标准字符向量中下标为i的元素,i为大于等于0并且小于等于n的整数,n表示生成字符向量/>和标准字符向量/>中的元素个数。
根据第一目标域生成字的生成字符向量和标准字符向量/>之间的差异,可以确定一个损失。该损失可以称为错字损失,错字损失可以用来约束循环生成网络模型输出的第一目标域生成字的错字率,从而减少循环生成网络模型生成错字的概率。
在操作S230,通过将第一目标域生成字和预设的目标域样本字输入到字符分类模型,来计算循环生成网络模型的特征损失。
例如,第一目标域生成字是循环生成网络模型生成的包含手写字“做”的图像,目标域样本字是真实的包含手写字“做”字的图像,该真实的包含手写字“做”的图像可以是用户真实手写的字所生成图像。该用户真实手写的字所生成图像的获取可以来自于公开数据集,或者是经过了用户的授权。
字符分类模型可以包括多个特征层(例如90个特征层),将第一目标域生成字输入到循环生成网络模型,可以得到每一层输出的生成特征图。将目标域样本字输入到循环生成网络模型,可以得到每一层输出的样本特征图。
针对每一层特征层输出的生成特征图和样本特征图之间的差异,可以确定该层的特征损失。在一个示例中,可以选取多层特征层中的至少一个预设层(例如第45层和第46层)的特征损失之和作为总体的特征损失。
上述总体的特征损失可以用来使循环生成网络模型学习第一目标域生成字和目标域样本字之间差别较大的特征,从而使循环生成网络模型学习出更多的字体细节,提高循环生成网络模型学习字体特征的能力。
在操作S240,根据错字损失和特征损失来调整循环生成网络模型的参数。
例如,可以根据上述错字损失和特征损失的总和,来调整循环生成网络模型的参数,得到更新的循环生成网络模型。针对下一个源域样本字,使用更新的循环生成网络模型,返回操作S210,重复进行训练,直至达到预设的训练停止条件,则停止调整生成模型的参数,得到经训练的循环生成网络模型。训练停止条件可以包括上述错字损失和特征损失之和收敛等。
本公开的实施例通过使用循环生成网络模型基于源域样本字来生成目标域生成字,能够实现多种风格的字体生成。此外,通过使用字符分类模型引入错字损失和特征损失,能够提高循环生成网络模型学习字体特征的能力,并减少生成错字的概率。
图3A是根据本公开的一个实施例的循环生成网络模型的训练方法的原理图。
图3B~3C是根据本公开的一个实施例的循环生成网络模型的结构原理图。
如图3A所示,该原理图包括循环生成网络模型310和字符分类模型320。将源域样本字301输入到循环生成网络模型310,得到第一目标域生成字302,根据源域样本字301、第一目标域生成字302以及目标域样本字304,可以计算循环生成网络模型310的生成损失3101。将第一目标域生成字302和目标域样本字304输入到字符分类模型320,根据字符分类模型320的输出结果可以计算错字损失3201和特征损失3202。
根据生成损失3101、错字损失3201和特征损失3202可以调整循环生成网络模型310的参数。
如图3B和3C所示,循环生成网络模型310包括第一生成模型311、第二生成模型312、第一判别模型313和第二判别模型314。第一生成模型311用于将源域字体风格的图像转换为目标域字体风格的图像,第二生成模型312用于将目标域字体风格的图像转换为源域字体风格的图像。第一判别模型313用于判别转换后的图像是否是属于源域字体风格的图像,第二判别模型314用于判别转换后的图像是否是属于目标域字体风格的图像。
基于上述循环生成网络模型310的结构,循环生成网络模型310可以包括两个循环工作过程。图3B所示为循环生成网络模型310的第一个循环工作过程:将源域样本字输入到第一生成模型311,得到第一目标域生成字,并将第一目标域生成字输入到第二生成模型312,得到第一源域生成字。图3C所示为循环生成网络模型310的第二个循环工作过程:将目标域样本字输入到第二生成模型312,得到第二源域生成字,并将第二源域生成字输入到第一生成模型311,得到第二目标域生成字。从而循环生成网络模型310的样本可以是未配对的图像,无须建立训练数据间的一对一映射。
循环生成网络模型310的损失包括生成损失3101和判别损失。下面对循环生成网络模型310的生成损失3101和判别损失进行说明。
如图3B所示,为循环生成网络模型310的第一个循环工作过程:将源域样本字301(例如包含楷体字的图像,简称楷体字图像)输入到第一生成模型311,得到第一目标域生成字302(例如包含手写字的图像,简称手写字图像)。将第一目标域生成字302(手写字图像)输入到第二生成模型312,得到第一源域生成字(楷体字图像)。
在第一个循环工作过程中,源域样本字301是真实的楷体字图像,而第一源域生成字303是模型生成的楷体字图像,可以称为假的楷体字图像。第一目标域生成字302是模型生成的手写字图像,可以称为假的手写字图像。在训练过程中,可以标注源域样本字301为真Real(例如值为1),标注第一目标域生成字302为假Fake(例如值为0)。
将源域样本字301输入到第一判别模型313,对于第一判别模型313来说,预期输出应为1。如果第一判别模型313实际输出为X,使用均方差计算第一判别模型313的损失,则第一判别模型313的一部分损失可以表示为(X-1)2。
将第一目标域生成字302输入到第二判别模型314,对于第二判别模型314来说,预期输出应为0。如果第二判别模型314实际输出为Y*(为便于区分,可以使用带*的参数表示该参数与模型生成的图像相关,不带*的参数表示该参数与真实的图像相关),使用均方差计算第二判别模型314的损失,则第二判别模型314的一部分损失可以表示为(Y*-0)2。
将第一目标域生成字302输入到第二判别模型314,对于第一生成模型311来说,期望第二判别模型314输出为1。如果第二判别模型314实际输出为Y*,使用均方差计算第一生成模型311的损失,则第一生成模型311的一部分损失可以表示为(Y*-1)2。
为了保证将源域样本字301输入到第一生成模型311得到的第一源域生成字303仅仅是风格转换,内容保持不变,可以针对第一生成模型311增加一个cycle-consistencyloss(循环一致性损失)。该损失可以根据源域样本字301和第一源域生成字303之间的差异计算得到。例如,将源域样本字301和第一源域生成字303这两张图像的每个对应像素点的像素值作差,并求绝对值,得到每个像素点的差异,将所有像素点的差异求和得到第一生成模型311的循环一致性损失,可以记为L1A2B。
因此,第一生成模型311的一部分损失为(Y*-1)2,另一部分损失为L1A2B,这两部分损失之和作为第一生成模型311的总体损失LA2B,第一生成模型311的总体损失LA2B可以用如下等式(1)表示:
LA2B=(Y*-1)2+L1A2B (1)
如图3C所示,为循环生成网络模型310的第二个循环工作过程:将目标域样本字304(例如包含手写字的图像,简称手写字图像)输入到第二生成模型312,得到第二源域生成字305(例如包含楷体字的图像,简称楷体字图像)。将第二源域生成字305(楷体字图像)输入到第一生成模型311,得到第二目标域生成字306(手写字图像)。
在第二个循环工作过程中,目标域样本字304是真实手写字图像,第二目标域生成字306是模型生成的手写字图像,可以称为假的手写字图像。第二源域生成字305是模型生成的楷体字图像,可以称为假的楷体字图像。在训练过程中,可以标注目标域样本字304为真Real(例如值为1),标注第二源域生成字305为假Fake(例如值为0)。
将目标域样本字304输入到第二判别模型314,对于第二判别模型314来说,预期输出应为1,如果第二判别模型314实际输出为Y,使用均方差计算第二判别模型314的损失,则第二判别模型314的一部分损失可以表示为(Y-1)2。
将第二源域生成字305输入到第一判别模型313,对于第一判别模型313来说,预期输出应为0。如果第一判别模型313实际输出为X*,使用均方差计算第一判别模型313的损失,则第一判别模型313的一部分损失可以表示为(X*-0)2。
将第二源域生成字305输入到第一判别模型313,对于第二生成模型312来说,期望第一判别模型313输出为1。如果第一判别模型313实际输出为X*,使用均方差计算第二生成模型312的损失,则第二生成模型312的一部分损失可以表示为(X*-1)2。
为了保证将目标域样本字304输入到第二生成模型312得到的第二目标域生成字306仅仅是风格转换,内容保持不变,可以针对第二生成模型312增加一个cycle-consistency loss(循环一致性损失)。该损失可以根据目标域样本字304和第二目标域生成字306之间的差异计算得到。例如,将目标域样本字304和第二目标域生成字306这两张图像的每个对应像素点的像素值作差,并求绝对值,得到每个像素点的差异,将所有像素点的差异求和得到第二生成模型312的循环一致性损失,可以记为L1B2A。
因此,第二生成模型312的一部分损失为(X*-1)2,另一部分损失为L1B2A,这两部分损失之和作为第二生成模型312的总体损失LB2A,第二生成模型312的总体损失LB2A可以用如下等式(2)表示:
LB2A=(X*-1)2+L1B2A (2)
第一生成模型311的总体损失LA2B以及第二生成模型312的总体损失LB2A之和可以作为循环生成网络模型310的生成损失3101,生成损失3101可以用如下等式(3)表示:
LG=(Y*-1)2+L1A2B+(X*-1)2+L1B2A (3)
其中,LG表示循环生成网络模型310的生成损失3101,可以用于调整第一生成模型311和第二生成模型312的参数。
循环生成网络模型310的判别损失包括第一判别模型313的判别损失和第二判别模型314的判别损失。
根据图3B计算出第一判别模型313的一部分损失为(X-1)2,并根据图3C计算出第一判别模型313的另一部分损失为(X*-0)2,则两部分损失之和可以作为第一判别模型313的判别损失,第一判别模型313的判别损失LA可以用如下等式(4)表示:
LA=(X-1)2+(X*-0)2 (4)
第一判别模型313的判别损失LA可用于调整第一判别模型313的参数。
类似地,根据图3B计算出第二判别模型314的一部分损失为(Y*-0)2,并根据图3C计算出第二判别模型314的另一部分损失为(Y-1)2,则两部分损失之和可以作为第二判别模型314的判别损失,第二判别模型314的判别损失LB可以用如下等式(5)表示:
LB=(Y-1)2+(Y*-0)2 (5)
第二判别模型314的判别损失LB可用于调整第二判别模型314的参数。
下面对字符分类模型320产生的错字损失3201和特征损失3202进行说明。
如图3A所示,将第一目标域生成字302输入到字符分类模型320,得到该第一目标域生成字302的生成字符向量其中,向量/>中每个元素可以表示训练样本中的一个字符,则n表示训练样本中的字符个数,例如,训练样本具有6761个字,则n可以等于6760。
标准字符向量良示将第一目标域生成字302输入到上述字符分类模型320,上述字符分类模型320应该输出的向量。例如,第一目标域生成字302是“做”字,“做”字在训练样本中的n个字中位于第一个,则“做”字的标准字符向量可以表示为/>
其中,LC表示错字损失3201,xi表示生成字符向量中下标为i的元素,yi表示标准字符向量中下标为i的元素,i为大于等于0并且小于等于n的整数,n表示生成字符向量和标准字符向量中的元素个数。
根据本公开的实施例,错字损失3201可以用来约束循环生成网络模型310输出的第一目标域生成字302的错字率,从而减少循环生成网络模型310生成错字的概率。
字符分类模型320可以包括多个特征层(例如90个特征层),将第一目标域生成字302输入到循环生成网络模型310,可以得到每一层输出的生成特征图。将目标域样本字304输入到循环生成网络模型310,可以得到每一层输出的样本特征图。
针对每一特征层输出的生成特征图和样本特征图之间的像素差异,可以确定该层的像素损失。例如,在每一特征层,将该特征层输出的生成特征图和样本特征图这两张图像的每个对应像素点的像素值作差,并求绝对值,得到每个像素点的差异,将所有像素点的差异求和得到该特征层的像素损失。
可以选取多层特征层中的至少一个预设层(例如第45层和第46层)的像素损失之和作为特征损失3202。
上述特征损失3202可以用来调整第一生成模型311的参数,使循环生成网络模型310学习第一目标域生成字302和目标域样本字304之间差别较大的特征,从而使循环生成网络模型310学习出更多的字体细节,提高循环生成网络模型学习字体特征的能力。
图4A~4B是根据本公开的一个实施例的特征损失的可视化效果图。
如图4A所示,目标域样本字401是真实的包含手写字“神”的图像,即目标域样本字401中的“神”字是用户的真实手写字。第一目标域生成字402为循环生成网络模型生成的包含手写字“神”的图像,目标域样本字401和第一目标域生成字402的大小均为256*256。目标域样本字401和第一目标域生成字402输入到字符分类模型,在字符分类模型的第一预设层分别输出样本特征图和样本特征图,样本特征图和样本特征图的大小均为64*64,将这两张64*64的图像进行像素差异计算后,得到表示该两张图像之间差异的热力效果图403。热力效果图403也是64*64的图像,热力效果图403中颜色越深的地方表示目标域样本字401和第一目标域生成字402之间的差别越大,可以使得循环生成网络模型更加专注于学习热力效果图403中颜色较深的部位的特征,来提高循环生成网络模型学习特征的能力。
类似地,如图4B所示,目标域样本字401和第一目标域生成字402输入到字符分类模型,在字符分类模型的第二预设层分别输出样本特征图和样本特征图,样本特征图和样本特征图的大小均为32*32,将这两张32*32的图像进行像素差异计算后,得到表示该两张图像之间差异的热力效果图404。热力效果图404也是32*32的图像,热力效果图404中颜色越深的地方表示目标域样本字401和第一目标域生成字402之间的差别越大,可以使得循环生成网络模型更加专注于学习热力效果图404中颜色较深的部位的特征,来提高循环生成网络模型学习特征的能力。
可以理解,可以结合热力效果图403和热力效果图404,共同使得循环生成网络模型学习目标域样本字401和第一目标域生成字402之间的差别较大的特征,来提高循环生成网络模型学习特征的能力。
图5是根据本公开的一个实施例的使用特征损失的效果对比图。
如图5所示,图像501是真实的包含手写字“彤”的图像,即图像501中的“彤”字是用户的真实手写字。图像502是没有使用特征损失约束循环生成网络模型而生成的包含手写字“彤”的图像。图像503是使用特征损失约束循环生成网络模型而生成的包含手写字“彤”的图像。相比于图像502中的“彤”字,图像503中的“彤”字学习到了真实用户手写的“彤”字(即图像501中的“彤”字)更多的特征,与真实用户手写的“彤”字更相似。
图6是根据本公开的一个实施例的使用错字损失的效果对比图。
如图6所示,图像601是没有使用错字损失约束循环生成网络模型而生成的包含手写字“伶”的图像。图像602是使用错字损失约束循环生成网络模型而生成的包含手写字“伶”的图像。图像601中的“伶”字相比于正确的“伶”字少了一点,而图像602中的“伶”字则是正确的“伶”字。因此,使用错字损失约束循环生成网络模型能够学习到正确的字,降低错字率。
图7是根据本公开的一个实施例的使用循环生成网络模型基于源域样本字生成目标域生成字的效果图。
如图7所示,图像701中的字是用户真实手写的字,图像702中的字是循环生成网络模型生成的字,图像702中的字具有用户真实手写的字的字体风格。
本公开的实施例通过使用循环生成网络模型基于源域样本字来生成目标域生成字,能够实现多种风格的字体生成,且使用字符分类模型引入错字损失和特征损失,能够提高循环生成网络模型学习字体特征的能力,并减少生成错字的概率。
图8是根据本公开的一个实施例的建立字库的方法的流程图。
如图8所示,该建立字库的方法800包括操作S810~S820。
在操作S810,将源域输入字输入到循环生成网络模型,得到目标域新字。
循环生成网络模型是根据循环生成网络模型的训练方法训练得到的。
例如,源域输入字为楷体字图像,新字为手写字图像,将楷体字图像输入到循环生成网络模型,可以得到手写字图像。
在操作S820,基于目标域新字建立字库。
例如,将循环生成网络模型生成的新字进行存储,建立得到具有手写字体风格的字库,该字库可应用于输入法,用户使用基于该字库的输入法可以直接获取具有手写字体风格的字,能够满足了用户多样化的需求,提高了用户体验。
图9是根据本公开的一个实施例的循环生成网络模型的训练装置的框图。
如图9所示,该循环生成网络模型900可以包括第一生成模块901、第一计算模块902、第二计算模块903和第一调整模块904。
第一生成模块901用于将源域样本字输入到循环生成网络模型,得到第一目标域生成字。
第一计算模块902用于通过将第一目标域生成字输入到经训练的字符分类模型,来计算循环生成网络模型的错字损失。
第二计算模块903用于通过将第一目标域生成字和预设的目标域样本字输入到字符分类模型,来计算循环生成网络模型的特征损失。
第一调整模块904用于根据错字损失和特征损失来调整循环生成网络模型的参数。
根据本公开的实施例,第一计算模块902包括字符向量生成单元和错字损失计算单元。
字符向量生成单元用于将第一目标域生成字输入到经训练的字符分类模型,得到第一目标域生成字的生成字符向量。
错字损失计算单元用于根据生成字符向量与预设的标准字符向量之间的差异,计算错字损失。
根据本公开的实施例,错字损失计算单元用于根据以下等式来计算错字损失LC:
其中,LC表示错字损失,xi表示生成字符向量中下标为i的元素,yi表示标准字符向量中下标为i的元素,i为大于等于0并且小于等于n的整数,n表示生成字符向量和标准字符向量中的元素个数。
根据本公开的实施例,字符分类模型包括多个特征层,第二计算模块903包括第一特征图生成单元、第二特征图生成单元和特征损失计算单元。
第一特征图生成单元用于将第一目标域生成字输入到字符分类模型,得到字符分类模型的每个特征层输出的生成特征图。
第二特征图生成单元用于将目标域样本字输入到字符分类模型,得到字符分类模型的每个特征层输出的样本特征图。
特征损失计算单元用于根据至少一个特征层的生成特征图和样本特征图之间的差异,计算特征损失。
根据本公开的实施例,特征损失计算单元包括像素损失计算子单元和特征损失计算子单元。
像素损失计算子单元用于针对至少一个特征层中的每一层,计算该特征层的生成特征图和样本特征图之间的像素差异,得到该特征层的像素损失。
特征损失计算子单元用于根据至少一个特征层的像素损失,计算特征损失。
根据本公开的实施例,像素损失计算子单元用于针对生成特征图中的每个位置的像素点,计算该像素点的像素值与样本特征图中对应位置的像素点的像素值之间的差值的绝对值,得到针对每个位置的像素点的差异;以及根据针对多个位置的像素点的差异,确定生成特征图和样本特征图之间的像素差异。
根据本公开的实施例,循环生成网络模型包括第一生成模型和第二生成模型;第一生成模块用于将源域样本字输入到第一生成模型,得到第一目标域生成字和第一源域生成字。该装置还包括:第二生成模块,用于将目标域样本字输入到第二生成网络,得到第二目标域生成字和第二源域生成字;第三计算模块,用于根据源域样本字、第一目标域生成字、第一源域生成字、目标域样本字、第二目标域生成字和第二源域生成字,计算循环生成网络模型的生成损失;以及第二调整模块,用于根据生成损失调整第一生成模型的参数。
根据本公开的实施例,第一调整模块用于根据错字损失和特征损失来调整第一生成模型的参数。
根据本公开的实施例,源域样本字为具有源域字体风格的图像,目标域样本字为具有目标域字体风格的图像。
图10是根据本公开的一个实施例的建立字库的装置的框图。
如图10所示,该建立字库的装置1000可以包括第三生成模块和建立字库模块。
第三生成模块,用于将源域输入字输入到循环生成网络模型,得到目标域新字。
建立字库模块,用于基于目标域新字建立字库。
循环生成网络模型是根据上述循环生成网络模型的训练装置来训练的。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如循环生成网络模型的训练方法和/或建立字库的方法。例如,在一些实施例中,循环生成网络模型的训练方法和/或建立字库的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的循环生成网络模型的训练方法和/或建立字库的方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行循环生成网络模型的训练方法和/或建立字库的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (16)
1.一种循环生成网络模型的训练方法,包括:
将源域样本字输入到所述循环生成网络模型,得到第一目标域生成字;
通过将第一目标域生成字输入到经训练的字符分类模型,来计算所述循环生成网络模型的错字损失;
通过将第一目标域生成字和预设的目标域样本字输入到所述字符分类模型,来计算所述循环生成网络模型的特征损失;以及
根据所述错字损失和特征损失来调整所述循环生成网络模型的参数;
其中,所述字符分类模型包括多个特征层,所述通过将第一目标域生成字和预设的目标域样本字输入到所述字符分类模型,来计算所述循环生成网络模型的特征损失包括:
将所述第一目标域生成字输入到所述字符分类模型,得到所述字符分类模型的每个特征层输出的生成特征图;
将所述目标域样本字输入到所述字符分类模型,得到所述字符分类模型的每个特征层输出的样本特征图;以及
根据至少一个特征层的生成特征图和样本特征图之间的差异,计算所述特征损失;
其中,所述计算所述特征损失包括:
针对所述至少一个特征层中的每一层,计算该特征层的生成特征图和样本特征图之间的像素差异,得到该特征层的像素损失;以及
根据所述至少一个特征层的像素损失,计算所述特征损失;
其中,所述计算该特征层的生成特征图和样本特征图之间的像素差异包括:
针对所述生成特征图中的每个位置的像素点,计算该像素点的像素值与所述样本特征图中对应位置的像素点的像素值之间的差值的绝对值,得到针对每个位置的像素点的差异;以及
根据针对多个位置的像素点的差异,确定所述生成特征图和样本特征图之间的像素差异。
2. 根据权利要求1所述的方法,其中,所述通过将第一目标域生成字输入到经训练的字符分类模型,来计算所述循环生成网络模型的错字损失包括:
将所述第一目标域生成字输入到经训练的字符分类模型,得到所述第一目标域生成字的生成字符向量;以及
根据所述生成字符向量与预设的标准字符向量之间的差异,计算所述错字损失。
4.根据权利要求1所述的方法,其中,所述循环生成网络模型包括第一生成模型和第二生成模型;所述将源域样本字输入到所述循环生成网络模型,得到第一目标域生成字包括:
将源域样本字输入到所述第一生成模型,得到所述第一目标域生成字和第一源域生成字;
所述方法还包括:
将目标域样本字输入到所述第二生成模型,得到第二目标域生成字和第二源域生成字;
根据所述源域样本字、第一目标域生成字、第一源域生成字、目标域样本字、第二目标域生成字和第二源域生成字,计算所述循环生成网络模型的生成损失;以及
根据所述生成损失调整所述第一生成模型的参数。
5.根据权利要求4所述的方法,其中,所述根据所述错字损失和特征损失来调整所述循环生成网络模型的参数包括:
根据所述错字损失和特征损失来调整所述第一生成模型的参数。
6.根据权利要求1至5中任一项所述的方法,其中,所述源域样本字为具有源域字体风格的图像,所述目标域样本字为具有目标域字体风格的图像。
7.一种建立字库的方法,包括:
将源域输入字输入到循环生成网络模型,得到目标域新字;以及
基于所述目标域新字建立字库;
其中,所述循环生成网络模型是根据如权利要求1至6中任一项所述的方法来训练得到的。
8.一种循环生成网络模型的训练装置,包括:
第一生成模块,用于将源域样本字输入到所述循环生成网络模型,得到第一目标域生成字;
第一计算模块,用于通过将第一目标域生成字输入到经训练的字符分类模型,来计算所述循环生成网络模型的错字损失;
第二计算模块,用于通过将第一目标域生成字和预设的目标域样本字输入到所述字符分类模型,来计算所述循环生成网络模型的特征损失;以及
第一调整模块,用于根据所述错字损失和特征损失来调整所述循环生成网络模型的参数;
其中,所述字符分类模型包括多个特征层,所述第二计算模块包括:
第一特征图生成单元,用于将所述第一目标域生成字输入到所述字符分类模型,得到所述字符分类模型的每个特征层输出的生成特征图;
第二特征图生成单元,用于将所述目标域样本字输入到所述字符分类模型,得到所述字符分类模型的每个特征层输出的样本特征图;以及
特征损失计算单元,用于根据至少一个特征层的生成特征图和样本特征图之间的差异,计算所述特征损失;
其中,所述特征损失计算单元包括:
像素损失计算子单元,用于针对所述至少一个特征层中的每一层,计算该特征层的生成特征图和样本特征图之间的像素差异,得到该特征层的像素损失;以及
特征损失计算子单元,用于根据所述至少一个特征层的像素损失,计算所述特征损失;
其中,所述像素损失计算子单元用于针对所述生成特征图中的每个位置的像素点,计算该像素点的像素值与所述样本特征图中对应位置的像素点的像素值之间的差值的绝对值,得到针对每个位置的像素点的差异;以及根据针对多个位置的像素点的差异,确定所述生成特征图和样本特征图之间的像素差异。
9. 根据权利要求8所述的装置,其中,所述第一计算模块包括:
字符向量生成单元,用于将所述第一目标域生成字输入到经训练的字符分类模型,得到所述第一目标域生成字的生成字符向量;以及
错字损失计算单元,用于根据所述生成字符向量与预设的标准字符向量之间的差异,计算所述错字损失。
11.根据权利要求8所述的装置,其中,所述循环生成网络模型包括第一生成模型和第二生成模型;所述第一生成模块用于将源域样本字输入到所述第一生成模型,得到所述第一目标域生成字和第一源域生成字;
所述装置还包括:
第二生成模块,用于将目标域样本字输入到所述第二生成模型,得到第二目标域生成字和第二源域生成字;
第三计算模块,用于根据所述源域样本字、第一目标域生成字、第一源域生成字、目标域样本字、第二目标域生成字和第二源域生成字,计算所述循环生成网络模型的生成损失;以及
第二调整模块,用于根据所述生成损失调整所述第一生成模型的参数。
12.根据权利要求11所述的装置,其中,所述第一调整模块用于根据所述错字损失和特征损失来调整所述第一生成模型的参数。
13.根据权利要求8至12中任一项所述的装置,其中,所述源域样本字为具有源域字体风格的图像,所述目标域样本字为具有目标域字体风格的图像。
14. 一种建立字库的装置,包括:
第三生成模块,用于将源域输入字输入到循环生成网络模型,得到目标域新字;以及
建立字库模块,用于基于所述目标域新字建立字库;
其中,所述循环生成网络模型是根据如权利要求8至13中任一项所述的装置来训练的。
15. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110945882.9A CN113657397B (zh) | 2021-08-17 | 2021-08-17 | 循环生成网络模型的训练方法、建立字库的方法和装置 |
JP2022007200A JP2022050666A (ja) | 2021-08-17 | 2022-01-20 | サイクル生成ネットワークモデルのトレーニング方法、フォントライブラリの確立方法、装置、電子機器、記憶媒体およびコンピュータプログラム |
KR1020220026296A KR20220034080A (ko) | 2021-08-17 | 2022-02-28 | 순환 생성 네트워크 모델의 훈련 방법, 글자 라이브러리의 구축 방법 및 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램 |
EP22159381.7A EP3998583A3 (en) | 2021-08-17 | 2022-03-01 | Method and apparatus of training cycle generative networks model, and method and apparatus of building character library |
US17/683,508 US20220189189A1 (en) | 2021-08-17 | 2022-03-01 | Method of training cycle generative networks model, and method of building character library |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110945882.9A CN113657397B (zh) | 2021-08-17 | 2021-08-17 | 循环生成网络模型的训练方法、建立字库的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113657397A CN113657397A (zh) | 2021-11-16 |
CN113657397B true CN113657397B (zh) | 2023-07-11 |
Family
ID=78492145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110945882.9A Active CN113657397B (zh) | 2021-08-17 | 2021-08-17 | 循环生成网络模型的训练方法、建立字库的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220189189A1 (zh) |
EP (1) | EP3998583A3 (zh) |
JP (1) | JP2022050666A (zh) |
KR (1) | KR20220034080A (zh) |
CN (1) | CN113657397B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928759B2 (en) * | 2022-04-19 | 2024-03-12 | Huawei Technologies Co., Ltd. | Methods and devices for vector line drawing |
CN114820867B (zh) * | 2022-04-22 | 2022-12-13 | 北京百度网讯科技有限公司 | 字形生成方法、字形生成模型的训练方法及装置 |
CN115240201B (zh) * | 2022-09-21 | 2022-12-23 | 江西师范大学 | 利用汉字骨架信息减缓网络模式崩溃问题的汉字生成方法 |
CN115578614B (zh) * | 2022-10-21 | 2024-03-12 | 北京百度网讯科技有限公司 | 图像处理模型的训练方法、图像处理方法和装置 |
CN116339898B (zh) * | 2023-05-26 | 2023-08-22 | 福昕鲲鹏(北京)信息科技有限公司 | 页面内容显示方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110211203A (zh) * | 2019-06-10 | 2019-09-06 | 大连民族大学 | 基于条件生成对抗网络的汉字字体的方法 |
WO2019232873A1 (zh) * | 2018-06-04 | 2019-12-12 | 平安科技(深圳)有限公司 | 文字模型训练方法、文字识别方法、装置、设备及介质 |
WO2020186914A1 (zh) * | 2019-03-20 | 2020-09-24 | 北京沃东天骏信息技术有限公司 | 行人再识别方法、装置及存储介质 |
CN112150489A (zh) * | 2020-09-25 | 2020-12-29 | 北京百度网讯科技有限公司 | 图像的风格转换方法、装置、电子设备及存储介质 |
CN112183627A (zh) * | 2020-09-28 | 2021-01-05 | 中星技术股份有限公司 | 生成预测密度图网络的方法和车辆年检标数量检测方法 |
CN112204620A (zh) * | 2018-04-26 | 2021-01-08 | 医科达有限公司 | 使用生成式对抗网络的图像增强 |
CN112749679A (zh) * | 2021-01-22 | 2021-05-04 | 北京百度网讯科技有限公司 | 模型的训练方法、人脸识别方法、装置、设备和介质 |
CN112861806A (zh) * | 2021-03-17 | 2021-05-28 | 网易(杭州)网络有限公司 | 基于生成对抗网络的字体数据处理方法及装置 |
CN113140018A (zh) * | 2021-04-30 | 2021-07-20 | 北京百度网讯科技有限公司 | 训练对抗网络模型的方法、建立字库的方法、装置和设备 |
CN113140017A (zh) * | 2021-04-30 | 2021-07-20 | 北京百度网讯科技有限公司 | 训练对抗网络模型的方法、建立字库的方法、装置和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020059527A1 (ja) * | 2018-09-20 | 2020-03-26 | 富士フイルム株式会社 | フォント作成装置、フォント作成方法及びフォント作成プログラム |
-
2021
- 2021-08-17 CN CN202110945882.9A patent/CN113657397B/zh active Active
-
2022
- 2022-01-20 JP JP2022007200A patent/JP2022050666A/ja active Pending
- 2022-02-28 KR KR1020220026296A patent/KR20220034080A/ko unknown
- 2022-03-01 EP EP22159381.7A patent/EP3998583A3/en not_active Withdrawn
- 2022-03-01 US US17/683,508 patent/US20220189189A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112204620A (zh) * | 2018-04-26 | 2021-01-08 | 医科达有限公司 | 使用生成式对抗网络的图像增强 |
WO2019232873A1 (zh) * | 2018-06-04 | 2019-12-12 | 平安科技(深圳)有限公司 | 文字模型训练方法、文字识别方法、装置、设备及介质 |
WO2020186914A1 (zh) * | 2019-03-20 | 2020-09-24 | 北京沃东天骏信息技术有限公司 | 行人再识别方法、装置及存储介质 |
CN110211203A (zh) * | 2019-06-10 | 2019-09-06 | 大连民族大学 | 基于条件生成对抗网络的汉字字体的方法 |
CN112150489A (zh) * | 2020-09-25 | 2020-12-29 | 北京百度网讯科技有限公司 | 图像的风格转换方法、装置、电子设备及存储介质 |
CN112183627A (zh) * | 2020-09-28 | 2021-01-05 | 中星技术股份有限公司 | 生成预测密度图网络的方法和车辆年检标数量检测方法 |
CN112749679A (zh) * | 2021-01-22 | 2021-05-04 | 北京百度网讯科技有限公司 | 模型的训练方法、人脸识别方法、装置、设备和介质 |
CN112861806A (zh) * | 2021-03-17 | 2021-05-28 | 网易(杭州)网络有限公司 | 基于生成对抗网络的字体数据处理方法及装置 |
CN113140018A (zh) * | 2021-04-30 | 2021-07-20 | 北京百度网讯科技有限公司 | 训练对抗网络模型的方法、建立字库的方法、装置和设备 |
CN113140017A (zh) * | 2021-04-30 | 2021-07-20 | 北京百度网讯科技有限公司 | 训练对抗网络模型的方法、建立字库的方法、装置和设备 |
Non-Patent Citations (2)
Title |
---|
An end-to-end model for chinese calligraphy generation;Peichi Zhou et al;《Multimedia Tools and Applications》;全文 * |
基于生成式对抗网络的字体风格迁移方法;白海娟;周未;王存睿;王磊;;大连民族大学学报(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
JP2022050666A (ja) | 2022-03-30 |
KR20220034080A (ko) | 2022-03-17 |
EP3998583A2 (en) | 2022-05-18 |
EP3998583A3 (en) | 2022-08-31 |
US20220189189A1 (en) | 2022-06-16 |
CN113657397A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113657397B (zh) | 循环生成网络模型的训练方法、建立字库的方法和装置 | |
CN113792851B (zh) | 字体生成模型训练方法、字库建立方法、装置及设备 | |
CN113792850B (zh) | 字体生成模型训练方法、字库建立方法、装置及设备 | |
CN114186632B (zh) | 关键点检测模型的训练方法、装置、设备、存储介质 | |
CN113140017B (zh) | 训练对抗网络模型的方法、建立字库的方法、装置和设备 | |
CN113140018B (zh) | 训练对抗网络模型的方法、建立字库的方法、装置和设备 | |
CN113792526B (zh) | 字符生成模型的训练方法、字符生成方法、装置和设备和介质 | |
CN112580732B (zh) | 模型训练方法、装置、设备、存储介质和程序产品 | |
US20220180043A1 (en) | Training method for character generation model, character generation method, apparatus and storage medium | |
CN113627536B (zh) | 模型训练、视频分类方法,装置,设备以及存储介质 | |
CN114792355B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN112580666A (zh) | 图像特征的提取方法、训练方法、装置、电子设备及介质 | |
CN114494747A (zh) | 模型的训练方法、图像处理方法、装置、电子设备及介质 | |
CN116402914B (zh) | 用于确定风格化图像生成模型的方法、装置及产品 | |
CN113792849B (zh) | 字符生成模型的训练方法、字符生成方法、装置和设备 | |
CN115496916B (zh) | 图像识别模型的训练方法、图像识别方法以及相关装置 | |
CN113887535B (zh) | 模型训练方法、文本识别方法、装置、设备和介质 | |
CN112784967B (zh) | 信息处理方法、装置以及电子设备 | |
CN114463361A (zh) | 网络模型训练方法、装置、设备、介质及程序产品 | |
CN113903071A (zh) | 人脸识别方法、装置、电子设备和存储介质 | |
CN115482422B (zh) | 深度学习模型的训练方法、图像处理方法和装置 | |
CN114359903B (zh) | 一种文本识别方法、装置、设备及存储介质 | |
CN116385829B (zh) | 姿态描述信息生成方法、模型的训练方法和装置 | |
CN116843963A (zh) | 图像识别方法、装置、设备及存储介质 | |
CN118097750A (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 |