一种字体生成方法、装置、电子设备及可读存储介质与流程
未命名
09-08
阅读:80
评论:0

1.本技术涉及计算机领域,具体涉及一种字体生成方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.文字充斥在现代生活的每个部分中,人们需要通过文字阅读大量不同媒介传播的信息,用风格化的文字往往可以在第一时间抓住人们的注意力,这在许多视觉创作任务,例如海报、广告、虚拟游戏等任何需要展现字体的地方,都有很广泛的应用。因此,对于文字的风格化字体设计是非常重要的。
3.目前,存在一些基于深度学习网络进行字体生成的策略。例如,利用风格编码器从参考字图像的整体中提取参考字的风格特征,利用内容编码器从源字符图像中提取源字符的内容特征,最后将风格特征与内容特征结合生成最终的符合参考字风格以及源字符内容的目标字符。
4.但是,上述方式在提取风格特征时主要从参考字图像的整体中提取风格特征,这样提取到的风格特征主要体现在字符的全局风格,对于字符部件的细节的风格特征表现力不足,即,生成目标字符的效果较差。例如,源字符为楷体的“赐”,参考字为黑体的“经”,通过上述方式提取参考字“经”的全局风格特征,将该全局风格特征与源字符“赐”的内容特征结合后,可能存在对于目标字符黑体“赐”的部件“贝”黑体风格不明显或者依然是楷体,导致目标字符黑体“赐”的整体表现力差。
技术实现要素:
5.本技术提供了字体生成方法、装置、电子设备及计算机可读存储介质,能够该方法提高了字符部件的目标字体风格表现力,优化了源字符的目标字体风格生成效果。
6.第一方面,本技术实施例提供了一种字体生成方法,方法包括:
7.将待生成为目标字体风格的源字符拆分为源部件,并将所述源部件在所述源字符中的位置确定为源位置;
8.从具有所述目标字体风格的多个参考字中,确定包括所述源部件的内容参考字,并将所述源部件在所述内容参考字中的位置确定为参考位置;
9.从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对;
10.确定第一部件从所述参考位置变换到所述源位置所对应的形变映射关系;其中,所述第一部件为所述源部件,或者所述目标部件;
11.提取所述源部件在所述内容参考字中的第一风格特征,并将所述形变映射关系作用于所述第一风格特征,得到所述源部件对应的形变后风格特征;
12.根据所述源字符的内容特征与所述源部件对应的形变后风格特征,生成具有所述目标字体风格的所述源字符。
13.第二方面,本技术实施例提供了一种字体生成装置,装置包括:确定单元、风格特征映射单元和生成单元;
14.所述确定单元,用于将待生成为目标字体风格的源字符拆分为源部件,并将所述源部件在所述源字符中的位置确定为源位置;
15.所述确定单元,还用于从具有所述目标字体风格的多个参考字中,确定包括所述源部件的内容参考字,并将所述源部件在所述内容参考字中的位置确定为参考位置;
16.所述确定单元,还用于从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对;
17.所述确定单元,还用于确定第一部件从所述参考位置变换到所述源位置所对应的形变映射关系;其中,所述第一部件为所述源部件,或者所述目标部件;
18.所述风格特征映射单元,用于提取所述源部件在所述内容参考字中的第一风格特征,并将所述形变映射关系作用于所述第一风格特征,得到所述源部件对应的形变后风格特征;
19.所述生成单元,用于根据所述源字符的内容特征与所述源部件对应的形变后风格特征,生成具有所述目标字体风格的所述源字符。
20.第三方面,本技术实施例提供了一种电子设备,包括:
21.处理器;以及
22.存储器,用于存储数据处理程序,该电子设备通电并通过处理器运行该程序后,执行如第一方面的方法。
23.第四方面,本技术实施例提供了一种计算机可读存储介质,存储有数据处理程序,该程序被处理器运行,执行如第一方面的方法。
24.与现有技术相比,本技术具有以下优点:通过本技术提供的字体生成方法,可以将待生成为目标字体风格的源字符拆分为源部件,并将所述源部件在所述源字符中的位置确定为源位置,然后,可以从具有目标字体风格的多个参考字中,确定包括源部件的内容参考字,并将源部件在内容参考字中的位置确定为参考位置。在确定出上述源位置和参考位置之后,可以从多个参考字中确定同时包含有相同的目标部件且该相同的目标部件分别位于源位置和参考位置的形变参考字对。即,形变参考字对中的字符拥有相同的目标部件,且该目标部件位于形变参考字对中一个字符的参考位置,另一个字符的源位置。进一步的,可以确定第一部件从参考位置变换到源位置所对应的形变映射关系,第一部件可以是源部件或者目标部件。该形变映射关系可以实现将第一部件位于参考位置的风格特征映射到其位于源位置时的风格特征。可以理解的是,对于拥有相同目标字体风格的不同部件,其在不同的字符中处于相同的位置时具有相似的风格特征,由此可知,第一部件从参考位置变换到源位置过程中的形变映射关系与源部件从参考位置变换到源位置过程中的形变映射关系相似。因此,通过提取源部件在内容参考字中的第一风格特征,并将上述形变映射关系作用于第一风格特征,可以将源部件在内容参考字中的第一风格特征映射为源部件在源位置对应的形变后风格特征;接下来,根据源字符的内容特征与源部件对应的形变后风格特征,生成具有目标字体风格的源字符。
25.可见,本技术提供的字体生成方法,可以将源字符拆分为源部件,并对源字符进行部件级别的风格迁移,能够获得每个源部件对应的形变后风格特征,提高了字符部件的目
标字体风格的表现力,即提高了对于具有目标字体风格的源字符的细节表现力,优化了具有目标字体风格的源字符的生成效果。
附图说明
26.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1本技术实施例提供的字体生成方法的一例流程图;
28.图2为本技术实施例提供的字体生成方法的一例参考字示意图;
29.图3为本技术实施例提供的字体生成方法的一例参考位置与源位置之间的位置映射关系示意图;
30.图4为本技术实施例提供的字体生成方法的一例对源字符的部件拆分与位置编码示意图;
31.图5为本技术实施例提供的字体生成方法的一例流程示意图;
32.图6为本技术实施例提供的字体生成方法的一例倒排索引表示意图;
33.图7为本技术实施例提供的字体生成方法装置的结构示意图;
34.图8为本技术实施例提供用于生成字体的电子设备结构框图。
具体实施方式
35.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
36.需要说明的是,本技术的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本技术的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。应当理解,在本技术实施例中,“至少一个”是指一个或者多个,“多个”是指两个或者两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含a、b和/或c”是指包含a、b、c三者中任1个或任2个或3个。
37.应当理解,在本技术实施例中,“与a对应的b”、“与a相对应的b”、“a与b相对应”或者“b与a相对应”,表示b与a相关联,根据a可以确定b。根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。
38.在详细说明本技术的实施方式之前,首先对相关技术进行进一步介绍。
39.相关技术中,通常使用内容编码器进行源字符图像中字符内容的编码,同时使用
风格编码器进行参考字符图像中风格特征的提取。最后将内容编码与风格编码结合并生成最终的目标字符图像。但是,上述方式在提取风格特征时主要从参考字图像的整体中提取风格特征,这样提取到的风格特征主要体现在字符的全局风格,对于字符部件的细节的风格特征表现力不足,即,生成目标字符的效果较差。例如,源字符为楷体的“赐”,参考字为黑体的“经”,上述方式提取参考字“经”的全局风格特征,将该全局风格特征与源字符“赐”的内容特征结合后,对于目标字符黑体“赐”的各部件可能存在部件的黑体风格不明显或者依然是楷体的情况,导致目标字符黑体“赐”的整体表现力差。
40.另外,相关技术中还存在使用基于i2i(image-to-image)的方法进行源域图像到目标域图像映射学习的方法。该方法使用编码器-解码器结构进行源字符图像到目标字符图像的生成。该编码器-解码器结构保证了源字符图像中内容不变(即字符不变),同时使生成字符图像中的字符在风格上与参考字符图像一致。但是,基于i2i的方法主要针对单一字体生成任务设计。即针对每一种风格的参考字,需要重新训练深度网络,然后实现从源字体到该种参考字体风格的变换,这限制了该方法在实际使用中的效率。
41.基于上述存在的问题,本技术实施例提供了一种字体生成方法、装置、电子设备以及计算机可读存储介质。
42.本技术实施例提供的字体生成方法可以由电子设备执行,该电子设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。可以理解的是,本技术对于执行该字体生成方法的执行主体具体不作限定。
43.在详细介绍本技术提供的字体生成方法之前,首先对字体生成的相关概念进行介绍。
44.字符:在本实施例中指单独的文字,可以包括英文字母、汉字、韩语文字等。本实施例以汉字字符为例进行方法说明。例如,“赐”可看作一个字符。
45.部件:构成字符的基本结构,由一个以上的笔画构成的可以独立书写的组字单位。可以包括独体部件和合体部件,独体部件为不能够再进行拆分的部件,合体部件指由两个或两个以上的独体部件构成的部件。例如,“赐”可以看作包括三个独体部件,分别为“贝”、“日”和“勿”,也可以看作包括一个独体部件和一个合体部件,分别为“贝”和“易”。
46.独体字符:由单个独体部件构成的字称为独体字符。例如,“月”、“目”或者“尔”。
47.合体字符:由两个或两个以上的独体部件组合成的汉字称为合体字、例如,“赐”,由“贝”、“日”和“勿”合成;“秧”由“禾”和“央”合成。
48.字符部件结构:即字符的各独体部件的位置结构,常见的位置结构可以包括左右结构、上下结构、上中下结构、左中右结构、半包围结构、全包围结构或者特殊结构。例如,“他”是左右结构,“湖”是左中右结构,“李”或“贾”是上下结构,“司”或“厅”是包围结构,“回”是全包围结构,特殊结构例如包括“坐”、“乘”等。
49.所谓索引,是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息;记录索引信息的文件就是索引文件。对于搜索引擎,由于搜索空间巨大,索引文件对其非常重要,一般搜索引擎对搜索获得的文档均会建立索引。
50.倒排索引(inverted index)是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。
51.单词词典(lexicon):搜索引擎的索引单位通常是单词,单词词典是由文档集合中出现过的所有单词构成的字符串集合,单词词典内每条索引项记载单词本身的一些信息以及指向“倒排列表”的指针。
52.倒排列表(posting list):倒排列表记载了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息,每条记录称为一个倒排项(posting)。根据倒排列表,即可获知哪些文档包含某个单词。
53.倒排文件(inverted file):所有单词的倒排列表往往顺序地存储在磁盘的某个文件里,这个文件即被称之为倒排文件,倒排文件是存储倒排索引的物理文件。
54.仿射变换(affine transform)是一种仿射平面到自身的变换,它能够保持点的共线性(parallelism,即保持二维图形之间相对位置关系不变,平行仍是平行,相交直线的交角不变)和直线的平行性(straightness,即变换后圆弧还是圆弧,直线还是直线)。
55.下面通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
56.可以理解的是,在本技术实施例中所涉及到的字符或部件均是以图像的形式存在,例如,源字符可以理解为源字符图像,源部件可以理解为源部件图像,参考字可以理解为参考字图像等。
57.第一实施例
58.如图1所示,图1为本技术实施例提供的字体生成方法的一例流程图。需要说明的是,可以以不同于该方法流程图中示出的逻辑顺序执行所示出的步骤。该方法可以包括如下步骤s110~步骤s160。
59.步骤s110:将待生成为目标字体风格的源字符拆分为源部件,并将源部件在源字符中的位置确定为源位置。
60.本步骤s110用于获得源部件以及源位置,为后续对源部件进行字体风格迁移做准备。
61.上述源部件即为对源字符进行拆分后得到的部件内容,例如,源字符为“赐”,拆分后可以得到3个源部件,分别为“贝”、“日”和“勿”。
62.可以理解的是,在本实施例中,对源字符的源字体风格不具体限定,可以是任何一种风格字体。目标字体风格可以是设定的任意一种字体风格。在具体实施过程中源字符的源字体风格与目标字体风格不一致即可。本实施例以源字符的源字体风格为国标楷体、目标字体风格为隶书为例进行说明,即将源字符的字体风格从国标楷体变化为隶书。
63.在本实施例中,上述源部件可以是对源字符进行拆分后的所有源部件,也可以是从拆分后的所有源部件中随机筛选的满足预设数量的源部件,本实施例中对执行该字体生成方法的源部件的数量不具体限定。例如,源字符为“赐”,拆分后可以得到3个源部件,分别为“贝”、“日”和“勿”,在具体实施过程中,上述源部件可以是上述3个源部件,也可以在预设数量为2时,从3个源部件中随机选取2个源部件即可执行后续操作。
64.上述源部件在源字符中的位置可以理解为源部件在源字符中的相对位置。将源部件在源字符中的相对位置确定为源位置。例如,对于源字符“赐”的源部件“贝”,源部件“贝”在源字符“赐”中的相对位置为左右结构字符的左侧,则可以将左右结构字符的左侧这一相对位置确定为源位置。
65.本实施例中,上述源位置可以是对源部件在源字符中的相对位置进行编码得到的位置编码。对于位置编码详细介绍可以参照后续具体实施例。可以理解的是,对于相同字符部件结构的不同字符,存在不同部件在不同字符中的相对位置均为源位置的情况。例如,字符“赐”的字符部件结构为左右结构,部件“贝”在字符“赐”中的位置为左右结构字符的左侧,字符“秧”的字符部件结构为左右结构,部件“禾”在字符“秧”中的位置为左右结构字符的左侧,可以将部件“禾”在字符“秧”中的相对位置与部件“贝”在字符“赐”中的相对位置均看作为源位置。而对于相同的部件,其在具有不同字符部件结构的字符中的相对位置可以不同。例如,具有上下结构的字符“贾”,部件“贝”在字符“贾”中的相对位置为下方,则部件“贝”在字符“赐”和字符“贾”中的相对位置不同,“贝”在“赐”中位于源位置,在“贾”中位于另外一个位置。
66.在对部件在字符中的相对位置进行编码时,针对上述情况,对于字符部件结构相同的不同字符,其包括的不同的部件的位置编码可以相同,例如,上述部件“贝”在字符“赐”的位置编码与部件“禾”在字符“秧”中的位置编码相同,表示部件“贝”和部件“禾”位于左右结构字符的左侧。
67.在获得源字符的源部件以及源位置后,可以根据源部件从给定的参考字集合中获取相应的内容参考字。即执行如下步骤s120。
68.步骤s120:从具有目标字体风格的多个参考字中,确定包括源部件的内容参考字,并将源部件在内容参考字中的位置确定为参考位置。
69.上述参考字可以是预先设定的具有目标字体风格的参考字。例如,本实施例中参考字的字体风格为隶书。
70.本实施例中,对于参考字的字符数量不做限定,可以包括少量的参考字字符,也可以包括一种文字所包含的所有的不同字符。例如,参考字可以包括6000余个常用汉字。或者,参照图2,风格字体为隶书的参考字中包括“阳、擦、朵、梧、忽、绰、经”等少量的参考字。可以理解的是,此处仅为举例,并不是对本实施例的限定。
71.包括源部件的内容参考字,例如,当源字符为“赐”的源部件包括“贝”、“日”和“勿”,即内容参考字可以包括拥有“贝”、“日”或“勿”等部件的任意参考字,如,源字符“赐”对应的内容参考字可以包括“贾”、“阳”和“忽”。
72.可以理解的是,一个源部件可以对应至少一个内容参考字,本实施例对内容参考字的数量并不具体限定,在后续方法说明中以一个源部件对应一个内容参考字进行说明,因此,在本实施例中,源字符对应的内容参考字的数量取决于获取到的源部件的数量。
73.可以理解的是,源部件在内容参考字中对应的字体风格为目标字体风格。例如,源字符“赐”为国标楷体,目标风格字体为隶书,则源字符对应的内容参考字为隶书的“贾”、“阳”和“忽”。
74.在获取到内容参考字之后,可以将源部件在内容参考字中的位置确定为参考位置,该参考位置的确定方式可以参照确定源部件在源字符中的源位置的方式。例如,源字符“赐”对应的内容参考字“贾”,源部件“贝”在内容参考字“贾”中的位置为上下结构字符的下方,即可以将上下结构字符的下方这一位置确定为参考位置。
75.在一种可选的实施例中,确定出源位置和参考位置后,还需要对源位置和参考位置进行匹配,根据不同的匹配结果,可以采用不同的方式进行源部件的字体风格变换。匹配结果可以包括源位置与参考位置不同或者源位置与参考位置相同的两种情况。例如,源部件“贝”在字符“赐”的左侧,当内容参考字为“贾”时,“贝”在内容参考字“贾”的下方,即源位置与参考位置不同,当内容参考字为“赠”时,“贝”在内容参考字“赠”的左侧,即源位置与参考位置相同。
76.需要注意的是,参考位置和源位置相同与否并不会影响本实施例的方法实现,仅是对在获取内容参考字时出现的不同情况进行说明,并不是对本技术的限制。以下对这两种情况下进行源部件的字体风格变换的过程进行介绍。
77.第一种:源位置与参考位置相同。
78.当电子设备检测到源部件所在的源位置与参考位置相同的情况下,可以直接将位于参考位置的源部件的风格特征确定为源部件对应的形变后风格特征,然后执行步骤s160。例如,源字符为国标楷体字体的字符“赐”源部件为“贝”,源位置为左右结构字符的左侧,内容参考字为隶书字体的“赠”,源部件“贝”在字符“赠”中的参考位置为左右结构字符的左侧,即参考位置与源位置相同。由于位于相同位置的部件具有相似的风格特征,可以直接将位于内容参考字“赠”中参考位置的源部件“贝”对应的风格特征确定为源字符“赐”中的源部件“贝”对应的形变后风格特征。当然,在本实施例中,即使源位置与参考位置相同,也可以根据后续步骤s130~步骤s150确定源部件对应的形变后风格特征,使得源部件的形变后风格特征的表达效果更好。
79.第二种:源位置与参考位置不同。
80.当电子设备检测到源部件所在的源位置与参考位置不同的情况,可以理解为在给定的参考字中,没有检索到源部件在源位置的内容参考字。例如,源字符为“赐”,对于源部件“贝”在参考字中没有检索到包括源部件“贝”的左右结构字符,且源部件“贝”位于左右结构字符左侧的内容参考字,即,没有检索到如“赠”这种左右结构字符且“贝”在左侧的内容参考字。在这种情况下,不能直接使用源部件在内容参考字中的风格特征作为源部件对应的形变后风格特征,需要进行一定的形变,即需要执行后续步骤s130~步骤s160,具体参照后续介绍,此处不再赘述。
81.步骤s130:从多个参考字中确定同时包含有相同的目标部件,且相同的目标部件分别位于源位置和参考位置的形变参考字对。
82.本步骤s130用于确定后续学习形变映射关系的形变参考字对。
83.在本实施例中,上述形变参考字对中可以包括两个形变参考字,这两个形变参考字中包含有相同的目标部件,且目标部件分别位于源位置和参考位置。需要注意的是,目标部件与源部件不同,即,可以理解为从除了包含源部件的参考字之外的其余的参考字中确定形变参考字对。
84.例如,源字符为“赐”,源部件为“贝”,参考字可以包括“脆”、“宵”、“明”“芽”以及“秧”。由前述介绍可知,源位置为左右结构字符的左侧,参考位置为上下结构字符的下方,因此,可以通过确定上述参考字中的各个部件在对应参考字中的相对位置,并将该相对位
置与源位置和参考位置进行匹配,判断上述参考字的各个部件是否位于源位置和参考位置,将位于源位置和参考位置的部件进行筛选,以得到形变参考字对。如位于源位置的部件有“月”、“贝”、“日”和“禾”,位于参考位置的部件有“月”和“牙”。由于后续在对源部件进行风格特征形变时,需要保持源部件的内容特征一致,因此,在本步骤中将既可以位于源位置也可以位于参考位置的相同部件确定为目标部件,可见,在上述举例中,同时可以位于源位置和参考位置的部件为“月”。在上述举例中,字符“脆”、字符“宵”以及字符“明”中包括相同的部件“月”,且部件“月”位于源位置对应的参考字为“脆”,部件“月”位于参考位置对应的参考字为“宵”,于是可以字符“脆”以及字符“宵”确定为形变参考字对。由于目标部件“月”在字符“明”中的位置既不是源位置也不是参考位置,因此字符“明”不能构成形变参考字对。而对于字符“芽”和字符“秧”,二者与字符“脆”、“宵”以及“明”等字符均不包含相同的部件,因此字符“芽”和字符“秧”均不能确定为形变参考字对。
85.步骤s140:确定第一部件从参考位置变换到源位置所对应的形变映射关系。
86.第一部件为具有目标字体风格的部件。可以理解的是,具有目标字体风格的同一部件在不同的位置,其形态不一样,即,当参考位置与源位置不同时,同一部件位于参考位置的形状与其位于源位置时的形状不同,因此,第一部件在不同位置时存在一定的形变,处于不同位置的第一部件之间存在形变映射关系。例如,参照图3,对于字符“脆”以及字符“宵”,第一部件“月”从字符“宵”的下方位置变化至字符“脆”的左侧位置时,其形变映射关系可以为由“矮胖”变化至“瘦长”的映射关系。
87.上述第一部件可以为源部件或者目标部件。当第一部件为源部件时,即本步骤可以表示为确定具有目标字体风格的源部件从参考位置变换到源位置所对应的形变映射关系。例如,同前述举例,源字符为国标楷体的“赐”,源部件为“贝”,内容参考字为隶书的“贾”,源位置为左右结构字符的左侧,参考位置为上下结构字符的下方,即确定源部件“贝”从上下结构字符的下方变换到左右结构字符的左侧的形变映射关系。可以理解的是,此处的上下结构字符与左右结构字符均为具有目标字体风格的字符。例如,该上下结构字符为隶书的“员”,左右结构字符为隶书的“赠”,则本步骤用于确定源部件“贝”从字符“员”中的位置变换到字符“赠”中的位置所对应的形变映射关系。
88.可选实施例中,当第一部件为源部件时,在确定源部件“贝”从具有目标字体风格的上下结构字符的下方变换到具有目标字体风格的左右结构字符的左侧时,其中,具有目标字体风格的左右结构字符的左侧的源部件“贝”的风格特征即可确定为源部件“贝”所对应的形变后风格特征,不再需要进行后续确定形变映射关系来确定源部件对应的形变后风格特征的步骤。例如,隶书字体的字符“赠”中的“贝”的风格特征即可确定为源部件“贝”的形变后风格特征。当然,本实施例仅是对第一部件为源部件时,实现字符部件风格迁移的一种具体实现方式,并不是对本技术的限定。
89.当第一部件为目标部件时,可以表明在给定的参考字中没有检索到源部件位于源位置的参考字,即不能采用上述将源部件在具有目标字体风格的参考字中位于源位置时,直接将该具有目标字体风格的参考字中的源部件的风格特征直接确定为源部件的形变后风格特征的方法。此时,第一部件为上述与源部件不同的目标部件。例如,源部件为“贝”,第一部件可以是上述举例中的目标部件“月”。即确定目标部件“月”从参考位置变换到源位置所对应的形变映射关系。
90.在本实施例中,第一部件的数量与上述源部件的数量相同,一个源部件对应一个第一部件。
91.步骤s150:提取源部件在内容参考字中的第一风格特征,并将形变映射关系作用于第一风格特征,得到源部件对应的形变后风格特征。
92.上述第一风格特征用于表示源部件在内容参考字中的风格特征,例如,风格特征可以包括源部件在内容参考字中的位置、形状、线条、造型等。
93.上述形变后风格特征用于表示源部件在拥有目标字体风格的源字符中的风格,例如,可以包括源部件在拥有目标字体风格的源字符中的位置、形状、线条、造型等。
94.在步骤s140得到第一部件从参考位置变换到源位置所对应的形变映射关系后,实际应用中,在具有同一字体风格的字符中,位于相同位置的不同部件具有相似的风格特征,不同部件从参考位置变换到源位置所对应的形变映射关系相似,因此,可以将第一部件从参考位置变换到源位置所对应的形变映射关系与源部件从参考位置变换到源位置所对应的形变映射关系相似,可以将确定出的第一部件从参考位置变换到源位置所对应的形变映射关系作用于提取到的源部件在内容参考字中的风格特征,得到源部件对应的形变后风格特征。
95.例如,参照图3,源字符为“赐”,源部件为“贝”,内容参考字为“贾”,参考位置为上下结构字符的下方,源位置为左右结构字符的左侧。位于参考位置的部件“月”均比较瘦长,如“脆”中的“月”以及“赐”中的“贝”均比较瘦长,而位于源位置的部件“贝”相对矮胖,如“贾”中的“贝”与“宵”中的“月”均比较矮胖。当第一部件为“月”时,第一部件“月”从“宵”字符下方变化至“脆”字符左侧,“月”逐渐变的瘦长,将第一部件“月”从字符下方变化至字符左侧的形变映射关系作用于位于内容参考字“贾”中的参考位置的源部件“贝”,可以使得位于内容参考字下方的矮胖的“贝”逐渐变化为位于源位置的瘦长的“贝”。
96.步骤s150:根据源字符的内容特征与源部件对应的形变后风格特征,生成具有目标字体风格的源字符。
97.在本实施例中,可以将源字符输入内容编码器确定出源字符的内容特征,然后根据源字符的内容特征与源部件对应的形变后风格特征,生成具有目标字体风格的源字符。
98.在具体的实施例中,根据源字符的内容特征与源部件对应的形变后风格特征,生成具有目标字体风格的源字符可以包含以下两种情况。
99.其一,在源部件为源字符拆分后的所有部件的情况下,将源字符的内容特征与源部件对应的形变后风格特征进行特征融合,并对融合后的特征进行解码,得到具有目标字体风格的源字符。解码器可以由若干深度卷积神经网络组成,接收融合后的内容特征与目标风格特征进行卷积操作,最后输出目标字符。
100.其二,在源部件为从源字符拆分后的所有部件中选取了预设数量的部件的情况下,在进行特征融合时,可以通过已获得的源部件对应的形变后风格特征,对其余未选中的部件进行风格迁移,以使源字符的各部件风格特征一致,然后将源字符的内容特征与源部件对应的形变后风格特征进行特征融合,并对融合后的特征进行解码,得到具有目标字体风格的源字符。
101.通过本技术提供的字体生成方法,可以将待生成为目标字体风格的源字符拆分为源部件,并将所述源部件在所述源字符中的位置确定为源位置,然后,可以从具有目标字体
风格的多个参考字中,确定包括源部件的内容参考字,并将源部件在内容参考字中的位置确定为参考位置。在确定出上述源位置和参考位置之后,可以从多个参考字中确定同时包含有相同的目标部件且该相同的目标部件分别位于源位置和参考位置的形变参考字对。即,形变参考字对中的字符拥有相同的目标部件,且该目标部件位于形变参考字对中一个字符的参考位置,另一个字符的源位置。进一步的,可以确定第一部件从参考位置变换到源位置所对应的形变映射关系,第一部件可以是源部件或者目标部件。该形变映射关系可以实现将第一部件位于参考位置的风格特征映射到其位于源位置时的风格特征。可以理解的是,对于拥有相同目标字体风格的不同部件,其在不同的字符中处于相同的位置时具有相似的风格特征,由此可知,第一部件从参考位置变换到源位置过程中的形变映射关系与源部件从参考位置变换到源位置过程中的形变映射关系相似。因此,通过提取源部件在内容参考字中的第一风格特征,并将上述形变映射关系作用于第一风格特征,可以将源部件在内容参考字中的第一风格特征映射为源部件在源位置对应的形变后风格特征;接下来,根据源字符的内容特征与源部件对应的形变后风格特征,生成具有目标字体风格的源字符。
102.可见,本技术提供的字体生成方法,可以将源字符拆分为源部件,并对源字符进行部件级别的风格迁移,能够获得每个源部件对应的形变后风格特征,提高了字符部件的目标字体风格的表现力,即提高了对于具有目标字体风格的源字符的细节表现力,优化了具有目标字体风格的源字符的生成效果。
103.另外,相比于相关技术i2i中对每一种字体风格的参考字,需要重新训练深度网络的方法,本技术提供的字体生成方法,能够针对给定的任意一种字体风格的参考字,实现源字符的源字体风格到参考字字体风格的变换,不需要重新训练深度网络,提高了字体生成的效率。
104.以下对具体实现本技术提供的技术方案的可选的具体实施例进行介绍。
105.将待生成目标字体风格的源字符拆分为源部件时可以通过以下具体方式实现,该方式包括如下步骤s111~步骤s113。
106.步骤s111:获取待生成为目标字体风格的源字符以及字符部件结构。
107.在实际拆分过程中,可以依据相关技术中的字符部件标准以及字符部件结构进行源字符的部件拆分。字符部件标准中示出了字符的各独体部件,即示出了不能够再拆分的部件。字符部件结构即字符的各独体部件的位置结构,常见的位置结构可以包括左右结构、上下结构、上中下结构、左中右结构、半包围结构、全包围结构或者特殊结构。
108.步骤s112:根据字符部件结构,构建待生成为目标字体风格的源字符对应的分层树状结构。
109.在本实施例中,通过字符部件结构可以逐层构建分层树状结构,直至将字符拆分至独体部件级别为止,分层树状结构可以体现出字符部件之间的层级、包含关系,即,根据字符部件结构对字符进行“由粗到细”的拆分。参照图4,对字符“阳”和“赐”分别构建了分层树状结构。
110.该树状结构可以是二叉树结构。因此,以下无论提及到分层树状结构还是分层二叉树结构均表示相同的含义。
111.步骤s113:将分层树状结构中每一层的叶子节点对应的独体部件确定为待生成为目标字体风格的源字符的源部件。
112.在本实施例中,将源字符所在层级,即分层树状结构的根节点所在层,标记为第一层级,对于源字符的各部件所在层,即分层树状结构的子节点或者叶子节点所在层,分别标记为第二层~第n层,第n层的所有叶子节点的部件为独体部件。子节点可以理解为除了根节点之外,本身下面还连接有节点的节点,叶子节点不再连接有节点的节点,即末端节点。在本实施例中,叶子节点对应的部件均为独体部件,即源部件。
113.如图4所示,源字符为“阳”的字符部件结构包括左右结构,源字符“阳”对应的分层树状结构分为两层,源字符“阳”所在层为第一层,部件“阝”和“日”均为独体部件,所在层为第二层。即,源字符“阳”拆分后得到源部件包括“阝”和“日”。
114.又如,源字符为“赐”,“赐”的各独体部件的字符部件结构包括两级结构,第一级结构为左右结构,第二级结构为上下结构,因此对于字符“赐”构建的分层树状结构可以分为三层。字符“赐”位于第一层,按照左右结构进行拆分得到位于第二层的部件“贝”、“易”。其中,部件“易”为合体部件,字符部件结构为上下结构,可以进一步拆分,得到第三层的独体部件“日”以及“勿”。即,源字符“赐”拆分后得到源部件包括“贝”、“日”和“勿”。
115.至此,对源字符进行拆分得到源部件的方法进行了说明。下面对源位置进行说明。
116.在本实施例中,将源部件在源字符中的位置所对应的位置编码确定为源位置。该位置编码可以用于表示源部件在源字符中的相对位置,对于源部件在源字符中的位置所对应的位置编码可以由字符部件结构的结构标识以及部件在字符中的位置标识构成。
117.在对源部件在源字符中的相对位置进行位置编码时,可以对字符部件结构设定相应的结构标识,例如,左右结构的结构标识为0,上下结构的结构标识为1,左中右结构的结构标识为3等。
118.对于源部件在源字符中的具体位置也可以设定位置标识。在本实施例中,利用对源字符构建的分层二叉树结构的路径标识来表示源部件在源字符中的具体位置的位置标识。具体的,二叉树结构的每一层的左路径对应的子节点为左节点,右路径对应的子节点为右节点,对于左节点标记为0,右节点标记为1,即左节点标识对应的源部件的位置标识为0,右节点标识对应的源部件的位置标识为1。可以理解的是,位于二叉树结构左节点的部件通常位于字符的左侧或者上侧,右节点的部件通常位于字符的右侧或者下侧。
119.例如,参照图4,源字符“赐”的一级结构为左右结构,在第二层的左节点为部件“贝”,因此,源部件“贝”在源字符“赐”中的位置编码可以表示为[(0,0)],其中,第一个0表示源部件“贝”所在的源字符“赐”的字符部件结构为结构标识为0的左右结构,第二个0表示源部件“贝”为位于源字符“赐”的左侧。在本实施例中,为了直观理解该编码,在图4中以方框表示字符的字符部件结构,左右两个方框表示左右结构,上下两个方框表示上下结构。
[0120]
在本实施例中,位置编码可以表示为e(c,p),其中,c表示源字符,p表示源字符的任意一个源部件。
[0121]
参照图4,以源字符为“阳”和“赐”为例对位置编码进行说明。源字符“阳”对应的分层二叉树结构中,位于第二层的叶子节点中的左节点为“阝”,右节点为“日”。即,源字符“阳”的独体部件“阝”和“日”的位置编码可以分别表示为:e(阳,阝)和e(阳,日)。e(阳,阝)=[(0,0)],表示部件“阝”所在的源字符“阳”的字符部件结构为左右结构,且部件“阝”位于源字符“阳”在左侧;e(阳,日)=[(0,1)],表示部件“日”所在的源字符“阳”的字符部件结构为左右结构,且部件“日”位于源字符“阳”的右侧。
[0122]
同样的,对于字符“赐”对应的分层树状结构中,位于第二层的叶子节点包括左节点“贝”和右节点“易”,右节点“易”为合体部件,可以继续拆分得到第三层的叶子节点包括左节点“日”和右节点“勿”。即,字符“赐”的独体部件“贝”、“日”和“勿”的位置编码可以分别表示为e(赐,贝)、e(赐,日)和e(赐,勿)。其中,e(赐,日)=[(0,1),(1,0)],(0,1)表示源部件“日”所在的源字符“赐”的部件结构为结构标识为0的左右结构且位于右侧,(1,0)表示源部件“日”所在的合体部件“易”的部件结构为结构标识为1的上下结构且源部件“日”位于上侧。
[0123]
通过上述方式,可以对源字符进行拆分得到源部件并确定源部件在源字符中的位置,并将该位置确定为源位置。
[0124]
在本实施例中,步骤s120中从具有目标字体风格的参考字中,确定包括源部件的内容参考字时,具体可以通过如下方式实现。
[0125]
可以根据源部件从预先构建的字典集合中确定包括源部件的内容参考字。字典集合用于记录每一个参考部件对应的多个元组,参考部件可以理解为对所述参考字进行拆分得到的部件。元组包括拥有参考部件的参考字以及该参考部件在该参考字的位置编码。
[0126]
在本实施例中,可以通过以下方式构建字典集合。
[0127]
首先,对各参考字进行基于部件的拆分,得到各参考字的参考部件。对各参考字进行拆分得到参考部件的过程与对源字符进行部件拆分的过程一致,此处不再赘述。
[0128]
其次,将参考字和对该参考字拆分后的参考部件的构成元组[γ,e(γ,u)],其中,γ表示拥有目标字体风格的任意一个参考字,u为参考字γ的任意一个参考部件,e(γ,u)为参考部件在其对应的参考字中的位置编码。
[0129]
然后,以参考部件为索引,将每个参考部件对应的元组进行存储,存储有该元组的集合可以称为字典集合。即,得到拥有目标字体风格的各参考部件的字典集合。可以理解的是,拆分后对于每一个参考部件对应有至少一个参考字。
[0130]
通过源部件从预先构建的字典集合中查询该源部件对应的各元组,并从多个元组中随机选取一个元组,并将该元组中的参考字确定为内容参考字。例如,对于源部件“日”,可以通过字典集合查询到该源部件“日”对应的元组[阳,e(阳,日)]、元组[赐,e(赐,日)]以及元组[明,e(明,日)],这三个元组中的任意一个元组中的参考字可以作为源部件“日”对应的内容参考字。
[0131]
对于上述元组中的参考部件相对于参考字的位置编码方式与确定源部件在源字符中的源位置的位置编码方式相同,此处不再赘述。
[0132]
在一种可选的实施例中,步骤s130中“从多个参考字中确定同时包含有相同的目标部件,且相同的目标部件分别位于源位置和参考位置的形变参考字对”中,形变参考字对包括第一形变参考字和第二形变参考字,则确定形变参考字对具体可以通过如下步骤s131~步骤s133实现。
[0133]
步骤s131:确定参考位置与源位置之间对应的位置映射关系。
[0134]
在本实施例中,上述位置映射关系即为参考位置的位置编码与源位置的位置编码之间位置映射关系,该位置映射关系可以记为其中,c为源字符,γ为内容参考字,p为源部件。例如,源字符为“赐”,内容参考字为“阳”,源部件为“日”,源部件“日”对应的位置映射关系为对应的位置映射关系为
[0135]
步骤s132:从预先构建的倒排索引表中查询位置映射关系对应的第一形变参考字和第二形变参考字;其中,所述目标部件分别位于第一形变参考字中的参考位置以及第二形变参考字中的源位置,第一形变参考字与第二形变参考字具有目标字体风格。
[0136]
以下首先对预先生成的倒排索引表进行介绍。
[0137]
在本实施例中,倒排索引表,也可以称为倒排表、倒排索引。可以将倒排索引表理解为记录倒排索引的文件,以下无论提及到倒排索引表、倒排表或倒排索引均为相同的含义。
[0138]
本实施例中的对目标字体风格的参考字预先构建的倒排索引表以位置映射关系为索引,可以包括位置映射关系索引文件(单词词典)和倒排文件。参照图6,图6示出了位置映射关系索引文件、倒排列表以及倒排文件之间的关系。
[0139]
位置映射关系索引文件用于记录一种文字所包含的所有部件中每个部件出现过的所有位置映射关系,同时记录每个部件的位置映射关系对应的倒排列表在倒排文件中的地址信息,在支持检索时,根据用户的输入的位置映射关系,从位置映射关系索引文件里查询该位置映射关系相应的倒排列表在倒排文件中的地址信息,并根据该地址信息在倒排文件中获得该位置映射关系对应的倒排列表。该倒排列表中记载了出现过该位置映射关系的所有形变参考字的形变参考字列表。即,根据该位置映射关系对应的倒排列表,即可获知哪些形变参考字包含该位置映射关系。
[0140]
在本实施例中,每个部件出现过的所有位置映射关系对应的倒排列表往往顺序地存储在磁盘的某个文件里,这个文件即被称之为倒排文件,倒排文件是存储倒排索引的物理文件。
[0141]
上述倒排索引表中的位置映射关系索引文件可以根据以下方式获得。
[0142]
可以预先将具有目标风格字体的参考字所包含的不同字符基于部件进行拆分,得到部件集合。例如,参考字可以是6000余个常用汉字,将该6000余个汉字基于部件拆分得到的部件集合。
[0143]
对于部件集合中的每一个部件,可以从字典集合中任取两个包含同一部件的元组,记录这两个元组之间关于该部件的位置映射关系,将该位置映射关系添加至位置映射关系索引文件。例如,两个元组分别表示为[s,e(s,u)]和[t,e(t,u)],元组[s,e(s,u)]中记录了参考字s以及部件u在参考字s中的位置编码,元组[t,e(t,u)]中记录了参考字t以及部件u在参考字t的位置编码。元组[s,e(s,u)]和元组[t,e(t,u)]之间针对部件u存在位置映射关系射关系将位置映射关系添加至位置映射关系索引文件。
[0144]
在将每一个部件在字典集合m中的任意两个元组之间的位置映射关系记录至位置映射关系索引文件之后,构建该位置映射关系对应的倒排列表。例如,将部件u的位置映射关系对应的元组(s,t,u)添加至部件u的位置映射关系对应的倒排列表中。依次,将所有每一个部件的不同的位置映射关系对应的所有元组分别添加至对应的倒排列表中,构成以不同的
位置映射关系为索引的倒排索引表。该倒排索引表可以在对源字符进行目标字体生成时,检索形变参考字。
[0145]
例如,参照图3,第一部件u为“月”,元组[s,e(s,u)]中的参考字s为“宵”,元组[t,e(t,u)]中的参考字t为“脆”,第一部件“月”的参考位置与源位置之间的位置映射关系为将该位置映射关系将该位置映射关系添加至位置映射关系索引文件,并将位置映射关系关系索引文件,并将位置映射关系对应的元组(宵,脆,月)添加至位置映射关系至位置映射关系对应的倒排列表中。
[0146]
以上是对构建倒排索引表的过程进行的介绍。下面对从预先生成的倒排索引表中查询与所述位置映射关系相同的形变参考字对以及形变参考字对的第一形变内容,进行说明。
[0147]
确定源部件所在的参考位置与所在的源位置对应的位置映射关系确定源部件所在的参考位置与所在的源位置对应的位置映射关系后,在位置映射关系索引文件中通过查询该位置映射关系后,在位置映射关系索引文件中通过查询该位置映射关系对应的倒排列表的地址,进而根据该地址在倒排文件中获取倒排列表从该倒排列表中随机选取一个元组(s,t,u),该元组中的两个字符s和t构成形变参考字对(s,t),部件u即为目标部件。
[0148]
例如,参照图3,以源字符为“赐”,内容参考字为“贾”,源部件为“贝”为例进行说明。源部件为“贝”在参考位置与源位置之间的位置映射关系为在参考位置与源位置之间的位置映射关系为在检索形变参考字时,可以通过该位置映射关系在检索形变参考字时,可以通过该位置映射关系在位置映射关系索引文件中查询与该位置映射关系索引文件中查询与该位置映射关系对应的倒排列表在倒排文件中的位置,通过该位置确定位置映射关系中的位置,通过该位置确定位置映射关系对应的倒排列表,从该倒排列表中随机选取元组为(宵,脆,月),即确定形变参考字对为(宵,脆)。目标部件“月”在上下结构字符“宵”的下方,即与参考位置相同,可以将“宵”确定为第一形变参考字;目标部件“月”在左右结构的字符“脆”的左侧,即与源位置相同,可以将“脆”确定为第二形变参考字。
[0149]
在一种可选的实施例中,步骤s150中“提取所述源部件在所述内容参考字中的第一风格特征”,可以通过提取内容参考字的风格特征以及提取内容参考字关于源部件的第一注意力图,然后将内容参考字的风格特征与第一注意力图进行融合,即可得到源部件在内容参考字中的第一风格特征。即,具体包括以下步骤s151~步骤s153。
[0150]
步骤s151:提取内容参考字的风格特征。
[0151]
内容参考字的风格特征可以通过预先训练的风格编码器提取。即,将内容参考字输入预先训练的风格编码器,该风格编码器输出内容参考字的风格特征。风格编码器可以是相关技术中任意一种可用于提取图像风格特征的卷积神经网络,本实施例并不对此进行
限制。
[0152]
步骤s152:提取内容参考字关于源部件的第一注意力图。
[0153]
注意力图可以理解为对内容参考字图像中的各所在区域的重要程度进行区分标记后的图像,换言之,对各在内容参考字图像中赋予不同的权重。第一注意力图可以理解为源部件在内容参考字中的第一特征权重。
[0154]
内容参考字关于源部件的第一注意力图可以通过预先训练好的类激活图(class activation mapping,cam)提取。cam可以基于对图像内容的分类标签,定位到图像中主要表示该分类标签的区域,即cam生成的注意力图可以对内容参考字中的源部件所在区域与其他部件的的重要程度进行区分标记。具体的,本实施例中,将内容参考字以及源部件输入预训练的cam中,输出表示源部件在内容参考字中的参考位置的第一注意力图。
[0155]
步骤s153:根据第一注意力图,从内容参考字的风格特征中提取源部件在内容参考字中的第一风格特征。
[0156]
在得到内容参考字的风格特征以及内容参考字关于参考部件的第一注意力图之后,将内容参考字的风格特征与第一注意力图相乘,即可从内容参考字的风格特征中提取源部件在内容参考字中的第一风格特征。
[0157]
例如,参照图5,对于源字符“赐”的内容参考字中的三个内容参考字,分别为“贾”、“阳”和“忽”。针对第1个内容参考字“贾”,将“贾”输入预先训练好的风格编码器,得到内容参考字“贾”的风格特征,将“贾”以及对应的源部件“贝”同时输入至cam,得到内容参考字“贾”关于源部件“贝”的第一注意力图,将内容参考字“贾”的图像特征与第一注意力图相乘,得到内容参考字“贾”关于源部件“贝”的第一风格特征图像。同理,依次对源字符“赐”的其他内容参考字进行处理。
[0158]
对于cam和风格编码器的训练过程均是相关领域的常规技术,并不是本实施例的重点,在此处不再详细介绍。
[0159]
在一种可选的实施方式中,可以对源部件在内容参考字中的第一风格特征进行可视化显示,即可以对源部件在内容参考字中的参考位置显示与其他位置不同的颜色,该颜色所在位置即为参考位置。参照图5,在对内容参考字“贾”的风格特征和第一注意力图结合之后,得到的第一风格特征将“贾”中的“贝”所在区域颜色加深。
[0160]
可选的实施例中,当第一部件为目标部件时,确定第一部件从所述参考位置变换到所述源位置所对应的形变映射关系,具体可以由如下步骤s141~步骤s142实现。
[0161]
步骤s141:提取第一部件在第一形变参考字中的第二风格特征以及在第二形变参考字中的第三风格特征。
[0162]
提取第一部件在第一形变参考字中的第二风格特征以及在第二形变参考字中的第三风格特征均可参照后续上述提取源部件在内容参考字中的第一风格特征的方法。即,提取第一部件在第一形变参考字中的第二风格特征可以包括:提取第一形变参考字的风格特征;提取第一形变参考字关于第一部件的第二注意力图;根据第二注意力图,从第一形变参考字的风格特征中提取第一部件在第一形变参考字中的第二风格特征;提取第一部件在第二形变参考字中的第三风格特征,包括:提取第二形变参考字的风格特征;提取第二形变参考字关于第一部件的第三注意力图;根据第三注意力图,从第二形变参考字的风格特征中提取第一部件在第二形变参考字中的第三风格特征。详细介绍可以参照对第一风格特征
的提取,此处不再赘述。
[0163]
例如,参照图5,分别采用相同的方法对第一部件“月”在第一形变参考字“宵”中的第二风格特征和第一部件“月”在第二形变参考字“脆”中的第三风格特征进行提取。采用相同的方法,依次对源部件“日”在内容参考字“阳”中的第一风格特征、对应的第一部件“山”在第一形变参考字“灿”中的第二风格特征和对应的第一部件“山”在第二形变参考字“喘”中的第三风格特征进行提取;对源部件“勿”在内容参考字“忽”中的第一风格特征、对应的第一部件“木”在第一形变参考字“李”中的第二风格特征和对应的第一部件“木”在第二形变参考字“朵”中的第三风格特征进行提取。
[0164]
步骤s142:将第二风格特征变换到第三风格特征所对应的映射关系,确定为第一部件从参考位置变换到源位置所对应的形变映射关系。
[0165]
在一种可选的实施例中,参照图5,将第二风格特征与所述第三风格特征输入预先训练的形变映射学习模型,获得第二风格特征变换到第三风格特征所对应的映射关系,将第二风格特征变换到第三风格特征所对应的映射关系,确定为第一部件从参考位置变换到源位置所对应的形变映射关系。
[0166]
上述形变映射学习模型可以是基于vision transformer的图像配准模型,vision transformer是一种将transformer应用在图像分类的模型,通过基于该模型的图像配准模型,可以学习到第二风格特征与第一风格特征之间的仿射变换关系,该仿射变换关系即为上述形变映射关系,下面提及到的仿射变换关系或形变映射关系均表示相同的意思。
[0167]
通过图像配准网络学习图像之间仿射变换关系,就是根据图像之间的特征匹配信息,估计出一个仿射变换模型,该仿射变换模型即可表达图像之间的仿射变换关系。在本实施例中,可以利用基于vision transformer的图像配准网络,通过第二风格特征与第三风格特征之间的特征匹配关系,估计出用于将第二风格特征变换到第三风格特征仿射变化模型。利用图像配准网络估计仿射变化模型可以参考相关技术中的介绍,此处不再赘述。
[0168]
至此,对本实施例提供的方法进行了说明,通过对源字符基于部件级的风格迁移,提高了字符部件的目标字体风格的表现力,即提高了对于具有目标字体风格的源字符的细节表现力,优化了具有目标字体风格的源字符的生成效果。同时,可以在给定的参考字中不存在包括源部件确源部件位于源位置的参考字时,通过学习与源部件不同的第一部件从参考位置变化至源位置的形变映射关系来对位于参考位置的源部件进行形变,从而实现对源部件风格迁移,即,本技术提供的方法可用于参考字少量有限的情况,扩展了字体生成方法的使用场景。
[0169]
另外,相比于相关技术i2i中对每一种字体风格的参考字,需要重新训练深度网络的方法,本技术提供的字体生成方法,能够针对给定的任意一种字体风格的参考字,实现源字符的源字体风格到参考字字体风格的变换,不需要重新训练深度网络,提高了字体生成的效率。
[0170]
第二实施例
[0171]
与本技术第一实施例提供的字体生成方法相对应的,本技术第二实施例还提供了一种字体生成装置700,如图7所示,该装置包括:确定单元701、风格特征映射单元702和生成单元703;
[0172]
所述确定单元701,用于将待生成为目标字体风格的源字符拆分为源部件,并将所
述源部件在所述源字符中的位置确定为源位置;
[0173]
所述确定单元701,还用于从具有所述目标字体风格的多个参考字中,确定包括所述源部件的内容参考字,并将所述源部件在所述内容参考字中的位置确定为参考位置;
[0174]
所述确定单元701,还用于从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对;
[0175]
所述确定单元701,还用于确定第一部件从所述参考位置变换到所述源位置所对应的形变映射关系;其中,所述第一部件为所述源部件,或者所述目标部件;
[0176]
所述风格特征映射单元702,用于提取所述源部件在所述内容参考字中的第一风格特征,并将所述形变映射关系作用于所述第一风格特征,得到所述源部件对应的形变后风格特征;
[0177]
所述生成单元703,用于根据所述源字符的内容特征与所述源部件对应的形变后风格特征,生成具有所述目标字体风格的所述源字符。
[0178]
可选的,所述确定单元701,具体用于在所述参考位置与所述源位置不同的情况下,确定第一部件从所述参考位置变换到所述源位置所对应的形变映射关系。
[0179]
可选的,所述形变参考字对包括第一形变参考字和第二形变参考字;所述确定单元701,具体用于确定所述参考位置与所述源位置之间对应的位置映射关系;从预先构建的倒排索引表中查询所述位置映射关系对应的第一形变参考字和第二形变参考字;其中,所述目标部件分别位于所述第一形变参考字中的所述参考位置以及所述第二形变参考字中的所述源位置,所述第一形变参考字与所述第二形变参考字具有所述目标字体风格。
[0180]
可选的,当所述第一部件为所述目标部件时,所述风格特征映射单元702,还用于提取所述第一部件在所述第一形变参考字中的第二风格特征以及在所述第二形变参考字中的第三风格特征;将所述第二风格特征变换到所述第三风格特征所对应的映射关系,确定为所述第一部件从所述参考位置变换到所述源位置所对应的形变映射关系。
[0181]
可选的,所述风格特征映射单元702,具体用于提取所述内容参考字的风格特征;提取所述内容参考字关于所述源部件的第一注意力图;根据所述第一注意力图,从所述内容参考字的风格特征中提取所述源部件在所述内容参考字中的第一风格特征。
[0182]
可选的,所述风格特征映射单元702,具体用于将所述内容参考字输入预先训练的风格编码器,获得所述内容参考字的风格特征;将所述内容参考字和所述源部件输入预先训练的注意力图生成网络,获得所述内容参考字关于所述源部件的第一注意力图。
[0183]
可选的,所述生成单元703,具体用于将所述源字符的内容特征与所述源部件对应的形变后风格特征进行特征融合,并对融合后的特征进行解码,得到具有所述目标字体风格的所述源字符。
[0184]
可选的,所述确定单元701,还用于提取所述第一形变参考字的风格特征;提取所述第一形变参考字关于所述第一部件的第二注意力图;根据所述第二注意力图,从所述第一形变参考字的风格特征中提取所述第一部件在所述第一形变参考字中的第二风格特征;
[0185]
可选的,所述确定单元701,还用于提取所述第二形变参考字的风格特征;提取所述第二形变参考字关于所述第一部件的第三注意力图;根据所述第三注意力图,从所述第二形变参考字的风格特征中提取所述第一部件在所述第二形变参考字中的第三风格特征。
[0186]
可选的,所述装置还包括映射关系学习单元704;
[0187]
所述映射关系学习单元704,用于将所述第二风格特征与所述第三风格特征输入预先训练的形变映射学习模型,获得所述第二风格特征变换到所述第三风格特征所对应的映射关系。
[0188]
可选的,所述确定单元701,具体还用于获取所述待生成为目标字体风格的源字符以及字符部件结构;根据所述字符部件结构,构建所述待生成为目标字体风格的源字符对应的分层树状结构;将所述分层树状结构中每一层的叶子节点对应的独体部件确定为所述待生成为目标字体风格的源字符的源部件。
[0189]
第三实施例
[0190]
与本技术第一实施例提供的一种字体生成方法相对应的,本技术第三实施例还提供了一种用于生成字体的电子设备,如图8所示,电子设备包括:处理器801;以及存储器802,用于存储字体生成方法的程序,该设备通电并通过处理器运行该字体生成方法的程序后,执行如上述实施例中提供的字体生成方法的步骤。
[0191]
第四实施例
[0192]
与本技术第一实施例提供的字体生成方法相对应的,本技术第四实施例还提供了一种计算机可读存储介质,存储有字体生成方法的程序,该程序被处理器运行,执行如上述实施例提供的字体生成方法的步骤。
[0193]
需要说明的是,对于本技术第二实施例、第三实施例和第四实施例提供的装置、电子设备及计算机可读存储介质的详细描述可以参考对本技术第一实施例的相关描述,这里不再赘述。
[0194]
本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
[0195]
在一个典型的配置中,区块链节点的计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0196]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0197]
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读操作、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0198]
2、本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用
存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0199]
本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
技术特征:
1.一种字体生成方法,其特征在于,所述方法包括:将待生成为目标字体风格的源字符拆分为源部件,并将所述源部件在所述源字符中的位置确定为源位置;从具有所述目标字体风格的多个参考字中,确定包括所述源部件的内容参考字,并将所述源部件在所述内容参考字中的位置确定为参考位置;从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对;确定所述第一部件从所述参考位置变换到所述源位置所对应的形变映射关系;其中,所述第一部件为所述源部件,或者所述目标部件;提取所述源部件在所述内容参考字中的第一风格特征,并将所述形变映射关系作用于所述第一风格特征,得到所述源部件对应的形变后风格特征;根据所述源字符的内容特征与所述源部件对应的形变后风格特征,生成具有所述目标字体风格的所述源字符。2.根据权利要求1所述的方法,其特征在于,所述从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对,包括:在所述参考位置与所述源位置不同的情况下,从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对。3.根据权利要求2所述的方法,其特征在于,所述形变参考字对包括第一形变参考字和第二形变参考字;所述从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对,包括:确定所述参考位置与所述源位置之间对应的位置映射关系;从预先构建的倒排索引表中查询所述位置映射关系对应的第一形变参考字和第二形变参考字;其中,所述目标部件分别位于所述第一形变参考字中的所述参考位置以及所述第二形变参考字中的所述源位置,所述第一形变参考字与所述第二形变参考字具有所述目标字体风格。4.根据权利要求3所述的方法,其特征在于,当所述第一部件为所述目标部件时,所述确定所述第一部件从所述参考位置变换到所述源位置所对应的形变映射关系,包括:提取所述第一部件在所述第一形变参考字中的第二风格特征以及所述第一部件在所述第二形变参考字中的第三风格特征;将所述第二风格特征变换到所述第三风格特征所对应的映射关系,确定为所述第一部件从所述参考位置变换到所述源位置所对应的形变映射关系。5.根据权利要求1所述的方法,其特征在于,所述提取所述源部件在所述内容参考字中的第一风格特征,包括:提取所述内容参考字的风格特征;提取所述内容参考字关于所述源部件的第一注意力图;根据所述第一注意力图,从所述内容参考字的风格特征中提取所述源部件在所述内容参考字中的第一风格特征。
6.根据权利要求5所述的方法,其特征在于,所述提取所述内容参考字的风格特征,包括:将所述内容参考字输入预先训练的风格编码器,获得所述内容参考字的风格特征;所述提取所述内容参考字关于所述源部件的第一注意力图,包括:将所述内容参考字和所述源部件输入预先训练的注意力图生成网络,获得所述内容参考字关于所述源部件的第一注意力图。7.根据权利要求1所述的方法,其特征在于,所述根据所述源字符的内容特征与所述源部件对应的形变后风格特征,生成具有所述目标字体风格的所述源字符,包括:将所述源字符的内容特征与所述源部件对应的形变后风格特征进行特征融合,并对融合后的特征进行解码,得到具有所述目标字体风格的所述源字符。8.根据权利要求4所述的方法,其特征在于,所述提取所述第一部件在所述第一形变参考字中的第二风格特征,包括:提取所述第一形变参考字的风格特征;提取所述第一形变参考字关于所述第一部件的第二注意力图;根据所述第二注意力图,从所述第一形变参考字的风格特征中提取所述第一部件在所述第一形变参考字中的第二风格特征;所述提取所述第一部件在所述第二形变参考字中的第三风格特征,包括:提取所述第二形变参考字的风格特征;提取所述第二形变参考字关于所述第一部件的第三注意力图;根据所述第三注意力图,从所述第二形变参考字的风格特征中提取所述第一部件在所述第二形变参考字中的第三风格特征。9.根据权利要求4所述的方法,其特征在于,所述将所述第二风格特征变换到所述第三风格特征所对应的映射关系,确定为所述第一部件从所述参考位置变换到所述源位置所对应的形变映射关系之前,所述方法还包括:将所述第二风格特征与所述第三风格特征输入预先训练的形变映射学习模型,获得所述第二风格特征变换到所述第三风格特征所对应的映射关系。10.根据权利要求1所述的方法,其特征在于,所述将待生成为目标字体风格的源字符拆分为源部件,包括:获取所述待生成为目标字体风格的源字符以及字符部件结构;根据所述字符部件结构,构建所述待生成为目标字体风格的源字符对应的分层树状结构;将所述分层树状结构中每一层的叶子节点对应的独体部件确定为所述待生成为目标字体风格的源字符的源部件。11.一种字体生成装置,其特征在于,所述装置包括:确定单元、风格特征映射单元和生成单元;所述确定单元,用于将待生成为目标字体风格的源字符拆分为源部件,并将所述源部件在所述源字符中的位置确定为源位置;所述确定单元,还用于从具有所述目标字体风格的多个参考字中,确定包括所述源部件的内容参考字,并将所述源部件在所述内容参考字中的位置确定为参考位置;
所述确定单元,还用于从所述多个参考字中确定同时包含有相同的目标部件,且所述相同的目标部件分别位于所述源位置和所述参考位置的形变参考字对;所述确定单元,还用于确定第一部件从所述参考位置变换到所述源位置所对应的形变映射关系;其中,所述第一部件为所述源部件,或者所述目标部件;所述风格特征映射单元,用于提取所述源部件在所述内容参考字中的第一风格特征,并将所述形变映射关系作用于所述第一风格特征,得到所述源部件对应的形变后风格特征;所述生成单元,用于根据所述源字符的内容特征与所述源部件对应的形变后风格特征,生成具有所述目标字体风格的所述源字符。12.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如权利要求1~10中任一项所述的方法。13.一种计算机可读存储介质,其特征在于,存储有数据处理程序,该程序被处理器运行,执行如权利要求1~10中任一项所述的方法。
技术总结
本申请公开一种字体生成方法、装置、电子设备,该方法包括:将待生成为目标字体风格的源字符拆分为源部件并确定源位置;从具有目标字体风格的多个参考字中确定包括源部件的内容参考字并确定参考位置;从多个参考字中确定同时包含有相同的目标部件且相同的目标部件分别位于源位置和参考位置的形变参考字对;确定第一部件从参考位置变换到源位置所对应的形变映射关系;提取源部件在内容参考字中的第一风格特征并将形变映射关系作用于第一风格特征得到源部件对应的形变后风格特征;根据源字符的内容特征与源部件对应的形变后风格特征生成具有目标字体风格的源字符。该方法提高了字符部件的目标字体风格表现力,优化了源字符的目标字体风格生成效果。符的目标字体风格生成效果。符的目标字体风格生成效果。
技术研发人员:赵敏达 李林橙 张永强 刘柏 范长杰 胡志鹏
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.05.17
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种铝合金门窗的喷涂机构的制作方法 下一篇:一种负压混曝生物反应装置的制作方法