Patent ID: 12243353

DETAILED DESCRIPTION

FIG.1is a diagram of a system100for image processing to track actions of individuals, according to an example embodiment. It is to be noted that the components are shown schematically in greatly simplified form, with only those components relevant to understanding of the embodiments being illustrated.

Furthermore, the various components (that are identified in theFIG.1) are illustrated and the arrangement of the components is presented for purposes of illustration only. It is to be noted that other arrangements with more or less components are possible without departing from the teachings of image processing to track actions of individuals, presented herein and below.

As used herein and below, the terms “customer,” “consumer,” “shopper,” and “user” may be used interchangeably and synonymously.

The system100includes a plurality of cameras110that capture time-stamped images of persons, store structures, and store items (herein after just “defined area images111”). The system100may include a user-operated device130and one or more transaction terminals140. The server120includes executable instructions that execute on one or more hardware processors of the server120from a non-transitory computer-readable storage medium as: an item tracker121, a person tracker122, an item-individual relationship manager123, and a transaction manager124.

It is to be noted that although not illustrated in theFIG.1, the server120also includes one or more hardware processors, volatile and non-volatile memory, non-volatile storage, and networking circuitry (such as wired ports and/or wireless transceivers).

It is also to be noted that there may be multiple servers, such that the different elements121-124may execute on a same server120or multiple different servers networked together.

When a customer enters a store or is outside the store in the parking lot, cameras110begin capturing the time-stamped images111in frames. In an embodiment, the cameras110capture images at a rate of 20 to 30 frames per second.

The cameras110are preconfigured to capture images111of the defined areas based on the field-of-view of the lenses of the cameras110. Some of the cameras110may capture images111representing portions of a different area that a different one of the cameras110captures images111for. That is, each image111can include pixel values that overlap multiple ones of the defined areas.

Initially, the cameras110are situated in locations throughout an enterprise (such as a retail store but can be other enterprises or even a consumer's home). Each camera lens configured to cover one or more predefined areas of the physical space of the enterprise.

Furthermore, metadata is assigned to each camera110to include a unique camera identifier, a location identifier (representing the physical location that the camera110is situated within the enterprise, and one or more area identifiers (representing the predefined areas that the lens of the camera110captures in the images111).

Each camera110provides time stamp and frame stamped images to the server120. These images can be streamed over a wired or wireless connection between the cameras110and the server120to a commonly accessible storage area on the server120that is accessible to the item tracker121, the person tracker122, and the relationship manager123. In an embodiment, some of the images when streamed from the cameras110can be buffered or cached in memory of cache and made accessible from the memory or cache to the item tracker121, the person tracker122, and the relationship manager123.

Each accessible image111includes its metadata (minimally including what was discussed above) with its image111on the server120.

The person tracker122processes the pixels of the images to identify a unique person (the actual identity of the person can be unknown but the person tracker identifies that a person is in the time-stamped images111). Attributes for the unique person are identified as metadata that permit the person tracker122to quickly and accurately identify the unique person as that person travels through the store and exits the store from the time-stamped images111. Attributes can include clothing type, color, height, width, shoes, extremity features, eye glasses (sun glasses), hats, eye color, etc. A bounding box is placed around the unique person with the generated metadata. As more images111are captured from the cameras110, the additional attributes can be added to the metadata, some existing attributes can be modified as modified metadata, some existing attributes initially believed to be associated with the person can be removed as deleted metadata. The person tracker122may also have its own machine-learning algorithm that is trained over time, such that the types of attributes represented in the metadata changes or the pixel information associated with particular metadata is changed. In this way, the accuracy of the person tracker122improves with time as does the processing throughput associated with producing the metadata representing the attributes from the images111.

In an embodiment, the person tracker122is configured with facial recognition to obtain an identity of a person being tracked from the images.

The person tracker122uses this box in cooperation with the item tracker121to determine when a person within the store has picked up an item or removed an item from possession of the person while in the store.

The item tracker121identifies from the images111items that are handled by the people being tracked by the person tracker122. That is, the item tracker121receives the images, crops off pixels that are known to not be associated with the item (such as the pixels associated with background objects or a person). Each item includes a unique identifier for tracking even though the actual item may be unknown or unrecognized from the images. That is, (and similar to the person tracker122), an item identity (such as the item's description, actual item barcode level of detail, etc.) is unknown in the time-stamped frames but is still assigned and associated with a unique tracking identifier in the frames/images111so as to distinguish between other unknown items of the store or other unknown items possessed by the customer. Again, attributes associated with the unknown item is carried as metadata from frame111to frame, so that the item tracker121can quickly identify and crop from later-in-time received images111the specific pixels or bounding box being tracked for the unknown item. Attributes can include, color, height, width, edges, bottle shape, item label or packaging characteristics, can shape, box shape, undefined shape, edges, etc.

In many cases, the item detected by the item tracker121may overlap with pixels assigned to a tracked person by the person tracker122in a same image frame. This permits an item identifier (known or unknown) to be assigned to a person identifier (known or unknown). However, subsequent image frames111may show that the person associated with the tracked person identifier is no longer in possession of the tracked item identifier for the item. This can occur for a variety of reasons, the person may have placed the item in a cart/bag, handing the item to a different tracked person, placed the item back on a shelf in the same spot that the item was obtained, placed the item back on the shelf in a different spot that the item was obtained, placed the item in a different cart/bag in possessing of a different tracked person, or handed the item to a different tracked person.

In other situations, the subsequent image frames111may not show a clear proximity between the pixels associated with the tracked person and the pixels associated tracked item.

Moreover, continually assigning and removing a tracked person's relationship to a tracked item from image frame111to image frame is processor intensive and time consuming, which could slow down responsiveness in a frictionless store implementation of the system100.

To address these situations and concerns, the item-individual relationship manager123receives as input a time-series of image frames111associated with the tracked person.

In an embodiment, the time-series of image frames111is a time series of 8 image frames.

The item-individual relationship manager123can provide two different processing approaches to determine a relationship (action) between the tracked person and a tracked item.

In the first approach, the item-individual relationship manager123receives as input the time-series image frames111for the tracked person. Each frame111is cropped to include the pixel images associated with the attributes of the tracked person, which may also include overlapping pixels that are associated with the tracked item. A numerical matrix is created to hold each of the cropped images111from the time-series. The cropped images are provided as input to a trained neural network. The trained neural network is trained (based on training images and the known output expected) such that it outputs a plurality of action/relationship indicators that include one of: item picked up, item put down, no action was taken on the item. Based on the output from the trained neural network, the transaction manager124is notified if needed, notification includes the item identifier for the item, the person identifier for the person, and an add indication or remove indication. The transaction manager124(as discussed more completely below) maintains a shopping cart for each tracked person identifier.

It is noted that in the first approach, the known location for the item within the store is not a variable that is needed by the item-individual relationship manager123for resolving the action/relationship between the person and the item.

In a second approach, the item-individual relationship manager123is configured with a plurality of rules (processing conditions and processing actions in response to the conditions). The rules are based on the velocity and direction of velocity movement detected in the images111for the item. Here, the metadata associated with the cameras110that provided the images include locations within the store. A planogram can be used to map the cameras location to specific items known to be in those locations. The pixels in the images111are evaluated from frame to frame to identify movement of the item away from its known location or towards its known location. The item-individual relationship manager123evaluates the images111in the time series to derive a velocity and a direction for movement of the item. Each frame is time stamped, such that the velocity is capable of being calculated and the distance can be determined through evaluation of the pixels relative to the shelf that housed the item. The rules indicates that if the velocity exceeds a threshold and is in a direction away from the shelf, then the item-individual relationship manager123determines the item was picked up by the person being tracked. Similarly, if the velocity exceeds the threshold and in a direction towards the shelf, then the item-individual relationship manager123determines the item was placed on the shelf by the person being tracked.

In an embodiment, if the second approach is used, the processing associated with the item-individual relationship manager123is subsumed into the item tracker121that tracks the items. In the second approach, the known location of the items being tracked is used, whereas in the first approach the known location of the items is unnecessary and does not have to be used for determining the action of the person being tracked with respect to the item being tracked.

Once the item-individual relationship manager123determines whether an item is picked up or put back (dispossessed by the person being tracked). The transaction manager124is notified with the person identifier and the item identifier. The transaction manager124maintains a shopping cart for each person (known identity or unknown identity). The transaction manager124is notified when items are to be added or removed from a particular person's shopping cart.

The transaction manager124can check out any given person in a variety of manners. When the person tracker122has identified a customer and the customer is pre-registered with the store and has a registered payment method, then the transaction manager can process that payment method when the person is identified by the person tracker122as approaching or leaving an egress point of the store. When the person tracker122was unable to obtain the identity of the person, the person can check out at a transaction terminal140; the transaction manager124interacts with an agent process on the transaction terminal140and provides the shopping cart items for payment when the person tracker122identifies the person as being present at the transaction terminal140. When the person (identified or unidentified) has a mobile application downloaded to the person's user device130, the transaction manager interacts with the mobile application to present the items in the shopping cart and obtain payment from the person. Other approaches for checkout may be used as well, where the transaction manager124and the person tracker122cooperate to obtain payment for known persons (identity known) and for unknown persons (identity unknown).

The item-individual relationship manager123provides a fine-grain analysis of a time-series of images111to determine actions that a person took with respect to an item. The actions can include possession of the item, dispossession of the item, or merely touched but did nothing with respect to the item. This allows for establishing the proper relationship between a person being tracked in the images111and an item being tracked in the images111. Images111are processed in a time-series as a set of time ordered (sequentially in time) images111so as to reduce the number of decisions made with respect to the relationship between the person and the item, which improves processor throughput and correspondingly response times in arriving at relationship decisions on the server120. Furthermore, the item-individual relationship manager123improves on the accuracy of any decision being made with respect to the relationship (action) taken by a tracked person with respect to a tracked item when processing the images111.

In an embodiment, the transaction terminal140is one or more of: A Point-Of-Sale (POS) terminal and a Self-Service Terminal (SST).

In an embodiment, the user-operated device130is one or more of: a phone, a tablet, a laptop, and a wearable processing device.

These embodiments and other embodiments are now discussed with reference to theFIGS.2-4.

FIG.2is a diagram of a method200for image processing to track actions of individuals, according to an example embodiment. The software module(s) that implements the method200is referred to as an “action resolver.” The action resolver is implemented as executable instructions programmed and residing within memory and/or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of a device. The processor(s) of the device that executes the action resolver are specifically configured and programmed to process the action resolver. The action resolver has access to one or more network connections during its processing. The network connections can be wired, wireless, or a combination of wired and wireless.

In an embodiment, the device that executes the action resolver is the server120. In an embodiment, the server120is a cloud-based server.

In an embodiment, the action resolver is all or some combination of: the item tracker121, the person tracker122, and the item-individual relationship manager123.

At210, the action resolver receives a time-series set of images. In an embodiment, the time-series set of images is received from the person tracker122and/or the image tracker121.

According to an embodiment, at211, the action resolver receives the time-series set of images as 8 sequentially taken image frames.

At220, the action resolver identifies from the time-series set of images an action taken by a tracked person with respect to a tracked item. In an embodiment, the tracked person is tracked by the person tracker122and the tracked item is tracked by the item tracker121.

In an embodiment of211and220, at221, the action resolver creates a numerical matrix to hold the time-series set of images and the action resolver crops the time-series set of images to pixels associated with the tracked person within the numerical matrix.

In an embodiment of221, at222, the action resolver provides a reference to the numerical matrix as input to a trained neural network. In an embodiment, the trained neural network is the neural network discussed above with theFIG.1. The trained neural network trained to provide output that identifies the action as a picked-up item, a put-down item, or touched item with no further action taken by the tracked person.

In an embodiment of222, at223, the action resolver receives the action identifier for the action as output from the trained neural network.

In an embodiment of211and220, at224, the action resolver calculates a velocity and a direction of movement of the tracked item from the time-series set of images.

In an embodiment of224, at225, the action resolver applies rules to the velocity and the direction to resolve the action identifier.

In an embodiment of225, at226, the action resolver applies the rules based on a known original location for the tracked item within the store, such as an original shelf location within the store for the tracked item.

At230, the action resolver provides a person identifier for the tracked person, an item identifier for the tracked item, and the action identifier for the action. In an embodiment, the noted information is provided to the transaction manager124for purposes of adding the item identifier to a virtual shopping cart maintained for the tracked person or for purposes or removing the item identifier from the virtual shopping cart.

In an embodiment, at231, the action resolver provides the action identifier as an item-picked-up indication when the tracked person is identified from the time-series set of images as taking possession of the tracked item from a shelf of a store.

In an embodiment, at232, the action resolver provides the action identifier as an item-placed-back indication when the tracked person is identified from the time-series set of images as having placed the tracked item back on a shelf of a store.

FIG.3is a diagram of another method300for image processing to track actions of individuals, according to an example embodiment. The software module(s) that implements the method300is referred to as a “person-item relationship manager.” The person-item relationship manager is implemented as executable instructions programmed and residing within memory and/or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of a device. The processors that execute the person-item relationship manager are specifically configured and programmed to process the person-item relationship manager. The person-item relationship manager has access to one or more network connections during its processing. The network connections can be wired, wireless, or a combination of wired and wireless.

In an embodiment, the device that executes the person-item relationship manager is the server120. In an embodiment, the server120is a cloud processing environment.

In an embodiment, the person-item relationship manager is all of or some combination of: the item tracker121, the person tracker122, the item-individual relationship manager123, and/or the method200.

The person-item relationship manager presents another and in some ways enhanced processing perspective of the method200discussed above.

At310, the person-item relationship manager tracks a person and an item represented in images.

In an embodiment, at311, the person-item relationship manager crops first pixels associated with the person and second pixels associated with the item to produce cropped person images and cropped item images from the images.

At320, the person-item relationship manager processes a time-ordered set of images to determine a relationship between the person and the item depicted in the time-ordered set of images.

In an embodiment of311and320, at321, the person-item relationship manager provides the cropped person images and the cropped item images to a trained neural network and receives as output from the trained neural network a relationship identifier for the relationship. In an embodiment, the trained neural network is the trained neural network discussed above with theFIG.1.

In an embodiment, at322, the person-item relationship manager applies rules to determine the relationship based on a computed direction of movement from the item in the time-ordered set of images.

In an embodiment of322, at323, the person-item relationship manager uses a known shelf location from the item within a store and the direction of movement from the item as at least one of the rules.

In an embodiment, at324, the person-item relationship manager determine the relationship as an indication that the item was picked off a shelf within a store by the person.

In an embodiment, at325, the person-item relationship manager determines the relationship as an indication that the item was placed back on a shelf within a store by the person.

At330, the person-item relationship manager determines whether to add an item identifier for the item or remove the item identifier from a virtual shopping cart maintained for a person identifier of the person based on the relationship.

In an embodiment, at331, the person-item relationship manager provides the item identifier, the person identifier and an add instruction or a remove instruction to a transaction manager that manages the virtual shopping card for a transaction associated with the person within a frictionless store.

FIG.4is a diagram of a system400for image processing to track actions of individuals, according to an example embodiment. The system400includes a variety of hardware components and software components. The software components of the system400are programmed and reside within memory and/or a non-transitory computer-readable medium and execute on one or more processors of the system400. The system400communicates over one or more networks, which can be wired, wireless, or a combination of wired and wireless.

In an embodiment, the system400implements, inter alia, the processing described above with theFIGS.1-3with respect to the server120and the cameras110.

In an embodiment, system400is the cameras110and the server120.

The system400includes a plurality of cameras401and a server402. The server402includes at least one hardware processor403and configured to execute executable instructions from a non-transitory computer-readable storage medium as an action manager404.

The action manager404when executed from the non-transitory computer-readable storage medium on the processor403is configured to: track an individual and an item identified in images; determine an action taken by the individual with respect to the item from the images; add an item identifier for the item to a shopping cart assigned to a person identifier for the person when the action indicates that the person picked the item off a shelf of a store; and remove the item identifier for the item when present in the shopping cart when the action indicates that the person placed the item back on the shelf of the store.

In an embodiment, the action manager404is all of or some combination of: the item tracker121, the person tracker122, the item-individual relationship manager123, the method200, and/or the method300.

In an embodiment, the action manager404is further configured to determine the action by one of: 1) provide a time-ordered set of the images to a trained neural network and receive as output an action identifier for the action and 2) determine the action identifier for the action based on a calculated velocity and direction of movement of the item within the time-ordered set of images relative to an original shelf location from the item within the store.

In an embodiment, the systems100and400and the methods200and300are deployed as a portion of a frictionless store implementation where customers (individuals) shop through computer-vision and image processing and items and individuals are associated with one another with a shopping cart maintained for each individual. Each individual can checkout and pay for his/her shopping cart items using any of the above-referenced techniques discussed with theFIG.1.

In an embodiment, the systems100and400and the methods200and300are deployed as a portion of a security implementation that monitors individuals and objects within a predefined space utilizing computer-vision and image processing as discussed herein and above.

It should be appreciated that where software is described in a particular form (such as a component or module) this is merely to aid understanding and is not intended to limit how software that implements those functions may be architected or structured. For example, modules are illustrated as separate modules, but may be implemented as homogenous code, as individual components, some, but not all of these modules may be combined, or the functions may be implemented in software structured in any other convenient manner.

Furthermore, although the software modules are illustrated as executing on one piece of hardware, the software may be distributed over multiple processors or in any other convenient manner.

The above description is illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of embodiments should therefore be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

In the foregoing description of the embodiments, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting that the claimed embodiments have more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Description of the Embodiments, with each claim standing on its own as a separate exemplary embodiment.