Generating scalable and semantically editable font representations

CN115544962BActive Publication Date: 2026-10-27ADOBE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210672035.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-06-29
Filing Date
2022-06-14
Publication Date
2026-10-27
Estimated Expiration
2042-06-14

AI Technical Summary

Technical Problem

然而,尽管有这些进步,许多传统字体编辑系统继续表现出许多不足或缺点,特别是在准确性和灵活性方面

Benefits of technology

[0005]在下面的描述中概述了本公开的一个或多个实施例的附加特征和优点,并且这些特征和优点的一部分将从描述中变得明显,或者可以通过这些示例实施例的实践来了解。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115544962B_ABST
    Figure CN115544962B_ABST
Patent Text Reader

Abstract

The present disclosure relates to systems, methods, and non-transitory computer-readable media for accurately and flexibly generating scalable and semantically editable font representations using machine learning methods. For example, the disclosed systems utilize a particular neural network architecture to generate font representation code from glyphs. For example, the disclosed systems utilize a glyph appearance propagation model and perform an iterative process to generate font representation code from initial glyphs. Further, using the glyph appearance propagation model, the disclosed systems automatically propagate the appearance from an initial glyph of the font representation code to generate additional glyphs corresponding to respective glyph labels. In some embodiments, the disclosed systems propagate edits or other changes to the appearance of a glyph to other glyphs within a set of glyphs (e.g., to match the appearance of the edited glyph).
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] Existing hardware and software platforms provide systems and methods for editing fonts to modify their scale, style, and serifs. For example, engineers have developed several traditional font editing systems that utilize vector formats to render fonts, and others to modify fonts in pixel space. However, despite these advancements, many traditional font editing systems continue to exhibit numerous shortcomings or deficiencies, particularly in terms of accuracy and flexibility.

[0002] For example, many traditional font editing systems do not accurately edit font glyphs. While traditional pixel-based systems offer some level of editability across glyphs (e.g., via style transfer techniques), these existing systems still degrade the appearance of glyphs when scaled up. In fact, glyphs represented in pixel space lose detail and experience a deterioration in appearance when their scale is increased (e.g., from smaller to larger glyphs) and sometimes even when their scale is decreased. Furthermore, some traditional systems fail to adequately capture or reproduce font similarities when generating glyphs, often resulting in glyphs that appear unsuitable relative to other glyphs within the glyph set.

[0003] Besides their inaccuracies, some traditional font editing systems are inflexible when editing glyphs. More specifically, vector-based traditional systems sometimes offer better scalability than pixel-based systems, but still require individual editing of each glyph in the font set. In fact, to maintain a consistent appearance across multiple glyphs in a set, many traditional systems strictly require individual editing of each glyph in the set (e.g., due to limitations of traditional style transfer techniques). Summary of the Invention

[0004] This disclosure describes one or more embodiments of systems, methods, and non-transient computer-readable media that utilize machine learning methods for generating scalable and semantically editable font representations to solve one or more of the aforementioned problems or other problems in the art. Specifically, to represent glyphs, the disclosed system utilizes deep learning to generate first-of-its-kind font representation code. In some embodiments, the disclosed system achieves scalability and semantic editability for the font representation by training a glyph appearance propagation model using importance-aware sampling and weighted loss (e.g., by jointly training a meta-network with a deep hidden function network). Furthermore, based on the generated font representation code and by utilizing the glyph appearance propagation model, in some embodiments, the disclosed system automatically propagates edits or other changes to the appearance of glyphs to other glyphs within the glyph set (e.g., to match the appearance of the edited glyph). By training and implementing the glyph appearance propagation model according to this disclosure, the disclosed system demonstrates improved accuracy and flexibility in glyph generation compared to conventional font editing systems.

[0005] Additional features and advantages of one or more embodiments of the present disclosure are outlined in the following description, and some of these features and advantages will become apparent from the description or may be learned by practice of these exemplary embodiments. Attached Figure Description

[0006] This disclosure describes one or more embodiments of the invention with reference to the accompanying drawings, including additional features and details. The following paragraphs briefly describe these drawings, in which:

[0007] Figure 1 An example system environment in which the glyph generation system operates according to one or more embodiments is shown;

[0008] Figure 2 An overview of generating font representation codes and corresponding glyph sets using a glyph appearance propagation model according to one or more embodiments is provided;

[0009] Figure 3 An example architecture of a glyph appearance propagation model according to one or more embodiments is shown;

[0010] Figure 4 An example iterative process for generating font representation code according to one or more embodiments is shown;

[0011] Figure 5 An example training process for a glyph appearance propagation model according to one or more embodiments is shown;

[0012] Figure 6 An example comparison of glyph sets according to one or more embodiments is shown;

[0013] Figure 7 Examples of scaled glyphs according to one or more embodiments are shown;

[0014] Figure 8 Examples of generating complete glyphs from partial glyphs according to one or more embodiments are shown;

[0015] Figure 9 An example glyph modification interface according to one or more embodiments is shown;

[0016] Figure 10 A schematic diagram of a glyph generation system according to one or more embodiments is shown;

[0017] Figure 11 A flowchart illustrating a series of actions for generating a scalable and semantically editable font representation using machine learning methods, according to one or more embodiments; and

[0018] Figure 12 A block diagram of an example computing device according to one or more embodiments is shown. Detailed Implementation

[0019] This disclosure describes one or more embodiments of a glyph generation system that accurately and flexibly generates font representation codes for glyphs using a glyph appearance propagation model. Specifically, in some embodiments, the glyph generation system utilizes a glyph appearance propagation model to determine the font representation code corresponding to a particular user-selected or user-modified glyph. As explained in more detail below, the font representation code allows for semantic editing of the glyphs and rendering at arbitrary scales without degradation.

[0020] As described above, in one or more embodiments, the glyph generation system generates font representation codes based on the glyphs. Specifically, in some cases, the glyph generation system generates font representation codes that represent the font of a template glyph input. For example, the glyph generation system utilizes a glyph appearance propagation model to generate or determine an unknown (or modified or customized) font corresponding to the glyph. In some embodiments, the glyph generation system (e.g., by utilizing a text recognition model) determines glyph labels for the glyphs and uses these labels, along with the glyphs, as the basis for generating the font representation codes.

[0021] In detail, in one or more implementations, the glyph generation system performs an iterative process to generate font representation codes for a font corresponding to the glyphs, based on the glyphs and associated glyph labels. For example, the glyph generation system initializes the font representation codes and then iteratively generates successor versions of the predicted glyphs based on the corresponding font representation codes, thereby comparing the predicted glyphs with the actual glyphs in each iteration. In some embodiments, the glyph generation system predicts new font representation codes in each iteration (e.g., by modifying the font representation codes from the previous iteration) and generates new predicted glyphs based on each new predicted font representation code. In these or other embodiments, the glyph generation system compares the predicted glyphs with the initial glyphs by determining a distance or loss between them. In some cases, the glyph generation system selects a predicted font representation code as the font representation code corresponding to the initial glyph (e.g., the font representing the initial glyph) from one iteration where the predicted glyphs satisfy a similarity metric (e.g., a threshold measurement of the loss or a threshold distance).

[0022] To generate accurate font representation code, in one or more embodiments, the glyph generation system learns parameters for a glyph appearance propagation model. For example, the glyph generation system learns the parameters by training the glyph appearance propagation model using an importance-aware sampling technique. More specifically, in some cases, the glyph generation system performs importance-aware sampling by sampling more points or locations around the edges or boundaries of sample glyphs and fewer, sparser points from the background or non-boundary portions of the sample glyphs during training. In some implementations, the glyph generation system trains a glyph appearance propagation model that includes a meta-network jointly trained with a deep implicit function network such as a Sinusoidal representation network (“SIREN network”).

[0023] In one or more embodiments, the glyph generation system utilizes font representation codes for template glyphs to generate a complete glyph set with the font of the template glyphs. Specifically, the glyph generation system utilizes a glyph appearance propagation model to generate additional glyphs that resemble the appearance of the template glyphs based on the font representation codes of the template glyphs. For example, the glyph generation system generates font representation codes for the font of the template glyphs. Using the font representation codes, in some embodiments, the glyph generation system further generates additional glyphs that model the appearance of the template glyphs (e.g., to generate a complete glyph set). In some cases, the glyph generation system receives one or more modifications to the glyphs and utilizes the glyph appearance propagation model to automatically propagate the modifications to other glyphs (e.g., to match the appearance of the modified glyphs).

[0024] In addition to automatically propagating the appearance of glyphs (e.g., for semantic editing), in some embodiments, the glyph generation system also scales the glyphs. For example, the glyph generation system enlarges or reduces the size of glyphs to increase or decrease their size without degrading appearance or losing detail. In some cases, the glyph generation system utilizes properties of font representation codes, which are deep implicit function representations corresponding to the glyphs, to scale glyphs for different sizes. In fact, due to the continuity of font representation codes, in some embodiments, the glyph generation system is able to achieve glyphs of arbitrary scale.

[0025] In one or more embodiments, the glyph generation system also generates complete glyphs based on partial glyphs. Specifically, in some embodiments, the glyph generation system receives partial or incomplete glyphs and uses the partial glyphs to generate font representation code. Based on the font representation code corresponding to the partial glyphs, in some implementations, the glyph generation system generates complete glyphs that match the style or appearance of the partial glyphs. In some cases, the glyph generation system also generates a glyph set corresponding to the partial glyphs by automatically propagating the appearance of the partial glyphs via the font representation code to generate additional glyphs.

[0026] As described above, embodiments of the glyph generation system offer certain improvements or advantages over traditional font editing systems. For example, embodiments of the glyph generation system improve the accuracy of traditional systems. Specifically, embodiments of the glyph generation system generate glyphs with a specific appearance (e.g., a specific font) more accurately than traditional systems. Unlike traditional systems that rely on pixel or vector representations of the font, the glyph generation system generates original font representation code that enables semantic editability and scalability for glyph generation. Therefore, the glyph generation system improves accuracy by scaling glyphs to prevent degradation and loss of detail. Furthermore, compared to traditional systems, the glyph generation system more accurately replicates font similarities across generated glyphs, thereby generating glyphs that accurately reflect the visual characteristics of common fonts.

[0027] Furthermore, glyph generation systems improve the flexibility of traditional font editing systems. More specifically, by generating and utilizing font representation codes, glyph generation systems improve the flexibility of semantic editing compared to traditional systems. In fact, while some traditional systems strictly require each glyph to be edited independently to generate a set of glyphs with a common appearance, glyph generation systems more flexibly adapt the appearance of glyphs to other glyphs by automatically propagating the appearance of the initial glyphs to other glyphs using font representation codes.

[0028] As another advantage over traditional systems, the glyph generation system utilizes a unique machine learning architecture that includes a meta-network combined with a deep hidden function network. More specifically, the glyph generation system utilizes a glyph appearance propagation model with a unique architecture for generating font representation codes. In some embodiments, the glyph appearance propagation model includes an encoder neural network, multiple decoder neural networks, and a SIREN network. As described above, the glyph generation system uses joint training techniques to learn parameters for the encoder neural network, decoder neural network, and SIREN network. Specifically, the glyph generation system utilizes importance-aware sampling to sample long boundaries with higher probability and sample from similar regions with lower probability. By utilizing importance-aware sampling, the glyph generation system significantly improves training efficiency. Furthermore, the glyph generation system uses weighted loss to penalize errors accumulated along boundaries more extensively, thereby improving boundary reconstruction.

[0029] Furthermore, glyph generation systems can perform certain functions not found in existing systems. For example, a glyph generation system can generate complete glyphs from partial glyphs, which is something many traditional font editing systems cannot do. Specifically, the glyph generation system utilizes a glyph appearance propagation model to generate font representation codes from partial glyphs that are missing one or more parts. Based on the font representation codes of the partial glyphs, the glyph generation system also generates complete glyphs that visually approximate the appearance of the partial glyphs (e.g., for the corresponding glyph set).

[0030] Another advantage over traditional systems is that glyph generation systems are more efficient by requiring fewer computational resources. In fact, to make a given font visible and usable on a given device, traditional systems typically require downloading or otherwise storing a large number of different glyph images of various sizes for each individual font. Predictably, the computational burden on these existing systems becomes increasingly heavy as the number of fonts and the resolution of larger font sizes increases. In contrast, glyph generation systems generate relatively small font representation codes that contain all the information necessary to view and utilize the entire font (e.g., all the glyphs of the font). In effect, a glyph generation system requires only a single font representation code (as opposed to many different glyph images of various resolutions for each glyph of the font) to generate every glyph of any size for a given font. Therefore, glyph generation systems require fewer computational resources when storing, transmitting, and processing the information used to view and use fonts.

[0031] As implied by the foregoing discussion, this disclosure utilizes various terms to describe the characteristics and benefits of glyph generation systems. Additional details regarding the meaning of these terms as used in this disclosure are provided below. Specifically, the term "neural network" refers to a machine learning model that can be trained and / or tuned based on inputs to determine a classification or approximation of an unknown function. For example, a neural network comprises a model of interconnected artificial neurons (e.g., organized in layers) that communicate and learn to approximate complex functions and generate outputs (e.g., generated digital images) based on multiple inputs provided to the neural network. In some cases, a neural network refers to an algorithm (or set of algorithms) that implements deep learning techniques to model high-level abstractions in data. For example, a neural network can include convolutional neural networks, recurrent neural networks (e.g., LSTM), graph neural networks, or generative adversarial neural networks.

[0032] Following these lines of thought, the term "encoder neural network" refers to a neural network that extracts or encodes features from glyph labels and / or font representation codes. For example, an encoder neural network analyzes or processes input data such as glyph labels and / or font representation codes to extract numerical or mathematical representations of the glyph labels, together with and / or separately from the font representation codes. Relatedly, the term "decoder neural network" refers to a neural network that generates parameters for a SIREN network based on a latent vector comprising one or more extracted or encoded features. For example, a decoder neural network includes layers or neurons to decode the extracted features into parameters used in a SIREN network for generating predicted glyphs. Similarly, the term "SIREN network" refers to a specific deep hidden function network, known as a sinusoidal representation network, which uses parameters from one or more decoder neural networks to generate predicted glyphs based on (predicted) font representation codes and glyph labels. For example, a SIREN network generates predicted values ​​(e.g., pixel values ​​or binary values) corresponding to coordinate positions, indicating which pixels within the predicted glyph are background pixels and which are glyph pixels. In practice, in some cases, glyph generation systems input font representation codes and a set of coordinate locations into a SIREN network to predict values ​​for those coordinate locations, thereby generating predicted glyphs. By using a SIREN network along with encoder neural networks and multiple decoder neural networks, glyph generation systems can semantically rasterize target shapes for accurate font generation, while also providing flexible scalability.

[0033] As described above, glyph generation systems utilize glyph appearance propagation models. As used herein, the term "glyph appearance propagation model" refers to a machine learning model that generates font representation codes and / or predicts glyphs. For example, glyph appearance propagation models include encoder neural networks, multiple decoder neural networks, and SIREN networks. In some cases, glyph appearance propagation models generate font representation codes based on template glyphs and glyph labels, where the font representation codes correspond to predicted glyphs that satisfy a similarity metric relative to the template glyphs. As used herein, the term "machine learning model" refers to a computer algorithm or set of computer algorithms that automatically improves for a specific task through experience based on data usage. For example, machine learning models may utilize one or more learning techniques to improve accuracy and / or effectiveness. Example machine learning models include various types of neural networks, decision trees, support vector machines, and Bayesian networks.

[0034] As described above, the glyph generation system determines glyph labels for glyphs. As used herein, the term "glyph label" refers to an indication of a character represented or depicted by a glyph. For example, a glyph label is a vector, such as a one-hot vector representing a particular character (e.g., from a template glyph from which font representation codes are generated). In some embodiments, a glyph label represents a particular character characterized or depicted by a glyph, such as a vector representation for lowercase "a" or uppercase "W". In some cases, the glyph generation system generates glyph labels by utilizing a text recognition model to generate or determine glyph labels for a given glyph.

[0035] As described above, in some embodiments, the glyph generation system generates a font representation code for a font corresponding to a specific glyph (e.g., a user-selected glyph or a modified glyph). As used herein, the term "font representation code" refers to the generated code representing the font. For example, a font representation code is a numerical or vector representation of a font in a known set of anchor fonts, representing interpolation between known anchor fonts, and / or representing the generated font (e.g., a combination of two or more anchor fonts). In some cases, the font representation code has a size corresponding to the number of known anchor fonts (e.g., for 10,000 known anchor fonts, the vector length is 10,000) and includes an indication of which anchor fonts contribute to the font representation code (or the font corresponding to the font representation code). For example, a font representation code is a vector that includes 1s for vector entries corresponding to anchor fonts that contribute to the font constituting the glyph (e.g., an unknown font for the initial glyph) and 0s for vector entries corresponding to anchor fonts that do not contribute to the font constituting the glyph. As another example, font representation codes include values ​​for various entries other than 0 and 1, where these values ​​indicate the corresponding proportion or weight of the anchor font (e.g., a value between 1 and 0) when the font constituting the initial glyph is used. In practice, in some embodiments, the glyph generation system generates hybrid font representation codes or font representation codes representing hybrid fonts by determining interpolation between anchor (e.g., known or stored) fonts. For example, the glyph generation system determines that a particular glyph (at a certain proportion) has some features corresponding to a first anchor font and other features corresponding to a second anchor font, and generates hybrid font representation codes representing the interpolation between the two anchor fonts for that glyph.

[0036] In one or more embodiments, the glyph generation system utilizes a glyph appearance propagation model to generate complete glyphs from partial glyphs. As used herein, the term "partial glyph" refers to a representation of a glyph that is incomplete or missing one or more parts. For example, a partial glyph may be missing various pixels, making the glyph appear incomplete. In contrast, a "complete glyph" refers to a glyph generated from a partial glyph and filled or completed using the glyph appearance propagation model. For example, a complete glyph includes generated pixels that fill or replace missing parts of a partial glyph.

[0037] Additional details regarding the glyph generation system will now be provided with reference to the accompanying drawings. For example, Figure 1 A schematic diagram of an example system environment for implementing glyph generation system 102 according to one or more embodiments is shown. About Figure 1An overview of the glyph generation system 102 is described. A more detailed description of the components and processes of the glyph generation system 102 is then provided with reference to the following figures. As shown, the environment includes (multiple) servers 104, client devices 108, a database 112, and a network 114. Each component of this environment communicates via network 114, and network 114 is any suitable network through which computing devices communicate. The following section discusses… Figure 12 The example network will be discussed in more detail.

[0038] As described above, this environment includes client device 108. Client device 108 is one of various computing devices, including smartphones, tablets, smart TVs, desktop computers, laptops, virtual reality devices, augmented reality devices, or related devices. Figure 12 Another computing device described. Although Figure 1 A single instance of client device 108 is shown, but in some embodiments, the environment includes multiple different client devices, each associated with a different user (e.g., a digital content editor). Client device 108 communicates with server(s) 104 via network 114. For example, client device 108 provides information to server(s) 104 instructing client device interactions (e.g., glyph selection, glyph editing, or other input) and receives information from server(s) 104, such as modified glyphs and complete glyph sets. Thus, in some cases, glyph generation system 102 on server(s) 104 provides and receives information via client device 108 based on client device interactions.

[0039] like Figure 1 As shown, client device 108 includes client application 110. Specifically, client application 110 is a web application, a native application installed on client device 108 (e.g., a mobile application, desktop application, etc.), or a cloud-based application (where all or part of the functionality is performed by server(s)104). Based on instructions from client application 110, client device 108 presents or displays information to the user, including modified glyphs within a glyph modification interface.

[0040] like Figure 1As shown, the environment includes (multiple) servers 104. Servers 104 generate, track, store, process, receive, and transmit electronic data, such as instructions for client device interaction, glyphs, glyph modifications, font representation codes, and glyph labels. For example, servers 104 receive data from client device 108 in the form of instructions for modifying glyphs. In response, servers 104 send data to client device 108 to cause client device 108 to display or render modified glyphs and / or a complete glyph set, which includes one or more additional glyphs having a similar appearance or style to the modified glyphs.

[0041] In some embodiments, servers 104 communicate with client devices 108 to send and / or receive data via network 114. In some embodiments, servers 104 include distributed servers, wherein servers 104 include multiple server devices distributed across network 114 and located in different physical locations. Servers 104 may include content servers, application servers, communication servers, web hosting servers, multidimensional servers, or machine learning servers. Servers 104 may also access and utilize database 112 to store and retrieve information such as glyph appearance propagation models and various glyphs, fonts, font representation codes, and / or glyph tags.

[0042] like Figure 1 As further shown, the servers 104 also include a glyph generation system 102 as part of the digital content editing system 106. For example, in one or more implementations, the digital content editing system 106 may store, generate, modify, edit, enhance, provide, distribute, and / or share digital content, such as fonts, glyphs, digital images, or digital video. For example, the digital content editing system 106 provides tools for client devices 108 to modify the appearance of glyphs via client applications 110 by changing values ​​at one or more coordinate positions. In some implementations, the digital content editing system 106 provides a complete glyph set including glyphs that match the style of the modified glyphs.

[0043] In one or more embodiments, the server(s)104 includes all or part of the glyph generation system 102. For example, the glyph generation system 102 operates on the server(s) to generate font representation code for a given glyph based on a predicted glyph corresponding to the given glyph (e.g., via a glyph appearance propagation model), and to generate additional glyphs to match the appearance of the given glyph.

[0044] In some cases, client device 108 includes all or part of glyph generation system 102. For example, client device 108 may generate, acquire (e.g., download), or utilize one or more aspects of glyph generation system 102, such as glyph appearance propagation models from server(s) 104. In practice, in some implementations, such as... Figure 1 As shown, the glyph generation system 102 is located in whole or in part in the client device 108. For example, the glyph generation system 102 includes a web-hosted application that allows the client device 108 to interact with servers(s)104. For illustration, in one or more implementations, the client device 108 accesses web pages supported and / or hosted by servers(s)104.

[0045] although Figure 1 A specific arrangement of the environment is shown, but in some embodiments, the environment has a different component arrangement and / or may have a different number of components or different sets of components. For example, as described above, the glyph generation system 102 is implemented by a client device 108 (e.g., wholly or partially located thereon). Furthermore, in one or more embodiments, the client device 108 communicates directly with the glyph generation system 102, bypassing the network 114. Additionally, in some embodiments, the environment includes a glyph appearance propagation model stored in a database 112 and maintained by the server(s) 104, the client device 108, or a third-party device.

[0046] As described above, in one or more embodiments, the glyph generation system 102 generates a glyph set to approximate the appearance of the initial template glyphs. Specifically, the glyph generation system 102 generates font representation codes for the font corresponding to the initial glyphs, and further uses the font representation codes to generate additional glyphs for the glyph set. Figure 2 An example sequence of actions 202-206 for generating glyph sets based on font representation codes, according to one or more embodiments, is shown.

[0047] like Figure 2 As shown, the glyph generation system 102 performs action 202 to determine glyph labels for glyphs. Specifically, the glyph generation system 102 determines glyph labels based on a specific representation of the glyph (e.g., a glyph image). For example, the glyph generation system 102 normalizes the depiction of the glyph to have specific dimensions (e.g., a [-1,1] square) and determines the glyph label based on the normalized glyph. In some cases, the glyph generation system 102 determines the glyph label without having to normalize the glyph beforehand.

[0048] In some embodiments, the glyph generation system 102 utilizes a text recognition model to determine glyph labels. More specifically, the glyph generation system 102 utilizes a text recognition model trained to determine (or be able to determine) character designations based on the depiction of the glyph. For example, the glyph generation system 102 uses a text recognition model to identify a particular glyph as "lowercase 'a'" or "uppercase 'W'". In one or more implementations, the glyph generation system 102 generates glyph labels in the form of one-hot vectors indicating the depicted character. For example, the glyph generation system 102 generates one-hot vectors of size 52 for each case-sensitive letter of the English alphabet (e.g., where a 1 at a given vector position indicates the character depicted by the glyph). In one or more embodiments, the text recognition model includes a model based on optical character recognition (OCR).

[0049] In some embodiments, the glyph generation system 102 determines glyph labels without a text recognition model. In other implementations, the glyph generation system 102 determines the glyph labels from the client device 108 instead of utilizing a text recognition model. For example, the glyph generation system 102 receives indications of glyph labels via user interaction with the client device 108 (e.g., when the user specifies glyph labels via client application 110). Figure 2 As shown, the glyph generation system 102 (e.g., via client device interaction or by using a text recognition model) determines the glyph label for the depicted glyph as a capital "Y".

[0050] like Figure 2 As further shown, the glyph generation system 102 performs action 204 to generate font representation codes. Specifically, the glyph generation system 102 utilizes a glyph appearance propagation model to generate font representation codes based on determined glyph labels and corresponding glyph images. In some embodiments, the glyph generation system 102 generates font representation codes using an iterative process that is repeated until a stopping criterion is met. For example, the glyph generation system 102 utilizes the glyph appearance propagation model to generate predicted font representation codes and corresponding predicted glyph images in each iteration for multiple iterations. In practice, the glyph generation system 102 uses the glyph appearance propagation model to predict font representation codes based on glyph labels and glyph images. For example, the glyph appearance propagation model generates predictions of font representation codes for a font, which will result in glyphs with a specific glyph label (e.g., uppercase "Y") also having the appearance of the initial glyph.

[0051] To test the predicted font representation code in each iteration, the glyph generation system 102 generates a predicted glyph image based on a combination of each predicted font representation code and a glyph label. In each iteration, the glyph generation system 102 compares the predicted glyph image with an initial glyph image. The glyph generation system 102 backpropagates a loss based on this comparison to update the font representation code. Through multiple iterations, the glyph generation system 102 repeats this process to determine the font representation code that results in a predicted glyph that satisfies a similarity metric relative to the initial glyph image. Additional details regarding the generation of the font representation code are provided below with reference to the accompanying figures.

[0052] like Figure 2 As further shown, the glyph generation system 102 optionally also performs action 206 to generate a glyph set. More specifically, the glyph generation system 102 utilizes (e.g., generated via action 204) generated font representation codes to generate additional glyphs to approximate the appearance of the initial glyphs. For example, the glyph generation system 102 utilizes a glyph appearance propagation model to generate a glyph set by generating glyphs based on the font representation codes according to the corresponding glyph labels. Specifically, the glyph generation system 102 generates glyphs for the lowercase "a" in the same style as the initial uppercase "Y" initially input into the glyph appearance propagation model. The glyph generation system 102 also similarly generates other glyphs based on the corresponding glyph labels.

[0053] As described above, in some of the described embodiments, the glyph generation system 102 utilizes a glyph appearance propagation model with a specific structure or architecture. Specifically, the glyph appearance propagation model includes an encoder neural network, multiple decoder neural networks, and a SIREN network. Figure 3 An example architecture of a glyph appearance propagation model according to one or more embodiments is shown.

[0054] like Figure 3 As shown, the glyph appearance propagation model includes an encoder neural network 302. Specifically, the encoder neural network 302 extracts or encodes features from glyph labels and font representation codes. For example, the encoder neural network 302 is a multilayer perceptron that connects glyph labels and font representation codes as input and extracts or encodes latent vectors representing high-level features carrying glyph and font information. In some embodiments, the encoder neural network 302 has a structure including multiple neurons based on multiple anchor fonts. For example, the encoder neural network 302 includes 10,000+52 neurons in a first layer (corresponding to 10,000 anchor fonts and 52 different glyphs in the English alphabet), followed by 4,000 neurons in a second layer, 1,000 neurons in a third layer, 500 neurons in a fourth layer, and 256 neurons in a final (e.g., output) layer.

[0055] Furthermore, the glyph appearance propagation model includes multiple decoder neural networks 304. Specifically, the decoder neural network 304 is a multilayer perceptron; given latent vectors from the encoder neural network 302, the decoder neural network 304 predicts parameters for the SIREN network 306. For example, the decoder neural network 304 generates or predicts parameters used in the SIREN network 306 to generate the predicted glyphs, such as weights (w...). i ) and bias (b i ), where i represents the layer index. Therefore, the decoder neural network 304 generates parameters for each layer of the SIREN network 306, one for weights and one for biases. In some embodiments, the decoder neural network 304 each has a specific architecture, including 256 neurons in a first layer (e.g., corresponding to the number of layers in the final layer of the encoder neural network 302), 256 neurons in a second layer, 256 neurons in a third layer, and the number of neurons in the final layer (which depends on the number of parameters (e.g., weights and biases) required by the SIREN network 306, to match).

[0056] like Figure 3As further shown, the glyph appearance propagation model includes a SIREN network 306. More specifically, the SIREN network 306 is a multilayer perceptron that generates different glyphs based on different parameters. In practice, the SIREN network 306 generates glyphs using predicted parameters from the decoder neural network 304, thereby generating different glyphs for different predicted parameters in corresponding iterations. In some cases, the SIREN network 306 generates predicted glyphs by predicting values ​​for the corresponding (x,y) coordinate positions within a normalized [-1,1] square. For example, the SIREN network 306 predicts a 0 or 1 value for each coordinate position, where a position corresponding to the glyph surface is 1, and a position not corresponding to the glyph surface is 0 (and vice versa). In some embodiments, the SIREN network 306 has a specific architecture including 2 neurons in a first layer, 128 neurons in a second layer, 128 neurons in a third layer, 128 neurons in a fourth layer, and 1 neuron in a final (e.g., output) layer corresponding to the predicted value for a given coordinate position. In some implementations, SIREN network 306 is as described by Vincent Sitzmann, Julien NPMartel, Alexander W. Bergman, David B. Lindell, and Gordon Wetzstein in Implicit Neural Representations with Periodic Activation Functions (arXiv:2006.0966v1 (June 17, 2020)), which is incorporated into the text by reference in its entirety.

[0057] As described above, in some embodiments, the glyph generation system 102 utilizes a glyph appearance propagation model to generate font representation code based on predicted glyphs. Specifically, the glyph generation system 102 generates font representation code for the font corresponding to the glyphs using an iterative process based on generating iterative versions of the predicted glyphs. Figure 4 An example process for generating font representation code using a glyph appearance propagation model according to one or more embodiments is shown.

[0058] like Figure 4 As shown, the glyph generation system 102 identifies or receives an initial glyph 402 (e.g., a glyph image). For example, the glyph generation system 102 receives a user selection of the initial glyph 402 from a client device 108. In one or more embodiments, the glyph generation system 102 normalizes the initial glyph 402 into a [-1,1] square for subsequent steps.

[0059] As shown in the figure, the glyph generation system 102 uses a text recognition model 404 to determine glyph labels based on an initial glyph 402. More specifically, the glyph generation system 102 inputs the initial glyph 402 into the text recognition model 404, which then generates glyph labels indicating that the glyph depicts a lowercase "a". For example, the text recognition model 404 is a machine learning model, such as a neural network trained to recognize characters in an image. In some cases, the text recognition model 404 generates glyph labels in the form of one-hot vectors indicating the depicted character (e.g., lowercase "a").

[0060] As further illustrated, the glyph generation system 102 utilizes glyph labels and font representation codes. Specifically, the glyph generation system 102 uses an encoder neural network 406 (e.g., encoder neural network 302) of a glyph appearance propagation model to generate potential glyph vectors based on the glyph labels and font representation codes. For example, the glyph generation system 102 concatenates the glyph labels with initial font representation codes for the initial iteration. In some cases, the glyph generation system 102 initializes the font representation codes for the first iteration with initial values ​​(e.g., by randomly sampling from a normal distribution with a mean of 0 and a standard deviation of 0.001). In practice, in some embodiments, the font representation codes are one-hot vectors of length 10,000 to represent 10,000 different anchor fonts. In other embodiments, the font representation codes have different lengths for different numbers of anchor fonts.

[0061] In these or other embodiments, glyph generation system 102 interpolates between anchor fonts to generate or determine a hybrid font as a combination or merging of multiple anchor fonts (in a certain proportion). For example, glyph generation system 102 interpolates between two known anchor fonts to generate a font representation code having some visual characteristics of one anchor font and other visual characteristics of the other anchor font (e.g., for a font in the middle between anchor fonts). As another example, glyph generation system 102 interpolates between anchor fonts in different parts to generate a font representation code representing a font that is 80% a first anchor font and 20% a second anchor font (e.g., using a proportional weighting of font features).

[0062] In some implementations, glyph generation system 102 generates a new font (e.g., a font not included in the anchor font set) based on a font representation code. For example, glyph generation system 102 generates a font representation code that includes values ​​at specific entries corresponding to the respective anchor fonts. In some cases, the font representation code includes 0s and 1s at different entries, where 1 indicates an anchor font that contributes to the font of the initial glyph. In other cases, the font representation code includes values ​​between 0 and 1 (e.g., 0.3 or 0.7) for entries corresponding to the respective anchor fonts, where the various entry values ​​represent contribution weights or contribution measurements for the respective anchor fonts. Therefore, in some embodiments, glyph generation system 102 combines the values ​​of entries in the font representation code to determine the font for the initial glyph (e.g., by combining anchor fonts according to the indicated contribution weights of the anchor fonts). In some implementations, glyph generation system 102 further modifies the font representation code (e.g., by modifying one or more entry values ​​for the anchor fonts) to generate a new font.

[0063] In one or more embodiments, glyph generation system 102 combines (e.g., links) glyph labels with font representation codes. From the (linked) glyph labels and font representation codes, encoder neural network 406 extracts or encodes latent vectors to pass to decoder neural network 408 (e.g., decoder neural network 304). Decoder neural network 408 then shares the latent vectors between them to generate parameters (e.g., weights and biases) for SIREN network 410 (e.g., SIREN network 306). Furthermore, SIREN network 410 generates predicted glyphs 412 by generating predicted values ​​at each coordinate position (x, y) of the [-1, 1] square based on the parameters generated via decoder neural network 408.

[0064] As described above, the SIREN network 410 generates predicted values, such as 0 for locations that do not correspond to glyph surfaces and 1 for locations that respond to glyph surfaces. In some embodiments, the predicted values ​​generated by the SIREN network 410 are not exactly 0 or 1, but fall somewhere in between. In effect, the SIREN network 410 can generate probabilities representing locations of glyph surfaces (e.g., between 0 and 1), where numbers closer to 1 indicate a higher probability that the location represents a glyph surface. In one or more implementations, the glyph generation system 102 utilizes a predicted value threshold, where predicted values ​​above the threshold are assigned a value of 1, and predicted values ​​below the threshold are assigned a value of 0. For example, if the SIREN network 410 predicts a value of 0.85 and the threshold is set to 0.7, the glyph generation system 102 assigns a value of 1 to the predicted value. On the other hand, if the SIREN network 410 predicts a value of 0.4 (where the threshold is 0.7), the glyph generation system 102 assigns a value of 0 to the predicted value.

[0065] like Figure 4 As further shown, the glyph generation system 102 compares the predicted glyph 412 with the initial glyph 402. For example, the glyph generation system 102 uses a loss function 414 to compare the predicted glyph 412 with the initial glyph 402. In one or more embodiments, the glyph generation system 102 uses an L1 loss function (or some other loss function such as the cross-entropy loss function) to determine the loss or distance between the predicted glyph 412 and the initial glyph 402. Based on this loss (or distance), the glyph generation system 102 performs backpropagation to modify the font representation code (and / or the parameters of the encoder neural network 406 or the decoder neural network 408) used to generate new predictions in the next iteration.

[0066] In fact, the character generation system 102 repeats. Figure 4 The process shown involves multiple iterations. More specifically, the glyph generation system 102 repeats the following process: i) concatenating the modified glyph representation code with the glyph label; ii) encoding the latent vector from the glyph label and the glyph representation code using an encoder neural network 406; iii) determining iteration-specific parameters (e.g., weights and biases) based on the latent vector using a decoder neural network 408; iv) generating a predicted glyph based on the iteration-specific parameters (e.g., by predicting values ​​for different positions); v) comparing the predicted glyph with the initial glyph using a loss function; and iv) performing backpropagation to modify the glyph representation code for the next iteration.

[0067] In one or more implementations, the glyph generation system 102 repeats the aforementioned process for a threshold number of iterations and / or until the predicted glyphs of the most recent iteration satisfy a similarity metric. For example, the glyph generation system 102 determines that the predicted glyphs satisfy a threshold loss or threshold distance relative to the initial glyph 402. In response to this determination, the glyph generation system 102 selects a font representation code from which it generates the predicted glyphs (e.g., from the same iteration) as the font representation code for the initial glyph 402. As described in further detail below, the glyph generation system 102 also utilizes the selected font representation code to generate additional glyphs, for example, to generate a complete glyph set in the font for the initial glyph 402.

[0068] In some cases, glyph generation system 102 receives instructions for modification of the initial glyph 402 via client device 108. In response to this modification, glyph generation system 102 uses text recognition model 404 to determine updated glyph labels. Furthermore, glyph generation system 102 uses a glyph appearance propagation model (e.g., via the aforementioned iterative process) to generate updated font representation codes. Additionally, glyph generation system 102 generates updated glyphs for the modified glyph set based on the updated font representation codes (and corresponding glyph labels) and the modified glyphs.

[0069] In one or more embodiments, the glyph generation system 102 performs the step of generating font representation code for a font corresponding to a glyph. Figures 3-4 The above description, especially regarding Figure 4 The description of the actions involved in generating font representation code provides various embodiments and supporting actions and algorithms for performing the steps for generating font representation code for a font corresponding to a glyph, in accordance with this specification.

[0070] As described above, in some of the described embodiments, the glyph generation system 102 learns parameters for a glyph appearance propagation model through a training or tuning process. Specifically, the glyph generation system 102 learns parameters for a SIREN network (e.g., SIREN network 410 or 306) to generate glyph images. Figure 5 An example process for training a glyph appearance propagation model 504 according to one or more embodiments is shown.

[0071] like Figure 5 As shown, the glyph generation system 102 accesses or identifies training data, such as sample locations (e.g., (x,y) coordinate locations) and baseline truth values ​​corresponding to the sample locations (e.g., 0s and 1s indicating glyph surface locations or non-glyph surface locations). Specifically, the glyph generation system 102 utilizes two-dimensional training samples in the form of glyph images and normalizes the glyph images into [-1,1] squares for training. Furthermore, the glyph generation system 102 inputs pixel locations into the glyph appearance propagation model 504 to generate predicted values.

[0072] More specifically, the glyph generation system 102 determines sample locations 502 based on glyph images stored in the database 112. For example, the glyph generation system 102 determines sample locations by sampling the glyph images using an importance-aware sampling technique. In detail, the glyph generation system 102 improves training efficiency (especially at large glyph scales) by performing importance-aware sampling to reduce the total number of location points used in training while still preserving the detailed structure of the glyphs. In practice, the glyph generation system 102 samples more locations at a higher density along the boundaries and corners of the glyphs, and samples fewer locations at a sparser density in the background regions of the glyphs (not along the boundaries or on the surface). As shown in the figure, the glyph of the capital "S" indicates sparser sampling in the black background and white surface regions (as indicated by circles) and denser sampling along the boundaries of the "S," as indicated by the dashed lines surrounding the "S" shape.

[0073] Based on this importance-aware sampling, the glyph generation system 102 selects sample locations 502 from the background region, the glyph surface, or along the glyph boundary. Furthermore, the glyph generation system 102 inputs the sample locations 502 into a glyph appearance propagation model 504 (e.g., into the SIREN network of the glyph appearance propagation model 504), whereby the glyph appearance propagation model 504 (e.g., the SIREN network) generates a predicted value 506 for the sample location 502 (e.g., a predicted value of 0.1 for the background sample location). In effect, the glyph appearance propagation model 504 predicts a value corresponding to the sample location 502 to indicate whether the sample location 502 is predicted as part of the glyph or not.

[0074] like Figure 5 As further shown, the character generation system 102 performs a comparison 508 to compare the predicted value 506 with the baseline truth value 510. Specifically, the character generation system 102 accesses the baseline truth value 510 from the database 112, where the baseline truth value 510 corresponds to the sample location 502 and indicates the actual or true value of the sample location 502. Therefore, the character generation system 102 utilizes a loss function to perform the comparison 508 to determine a measurement of the loss (or distance) between the predicted value 506 and the baseline truth value 510. For example, the character generation system 102 utilizes a specific loss function, such as a weighted loss given by:

[0075]

[0076] in, Let represent the predicted value 506, v represent the baseline truth value 510, L represent the loss function, and W represent the weights obtained from the importance graph used to guide importance perception.

[0077] In practice, in some implementations, the glyph generation system 102 utilizes an autoencoder pre-trained on sample glyph images from the database 112 to generate or predict importance maps. For example, the glyph generation system 102 generates an importance map according to the following formula:

[0078] W = ||AE(I) - I||

[0079] Where W represents the weights of the importance graph, AE represents the autoencoder, and I represents the sample glyph image. In some cases, the importance graph also guides dense sampling to identify the locations of samples used for training. Furthermore, the glyph generation system 102 performs backpropagation 512 to modify the weights, biases, and / or other parameters of the glyph appearance propagation model 504 (e.g., an encoder neural network, a decoder neural network, and / or a SIREN network) to adjust how the glyph appearance propagation model 504 processes, analyzes, and transmits data.

[0080] In some embodiments, the glyph generation system 102 repeats... Figure 5 The process is illustrated through multiple iterations or periods. Specifically, in each iteration, the glyph generation system 102 identifies a sample location, uses the glyph appearance propagation model 504 (or a SIREN network) to generate a predicted value at that location, compares the predicted value with a baseline truth value for that location, and performs backpropagation to modify the parameters. Thus, with each successive iteration, the glyph appearance propagation model 504 (or the SIREN network) changes how it generates predicted values ​​until the glyph appearance propagation model 504 meets a threshold accuracy and / or until the predicted value meets a threshold measurement of loss relative to the corresponding baseline truth.

[0081] As described above, in some of the described embodiments, the glyph generation system 102 generates a glyph set using a font that matches the font of the initial glyph. Specifically, the glyph generation system 102 generates additional glyphs for corresponding glyph tags based on the generated font representation code corresponding to the font of the initial glyph. For example, the glyph generation system 102 fixes the font representation code and iterates through different glyph tags to generate a glyph set that approximates the appearance of the initial glyph. Figure 6 A comparison is shown between a glyph set 604 generated by the glyph generation system 102 for a reference truth glyph set 602 and a glyph set 606 generated by a conventional image autoencoder.

[0082] like Figure 6As shown, glyph generation system 102 generates glyph set 604 based on an initial glyph "t" (shown in the dashed box) from a baseline glyph set 602. As described herein, glyph generation system 102 generates glyph set 604 by first generating a font representation code based on the initial glyph "t". Specifically, glyph generation system 102 utilizes a text recognition model to determine glyph labels for the initial glyph "t". Furthermore, glyph generation system 102 utilizes a glyph appearance propagation model to determine the font representation code for the initial glyph "t". Additionally, glyph generation system 102 fixes the font representation code and utilizes the glyph appearance propagation model to traverse different glyph labels (e.g., 52 glyph labels for the complete English alphabet glyph set) to generate additional glyphs to populate glyph set 604. Therefore, glyph generation system 102 generates glyph set 604 with a font that matches the font of the initial glyph "t".

[0083] Comparing glyph set 604 with the baseline truth glyph set 602, the individual glyphs in glyph set 604 accurately approximate their corresponding glyphs in the baseline truth glyph set 602. In fact, glyph set 604 generated by glyph generation system 102 approximates the baseline truth glyph set 602 more closely than glyph set 606 generated by a conventional autoencoder. Specifically, looking at the lowercase "g" glyph in these three sets, the baseline truth "g" and the "g" generated by glyph generation system 102 are very similar, while the "g" generated by the conventional autoencoder does not share many visual features with the baseline truth. Compared to existing systems, glyph generation system 102 utilizes the glyph appearance propagation model described herein to generate more accurate glyphs.

[0084] As described above, in some of the described embodiments, the glyph generation system 102 scales the glyphs without losing detail or degrading the appearance. Specifically, the glyph generation system 102 utilizes a glyph appearance propagation model to generate glyphs at different (e.g., larger or smaller) scales without degrading the appearance of the glyphs. Figure 7 An example set of scaled glyphs generated by glyph generation system 102 according to one or more embodiments is shown.

[0085] like Figure 7As shown, glyph 702 is the original glyph, while glyph 704 is a 2× enlarged glyph generated from a conventional pixel-based representation system, and glyphs 706-710 are different enlarged glyphs (e.g., 2×, 4×, and 8×, respectively) generated by the glyph generation system 102 described herein. As shown, glyph 704 appears somewhat degraded, with pixelated or jagged edges around the glyph's boundaries, while glyph generation system 102 generates glyphs 706-710 with sharp details. In fact, even at 4× (for glyph 708) or 8× enlargement (for glyph 710), glyph generation system 102 generates sharp glyph images without degrading appearance, whereas conventional pixel-based systems degrade glyphs at 2× enlargement (e.g., glyph 704).

[0086] To generate glyphs 706-710, the glyph generation system 102 utilizes the aforementioned adaptive sampling technique to train a glyph appearance propagation model. Specifically, the glyph generation system 102 uses a weighted loss to penalize regions in the background of the glyph image for sparser background sampling, while focusing denser sampling along the boundaries of the glyph surfaces. Based on the dense sampling along the glyph boundaries, the glyph generation system 102 can be scaled up to arbitrary scales.

[0087] For example, glyph generation system 102 samples a grid of arbitrary size (e.g., 1000×1000 samples or 2000×2000 samples) from a normalized glyph image of [-1,1]. Based on the dimension or density of the samples, glyph generation system 102 can reconstruct a glyph image of a corresponding size. For example, if glyph generation system 102 samples a grid of 1000×1000 samples, it can generate glyph images of up to 1000×1000 pixels. Therefore, glyph generation system 102 can enlarge glyphs without loss of detail by sampling a normalized glyph image at a density that allows for the reconstruction of an enlarged glyph image of the desired size.

[0088] As described above, in some of the described embodiments, the glyph generation system 102 generates complete glyphs based on partial glyphs. Specifically, the glyph generation system 102 generates complete glyphs based on initial partial glyphs, whether complete or missing one or more parts, which is something many conventional systems cannot do. Figure 8 An example complete glyph is shown, generated from partial glyphs using a glyph appearance propagation model according to one or more embodiments.

[0089] like Figure 8As shown, the glyph generation system 102 generates a complete glyph 802b based on a partial glyph 802a. Specifically, the glyph generation system 102 (e.g., from a client device 108 or via a text recognition model) determines or receives glyph labels for the partial glyphs and generates font representation codes based on the glyph labels using a glyph appearance propagation model. In practice, as described, the glyph generation system 102 uses the glyph appearance propagation model to iteratively generate predicted (partial) glyphs based on iterative versions of the font representation codes until the predicted (partial) glyphs satisfy a similarity metric relative to the initial partial glyphs. The glyph generation system 102 then selects a font representation code corresponding to the predicted (partial) glyph that satisfies the similarity metric. Based on the selected font representation code and the given (complete) glyph label, the glyph generation system 102 generates the complete glyph 802b.

[0090] Similarly, the glyph generation system 102 generates a complete glyph 804b based on a partial glyph 804a, and generates a complete glyph 806b based on a partial glyph 806a. In fact, the glyph generation system 102 generates the complete glyph 804b based on the font representation code corresponding to the partial glyph 804a, and generates the complete glyph 806b based on the font representation code corresponding to the partial glyph 806a. As shown in the figure, the complete glyph 804b visually resembles the appearance of the partial glyph 804a, while the complete glyph 806b visually resembles the appearance of the partial glyph 806a.

[0091] like Figure 8 As further shown, the glyph generation system 102 also generates a glyph set 808 based on partial glyphs. For example, the glyph generation system 102 utilizes a glyph appearance propagation model to generate the glyph set 808 based on partial glyphs 802a. More specifically, as described above, the glyph generation system 102 fixes the font representation code generated based on partial glyphs 802a and traverses the glyph tags to generate the glyph set 808.

[0092] As described above, in some of the described embodiments, the glyph generation system 102 provides a glyph modification interface for display on the client device 108. Specifically, the glyph generation system 102 generates and provides a glyph modification interface for presenting and modifying glyphs. Figure 9 A client device 108 is shown that displays a font modification interface 902 according to one or more embodiments.

[0093] like Figure 9As shown, the glyph modification interface 902 includes a depiction of a user-selected glyph 904 and a glyph set 906 generated based on the user-selected glyph 904. In practice, the glyph generation system 102 receives the selection or upload of the glyph 904. In some cases, the glyph generation system 102 also receives one or more modifications to the glyph 904. In some embodiments, the glyph generation system 102 provides selectable tools or options for editing, modifying, or manipulating the glyph 904 (e.g., by resizing, modifying pixels, or otherwise changing its appearance). Furthermore, the glyph generation system 102 generates the glyph set 906 based on the glyph 904 by utilizing a glyph appearance propagation model.

[0094] For example, glyph generation system 102 determines glyph labels for glyph 904, generates font representation codes based on the glyph labels (e.g., using an iterative process described herein), and generates additional glyphs for glyph set 906 by fixing the font representation codes and traversing different glyph labels. Figure 9 As shown, the glyphs in glyph set 906 share a common style or appearance, and although they are uppercase characters while glyph 904 depicts lowercase characters, they are modeled after the style of glyph 904.

[0095] Looking at it now Figure 10 This will provide additional details about the components and capabilities of the glyph generation system 102. Specifically, Figure 10 An example schematic diagram of a glyph generation system 102 on an example computing device 1000 (e.g., one or more client devices 108 and / or servers 104). In some embodiments, computing device 1000 refers to a distributed computing system in which different managers reside on different devices, as described above. Figure 10 As shown, the glyph generation system 102 includes a glyph label manager 1002, a font representation code manager 1004, a glyph generation manager 1006, a parameter learning manager 1008, and a storage manager 1010.

[0096] As just mentioned, the glyph generation system 102 includes a glyph label manager 1002. Specifically, the glyph label manager 1002 manages, maintains, determines, generates, receives, detects, or identifies glyph labels for glyphs. For example, the glyph label manager 1002 analyzes glyph images to determine the characters depicted within the glyph images. In some cases, the glyph label manager 1002 generates vectors (e.g., one-hot vectors) representing the depicted characters. For example, the glyph label manager 1002 utilizes a text recognition model to determine glyph labels for a specific glyph image.

[0097] like Figure 10As shown, the glyph generation system 102 also includes a font representation code manager 1004. Specifically, the font representation code manager 1004 manages, maintains, generates, determines, identifies, extracts, or encodes font representation codes corresponding to specific glyphs. For example, as described herein, the font representation code manager 1004 utilizes an iterative process involving a glyph appearance propagation model to iteratively generate predicted glyphs based on (according to iterative versions of font representation codes modified in each iteration) and compare the predicted glyphs with the initial glyphs to determine the font representation code corresponding to the initial glyph.

[0098] Furthermore, the glyph generation system 102 includes a glyph generation manager 1006. Specifically, it manages, determines, generates, or produces glyphs. More specifically, the glyph generation manager 1006 uses font representation codes to generate glyphs corresponding to corresponding glyph labels. For example, the glyph generation manager 1006 uses a glyph appearance propagation model to generate a set of glyphs whose appearance matches the appearance of the initial glyphs based on its font representation codes. The glyph generation manager 1006 also generates scaled glyphs and complete glyphs according to this disclosure (e.g., based on partial glyphs).

[0099] Furthermore, the glyph generation system 102 includes a parameter learning manager 1008. Specifically, the parameter learning manager 1008 utilizes a training or tuning process to learn parameters for a glyph appearance propagation model (including an encoder neural network, multiple decoder neural networks, and a SIREN network). For example, the parameter learning manager 1008 implements the iterative training process described above to learn parameters for accurately generating glyph images by indicating values ​​at specific pixel locations. In some cases, the parameter learning manager 1008 utilizes adaptive sampling techniques for dense sampling along boundaries and sparse sampling in other parts of the glyph image, which allows scaling the glyphs without degradation.

[0100] The glyph generation system 102 also includes a storage manager 1010. The storage manager 1010 operates in conjunction with or includes one or more memory devices such as a database 1012 (e.g., a database 112) that store various data such as glyph appearance propagation models, font representation codes, glyph images, and glyph labels.

[0101] In one or more embodiments, each component of the glyph generation system 102 communicates with each other using any suitable communication technology. Furthermore, the components of the glyph generation system 102 communicate with one or more other devices (including the aforementioned client devices). It will be appreciated that although the components of the glyph generation system 102... Figure 10The components are shown as separate, but any sub-component can be combined into fewer components (such as a single component) or divided into more components to serve a specific implementation. Furthermore, although the glyph generation system 102 is described in conjunction with... Figure 10 The components are, however, at least some of the components used to perform operations in conjunction with the glyph generation system 102 described herein may be implemented on other devices within the environment.

[0102] Components of the character generation system 102 may include software, hardware, or both. For example, components of the character generation system 102 may include one or more instructions stored on a computer-readable storage medium and executable by a processor of one or more computing devices (e.g., computing device 1000). When executed by one or more processors, the computer-executable instructions of the character generation system 102 may cause the computing device 1000 to perform the methods described herein. Alternatively, components of the character generation system 102 may include hardware, such as a dedicated processing device that performs a function or group of functions. Additionally or alternatively, components of the character generation system 102 may include a combination of computer-executable instructions and hardware.

[0103] Furthermore, components of the glyph generation system 102 that perform the functions described herein can be implemented, for example, as part of a standalone application, a module of an application, a plugin for an application (including a content management application), one or more library functions that can be called by other applications, and / or a cloud computing model. Therefore, components of the glyph generation system 102 can be implemented as part of a standalone application on a personal computing device or mobile device. Alternatively or additionally, components of the glyph generation system 102 can be implemented in any application that allows the creation and delivery of marketing content to users, including but not limited to… Experience Manager and Creative Applications in, such as Adobe and "ADOBE", "ADOBEEXPERIENCE MANAGER", "CREATIVE CLOUD", "ADOBE FONTS", "PHOTOSHOP", "LIGHTROOM" and "INDESIGN" are registered trademarks or trademarks of Adobe Inc. in the U.S. and / or other countries.

[0104] Figures 1-10 The corresponding text and examples provide a variety of systems, methods, and non-transient computer-readable media for machine learning approaches to generate scalable and semantically editable font representations. In addition to the foregoing, embodiments may also be described according to flowcharts including actions for achieving specific results. For example, Figure 11 A flowchart illustrating an example sequence or series of actions according to one or more embodiments is shown.

[0105] Although Figure 11 Actions according to a particular embodiment are shown, but alternative embodiments may omit, add, reorder, and / or modify them. Figure 11 Any action shown. Figure 11 The action can be performed as part of a method. Alternatively, a non-transitory computer-readable medium can include instructions that, when executed by one or more processors, cause a computing device to perform... Figure 11 The action. In another embodiment, the system can perform... Figure 11 The actions described herein can be repeated or performed in parallel with each other, or in parallel with different instances of the same or other similar actions.

[0106] Figure 11 An example series of actions 1100 for a machine learning method to generate scalable and semantically editable font representations is illustrated. Specifically, the series of actions 1100 includes an action 1102 to determine glyph labels for glyphs. For example, the series of actions 1102 involves using a text recognition model to determine glyph labels for glyphs. In some embodiments, action 1102 involves using the text recognition model to generate one-hot vectors representing glyphs. In some cases, action 1102 involves using a glyph appearance propagation model to generate vectors having a size corresponding to a plurality of anchor fonts and including indications of one or more anchor fonts among the plurality of anchor fonts that contribute to the font representation code.

[0107] Furthermore, the series of actions 1100 includes action 1104 of generating a font representation code for a font corresponding to a glyph. Specifically, action 1104 may include generating a font representation code for a font corresponding to a glyph based on a glyph label and a glyph using a glyph appearance propagation model. For example, action 1104 involves iteratively generating a predicted glyph based on a corresponding predicted font representation code and a glyph label using a glyph appearance propagation model, comparing the predicted glyph with the glyph in the corresponding iteration, selecting a predicted font representation code corresponding to the predicted glyph that satisfies a similarity metric relative to the glyph based on the comparison, and using the predicted font representation code as the font representation code for the font corresponding to the glyph. In some embodiments, action 1104 involves generating a hybrid font representation code representing interpolation between anchor fonts using a glyph appearance propagation model. In some implementations, the glyph appearance propagation model includes an encoder neural network, multiple decoder neural networks, and a SIREN network.

[0108] In some cases, action 1104 involves: using a glyph appearance propagation model to iteratively generate predicted glyphs based on iteratively modified versions of glyph labels and predicted font representation codes for the glyphs; comparing the glyphs with the iteratively generated predicted glyphs; and selecting, based on the comparison, the iteratively modified version of the predicted font representation code corresponding to the predicted glyph that satisfies a similarity metric as the font representation code for the font. Iteratively generating predicted glyphs sometimes involves using the glyph appearance propagation model for multiple iterations, generating a corresponding predicted glyph based on the corresponding version of the predicted font representation code and glyph labels for each iteration. Comparing the glyphs with the iteratively generated predicted glyphs may involve determining a loss between the glyphs and the iteratively generated predicted glyphs for each of the iteratively generated predicted glyphs. Selecting the iteratively modified version of the predicted font representation code sometimes involves selecting, based on the comparison, the iteratively modified version of the predicted font representation code corresponding to the predicted glyph that satisfies a threshold loss.

[0109] like Figure 11 As shown, the series of actions 1100 also includes action 1106 of generating a glyph set based on the font representation code. Specifically, action 1106 may involve generating a glyph set based on the font representation code and a glyph tag set using a glyph appearance propagation model. For example, action 1106 involves using a glyph appearance propagation model to generate a new glyph for each glyph tag from the glyph tag set based on the font representation code.

[0110] In some embodiments, the series of actions 1100 includes receiving an indication of modification to a glyph from a client device. Furthermore, the series of actions 1100 includes automatically propagating the modification to other glyphs within the glyph set. Automatically propagating the modification to other glyphs within the glyph set sometimes involves generating updated font representation codes for an updated font corresponding to the modified glyph, and generating updated glyphs for the glyph set based on the updated font representation codes and a glyph tag set. For example, the series of actions 1100 includes receiving an indication of a modified appearance (e.g., one or more modified pixels) of a glyph from a client device, and automatically propagating the modified appearance to other glyphs within a common glyph set (e.g., to match the appearance resulting from one or more modified pixels) using a glyph appearance propagation model.

[0111] In one or more implementations, the series of actions 1100 includes the action of resizing one or more glyphs from a glyph set to an arbitrary scale based on parameters of a glyph appearance propagation model learned via adaptive sampling along the boundaries of sample glyphs. In these or other embodiments, the series of actions 1100 includes the action of normalizing the glyphs for use in determining glyph labels using a text recognition model. For example, the series of actions 1100 includes the action of receiving an instruction from a client device to resize the glyphs to a larger scale, and resizing the glyphs to a larger scale according to the instruction without degrading the appearance of the glyphs.

[0112] In one or more embodiments, the series of actions 1100 includes the following actions: generating a glyph set using a glyph appearance propagation model based on font representation codes and a glyph tag set; receiving an instruction from a client device to resize one or more glyphs of the glyph set to a larger scale; and resizing one or more glyphs to a larger scale without degrading the appearance based on parameters of the glyph appearance propagation model learned via adaptive sampling along the boundaries of sample glyphs.

[0113] In some embodiments, the series of actions 1100 includes the action of receiving a partial glyph depicting an incomplete representation of the glyph. In these or other embodiments, the series of actions 1100 includes the action of using a glyph appearance propagation model to generate different font representation codes for different fonts corresponding to the partial glyphs. Furthermore, the series of actions 1100 includes the action of using a glyph appearance propagation model to generate a complete glyph based on the different font representation codes and glyph tags for the partial glyphs.

[0114] In some cases, the series of actions 1100 includes the action of generating parameters for a second neural network within the glyph appearance propagation model using a first neural network within the glyph appearance propagation model. For example, generating parameters for the second neural network using the first neural network sometimes includes: extracting latent vectors from glyph labels and font representation codes using an encoder neural network within the first neural network, and generating weights and biases for the second neural network based on the latent vectors using multiple decoder neural networks within the first neural network. In some embodiments, the series of actions 1100 includes the action of generating a glyph set by predicting values ​​indicating glyph surfaces and background regions for a set of coordinate positions using the second neural network based on the weights and biases.

[0115] Embodiments of this disclosure may include or utilize a dedicated or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in more detail below. Embodiments within the scope of this disclosure also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Specifically, one or more processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices (e.g., any media content access device described herein). Typically, a processor (e.g., a microprocessor) receives instructions from a non-transitory computer-readable medium (e.g., memory, etc.) and executes those instructions to perform one or more processes, including one or more processes described herein.

[0116] Computer-readable media can be any available medium that can be accessed by a general-purpose or special-purpose computer system. A computer-readable medium storing computer-executable instructions is a non-transitory computer-readable storage medium (device). A computer-readable medium carrying computer-executable instructions is a transmission medium. Therefore, by way of example and not limitation, embodiments of this disclosure may include at least two distinct types of computer-readable media: non-transitory computer-readable storage media (devices) and transmission media.

[0117] Non-transient computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid-state drive (“SSD”) (e.g., RAM-based), flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store desired program code components in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or special-purpose computer.

[0118] A “network” is defined as one or more data links that enable the transmission of electronic data between computer systems and / or modules and / or other electronic devices. When information is transmitted or provided to a computer via a network or another communication connection (hardwired, wireless, or a combination of hardwired and wireless), the computer appropriately considers that connection as a transmission medium. Transmission media may include networks and / or data links, which may be used to carry necessary program code components in the form of computer-executable instructions or data structures, and may be accessible by general-purpose or special-purpose computers. Combinations of the above should also be included within the scope of computer-readable media.

[0119] Furthermore, upon arrival at various computer system components, program code components in the form of computer-executable instructions or data structures can be automatically transferred from the transmission medium to a non-transitory computer-readable storage medium (device) (and vice versa). For example, computer-executable instructions or data structures received via a network or data link can be buffered in RAM within a network interface module (e.g., a "NIC") and then ultimately transferred to the computer system RAM and / or a less volatile computer storage medium (device) at the computer system. Therefore, it should be understood that non-transitory computer-readable storage media (devices) can be included in computer system components that also (or even primarily) utilize the transmission medium.

[0120] Computer-executable instructions include, for example, instructions and data that, when executed on a processor, cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device to perform a specific function or set of functions. In some embodiments, the computer-executable instructions are executed on a general-purpose computer to turn the general-purpose computer into a special-purpose computer that implements the elements of this disclosure. For example, the computer-executable instructions may be binary, intermediate format instructions (such as assembly language), or even source code. Although the subject matter has been described in language specific to structural features and / or methodological actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or actions. Rather, the described features and actions are disclosed as exemplary forms of implementing the claims.

[0121] Those skilled in the art will understand that this disclosure can be practiced in networked computing environments with many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframes, mobile phones, PDAs, tablets, pagers, routers, switches, etc. This disclosure can also be practiced in distributed system environments, where local and remote computer systems linked via a network (via hardwired data links, wireless data links, or a combination of hardwired and wireless data links) perform tasks. In a distributed system environment, program modules can reside in local and remote memory storage devices.

[0122] The embodiments of this disclosure can also be implemented in a cloud computing environment. In this specification, "cloud computing" is defined as a model that enables on-demand network access to a shared pool of configurable computing resources. For example, cloud computing can be used in the market to provide ubiquitous and convenient on-demand access to a shared pool of configurable computing resources. A shared pool of configurable computing resources can be rapidly configured via virtualization and published with minimal management effort or service provider interaction, and then scaled accordingly.

[0123] Cloud computing models can be composed of various characteristics, such as on-demand self-service, broad network access, resource pooling, rapid elasticity, and measurable services. Cloud computing models can also exhibit various service models, such as Software as a Service (“SaaS”), Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”). Cloud computing models can also be deployed using different deployment models, such as private clouds, community clouds, public clouds, and hybrid clouds. In this specification and in the claims, “cloud computing environment” means an environment in which cloud computing is employed.

[0124] Figure 12 An example computing device 1200 (e.g., computing device 1000, client device 108, and / or (multiple) servers 104) that can be configured to perform one or more of the above processes is illustrated in block diagram form. It will be understood that the glyph generation system 102 may include an implementation of the computing device 1200. As... Figure 12 As shown, the computing device 1200 may include a processor 1202, a memory 1204, a storage device 1206, an I / O interface 1208, and a communication interface 1210. Furthermore, the computing device 1200 may include input devices such as a touchscreen, mouse, and keyboard. In some embodiments, the computing device 1200 may include a... Figure 12 Showing fewer or more components. A more detailed description will follow. Figure 12 The components of the computing device 1200 shown.

[0125] In a particular embodiment, processor(s) 1202 includes hardware for executing instructions, such as instructions constituting a computer program. By way of example and not limitation, in order to execute instructions, processor(s) 1202 may fetch (or fetch instructions) from internal registers, internal caches, memory 1204, or storage device 1206, and decode and execute them.

[0126] Computing device 1200 includes memory 1204 coupled to processor(s) 1202. Memory 1204 can be used to store data, metadata, and programs executed by processor(s). Memory 1204 may include one or more volatile and non-volatile memories, such as random access memory (“RAM”), read-only memory (“ROM”), solid-state drive (“SSD”), flash memory, phase-change memory (“PCM”), or other types of data storage devices. Memory 1204 can be internal or distributed memory.

[0127] Computing device 1200 includes storage device 1206, which includes storage for storing data or instructions. By way of example and not limitation, storage device 1206 may include the aforementioned non-transient storage media. Storage device 1206 may include hard disk drive (HDD), flash memory, universal serial bus (USB) drive, or a combination of these or other storage devices.

[0128] The computing device 1200 also includes one or more input or output (“I / O”) devices / interfaces 1208, providing I / O devices / interfaces 1208 to allow a user to provide input (such as user strokes) to the computing device 1200, receive output from the computing device 1200, and otherwise transfer data to / from the computing device 1200. These I / O devices / interfaces 1208 may include a mouse, keypad or keyboard, touchscreen, camera, optical scanner, network interface, modem, other known I / O devices, or combinations of these I / O devices / interfaces 1208. The touchscreen can be activated using a writing device or a finger.

[0129] I / O device / interface 1208 may include one or more devices for presenting output to a user, including but not limited to a graphics engine, a display (e.g., a screen), one or more output drivers (e.g., a display driver), one or more audio speakers, and one or more audio drivers. In some embodiments, device / interface 1208 is configured to provide graphical data to the display for presentation to the user. The graphical data may represent one or more graphical user interfaces and / or any other graphical content that may serve a particular implementation.

[0130] The computing device 1200 may also include a communication interface 1210. The communication interface 1210 may include hardware, software, or both. The communication interface 1210 may provide one or more interfaces for communication (e.g., packet-based communication) between the computing device and one or more other computing devices 1200 or one or more networks. By way of example and not limitation, the communication interface 1210 may include a network interface controller (NIC) or network adapter for communicating with Ethernet or other wired networks, or a wireless NIC (WNIC) or wireless adapter for communicating with wireless networks such as Wi-Fi. The computing device 1200 may also include a bus 1212. The bus 1212 may include hardware, software, or both that couple components of the computing device 1200 to each other.

[0131] In the foregoing description, the invention has been described with reference to specific exemplary embodiments thereof. Various embodiments and aspects of the invention have been described with reference to the details discussed herein, and various embodiments are illustrated in the accompanying drawings. The above description and drawings are illustrative of the invention and should not be construed as limiting the invention. Numerous specific details have been described to provide a thorough understanding of various embodiments of the invention.

[0132] The invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The described embodiments are to be considered illustrative rather than restrictive in all respects. For example, the methods described herein may be performed with fewer or more steps / actions, or these steps / actions may be performed in a different order. Furthermore, the steps / actions described herein may be repeated or may be performed in parallel with each other or with different instances of the same or similar steps / actions. Therefore, the scope of the invention is indicated by the appended claims rather than the foregoing description. All variations within the meaning and scope of equivalents of the claims are included within the scope of the claims.

Claims

1. A non-transient computer-readable medium comprising instructions that, when executed by at least one processor, cause a computing device to: Use a text recognition model to determine glyph labels for glyph images; A font representation code is generated based on the glyph image and the glyph label through an iterative code generation process. The font representation code is for the font corresponding to the glyph image. The iterative code generation process involves generating and updating the font representation code using a glyph appearance propagation model in multiple iterations through the following operations: Using the glyph appearance propagation model, and based on multiple iteratively modified versions of the glyph labels and predicted font representation codes for the glyph images, multiple predicted glyph images are iteratively generated, and Select the iteratively modified version of the predicted glyph representation code corresponding to the iteratively generated predicted glyph image as the font representation code for the font; and Using the glyph appearance propagation model, a glyph set is generated based on the font representation code and glyph tag set.

2. The non-transient computer-readable medium according to claim 1, further comprising the following instructions: when executed by the at least one processor, the instructions cause the computing device to generate parameters for a second neural network within the glyph appearance propagation model using a first neural network within the glyph appearance propagation model.

3. The non-transient computer-readable medium of claim 2, further comprising the following instructions: when executed by the at least one processor, the instructions cause the computing device to generate the parameters for the second neural network using the first neural network by: Using the encoder neural network within the first neural network, latent vectors are extracted from the glyph labels and the font representation codes; and Using multiple decoder neural networks within the first neural network, weights and biases for the second neural network are generated based on the latent vector.

4. The non-transient computer-readable medium of claim 3, further comprising the following instructions: when executed by the at least one processor, the instructions cause the computing device to generate the glyph set by predicting values ​​for the glyph surface and background region for the coordinate location set based on the weights and biases using the second neural network.

5. The non-transient computer-readable medium according to claim 1, wherein the iterative code generation process comprises: Using the glyph appearance propagation model, multiple predicted glyph images are iteratively generated based on the corresponding predicted font representation code and the glyph label; In the corresponding iteration, the plurality of predicted glyph images are compared with the glyph image; as well as Based on the comparison, a predicted font representation code corresponding to a predicted glyph that satisfies a similarity metric relative to the glyph image is selected as the font representation code for the font corresponding to the glyph image.

6. The non-transient computer-readable medium of claim 1, further comprising the following instructions: when executed by the at least one processor, the instructions cause the computing device to generate the glyph set by generating new glyph images for each glyph tag from the glyph tag set based on the font representation code using the glyph appearance propagation model.

7. The non-transient computer-readable medium of claim 1, further comprising the following instructions: said instructions, when executed by said at least one processor, cause the computing device to: Receive from the client device an instruction to generate a modified glyph image by applying modifications to the glyph image; and The modification is automatically propagated to other glyph images within the glyph set through the following operation: Generate updated font representation code, the updated font representation code being for an updated font corresponding to the modified glyph image; and Based on the updated font representation code and the glyph tag set, generate multiple updated glyph images for the glyph set.

8. The non-transient computer-readable medium of claim 1, further comprising the following instructions: when executed by the at least one processor, the instructions cause the computing device to generate the font representation code by generating a vector using the glyph appearance propagation model, the vector having a size corresponding to a plurality of anchor fonts and including an indication of one or more anchor fonts among the plurality of anchor fonts that contribute to the composition of the font representation code.

9. A system for generating glyph representations, comprising: One or more memory devices, including glyph images and a previously trained glyph appearance propagation model; as well as One or more processors are configured to cause the system to: Font representation code is generated through an iterative code generation process, the font representation code being for a font corresponding to the glyph image. This iterative code generation process involves generating and updating the font representation code using a glyph appearance propagation model across multiple iterations: Using the glyph appearance propagation model, and based on multiple iteratively modified versions of glyph labels and predicted font representation codes for the glyph images, multiple predicted glyph images are generated iteratively. The glyph is compared with the plurality of predicted glyph images generated iteratively; as well as Based on the comparison, an iteratively modified version of the predicted font representation code corresponding to the predicted glyph image that satisfies the similarity metric is selected as the font representation code for the font.

10. The system of claim 9, wherein the one or more processors are further configured to cause the system to iteratively generate the plurality of predicted glyph images by performing multiple iterations using the glyph appearance propagation model to generate a corresponding predicted glyph for each iteration based on a corresponding version of the predicted font representation code and the glyph label.

11. The system according to claim 9, wherein: Comparing the glyph image with the iteratively generated plurality of predicted glyph images includes: for each iteratively generated predicted glyph in the plurality of iteratively generated predicted glyph images, determining a loss between the glyph image and the plurality of iteratively generated predicted glyph images; and Selecting the iteratively modified version of the predicted font representation code includes: selecting, based on the comparison, the iteratively modified version of the predicted font representation code corresponding to the predicted glyph image that satisfies the threshold loss.

12. The system of claim 9, wherein the one or more processors are further configured to cause the system to: generate the font representation code by utilizing the glyph appearance propagation model to generate hybrid font representation code representing interpolation between anchor fonts.

13. The system of claim 9, wherein the one or more processors are further configured to cause the system to: Using the glyph appearance propagation model, a glyph set is generated based on the font representation code and glyph tag set; Receive an instruction from the client device to resize one or more glyph images in the glyph set to a larger scale; as well as Based on the parameters of the glyph appearance propagation model learned through adaptive sampling along the boundaries of the sample glyph images, the one or more glyph images are resized to the larger scale without degrading their appearance.

14. The system of claim 9, wherein the one or more processors are further configured to cause the system to: Receive an instruction from the client device regarding the modified appearance of the glyph image; and The modified appearance is automatically propagated to other glyph images within the common glyph set using the glyph appearance propagation model.

15. The system of claim 9, wherein the one or more processors are further configured to cause the system to: Receive a partial glyph image, the partial glyph image depicting an incomplete representation of the glyph; Using the aforementioned glyph appearance propagation model, different font representation codes are generated based on the partial glyph images, wherein the different font representation codes are for different fonts corresponding to the partial glyph images; and Using the glyph appearance propagation model, complete glyphs are generated based on the different font representation codes and glyph labels for the partial glyph images.

16. The system of claim 9, wherein the one or more processors are further configured to cause the system to utilize the glyph appearance propagation model comprising: an encoder neural network, multiple decoder neural networks, and a SIREN network.

17. A computer-implemented method, comprising: Use a text recognition model to determine glyph labels for glyph images; A font representation code is generated based on the glyph labels and the glyph images through an iterative code generation process. The font representation code is for the font corresponding to the glyph images. The iterative code generation process involves generating and updating the font representation code using a glyph appearance propagation model in multiple iterations through the following operations: Using the glyph appearance propagation model, and based on multiple iteratively modified versions of the glyph labels and predicted font representation codes for the glyph images, multiple predicted glyph images are iteratively generated, and Select the iteratively modified version of the predicted glyph representation code corresponding to the iteratively generated predicted glyph image as the font representation code for the font; as well as Generate a glyph set based on the font representation code and glyph tag set.

18. The computer-implemented method according to claim 17, further comprising: Receive instructions from the client device regarding modifications to the glyph image; as well as The modifications are automatically propagated to other glyph images within the glyph set.

19. The computer-implemented method according to claim 18, wherein: Receiving the instruction for the modification includes: receiving an instruction for one or more modified pixels of the glyph image; and Automatically propagating the modifications includes: automatically modifying the other glyph images within the glyph set to match the appearance resulting from the one or more modified pixels of the glyph images.

20. The computer-implemented method according to claim 17, further comprising: Receive an instruction from the client device to resize the glyph image to a larger scale; as well as The glyph image is resized to the larger scale according to the instructions without degrading its appearance.

Citation Information

Patent Citations

  • Font Replacement Based On Visual Similarity

    CN107844463A

  • Ancient writing identification method and system based on deep learning

    CN108664996A