Content item retrieval and display across a distributed computing network
A sensor-based system for content retrieval and display in quick service restaurants uses object signatures and edge computing to provide personalized content without apps, enhancing throughput and engagement.
Patent Information
- Application Number
- PCT/IB2025/055352
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-23
- Filing Date
- 2025-05-23
- Publication Date
- 2025-11-27
AI Technical Summary
Existing mechanisms for retrieving and displaying content items in quick service restaurants often require mobile applications or loyalty programs, excluding users without these and introducing friction, leading to delays and reduced throughput.
A system that uses sensor data to generate object signatures and classification elements for content retrieval and display, leveraging edge computing devices for real-time processing and synchronization across a distributed network, enabling personalized content delivery without app reliance.
Facilitates rapid, personalized content delivery, increasing throughput by minimizing delays and engaging customers without loyalty programs, while maintaining privacy through anonymization.
Smart Images

Figure IB2025055352_27112025_PF_FP_ABST
Abstract
Description
[0001]CONTENT ITEM RETRIEVAL AND DISPLAY ACROSS A DISTRIBUTED COMPUTING NETWORK CROSS-REFERENCE(S) TO RELATED APPLICATIONS This application claims priority from United States provisional patent application number 63 / 651,176 filed on 23 May 2024, which is incorporated by reference herein. FIELD This disclosure relates to content item retrieval and display across a distributed computing network. BACKGROUND There are situations where content items need to be retrieved and displayed to a particular end- user. For example, in the context of a quick service restaurant where an end-user physically visits a physical location, it may be necessary to retrieve and display content items specific to that end- user. The time in which it takes to retrieve and display appropriate content items, and the relevance of those content items to the end-user, are critical in maintaining or increasing throughput of the quick service restaurant. For example, delays in retrieving the content items may compound and reduce the number of end-users that can be served via the quick service restaurant in a day. Further, if the content items are not relevant to the end-user, the end user may spend time searching for other content items, also reducing the number of users that can be served via the quick service restaurant in a day. Existing mechanism to retrieve and display content items to end-users in such contexts typically require the use of an application executing on a personal mobile communication device of the end-user and / or the presentation by the end-user of some form of loyalty credential. However, these techniques exclude end-users who cannot or do not want the application to execute on their device and / or those who do not want to or have not yet enrolled in a loyalty program. They may also introduce friction into the end-user experience and / or time delays which reduce the number of end-users that can be served via the quick service restaurant in day. There are accordingly various technical problems associated with existing infrastructure and thus there remains scope for improvement. The preceding discussion of the background is intended only to facilitate an understanding of the present disclosure. It should be appreciated that the discussion is not an acknowledgment or admission that any of the material referred to was part of the common general knowledge in the art as at the priority date of the application. SUMMARY In accordance with an aspect of the disclosure there is provided a computer-implemented method which comprises, in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processing the identification data elements to generate an object signature which uniquely identifies the object; extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; using one or both of the object signature and classification data element to retrieve a content item; and, outputting the content item to an end- user via a display located at the first physical location within the environment. The object signature may be associated with an object-specific data set including a data value for each of a plurality of content items, wherein the data value indicates whether or not to retrieve the content item associated therewith. The classification data element may be associated with a class-specific data set including a data value for each of a plurality of content items, wherein the data value indicates wither or not to retrieve the content item associated therewith. The method may include: checking that the object-specific data set exists for the object signature; and, in response to determining that the object-specific data set does not exist for the object signature, initializing the object-specific data set for the object signature. The method may include updating the object-specific data set based on end-user interaction with a content item, which may include updating a data value associated with the content item based on the end-user interaction therewith. Using one or both of the object signature and classification data element to retrieve a content item may include: using the object-specific data set associated with the object signature when the object-specific data set exists for the object signature; and, using the class-specific data set associated with the classification data element when the object-specific data set does not exist for the object signature. Using one or both of the object signature and class-specific data set to retrieve a content item may include: using the object-specific data set associated with the object signature and the class- specific data set associated with the classification data element when the object-specific data set exists for the object signature. Extracting the identification data elements, processing the identification data elements to generate the object signature and extracting the classification data element may be conducted by a first computing device physically located at the first physical location. The first computing device may include a local storage in which an object signature data set is stored. The method may include: in response to generating the object signature, checking if the object signature is stored in the object signature data set; and, in response to determining that the object signature is not stored in the object signature data set, storing the object signature in object signature data set. The method may include synchronizing the object signature data set with object signature data sets of other computing devices based on a synchronization schedule. The synchronization schedule may define a subset of computing devices within a network of computing devices with which the first computing device synchronizes the object-specific data set. The subset of computing devices may be determined based on physical locations of the computing devices relative to each other. The object signature data set may store the object signature and optionally the object-specific data set. The object signature data set may store the object signature and optionally a compressed version of the object-specific data set. In accordance with a further aspect of the invention there is provided a system comprising: a non- transitory computer-readable storage medium; and one or more processors coupled to the non- transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium comprises program instructions that, when executed on the one or more processors, cause the system to perform operations comprising: in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processing the identification data elements to generate an object signature which uniquely identifies the object; extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; using one or both of the object signature and classification data element to retrieve a content item; and, outputting the content item to an end-user via a display located at the first physical location within the environment. In accordance with a further aspect of the invention there is provided a system comprising: a processor and a memory configured to provide computer program instructions to the processor to execute functions of components; an identification data element extracting and processing component for in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processing the identification data elements to generate an object signature which uniquely identifies the object; a classification data element extracting component for extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; a content item retrieval component for using one or both of the object signature and classification data element to retrieve a content item; and, a content item outputting component for outputting the content item to an end-user via a display located at the first physical location within the environment. In accordance with a further aspect of the invention there is provided computer program product comprising a computer-readable medium having stored computer-readable program code for performing the steps of: in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processing the identification data elements to generate an object signature which uniquely identifies the object; extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; using one or both of the object signature and classification data element to retrieve a content item; and, outputting the content item to an end-user via a display located at the first physical location within the environment. Further features provide for the computer-readable medium to be a non-transitory computer- readable medium and for the computer-readable program code to be executable by a processing circuit. Embodiments will now be described, by way of example only, with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS In the drawings: Figure 1 is a schematic diagram which illustrates a system for content item retrieval and display at multiple physical locations; Figure 2 is a schematic diagram which illustrates object profile storage and associated content items; Figure 3 is a schematic diagram which illustrates exemplary hardware components at a physical location; Figure 4 is a schematic diagram which illustrates multiple subsets of networked edge computing devices at multiple different locations; Figure 5 is a flow diagram which illustrates an example method for content item retrieval and display according to aspects of the present disclosure; Figure 6 is a flow diagram which illustrates a method for synchronizing data across multiple edge computing devices; Figure 7 is a flow diagram which illustrates an example method for content item retrieval using object signatures and / or classification data elements; Figure 8 is a block diagram which illustrates exemplary components of a system for content item retrieval and display according to aspects of the present disclosure; Figure 9 illustrates an overview of training and use of machine learning models; and, Figure 10 illustrates an example of a computing device in which various aspects of the disclosure may be implemented. DETAILED DESCRIPTION WITH REFERENCE TO THE DRAWINGS A system and method for content item retrieval and display across a distributed computing network are provided. Figure 1 is a schematic diagram which illustrates an exemplary system (100) for content item retrieval and display according to aspects of the present disclosure. The system may include a network (101) of computing devices (102.1, 102.2, 102.3). Each of the computing devices may be physically located at different physical locations (104, 106, 108). In some examples the computing devices may be distributed across a city, across a county, across countries or the like. The computing devices may be edge computing devices. The network of computing devices may be referred to as a swarm of computing devices or a swarm of edge computing devices. In some examples, each of the edge computing devices is configured as decentralized processing unit, each with its own hardware ability to run artificial intelligence, machine learning and / or deep learning models. The system may include a profile storage platform (110). The profile storage platform may be provided by one or more computing devices. In some examples, the profile storage platform is cloud-based. In some examples, the profile storage platform, or a derivative thereof (e.g., based on a subset of the data stored at the profile storage platform) may be replicated across the swarm of edge computing devices. The profile storage platform may store a plurality of object-specific data sets or profiles (112). The profile storage platform may store a plurality of class-specific data sets or profiles (114). In some examples, the profile storage platform recommends content items for display or presentation to an end-user associated with or embodied by the object. The profile storage platform may in this sense operate as and / or be termed a content item recommender. The system may include a content item management platform (116). The content item management platform may be provided by one or more computing devices. In some examples, the content item management platform is cloud-based. In other examples, the content item management platform is maintained locally at an endpoint (117.1, 117.2, 117.3) co-located with respective computing devices at each of the different physical locations (104, 106, 108). The content item management platform may maintain a plurality of content items (118). Each profile (112, 114), and referring now to Figure 2 which illustrates an example object-specific profile (112.1), includes a data value (119.1, 119.2, 119.3, 119.4) for each content item (118.1, 118.2, 118.3, 118.4) of the plurality of content items. In other words, each object-specific profile includes a set of data values each data value of which points to or is associated with a content item in the content item management platform. Similarly, each class-specific profile includes a set of data values each data value of which points to or is associated with a content item in the content item management platform. The data value indicates whether or not to retrieve the content item associated therewith. For example, a high data value may indicate that the corresponding content item should be retrieved. A low data value may indicate that the corresponding content item should not be retrieved. In some examples, the collection of object-specific profiles is maintained in a matrix in which each row (alternatively, each column) is associated with an object signature and includes the object specific profile corresponding to that object signature. Thus, in some examples, each object- specific profile is in the form of a vector, where each value of the vector is linked to a content item. The matrix may be a sparce matrix. In some examples, each object-specific profile includes, in addition to data values linked to different content items, one or more attribute data elements relating to attributes of the associated object. The attribute data elements stored in a given object- specific profile may for example be built up over time. For example, initially an object-specific profile may include one or more of: the object signature, an age data value determined from attribute data elements, a gender data value determined from attribute data elements; and other physical attribute information (such as a height data value determined from attribute data elements). The accuracy of the object-specific profiles may be dynamic refined over time as more data is collected from various collection points. In some examples, the profile storage platform (110) maintains a rules model (115). The rules model may be generated using association rule learning (ARL) to determine association rules between content items. Rules may be generated using algorithms such as Apriori and / or FP- growth (frequent pattern growth) and subsequently filtered based on their support, confidence, and lift metrics to ensure that only the most relevant and strong associations are considered for enhancing recommendations. These algorithms are described only to show a suitable exemplary algorithm for the purpose of the rule model. However, any other suitable algorithms may also be used instead. The rules model may include or may embody a mapping of a one or more content items (e.g. being selected content items) to one or more other content items (e.g. being recommended content items) based on one or more of: one or more selected content items; one or more attribute data elements relating to attributes of an object having selected the first content item; and, one or more contextual data elements relating to circumstances or context surrounding or relevant to the object (such as the presence or absence of children, the weather and the like). The rules model may therefore accept as input any one or more of: one or more selected content items (antecedents); one or more attribute data elements; and, one or more contextual data elements. Association rule learning may be performed in the cloud or on dedicated on-site AI hardware as computational cost can increase exponentially with the number of content items. Each computing device (102.1, 102.2, 102.3), and referring now to Figure 3, may include local storage (120) in which an object signature data set (122) may be stored and maintained. The object signature data set may include one or both of a plurality of local object signatures (124) and a plurality of local data sets (126). In some examples, the local data sets (126) stored in the local storage of the edge computing devices are compressed versions of a subset of the object- specific and / or class-specific profiles (112, 114) maintained by the content item management platform. The local storage may be of limited capacity (e.g., 8 GB) such that limited information can be stored thereat. The local storage may for example be of sufficient size to store about 2 billion local object signatures and optionally the corresponding local data sets. The local storage may for example have a capacity in the tens of gigabytes. For example, in some implementations a subset of these sparse matrices can be stored locally at each of the edge computing devices. The subset stored at each of the edge computing devices may be based on a likelihood that an object associated with the object-specific profile will visit the physical location at which the edge computing device is located. In some examples, a rolling-window of, e.g., 30 days, is implemented to maintain relevant data sets on the respective edge computing devices for frequently visiting objects. In some examples, each computing device stores one or both of: content items and algorithms and / or models for determining which content item to retrieve and display to an end-user. In some examples, each computing device may store one or more of: customer vector data, associated profile information (age, gender, purchased items, time of day etc.), media assets, and algorithms for determining the course of action to send information to the display. In some examples, the computing devices are configured to share data with other devices in the network. This may be via a hybrid cloud architecture and / or nodes or peers within a blockchain network. In some examples, each computing device may be configured as a node of a blockchain for synchronization of data (such as object signatures and / or object-specific profiles (or derivatives thereof)) across the network. Each computing device may for example be configured to synchronize the object signature data set (122) with object signature data sets of other edge computing devices based on a synchronization schedule. For example, referring now to Figure 4, the network (101) of computing devices may include a plurality of subsets or groups (170, 172) of computing devices. Each subset or group may have a plurality of computing devices included therein or associated therewith. In some examples, a computing device may belong to one or more subsets of computing devices. The subsets of computing devices may be determined based on physical locations of the computing devices relative to each other. For example, there may be different subsets for different neighborhoods, blocks, suburbs, cities, states, countries and the like. The synchronization schedule may define a subset (170) of computing devices within the network (101) of computing devices with which the first computing device synchronizes the object- specific data set. The synchronization schedule may be configured based on, if an object is physically present at a first physical location, the likelihood that the object will later be physically present at a second physical location. Each computing device (102.1, 102.2, 102.3) may be connected to a sensor (128) configured to sense the environment continually to output a sensor data stream (130). The sensor may be located at the same physical location as the computing device to which it is connected (i.e. they may be co-located within a few square meters of each other). In some examples, each computing device includes a plurality of sensors, each of which continually senses the environment to output respective sensor data streams. Example sensors include: a camera; a radar; a proximity sensor; a microphone; and the like. Each computing device (102.1, 102.2, 102.3) may be configured to: detect in the sensor data stream an object within the environment; extract identification data elements which uniquely identify the object from the sensor data stream; process the identification data elements to generate an object signature which uniquely identifies the object; and extract, from the sensor data stream, one or more classification data elements usable in classifying the object into a class of objects. Example objects include humans, motor vehicles and the like. Example identification data elements include, in the case of human objects, one or more facial features for facial recognition; and, in the case of a motor vehicle, a license plate number. Example classification data elements include: in the case of human objects, age; gender; and, race. Example classification data elements include, in the case of motor vehicles: vehicle type; manufacturer name; model name; year; color; and the like. Processing the data elements to generate the object signature may create a unique value or vector derived from the identification data elements. In one example, processing the data elements includes hashing the data elements using a hashing algorithm to generate the object signature. In some examples, generating the object signature is a one-way or irreversible process such that, while the object signature is unique to the object, it cannot be reversed to arrive at the identification data elements. Further, neither the sensor data stream nor the identification data elements are stored for longer than is required to identify the object, extract the identification data elements, and generate the object signature. In this manner, no personal information that may exist in the sensor data stream is retained or stored with any permanency. One or both of the object signature and classification data element(s) generated by the computing device may be used to retrieve a content item (118.1) from the content item management platform and output the retrieved content item to a display (132.1) of the endpoint (117.1) at the physical location (104) at which the object is detected. In some examples, this may include using local object data sets associated with the object signature and / or classification data element(s) and stored in the local storage (120) of the computing device. In other examples, this may include using the profiles (112, 114) associated with the object signature and / or classification data element(s) maintained in the profile storage platform (110). In this manner, and returning now to Figure 1, different content items (e.g., 118.1, 118.2, 118.3) may be retrieved and displayed via displays (132.1, 132.2, 132.3) located at different physical locations (104, 106, 108) in response to detection and identification of different objects (140, 142, 144) at each of those different locations. This may be by virtue of: the object identification; object signature; and, different data values stored in the data sets (112, 114, 126) associated with the object signature and classification data elements obtained from the objects present at the respective locations. Although the system described above indicates the edge computing device at each location being distinct from the endpoint provided at that location, it should be appreciated that in some examples the functionality of these respective devices may be combined into a single device such that one computing device is provided at each physical location which carries out the above-described functionality of both the edge computing device and endpoint. Further, as mentioned, in some examples, each computing device carries out the functionality of the profile storage platform and / or content item management platform. In other examples, these functions may be cloud- based. In other examples, a hybrid model may be implemented. The system (100) described above may implement a method for content item retrieval and display. An exemplary method for content item retrieval and display is illustrated in the flow diagram of Figure 5. The method may be conducted by one or more computing devices. In some examples, different steps of the method are conducted by different computing devices. The method may include receiving (201) a sensor data stream from a sensor located at a first physical location within an environment. The method may include processing (202) the sensor data stream to detect (203) an object within the environment. The operations of receiving the sensor data stream (201) and processing the sensor data stream (202) may repeat (204) continually for automatic detection of an object at the physical location. The method may include, in response to detecting (205) the object within the environment, extracting (206), from the sensor data stream, one or both of: identification data elements which uniquely identify the object; and, one or more classification data elements usable in classifying the object into one or more classes of objects. The method may include processing the identification data elements to generate (208) an object signature which uniquely identifies the object. The method may include checking (210) whether an object-specific data set exists for the object signature. The method may include, in response to determining (212) that the object-specific data set does not exist for the object signature, initializing (214) the object-specific data set for the object signature. In some examples, the object- specific data set is initialized based on or using one or more class-specific data sets based on classification data element(s) extracted from the sensor data stream. The object signature may be associated with an object-specific data set including a data value for each of a plurality of content items. Each of the one or more classification data elements may be associated with a class-specific data set including a data value for each of the plurality of content items. The data value may indicate whether or not to retrieve the content item associated therewith. In some examples, the operations of extracting (206) the identification data elements and / or classification data elements and processing the identification data elements to generate (208) the object signature are conducted by an edge computing device physically located at the first physical location. The method may include using (216) one or both of the object signature and classification data element(s) to retrieve a content item. Using one or both of the object signature and classification data element to retrieve the content item may include: using the object-specific data set associated with the object signature when the object-specific data set exists for the object signature; and, using the class-specific data set associated with the classification data element when the object-specific data set does not exist for the object signature. In some examples, using one or both of the object signature and class-specific data set to retrieve a content item may include using the object-specific data set associated with the object signature and the class- specific data set associated with the classification data element when the object-specific data set exists for the object signature. The method may include outputting (218) the content item to an end-user via a display (132.1) provided by an endpoint (117.1) located at the first physical location (104) within the environment. The end-user may interact with the content item, for example by selecting it, clicking on it, looking at it, reaching for it, or the like. In some examples, the total time between an object being detected in the sensor data stream and the one or more content items being output to an end-user may be less than 1.5 seconds. This may be by virtue or, inter alia, the configuration of the edge computing device generating the object signature locally. The method may include collecting (220) interaction data elements relating to the end-user interaction with the content item while it is being output via the display. The method may include updating (222) the object-specific data set based on end-user interaction with the content item. This may include updating, in the object-specific data set, a data value associated with the content item based on the end-user interaction therewith. For example, if the end-user interacts positively with the content item, updating the data value may include increasing the data value. If the end- user interacts negatively with the content item, updating the data value may include decreasing the data value. In some examples, end-user interaction with the content item may include the end-user selecting the content item and the method may include, in response to a selection input, repeating operations (216) to (222) so as to retrieve and output further content items. As will be explained, the further content items may be identified for retrieval based on the selected content items and / or other contextual information. In some examples, edge computing devices with local storage are provided for receiving and processing the sensor data stream. In such examples, the system described above with reference to Figures 1 to 4 may implement a data set synchronization method for synchronizing data sets across a plurality of edge computing devices. Figure 6 is a flow diagram which illustrates an example method for synchronizing data sets across a plurality of edge computing devices according to aspects of the present disclosure. The method may include, at an edge computing device having a local storage in which an object signature data set is stored: in response to generating (208) the object signature, checking (250) if the object signature is stored in the object signature data set (122); and, in response to determining (252) that the object signature is not stored in the object signature data set, storing (254) the object signature in object signature data set. The method may include synchronizing (256) the object signature data set (122) with object signature data sets of other edge computing devices based on a synchronization schedule. In some examples, the object signature data set (122) stores the object signature and optionally the corresponding or associated object-specific data set. In some examples, the object signature data set stores the object signature and optionally a compressed version of the object-specific data set. In this manner, each of the plurality of computing devices maintains an object signature data set (122). While the specific object signature data set maintained by a given computing device may be unique to that computing device (e.g., based on the objects identified by the computing device), there may be partial overlap of object data sets across computing devices based on the likelihood that an object identified at one physical location will later be identified at another. One example method of using (216) one or both of the object signature and classification data element(s) to retrieve a content item is illustrated in the flow diagram of Figure 7. The method may include, in response to determining (260) that an object-specific data set exists for the object signature, retrieving (262) the object-specific data set associated with the object signature. In some examples, this may include indexing a precomputed sparse matrix of object- item interactions to identify and retrieve a vector for the specific object. Indexing may use the object signature. The method may include retrieving (266) one or more class-specific data sets associated with the classification data element(s). In some examples, this may include indexing a precomputed sparse matrix of class-item interactions to identify and retrieve a vector for the specific class (or classes). Indexing may use the classification data element(s). Retrieving (266) the class-specific data set associated with the classification data element may be after retrieving (262) the object-specific data set associated with the object signature or may be in response to initializing (214) the object-specific data set for the object signature when it has been determined that the object-specific data set does not exist for the object signature. In other words, if the object is new or not recognized, the item retrieval may be based only on the classification data element(s) and associated class-specific data sets. Thus, in a so-called “cold- start pipeline,” the object may be treated based on an aggregation of objects with the same attributes. The method may include generating (268) a list of content item recommendations for the object. This list may be ranked based on a predicted match (or probability) for each content item and the object (e.g., in some examples being a predicted likelihood of a customer's interest in each item). The predicted match may be derived from past interactions with the content items by an associated end-user and / or from the interactions of similar end-users. The recommendations may be generated using sparse matrices and nearest-neighbor algorithms. In some examples, the list of content item recommendations is generated using a collaborative filtering (CF) model. In some examples, an ensemble of nearest-neighbor algorithms (such as k-nearest neighbors) may be used to generate a list of items best matching an end-user associated with the object. The nearest-neighbor algorithms may use similarity metrics such as cosine distance to identify items closest within the vector space to the object. An example list of content item recommendations is provided in the table below: Content Content item Probability item ID 1 Chicken cheeseburger menu item 0.78 2 Large soda menu item 0.69 3 Pepperoni pizza menu item 0.64 4 Large fries menu item 0.57 5 Vanilla soft serve menu item 0.51 … … … While the predicted items returned above may be specific to the associated object (or to one or more classes into which the object can be classified), they are not context-aware recommendations. That is, they do not consider relationships between content items. The method may include using a rules model (115) to determine (272) association rules between the recommended content items and other content items. This may include inputting into the rules model (115) any one or more of: one or more recommended or selected content items (antecedents); one or more attribute data elements; and, one or more contextual data elements and receiving, the final recommendations from the rules model. Using the rules model to determine (272) association rules between content items may include mapping CF recommendations to ARL rules derived from the rules model. This may include, for each content item recommended by the CF model (termed “the antecedents”), selecting (276) any relevant association rules that indicate what the likely subsequent content items (termed “the consequents”) will be. The selection may be performed on the complementary items. This may for example include, based on relevant rules, selecting additional items (consequents) that are most likely to complement the CF recommendations. The selection criteria may include the strength of the association or relevance to the user's current session or basket. The method may include combining and ranking (278) the selected content items to generate final recommendations. This may include integrating the original CF recommendations with the selected complementary items from ARL. The final recommendation list may be ranked based on a combination of the original CF scores and the confidence and / or lift metrics of the ARL rules. Additional contextual information such as demographics, time of day etc. can be associated with these ARL rules and used as additional terms when calculating the final scores and deciding on a final result. Each of the final recommendations may be associated with a content item index. The content item index may be a predictor of the relevance of a particular content item in the current context (e.g. an indication of likelihood that an item associated with the content item will be purchased by an end-user). Content item ID Content item prediction If-this-then-that Content item index predictions 3 Pepperoni pizza 3 -> 2 -> 5 0.29 menu item 3 Vanilla soft serve 1 -> 4 -> 5 0.42 menu item 5 Large soda menu 2 0.67 item The method may include outputting (280) the final recommendations in the form of identifiers pointing to one or more content items for retrieval and output to an end-user associated with the object. The method may include retrieving (282) content items from the content item management platform based on the final recommendations. Various components may be provided for implementing the method described above with reference to Figures 5 to 7. Figure 8 is a block diagram which illustrates exemplary components which may be provided by a system (100) for content item retrieval and display across a distributed computing network according to aspects of the present disclosure. The system (100) may include a processor (402) for executing the functions of components described below, which may be provided by hardware or by software units executing on and / or provided by the system (100). The software units may be stored in a memory component (404) and instructions may be provided to the processor (402) to carry out the functionality of the described components. The system (100) may include components, including: an identification data element extracting and processing component (408), classification data element extracting component (410), a content retrieval component (412), and a content item outputting component (414). The identification data element extracting and processing component (408) may be configured to extract, from a sensor data stream, identification data elements which uniquely identify an object and to process the identification data elements to generate an object signature which uniquely identifies the object. The identification data element extracting and processing component (408) may be configured to extract the identification data elements from the sensor data stream in response detection of an object in the sensor data stream received from a sensor located at a first physical location within an environment. The classification data element extracting component (410) may be configured to extract, from the sensor data stream, a classification data element usable in classifying the object into a class of objects. The content item retrieval component (412) may be configured to use one or both of the object signature and classification data element to retrieve a content item. The content item outputting component (414) may be configured to output the content item to an end-user via a display located at the first physical location within the environment. A system and method for content item retrieval and display across a distributed computing network are disclosed. In some examples described herein, facial recognition operations are executed on edge computing devices within 1.5 seconds using: lightweight, custom-developed identification models; load balance between live and offline tasks; and, synchronized object- specific profiles available at each edge device. In some examples, individual anonymity is maintained throughout the re-identification process by not storing any photos or videos on the edge computing device or on the cloud and by encrypting the object signature into smart blockchain contracts. In some examples, facial recognition is used to identify an object based on anonymized facial features. If there is a match, the personalized pipeline is started. If the object is not recognized (either due to poor image quality or lack of prior data), a cold-start pipeline may started instead. In some examples, based on the outcome of the previous step, an object-specific or demographic index is retrieved from either an on-premises edge computing device or from a profile storage platform. This prior index data may include information relating to (or may encode) past order history of an end-user associated with or embodied by the object and optionally location-specific information such as customer demographics, store location and the like. In some examples, each object-specific profile may be termed an “index” and may comprise information usable in predicting content items for retrieval and display to an end-user associated with the object signature. The object-specific profile may be built up over time and may be based on past interactions with content items by the associated end-user. In this manner, for example, an object-specific profile may be usable: in predicting a customer’s order basket based on their own order history and that of similar customer’s order histories; predicting items on an individual / SKU level and factor in contextual information such as existing items in a customer’s basket for potential low-latency interactive upselling / cross-selling systems and; predicting the likelihood that a particular SKU / item will be bought. In some examples, the system and method described herein may find application in a dynamic personalized menu display system for quick service restaurants utilizing a proprietary propensity to consume algorithm for individual menu items. In some examples, a system and method tailored for the non-loyalty app market within Quick Service Restaurants (QSRs), specifically targeting self-service kiosks, cashier points and drive-through lanes is provided. Unlike traditional loyalty app-based solutions, this system described herein provides dynamic personalized menu suggestions without requiring customer engagement or knowing their purchase history through dedicated apps. Leveraging proprietary hardware, edge AI processing, and unique menu index algorithms, the described system and method redefines customer engagement and revenue optimization in QSR environments, for personalization and efficiency. In some examples, the system and method described herein incorporates a propensity to purchase algorithm, which generates a personalized "Menu Index" for every individual customer interacting with a digital point-of-purchase screen within the QSR environment. In some examples, the index may assign a score out of 100 to each content item, representing the likelihood that a customer will order an item associated with that particular content item. Utilizing this index, the system and method described herein may dynamically present a customized menu screen to the customer, instantly adapting to their predicted preferences and ordering habits. The system and method described herein may be implemented in various different applications or scenarios. In some examples, the system and method described herein is implemented in retail environments, including for example department stores, grocery stores and the like. The system and method described herein may integrate hardware featuring behavioral sensors installed in self-service kiosks, cashier points, drive-through lanes and the like. These sensors may employ cutting-edge vision, movement, object detection, and pattern recognition technologies to capture real-time customer behavior data. The system and method described herein may be arranged to recognize repeat visitors and identifying contextual factors, such as the presence of children or vehicle occupancy, influencing purchasing decisions. To safeguard customer privacy, facial images are vectorized and anonymized, with no personally identifiable information stored. In order to ensure customer privacy, the system anonymizes and vectorizes vehicle number plates, eliminating any personally identifiable information from storage. Customer IDs, including vectorized facial and number plate data, may be stored on an edge computing device, facilitating local processing and computation. These devices may collectively form a swarm that utilizes AI for continuous updating and optimization. In some examples, the repeat visitor vector starts with facial recognition and gets more accurate by adding further markers, such as one or more of: location of the customer (geolocation); height of the customer (e.g., utilizing radar to couple face and height); gait biometric recognition (a method of identifying individuals based on the unique way they walk or move; these features may include the length of strides, the angle of leg movements, the timing of steps, the distribution of body weight, and other spatial and temporal parameters); and the like. In some examples, a method of storing repeat visitor vectors is implemented, in which: data markers that are captured by the camera are stored on an on-premises edge computing device; the edge computing device periodically sends data to a profile storage platform with updated customer vector data including additional markers to improve the accuracy of the repeat visitor vector and menu order items; the profile storage platform periodically sends data to the ‘swarm’ of edge computing devices with updated repeat visitor vector data; in some examples, the edge computing device stores the repeat customer vectors as well as the algorithm / model to act on the repeat customer data e.g. display a proprietary menu based on content items retrieved for that customer. In some examples, a method of bookmarking a customer is implemented, in which: the repeat customer vector is used as a bookmark for individual customers, facilitating rapid retrieval of their profile data at the point of purchase; the repeat customer vector serves as a comprehensive repository of customer information, including: order history (e.g., including a record of previous purchases made by the customer, enabling personalized menu suggestions based on past preferences), contextual factors (e.g., incorporating various contextual parameters such as previous purchases, location, time of day, day of week, type of shopper (e.g., individual, family), recency of purchase, frequency of purchase, and the like); the repeat customer vector is leveraged to allow for instant recognition of returning customers and retrieval of their personalized profile data, enabling seamless and tailored menu presentation; highly relevant menu suggestions aligned with each customer's preferences and habits are generated by dynamically accessing and analyzing the stored information within the repeat customer vector; the ordering process is streamlined for returning customers, enhancing convenience and satisfaction while encouraging repeat visits and loyalty; and, the repeat customer vector continuously evolves and refines over time, incorporating new data points and updating customer profiles to ensure the accuracy and relevance of personalized menu displays. In some examples, a method of computing an individual’s propensity to purchase a specific menu item (or set of menu items) is implemented, in which: a "Menu Index” in the form of a predictive model of customer purchasing behavior tailored for the non-loyalty app market is used; machine learning techniques, including individual purchase frequency calculations and collaborative filtering, are used to achieves high accuracy and reliability; and continual learning from past interactions and adaptations to changing preferences is carried out to ensure accurate predictions of customer orders. In some examples, a method of computing a menu index is described. The "Menu Index" may be in the form of a predictive model built to decode customer purchasing behaviors within the non- loyalty app market. In some examples, segmentation techniques may be used to carve out distinct customer segments for targeted marketing and personalized upselling campaigns. By tailoring recommendations to individual preferences and behaviors, customer engagement may be increased. The system and method described herein may implement a machine learning framework that evolves in real-time, continuously refining its predictive capabilities based on the latest consumer interactions. This adaptive approach ensures that the predictions remain accurate and relevant. The system and method described herein may configured for contextual sensitivity, for example recognizing that consumer preferences may vary based on situational factors such as time of day, location, and weather conditions and other external variables. By factoring in these contextual variables, predictions may be tailored to better align with each customer's unique circumstances. In some examples, adaptive segmentation strategies may be implemented to dynamically categorize customers into distinct segments based on their evolving preferences and behaviors. This segmentation may enable targeted marketing campaigns and upselling opportunities tailored to each segment's specific needs and preferences, maximizing engagement and satisfaction. Aspects of the present disclosure provide a method of adjusting a digital screen, including, in response to recognizing a repeat visitor, whether through facial recognition or vehicle ID, dynamically adjusting the menu display to showcase the most relevant menu items that are related to the Repeat Visitor Vector. Aspects of the present disclosure may provide seamless integration with a QSR's Content Management System (CMS) or a dedicated "Campaign Manager" which ensures efficient categorization and presentation of menu content. Aspects of the present disclosure may provide categorization techniques, including high propensity, medium propensity, low propensity, and upsell opportunity classifications, which may optimize menu item presentation for maximum impact and effectiveness. In some examples, segmentation may enable targeted marketing campaigns and personalized upselling opportunities, enhancing customer engagement and satisfaction. Aspects of the present disclosure may facilitate personalization in the non-loyalty app segment. In some examples, the system and method described herein may be configured to predict customer orders within 1.5 seconds. In some examples, personalized menu displays may increase customer engagement and order rates. In some examples, enhanced operational efficiency may be enabled by streamlining the ordering process and minimizing customer wait times. Aspects of the present disclosure provide a personalized menu display system for the non-loyalty app market within Quick Service Restaurants. In some examples, personalized menu suggestions may be provided without requiring customer engagement or purchase history through dedicated apps. In some examples, the system and method described herein may find application in consumer behavior measurement and influence system across multiple points of purchase. Aspects of the present disclosure may for example provide a system and method for measuring and acting on consumer behavior at the point of purchase in retail environments. By continuously monitoring sensors, the system and method described herein may identify repeat visitors at the point of purchase and create detailed profiles, which may be termed 'bookmarks'. For first-time customers, a bookmark may be compiled based on data variables including age, gender, ethnicity, location, and time of day. This initial bookmark may accrue data with each subsequent visit to the point of purchase, whether at the same physical location or at others. Additional visits may enrich the bookmark with data such as order history, shopper type, and nuanced behaviors within the purchase area, such as dwell time, gaze duration, and movement speed toward products. In some examples a propensity to purchase index is maintained. In some examples, a dynamic index value ranging from 0 to 100 is determined, which signifies the probability of a consumer making a purchase within the designated purchase zone. This index value may be determined by analyzing the depth of data within the unique customer bookmark. In some examples, index values may be leveraged for tailored marketing messages, promotions, and advertisements across digital screens. In this manner, retail environments can finely tune their communication to target individual consumer behavior. The system and method described herein may be implemented in compliance with any relevant laws and regulations. In some examples, an opt-in by default, and opt-out as option may be implemented. In other examples, an opt-out by default and opt-in as option may be implemented. In some examples, a transition period may be provided to establish trust between data privacy and personalization. The terms artificial intelligence (AI), machine learning, and deep learning may be used interchangeably throughout this disclosure when referring to trained AI models. Machine learning may be considered a sub-branch of AI and deep learning may be considered a sub-branch of machine learning. Deep learning is a form of machine learning that uses a layered network, referred to as an artificial neural network (ANN). Any AI, machine learning and deep learning system may rely on an underlying model. The model may be tailored to a specific use case. Although AI is considered the broadest of term, it is common that any AI system includes some form of machine learning, with some systems further including deep learning. Some examples of machine learning models may include, but are not limited to: decision trees, random forest regression, support-vector machines, K-means clustering, regression analysis, Gaussian processes, and the like. Machine learning models (as well as deep learning models) may be categorised into classification or regression. Classification models may classify an input into one or more of a set of classifications, with the output being one of discrete classifications. Regression models may determine an output that may be a value or output across a continuous output range. A regression model may estimate a relationship between an input to an output. ANNs may include a variety of structures, which are referred to as architectures. Different architectures are suitable for different use cases. Examples of ANN architectures may include convolutional neural networks or recurrent neural networks. Convolutional neural networks may be suitable for image-based data or multi-dimensional input data. Recurrent neural networks, such as long-short term memory networks, may be more suitable for time series applications. An ANN may consist of interconnected units, commonly referred to as neurons, as they are inspired by and resemble neurons of the brain. The units may be made up of nodes and edges forming a connected network. The edges may connect nodes together. ANNs may be configured in the form of a layered structure with an input at the first layer and an output provided by the final layer. The layers between the first layer and final layer are hidden layers. The input layer may include one or more nodes. An edge may extend from each node. Each edge may be connected to a node in a subsequent hidden or output layer. Each node may include more than one edge that connects the node to a plurality of other nodes in other layers. In some examples, an edge may feed back into a previous node in a preceding layer (a node not in subsequent layers but in a further layer), or to a different node in the same layer. The output of a node may be computed by an activation function, which may be a linear or a non- linear function of the sum of the inputs into each node in each layer. The output value of each node in the preceding layer is multiplied by a weighting value, which determines the strength of each nodes’ output value. Finally, the value that is determined at the node(s) of the final layer is the output of the ANN. For regression type ANNs, the output may contain only a single node with a value, or many nodes. For classification type ANNs, the output may include multiple nodes, where each node is an output of the probability of a classification type. More complex ANNs are better suited to specific tasks. In addition to the weights and activation functions of a regular ANN, a convolutional neural network applies a filter (or a kernel) onto a two- dimensional data structure, which may reduce the number of edges between the hidden layers in the neural network. This may in turn reduce the number of weights within the neural network. A convolutional neural network may find application in image-based tasks, where image data may be structured as a two-dimensional data structure. A convolutional neural network may be extended into further dimensions by increasing the dimensions of the filter / kernel to match the number of dimensions of the input data. Recurrent neural networks include a recurrent unit. This recurrent unit may maintain a hidden state over time, thereby providing a pseudo-memory capability. Such models may find application in time series or sequential operations, such as speech or text. Multiple recurrent units may be connected to each other, where the output of one unit at a first timestep may be used as an input into another recurrent unit at a second timestep. Examples of recurrent neural networks include, but are not limited to, long short-term memory networks, and gated recurrent units. Transformers are another form of deep learning architectures well suited for sequential based data. Transformers may utilise a self-attention mechanism instead of recurrence (such as in a recurrent neural network). A trained AI model may be configured to run on a computing device, such as a Raspberry Pi ™, a NVIDIA Jetson Nano ™ developer kit, or a standard personal computer (PC) including a graphical processing unit (GPU). Example computing devices may be designed to perform specific computational tasks, which may include running multiple neural networks in parallel for applications including image classification, object detection, segmentation, and speech processing. In some cases, a trained AI model may be configured to run on a computing device in the form of a large computing system, such as a computing cluster (such as that found in a data centre). Training AI models may be a computationally intensive and time consuming. Models may thus be trained on a computing device provided by a large computing infrastructure or a cloud computing infrastructure that can be accessed over a network. These resources allow for dynamic computing resources to be dedicated to training a deep neural network, after which the trained model can be downloaded to run on a separate application. Figure (500) illustrates a general overview of training and use of machine learning models (514) in accordance with aspects of the present disclosure. The training may include a data preparation process (511) that formats a raw incoming data (510). The data preparation process (511) may prepare training data (512). The data preparation process (511) may involve labelling the raw incoming data (510). Labelling the raw incoming data (510) may include labelling each input data of the raw incoming data (510). Labelling the data may include providing a known value or solution that must be output by the model when a specific data is input into the model. The data preparation process (511) may include formatting the raw incoming data (510) into a format suitable for the type of model or in the case of an ANN, suitable for the model architecture. The data preparation process (511) may generate the training data (512). The training data (512) may include a subset of data called validation data. The model may be trained using the training data (512), but excluding the validation data. The validation data may be used within a training process (513) to determine an accuracy level of the model on “unseen” input data. The validation data may be applied to the model during and after training. The training process (513) may receive the training data (512) and iteratively update the model until a predefined quality criteria and / or accuracy criteria are achieved. The model (514) may be output at the end of the training process (513) to be used in a runtime process (522). The model (514) may be trained using a training method. The training method may include any one of: supervised learning, unsupervised learning, semi-supervised, and reinforcement learning. The training process (513) may include using a plurality of training methods. Supervised learning may require labelled training data (512), such that the correct output is known for each training data input. The task of the training process (513) is to minimize the difference (or error) between the output of the model (514) and the known output (for example, due to the labelling process) of the training data (512). In some examples, the output may be verified as the output must satisfy a provided formula, such as with physics-informed models. The training procedure modifies the machine learning model (513) such that the difference (or error) is minimized. Unsupervised learning may be configured to extract features or patterns from unlabelled data. Unsupervised learning may be used when the raw incoming data (510) is too large to be labelled. For example, unsupervised learning may be used for auto-encoders, where the aim is for the model output to match the model input by encoding the input data, and decoding the encoded input data. When the model (514) is in use, an input (521) may be received into the runtime process (522) that uses the model (514) to obtain an output (523) that may be used in a downstream process (524). The computation of the runtime process (522) is often referred to as ‘inference’. The training process (513) may be computationally demanding and time consuming. To successfully train a machine learning model, very large datasets may be used which are stored on a database. The training process may be performed on a computing device in the form of a large computing cluster which may access the database to obtain the training data when required. Additionally, the trained machine learning model (514) may be stored on the database. The runtime process (522) may run on an end user computing device by downloading the machine learning model (514) over a network from a database, or the runtime process (522) may run on a large computing infrastructure such as a computing cluster. An example embodiment of interacting with the machine learning model (514) may include an end user computing device, such as a mobile device or a computer which may obtain or be the source of the input data (521), transmit the input data (521) over a network to a computing cluster to perform the runtime process (522). Alternatively, an end user computing device may obtain the machine learning model from a database over a network and store the machine learning model locally on the device. The end user device may obtain an input data (521) and perform the runtime process (522) locally on the device to obtain an output (532). By performing the runtime process (522) locally on the device, the input data (521) does not need to be transmitted over a network, reducing bandwidth usage. This may be referred to as ‘on-the-edge’ computing. Figure 10 illustrates an example of a computing device (600) in which various aspects of the disclosure may be implemented. The computing device (600) may be embodied as any form of data processing device including a personal computing device (e.g. laptop or desktop computer), a server computer (which may be self-contained, physically distributed over a number of locations), a client computer, or a communication device, such as a mobile phone (e.g. cellular telephone), satellite phone, tablet computer, personal digital assistant or the like. Different embodiments of the computing device may dictate the inclusion or exclusion of various components or subsystems described below. The computing device (600) may be suitable for storing and executing computer program code. The various participants and elements in the previously described system diagrams may use any suitable number of subsystems or components of the computing device (600) to facilitate the functions described herein. The computing device (600) may include subsystems or components interconnected via a communication infrastructure (605) (for example, a communications bus, a network, etc.). The computing device (600) may include one or more processors (610) and at least one memory component in the form of computer-readable media. The one or more processors (610) may include one or more of: CPUs, graphical processing units (GPUs), microprocessors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs) and the like. In some configurations, a number of processors may be provided and may be arranged to carry out calculations simultaneously. In some implementations various subsystems or components of the computing device (600) may be distributed over a number of physical locations (e.g. in a distributed, cluster or cloud-based computing configuration) and appropriate software units may be arranged to manage and / or process data on behalf of remote devices. The memory components may include system memory (615), which may include read only memory (ROM) and random access memory (RAM). A basic input / output system (BIOS) may be stored in ROM. System software may be stored in the system memory (615) including operating system software. The memory components may also include secondary memory (620). The secondary memory (620) may include a fixed disk (621), such as a hard disk drive, and, optionally, one or more storage interfaces (622) for interfacing with storage components (623), such as removable storage components (e.g. magnetic tape, optical disk, flash memory drive, external hard drive, removable memory chip, etc.), network attached storage components (e.g. NAS drives), remote storage components (e.g. cloud-based storage) or the like. The computing device (600) may include an external communications interface (630) for operation of the computing device (600) in a networked environment enabling transfer of data between multiple computing devices (600) and / or the Internet. Data transferred via the external communications interface (630) may be in the form of signals, which may be electronic, electromagnetic, optical, radio, or other types of signal. The external communications interface (630) may enable communication of data between the computing device (600) and other computing devices including servers and external storage facilities. Web services may be accessible by and / or from the computing device (600) via the communications interface (630). The external communications interface (630) may be configured for connection to wireless communication channels (e.g., a cellular telephone network, wireless local area network (e.g. using Wi-Fi™), satellite-phone network, Satellite Internet Network, etc.) and may include an associated wireless transfer element, such as an antenna and associated circuitry. The computer-readable media in the form of the various memory components may provide storage of computer-executable instructions, data structures, program modules, software units and other data. A computer program product may be provided by a computer-readable medium having stored computer-readable program code executable by the central processor (610). A computer program product may be provided by a non-transient or non-transitory computer- readable medium, or may be provided via a signal or other transient or transitory means via the communications interface (630). Interconnection via the communication infrastructure (605) allows the one or more processors (610) to communicate with each subsystem or component and to control the execution of instructions from the memory components, as well as the exchange of information between subsystems or components. Peripherals (such as printers, scanners, cameras, or the like) and input / output (I / O) devices (such as a mouse, touchpad, keyboard, microphone, touch-sensitive display, input buttons, speakers and the like) may couple to or be integrally formed with the computing device (600) either directly or via an I / O controller (635). One or more displays (645) (which may be touch-sensitive displays) may be coupled to or integrally formed with the computing device (600) via a display or video adapter (640). The foregoing description has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the technology to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure. Any of the steps, operations, components or processes described herein may be performed or implemented with one or more hardware or software units, alone or in combination with other devices. Components or devices configured or arranged to perform described functions or operations may be so arranged or configured through computer-implemented instructions which implement or carry out the described functions, algorithms, or methods. The computer- implemented instructions may be provided by hardware or software units. In one embodiment, a software unit is implemented with a computer program product comprising a non-transient or non- transitory computer-readable medium containing computer program code, which can be executed by a processor for performing any or all of the steps, operations, or processes described. Software units or functions described in this application may be implemented as computer program code using any suitable computer language such as, for example, Java™, C++, or Perl™ using, for example, conventional or object-oriented techniques. The computer program code may be stored as a series of instructions, or commands on a non-transitory computer-readable medium, such as a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard-drive, or an optical medium such as a CD-ROM. Any such computer-readable medium may also reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network. Flowchart illustrations and block diagrams of methods, systems, and computer program products according to embodiments are used herein. Each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, may provide functions which may be implemented by computer readable program instructions. In some alternative implementations, the functions identified by the blocks may take place in a different order to that shown in the flowchart illustrations. Some portions of this description describe the embodiments terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations, such as accompanying flow diagrams, are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. The described operations may be embodied in software, firmware, hardware, or any combinations thereof. The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the disclosure be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments is intended to be illustrative, but not limiting, of the scope set forth in any accompanying claims. Finally, throughout the specification and any accompanying claims, unless the context requires otherwise, the word ‘comprise’ or variations such as ‘comprises’ or ‘comprising’ will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.
Claims
CLAIMS:
1. A computer-implemented method comprising: in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processing the identification data elements to generate an object signature which uniquely identifies the object; extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; using one or both of the object signature and classification data element to retrieve a content item; and, outputting the content item to an end-user via a display located at the first physical location within the environment.
2. The method of claim 1, wherein the object signature is associated with an object-specific data set including a data value for each of a plurality of content items, wherein the data value indicates whether or not to retrieve the content item associated therewith.
3. The method of claim 1, wherein the classification data element is associated with a class- specific data set including a data value for each of a plurality of content items, wherein the data value indicates wither or not to retrieve the content item associated therewith.
4. The method of claim 2, wherein the method includes: checking that the object-specific data set exists for the object signature; and, in response to determining that the object-specific data set does not exist for the object signature, initializing the object-specific data set for the object signature.
5. The method of claim 2, including updating the object-specific data set based on end-user interaction with a content item, including updating a data value associated with the content item based on the end-user interaction therewith.
6. The method of claim 1, wherein using one or both of the object signature and classification data element to retrieve the content item includes: using an object-specific data set associated with the object signature when the object- specific data set exists for the object signature; and, using a class-specific data set associated with the classification data element when theobject-specific data set does not exist for the object signature.
7. The method of claim 1, wherein using one or both of the object signature and class-specific data set to retrieve the content item includes: using an object-specific data set associated with the object signature and a class-specific data set associated with the classification data element when the object-specific data set exists for the object signature.
8. The method of claim 1, wherein extracting the identification data elements, processing the identification data elements to generate the object signature and extracting the classification data element are conducted by a first computing device physically located at the first physical location.
9. The method of claim 8, wherein the first computing device includes a local storage in which an object signature data set is stored, and wherein the method includes: in response to generating the object signature, checking if the object signature is stored in the object signature data set; and, in response to determining that the object signature is not stored in the object signature data set, storing the object signature in the object signature data set.
10. The method of claim 8, including synchronizing the object signature data set with object signature data sets of other computing devices based on a synchronization schedule, wherein the synchronization schedule defines a subset of computing devices within a network of computing devices with which the first computing device synchronizes the object-specific data set, wherein the subset of computing devices is determined based on physical locations of the computing devices relative to each other.
11. The method of claim 8, wherein the object signature data set stores the object signature and optionally the object-specific data set, wherein the object signature data set stores the object signature and optionally a compressed version of the object-specific data set.
12. A system comprising: a non-transitory computer-readable storage medium; and one or more processors coupled to the non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium comprises program instructions that, when executed on the one or more processors, cause the system to perform operations comprising: in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processingthe identification data elements to generate an object signature which uniquely identifies the object; extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; using one or both of the object signature and classification data element to retrieve a content item; and, outputting the content item to an end-user via a display located at the first physical location within the environment.
13. A system comprising: a processor and a memory configured to provide computer program instructions to the processor to execute functions of components; an identification data element extracting and processing component for in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processing the identification data elements to generate an object signature which uniquely identifies the object; a classification data element extracting component for extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; a content item retrieval component for using one or both of the object signature and classification data element to retrieve a content item; and, a content item outputting component for outputting the content item to an end-user via a display located at the first physical location within the environment.
14. A computer program product comprising a computer-readable medium having stored computer-readable program code for performing the steps of: in response to detecting, in a sensor data stream received from a sensor located at a first physical location within an environment, an object within the environment, extracting, from the sensor data stream, identification data elements which uniquely identify the object and processing the identification data elements to generate an object signature which uniquely identifies the object; extracting, from the sensor data stream, a classification data element usable in classifying the object into a class of objects; using one or both of the object signature and classification data element to retrieve a content item; and, outputting the content item to an end-user via a display located at the first physical location within the environment.
Citation Information
Patent Citations
System and method for dynamically generating contextual and personalized digital content
US20150379774A1
Image-based kitchen tracking system with metric management and kitchen display system (KDS) integration
US20230298365A1