IP Library Granted Patent US 10,817,743
Granted Patent B2
US 10,817,743 · App. 16/049,752 · Granted Oct 27, 2020

User-designed machine-readable target codes

Inventors: Zsolt Szalavari (Vienna, AT); Michael Gervautz (Vienna, AT); John James Lechleiter (Carlsbad, CA)
G06K9/4609G06K7/10722G06K7/1434G06K9/00671G06K9/18G06K19/06037G06T19/006G06K2209/25G06T2207/10016G06T2207/30204
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,817,743
App. No.
16/049,752
Granted
Oct 27, 2020
Kind
B2
Abstract

In a template design application, a user creates a template for a machine-readable image target that supports encoded data and augmented reality homography. The design application enforces design constraints that ensure reliable detection of the target by a detection application while supporting creative freedom in designing the template. The design constraints can include specification of a detection contour outlining a transition between a perimeter of a border shape and an adjacent area of a contrasting color. Data to be encoded is applied to the template to create printable image instances of the target. The template is also loaded into a detection application, which scans and recognizes printed instances of the target and decodes the encoded data. The detection application uses the decoded data to create a synthesized image target matching the scanned target and which is used to execute further tracking of the target within a moving field of view.

Claims (94)

1. A system comprising:

a non-transitory computer readable medium encoded with instructions that cause a computer to execute a template design application configured to receive user input specifying a design for a machine-readable target, wherein the user input comprises:

a specification of a detection contour comprising at least a predetermined minimum number of segments and configured to be recognized by a detection application, and

a specification of each of a plurality of graphical elements used to encode data based on color, wherein each specification includes a shape, and

wherein the template design application is configured to output a target template data file comprising:

a definition of the detection contour, and

a definition of the plurality of graphical elements;

a non-transitory computer readable medium encoded with instructions that cause a computer to execute a target manager application configured to output a target instance image file based on the target template data file and based on data to be encoded; and

a non-transitory computer readable medium encoded with instructions that cause a computer to execute a detection application configured to:

receive a captured image of a printed target instance produced from the target instance image file,

apply detection data to the captured image, wherein the detection data is based on the target template data file,

match a detection contour defined in the detection data to the captured image,

sample each of the plurality of graphical elements from the captured image, and

decode the data based on the sampled plurality of graphical elements.

2. The system of claim 1 , wherein the detection application is further configured to:

synthesize a tracking target based on the decoded data and the detection data,

receive additional captured images in which the target instance moves from an initial location within a field of view,

use the synthesized tracking target to perform tracking of the target instance moving within the field of view,

determine a homography of the target instance moving within the field of view, and

augment the additional captured images based on the determined homography.

3. The system of claim 1 , wherein the detection application is further configured to determine a homography based on the captured image and the detection data.

4. The system of claim 3 , wherein the detection application is further configured to provide the homography and the decoded data to an augmented reality application.

5. The system of claim 1 , wherein the target manager application is further configured to output the detection data for detecting instances of the machine-readable target.

6. The system of claim 1 , wherein the detection contour is a closed path and at least one of the plurality of graphical elements is located outside of the detection contour.

7. The system of claim 1 , wherein each segment is selected from the group consisting of: a line, an arc and a curve.

8. The system of claim 1 , wherein the detection application is further configured to:

perform an error correction on the decoded data,

determine whether the decoded data is valid based on an algorithmic specification of valid bit codes, and

discard decoded data that has been determined to be invalid.

9. The system of claim 1 , wherein the user input further comprises a specification of a placeholder area, wherein the target template data file comprises a definition of the placeholder area, and wherein the target manager application is further configured to insert any of one or more instances of different non-functional designs in the placeholder area to create a target instance image file.

10. The system claim 1 ,

wherein the user input further comprises a specification of a border shape having a boundary matching the detection contour; and

wherein the design application is further configured to provide an indication to a user of whether:

the contour is a not closed path,

the contour does not include at least the predetermined minimum number of segments,

any of the segments are less than a predetermined minimum relative size,

the border shape does not maintain at least a predetermined minimum relative width in relation to the contour, and

any of the element shapes are less than a predetermined minimum relative size.

11. The system of claim 10 , wherein the design application is further configured to determine whether:

the contour is a not closed path,

the contour does not include at least the predetermined minimum number of segments,

any of the segments are less than a predetermined minimum relative size, and

any of the element shapes are less than a predetermined minimum relative size.

12. The system of claim 11 , wherein the design application is further configured to determine whether:

the border shape does not maintain at least a predetermined minimum relative width in relation to the contour.

13. The system of claim 11 ,

wherein the user input further comprises:

a specification of a color for the border shape,

a specification of a color for a clear space area that abuts the border shape along the detection contour, and

a specification of two colors for each of the plurality of graphical elements; and

wherein the design application is further configured to determine whether:

there is at least a predetermined minimum amount of color contrast between the border shape and the clear space area, and

there is at least a predetermined minimum amount of color contrast between the two colors specified for each of the plurality of graphical elements.

14. The system of claim 13 ,

wherein the user input further comprises a specification of a shape of the clear space area; and

wherein the design application is further configured to provide an indication to a user of whether:

the shape of the clear space area does not maintain at least a predetermined minimum relative width in relation to the contour on an opposite side from the border shape.

15. The system of claim 14 , wherein the design application is further configured to determine whether:

the shape of the clear space area does not maintain at least a predetermined minimum relative width in relation to the contour on an opposite side from the border shape.

16. A non-transitory computer readable medium encoded with instructions that cause a computer to execute a template design application, wherein the template design application is configured to:

receive user input specifying a design for a machine-readable target, wherein the user input comprises:

a specification of a border shape, and

a specification of each of a plurality of graphical elements used to encode data based on color, wherein each specification includes a shape;

identify a contour of the border shape as a detection contour configured to be recognized by a detection application;

provide an indication to a user of whether:

the contour is a not closed path,

the contour does not include at least a predetermined minimum number of segments,

any of the segments are less than a predetermined minimum relative size,

the border shape does not maintain at least a predetermined minimum relative width in relation to the contour, and

any of the element shapes are less than a predetermined minimum relative size; and

output a target template data file comprising:

a definition of the detection contour, and

a definition of the plurality of graphical elements.

17. The non-transitory computer readable medium of claim 16 , wherein the design application is further configured to determine whether:

the contour is a not closed path,

the contour does not include at least the predetermined minimum number of segments,

any of the segments are less than a predetermined minimum relative size, and

any of the element shapes are less than a predetermined minimum relative size.

18. The non-transitory computer readable medium of claim 17 , wherein the design application is further configured to determine whether:

the border shape does not maintain at least a predetermined minimum relative width in relation to the contour.

19. The non-transitory computer readable medium of claim 17 ,

wherein the user input further comprises:

a specification of a color for the border shape,

a specification of a color for a clear space area that abuts the border shape along the detection contour, and

a specification of two colors for each of the plurality of graphical elements; and

wherein the design application is further configured to determine whether:

there is at least a predetermined minimum amount of color contrast between the border shape and the clear space area, and

there is at least a predetermined minimum amount of color contrast between the two colors specified for each of the plurality of graphical elements.

20. The non-transitory computer readable medium of claim 19 ,

wherein the user input further comprises a specification of a shape of the clear space area; and

wherein the design application is further configured to provide an indication to a user of whether:

the shape of the clear space area does not maintain at least a predetermined minimum relative width in relation to the contour on an opposite side from the border shape.

21. The non-transitory computer readable medium of claim 20 , wherein the design application is further configured to determine whether:

the shape of the clear space area does not maintain at least a predetermined minimum relative width in relation to the contour on an opposite side from the border shape.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2020
From: PTC INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 051809/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2018
From: SZALAVARI, ZSOLT; GERVAUTZ, MICHAEL; LECHLEITER, JOHN JAMES
To: PTC INC.
Reel/Frame 046824/0209 →