Systems and methods for recognising hand-drawn shapes
AssigneeCanva Pty Ltd
InventorKerry Jayne Halupka
Life of this patent
Estimating the term…
Abstract
Described herein is a computer implemented method. The method includes retrieving original drawing data that includes an ordered set of original drawing points that define an input shape, the original drawing data being associated with a first template shape type. The method further includes generating a plurality of synthetic shapes. Each synthetic shape is defined by an ordered set of synthetic shape points, and generating a particular synthetic shape includes performing a first operation that is based on the original drawing data. For each synthetic shape a training example is generated that includes the synthetic shape and is associated with the first template shape type.
Claims20
A computer implemented method including:
- accessing, via one or more computer processing devices, a first set of points that define an input shape, wherein:
- the first set of points includes a plurality of points in a point order;
- each point in the first set of points is a coordinate pair that defines a spatial position;
- the first set of points includes a first point at a first original position in the point order and a second point at a second original position in the point order, wherein the second original position is immediately after the first original position in the point order;
- and
- the first set of points is associated with a first template shape type;
- processing, via the one or more computer processing devices, the first set of points to generate a second set of points, wherein processing the first set of points to generate the second set of points includes performing a first point-order rotation operation on the first set of points and wherein performing the first point-order rotation operation includes:
- moving the first point from the first original position in the point order to a first new position in the point order;
- and
- moving the second point from the second original position in the point order to a second new position in the point order, wherein the second new position is immediately after the first new position in the point order;
- and
- generating, via the one or more computer processing devices, a plurality of training examples that each include a different set of points generated by performing a respective point-order rotation operation on the first set of points, wherein each training example in the plurality of training examples is associated with the first template shape type, and wherein the plurality of training examples includes at least the second set of points;
- and
- training, via the one or more computer processing devices, a machine learning model using the plurality of training examples to recognize hand-drawn shapes corresponding to the first template shape type, wherein the machine learning model is configured to, after training, automatically classify an input hand-drawn shape as corresponding to the first template shape type regardless of a starting point used to draw the input hand-drawn shape.
A system including:
- one or more computer processing devices;
- and
- a non-transitory computer-readable storage medium storing instructions, which when executed by the one or more computer processing devices, cause the one or more computer processing devices to perform a method including:
- accessing a first set of points that define an input shape, wherein:
- the first set of points includes a plurality of points in a point order;
- each point in the first set of points is a coordinate pair that defines a spatial position;
- the first set of points includes a first point at a first original position in the point order and a second point at a second original position in the point order, wherein the second original position is immediately after the first original position in the point order;
- and
- the first set of points is associated with a first template shape type;
- processing the first set of points to generate a second set of points, wherein processing the first set of points to generate the second set of points includes performing a first point-order rotation operation on the first set of points and wherein performing the first point-order rotation operation includes:
- moving the first point from the first original position in the point order to a first new position in the point order;
- and
- moving the second point from the second original position in the point order to a second new position in the point order, wherein the second new position is immediately after the first new position in the point order;
- and
- generating a plurality of training examples that each include a different set of points generated by performing a respective point-order rotation operation on the first set of points, wherein each training example in the plurality of training examples is associated with the first template shape type, and wherein the plurality of training examples includes at least the second set of points;
- and
- training a machine learning model using the plurality of training examples to recognize hand-drawn shapes corresponding to the first template shape type, wherein the machine learning model is configured to, after training, automatically classify an input hand-drawn shape as corresponding to the first template shape type regardless of a starting point used to draw the input hand-drawn shape.
A non-transitory storage medium storing instructions executable by one or more computer processing devices to cause the one or more computer processing devices to perform a method including:
- accessing a first set of points that define an input shape, wherein:
- the first set of points includes a plurality of points in a point order;
- each point in the first set of points is a coordinate pair that defines a spatial position;
- the first set of points includes a first point at a first original position in the point order and a second point at a second original position in the point order, wherein the second original position is immediately after the first original position in the point order;
- and
- the first set of points is associated with a first template shape type;
- processing the first set of points to generate a second set of points, wherein processing the first set of points to generate the second set of points includes performing a first point-order rotation operation on the first set of points and wherein performing the first point-order rotation operation includes:
- moving the first point from the first original position in the point order to a first new position in the point order;
- and
- moving the second point from the second original position in the point order to a second new position in the point order, wherein the second new position is immediately after the first new position in the point order;
- and
- generating a plurality of training examples that each include a different set of points generated by performing a respective point-order rotation operation on the first set of points, wherein each training example in the plurality of training examples is associated with the first template shape type, and wherein the plurality of training examples includes at least the second set of points;
- and
- training a machine learning model using the plurality of training examples to recognize hand-drawn shapes corresponding to the first template shape type, wherein the machine learning model is configured to, after training, automatically classify an input hand-drawn shape as corresponding to the first template shape type regardless of a starting point used to draw the input hand-drawn shape.
Dependencies are inferred from the claim text.