The present invention relates to imaging systems, and more specifically relates to a method and system for determining a restocking state of a product (e.g., in a retail store).
It is important to know when a product is no longer available on a shelf in a retail store. If there is no product available, sales and customer satisfaction will decrease.
Retail store personnel will typically walk the aisles of a retail store and dispatch stock clerks to replenish items deemed to be in low supply on the shelves of the store. This is a very labor intensive process, which requires continued vigilance on the part of store personnel.
An alternative to the above-described process involves the counting of each item on a shelf and comparing this number to sales receipts. If a shelf holds, for example, 50 boxes of cereal of brand XYZ, and 42 boxes have been sold over the last 3 hours, then an employee should be sent to restock the appropriate shelf. Unfortunately point-of-sale (POS) cash-register data may not accurately reflect shelf state. For instance, customers often pick up items and continue wandering the store for an extended period of time. In this case, a shelf may become empty before it can be detected using sales receipts. Further, over longer time spans, sales may not accurately reflect shelf emptiness due to “shrinkage” (e.g., items are sometimes picked up then deposited elsewhere in the store without purchasing, or are stolen).
Accordingly, there is a need for a solution that addresses these and other deficiencies of the related art.
The present invention is directed to a method and system for determining a restocking state of a product.
A first aspect is directed to a method for determining a restocking state of a product, comprising: acquiring an image of a current state of a product at an assigned shelf location; determining a remaining number of the product at the assigned shelf location based on the acquired image; comparing the remaining number of the product at the assigned shelf location to a predetermined restocking level for the product; and generating a restocking alert if the remaining number of the product at the assigned shelf location is less than the predetermined restocking level for the product.
A second aspect is directed to a system for determining a restocking state of a product, comprising: a system for acquiring an image of a current state of a product at an assigned shelf location; a system for determining a remaining number of the product at the assigned shelf location based on the acquired image; a system for comparing the remaining number of the product at the assigned shelf location to a predetermined restocking level for the product; and a system for generating a restocking alert if the remaining number of the product at the assigned shelf location is less than the predetermined restocking level for the product.
A third aspect is directed to a program product stored on a computer readable medium, which when executed, determines a restocking state of a product, the computer readable medium comprising program code for: acquiring an image of a current state of a product at an assigned shelf location; determining a remaining number of the product at the assigned shelf location based on the acquired image; comparing the remaining number of the product at the assigned shelf location to a predetermined restocking level for the product; and generating a restocking alert if the remaining number of the product at the assigned shelf location is less than the predetermined restocking level for the product.
A fourth aspect is directed to a retail store, comprising: a plurality of different products, wherein each of the plurality of different products has an assigned shelf location within the retail store; and a system for determining a restocking state of each of the plurality of different products, the system for determining comprising: a system for acquiring an image of a current state of the product at its assigned shelf location; a system for determining a remaining number of the product at the assigned shelf location based on the acquired image; a system for comparing the remaining number of the product at the assigned shelf location to a predetermined restocking level for the product; and a system for generating a restocking alert if the remaining number of the product at the assigned shelf location is less than the predetermined restocking level for the product
A fifth aspect is directed to a method for deploying an application for determining a restocking state of a product, comprising: providing a computer infrastructure being operable to: acquire an image of a current state of a product at an assigned shelf location; determine a remaining number of the product at the assigned shelf location based on the acquired image; compare the remaining number of the product at the assigned shelf location to a predetermined restocking level for the product; and generate a restocking alert if the remaining number of the product at the assigned shelf location is less than the predetermined restocking level for the product.
The illustrative aspects of the present invention are designed to solve the problems herein described and other problems not discussed.
These and other features of the present invention will be more readily understood from the following detailed description taken in conjunction with the accompanying drawings.
The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
As detailed above, the present invention is directed to a method and system for determining a restocking state of a product.
As illustrated in
The PTZ camera 12 monitors the restocking state of a predetermined number of different products 18 on the shelves 20 of the retail store 14. Each product 18 is assigned a different shelf location 22. For example, in
An example of the above-described image capture/analysis process is depicted in
The image capture and analysis system 24 can be configured to provide a robust analysis of the acquired images 26. For example, the image capture and analysis system 24 can be configured to disregard acquired images 26 in which customers, shopping carts, boxes, etc., are obscuring a shelf, and to acquire additional images as necessary. Further, the image capture and analysis system 24 can be configured to be tolerant to slight image mis-registrations and lighting changes.
The image capture and analysis system 24 periodically monitors the amount of each product 18 that is present at its assigned shelf location 22, and generates current stock level data for the product 18. A graph 40 of the current stock level data 42 for a product 18 is depicted in
The image capture and analysis system 24 can be provided with a predefined product map 50 detailing the assigned shelf location 22 of each product 18 in the retail store 14. The image capture and analysis system 24 can use the product map 50 to generate a restocking report 52 detailing those products 18 that need to be restocked at any given time. In general, the image capture and analysis system 24 can generate: restocking alerts 46 in real time; restocking reports 52 (e.g., end of day restocking reports); longer term models of product 18 removal (e.g., what is selling well), and/or the like.
The computer system 102 is shown including a processing component 118 (e.g., one or more processors), a storage component 120 (e.g., a storage hierarchy), an input/output (I/O) component 122 (e.g., one or more I/O interfaces and/or devices), and a communications pathway 124. In general, the processing component 118 executes program code, such as the image capture and analysis program 104, which are at least partially stored in storage component 120. While executing program code, the processing component 118 can read and/or write data to/from the storage component 120 and/or the I/O component 122. The communication pathway 124 provides a communications link between each of the components in computer system 102. The I/O component 122 can comprise one or more human I/O devices, which enable a human user 126 to interact with the computer system 102, and/or one or more communications devices to enable other computer system(s) to communicate with the computer system 102 using any type of communications link.
The computer system 102 can comprise one or more general purpose computing articles of manufacture (e.g., computing devices) capable of executing program code installed thereon. As used herein, it is understood that “program code” means any collection of instructions, in any language, code or notation, that cause a computing device having an information processing capability to perform a particular action either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression. To this extent, the image capture and analysis program 104 can be embodied as any combination of system software and/or application software. Further, the image capture and analysis program 104 can be implemented using a set of modules 128. In this case, a module 128 can comprise a component that performs a set of actions used by the image capture and analysis program 104. Further, it is understood that some of the actions discussed herein may not be implemented or additional actions may be implemented by computer system 102.
When the computer system 102 comprises multiple computing devices, each computing device can have only a portion of the image capture and analysis program 104 installed thereon (e.g., one or more modules 128). However, it is understood that the computer system 102 is only representative of various possible equivalent computer systems that may implement the process described herein. To this extent, in other embodiments, the actions implemented by the computer system 102 can be at least partially implemented by one or more computing devices that include any combination of general and/or specific purpose hardware and/or program code. In each embodiment, the program code and hardware can be provided using standard programming and engineering techniques, respectively.
When the computer system 102 includes multiple computing devices, the computing devices can communicate over any type of communications link. Further, while performing the process described herein, the computer system 102 can communicate with one or more other computer systems using any type of communications link. In either case, the communications link can comprise any combination of various types of wired and/or wireless links; comprise any combination of one or more types of networks; and/or utilize any combination of various types of transmission techniques and protocols.
It is understood that each of the process flows shown and described herein is only illustrative. To this extent, numerous variations of these process flows are possible, and are included within the scope of this disclosure. Illustrative variations include performing one or more processes in parallel and/or a different order, performing additional processes, not performing some processes, and/or the like. To this extent, the computer system 102 and the image capture and analysis program 104 can utilize multiple tasks/threads/processes to perform the actions of the processes described herein.
It is further understood that aspects of the invention further provide various alternative embodiments. For example, in one embodiment, the invention provides a computer program stored on at least one computer-readable medium, which when executed, enables a computer system to perform the processes described above. To this extent, the computer-readable medium can include program code, such as the image capture and analysis program 104, which implement some or all of the process described herein. It is understood that the term “computer-readable medium” comprises one or more of any type of tangible medium of expression capable of embodying a copy of the program code (e.g., a physical embodiment). For example, the computer-readable medium can comprise: one or more portable storage articles of manufacture; one or more memory/storage components of a computing device; a modulated data signal having one or more of its characteristics set and/or changed in such a manner as to encode information in the signal; paper; and/or the like.
In another embodiment, a computer system, such as the computer system 102, can be obtained (e.g., provided, created, maintained, made available, etc.) and one or more programs/systems for performing the process described herein can be obtained (e.g., provided, created, purchased, used, modified, etc.) and deployed to the computer system. To this extent, the deployment can comprise one or more of: (1) installing program code on a computing device from a computer-readable medium; (2) adding one or more computing devices to the computer system; and (3) incorporating and/or modifying the computer system to enable it to perform the process described herein.
Aspects of the invention can be also implemented as part of a business method that performs the process described herein on a subscription, advertising, and/or fee basis. That is, a service provider could offer to provide some/all of the components/processes needed to determine a restocking state of a product, as described herein. In this case, the service provider can manage (e.g., create, maintain, support, etc.) some or all of the environment 100, such as the computer system 102 and/or the image capture and analysis program 104, that performs the process described herein for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement, receive payment from the sale of advertising to one or more third parties, and/or the like.
The foregoing description of the preferred embodiments of this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible.