Store planogram to image registrations
First Claim
1. A method for determining positions of physical objects implemented in a computer comprising a processor, memory accessible by the processor, and computer program instructions stored in the memory and executable by the processor, the method comprising:
- capturing, with a photographic device, at least one image of a plurality of physical shelves containing physical objects, and transmitting the at least one image to the computer system;
receiving, at the computer system, the at least one image;
detecting, by computer program instructions executed by the processor, physical objects shown in the at least one image and positions of the physical objects shown in the at least one image;
determining, by computer program instructions executed by the processor, estimates of movement of the detected physical objects from an initial placement of the physical objects;
determining, by computer program instructions executed by the processor, a tolerance for inaccuracy in physical object position in the at least one image using physical object dimension data;
receiving, at the computer system, at least one planogram representing desired positions of the physical objects on the shelves, wherein each row of the planogram corresponds to one shelf;
adjusting, by computer program instructions executed by the processor, margins or dimensions of objects shown in the planogram using physical object dimension data and adjusting positions of physical objects in the planogram to reflect a size of the physical shelves;
detecting, by computer program instructions executed by the processor, matches between physical objects shown in the planogram and physical objects shown in at least one image;
aligning, by computer program instructions executed by the processor, each row of the planogram individually to the determined positions of physical objects shown in the at least one image by, for each row in the planogram;
searching for detected objects, for each detected object, performing consensus voting on the object, determining a detection confidence value for the object based on the tolerance for inaccuracy in object position, and scaling the consensus vote according to the detection confidence value;
outputting, from the computer system, shelf labeling information indicating shelf positions of the physical objects shown in the at least one image;
determining, by computer program instructions executed by the processor, differences between the determined physical object positions and the adjusted planogram positions to generate compliance information representing a level of compliance of the detected object positions with the planogram.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention may provide automated techniques for checking store shelves for compliance with planograms that can handle unknown arrangements in a uniform way, with little user involvement, and with relatively low processing complexity. For example, a computer-implemented method for determining compliance with a planogram may comprise receiving at least one image of a plurality of shelves containing objects, receiving at least one planogram representing desired positions of the objects on the shelves, wherein each row of the planogram corresponds to one shelf, adjusting positions of objects in the planogram to reflect a size of the shelves, determining a tolerance for inaccuracy in object position in the image using object dimension data, detecting object positions in the image, aligning each row of the planogram individually to the detected object positions, and comparing the detected object positions with the adjusted planogram positions to generate compliance information.
-
Citations
15 Claims
-
1. A method for determining positions of physical objects implemented in a computer comprising a processor, memory accessible by the processor, and computer program instructions stored in the memory and executable by the processor, the method comprising:
-
capturing, with a photographic device, at least one image of a plurality of physical shelves containing physical objects, and transmitting the at least one image to the computer system; receiving, at the computer system, the at least one image; detecting, by computer program instructions executed by the processor, physical objects shown in the at least one image and positions of the physical objects shown in the at least one image; determining, by computer program instructions executed by the processor, estimates of movement of the detected physical objects from an initial placement of the physical objects; determining, by computer program instructions executed by the processor, a tolerance for inaccuracy in physical object position in the at least one image using physical object dimension data; receiving, at the computer system, at least one planogram representing desired positions of the physical objects on the shelves, wherein each row of the planogram corresponds to one shelf; adjusting, by computer program instructions executed by the processor, margins or dimensions of objects shown in the planogram using physical object dimension data and adjusting positions of physical objects in the planogram to reflect a size of the physical shelves; detecting, by computer program instructions executed by the processor, matches between physical objects shown in the planogram and physical objects shown in at least one image; aligning, by computer program instructions executed by the processor, each row of the planogram individually to the determined positions of physical objects shown in the at least one image by, for each row in the planogram;
searching for detected objects, for each detected object, performing consensus voting on the object, determining a detection confidence value for the object based on the tolerance for inaccuracy in object position, and scaling the consensus vote according to the detection confidence value;outputting, from the computer system, shelf labeling information indicating shelf positions of the physical objects shown in the at least one image; determining, by computer program instructions executed by the processor, differences between the determined physical object positions and the adjusted planogram positions to generate compliance information representing a level of compliance of the detected object positions with the planogram. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for determining positions of physical objects, the computer program product comprising a non-transitory computer readable storage having program instructions embodied therewith, the program instructions executable by a computer, to cause the computer to perform a method comprising:
-
capturing, with a photographic device, at least one image of a plurality of physical shelves containing physical objects, and transmitting the at least one image to the computer system; receiving, at the computer, the at least one image; detecting, at the computer, physical objects shown in the at least one image and positions of the physical objects shown in the at least one image; determining, at the computer, estimates of movement of the detected physical objects from an initial placement of the physical objects; determining, at the computer, a tolerance for inaccuracy in physical object position in the at least one image using physical object dimension data; receiving, at the computer system, at least one planogram representing desired positions of the physical objects on the shelves, wherein each row of the planogram corresponds to one shelf; adjusting, at the computer, margins or dimensions of objects shown in the planogram using physical object dimension data and adjusting positions of physical objects in the planogram to reflect a size of the physical shelves; detecting, at the computer, matches between physical objects shown in the planogram and physical objects shown in at least one image; aligning, at the computer, each row of the planogram individually to the determined positions of physical objects shown in the at least one image by, for each row in the planogram;
searching for detected objects, for each detected object, performing consensus voting on the object, determining a detection confidence value for the object based on the tolerance for inaccuracy in object position, and scaling the consensus vote according to the detection confidence value;outputting, from the computer system, shelf labeling information indicating shelf positions of the physical objects shown in the at least one image; determining, at the computer, differences between the determined physical object positions and the adjusted planogram positions to generate compliance information representing a level of compliance of the detected object positions with the planogram. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for determining positions of physical objects, the system comprising a processor, memory accessible by the processor, and computer program instructions stored in the memory and executable by the processor to perform:
-
capturing, with a photographic device, at least one image of a plurality of physical shelves containing physical objects, and transmitting the at least one image to the computer system; receiving, at the system, the at least one image; detecting, at the system, physical objects shown in the at least one image and positions of the physical objects shown in the at least one image; determining, at the system, estimates of movement of the detected physical objects from an initial placement of the physical objects; determining, at the system, a tolerance for inaccuracy in physical object position in the at least one image using physical object dimension data; receiving, at the computer system, at least one planogram representing desired positions of the physical objects on the shelves, wherein each row of the planogram corresponds to one shelf; adjusting, at the system, margins or dimensions of objects shown in the planogram using physical object dimension data and adjusting positions of physical objects in the planogram to reflect a size of the physical shelves; detecting, at the system, matches between physical objects shown in the planogram and physical objects shown in at least one image; aligning, at the system, each row of the planogram individually to the determined positions of physical objects shown in the at least one image by, for each row in the planogram;
searching for detected objects, for each detected object, performing consensus voting on the object, determining a detection confidence value for the object based on the tolerance for inaccuracy in object position, and scaling the consensus vote according to the detection confidence value;outputting, from the computer system, shelf labeling information indicating shelf positions of the physical objects shown in the at least one image; determining, at the system, differences between the determined physical object positions and the adjusted planogram positions to generate compliance information representing a level of compliance of the detected object positions with the planogram. - View Dependent Claims (12, 13, 14, 15)
-
Specification