Systems and methods for recognizing hand-drawn shapes
AssigneeCanva Pty Ltd
InventorsKevin Andrew Wu Won, Kerry Jayne Halupka, Rowan James Katekar
Life of this patent
Estimating the term…
Abstract
Described herein is a computer implemented method. The method includes receiving, via an input device, first user input drawing an input shape and generating, based on the first user input, original drawing data that includes an ordered set of points that define the input shape. The original drawing is processed to generate an input vector which also includes an ordered set of points. The input shape is then classified as a first template shape by processing the input vector using a machine learning model. A new shape is then generated based on the first template shape and the original drawing data.
Claims20
A computer implemented method for generating a new shape based on a template shape and an input shape, wherein:
- the template shape is defined by template shape data that includes an ordered set of template shape points;
- the ordered set of template shape points has a defined number of template shape points;
- the input shape is defined by input shape data that includes an ordered set of input shape points;
- the ordered set of input shape points has the defined number of input shape points;
- and
- the method includes:
- receiving original shape data that includes an ordered set of original shape points, wherein the ordered set of original shape points has a first number of original shape points, the first number being different to the defined number;
- processing, by a processing unit, the original shape data to generate the input shape data that has the defined number of input shape points;
- determining a plurality of test rotation values;
- for each test rotation value in the plurality of test rotation values, performing a test that includes:
- generating a test shape based on the template shape and the test rotation value;
- and
- calculating a dissimilarity score for the test shape, the dissimilarity score being a measure of dissimilarity between the input shape and the test shape;
- determining, based on the dissimilarity scores, a particular test shape that most closely matches the input shape;
- and
- generating the new shape based on the particular test shape.
A computer processing system including:
- a processing unit;
- and
- a non-transitory computer-readable storage medium storing instructions, which when executed by the processing unit, cause the processing unit to perform a method for generating a new shape based on a template shape and an input shape, wherein:
- the template shape is defined by template shape data that includes an ordered set of template shape points;
- the ordered set of template shape points has a defined number of template shape points;
- the input shape is defined by input shape data that includes an ordered set of input shape points;
- the ordered set of input shape points has the defined number of input shape points;
- and
- the method includes:
- receiving original shape data that includes an ordered set of original shape points, wherein the ordered set of original shape points has a first number of original shape points, the first number being different to the defined number;
- processing the original shape data to generate the input shape data that has the defined number of input shape points;
- determining a plurality of test rotation values;
- for each test rotation value in the plurality of test rotation values, performing a test that includes:
- generating a test shape based on the template shape and the test rotation value;
- and
- calculating a dissimilarity score for the test shape, the dissimilarity score being a measure of dissimilarity between the input shape and the test shape;
- determining, based on the dissimilarity scores, a particular test shape that most closely matches the input shape;
- and
- generating the new shape based on the particular test shape.
A non-transitory storage medium storing instructions executable by processing unit to cause the processing unit to perform a method for generating a new shape based on a template shape and an input shape, wherein:
- the template shape is defined by template shape data that includes an ordered set of template shape points;
- the ordered set of template shape points has a defined number of template shape points;
- the input shape is defined by input shape data that includes an ordered set of input shape points;
- the ordered set of input shape points has the defined number of input shape points;
- and
- the method includes:
- receiving original shape data that includes an ordered set of original shape points, wherein the ordered set of original shape points has a first number of original shape points, the first number being different to the defined number;
- processing the original shape data to generate the input shape data that has the defined number of input shape points;
- determining a plurality of test rotation values;
- for each test rotation value in the plurality of test rotation values, performing a test that includes:
- generating a test shape based on the template shape and the test rotation value;
- and
- calculating a dissimilarity score for the test shape, the dissimilarity score being a measure of dissimilarity between the input shape and the test shape;
- determining, based on the dissimilarity scores, a particular test shape that most closely matches the input shape;
- and
- generating the new shape based on the particular test shape.
Dependencies are inferred from the claim text.