CN113095421B - 生成字体数据库的方法、神经网络模型的训练方法和装置 - Google Patents

生成字体数据库的方法、神经网络模型的训练方法和装置 Download PDF

Info

Publication number
CN113095421B
CN113095421B CN202110427857.1A CN202110427857A CN113095421B CN 113095421 B CN113095421 B CN 113095421B CN 202110427857 A CN202110427857 A CN 202110427857A CN 113095421 B CN113095421 B CN 113095421B
Authority
CN
China
Prior art keywords
font
data
database
model
font database
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
Application number
CN202110427857.1A
Other languages
English (en)
Other versions
CN113095421A (zh
Inventor
唐礼承
刘家铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110427857.1A priority Critical patent/CN113095421B/zh
Publication of CN113095421A publication Critical patent/CN113095421A/zh
Priority to JP2022007188A priority patent/JP2022048226A/ja
Priority to KR1020220026390A priority patent/KR20220034083A/ko
Priority to US17/683,514 priority patent/US11816908B2/en
Priority to EP22159420.3A priority patent/EP4040404A3/en
Application granted granted Critical
Publication of CN113095421B publication Critical patent/CN113095421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • G06V30/244Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
    • G06V30/245Font recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19093Proximity measures, i.e. similarity or distance measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1914Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries, e.g. user dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • G06V30/244Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
    • G06V30/2455Discrimination between machine-print, hand-print and cursive writing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开公开了一种用于生成字体数据库的方法、神经网络模型的训练方法和装置,涉及人工智能领域,具体为计算机视觉和深度学习技术。所述用于生成字体数据库的方法包括:利用经训练相似度比较模型,确定多个基础字体数据库中,与目标用户的手写字体数据最相似的基础字体数据库,作为候选字体数据库;以及利用用于生成所述候选字体数据库的经训练基础字体数据库模型,来调整所述目标用户的手写字体数据,得到针对所述目标用户的目标字体数据库。

Description

生成字体数据库的方法、神经网络模型的训练方法和装置
技术领域
本公开涉及人工智能领域,具体为计算机视觉和深度学习技术,尤其涉及一种生成字体数据库的方法、神经网络模型的训练方法和装置。
背景技术
字体生成一直是国内外许多研究者着重研究的课题,在字体设计行业有着广泛的应用价值。目前主流的技术方案包括基于深度学习的字体生成方案和将字体进行拆分再组合的字体生成方案。
对于基于深度学习的字体生成方案,尤其是基于生成式对抗网络(GAN)的字体生成方案,需要大量数据进行训练。数据质量和数量会极大影响最终的输出效果,因此对训练数据获取和数据质量有很高的要求。而对于字体进行拆分再组合的字体生成方案,其所需数据量虽然相比GAN虽然小,但是很难复现用户字体的连笔特征,导致缺乏用户字体的美观度和多样性。
发明内容
本公开提供了一种用于生成字体数据库的方法、神经网络模型的训练方法、装置、设备以及存储介质。
根据第一方面,提供了一种用于生成字体数据库的方法,包括:
利用经训练相似度比较模型,确定多个基础字体数据库中,与目标用户的手写字体数据最相似的基础字体数据库,作为候选字体数据库;以及
利用用于生成所述候选字体数据库的经训练基础字体数据库模型,来调整所述目标用户的手写字体数据,得到针对所述目标用户的目标字体数据库。
根据第二方面,提供了一种神经网络模型的训练方法,所述神经网络模型包括基础字体数据库模型和相似度比较模型,所述方法包括:
利用多个用户的手写字体数据训练所述基础字体数据库模型,使得所述多个用户的每个用户分别具有与其相对应的基础字体数据库模型和基础字体数据库;以及
利用所述多个用户的多个基础字体数据库训练相似度比较模型。
根据第三方面,提供了一种用于生成字体数据库的装置,包括:
确定模块,利用经训练相似度比较模型,将目标用户的手写字体数据与多个基础字体数据库分别进行比较,来确定所述多个基础字体数据库中与目标用户的手写字体数据最相似的基础字体数据库,作为候选字体数据库;以及
调整模块,利用用于生成所述候选字体数据库的经训练基础字体数据库模型,来调整所述目标用户的手写字体数据,得到针对所述目标用户的目标字体数据库。
根据第四方面,提供了一种神经网络模型的训练装置,所述神经网络模型包括基础字体数据库模型和相似度比较模型,所述训练装置包括:
基础字体数据库模型训练模块,利用多个用户的手写字体数据训练所述基础字体数据库模型,使得所述多个用户的每个用户分别具有与其相对应的基础字体数据库模型和基础字体数据库;以及
相似度比较模型训练模块,利用所述多个用户的多个基础字体数据库训练相似度比较模型。
根据第五方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
根据第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述方法。
根据第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示出了根据本公开实施例的用于生成字体数据库的方法的流程图;
图2示出了根据本公开实施例的使用一致性点集漂移(CPD)匹配算法对用户的手写字进行分割的效果;
图3示出了根据本公开另一实施例的用于生成字体数据库的方法的流程图;
图4示出了根据本公开实施例的调整偏旁图像数据的重心位置的示意图;
图5示出了根据本公开实施例的神经网络模型的训练方法的流程图;
图6示出了根据本公开实施例的基础字体数据库模型的模型结构的示意图;
图7示出了根据本公开实施例的训练相似度比较模型的方法的流程图;
图8示出了根据本公开实施例的相似度比较模型的模型结构的示意图;
图9示出了根据本公开实施例的生成字体数据库的效果的示意图;
图10是根据本公开实施例的用于生成字体数据库的装置的框图;
图11是根据本公开实施例的神经网络模型的训练装置的框图;
图12示出了可以用来实施本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了根据本公开实施例的用于生成字体数据库的方法100的流程图。
在步骤S110,利用经训练相似度比较模型,确定多个基础字体数据库中,与目标用户的手写字体数据最相似的基础字体数据库,作为候选字体数据库。
在一些实施例中,可以确定目标用户的手写字体数据与多个基础字体数据库中的每个基础字体数据库中的相应字体数据之间的相似度,并将多个基础字体数据库中具有最大相似度的基础字体数据库作为候选字体数据库。
在一些实施例中,相似度包括目标用户的多个手写字体数据与多个基础字体数据库中的每个基础字体数据库中的多个相应字体数据之间的相似度之和。
例如,在预先利用N(N为大于1的自然数)个基础字体数据库训练了相似度比较模型的情况下,如果目标用户(例如,新用户)输入100个手写字,则将这100个手写字的字体数据分别与每个基础字体数据库中的100个相应字体数据输入经训练相似度比较模型,该相似度比较模型输出要比较的字体数据与每个基础字体数据库中的相应字体数据相似的概率pij(i=1,2,...,N;j=1,2,...,100)。下文中,将字体之间相似的概率称为相似度。在一些实施例中,可以通过计算目标用户输入的100个手写字的字体数据与基础字体数据库中的相应字体数据之间的相似度之和,得到与目标用户最为相似的基础字体数据库为:
可以将与目标用户的手写字体数据最相似的基础字体数据库作为候选字体数据库。
在步骤S 120,利用用于生成候选字体数据库的经训练基础字体数据库模型,来调整目标用户的手写字体数据,得到针对目标用户的目标字体数据库。
在一些实施例中,利用用于生成候选字体数据库的经训练基础字体数据库模型,以标准字体的基础笔画作为输入,以目标用户的手写字体的基础笔画作为输出。在一些实施例中,目标用户的手写字体的基础笔画是通过使用一致性点集漂移(CPD)匹配算法对目标用户的手写字进行分割而得到的。
图2示出了根据本公开实施例的使用一致性点集漂移(CPD)匹配算法对用户的手写字进行分割的效果。
如图2所示,210表示用户输入的手写字,220表示标准楷体字。用户的手写字与标准楷体字经过CPD匹配,得到匹配结果230。
在一些实施例中,还可以对使用CPD匹配算法匹配的匹配结果230进行过滤,以滤除被确定为不正确的结果。
本公开的实施例通过利用预先训练的基础字体数据库模型,来生成针对目标用户的目标字体数据库,这样目标用户仅需提供少量的手写字体数据就可以获得效果稳定的字体数据库模型。根据本公开实施例的字体数据库生成方法的训练过程简单,处理步骤少,模型研发效率高。
图3示出了根据本公开另一实施例的用于生成字体数据库的方法300的流程图。
方法300中的步骤S310和S320与参照图1所述的步骤S110和S120相同,为了简洁,这里将省略对步骤S310和S320的重复描述。
方法300还可以包括步骤S330。在步骤S330,利用目标用户的手写字体数据的偏旁数据替换目标字体数据库中的对应偏旁数据。
在一些实施例中,计算替换后的偏旁图像数据的重心位置与替换前的偏旁图像数据的重心位置之间的差值,并基于该差值调整替换后的偏旁图像数据的位置。
图4示出了根据本公开实施例的调整偏旁图像数据的重心位置的示意图。
参照图4,计算由与目标字体数据库中的特定字体数据相对应的偏旁图像S1(如图4中所示的“提手”旁)的所有笔画(为了简洁,在下文中称为“笔画”)所形成的边界框410(x,y,w,h),其中x,y表示边界框410所在位置的x-y轴坐标,w表示边界框的宽度,h表示边界框的高度。计算偏旁图像S1的所有笔画的共同重心p1,即偏旁图像S1的重心p1。从与目标用户输入的字体数据相对应的字体图像中分割出与偏旁图像S1相同类型的偏旁图像S2,用偏旁图像S2替换偏旁图像S1并放入边界框410(x,y,w,h)中。
在一些实施例中,还可以计算替换后的偏旁图像S2的重心位置与替换前的偏旁图像S1的重心位置之间的差值,并基于该差值调整替换后的偏旁图像S2的位置。具体地,计算偏旁图像S2的所有笔画的共同重心p2(即偏旁图像S2的重心p2),并计算偏旁图像S2的重心p2与偏旁图像S1的重心p1之差,得到二者之间的重心位置的差值为(dx,dy)。基于该差值(dx,dy),将边界框310(x,y,w,h)移动到(x+dx,y+dy,w,h),从而使偏旁图像S2的重心p2与偏旁图像S1的重心p1对齐。
本公开的实施例通过利用目标用户的手写字体数据的偏旁数据替换目标字体数据库中的对应偏旁数据,进一步反映出用户的字体风格。同时,通过基于重心对齐的方法调整替换后的偏旁图像的位置,使得替换后的偏旁图像与原字图像的其他部分更加和谐。
图5示出了根据本公开实施例的神经网络模型的训练方法500的流程图。神经网络模型包括基础字体数据库模型和相似度比较模型。
在步骤S510,利用多个用户的手写字体数据训练基础字体数据库模型,使得所述多个用户的每个用户分别具有与其相对应的基础字体数据库模型和基础字体数据库。基础字体数据库模型的输入是标准字体(例如,标准楷体)的基础笔画,输出是多个用户中的每个用户的手写字体的基础笔画。
在步骤S520,利用多个用户的多个基础字体数据库训练相似度比较模型。相似度比较模型可以比较两个或更多个字体图像数据之间的相似度。
图6示出了根据本公开实施例的基础字体数据库模型600的模型结构的示意图。
参照图6,以标准字体(例如,标准楷体)的基础笔画作为输入,以多个用户中的每个用户的手写字体的基础笔画为输出,来训练基础字体数据库模型600。例如,输入可以是图6中所示的输入1、输入2……输入N,输出可以是图6中所示的输出1、输出2……输出N。
在一些实施例中,多个用户中的每个用户的手写字体的基础笔画是通过使用一致性点集漂移(CPD)匹配算法对每个用户的手写字进行分割而得到的。使用CPD匹配算法对目标用户的手写字进行分割的效果如图2所示。
在一些实施例中,还可以对使用CPD匹配算法匹配的结果进行过滤,以滤除被确定为不正确的结果。
具体地,对使用CPD匹配算法分割得到的每个基础笔画进行20点的均匀采样,计算这20个点的中心点(Xc,Yc)。然后,计算这20个点中的每个点与中心点的坐标之差,获得每个点与中心点的偏差值(Xi-Xc,Yi-Yc),其中i表示点的索引。此外,还可以确定通过CPD匹配算法分割得到的基础笔画所属的类别。这里,以汉字为例,汉字的所有笔画可以被分类为横、竖、点、撇、捺等30个基础笔画。也就是说,还可以确定通过CPD匹配算法分割得到的基础笔画属于这30个基础笔画中的哪一个。最后,得到针对基础字体数据库模型600的输入,即标准字体的基础笔画,其是维度为20*2+30=70维度的特征向量。这里,以20点采样为例,每个点由坐标(x、y)表示,即20*2维度,而30指的是基础笔画的类型有30种。基础字体数据库模型600的输出即是多个用户中的每个用户的手写字体的基础笔画。
根据本公开实施例,由于基础字体数据库模型600的输入和输出的序列长度一致,因此可以省略解码器部分,仅利用模型600中的编码器结构作为模型的主体,从而缩小了模型的大小。
图7示出了根据本公开实施例的训练相似度比较模型的方法的流程图。该相似度比较模型可以比较两个或更多个字体数据之间的相似度。
在步骤S721,在多个基础字体数据库中的N个基础字体数据库中随机选择两个图像数据组成图像对,其中N个基础字体数据库由数组{Xi},(i=1,2,...,N)表示,N为大于1的自然数。
在步骤S722,针对图像数据对添加标记label,其中如果确定图像数据对来自于同一个基础字体数据库,则label值为1,否则为0。
在步骤S723,将组成图像对的两个图像数据依次输入权值共享网络,得到分别对该两个图像数据的图像特征加以表征的特征向量v1和特征向量v2
在步骤S724,计算特征向量v1和特征向量v2之间的距离。
在步骤S725,根据距离和label得到相似度比较模型的损失函数。
在步骤S726,利用所述损失函数来更新相似度比较模型。
图8示出了根据本公开实施例的相似度比较模型800的模型结构的示意图。
参照图8,针对由两个图像数据i1和i2组成的图像数据对添加标记label,其中如果确定图像数据对来自于同一个基础字体数据库,则label值为1,否则为0。
将组成图像对的两个图像数据i1和i2分别输入权值共享网络810,得到输出特征1和输出特征2。权值共享网络810可以包括例如卷积神经网络和全链接层(CNN&FC)。例如,输出特征1可以是图像数据i1的特征向量v1,输出特征2可以是图像数据i2的特征向量v2。然后,计算特征向量v1和特征向量v2之间的距离Distance。
根据距离Distance和label得到相似度比较模型800的损失函数Loss(i1,i2,label),损失函数Loss(i1,i2,label)如下表示:
Loss(i1,i2,label)=(1-label)*(1-metric(v1,v2))+label*metric(v1,v2), (2)
其中i1和i2分别表示两个图像数据,metric表示欧式距离。损失函数Loss可以用来更新相似度比较模型800。相似度比较模型800的输出可以包括输入的两个图像数据之间相似的概率,即这两个图像数据属于N个基础字体数据库之一的概率pij(i=1,2,...,N;j=1,2,...,100)。
图9示出了根据本公开实施例的生成字体数据库的效果的示意图。如图9所示,通过利用目标用户的手写字体数据的偏旁数据替换目标字体数据库中的对应偏旁数据,能够较好地保留用户手写字中的连笔笔画和连笔偏旁,从而进一步反映出用户手写字的字体风格。
图10是根据本公开实施例的用于生成字体数据库的装置1000的框图。
如图10所示,用于生成字体数据库的装置1000包括确定模块1010和调整模块1020。
确定模块1010利用经训练相似度比较模型,将目标用户的手写字体数据与多个基础字体数据库分别进行比较,来确定多个基础字体数据库中与目标用户的手写字体数据最相似的基础字体数据库,作为候选字体数据库。
调整模块1020利用用于生成候选字体数据库的经训练基础字体数据库模型,来调整目标用户的手写字体数据,得到针对目标用户的目标字体数据库。
图11是根据本公开实施例的神经网络模型的训练装置1100的框图。该神经网络模型包括基础字体数据库模型和相似度比较模型。
如图11所示,训练装置1100包括基础字体数据库模型训练模块1110和相似度比较模型训练模块1120。
基础字体数据库模型训练模块1110利用多个用户的手写字体数据训练基础字体数据库模型,使得多个用户的每个用户分别具有与其相对应的基础字体数据库模型和基础字体数据库。
相似度比较模型训练模块1120利用多个用户的多个基础字体数据库训练相似度比较模型。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图12示出了可以用来实施本公开实施例的电子设备1200的框图。电子设备1200旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,设备1200包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如用于生成字体数据库的方法和神经网络模型的训练方法。例如,在一些实施例中,生成字体数据库的方法和神经网络模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的生成字体数据库的方法和神经网络模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行生成字体数据库的方法和神经网络模型的训练方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等均符合相关法律法规的规定,且不违背公序良俗。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (16)

1.一种用于生成字体数据库的方法,包括:
利用经训练相似度比较模型,确定多个基础字体数据库中,与目标用户的手写字体数据最相似的基础字体数据库,作为候选字体数据库;
利用用于生成所述候选字体数据库的经训练基础字体数据库模型,来调整所述目标用户的手写字体数据,得到针对所述目标用户的目标字体数据库;以及
利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据,
其中利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据包括:
计算替换后的偏旁图像数据的重心位置与替换前的偏旁图像数据的重心位置之间的差值;
基于所述差值调整替换后的偏旁图像数据的位置。
2. 根据权利要求1所述的方法,其中,确定多个基础字体数据库中与目标用户的手写字体数据最相似的基础字体数据库包括:
利用经训练相似度比较模型,确定所述目标用户的手写字体数据与所述多个基础字体数据库中的每个基础字体数据库中的相应字体数据之间的相似度;以及
将所述多个基础字体数据库中具有最大相似度的基础字体数据库作为所述候选字体数据库。
3.根据权利要求2所述的方法,其中,所述相似度包括所述目标用户的多个手写字体数据与所述多个基础字体数据库中的每个基础字体数据库中的多个相应字体数据之间的相似度之和。
4.根据权利要求1所述的方法,其中,利用用于生成所述候选字体数据库的经训练基础字体数据库模型,来调整所述目标用户的手写字体数据包括:利用用于生成所述候选字体数据库的经训练基础字体数据库模型,以标准字体的基础笔画作为输入,以所述目标用户的手写字体的基础笔画作为输出。
5.根据权利要求4所述的方法,其中所述目标用户的手写字体的基础笔画是通过使用一致性点集漂移CPD匹配算法对所述目标用户的手写字进行分割而得到的。
6.根据权利要求5所述的方法,还包括对使用所述CPD匹配算法匹配的结果进行过滤,以滤除被确定为不正确的结果。
7. 一种神经网络模型的训练方法,所述神经网络模型包括基础字体数据库模型和相似度比较模型,所述方法包括:
利用多个用户的手写字体数据训练所述基础字体数据库模型,使得所述多个用户的每个用户分别具有与其相对应的基础字体数据库模型和基础字体数据库;以及
利用所述多个用户的多个基础字体数据库训练相似度比较模型,
其中所述相似度比较模型用于得到针对目标用户的目标字体数据库,并且
其中利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据,
其中利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据包括:
计算替换后的偏旁图像数据的重心位置与替换前的偏旁图像数据的重心位置之间的差值;
基于所述差值调整替换后的偏旁图像数据的位置。
8.根据权利要求7所述的方法,其中,所述基础字体数据包括字体的图像数据,并且利用所述多个用户的多个基础字体数据库训练相似度比较模型包括:
在所述多个基础字体数据库中的N个基础字体数据库中随机选择两个图像数据组成图像对,其中所述N个基础字体数据库由数组表示,N为大于1的自然数;
针对所述图像数据对添加标记label,其中如果确定所述图像数据对来自同一个基础字体数据库,则label值为1,否则为0;
将所述两个图像数据依次输入权值共享网络,得到分别对所述两个图像数据的图像特征加以表征的特征向量和特征向量/>
计算所述特征向量和特征向量/>之间的距离;
根据所述距离和label得到所述相似度比较模型的损失函数;以及
利用所述损失函数来更新所述相似度比较模型。
9.根据权利要求8所述的方法,其中,所述相似度比较模型的损失函数如下表示:
其中和/>分别表示所述两个图像数据,metric表示欧式距离。
10.根据权利要求7所述的方法,其中,利用多个用户的手写字体数据训练所述基础字体数据库模型包括:以标准字体的基础笔画作为输入,以所述多个用户中的每个用户的手写字体的基础笔画作为输出。
11.根据权利要求10所述的方法,其中所述多个用户中的每个用户的手写字体的基础笔画是通过使用一致性点集漂移CPD匹配算法对所述每个用户的手写字进行分割而得到的。
12.根据权利要求11所述的方法,还包括对使用所述CPD匹配算法匹配的结果进行过滤,以滤除被确定为不正确的结果。
13.一种用于生成字体数据库的装置,包括:
确定模块,利用经训练相似度比较模型,将目标用户的手写字体数据与多个基础字体数据库分别进行比较,来确定所述多个基础字体数据库中与目标用户的手写字体数据最相似的基础字体数据库,作为候选字体数据库;
调整模块,利用用于生成所述候选字体数据库的经训练基础字体数据库模型,来调整所述目标用户的手写字体数据,得到针对所述目标用户的目标字体数据库;以及
利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据的模块,
其中利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据的模块包括:
第一单元,计算替换后的偏旁图像数据的重心位置与替换前的偏旁图像数据的重心位置之间的差值;
第二单元,基于所述差值调整替换后的偏旁图像数据的位置。
14. 一种神经网络模型的训练装置,所述神经网络模型包括基础字体数据库模型和相似度比较模型,所述训练装置包括:
基础字体数据库模型训练模块,利用多个用户的手写字体数据训练所述基础字体数据库模型,使得所述多个用户的每个用户分别具有与其相对应的基础字体数据库模型和基础字体数据库;以及
相似度比较模型训练模块,利用所述多个用户的多个基础字体数据库训练相似度比较模型,
其中所述相似度比较模型用于得到针对目标用户的目标字体数据库,并且
其中利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据,
其中利用所述目标用户的手写字体数据的偏旁数据替换所述目标字体数据库中的对应偏旁数据包括:
计算替换后的偏旁图像数据的重心位置与替换前的偏旁图像数据的重心位置之间的差值;
基于所述差值调整替换后的偏旁图像数据的位置。
15. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-12中任一项所述的方法。
CN202110427857.1A 2021-04-20 2021-04-20 生成字体数据库的方法、神经网络模型的训练方法和装置 Active CN113095421B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202110427857.1A CN113095421B (zh) 2021-04-20 2021-04-20 生成字体数据库的方法、神经网络模型的训练方法和装置
JP2022007188A JP2022048226A (ja) 2021-04-20 2022-01-20 フォントデータベースの生成方法、ニューラルネットワークモデルのトレーニング方法、装置、記憶媒体およびコンピュータプログラム
KR1020220026390A KR20220034083A (ko) 2021-04-20 2022-02-28 글꼴 데이터베이스의 생성 방법, 신경망 모델의 훈련 방법 및 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램
US17/683,514 US11816908B2 (en) 2021-04-20 2022-03-01 Method of generating font database, and method of training neural network model
EP22159420.3A EP4040404A3 (en) 2021-04-20 2022-03-01 Method and apparatus of generating font database, and method and apparatus of training neural network model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110427857.1A CN113095421B (zh) 2021-04-20 2021-04-20 生成字体数据库的方法、神经网络模型的训练方法和装置

Publications (2)

Publication Number Publication Date
CN113095421A CN113095421A (zh) 2021-07-09
CN113095421B true CN113095421B (zh) 2024-03-05

Family

ID=76679270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110427857.1A Active CN113095421B (zh) 2021-04-20 2021-04-20 生成字体数据库的方法、神经网络模型的训练方法和装置

Country Status (5)

Country Link
US (1) US11816908B2 (zh)
EP (1) EP4040404A3 (zh)
JP (1) JP2022048226A (zh)
KR (1) KR20220034083A (zh)
CN (1) CN113095421B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494512A (zh) * 2021-12-31 2022-05-13 深圳市优必选科技股份有限公司 样本数据生成方法、装置、终端设备及可读存储介质
US11947896B2 (en) 2022-06-24 2024-04-02 Adobe Inc. Font recommendation
US11886809B1 (en) * 2022-10-31 2024-01-30 Adobe Inc. Identifying templates based on fonts
CN115601772B (zh) * 2022-12-15 2023-05-02 南京邮电大学 一种基于多模态学习的美学质量评价模型和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106384094A (zh) * 2016-09-18 2017-02-08 北京大学 一种基于书写风格建模的中文字库自动生成方法
CN106611172A (zh) * 2015-10-23 2017-05-03 北京大学 一种基于风格学习的汉字合成方法
JP2019028094A (ja) * 2017-07-25 2019-02-21 大日本印刷株式会社 文字生成装置、プログラム及び文字出力装置
CN110009027A (zh) * 2019-03-28 2019-07-12 腾讯科技(深圳)有限公司 图像的比对方法、装置、存储介质及电子装置
CN110111243A (zh) * 2019-04-30 2019-08-09 济南浪潮高新科技投资发展有限公司 一种利用ai技术美化手写字体的方法及装置
CN111079374A (zh) * 2019-12-06 2020-04-28 腾讯科技(深圳)有限公司 字体生成方法、装置和存储介质
CN112001416A (zh) * 2020-07-17 2020-11-27 北京邮电大学 一种自适应答题纸序列纠正方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106611172A (zh) * 2015-10-23 2017-05-03 北京大学 一种基于风格学习的汉字合成方法
CN106384094A (zh) * 2016-09-18 2017-02-08 北京大学 一种基于书写风格建模的中文字库自动生成方法
JP2019028094A (ja) * 2017-07-25 2019-02-21 大日本印刷株式会社 文字生成装置、プログラム及び文字出力装置
CN110009027A (zh) * 2019-03-28 2019-07-12 腾讯科技(深圳)有限公司 图像的比对方法、装置、存储介质及电子装置
CN110111243A (zh) * 2019-04-30 2019-08-09 济南浪潮高新科技投资发展有限公司 一种利用ai技术美化手写字体的方法及装置
CN111079374A (zh) * 2019-12-06 2020-04-28 腾讯科技(深圳)有限公司 字体生成方法、装置和存储介质
CN112001416A (zh) * 2020-07-17 2020-11-27 北京邮电大学 一种自适应答题纸序列纠正方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"EasyFont: A Style Learning-Based System to Easily Build Your Large-Scale Handwriting Fonts";ZHOUHUI LIAN et al.;《ACM Transactions on Graphics》;第38卷(第1期);第1-18页 *

Also Published As

Publication number Publication date
CN113095421A (zh) 2021-07-09
KR20220034083A (ko) 2022-03-17
EP4040404A3 (en) 2022-10-05
US11816908B2 (en) 2023-11-14
JP2022048226A (ja) 2022-03-25
EP4040404A2 (en) 2022-08-10
US20220180650A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
CN113095421B (zh) 生成字体数据库的方法、神经网络模型的训练方法和装置
CN112597753A (zh) 文本纠错处理方法、装置、电子设备和存储介质
CN113378580B (zh) 文档版面分析方法、模型训练方法、装置和设备
JP7430820B2 (ja) ソートモデルのトレーニング方法及び装置、電子機器、コンピュータ可読記憶媒体、コンピュータプログラム
US20210406579A1 (en) Model training method, identification method, device, storage medium and program product
US20220188637A1 (en) Method for training adversarial network model, method for building character library, electronic device, and storage medium
US20220148239A1 (en) Model training method and apparatus, font library establishment method and apparatus, device and storage medium
CN112926306B (zh) 文本纠错方法、装置、设备以及存储介质
US20230114293A1 (en) Method for training a font generation model, method for establishing a font library, and device
US20220237935A1 (en) Method for training a font generation model, method for establishing a font library, and device
CN113627439A (zh) 文本结构化处理方法、处理装置、电子设备以及存储介质
CN113205041B (zh) 结构化信息提取方法、装置、设备和存储介质
KR102488517B1 (ko) 헤어스타일 변환 방법, 장치, 기기 및 저장 매체
CN113011155B (zh) 用于文本匹配的方法、装置、设备和存储介质
CN112580666A (zh) 图像特征的提取方法、训练方法、装置、电子设备及介质
CN114973279B (zh) 手写文本图像生成模型的训练方法、装置和存储介质
CN116259064B (zh) 表格结构识别方法、表格结构识别模型的训练方法及装置
CN117011856A (zh) 基于深度强化学习的手写笔迹骨架细化方法、系统、设备、介质
CN114926322B (zh) 图像生成方法、装置、电子设备和存储介质
CN116167426A (zh) 人脸关键点定位模型的训练方法及人脸关键点定位方法
CN114841172A (zh) 文本匹配双塔模型的知识蒸馏方法、装置及程序产品
CN113903071A (zh) 人脸识别方法、装置、电子设备和存储介质
CN112926419B (zh) 字符判定结果处理方法、装置、电子设备
CN116884025A (zh) 表格结构识别及模型训练方法、装置、设备和介质
KR20240117509A (ko) 얼굴 비디오 생성 방법, 장치 및 전자 기기

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