US12073153B2ActiveUtilityA1

Generating vector representations of visual objects

54
Assignee: ADOBE INCPriority: Feb 3, 2021Filed: Feb 3, 2021Granted: Aug 27, 2024
Est. expiryFeb 3, 2041(~14.6 yrs left)· nominal 20-yr term from priority
G06N 3/0895G06N 3/0455G06N 3/0464G06N 3/0475G06F 17/16G06N 3/045G06N 3/047G06N 3/084G06F 30/20
54
PatentIndex Score
0
Cited by
43
References
20
Claims

Abstract

Generating vector representations of visual objects is leveraged in a digital medium environment. For instance, a raster-based visual input object is encoded into a global latent code and individual path latent codes for visual components of the raster visual object are extracted from the global latent code. The path latent codes are decoded and used to generate vector representations of the original raster versions of the visual components. The vector representations are rasterized and composited to generate an output object that simulates a visual appearance of the input object.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method implemented by at least one computing device for generating a vector representation of a visual object, the method comprising:
 generating, by an encoder module, a global latent code of a raster-based input visual object by encoding visual components of the input visual object into the global latent code; 
 generating, by a path generator module, path latent codes from the global latent code of the input visual object by decoding the global latent code into different individual path latent codes that each represent a different visual component of the input visual object; 
 decoding, by a path decoder module, the path latent codes into different respective vector representations of the visual components by generating, for each path latent code, a set of control points on a data path and deforming the data path relative to the control points to generate a respective vector representation; and 
 generating, by a rasterizer module, an output visual object by converting the vector representations into respective raster representations and compositing the raster representations into the output visual object. 
 
     
     
       2. A method as described in  claim 1 , wherein said encoding the visual components of the input visual object into the global latent code comprises encoding the visual components as a set of closed data paths that combine to form the input object. 
     
     
       3. A method as described in  claim 2 , wherein at least some of the closed data paths are implemented as sets of Bézier curves. 
     
     
       4. A method as described in  claim 1 , wherein said encoding the visual components of the input visual object into the global latent code comprises encoding the visual components as a set of closed data paths that combine to form the input object, and wherein said decoding the global latent code into different individual path latent codes comprises decoding each closed data path into a respective path latent code. 
     
     
       5. A method as described in  claim 1 , wherein said generating a set of control points for a particular path latent code comprises:
 determining, by the path decoder module, a geometric complexity of a visual component of the input visual object represented by the particular path latent code; and 
 determining, by the path decoder module, a number of control points for a data path to represent the visual component based on the geometric complexity. 
 
     
     
       6. A method as described in  claim 1 , wherein said generating a set of control points for a particular path latent code comprises representing, by a control point module, each control point with a control point vector that identifies cartesian coordinates of the control point relative to the data path and includes an endpoint indicator that indicates whether the control point is an endpoint of a segment along the data path. 
     
     
       7. A method as described in  claim 1 , wherein said deforming the data path relative to the control points comprises:
 adjusting, by an adaptive resampler module, at least some of the control points on the data path by determining a geometry of a visual component represented by the data path, generating displacement values for the at least some of the control points to position the at least some of the control points based on the geometry, and positionally adjusting the at least some of the control points on the data path based on respective displacement values; and 
 deforming, by a path decoder module, the data path about the adjusted control points to simulate the geometry of the visual component. 
 
     
     
       8. A method as described in  claim 1 , wherein said generating the path latent codes comprises one or more of:
 sampling, by the path generator module, one or more data points from the global latent code to generate one or more of the individual path latent codes; or 
 interpolating, by the path generator module, a new data point from within the global latent code to generate one or more of the individual path latent codes. 
 
     
     
       9. A method as described in  claim 1 , wherein said generating, for each path latent code, a set of control points includes determining a number of control points in the set of control points based at least in part on user input specifying a level of fidelity for representing the visual components of the input visual object via the vector representations. 
     
     
       10. In a digital medium graphics editing environment, a system comprising:
 an encoder module implemented at least partially in hardware of at least one computing device to generate a global latent code of a raster-based input visual object including to encode visual components of the input visual object into the global latent code; 
 a path generator module implemented at least partially in hardware of the at least one computing device to generate path latent codes from the global latent code of the input visual object including to decode the global latent code into different individual path latent codes that each represent a different visual component of the input visual object; 
 a path decoder module implemented at least partially in hardware of the at least one computing device to decode the path latent codes into different respective vector representations of the visual components including to generate, for each path latent code, a set of control points on a data path and to deform the data path relative to the control points to generate a respective vector representation; and 
 a rasterizer module implemented at least partially in hardware of the at least one computing device to generate an output visual object including to convert the vector representations into respective raster representations and composite the raster representations into the output visual object. 
 
     
     
       11. A system as described in  claim 10 , wherein the encoder module is implemented to encode the visual components of the input visual object into the global latent code including to encode each visual component as a closed path such that the encoded visual components combine to represent a visual appearance of the input visual object. 
     
     
       12. A system as described in  claim 10 , wherein:
 the encoder module is implemented to encode the visual components of the input visual object into the global latent code including to encode each visual component as a closed path such that the encoded visual components combine to represent a visual appearance of the input visual object; and 
 the path decoder module is implemented to decode the global latent code into different individual path latent codes including to decode each representation of a closed data path into a respective path latent code. 
 
     
     
       13. A system as described in  claim 10 , wherein the path decoder module is implemented to generate the set of control points for each path latent code including to:
 determine a geometric complexity of a visual component of the input visual object represented by each path latent code; and 
 determine a number of control points for a data path to represent the visual component based on the geometric complexity. 
 
     
     
       14. A system as described in  claim 10 , wherein the path decoder module comprises:
 an adaptive resampler module implemented at least partially in hardware of the at least one computing device to, for each data path, adjust at least some of the control points on the data path by determining a geometry of a visual component represented by the data path, generate displacement values for the at least some of the control points to position the at least some of the control points based on the geometry, and positionally adjust the at least some of the control points on the data path based on respective displacement values; and 
 a path deformation module implemented at least partially in hardware of the at least one computing device to deform the data path about the adjusted control points to simulate the geometry of the visual component. 
 
     
     
       15. A system as described in  claim 10 , wherein to generate a set of control points for each path latent code includes to implement the path decoder module to determine a number of control points in the set of control points based at least in part on user input specifying a level of fidelity for representing the visual components of the input visual object via the vector representations. 
     
     
       16. A system as described in  claim 10 , further comprising a vector graphics module implemented at least partially in hardware of the at least one computing device to train the system including to:
 cause the rasterizer module to convert individual vector representations into respective raster representations of different visual resolution levels; 
 calculate, by the vector graphics module, a loss value between each of the raster representations at the different visual resolution levels and the input visual object; and 
 backpropagating, by the vector graphics module, the loss values through the system to minimize a loss between the output visual object and the input visual object. 
 
     
     
       17. A system as described in  claim 10 , further comprising a vector graphics module implemented at least partially in hardware of the at least one computing device to train the system using the raster-based input visual object for supervision and without utilizing vector-based supervision. 
     
     
       18. One or more non-transitory computer-readable media storing instructions that are executable to perform operations comprising:
 generating a global latent code of a raster-based input visual object by encoding visual components of the input visual object into the global latent code; 
 generating path latent codes from the global latent code of the input visual object by decoding the global latent code into different individual path latent codes that each represent a different visual component of the input visual object; 
 decoding the path latent codes into different respective vector representations of the visual components by generating, for each path latent code, a set of control points on a data path and deforming the data path relative to the control points to generate a respective vector representation; and 
 generating an output visual object by converting the vector representations into respective raster representations and compositing the raster representations into the output visual object. 
 
     
     
       19. One or more non-transitory computer-readable media as described in  claim 18 , wherein said encoding the visual components of the input visual object into the global latent code comprises encoding the visual components as a set of closed data paths that combine to form the input object. 
     
     
       20. One or more non-transitory computer-readable media as described in  claim 19 , wherein at least some of the closed data paths are implemented as sets of Bézier curves.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.