Locating objects using indicia
First Claim
1. A computer-implemented method comprising:
- applying, by one or more computing devices, a plurality of visible indicia on a surface of an indoor facility such that a distance between any visible indicium of the plurality of visible indicia and a nearest visible indicium in the plurality of visible indicia is less than a threshold;
obtaining, by the one or more computing devices, a first image captured from a camera, the first image being of a first portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface;
moving, by the one or more computing devices, the camera a specified distance;
obtaining, by the one or more computing devices, a second image captured from the camera of the indoor facility, the second image being of a second portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface;
determining, by the one or more computing devices, a composite image based on the first image and the second image;
locating, by the one or more computing devices, a plurality of indicia within the composite image;
determining, by the one or more computing devices, an index of the visible indicia of the surface based on the plurality of indicia;
obtaining, by the one or more computing devices, a third image captured from the camera in proximity of an object located in an indoor facility, the third image being of a third portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface;
identifying, by the one or more computing devices, a plurality of local indicia within the third image;
using the locations of the local indicia within the third image and the index of the visible indicia of the surface, determining, by the one or more computing devices, the location of the object relative to the surface, including;
determining, by the one or more computing devices, a plurality of locations of the local indicia within the third image;
determining, by the one or more computing devices, an object hash code using the locations of two most widely-separated local indicia and comparing the object hash code to a plurality of hash codes in the index of the visible indicia on the surface; and
based on the location of the local indicia on the surface, determining, by the one or more computing devices, the location of the object.
2 Assignments
0 Petitions
Accused Products
Abstract
This specification relates to locating objects using indicia. In general, one innovative aspect of the subject matter described in this specification can be embodied in methods that include the actions of obtaining an image captured from a camera in proximity of an object located in an indoor facility, the image being of a portion of a surface of the indoor facility comprising a plurality of visible indicia, the camera having an orientation generally pointed at the surface. A plurality of local indicia are identified within the image. The locations of the local indicia within the image and an index of the visible indicia of the surface are used to determine the location of the object relative to the surface.
20 Citations
23 Claims
-
1. A computer-implemented method comprising:
-
applying, by one or more computing devices, a plurality of visible indicia on a surface of an indoor facility such that a distance between any visible indicium of the plurality of visible indicia and a nearest visible indicium in the plurality of visible indicia is less than a threshold; obtaining, by the one or more computing devices, a first image captured from a camera, the first image being of a first portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; moving, by the one or more computing devices, the camera a specified distance; obtaining, by the one or more computing devices, a second image captured from the camera of the indoor facility, the second image being of a second portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; determining, by the one or more computing devices, a composite image based on the first image and the second image; locating, by the one or more computing devices, a plurality of indicia within the composite image; determining, by the one or more computing devices, an index of the visible indicia of the surface based on the plurality of indicia; obtaining, by the one or more computing devices, a third image captured from the camera in proximity of an object located in an indoor facility, the third image being of a third portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; identifying, by the one or more computing devices, a plurality of local indicia within the third image; using the locations of the local indicia within the third image and the index of the visible indicia of the surface, determining, by the one or more computing devices, the location of the object relative to the surface, including; determining, by the one or more computing devices, a plurality of locations of the local indicia within the third image; determining, by the one or more computing devices, an object hash code using the locations of two most widely-separated local indicia and comparing the object hash code to a plurality of hash codes in the index of the visible indicia on the surface; and based on the location of the local indicia on the surface, determining, by the one or more computing devices, the location of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
one or more processors configured to interact with a computer storage medium in order to perform operations comprising; applying a plurality of visible indicia on a surface of an indoor facility such that a distance between any visible indicium of the plurality of visible indicia and a nearest visible indicium in the plurality of visible indicia is less than a threshold; obtaining a first image captured from a camera, the first image being of a first portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; moving the camera a specified distance; obtaining a second image captured from the camera of the indoor facility, the second image being of a second portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; determining a composite image based on the first image and the second image; locating a plurality of indicia within the composite image; determining an index of the visible indicia of the surface based on the plurality of indicia; obtaining a third image captured from the camera in proximity of an object located in an indoor facility, the third image being of a third portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; identifying a plurality of local indicia within the third image; using the locations of the local indicia within the third image and the index of the visible indicia of the surface, determining the location of the object relative to the surface, including; determining a plurality of locations of the local indicia within the third image; determining an object hash code using the locations of two most widely-separated local indicia and comparing the object hash code to a plurality of hash codes in the index of the visible indicia on the surface; and based on the location of the local indicia on the surface, determining the location of the object. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
23. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
applying a plurality of visible indicia on a surface of an indoor facility such that a distance between any visible indicium of the plurality of visible indicia and a nearest visible indicium in the plurality of visible indicia is less than a threshold; obtaining a first image captured from a camera, the first image being of a first portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; moving the camera a specified distance; obtaining a second image captured from the camera of the indoor facility, the second image being of a second portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; determining a composite image based on the first image and the second image; locating a plurality of indicia within the composite image; determining an index of the visible indicia of the surface based on the plurality of indicia; obtaining a third image captured from the camera in proximity of an object located in an indoor facility, the third image being of a third portion of the surface of the indoor facility comprising the plurality of visible indicia, the camera having an orientation generally pointed at the surface; identifying a plurality of local indicia within the third image; using the locations of the local indicia within the third image and the index of the visible indicia of the surface, determining the location of the object relative to the surface, including; determining a plurality of locations of the local indicia within the third image; determining an object hash code using the locations of two most widely-separated local indicia and comparing the object hash code to a plurality of hash codes in the index of the visible indicia on the surface; and based on the location of the local indicia on the surface, determining the location of the object.
-
Specification