CN113569080A - 基于人工智能的字库处理方法、装置、设备及存储介质 - Google Patents
基于人工智能的字库处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113569080A CN113569080A CN202110052705.8A CN202110052705A CN113569080A CN 113569080 A CN113569080 A CN 113569080A CN 202110052705 A CN202110052705 A CN 202110052705A CN 113569080 A CN113569080 A CN 113569080A
- Authority
- CN
- China
- Prior art keywords
- character
- style
- character image
- sample
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5846—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种基于人工智能的字库处理方法、装置、电子设备及计算机可读存储介质;涉及人工智能技术,方法包括:确定字库的第一风格以及字库的目标字符;对目标字符的第二风格的字符图像进行字符编码处理,得到字符图像的目标字符特征;对第一风格以及目标字符特征进行融合处理,得到字符融合特征;对字符融合特征进行解码处理,得到目标字符的第一风格的字符图像,通过目标字符的第一风格的字符图像更新字库。通过本申请,能够实现更新字库的高效地自动化处理。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种基于人工智能的字库处理方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
字库是在计算机中显示字符的途径,相关技术中对于字库的管理(例如生成字库、修改字库等)需要设计师的人工操作方式来实现,处理效率低,难以满足网络时代对于字库的多样化和快速的需求。
相关技术缺乏基于人工智能来对字库进行高效处理的方案。
发明内容
本申请实施例提供一种基于人工智能的字库处理方法、装置、电子设备及计算机可读存储介质,实现更新字库的高效地自动化处理。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种图像目标识别方法,包括:
确定字库的第一风格以及所述字库的目标字符;
对所述目标字符的第二风格的字符图像进行字符编码处理,得到所述字符图像的目标字符特征;
对所述第一风格以及所述目标字符特征进行融合处理,得到字符融合特征;
对所述字符融合特征进行解码处理,得到所述目标字符的第一风格的字符图像,通过所述目标字符的第一风格的字符图像更新所述字库。
上述技术方案中,所述对所述第一风格以及所述目标字符特征进行融合处理,得到字符融合特征,包括:
对所述第一风格以及所述目标字符特征进行映射处理,得到包含所述第一风格以及所述目标字符的中间特征向量;
对包含所述第一风格以及所述目标字符的中间特征向量进行仿射变换,得到所述字符融合特征。
上述技术方案中,所述确定字库的第一风格,包括:
确定候选字库中的字符图像的数量;
当所述字符图像的数量小于图像数量阈值时,将所述候选字库作为所述字库,并将所述字库的风格作为所述第一风格。
上述技术方案中,所述确定所述字库的目标字符,包括:
确定不同于所述第一风格的候选字库;
对所述候选字库中的字符图像进行筛选处理,得到包含目标字符的字符图像;
其中,所述包含目标字符的字符图像不存在于所述字库。
上述技术方案中,所述对所述候选字库中的字符图像进行筛选处理,得到包含目标字符的字符图像,包括:
确定所述候选字库中的候选字符图像被选用的频率;
当所述被选用的频率大于选用频率阈值时,将所述候选字符图像作为所述包含目标字符的字符图像。
本申请实施例提供一种图像目标识别方法,包括:
呈现字库,所述字库包括第一风格的至少一个字符;
响应于针对所述字库的更新操作,调用生成模型,以基于目标字符的第二风格的字符图像生成所述第一风格的字符图像,并
呈现基于所述目标字符的第一风格的字符图像更新的所述字库;
其中,所述目标字符包括所述字库的缺失字符和损坏字符中的至少一种。
本申请实施例提供一种字库处理装置,包括:
确定模块,用于确定字库的第一风格以及所述字库的目标字符;
编码模块,用于对所述目标字符的第二风格的字符图像进行字符编码处理,得到所述字符图像的目标字符特征;
融合模块,用于对所述第一风格以及所述目标字符特征进行融合处理,得到字符融合特征;
解码模块,用于对所述字符融合特征进行解码处理,得到所述目标字符的第一风格的字符图像,通过所述目标字符的第一风格的字符图像更新所述字库。
上述技术方案中,所述编码模块还用于对所述目标字符的第二风格的字符图像进行特征提取处理,得到所述字符图像的特征图;
去除所述特征图中的风格空间信息,将去除所述风格空间信息的特征图作为所述字符图像的目标字符特征。
上述技术方案中,所述融合模块还用于对所述第一风格进行编码处理,得到所述第一风格的编码特征;
对所述第一风格的编码特征以及所述目标字符特征进行拼接处理,得到所述字符融合特征。
上述技术方案中,所述融合模块还用于对所述第一风格以及所述目标字符特征进行映射处理,得到包含所述第一风格以及所述目标字符的中间特征向量;
对包含所述第一风格以及所述目标字符的中间特征向量进行仿射变换,得到所述字符融合特征。
上述技术方案中,所述解码处理是通过解码模型实现的,所述解码模型包括多个级联的解码层,所述多个级联的解码层是通过渐进式训练得到的;所述解码模块还用于通过所述多个级联的解码层对所述字符融合特征进行级联的上采样解码处理,并
将最后一个解码层输出的解码结果作为所述目标字符的第一风格的字符图像。
上述技术方案中,所述渐进式训练是通过以下过程实现的:通过所述多个级联的解码层对字符融合特征进行级联的上采样解码处理;
基于所述多个级联的解码层的权重,对所述多个级联的解码层分别输出的解码结果进行加权求和处理,将所述加权求和处理的结果作为所述虚假的字符图像样本;
其中,所述最后一个解码层的权重随着更新所述生成模型的次数增加而逐步增加,其他解码层的权重随着更新所述生成模型的次数增加而逐步减小;
其中,所述字符融合特征是编码模型对真实的字符图像样本进行字符编码处理得到的。
上述技术方案中,所述字符编码处理和所述字符解码处理是通过生成式对抗网络中的生成模型实现的,所述生成式对抗网络还包括判别模型;所述装置还包括:
训练模块,用于通过以下方式训练所述生成式对抗网络:
初始化所述生成模型以及所述判别模型,并交替执行以下训练任务:
基于真实的第一字符图像样本以及真实的第二字符图像样本,训练所述生成模型,以使所述生成网络基于所述真实的第一字符图像样本生成虚假的字符图像样本;
其中,所述真实的第一字符图像样本包括第一风格样本的目标字符样本,所述真实的第二图像样本以及所述虚假的字符图像样本包括第二风格样本的目标字符样本;
基于所述真实的第二字符图像样本以及所述虚假的字符图像样本,训练所述判别模型,以使所述判别模型区分真实的字符图像样本和虚假的字符图像样本;
其中,当训练所述生成模型时,固定所述判别模型的参数不变;当训练所述判别模型时,固定所述生成模型的参数不变。
上述技术方案中,所述生成模型包括编码模型以及解码模型;所述训练模块还用于通过所述编码模型对所述真实的第一字符图像样本进行字符编码处理,得到所述真实的第一字符图像样本的目标字符样本特征;
对所述第一风格样本以及所述目标字符样本特征进行融合处理,得到字符融合特征;
通过所述解码模型对所述字符融合特征进行解码处理,生成所述虚假的字符图像样本;
基于所述真实的第二字符图像样本、以及所述虚假的字符图像样本,构建所述生成模型的损失函数;
基于所述生成模型的损失函数更新所述生成模型的参数。
上述技术方案中,当所述最后一个解码层的权重小于1时,所述训练模块还用于基于所述真实的第二字符图像样本与所述虚假的字符图像样本的距离,得到图像距离损失函数,
将所述图像距离损失函数作为所述生成模型的损失函数。
上述技术方案中,当所述最后一个解码层的权重等于1时,所述训练模块还用于通过所述编码模型对所述虚假的字符图像样本进行字符编码处理,得到所述虚假的字符图像样本的目标字符样本特征;
通过所述编码模型对所述真实的第二字符图像样本进行字符编码处理,得到所述真实的第二字符图像样本的目标字符样本特征;
基于所述虚假的字符图像样本的目标字符样本特征、以及所述真实的第二字符图像样本的目标字符样本特征,构建字符编码损失函数;
对所述图像距离损失函数以及所述字符编码损失函数进行加权求和处理,将所述加权求和处理的结果作为所述生成模型的损失函数。
上述技术方案中,所述训练模块还用于通过所述生成模型生成所述虚假的字符图像样本;
将所述真实的第二字符图像样本和所述虚假的字符图像样本作为训练样本,通过所述判别模型确定所述训练样本属于真实的字符图像的预测概率;
基于所述预测概率与所述训练样本的真实概率之间的差值,构建所述判别模型的损失函数;
基于所述判别模型的损失函数更新所述判别模型的参数。
上述技术方案中,所述训练模块还用于当所述预测概率表征所述训练样本为真实的字符图像时,通过所述判别模型对所述训练样本进行风格分类处理,得到所述训练样本的预测风格;
基于所述预测风格以及所述训练样本的真实风格,构建风格分类损失函数;
基于所述预测概率与所述训练样本的真实概率之间的差值,构建真实性损失函数;
对所述真实性损失函数、所述风格分类损失函数进行加权求和处理,将所述加权求和处理的结果作为所述判别模型的损失函数。
上述技术方案中,所述确定模块还用于确定候选字库中的字符图像的数量;
当所述字符图像的数量小于图像数量阈值时,将所述候选字库作为所述字库,并将所述字库的风格作为所述第一风格。
上述技术方案中,所述确定模块还用于确定不同于所述第一风格的候选字库;
对所述候选字库中的字符图像进行筛选处理,得到包含目标字符的字符图像;
其中,所述包含目标字符的字符图像不存在于所述字库。
上述技术方案中,所述确定模块还用于确定所述候选字库中的候选字符图像被选用的频率;
当所述被选用的频率大于选用频率阈值时,将所述候选字符图像作为所述包含目标字符的字符图像。
本申请实施例提供一种字库处理装置,包括:
呈现模块,用于呈现字库,所述字库包括第一风格的至少一个字符;
生成模块,用于响应于针对所述字库的更新操作,调用生成模型,以基于目标字符的第二风格的字符图像生成所述第一风格的字符图像;
所述呈现模块还用于呈现基于所述目标字符的第一风格的字符图像更新的所述字库;其中,所述目标字符包括所述字库的缺失字符和损坏字符中的至少一种。
本申请实施例提供一种用于字库处理的电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的图像目标识别方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的基于人工智能的字库处理方法。
本申请实施例具有以下有益效果:
通过目标字符的第二风格的字符图像结合字库的第一风格,生成目标字符的第一风格的字符图像,并基于目标字符的第一风格的字符图像更新字库,从而能够高效地补齐字库或生成全新字库。
附图说明
图1是本申请实施例提供的字库处理***的应用场景示意图;
图2-图3是本申请实施例提供的用于字库处理的电子设备的结构示意图;
图4A-图4C是本申请实施例提供的基于人工智能的字库处理方法的流程示意图;
图5是本申请实施例提供的渐进式训练的流程示意图;
图6是本申请实施例提供的基于人工智能的字库处理方法的流程示意图;
图7是本申请实施例提供的网络框架示意图;
图8A是本申请实施例提供的小分辨率的平台期的示意图;
图8B是本申请实施例提供的分辨率的增长过渡期的示意图;
图8C是本申请实施例提供的大分辨率的平台期的示意图;
图9A-图9C是本申请实施例提供的字体字符图像结果的对比示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)生成式对抗网络(GAN,Generative Adversarial Networks):一种深度学习模型,是近年来复杂分布上无监督学习方法之一。通过生成模型(Generator)和判别模型(Discriminator)的互相博弈学习产生相当好的输出。判别模型需要输入变量以进行预测,而生成模型需要输入某种隐含信息,来随机产生观测数据(生成的假数据),例如判别模型可以在给定一张字符图像的情况下,判断这张字符图像是真图像还是生成的假图像,生成模型可以在给定相同风格的字符图像(数据集)的情况下,生成一张新的字符图像(不在数据集里)。
2)风格:字符图像在整体上呈现的有代表性的视觉艺术的表现形式,字符图像的风格至少表现为字符图像所呈现的字体类型,即不同风格的字符图像具有不同类型的字体,例如中文的宋体、楷体、手写体、艺术字体等都属于不同的风格,英文的Times NewRoma、Arial等字体都属于不同风格。字符图像的风格还可以表现为字体和视觉元素(例如装饰性的静态/动态特效)的组合。
本申请实施例提供了一种基于人工智能的字库处理方法、装置、电子设备及计算机可读存储介质,能够基于生成的字符图像自动更新字库。
本申请实施例所提供的基于人工智能的字库处理方法,可以由终端/服务器独自实现;也可以由终端和服务器协同实现,例如终端独自承担下文所述的基于人工智能的字库处理方法,或者,终端向服务器发送针对字库的更新请求(字库包括第一风格(即字库中字符图像所具有的风格,例如字符图像所呈现的字体类型)的多个字符),服务器根据接收的针对字库的更新请求执行基于人工智能的字库处理方法,响应于针对字库的更新请求,生成目标字符的第一风格的字符图像,基于生成的目标字符的第一风格的字符图像自动补全字库。
本申请实施例提供的用于字库处理的电子设备可以是各种类型的终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器;终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
以服务器为例,例如可以是部署在云端的服务器集群,向用户开放人工智能云服务(AI as a Service,AIaaS),AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务,这种服务模式类似于一个AI主题商城,所有的用户都可以通过应用程序编程接口的方式来接入使用AIaaS平台提供的一种或者多种人工智能服务。
例如,其中的一种人工智能云服务可以为字库处理服务,即云端的服务器封装有本申请实施例提供的字库处理的程序。用户通过终端(运行有客户端,例如字库补全客户端等)调用云服务中的字库处理服务,以使部署在云端的服务器调用封装的字库处理的程序,基于目标字符的第二风格(不同于第一风格)的字符图像以及字库的第一风格,生成目标字符的第一风格的字符图像,通过目标字符的第一风格的字符图像更新字库,例如,对于字库补全应用,通过目标字符的第一风格的字符图像更新字库,以补全字库所缺失或损坏字符,为涉及到使用字库生成数据的项目提供更多的数据支持,丰富数据分布,提升项目效果。
参见图1,图1是本申请实施例提供的字库处理***10的应用场景示意图,终端200通过网络300连接服务器100,网络300可以是广域网或者局域网,又或者是二者的组合。
终端200(运行有客户端,例如字库补全客户端等)可以被用来获取针对字库的更新请求,例如,当用户确定字库存在缺失或损坏字符时,向终端200输入字库需要更新的指令,即输入字库的第一风格的标识(例如,“楷体”的标识),则终端自动获取针对字库的更新请求(包括字库的第一风格)。
在一些实施例中,终端中运行的客户端中可以植入有字库处理插件,用以在客户端本地实现基于人工智能的字库处理方法。例如,终端200获取针对字库的更新请求(包括字库的第一风格)后,调用字库处理插件以实现基于人工智能的字库处理方法,基于目标字符的第二风格的字符图像以及字库的第一风格,生成目标字符的第一风格的字符图像,通过目标字符的第一风格的字符图像更新字库,以补全字库所缺失或损坏字符,例如,补全楷体字库中所缺失或损坏的字符,为涉及到使用字库生成数据的项目提供更多的数据支持,丰富数据分布,提升项目效果。
在一些实施例中,终端200获取针对字库的更新请求后,调用服务器100的字库处理接口(可以提供为云服务的形式,即字库处理服务),服务器100调用机器学习模型,基于目标字符的第二风格的字符图像以及字库的第一风格,生成目标字符的第一风格的字符图像,例如,对于字库补全应用,终端200通过用户的输入自动生成针对字库的更新请求,并将针对字库的更新请求发送至服务器100,服务器100解析针对字库的更新请求,得到字库的第一风格,并确定字库的目标字符,基于目标字符的第二风格的字符图像以及字库的第一风格,生成目标字符的第一风格的字符图像,并将目标字符的第一风格的字符图像发送至终端200,终端200通过目标字符的第一风格的字符图像更新字库,以补全字库所缺失或损坏字符,例如,补全楷体字库中所缺失或损坏的字符,为涉及到使用字库生成数据的项目提供更多的数据支持,丰富数据分布,提升项目效果。
下面说明本申请实施例提供的用于字库处理的电子设备的结构,参见图2,图2是本申请实施例提供的用于字库处理的电子设备500的结构示意图,以电子设备500是服务器为例说明,图2所示的用于字库处理的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线***540耦合在一起。可理解,总线***540用于实现这些组件之间的连接通信。总线***540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Onl y Memory),易失性存储器可以是随机存取存储器(RAM,Random Access M emory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***551,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的字库处理装置可以采用软件方式实现,例如,可以是上文的终端中的字库处理插件,可以是上文的服务器中字库处理服务。当然,不局限于此,本申请实施例提供的字库处理装置可以提供为各种软件实施例,包括应用程序、软件、软件模块、脚本或代码在内的各种形式。
图2示出了存储在存储器550中的字库处理装置555,其可以是程序和插件等形式的软件,例如字库处理插件,并包括一系列的模块,包括确定模块5551、编码模块5552、融合模块5553、解码模块5554以及训练模块5555;其中,确定模块5551、编码模块5552、融合模块5553、解码模块5554用于实现本申请实施例提供的字库处理功能,训练模块5555用于训练生成式对抗网络。
下面说明本申请实施例提供的用于字库处理的电子设备(例如图1中的终端200)的结构,参见图3,图3是本申请实施例提供的用于字库处理的电子设备600的结构示意图,图3所示的用于字库处理的电子设备600包括:至少一个处理器610、存储器650、至少一个网络接口620和用户接口630。电子设备600中的各个组件通过总线***640耦合在一起。其中,电子设备600与电子设备500中的处理器、存储器、网络接口和用户接口的功能类似,在此处将不再进行赘述。
图3示出了存储在存储器650中的字库处理装置655,其可以是程序和插件等形式的软件,并包括一系列的模块,包括呈现模块6551以及生成模块6552;其中,呈现模块6551以及生成模块6552用于实现本申请实施例提供的基于人工智能的字库处理方法。
如前,本申请实施例提供的基于人工智能的字库处理方法可以由各种类型的电子设备实施。参见图4A,图4A是本申请实施例提供的基于人工智能的字库处理方法的流程示意图,结合图4A示出的步骤进行说明。
在下面步骤中,目标字符为字库的缺失字符或损坏字符。风格表示字符图像在整体上呈现的有代表性的视觉艺术的表现形式,字符图像的风格至少表现为字符图像所呈现的字体类型,不同风格的字符图像具有不同类型的字体,例如宋体、楷体;字符图像的风格还可以表现为字体和视觉元素(例如装饰性的静态/动态特效)的组合。
在步骤101中,确定字库的第一风格以及字库的目标字符。
作为获取第一风格以及目标字符的示例,用户可以在终端的输入界面上输入需要补充或者更新的第一风格的字库以及需要生成的目标字符,例如,在终端的输入界面输入“楷体”的标识,即终端将“楷体”作为需要补充或者更新的字库的第一风格,在终端的输入界面输入“幸”字符,则终端将“幸”作为需要生成的目标字符,当输入完成后,终端自动获取针对字库的更新请求(包括第一风格以及目标字符,即“楷体”风格以及“幸”字符),并将更新请求发送至服务器,服务器接收到针对字库的更新请求后,解析针对字库的更新请求,以获取字库的第一风格以及字库的目标字符,以便后续基于字库的第一风格以及字库的目标字符进行字符图像的生成。
在一些实施例中,确定字库的第一风格,包括:确定候选字库中的字符图像的数量;当字符图像的数量小于图像数量阈值时,将候选字库作为字库,并将字库的风格作为第一风格。
例如,数据库中存在各种候选字库,不同的候选字库的风格不同(即不同候选字库中字符所具有的字体类型不同),例如第一字库中的字符图像都是楷体形式,第二字库中的字符图像都是宋体形式,针对任一候选字库,当候选字库中的字符图像的数量小于图像数量阈值时,说明该候选字库的字符图像不全,需要补充该候选字库的字符图像,以完善该候选字库,实现自动补全字库的功能。
在一些实施例中,确定字库的目标字符,包括:确定不同于第一风格的候选字库;对候选字库中的字符图像进行筛选处理,得到包含目标字符的字符图像;其中,包含目标字符的字符图像不存在于字库。
例如,对除该字库以外的候选字库(候选字库的风格不同于第一风格)中的字符图像进行遍历,当确定包括某种字符的字符图像不存在于该字库时,说明该字库不包括该种字符,则将该字符确定为目标字符,例如,第一风格为楷体,对楷体字库以外的候选字库进行遍历,当确定候选字库中“幸”字符不存在于楷体字库,则将“幸”字符确定为需要生成的目标字符。
承接上述示例,对候选字库中的字符图像进行筛选处理,得到包含目标字符的字符图像,包括:确定候选字库中的候选字符图像被选用的频率;当被选用的频率大于选用频率阈值时,将候选字符图像作为包含目标字符的字符图像。
例如,每种字库中需要有热门字符、通用字符等,则可以通过候选字库中的候选字符图像被选用的频率确定是否是热门字符、通用字符,以补全每种字库中的热门字符、通用字符。
在步骤102中,对目标字符的第二风格的字符图像进行字符编码处理,得到字符图像的目标字符特征。
在获取第一风格以及目标字符后,确定不同于第一风格的第二风格,并提取目标字符的第二风格的字符图像的目标字符特征,以便后续基于目标字符特征进行解码操作。
参见图4B,图4B是本申请实施例提供的基于人工智能的字库处理方法的一个可选的流程示意图,图4B示出图4A中的步骤102可以通过图4B示出的步骤1021-步骤1022实现:在步骤1021中,对目标字符的第二风格的字符图像进行特征提取处理,得到字符图像的特征图;在步骤1022中,去除特征图中的风格空间信息,将去除风格空间信息的特征图作为字符图像的目标字符特征。
例如,字符编码处理是通过编码模型(字符编码器)实现的,字符识别模型包括卷积层以及池化层。通过编码模型中的卷积层对目标字符的第二风格的字符图像进行特征提取处理,得到字符图像的特征图,通过编码模型中的池化层去除特征图中的风格空间信息,将去除风格空间信息的特征图作为字符图像的目标字符特征,从而剥离输入字符图像的风格信息(例如字体空间信息),,对字符图像中与字符所特有信息进行抽取,避免风格信息的影响,提高目标字符特征的表征性。
在步骤103中,对第一风格以及目标字符特征进行融合处理,得到字符融合特征。
在获得第一风格以及目标字符特征后,需要先融合第一风格以及目标字符特征,以便后续基于字符融合特征进行解码处理,以得到目标字符的第一风格的字符图像。
在一些实施例中,对第一风格以及目标字符特征进行融合处理,得到字符融合特征,包括:对第一风格进行编码处理,得到第一风格的编码特征;对第一风格的编码特征以及目标字符特征进行拼接处理,得到字符融合特征。
例如,通过自编码器对第一风格进行编码,得到第一风格的编码特征,并拼接第一风格的编码特征以及目标字符特征,以得到字符融合特征。
在一些实施例中,对第一风格以及目标字符特征进行融合处理,得到字符融合特征,包括:对第一风格以及目标字符特征进行映射处理,得到包含第一风格以及目标字符的中间特征向量;对包含第一风格以及目标字符的中间特征向量进行仿射变换,得到字符融合特征。
作为示例,对第一风格以及目标字符特征进行映射处理,得到包含第一风格以及目标字符的中间特征向量,并对中间特征向量进行仿射变换,以将中间特征向量进行一次线性变换,并进行平移,变换到另一空间向量中,生成包含第一风格以及目标字符的字符融合特征,其中仿射变换的公式为 表示中间特征向量,表示字符融合特征,A、表示学习参数。通过映射以及仿射变换、即多层变换,提高提高字符融合特征的准确度。
在步骤104中,对字符融合特征进行解码处理,得到目标字符的第一风格的字符图像,通过目标字符的第一风格的字符图像更新字库。
在获取包含第一风格以及目标字符的字符融合特征后,对字符融合特征进行解码处理,以生成目标字符的第一风格的字符图像,通过目标字符的第一风格的字符图像更新字库,例如,第一风格为楷体,第二风格为宋体,目标字符为“幸”,基于具有宋体风格的“幸”字符图像,生成具有楷体风格的“幸”字符图像,并通过具有楷体风格的“幸”字符图像更新楷体字库,以实现自动补全字库的功能。
在一些实施例中,解码处理是通过解码模型实现的,解码模型包括多个级联的解码层,多个级联的解码层是通过渐进式训练得到的;对字符融合特征进行解码处理,得到目标字符的第一风格的字符图像,包括:通过多个级联的解码层对字符融合特征进行级联的上采样解码处理,并将最后一个解码层输出的解码结果作为目标字符的第一风格的字符图像。
例如,通过多个级联的解码层中的第一个解码层,对字符融合特征进行上采样解码处理,将第一个解码层的解码结果输出到后续级联的解码层,以在后续级联的解码层中继续进行上采样解码处理和解码结果输出,直至输出到最后一个解码层,并将最后一个解码层输出的解码结果作为目标字符的第一风格的字符图像。
在一些实施例中,渐进式训练是通过以下过程实现的:通过多个级联的解码层对字符融合特征进行级联的上采样解码处理;基于多个级联的解码层的权重,对多个级联的解码层分别输出的解码结果进行加权求和处理,将加权求和处理的结果作为虚假的字符图像样本。
其中,最后一个解码层的权重随着更新生成模型的次数增加而逐步增加,其他解码层的权重随着更新生成模型的次数增加而逐步减小,其中,字符融合特征是编码模型对真实的字符图像样本进行字符编码处理得到的。
如图5所示,在渐进式训练的过程中,通过多个级联的解码层中的第1个解码层,对字符融合特征进行上采样解码处理,得到第1个解码层的解码结果y1,将y1输出到第2个解码层,第2个解码层对y1进行上采样解码,得到第2个解码层的解码结果y2,迭代以上步骤,得到第N个解码层的解码结果yN,其中,N表示解码层的数量,基于多个级联的解码层的权重,对多个级联的解码层分别输出的解码结果进行加权求和处理,将加权求和处理的结果作为虚假的字符图像样本,其中,第N个解码层的权重αN随着更新生成模型的次数增加而逐步增加,其他解码层的权重(α1,α2,…,αN-1)随着更新生成模型的次数增加而逐步减小,其中,α1+α2,…,αN=1,直至渐进式训练结束后,αN为1。采用渐进式训练的策略,能够保证网络稳定收敛。
参见图4C,图4C是本申请实施例提供的基于人工智能的字库处理方法的一个可选的流程示意图,图4C示出图4A还包括步骤105-步骤106:字符编码处理和字符解码处理是通过生成式对抗网络中的生成模型实现的,生成式对抗网络还包括判别模型;通过以下方式训练生成式对抗网络:初始化生成模型以及判别模型,并交替执行以下训练任务:在步骤105中,基于真实的第一字符图像样本以及真实的第二字符图像样本,训练生成模型,以使生成网络基于真实的第一字符图像样本生成虚假的字符图像样本;在步骤106中,基于真实的第二字符图像样本以及虚假的字符图像样本,训练判别模型,以使判别模型区分真实的字符图像样本和虚假的字符图像样本。
其中,真实的第一字符图像样本包括第一风格样本的目标字符样本,真实的第二图像样本以及虚假的字符图像样本包括第二风格样本的目标字符样本。当训练生成模型时,固定判别模型的参数不变;当训练判别模型时,固定生成模型的参数不变。
在一些实施例中,生成模型包括编码模型以及解码模型;基于真实的第一字符图像样本以及真实的第二字符图像样本,训练生成模型,包括:通过编码模型对真实的第一字符图像样本进行字符编码处理,得到真实的第一字符图像样本的目标字符样本特征;对第一风格样本以及目标字符样本特征进行融合处理,得到字符融合特征;通过解码模型对字符融合特征进行解码处理,生成虚假的字符图像样本;基于真实的第二字符图像样本、以及虚假的字符图像样本,构建生成模型的损失函数;基于生成模型的损失函数更新生成模型的参数。
例如,通过多个级联的解码层中的第一个解码层,对字符融合特征进行上采样解码处理,将第一个解码层的解码结果输出到后续级联的解码层,以在后续级联的解码层中继续进行上采样解码处理和解码结果输出,直至输出到最后一个解码层,基于多个级联的解码层的权重,对多个级联的解码层输出的解码结果进行加权求和处理,将加权求和处理的结果作为虚假的字符图像样本;其中,最后一个解码层的权重随着更新字符生成模型的次数增加而逐步增加。
在一些实施例中,当最后一个解码层的权重小于1时,基于真实的第二字符图像样本、以及虚假的字符图像样本,构建生成模型的损失函数,包括:基于真实的第二字符图像样本与虚假的字符图像样本的距离,得到图像距离损失函数,将图像距离损失函数作为生成模型的损失函数。
例如,在渐进式训练未完成时,使得解码器在不接收输入字符图像所带有的风格特征(风格特征)的情况下仅采用图像距离损失函数,简化了网络参数的搜索空间,从而帮助网络稳定的收敛到理想状态,以解决生成式对抗网络难以收敛的问题。
在一些实施例中,当最后一个解码层的权重等于1时,基于真实的第二字符图像样本、以及虚假的字符图像样本,构建生成模型的损失函数,包括:通过编码模型对虚假的字符图像样本进行字符编码处理,得到虚假的字符图像样本的目标字符样本特征;通过编码模型对真实的第二字符图像样本进行字符编码处理,得到真实的第二字符图像样本的目标字符样本特征;基于虚假的字符图像样本的目标字符样本特征、以及真实的第二字符图像样本的目标字符样本特征,构建字符编码损失函数;对图像距离损失函数以及字符编码损失函数进行加权求和处理,将加权求和处理的结果作为生成模型的损失函数。
例如,在渐进式训练完成后,生成式对抗网络已经可以输出质量较高的高分辨率字符图像,此时将放开前期对于编码模型的参数训练,使得生成式对抗网络可以学习到更适合图像生成的字符特征,进一步优化字符图像的生成效果。
在一些实施例中,基于真实的第二字符图像样本以及虚假的字符图像样本,训练判别模型,包括:通过生成模型生成虚假的字符图像样本;将真实的第二字符图像样本和虚假的字符图像样本作为训练样本,通过判别模型确定训练样本属于真实的字符图像的预测概率;基于预测概率与训练样本的真实概率之间的差值,构建判别模型的损失函数;基于判别模型的损失函数更新判别模型的参数。
例如,在判别模型优化阶段尽量让判别模型区分真实图像和生成模型所生成的虚假图像,在生成模型优化阶段尽量让生成模型得到可以迷惑判别模型的图像,通过判别模型与生成模型的相互博弈,使得生成模型能够生成尽可能真实的字符图像。
其中,基于预测概率与训练样本的真实概率之间的差值,构建判别模型的损失函数,包括:当预测概率表征训练样本为真实的字符图像时,通过判别模型对训练样本进行风格分类处理,得到训练样本的预测风格;基于预测风格以及训练样本的真实风格,构建风格分类损失函数;基于预测概率与训练样本的真实概率之间的差值,构建真实性损失函数;对真实性损失函数、风格分类损失函数进行加权求和处理,将加权求和处理的结果作为判别模型的损失函数。
例如,风格分类损失是多分类交叉熵损失,在判别模型优化阶段通过真实图像训练出判别模型良好的风格分类能力,使得生成模型可以正确分类的图像,从而帮助生成模型得到满足目标风格的字符图像。
下面结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的基于人工智能的字库处理方法。参见图6,图6是本申请实施例提供的基于人工智能的字库处理方法的流程示意图,结合图6示出的步骤进行说明。
在步骤201中,呈现字库,字库包括第一风格的至少一个字符。
例如,用户打开终端中用于字库补全的客户端后,客户端将呈现字库,还可以呈现字库中包括第一风格的至少一个字符,例如,楷体字库中的“幸”字符。当用户确认该字库缺失字符或者存在损坏字符时,可以通过点击、滑动等操作确定该字库需要更新。
其中,对于生成全新字库的情况,字库中至少要有一个字符,即字库包括的第一风格的字符为种子,用于提供风格信息;对于补齐字库的情况,字库包括第一风格的多个字符,但还缺少部分字符,需要基于其他风格的字符生成第一风格的缺失字符或者损坏字符来补全该字库。
在步骤202中,响应于针对字库的更新操作,调用生成模型,以基于目标字符的第二风格的字符图像生成第一风格的字符图像。
例如,客户端接收到针对字库的更新操作后,调用生成模型以基于目标字符的第二风格的字符图像生成第一风格的字符图像。其中,目标字符包括字库的缺失字符和损坏字符中的至少一种。
例如,对目标字符的第二风格的字符图像进行字符编码处理,得到字符图像的目标字符特征,对第一风格以及目标字符特征进行融合处理,得到字符融合特征,对字符融合特征进行解码处理,得到目标字符的第一风格的字符图像,通过目标字符的第一风格的字符图像更新字库。
在步骤203中,呈现基于目标字符的第一风格的字符图像更新的字库。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
生成特定风格的汉字字库通常需要艺术家针对所有字符设计风格统一的对应写法,非常费时费力,特别是在生成一些公众人物的特定手写风格字体时,公众人物时间成本问题就会更加明显。另外,由于汉字***非常庞大,很多字库通常只会包含6000~7000个常用字符,而且不同字库包含的汉字并不完全相同。在一些深度学习项目(例如光学字符识别(OCR,Optical Character Reco gnition),中文手写识别,辅助字体设计)中,会通过已有手写体字库生成大量训练数据,字库不全的问题将对项目有一定的影响。生成完整字库所耗费的巨大人力成本,也使得在实际项目中收集特定人物的少量数据,来针对性的优化模型变得几乎无法实现。
申请人在实施本申请实施例的过程中发现以下问题:1)请艺术家或者指定公众人物对每一个字符进行设计,或者请大量人工手写数据对OCR等项目进行数据补全,费时费力,人工成本非常高;2)通过GAN结构进行一个字体图像到另一个目标字体图像的转换,由于GAN结构学习到的字体较为单一,在已经见过的字符(即训练集)上表现不错,但是对于没有见过的字符表现不佳,也无法生成全新字体字库;3)通过GAN结构进行多字体转换,并通过U形网络结构保证网络的收敛,U形网络结构为生成模型提供了浅层特征,虽然可以帮助网络收敛,但同时限制了字体图像的变换空间,使得该方案虽然在字体字形变化不大时效果不错(整体字形无改变但笔画粗细改变),但是在字体字形变化较大时效果不佳(例如宋体变为草书),但现有网络结构在多字体转换中若不采用U形结构又无法保证网络收敛。
为了解决上述问题,本申请实施例提供一种基于深度对抗学习(GAN)的汉字字库自动补全解决方案。该方案可以在汉字字体库不全时,根据字体库中已有的汉字学习该字体的风格,自动补全相同风格的字库所缺少的汉字,极大的缩短艺术家或者设计师的创作时间,不用将海量的中文字体都一一单独设计,从而达到提升效率,减少人力成本的作用,也为涉及到使用字库生成数据的项目提供更多的数据支持,丰富数据分布,提升项目效果。
如图7所示,本申请实施例的GAN网络框架是由一个生成模型和一个判别模型组成,通过交替进行判别模型优化和生成模型优化来促使生成模型输出高质量的指定字体字符的图像。生成模型包括字符编码器(编码模型,用于字符特征提取)、字体编码和字体字符解码器(解码模型)三个部分。
训练策略上,本申请实施例使用多字体混合风格对抗训练充分利用已有数据让网络充分学习字体与字符的本质特征,从而使得网络能够更好的生成没有见过的目标字体字符图像,甚至网络没有见过的字体图像。同时,本申请实施例还采用了渐进式训练的训练策略,从小分辨率到大分辨率的训练字体字符解码器,确保网络可以稳定的收敛并输出高质量的目标字体图像。
关于字符特征提取部分,本申请实施例采用预训练好的手写识别模型(字符编码器),手写识别网络用于提取不同字体的相同字符的基础形态特征,可以为后续多字体混合风格对抗训练提供一个良好的初始状态,使得生成网络在渐进式训练的前期阶段专注于字符特征的编码和重建。
其中,本申请实施例使用预训练的手写识别模型来进行图像中字符特征的提取。手写识别模型是一种分类模型,该分类模型的训练目标为将输入的各种字体的字符图像分类到对应的字符类别中。训练好的手写识别模型可以很好的剥离输入字符图像的字体信息,对字符图像中与字符所特有字形信息进行抽取。该部分将字符信息抽象成高维特征信息,使得后续的生成模型能够学习到目标字符的基本框架信息,即目标字符的笔画以及排列。该手写识别模型在对抗训练的前期固定参数,减少网络需要优化的参数,从而降低生成模型优化的难度,保证整个模型的收敛。
关于字体编码部分,本申请实施例采用自编码器的形式为所有风格图像自动学习一个合适的字体向量。先通过自动编码器的方法对字体信息进行编码,字体字符解码器再根据自动编码器的输入判断应该选择哪一个目标字体,然后通过字体字符解码器还原该字体的风格信息,即目标字体的笔画粗细、斜率、连接方式等。其中,字体编码部分还可以采用字体编码网络,以提供更详细的字体信息。
关于字体字符解码器部分,本申请实施例采用渐进式训练的方式,以训练好从小分辨率到大分辨率逐层学习字体字符特征解构方式,使得解码器在不接收输入字符图像所带有的浅层特征(字体特征)的情况下(即不使用U形网络结构)依然可以稳定地收敛,从而排除输入字符图像的浅层特征中所带有的字体特征影响,生成高质量的目标字体字符图像。
关于判别模型部分,本申请实施例采用多任务判别方案。将字体图像作为输入,输出该字体图像是否为真实图像还是由生成模型生成的假图像,同时判别模型对于输入图像的字体做出字体分类判断。其中,也可以使用多个判别器分别对应多任务判别工作。
在判别模型优化阶段,判别模型的优化目标为正确的分类输入图像是否为真实图像,并对于确实是真实图像的输入正确的判断其属于哪一种字体,对于生成模型生成的假图像在该阶段不用对其字体做出判断。
为了充分利用不同字体缺少的字符不尽相同的特征,本申请实施例采用多字体混合风格对抗训练。通过多字体混合风格对抗训练后,本申请实施例的网络虽然不知道目标字体下目标字符应该是什么样子,但是网络可以通过其他字体下目标字符的结构性特征,再通过目标字体下其他字符的风格特征创作出目标字符在目标字体下的图像。
关于渐进式训练,为了排除浅层特征所带有的字体特征影响,本申请实施例没有采取U形网络,所以字符字体解码器的输入都是经过高维抽象过的特征。但是目标图像却应是一个包含了足够细节的字符图像,这对于生成模型的收敛是一个极大的挑战。因此,为了保证网络稳定收敛,本申请实施例采用渐进式训练的策略。其中,渐进式训练的策略具体如下:
在训练网络时先训练小分辨率的字符图像,然后利用在小分辨率下训练好的模型权重辅助下一阶段大分辨率的模型权重训练。图8A示出小分辨率(16*16分辨率)的平台期,图8B示出分辨率的增长过渡期,图8C示出大分辨率(32*32分辨率)的平台期,通过图8B所示的增长过渡期进行辅助,将图8A所示的16*16分辨率阶段过渡到图8C所示的32*32分辨率阶段,在不断迭代的过程中逐步增加α的权重,使得模型可以平稳的从高度抽象的阶段过渡到更为细致的阶段。
这种训练方式在网络训练前期给予网络一个较为简单的训练任务,然后逐渐细化生成的图像的细节,简化了网络参数的搜索空间,从而帮助网络稳定的收敛到理想状态。在增长过渡期结束后,网络已经可以输出质量较高的高分辨率字符图像,此时将放开前期对于字符编码器的参数训练,使得网络可以学习到更适合图像生成的字符特征,进一步优化字符图像的生成效果。
关于损失函数部分,本申请实施例的损失函数包括4个部分:真实性损失函数,字体分类损失函数(风格分类损失函数),字符编码损失函数以及图像L1损失函数(图像距离损失函数)。其中,字符编码损失函数Len的公式如公式(1)所示:
Len=||En(T)-En(De(En(S)+s))||2 (1)
其中,T表示真实的目标图像,S表示输入的图像,s表示输入的字体,E n表示字符编码器,De表示字形字体解码器。
其中,图像L1损失函数Ll1的公式如公式(2)所示:
Ll1=||T-De(En(S)+s)||1 (2)
其中,真实性损失函数和字体分类损失函数都由判别模型提供。真实性损失就是对抗损失,在判别模型优化阶段尽量让判别模型区分真实图像和生成模型所生成的假图像;在生成模型优化阶段尽量让生成模型得到可以迷惑判别模型的图像。字体分类损失是多分类交叉熵损失,在判别模型优化阶段通过真实数据训练出判别模型良好的字体(风格)分类能力,在生成模型优化阶段网络需要生成模型可以正确分类的图像,从而帮助生成模型得到满足目标字体的图像。其中,字符编码损失在渐进式训练完成所有的增长过渡期后加入训练,帮助字符编码器得到更适合图像生成的字符特征。
图9A-9C所示,给出了本申请实施例生成的字体字符图像结果示例,图8A中的字符图像901为输入网络的字符图像,字符图像902为转化为规定字体后的字符图像,图9B中的字符图像903为输入网络的字符图像,字符图像904为转化为规定字体后的字符图像,图9C中的字符图像905为输入网络的字符图像,字符图像906为转化为规定字体后的字符图像。
综上,本申请实施例提出的基于深度对抗学习的字体图像生成方案具有以下有益效果:
1)利用预训练的手写识别网络提取字符特征,保证网络可以获得优质且相对固定的字符特征,帮助网络收敛;
2)高效地利用“不同字库中包含的汉字并不完全一样”的特点设计了多字体混合风格对抗训练来生成目标字体图像,使得网络虽然没有见过目标字体下的目标字符应该是什么样子,但是学习到其他参考字体中目标字符的样子,帮助网络更高效的生成更高质量的目标字体下的目标字符图像;
3)多字体混合风格对抗训练还提供了字体编码部分,使得训练完成后,用户可以手动调节字体编码来生成全新的字体字库;
4)采用渐进式训练的方法,使得网络在前期训练阶段不需要浅层特征的帮助,在确保网络收敛的同时排除浅层特征的空间信息(字体特征)影响,保证生成的字体图像可以有较大的字形变化,而不仅是笔画粗细的变化;
5)可以降低补全字库的成本,辅助设计师完成特定字体的设计工作,提升设计师的工作效率从而减少人力成本;
6)降低生成字体的成本,实现帮助普通用户生成自己的手写字体的功能;
7)还可以为其他中文字识别相关项目提供数据补全,丰富数据分布,特别是针对手写识别这种收集数据成本极大的项目,可以快速生成大量训练数据,帮助项目提升效果。
至此已经结合本申请实施例提供的字库处理***的示例性应用和实施,说明本申请实施例提供的基于人工智能的字库处理方法。本申请实施例还提供字库处理装置,实际应用中,基于人工智能的字库处理装置中的各功能模块可以由电子设备(如服务器或服务器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)、存储器协同实现。其中,字库处理装置(图2示出了存储在存储器550中的字库处理装置555,图3示出了存储在存储器650中的字库处理装置655)可以是程序和插件等形式的软件,例如,软件C/C++、Java等编程语言设计的软件模块、C/C++、Java等编程语言设计的应用软件或大型软件***中的专用软件模块、应用程序接口、插件、云服务等实现方式,下面对不同的实现方式举例说明。
示例一、字库处理装置是移动端应用程序及模块
本申请实施例中的字库处理装置可提供为使用软件C/C++、Java等编程语言设计的软件模块,嵌入到基于Android或iOS等***的各种移动端应用中(以可执行指令存储在移动端的存储介质中,由移动端的处理器执行),从而直接使用移动端自身的计算资源完成相关的信息推荐任务,并且定期或不定期地通过各种网络通信方式将处理结果传送给远程的服务器,或者在移动端本地保存。
示例二、字库处理装置是服务器应用程序及平台
本申请实施例中的字库处理装置可提供为使用C/C++、Java等编程语言设计的应用软件或大型软件***中的专用软件模块,运行于服务器端(以可执行指令的方式在服务器端的存储介质中存储,并由服务器端的处理器运行),服务器使用自身的计算资源完成相关的字库处理任务。
本申请实施例还可以提供为在多台服务器构成的分布式、并行计算平台上,搭载定制的、易于交互的网络(Web)界面或其他各用户界面(UI,User Interface),形成供个人、群体或单位使用的信息推荐平台(用于推荐列表)等。
示例三、字库处理装置是服务器端应用程序接口(API,Application ProgramInterface)及插件
本申请实施例中的字库处理装置可提供为服务器端的API或插件,以供用户调用,以执行本申请实施例的基于人工智能的字库处理方法,并嵌入到各类应用程序中。
示例四、字库处理装置是移动设备客户端API及插件
本申请实施例中的字库处理装置可提供为移动设备端的API或插件,以供用户调用,以执行本申请实施例的基于人工智能的字库处理方法。
示例五、字库处理装置是云端开放服务
本申请实施例中的字库处理装置可提供为向用户开发的字库处理云服务,供个人、群体或单位处理字库。
其中,字库处理装置555包括一系列的模块,包括确定模块5551、编码模块5552、融合模块5553、解码模块5554以及训练模块5555。下面继续说明本申请实施例提供的字库处理装置555中各个模块配合实现字库处理方案。
确定模块5551,用于确定字库的第一风格以及所述字库的目标字符;编码模块5552,用于对所述目标字符的第二风格的字符图像进行字符编码处理,得到所述字符图像的目标字符特征;融合模块5553,用于对所述第一风格以及所述目标字符特征进行融合处理,得到字符融合特征;解码模块5554,用于对所述字符融合特征进行解码处理,得到所述目标字符的第一风格的字符图像,通过所述目标字符的第一风格的字符图像更新所述字库。
在一些实施例中,所述编码模块5552还用于对所述目标字符的第二风格的字符图像进行特征提取处理,得到所述字符图像的特征图;去除所述特征图中的风格空间信息,将去除所述风格空间信息的特征图作为所述字符图像的目标字符特征。
在一些实施例中,所述融合模块5553还用于对所述第一风格进行编码处理,得到所述第一风格的编码特征;对所述第一风格的编码特征以及所述目标字符特征进行拼接处理,得到所述字符融合特征。
在一些实施例中,所述融合模块5553还用于对所述第一风格以及所述目标字符特征进行映射处理,得到包含所述第一风格以及所述目标字符的中间特征向量;对包含所述第一风格以及所述目标字符的中间特征向量进行仿射变换,得到所述字符融合特征。
在一些实施例中,所述解码处理是通过解码模型实现的,所述解码模型包括多个级联的解码层,所述多个级联的解码层是通过渐进式训练得到的;所述解码模块5554还用于通过所述多个级联的解码层对所述字符融合特征进行级联的上采样解码处理,并将最后一个解码层输出的解码结果作为所述目标字符的第一风格的字符图像。
在一些实施例中,所述渐进式训练是通过以下过程实现的:通过所述多个级联的解码层对字符融合特征进行级联的上采样解码处理;基于所述多个级联的解码层的权重,对所述多个级联的解码层分别输出的解码结果进行加权求和处理,将所述加权求和处理的结果作为所述虚假的字符图像样本;其中,所述最后一个解码层的权重随着更新所述生成模型的次数增加而逐步增加,其他解码层的权重随着更新所述生成模型的次数增加而逐步减小;其中,所述字符融合特征是编码模型对真实的字符图像样本进行字符编码处理得到的。
在一些实施例中,所述字符编码处理和所述字符解码处理是通过生成式对抗网络中的生成模型实现的,所述生成式对抗网络还包括判别模型;所述装置555还包括:训练模块5555,用于通过以下方式训练所述生成式对抗网络:初始化所述生成模型以及所述判别模型,并交替执行以下训练任务:基于真实的第一字符图像样本以及真实的第二字符图像样本,训练所述生成模型,以使所述生成网络基于所述真实的第一字符图像样本生成虚假的字符图像样本;其中,所述真实的第一字符图像样本包括第一风格样本的目标字符样本,所述真实的第二图像样本以及所述虚假的字符图像样本包括第二风格样本的目标字符样本;基于所述真实的第二字符图像样本以及所述虚假的字符图像样本,训练所述判别模型,以使所述判别模型区分真实的字符图像样本和虚假的字符图像样本;其中,当训练所述生成模型时,固定所述判别模型的参数不变;当训练所述判别模型时,固定所述生成模型的参数不变。
在一些实施例中,所述生成模型包括编码模型以及解码模型;所述训练模块5555还用于通过所述编码模型对所述真实的第一字符图像样本进行字符编码处理,得到所述真实的第一字符图像样本的目标字符样本特征;对所述第一风格样本以及所述目标字符样本特征进行融合处理,得到字符融合特征;通过所述解码模型对所述字符融合特征进行解码处理,生成所述虚假的字符图像样本;基于所述真实的第二字符图像样本、以及所述虚假的字符图像样本,构建所述生成模型的损失函数;基于所述生成模型的损失函数更新所述生成模型的参数。
在一些实施例中,当所述最后一个解码层的权重小于1时,所述训练模块5555还用于基于所述真实的第二字符图像样本与所述虚假的字符图像样本的距离,得到图像距离损失函数,将所述图像距离损失函数作为所述生成模型的损失函数。
在一些实施例中,当所述最后一个解码层的权重等于1时,所述训练模块5555还用于通过所述编码模型对所述虚假的字符图像样本进行字符编码处理,得到所述虚假的字符图像样本的目标字符样本特征;通过所述编码模型对所述真实的第二字符图像样本进行字符编码处理,得到所述真实的第二字符图像样本的目标字符样本特征;基于所述虚假的字符图像样本的目标字符样本特征、以及所述真实的第二字符图像样本的目标字符样本特征,构建字符编码损失函数;对所述图像距离损失函数以及所述字符编码损失函数进行加权求和处理,将所述加权求和处理的结果作为所述生成模型的损失函数。
在一些实施例中,所述训练模块5555还用于通过所述生成模型生成所述虚假的字符图像样本;将所述真实的第二字符图像样本和所述虚假的字符图像样本作为训练样本,通过所述判别模型确定所述训练样本属于真实的字符图像的预测概率;基于所述预测概率与所述训练样本的真实概率之间的差值,构建所述判别模型的损失函数;基于所述判别模型的损失函数更新所述判别模型的参数。
在一些实施例中,所述训练模块5555还用于当所述预测概率表征所述训练样本为真实的字符图像时,通过所述判别模型对所述训练样本进行风格分类处理,得到所述训练样本的预测风格;基于所述预测风格以及所述训练样本的真实风格,构建风格分类损失函数;基于所述预测概率与所述训练样本的真实概率之间的差值,构建真实性损失函数;对所述真实性损失函数、所述风格分类损失函数进行加权求和处理,将所述加权求和处理的结果作为所述判别模型的损失函数。
在一些实施例中,所述确定模块5551还用于确定候选字库中的字符图像的数量;当所述字符图像的数量小于图像数量阈值时,将所述候选字库作为所述字库,并将所述字库的风格作为所述第一风格。
在一些实施例中,所述确定模块5551还用于确定不同于所述第一风格的候选字库;对所述候选字库中的字符图像进行筛选处理,得到包含目标字符的字符图像;其中,所述包含目标字符的字符图像不存在于所述字库。
在一些实施例中,所述确定模块5551还用于确定所述候选字库中的候选字符图像被选用的频率;当所述被选用的频率大于选用频率阈值时,将所述候选字符图像作为所述包含目标字符的字符图像。
其中,字库处理装置655包括一系列的模块,包括呈现模块6551以及生成模块6552。下面继续说明本申请实施例提供的字库处理装置655中各个模块配合实现字库处理方案。
呈现模块6551,用于呈现字库,所述字库包括第一风格的至少一个字符;生成模块6552,用于响应于针对所述字库的更新操作,调用生成模型,以基于目标字符的第二风格的字符图像生成所述第一风格的字符图像;所述呈现模块6551还用于呈现基于所述目标字符的第一风格的字符图像更新的所述字库;其中,所述目标字符包括所述字库的缺失字符和损坏字符中的至少一种。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的基于人工智能的字库处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的基于人工智能的字库处理方法,例如,如图4A-图4C示出的基于人工智能的字库处理方法,或如图6示出的基于人工智能的字库处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种基于人工智能的字库处理方法,其特征在于,包括:
确定字库的第一风格以及所述字库的目标字符;
对所述目标字符的第二风格的字符图像进行字符编码处理,得到所述字符图像的目标字符特征;
对所述第一风格以及所述目标字符特征进行融合处理,得到字符融合特征;
对所述字符融合特征进行解码处理,得到所述目标字符的第一风格的字符图像,通过所述目标字符的第一风格的字符图像更新所述字库。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标字符的第二风格的字符图像进行字符编码处理,得到所述字符图像的目标字符特征,包括:
对所述目标字符的第二风格的字符图像进行特征提取处理,得到所述字符图像的特征图;
去除所述特征图中的风格空间信息,将去除所述风格空间信息的特征图作为所述字符图像的目标字符特征。
3.根据权利要求1所述的方法,其特征在于,所述对所述第一风格以及所述目标字符特征进行融合处理,得到字符融合特征,包括:
对所述第一风格进行编码处理,得到所述第一风格的编码特征;
对所述第一风格的编码特征以及所述目标字符特征进行拼接处理,得到所述字符融合特征。
4.根据权利要求1所述的方法,其特征在于,
所述解码处理是通过解码模型实现的,所述解码模型包括多个级联的解码层,所述多个级联的解码层是通过渐进式训练得到的;
所述对所述字符融合特征进行解码处理,得到所述目标字符的第一风格的字符图像,包括:
通过所述多个级联的解码层对所述字符融合特征进行级联的上采样解码处理,并
将最后一个解码层输出的解码结果作为所述目标字符的第一风格的字符图像。
5.根据权利要求4所述的方法,其特征在于,
所述渐进式训练是通过以下过程实现的:
通过所述多个级联的解码层对字符融合特征进行级联的上采样解码处理;
基于所述多个级联的解码层的权重,对所述多个级联的解码层分别输出的解码结果进行加权求和处理,将所述加权求和处理的结果作为所述虚假的字符图像样本;
其中,所述最后一个解码层的权重随着更新所述生成模型的次数增加而逐步增加,其他解码层的权重随着更新所述生成模型的次数增加而逐步减小;
其中,所述字符融合特征是编码模型对真实的字符图像样本进行字符编码处理得到的。
6.根据权利要求1-5任一项所述的方法,其特征在于,
所述字符编码处理和所述字符解码处理是通过生成式对抗网络中的生成模型实现的,所述生成式对抗网络还包括判别模型;
所述方法还包括:
通过以下方式训练所述生成式对抗网络:
初始化所述生成模型以及所述判别模型,并交替执行以下训练任务:
基于真实的第一字符图像样本以及真实的第二字符图像样本,训练所述生成模型,以使所述生成网络基于所述真实的第一字符图像样本生成虚假的字符图像样本;
其中,所述真实的第一字符图像样本包括第一风格样本的目标字符样本,所述真实的第二图像样本以及所述虚假的字符图像样本包括第二风格样本的目标字符样本;
基于所述真实的第二字符图像样本以及所述虚假的字符图像样本,训练所述判别模型,以使所述判别模型区分真实的字符图像样本和虚假的字符图像样本;
其中,当训练所述生成模型时,固定所述判别模型的参数不变;当训练所述判别模型时,固定所述生成模型的参数不变。
7.根据权利要求6所述的方法,其特征在于,
所述生成模型包括编码模型以及解码模型;
所述基于真实的第一字符图像样本以及真实的第二字符图像样本,训练所述生成模型,包括:
通过所述编码模型对所述真实的第一字符图像样本进行字符编码处理,得到所述真实的第一字符图像样本的目标字符样本特征;
对所述第一风格样本以及所述目标字符样本特征进行融合处理,得到字符融合特征;
通过所述解码模型对所述字符融合特征进行解码处理,生成所述虚假的字符图像样本;
基于所述真实的第二字符图像样本、以及所述虚假的字符图像样本,构建所述生成模型的损失函数;
基于所述生成模型的损失函数更新所述生成模型的参数。
8.根据权利要求7所述的方法,其特征在于,当所述最后一个解码层的权重小于1时,所述基于所述真实的第二字符图像样本、以及所述虚假的字符图像样本,构建所述生成模型的损失函数,包括:
基于所述真实的第二字符图像样本与所述虚假的字符图像样本的距离,得到图像距离损失函数,
将所述图像距离损失函数作为所述生成模型的损失函数。
9.根据权利要求8所述的方法,其特征在于,当所述最后一个解码层的权重等于1时,所述基于所述真实的第二字符图像样本、以及所述虚假的字符图像样本,构建所述生成模型的损失函数,包括:
通过所述编码模型对所述虚假的字符图像样本进行字符编码处理,得到所述虚假的字符图像样本的目标字符样本特征;
通过所述编码模型对所述真实的第二字符图像样本进行字符编码处理,得到所述真实的第二字符图像样本的目标字符样本特征;
基于所述虚假的字符图像样本的目标字符样本特征、以及所述真实的第二字符图像样本的目标字符样本特征,构建字符编码损失函数;
对所述图像距离损失函数以及所述字符编码损失函数进行加权求和处理,将所述加权求和处理的结果作为所述生成模型的损失函数。
10.根据权利要求6所述的方法,其特征在于,所述基于所述真实的第二字符图像样本以及所述虚假的字符图像样本,训练所述判别模型,包括:
通过所述生成模型生成所述虚假的字符图像样本;
将所述真实的第二字符图像样本和所述虚假的字符图像样本作为训练样本,通过所述判别模型确定所述训练样本属于真实的字符图像的预测概率;
基于所述预测概率与所述训练样本的真实概率之间的差值,构建所述判别模型的损失函数;
基于所述判别模型的损失函数更新所述判别模型的参数。
11.根据权利要求10所述的方法,其特征在于,所述基于所述预测概率与所述训练样本的真实概率之间的差值,构建所述判别模型的损失函数,包括:
当所述预测概率表征所述训练样本为真实的字符图像时,通过所述判别模型对所述训练样本进行风格分类处理,得到所述训练样本的预测风格;
基于所述预测风格以及所述训练样本的真实风格,构建风格分类损失函数;
基于所述预测概率与所述训练样本的真实概率之间的差值,构建真实性损失函数;
对所述真实性损失函数、所述风格分类损失函数进行加权求和处理,将所述加权求和处理的结果作为所述判别模型的损失函数。
12.一种基于人工智能的字库处理方法,其特征在于,所述方法包括:
呈现字库,所述字库包括第一风格的至少一个字符;
响应于针对所述字库的更新操作,调用生成模型,以基于目标字符的第二风格的字符图像生成所述第一风格的字符图像,并
呈现基于所述目标字符的第一风格的字符图像更新的所述字库;
其中,所述目标字符包括所述字库的缺失字符和损坏字符中的至少一种。
13.一种基于人工智能的字库处理装置,其特征在于,所述装置包括:
确定模块,用于确定字库的第一风格以及所述字库的目标字符;
编码模块,用于对所述目标字符的第二风格的字符图像进行字符编码处理,得到所述字符图像的目标字符特征;
融合模块,用于对所述第一风格以及所述目标字符特征进行融合处理,得到字符融合特征;
解码模块,用于对所述字符融合特征进行解码处理,得到所述目标字符的第一风格的字符图像,通过所述目标字符的第一风格的字符图像更新所述字库。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的基于人工智能的字库处理方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时实现权利要求1至12任一项所述的基于人工智能的字库处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110052705.8A CN113569080A (zh) | 2021-01-15 | 2021-01-15 | 基于人工智能的字库处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110052705.8A CN113569080A (zh) | 2021-01-15 | 2021-01-15 | 基于人工智能的字库处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569080A true CN113569080A (zh) | 2021-10-29 |
Family
ID=78160933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110052705.8A Pending CN113569080A (zh) | 2021-01-15 | 2021-01-15 | 基于人工智能的字库处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569080A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125379A1 (zh) * | 2021-12-29 | 2023-07-06 | 北京字跳网络技术有限公司 | 文字生成方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-15 CN CN202110052705.8A patent/CN113569080A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125379A1 (zh) * | 2021-12-29 | 2023-07-06 | 北京字跳网络技术有限公司 | 文字生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112819686B (zh) | 基于人工智能的图像风格处理方法、装置及电子设备 | |
CN109993102B (zh) | 相似人脸检索方法、装置及存储介质 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN110795858B (zh) | 家装设计图纸的生成方法和装置 | |
CN113361250A (zh) | 一种基于语义一致性的双向文本生成图像方法及*** | |
CN113961736B (zh) | 文本生成图像的方法、装置、计算机设备和存储介质 | |
CN113011337B (zh) | 一种基于深度元学习的汉字字库生成方法及*** | |
CN110968725B (zh) | 图像内容描述信息生成方法、电子设备及存储介质 | |
CN113011320B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN112669215A (zh) | 一种训练文本图像生成模型、文本图像生成的方法和装置 | |
CN112668608A (zh) | 一种图像识别方法、装置、电子设备及存储介质 | |
CN117541668A (zh) | 虚拟角色的生成方法、装置、设备及存储介质 | |
CN114398871A (zh) | 金融实体抽取方法、装置、设备与计算机可读存储介质 | |
CN113434722B (zh) | 图像分类方法、装置、设备及计算机可读存储介质 | |
CN113569080A (zh) | 基于人工智能的字库处理方法、装置、设备及存储介质 | |
CN113177118A (zh) | 文本分类模型、文本分类的方法以及装置 | |
CN117541683A (zh) | 图像生成方法、装置、设备及计算机可读存储介质 | |
CN117369796A (zh) | 代码构建方法、模型微调方法、设备及存储介质 | |
CN116958325A (zh) | 图像处理模型的训练方法、装置、电子设备及存储介质 | |
CN115617975B (zh) | 针对少样本多轮对话的意图识别方法及装置 | |
CN116975347A (zh) | 图像生成模型训练方法及相关装置 | |
CN116975357A (zh) | 视频生成方法、装置、电子设备、存储介质及程序产品 | |
CN113554655B (zh) | 基于多特征增强的光学遥感图像分割方法及装置 | |
CN111915701A (zh) | 一种基于人工智能的按钮图像生成方法和装置 | |
CN114826921B (zh) | 基于抽样子图的网络资源动态分配方法、***及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40054505 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |