U.S. patent number 11,055,874 [Application Number 16/174,805] was granted by the patent office on 2021-07-06 for image processing for tracking actions of individuals.
This patent grant is currently assigned to NCR Corporation. The grantee listed for this patent is NCR Corporation. Invention is credited to Adam Justin Lieberman, Brent Vance Zucker.
United States Patent |
11,055,874 |
Zucker , et al. |
July 6, 2021 |
Image processing for tracking actions of individuals
Abstract
Cameras capture time-stamped images of predefined areas.
Individuals and item are tracked in the images. A time-series set
of images are processed to determine actions taken by the
individuals with respect to the items or to determine relationships
between the individuals to the items.
Inventors: |
Zucker; Brent Vance (Roswell,
GA), Lieberman; Adam Justin (Suwanee, GA) |
Applicant: |
Name |
City |
State |
Country |
Type |
NCR Corporation |
Atlanta |
GA |
US |
|
|
Assignee: |
NCR Corporation (Atlanta,
GA)
|
Family
ID: |
1000005661032 |
Appl.
No.: |
16/174,805 |
Filed: |
October 30, 2018 |
Prior Publication Data
|
|
|
|
Document
Identifier |
Publication Date |
|
US 20200134861 A1 |
Apr 30, 2020 |
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06T
7/74 (20170101); G06T 7/20 (20130101); G06T
2207/30196 (20130101); G06T 2207/20084 (20130101) |
Current International
Class: |
G06T
7/73 (20170101); G06T 7/20 (20170101) |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
102457680 |
|
Apr 2015 |
|
CN |
|
3343443 |
|
Jul 2018 |
|
EP |
|
2017502589 |
|
Jan 2017 |
|
JP |
|
Other References
EP Search Report. cited by applicant.
|
Primary Examiner: Shedrick; Charles T
Attorney, Agent or Firm: Schwegman, Lundberg &
Woessner
Claims
The invention claimed is:
1. A method, comprising: receiving a time-series set of images;
identifying from the time-series set of images an action taken by a
tracked person with respect to a tracked item, wherein identifying
further includes maintaining person metadata for the tracked person
and item metadata for the tracked item that are updated as
individual images are sequentially processed in the time-series set
of images, maintaining a person bounding box for the tracked person
using the person metadata and person attributes derived from the
individual images, and maintaining an item bounding box for the
tracked item using the item metadata and item attributes derived
from the individual images, wherein maintaining further includes
identifying the tracked item by cropping pixels from each image to
include just item pixels of the item by removing background pixels
known to be associated with a background and removing person pixels
known to be associated with individuals leaving just the item
pixels in the item bounding box; and providing a person identifier
for the tracked person, an item identifier for the tracked item,
and an action identifier for the action, wherein providing further
includes resolving the person identifier and the item identifier
when the person metadata and the item metadata provides sufficient
information to assign the person identifier and to assign the item
identifier as the individual images are sequentially processed in
the time-series set of images and the person metadata and the item
metadata is updated.
2. The method of claim 1, wherein receiving further includes
receiving the time-series set of images as 8 sequentially taken
image frames.
3. The method of claim 2, wherein identifying further creating a
numerical matrix to hold the time-series set of images and cropping
the time-series set of images to person pixels associated with the
tracked person within the numerical matrix.
4. The method of claim 3, wherein cropping further includes
providing a reference to the numerical matrix as input to a trained
neural network.
5. The method of claim 4, wherein providing further includes
receiving the action identifier as output provided from the trained
neural network.
6. The method of claim 2, wherein identifying further includes
calculating a velocity and a direction of movement of the tracked
item from the time-series set of images.
7. The method of claim 6, wherein calculating further includes
applying rules to the velocity and the direction to resolve the
action identifier.
8. The method of claim 7, wherein applying further includes
applying the rules based on a known original location for the
tracked item within a store.
9. The method of claim 1, wherein providing further includes
providing 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.
10. The method of claim 1, wherein providing includes providing 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.
11. A method, comprising: tracking a person and an item
representing in images by maintaining person metadata for the
person and item metadata for the item that are updated as the
images are sequentially processed, maintaining a person bounding
box for the person using the person metadata and person attributes
derived from the images, and maintaining an item bounding box for
the item using the item metadata and item attributes derived from
the images, wherein maintaining further includes identifying the
item by cropping pixels from each image to include just item pixels
of the item by removing background pixels known to be associated
with a background and removing person pixels known to be associated
with individuals leaving just the item pixels in the item bounding
box cropping; processing a time-ordered set of the images to
determine a relationship between the person and the item depicted
in the time-ordered set based on the person bounding box and the
item bounding box tracked within the time-ordered set of the
images; and determining whether to add an item identifier for the
item or remove the item identifier from a shopping cart maintained
for a person identifier of the person based on the relationship and
by resolving the person identifier and the item identifier when the
person metadata and the item metadata provides sufficient
information to assign the person identifier and to assign the item
identifier as the images are sequentially processed in the
time-series set of images and the person metadata and the item
metadata are being updated.
12. The method of claim 11, wherein tracking further includes
cropping the item pixels associated with the item and the
background pixels associated with the background producing cropped
person images and cropped item images from the images.
13. The method of claim 12, wherein processing further includes
providing the cropped person images and the cropped item images to
a trained neural network as input and receiving as output from the
trained neural network a relationship identifier for the
relationship.
14. The method of claim 11, wherein processing further includes
applying rules to determine the relationship based on computing a
direction of movement for the item in the time-ordered set of
images.
15. The method of claim 14, wherein applying further includes using
a known shelf location for the item within a store and the
direction of movement as at least one of the rules.
16. The method of claim 11, wherein processing further includes
determining the relationship as an indication that the item was
picked off a shelf within a store by the person.
17. The method of claim 11, wherein processing further includes
determining the relationship as an indication that the item was
placed back on a shelf within a store by the person.
18. The method of claim 11, wherein determining further includes
providing the item identifier, the person identifier, and an add
instruction or remove instruction to a transaction manager that
manages the shopping cart for a transaction associated with the
person within a store.
19. A system, comprising: cameras configured to capture images
within a store; a server that includes a processor; the processor
configured to execute executable instructions from a non-transitory
computer-readable storage medium as an action manager; the action
manager when executed on the processor configured to: track an
individual and an item identified in images by maintaining person
metadata for the individual and item metadata for the item that are
updated as the images are sequentially processed, maintaining a
person bounding box for the individual using the person metadata
and person attributes derived from the images, and maintaining an
item bounding box for the item using the item metadata and item
attributes derived from the images, wherein maintaining the item
bounding box further includes identifying the item by cropping
pixels from each image to include just item pixels of the item by
removing background pixels known to be associated with a background
and removing person pixels known to be associated with individuals
leaving just the item pixels in the item bounding box; determine an
action taken by the individual with respect to the item from the
images based on the person bounding box and the item bounding box
tracked within the 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 by resolving the person identifier and the item
identifier when the person metadata and the item metadata provides
sufficient information to assign the person identifier and to
assign the item identifier as the images are sequentially processed
in the images and the person metadata and the item metadata are
being updated; 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.
20. The system of claim 19, wherein the action manager is 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.
Description
BACKGROUND
Trying to identify individuals and objects from image frames are
processor intensive, time consuming, and difficult tasks to say the
least. However, attempting to identify actions that individuals
take with respect to the objects within the image frames are even
more difficult tasks.
Identifying actions taken from images and/or video can provide a
wide range of solutions in the industry from frictionless stores to
security. Yet, when an individual interacts with an object, the end
result of the interaction can be difficult to discern and can
change substantially from frame to frame. For example, an
individual may pick an item off a shelf, hold the item for a some
period of time, place the same item back on the same shelf or a
different shelf, hand the item to another individual, and/or place
the item in a shopping cart or bag of the individual or a different
individual.
Existing image processing relevant to individual and item
recognition is too slow (from a processing standpoint) to have any
real-time value, and such processing is unable to properly discern
important actions taken by individuals within the images/video.
As a result, determining relationships between individuals and
objects for real-time image/video analysis have remained elusive
problems the industry.
SUMMARY
In various embodiments, methods and a system for image processing
to track actions of individuals are presented.
According to an embodiment, a method for image processing to track
actions of individuals is presented. A time-series set of images is
received and an action taken by a tracked person with respect to a
tracked item is identified from the time-series set of images. A
person identifier for the tracked person, an item identifier for
the tracked item, and an action identifier for the action is
provided.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of a system for image processing to track
actions of individuals, according to an example embodiment.
FIG. 2 is a diagram of a method for image processing to track
actions of individuals, according to an example embodiment.
FIG. 3 is a diagram of another method for image processing to track
actions of individuals, according to an example embodiment.
FIG. 4 is a diagram of a system for image processing to track
actions of individuals, according to an example embodiment.
DETAILED DESCRIPTION
FIG. 1 is a diagram of a system 100 for 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 the
FIG. 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 system 100 includes a plurality of cameras 110 that capture
time-stamped images of persons, store structures, and store items
(herein after just "defined area images 111"). The system 100 may
include a user-operated device 130 and one or more transaction
terminals 140. The server 120 includes executable instructions that
execute on one or more hardware processors of the server 120 from a
non-transitory computer-readable storage medium as: an item tracker
121, a person tracker 122, an item-individual relationship manager
123, and a transaction manager 124.
It is to be noted that although not illustrated in the FIG. 1, the
server 120 also 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 elements 121-124 may execute on a same server
120 or multiple different servers networked together.
When a customer enters a store or is outside the store in the
parking lot, cameras 110 begin capturing the time-stamped images
111 in frames. In an embodiment, the cameras 110 capture images at
a rate of 20 to 30 frames per second.
The cameras 110 are preconfigured to capture images 111 of the
defined areas based on the field-of-view of the lenses of the
cameras 110. Some of the cameras 110 may capture images 111
representing portions of a different area that a different one of
the cameras 110 captures images 111 for. That is, each image 111
can include pixel values that overlap multiple ones of the defined
areas.
Initially, the cameras 110 are 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 camera 110 to include a
unique camera identifier, a location identifier (representing the
physical location that the camera 110 is situated within the
enterprise, and one or more area identifiers (representing the
predefined areas that the lens of the camera 110 captures in the
images 111).
Each camera 110 provides time stamp and frame stamped images to the
server 120. These images can be streamed over a wired or wireless
connection between the cameras 110 and the server 120 to a commonly
accessible storage area on the server 120 that is accessible to the
item tracker 121, the person tracker 122, and the relationship
manager 123. In an embodiment, some of the images when streamed
from the cameras 110 can be buffered or cached in memory of cache
and made accessible from the memory or cache to the item tracker
121, the person tracker 122, and the relationship manager 123.
Each accessible image 111 includes its metadata (minimally
including what was discussed above) with its image 111 on the
server 120.
The person tracker 122 processes 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 images 111). Attributes for the unique person are
identified as metadata that permit the person tracker 122 to
quickly and accurately identify the unique person as that person
travels through the store and exits the store from the time-stamped
images 111. 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 images 111 are captured from
the cameras 110, 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 tracker 122 may 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 tracker 122 improves with time as does the
processing throughput associated with producing the metadata
representing the attributes from the images 111.
In an embodiment, the person tracker 122 is configured with facial
recognition to obtain an identity of a person being tracked from
the images.
The person tracker 122 uses this box in cooperation with the item
tracker 121 to 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 tracker 121 identifies from the images 111 items that are
handled by the people being tracked by the person tracker 122. That
is, the item tracker 121 receives 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 tracker 122), 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/images 111 so 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 frame
111 to frame, so that the item tracker 121 can quickly identify and
crop from later-in-time received images 111 the 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 tracker 121 may
overlap with pixels assigned to a tracked person by the person
tracker 122 in 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 frames 111 may 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 frames 111 may 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 frame 111 to image frame
is processor intensive and time consuming, which could slow down
responsiveness in a frictionless store implementation of the system
100.
To address these situations and concerns, the item-individual
relationship manager 123 receives as input a time-series of image
frames 111 associated with the tracked person.
In an embodiment, the time-series of image frames 111 is a time
series of 8 image frames.
The item-individual relationship manager 123 can 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 manager 123
receives as input the time-series image frames 111 for the tracked
person. Each frame 111 is 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 images 111 from 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 manager 124 is 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 manager 124 (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 manager 123 for resolving the
action/relationship between the person and the item.
In a second approach, the item-individual relationship manager 123
is 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 images 111 for the item. Here, the metadata associated with
the cameras 110 that 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
images 111 are 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 manager 123 evaluates
the images 111 in 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 manager 123
determines 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 manager
123 determines 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 manager 123 is
subsumed into the item tracker 121 that 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 manager 123 determines
whether an item is picked up or put back (dispossessed by the
person being tracked). The transaction manager 124 is notified with
the person identifier and the item identifier. The transaction
manager 124 maintains a shopping cart for each person (known
identity or unknown identity). The transaction manager 124 is
notified when items are to be added or removed from a particular
person's shopping cart.
The transaction manager 124 can check out any given person in a
variety of manners. When the person tracker 122 has 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 tracker 122 as approaching or leaving an egress point of the
store. When the person tracker 122 was unable to obtain the
identity of the person, the person can check out at a transaction
terminal 140; the transaction manager 124 interacts with an agent
process on the transaction terminal 140 and provides the shopping
cart items for payment when the person tracker 122 identifies the
person as being present at the transaction terminal 140. When the
person (identified or unidentified) has a mobile application
downloaded to the person's user device 130, 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 manager 124
and the person tracker 122 cooperate to obtain payment for known
persons (identity known) and for unknown persons (identity
unknown).
The item-individual relationship manager 123 provides a fine-grain
analysis of a time-series of images 111 to 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 images 111 and an item being tracked in the images 111.
Images 111 are processed in a time-series as a set of time ordered
(sequentially in time) images 111 so 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 server 120. Furthermore, the item-individual
relationship manager 123 improves 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
images 111.
In an embodiment, the transaction terminal 140 is one or more of: A
Point-Of-Sale (POS) terminal and a Self-Service Terminal (SST).
In an embodiment, the user-operated device 130 is 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 the FIGS. 2-4.
FIG. 2 is a diagram of a method 200 for image processing to track
actions of individuals, according to an example embodiment. The
software module(s) that implements the method 200 is 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 server 120. In an embodiment, the server 120 is a cloud-based
server.
In an embodiment, the action resolver is all or some combination
of: the item tracker 121, the person tracker 122, and the
item-individual relationship manager 123.
At 210, the action resolver receives a time-series set of images.
In an embodiment, the time-series set of images is received from
the person tracker 122 and/or the image tracker 121.
According to an embodiment, at 211, the action resolver receives
the time-series set of images as 8 sequentially taken image
frames.
At 220, 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 tracker 122 and the tracked item is tracked by the item
tracker 121.
In an embodiment of 211 and 220, at 221, 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 of 221, at 222, 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 the FIG. 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 of 222, at 223, the action resolver receives the
action identifier for the action as output from the trained neural
network.
In an embodiment of 211 and 220, at 224, 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 of 224, at 225, the action resolver applies rules
to the velocity and the direction to resolve the action
identifier.
In an embodiment of 225, at 226, 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.
At 230, 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 manager 124 for 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, at 231, 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, at 232, 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. 3 is a diagram of another method 300 for image processing to
track actions of individuals, according to an example embodiment.
The software module(s) that implements the method 300 is 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 server 120. In an embodiment, the
server 120 is a cloud processing environment.
In an embodiment, the person-item relationship manager is all of or
some combination of: the item tracker 121, the person tracker 122,
the item-individual relationship manager 123, and/or the method
200.
The person-item relationship manager presents another and in some
ways enhanced processing perspective of the method 200 discussed
above.
At 310, the person-item relationship manager tracks a person and an
item represented in images.
In an embodiment, at 311, 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.
At 320, 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 of 311 and 320, at 321, 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 the FIG. 1.
In an embodiment, at 322, 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 of 322, at 323, 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, at 324, 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, at 325, 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.
At 330, 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, at 331, 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. 4 is a diagram of a system 400 for image processing to track
actions of individuals, according to an example embodiment. The
system 400 includes a variety of hardware components and software
components. The software components of the system 400 are
programmed and reside within memory and/or a non-transitory
computer-readable medium and execute on one or more processors of
the system 400. The system 400 communicates over one or more
networks, which can be wired, wireless, or a combination of wired
and wireless.
In an embodiment, the system 400 implements, inter alia, the
processing described above with the FIGS. 1-3 with respect to the
server 120 and the cameras 110.
In an embodiment, system 400 is the cameras 110 and the server
120.
The system 400 includes a plurality of cameras 401 and a server
402. The server 402 includes at least one hardware processor 403
and configured to execute executable instructions from a
non-transitory computer-readable storage medium as an action
manager 404.
The action manager 404 when executed from the non-transitory
computer-readable storage medium on the processor 403 is 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 manager 404 is all of or some
combination of: the item tracker 121, the person tracker 122, the
item-individual relationship manager 123, the method 200, and/or
the method 300.
In an embodiment, the action manager 404 is 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 systems 100 and 400 and the methods 200 and
300 are 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 the FIG. 1.
In an embodiment, the systems 100 and 400 and the methods 200 and
300 are 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.
* * * * *