The present disclosure relates generally to Electronic Article Surveillance (“EAS”), and more particularly, to examples related to mitigating stray tags in an EAS system using a Radio Frequency Identification (“RFID”) tag.
EAS systems are used to control inventory and to prevent or deter theft or unauthorized removal of articles from a controlled area. Such systems establish an electromagnetic field or “interrogation zone” that defines a surveillance zone (for example, entrances and/or exits in retail stores) encompassing the controlled area. The articles to be protected are tagged with an EAS security tag. Tags are designed to interact with the field in the interrogation zone, e.g., established by an EAS portal. The EAS portal includes one or more EAS readers (e.g., transmitter/receiver, antennas), and an EAS detection module/controller. The presence of a tag in the interrogation zone is detected by the system and appropriate action is taken. In most cases, the appropriate action includes the activation of an alarm.
In the retail industry, it is common to “source tag” articles with RFID tags, either at the time of packaging/manufacture, or at some other point in the supply chain. At the same time, EAS technology and devices have proven critical to the reduction of theft and so called “shrinkage.” Since many articles arrive at the retailer with RFID tags, it is desirable that RFID tags be used also to provide EAS functionality in addition to their intended function of providing capabilities such as inventory control, shelf reading, non-line of sight reading, etc.
In some implementations, an RFID tag can be used to simulate EAS functionality by sending special codes when a reader interrogates the RFID tag. This arrangement advantageously eliminates the need for a separate EAS component, such as an acousto-magnetic (“AM”) component, within the tag, or a separate EAS tag. Various schemes can be used to enable the use of RFID tags to simulate EAS functionality. In some such systems, the RFID tag indicates in some way that the item to which the tag is attached has been purchased at point of sale (“POS”). If the RFID tag is a detachable tag, the RFID tag can be simply detached at the point of sale. In such a system, the RFID readers at the exit would trigger an alarm if any tags are detected. In other systems, the RFID tag may remain on the item, and an alarm is triggered if the RFID tag does not indicate that the item was purchased. For example, in such a system, data is written to the RFID chip at the POS to confirm the item was purchased. One common method is encoding a bit-flip at the POS, with the changed bit indicating that the item is authorized for removal. Other systems may read a unique ID from the tag, and store the unique ID in the enterprise system when the tagged item is purchased, so that the purchase can be verified by RFID readers as the tag exits the premises. Thus, if the purchase of the item cannot be verified based on tag data when the tag passes out of the store, an alarm can be triggered.
The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
Examples of the technology disclosed herein include methods, systems, and apparatuses of EAS. An example aspect includes a method of EAS, comprising accessing, by a processor of an EAS system from a queue, a batch of RFID readings received by a plurality of RFID readers of the EAS system. The batch of RFID readings being associated with a batch count value. Each RFID reading in the batch of RFID readings comprising a RFID identification of a corresponding RFID tag that generated that RFID reading. The method further includes updating, by the processor, a RFID reading history with the batch of RFID readings. The method further includes automatically calibrating, by the processor, a chatter score threshold. The method further includes selecting, by the processor, a first set of RFID identifications from the batch of RFID readings. Each RFID identification of the first set of RFID identifications having a corresponding chatter score below a chatter score threshold. Each corresponding chatter score being calculated according to the RFID reading history. The method further includes filtering, by the processor, the first set of RFID identifications resulting in a second set of RFID identifications. Each RFID identification in the second set of RFID identifications corresponding to a RFID tag in motion. The method further includes providing, by the processor to the EAS system, the second set of RFID identifications, causing the EAS system to alarm based on a determination that one or more RFID tags identified by the second set of RFID identifications are not authorized to leave a controlled area associated with the plurality of RFID readers.
Another example aspect includes a method of EAS, comprising accessing, by a processor of an EAS system from a queue, a batch of RFID readings received by a plurality of RFID readers of the EAS system. The batch of RFID readings may have been received during a particular time period. Each RFID reading in the batch of RFID readings may comprise a RFID identification of a corresponding RFID tag that generated that RFID reading. The batch of RFID readings may comprise a minimum quantity of RFID readings for each corresponding RFID tag. The method further includes determining a set of RFID identifications from the batch of RFID readings according to at least one machine learning algorithm. Each RFID identification in the set of RFID identifications may correspond to a RFID tag in motion. The method further includes providing, by the processor to the EAS system, the set of RFID identifications, causing the EAS system to alarm based on a determination that one or more RFID tags identified by the set of RFID identifications are not authorized to leave a controlled area associated with the plurality of RFID readers.
Another example aspect includes a method of EAS, comprising determining, by a processor of an EAS system, a chatter score of a RFID identification of an RFID tag that generated a quantity of RFID readings above a predefined threshold at one or more RFID readers; selecting, by the processor of the EAS system, the RFID identification based at least in part on the chatter score being below a chatter score threshold; determining, by the processor of the EAS system, that the RFID identification corresponds to a RFID tag in motion; and triggering, by the processor of the EAS system, an alarm based on a determination that the RFID tag identified by the RFID identification is not authorized to leave a controlled area associated with the one or more RFID readers.
To the accomplishment of the foregoing and related ends, the one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed, and this description is intended to include all such aspects and their equivalents.
It will be readily understood that the components of the aspects as generally described herein and illustrated in the appended figures could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of various aspects, as represented in the figures, is not intended to limit the scope of the present disclosure, but is merely representative of various aspects. While the various aspects of the aspects are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The present solution may be embodied in other specific forms without departing from its spirit or essential characteristics. The described aspects are to be considered in all respects only as illustrative and not restrictive. The scope of the present solution is indicated by the appended claims rather than by this detailed description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present solution should be or are in any single aspect of the present solution. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an aspect is included in at least one aspect of the present solution. Thus, discussions of the features and advantages, and similar language, throughout the specification may, but do not necessarily, refer to the same aspect.
Furthermore, the described features, advantages, and characteristics of the present solution may be combined in any suitable manner in one or more aspects. One skilled in the relevant art will recognize, in light of the description herein, that the present solution can be practiced without one or more of the specific features or advantages of a particular aspect. In other instances, additional features and advantages may be recognized in certain aspects that may not be present in all aspects of the present solution.
Reference throughout this specification to “one aspect,” “an aspect,” or similar language means that a particular feature, structure, or characteristic described in connection with the indicated aspect is included in at least one aspect of the present solution. Thus, the phrases “in one aspect”, “in an aspect,” and similar language throughout this specification may, but do not necessarily, all refer to the same aspect.
As used in this document, the singular form “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. As used in this document, the term “comprising” means “including, but not limited to.”
Conventional EAS systems may comprise RFID readers and RFID tags. The RFID readers may act both as transmitters and as receivers. The RFID tags may respond to RFID signals transmitted by the RFID readers and the RFID readers may receive the responses from the RFID tags. The strength of the return signal received by the RFID reader from the RFID tags may be referred to as a received signal strength indicator (“RSSI”). A power level of the RFID signals transmitted by the RFID readers may directly impact the RSSI values. A difference between an angle at which the RFID signal is transmitted and an angle at which a corresponding RFID response is received may be referred to as a phase angle. A conventional EAS system may determine whether a particular RFID tag is moving or static (e.g., stationary) based on RSSI and phase values corresponding the particular RFID tag. For example, conventional EAS systems may comprise rule-based techniques based on at least RSSI and/or phase values to determine whether the particular RFID tag is moving. Alternatively or additionally, the conventional EAS system may activate an alarm based on a determination that the particular RFID tag is exiting a premise (e.g., a retail store). However, such conventional EAS systems may have a relatively high false positive rate. A false positive may generally be addressed as an event in which the conventional EAS system activates an alarm based on an erroneous determination that a particular RFID tag is exiting the premise.
In conventional EAS systems, the use of RFID tags as an EAS exit solution may be limited by stray or reflected radio frequency (“RF”) signals that may cause false alarms. That is, stationary (e.g., non-moving) RFID tags may produce similar sets of RFID readings as a moving RFID tag due to radio interference and/or other factors such as metallic reflections and human body movements. For example, false alarms may be caused by stationary RFID tags located some distance from the EAS portal (e.g., entrance and/or exit in a retail store facility). In another example, changing RF reflections due to moving fixtures (e.g., revolving doors, escalators, mirrors) and/or human motion (e.g., customers pushing shopping carts, employees moving metallic racks) may cause stationary RFID tags to appear to be moving. These tags may generally be addressed as stray tags. As such, the number of false alarms caused by stray tags may compromise the accuracy and effectiveness of a conventional EAS system.
However, stray tag mitigation may be a challenge in a retail store scenario. A retail store facility may be a dynamic RF environment with various metallic reflections caused by moving doors, mirrors, moving metallic racks, customer foot traffic, among others. That is, a conventional EAS system may be challenged to differentiate a tag that is moving through the pedestals installed near the store exit from non-moving/stray tags.
Examples of the technology disclosed herein provide for multiple manners to mitigate false alarms caused by stray tags. In certain aspects, the EAS system may comprise a stray tag component configured to filter out RFID readings associated with stray tags. Further, aspects presented herein may increase accuracy and effectiveness over conventional EAS systems.
These and other features of the present disclosure are discussed in detail below with regard to
Referring now to
The EAS portal 100 may include RFID readers 106A, 106B, 106C (hereinafter “106”, generally) configured to read RFID tags. Each RFID reader 106 may be respectively attached to antennas 102A, 102B, 102C (hereinafter “102”, generally) mounted on the sides of the EAS portal 100. The RFID reader 106 as referenced herein may be capable of generating RFID tag exciter signals to control and elicit responses from one or more of a plurality of RFID tags (such as tags 120A-120B, hereinafter “120” generally) in a EAS portal zone. The RFID exciter signals may also serve as a source of power for energizing the RFID tags 120. The exciter signals generated by the RFID readers 106 and responses received by each RFID reader 106 may be in accordance with an RFID system standard that is now known or known in the future. Alternatively or additionally, the RFID readers 106 may detect, identify, and/or process one or more the responses from the plurality of RFID tags 120 in the EAS portal zone. The RFID readers 106 may include suitable interface circuitry to facilitate communications with a system controller 108 (e.g., a server) as described below. For example, the interface circuitry may facilitate communication of information regarding detected responses received from RFID tags 120. Such interface circuitry can also facilitate reception of interrogation commands and/or antenna beam control commands from the system controller 108.
The RFID tags 120 may each comprise identification information, such as a serial number, an electronic product code (“EPC”), and a stock keeping unit (“SKU”) number, that uniquely identifies each RFID tag 120. As such, the RFID tags 120 may respond to the RFID readers 106 by providing the respective identification information.
In the EAS portal 100 shown, the antennas 102 may be mounted on pedestals 103A, 103B (hereinafter “103,” generally) and/or in the ceiling (e.g., 102C), but the technology disclosed herein is not limited in this regard. For example, antennas 102 may be mounted in the ground, and the method described herein would still be applicable. There is no restriction regarding the type of antennas 102 that are used to produce the required field patterns. For example, antennas 102 may be beam steerable so that multiple different antenna beam directions may be obtained from a single antenna 102. Alternatively or additionally, the RFID reader 106 may comprise multiple antennas 102. Control over the required antenna field patterns may be facilitated by the RFID readers 106 as noted above. In addition, three antennas, 102A, 102B, and 102C, are shown in
The EAS portal 100 may be placed in the vicinity of an entrance and/or exit point in a premise (e.g., retail store facility) where articles must pass through in order to transition from one space inside the premise to a second space, which is outside of the premise. In the example shown in
The RFID readers 106 may be operated under the command of a system controller 108, such as a server, for example, which may facilitate the detection of the one or more RFID tags 120 within a field of view of each antenna 102 as hereinafter described. The system controller 108 may be situated local to the premise, as shown in
In certain aspects, the system controller 108 may include a stray tag component 110 configured to access a batch of RFID readings from a queue, and that have been received from the RFID readers 106, update a RFID reading history, select a first set of RFID identifications from the batch of RFID readings, filter the first set of RFID identifications resulting in a second set of RFID identifications, and provide the second set of RFID identifications to the EAS system. The stray tag component 110 may be configured to perform a two-stage cascading filtering algorithm to mitigate false alarms that may potentially be caused by stray tags. A first stage of the filtering algorithm may eliminate noise from the RFID readings in the form of chatter, thereby reducing the number of RFID identifications in the second decision process. A second stage of the filtering algorithm may analyze the RFID identifications that emerged from the first stage and may determine whether the RFID identifications indicate a stray tag or a moving tag. As such, the second stage may further mitigate false alarms potentially caused by the stray tags. Thereby, increasing accuracy and effectiveness over conventional EAS systems.
The stray tag component 110 may be configured to sweep a batch of RFID readings from the queue 220 at a set interval. That is, a sleep time parameter may determine a time duration that the stray tag component 110 may wait before sweeping a next batch of RFID readings from the queue 220. The sleep time parameter, or MIN-STEP-TIME, may be configurable. In some aspects, the MIN-STEP-TIME interval may be configured according to the read rate of the reader processes 210. For example, the MIN-STEP-TIME interval may be adjusted to match the read rate.
In some aspects, the stray tag component 110 may be configured to extract all RFID readings from the queue 220 during each sweep. That is, after the sleep time interval has expired, the stray tag component 110 may sweep all data content from the queue 220 for further processing.
In other aspects, the stray tag component 110 may be configured to process a portion of the previous queue contents with the current batch RFID readings. That is, the stray tag component 110 may combine a portion of the RFID readings from the previous batch with the RFID readings from the current batch for processing during the current sweep cycle. Such a configuration may be advantageous if or when the read rate is split between sleep time intervals. Alternatively or additionally, the portion of the RFID readings from the previous batch may aid in the processing of the RFID readings from the current batch. A size of the portion of the RFID readings from the previous batch may be configurable. For example, the portion size may be configured to be a percentage (e.g., 20%) of the quantity of RFID readings in the previous batch.
In yet other aspects, the stray tag component 110 may be configured to extract and process the RFID readings from the queue 220 if or when a quantity of RFID readings in the queue 220 reaches or exceeds a threshold. For example, the stray tag component 110 may be configured to extract and process N or more RFID readings from the queue 220, wherein N is a positive integer greater than zero.
Referring back to
The update history component 232 may be configured to process the RFID readings extracted by the stray tag component 110 by performing the following operations.
For each batch of RFID readings, if or when a quantity of RFID readings from a particular EPC is less than a EPC-COUNT-FILTER parameter, the RFID readings from the particular EPC will not be further processed. That is, EPCs passing this criteria are processed further.
At this stage a history is built for each EPC.
If or when the EPC is not in the history already, a new entry is created for this EPC.
a. Once a new entry is created, the following values are stored under it:
b. The first_observed_batch indicates the batch_count at which this EPC was added to the history. That is, the first_observed_batch indicates the batch_count at which this EPC was first observed. For new entries, the first_observed_batch may be set to the current batch_count.
c. The last_observed_batch indicates the batch_count at which this EPC was last observed. The last_observed_batch is set to the current batch_count. For new entries, the last_observed_batch may match the first_observed_batch.
d. The consequent_batches_observed indicates a count of batches in which this EPC has been observed. For new entries, the consequent_batches_observed may be set to zero, indicating that the current batch_count is the first batch_count at which this EPC has been observed.
If or when the EPC is present already in the history, the history values for this EPC may be updated as follows.
a. If or when (current batch_count−last_observed_batch) is less than a CONSQ_BATCHES_THRESHOLD, the last_observed_batch is set to the current batch_count and the consequent_batches_observed is incremented by one.
b. Else, the first_observed_batch is set to zero, the last_observed_batch is set to the current batch_count, and the consequent_batches_observed is set to zero. That is, this condition may be reached when a RFID tag 120 has not been observed by a RFID reader 106 for a considerable amount of time, as determined by the CONSQ_BATCHES_THRESHOLD. As such, the history for this EPC is reset back to its initial values.
After the update history component 232 has processed the batch of RFID readings, the RFID readings are passed to the Stage 1 component 234. The Stage 1 component 234 may be configured to calculate a chatter score for each EPC in the batch of RFID readings. First EPCs with respective chatter scores that exceed a chatter score threshold may be considered stray tags, and may be omitted from further processing. That is, the first EPCs may be associated with stationary RFID tags that appear to be moving due to radio interference and the like. Second EPCs with respective chatter scores that do not exceed the chatter score threshold may be processed further. That is, the second EPCs may be selected as candidates for moving (e.g., outgoing) tags.
For each EPC in the batch of RFID readings, the Stage 1 component 234 may calculate a time duration during which the corresponding EPC has been observed, as follows:
duration=(batch_count−first_observed_batch)+1
The Stage 1 component 234 may calculate a chatter score as follows:
chatter_score=log2(duration+e−7)
An EPC which is repeatedly observed across subsequent batches may exhibit a behavior similar to the chatter score values shown in
Referring to
The EPCs which have passed the Stage 1 component 234 selection (e.g., moving tag candidates) may be forwarded to the Stage 2 component 236. The Stage 2 component 236 may be configured to calculate, for each EPC, the following features that are configured to further differentiate moving tags that should be evaluated for triggering an alarm, from stray tags that can be ignored, thereby reducing false alarms.
The Stage 2 component 236 may calculate a read rate, read rate, corresponding to a quantity of RFID readings in the current batch that correspond to each EPC. The Stage 2 component 236 may calculate an antenna entropy measuring if the EPC has been read by a single antenna 102 or if the EPC is oscillating between multiple antennas 102, as follows:
The Stage 2 component 236 may calculate a reader entropy measuring if the EPC has been read by a single reader 106 or if the EPC has been read by multiple readers, as follows:
The Stage 2 component 236 may calculate a read burst, read burst, measuring a sum of time elapsed between the first reading and the last reading across all readings for a particular EPC in the batch.
The Stage 2 component 236 may determine according to at least these calculated features whether each EPC in the batch is a stray (e.g., stationary) tag or a moving (e.g., outgoing) tag. In some aspects, the determination by the Stage 2 component 236 may comprise a decision tree. For example,
Alternatively or additionally, the decision tree may be learned for each installation of the EAS system. In other aspects, a standard decision tree may be used across multiple installations.
The stray tag component 110 may provide, to the system controller 108, the EPCs that have been declared as moving tags by the Stage 2 component 236. In response, the system controller 108 may trigger an alarm based at least one a determination that one or more of the EPCs is not authorized to leave the EAS portal zone (e.g., either based on the tag being detected, or based on data on the tag not indicating that the item is purchased).
A chatter score of an EPC may exhibit a different behavior than the continuous chatter described above with reference to
For example,
However, it would be advantageous to treat EPCs exhibiting the fleeting behavior in a manner similar to the continuously chattering EPCs, that is, to declare fleeting behavior EPCs as stray tags. Referring to
For example,
Referring to
For example,
Referring to
chatter_score_reset=chatter_score+(1−reset_score)
For example,
That is, the modified chatter score increases based on a value of the penalty constant, allowing for the Stage 1 component 234 and the Stage 2 component 236 to declare a fleeting behavior EPC as a stray tag.
Referring back to
In some aspects, the EAS portal 100 may be instructed to enter a setup (or learning) mode. The EAS portal 100 may be allowed to run in the setup mode for a predetermined minimum period of time. While the EAS portal 100 is running in the setup mode, a retail store employee (e.g., an associate) may perform test walks with one or more RFID tags comprising known EPC identification values. The test walks may include walking through the controlled area of the EAS portal 100. Alternatively or additionally, no RFID tags, other than the test RFID tags, may be moved through the controlled area. For example, the known EPC identification values may identify actual moving (e.g., outgoing) tags, rather than stray (e.g., stationary) tags.
The known EPC identification values may be provided to the auto-calibration component 240 either prior to the test or during the setup run time. The auto-calibration component 240 may utilize these known EPC identification values to automatically adjust and/or fine tune the parameters of the stray tag component 110. For example, the auto-calibration component 240 may decrease or increase a sensitivity of the stray tag component 110 to identify an EPC that appears on consecutive batches as a candidate outgoing tag. That is, the auto-calibration component 240 may change chatter score values according to the desired sensitivity (e.g., decrease scores, increase scores). Alternatively or additionally, multiple setup tests may be run until the parameters of the stray tag component 110 are adjusted to provide a desired performance of the stray tag component 110 for the particular retail store scenario.
The auto-calibration component 240 may, for each batch of RFID readings, discard the RFID readings from a particular EPC if or when a quantity of RFID readings from the particular EPC is less than a threshold (e.g., EPC-COUNT-FILTER parameter).
In some aspects, the auto-calibration component 240 may set the MIN-STEP-TIME parameter to a default value (e.g., 2 seconds). In other aspects, the auto-calibration component 240 may reduce or increase a value of the MIN-STEP-TIME parameter according to a distribution of read counts across the batches. For example, the MIN-STEP-TIME parameter may be adjusted to match the read rate of reader processes 210. In another example, the MIN-STEP-TIME parameter may be increased if or when respective read counts for multiple batches do not exceed a threshold. In yet another example, the MIN-STEP-TIME parameter may be decreased if or when the respective read counts for the multiple batches exceeds the threshold.
The auto-calibration component 240 may adjust the chatter score calculation to prevent an EPC that exhibits behavior commensurate with continuous chatter from being considered as a candidate outgoing tag. That is, EPCs that are repeatedly observed across consecutive batches may be chattering EPCs and not indicate an outgoing tag. For example, if or when a particular EPC presents itself for the first time to the system and the particular EPC appears in two consecutive batches, the particular EPC may be considered a good candidate for an outgoing tag and the auto-calibration component 240 may adjust the chatter score for the particular EPC to a maximum chatter score value (e.g., 0.69). In another example, if or when a particular EPC presents itself for the first time to the system and the particular EPC appears in more than two consecutive batches, the particular EPC may be considered a potential chattering EPC and the auto-calibration component 240 may increase the chatter score for the particular EPC above the maximum chatter score value (e.g., 0.69) and allow the chatter score value to continue to increase.
The auto-calibration component 240 may adjust the chatter score calculation to prevent a fleeting EPC from being considered as a candidate outgoing tag. That is, EPCs that are appear and disappear across batches in a cyclic or random fashion may be fleeting EPCs and not indicate an outgoing tag. For example, if or when a particular EPC presents in a first batch and in a second batch, where the first batch and the second batch are sufficiently apart (e.g., exceeds CONSQ_BATCHES_THRESHOLD), the particular EPC may be considered a potential fleeting EPC and the auto-calibration component 240 may adjust the calculation of the chatter score of the particular EPC for the first batch to a first value (e.g., 0.69) and may adjust the calculation of the chatter score for the second batch to a second value (e.g., 0.74). The second chatter score value may be higher than the first chatter score value.
In some aspects, the auto-calibration component 240 may adjust a minimum threshold for indicating whether a particular chatter score value indicates a candidate outgoing tag or a stray tag. In other aspects, the auto-calibration component 240 may set the minimum threshold according to one or more of the chatter scores associated with chattering EPCs and/or fleeting EPCs. For example, the auto-calibration component 240 may set the minimum threshold according to the maximum chatter score value associated with chattering EPCs (e.g., 0.69). In another example, the auto-calibration component 240 may set the minimum threshold according to the first chatter score value (e.g., 0.69) or the second chatter score value (e.g., 0.74) associated with fleeting EPCs. In yet another example, the auto-calibration component 240 may set the minimum threshold to a maximum value of the chatter scores associated with chattering EPCs and/or fleeting EPCs (e.g., 0.74).
Alternatively or additionally, the stray tag component 110 may comprise a machine learning component 250 configured to use machine learning techniques for improving the accuracy of the stray tag component 110. For example, the machine learning component 250 may comprise one or more machine learning algorithms (e.g., Extra Trees classifier, Gaussian Naïve Bayes classifier) configured to reduce a number of false alarms of the stray tag component 110. That is, the machine learning component 250 may reduce a number of incorrect classifications of stray tags as moving tags and/or moving tags as stray tags.
In some aspects, the stray tag component 110 may obtain batches of RFID readings at a particular rate. Each reading of the RFID readings may comprise a timestamp, an identification of the RFID reader that received the reading, an identification of the RFID tag (e.g., EPC), an identification of the antenna that received the reading, and a RS SI value, phase angle, and power level of the returned signal. The respective RSSI values of the RFID readings may be normalized RSSI values. That is, the RSSI values may have been normalized by dividing each RSSI value by the transmission power level of the corresponding RFID signal. The respective phase angles of the RFID readings may be adjusted by performing a modulus operation on each phase angle. For example, the phase angles may have been adjusted by a modulus of 2048.
The machine learning component 250 may group the RFID readings captured for each RFID tag during a particular time period (e.g., 6 seconds) into gathering sessions. For example, each session of the gathering sessions may comprise the RFID readings for a particular RFID tag (or EPC) captured within a 6 second time period. The machine learning component 250 may discard sessions that comprise less than a predetermined threshold of RFID readings (e.g., 4). For example, the machine learning component 250 may discard a session if or when the session comprises less than four readings.
The machine learning component 250 may calculate one or more features for each session of the gathering sessions. The features may be calculated based at least on the values comprised by each of the RFID readings in each corresponding session. In some aspects, features may be categorized into a plurality of categories. For example, features may be divided into two categories, namely, temporal features and sessional features. The temporal features may relate to time-based characteristics of the session. For example, the temporal features may keep track of the antenna, RSSI, and phase angles for the current (or last) reading and one or two previous readings in the session. The sessional features may relate to descriptive characteristics of the session. For example, the sessional features may keep track of an average RSSI and phase angles of a session. Table 1 provides a list of example features that may be calculated by the machine learning component 250. Each feature has a name and a corresponding description. Features may be referenced by their name hereafter.
The machine learning component 250 may determine according to at least one or more machine learning algorithms whether each session in the gathering sessions corresponds to a stray (e.g., stationary) tag or a moving (e.g., outgoing) tag. That is, the machine learning component 250 may filter the gathering sessions using one or more machine learning algorithms to identify sessions that correspond to an RFID tag that is moving. In some aspects, the stray tag component 110 may provide, to the system controller 108, the EPCs that have been declared as moving tags by the machine learning component 250. In response, the system controller 108 may trigger an alarm based at least one a determination that one or more of the EPCs is not authorized to leave the EAS portal zone (e.g., either based on the tag being detected, or based on data on the tag not indicating that the item is purchased).
The machine learning component 250 may implement one or more machine learning algorithms with at least a portion of the aforementioned features. That is, a machine learning algorithm may determine whether a particular session corresponds to a stray tag or to a moving tag based on an analysis of a portion of the features corresponding to the particular session.
In some aspects, the machine learning component 250 may be configured to implement a machine learning algorithm with a particular configuration and to use the output from the machine learning algorithm to determine whether a session corresponds to a stray tag or to a moving tag. For example, the machine learning component 250 may implement a Gaussian Naïve Bayes classifier algorithm. The Gaussian Naïve Bayes classifier algorithm may be configured to analyze a portion of the features (e.g., 19 features) to determine whether a particular session corresponds to a stray tag or to a moving tag. In another example, the machine learning component 250 may implement an Extra Trees classifier algorithm. The Extra Trees classifier algorithm may be configured with a certain number of estimators (e.g., 500 estimators) to analyze a portion of the features (e.g., 25 features) to determine whether a particular session corresponds to a stray tag or to a moving tag.
In other aspects, the machine learning component 250 may be configured to implement two or more machine learning algorithms with corresponding configurations and to use the output from the two or more machine learning algorithms, independently or in combination, to determine whether a particular session corresponds to a stray tag or to a moving tag. For example, the machine learning component 250 may implement the Gaussian Naïve Bayes classifier algorithm and the Extra Trees classifier algorithm. In such an example, the machine learning component 250 may combine the results from the Gaussian Naïve Bayes classifier algorithm and the Extra Trees classifier algorithm to determine whether a particular session corresponds to a stray tag or to a moving tag. In some aspects, the machine learning component 250 may apply a corresponding weight to the results from each of the machine learning algorithms prior to, or as part of, combining the results from the two or more machine learning algorithms.
The environment 1000 may be divided into two or more zones (such as zones 1005A-1005B, hereinafter “1005” generally). A first zone 1005A of the environment 1000 may comprise the EAS portal 100. That is, the EAS portal 100 may be located within the first zone 1005A. In some aspects, the first zone 1005A may be referred to as a near zone of EAS portal 100. The RFID tags (such as tags 120A-120B) that are located within the near zone 1005A may have a high probability of being read repeatedly by the RFID readers 106 of EAS portal 100. As such, the RFID tags located within the near zone 1005 (e.g., 120A-120B) may exhibit behavior commensurate with chattering EPCs. In some aspects, a size and shape of the near zone 1005A may be affected by several factors including, but not limited to, a transmission power level of the RFID readers 106, a reception sensitivity of the RFID readers 106, and/or obstructions in the environment 1000 (e.g., display equipment, building columns, walls). In other optional or additional aspects, the size and shape of the near zone 1005A may be defined according to a predetermined distance and/or radius from the EAS portal 100 (e.g., 1.5 meter radius).
Alternatively or additionally, a remaining portion (e.g., zone 1005B) of the environment 1000 may be referred to as a far zone of EAS portal 100. RFID tags (such as tag 120C) that are located within the far zone 1005B may have a low probability of being read repeatedly by the RFID readers 106. In some aspects, the remaining portion of the environment 1000 may be divided into two or more zones (not shown).
The environment 1000 may include display equipment 1010A-1010G (hereinafter “1010” generally). The display equipment may be provided for displaying objects (or items/articles) to customers of the retail store. The display equipment may include, but not be limited to, shelves, article display cabinets, promotional displays, fixtures, and/or tables. The environment 1000 may also include emergency equipment (not shown), checkout counters, and other equipment and fixtures typical for the facility type. In some aspects, one or more display equipment 1010 may be located within the near zone 1005A (e.g., 1010A-1010B). In other aspects, other display equipment 1010 (e.g., 1010C-1010G) may be located outside of the near zone 1005A, that is, within the far zone 1005B. Alternatively or additionally, one or more objects may be placed on the display equipment 1010. The objects may be attached and/or coupled to a RFID tag 120, such as RFID tags 120B and 120C, as shown in
Referring back to
The near moving component 260 may be configured to classify chattering EPCs located in the near zone 1005A according to their corresponding chatter scores. In some aspects, the near moving component 260 may decrease and/or reduce the CONSQ_BATCHES_THRESHOLD associated with one or more EPCs if or when the corresponding chatter scores for the one or more EPCs exceed the chatter score threshold configured for the stray tag component 110. For example, if or when the stray tag component 110 is configured to run in Band 1 (e.g., chatter score threshold set to 0.75), EPCs with a chatter score that exceeds 0.75 may have their corresponding CONSQ_BATCHES_THRESHOLD decreased and/or reduced. The near moving component 260 may decrease the CONSQ_BATCHES_THRESHOLD by a predetermined amount (e.g., subtract 2 from the value) and/or reduce the CONSQ_BATCHES_THRESHOLD by a predetermined factor (e.g., divide value by 2). The near moving component 260 may continue to decrease and/or reduce the CONSQ_BATCHES_THRESHOLD until a minimum value is reached (e.g., zero). That is, if or when a chatter score of an EPC with a decreased and/or reduced CONSQ_BATCHES_THRESHOLD continues to exceed the chatter score threshold, the near moving component 260 may further decrease and/or reduce the CONSQ_BATCHES_THRESHOLD until the minimum value is reached. In some aspects, the near moving component 260 may classify an EPC with a corresponding chatter score that does not exceed the chatter score threshold (e.g., less than 0.75) and a minimum CONSQ_BATCHES_THRESHOLD (e.g., zero) as a potential candidate EPC (e.g., moving tag) and allow the EPC to be processed further (e.g., provided to the Stage 2 component 236). In other aspects, the near moving component 260 may classify an EPC with a corresponding chatter score that exceeds the chatter score threshold (e.g., equal to or more than 0.75) as a stationary EPC and prevent the EPC from being processed further (e.g., not provided to the Stage 2 component 236).
For example,
Referring back to
In these optional or additional aspects, each EPC entry in the EPC history may include reader_dist and antenna_dist values. The reader_dist values may indicate a probability distribution (or sequence) of RFID readers 106 that have received a reading from the corresponding EPC. For example, the EPC entry in the EPC history may include a reader probability distribution from the current batch (e.g., current_reader_dist) and/or a reader probability distribution from the previous batch (e.g., previous_reader_dist). The antenna_dist values may indicate a probability distribution (or sequence) of antennas 102 that have received a reading from the corresponding EPC. For example, the EPC entry in the EPC history may include an antenna probability distribution from the current batch (e.g., current_antenna_dist) and/or an antenna probability distribution from the previous batch (e.g., previous_antenna_dist).
The near moving component 260 may be configured to measure a difference of the reader probability distribution over time and/or a difference of the antenna probability distribution over time. For example, the near moving component 260 may measure the difference between the reader probability distribution from the current batch (e.g., current_reader_dist) and the reader probability distribution from the previous batch (e.g., previous_reader_dist). Alternatively or additionally, the near moving component 260 may measure the difference between the antenna probability distribution from the current batch (e.g., current_antenna_dist) and the antenna probability distribution from the previous batch (e.g., previous_antenna_dist). In some aspects, the near moving component 260 may measure the difference between the probability distributions by calculating a cross entropy between the probability distributions. In other optional or additional aspects, the near moving component 260 may calculate a Kullback—Leibler (“KL”) divergence, and/or a relative entropy, between the probability distributions.
The near moving component 260 may classify EPCs in the near zone 1005A as moving EPCs if or when the difference (e.g., KL divergence) between the current reader probability distribution (e.g., current_reader_dist) and the previous reader probability distribution (e.g., previous_reader_dist) exceeds a reader divergence threshold (e.g., READER_KL_THRESHOLD) and the difference (e.g., KL divergence) between the current antenna probability distribution (e.g., current_antenna_dist) and the previous antenna probability distribution (e.g., previous_antenna_dist) exceeds an antenna divergence threshold (e.g., ANTENNA_KL_THRESHOLD). That is, the near moving component 260 may cause the EPCs classified as moving EPCs to be processed further (e.g., provided to the Stage 2 component 236).
Alternatively or additionally, the near moving component 260 may classify EPCs in the near zone 1005A as stationary EPCs if or when the difference (e.g., KL divergence) between the current reader probability distribution (e.g., current_reader_dist) and the previous reader probability distribution (e.g., previous_reader_dist) does not exceed the reader divergence threshold (e.g., READER_KL_THRESHOLD) or the difference (e.g., KL divergence) between the current antenna probability distribution (e.g., current_antenna_dist) and the previous antenna probability distribution (e.g., previous_antenna_dist) does not exceed an antenna divergence threshold (e.g., ANTENNA_KL_THRESHOLD). That is, the near moving component 260 may prevent the EPCs classified as stationary EPCs to be processed further.
In some aspects, the reader divergence threshold (e.g., READER_KL_THRESHOLD) and/or the antenna divergence threshold (e.g., ANTENNA_KL_THRESHOLD) may be predetermined values. In other aspects, the reader divergence threshold and/or the antenna divergence threshold may be customized for particular environments. For example, the auto-calibration component 240 may be configured to automatically adjust the reader divergence threshold and/or the antenna divergence threshold.
For example,
Aspects of the present disclosure may be implemented using hardware, software, or a combination thereof and may be implemented in one or more computer systems or other processing systems. In an aspect of the present disclosure, features are directed toward one or more computer systems capable of carrying out the functionality described herein. An example of such a computer system is shown in
In some aspects, the apparatus 1300 may be configured to perform one or more operations described herein in connection with
The stray tag component 110 may comprise an accessing component 1320 for accessing, from a queue, a batch of RFID readings received by a plurality of RFID readers of an EAS system. The batch of RFID readings may be associated with a batch_count value. Each RFID reading in the batch of RFID readings may comprise a RFID identification of a corresponding RFID tag that generated that RFID reading.
The stray tag component 110 may comprise an updating component 1325 for updating a RFID reading history with the batch of RFID readings.
The stray tag component 110 may comprise a selecting component 1330 for selecting a first set of RFID identifications from the batch of RFID readings. Each RFID identification of the first set of RFID identifications may have a corresponding chatter score below a chatter score threshold. Each corresponding chatter score may be calculated according to the RFID reading history.
The stray tag component 110 may comprise a filtering component 1335 for filtering the first set of RFID identifications resulting in a second set of RFID identifications. Each RFID identification in the second set of RFID identifications may correspond to a RFID tag in motion.
The stray tag component 110 may comprise a providing component 1340 for providing, to the EAS system, the second set of RFID identifications, causing the EAS system to alarm based on a determination that one or more RFID tags identified by the second set of RFID identifications are not authorized to leave a controlled area associated with the plurality of RFID readers.
The stray tag component 110 may comprise an auto-calibration component 1345 for automatically determining a scatter score threshold as described above with regard to
The stray tag component 110 may comprise a machine learning component 1350 for determining a set of RFID identifications from a batch of RFID readings according to at least one or more machine learning algorithms, as described above with regard to
The stray tag component 110 may comprise a near moving component 1355 for classifying tags moving near the EAS portal 100 as described above with regard to
Referring to
In block 1402 of
For example, the accessing in block 1402 may include sweeping a batch of RFID readings from the queue 220 at a set interval. In some aspects, the stray tag component 110 may be configured to extract all RFID readings from the queue 220 during each sweep. In other aspects, the stray tag component 110 may be configured to process a portion of the previous queue contents with the current batch RFID readings. In yet other aspects, the stray tag component 110 may be configured to extract and process the RFID readings from the queue 220 if or when a quantity of RFID readings in the queue 220 reaches or exceeds a threshold.
Further, for example, the accessing in block 1402 may be performed to facilitate processing of the RFID readings. And, as such, allowing for the mitigation of false alarms caused by stray tags.
In block 1404 of
For example, the updating in block 1404 may include creating a new entry or updating an existing entry in a EPC history for EPCs identified in the batch of RFID readings.
Further, for example, the updating in block 1404 may be performed to calculate and store values that may be used to identify stray tags in the batch of RFID readings.
In block 1406 of
For example, the selecting in block 1406 may include calculating a chatter score for EPCs identified in the batch of RFID readings. First EPCs with respective chatter scores that exceed a chatter score threshold may be considered stray tags. That is, the first EPCs may be associated with stationary RFID tags to appear to be moving due to radio interference and the like. Second EPCs with respective chatter scores that do not exceed the chatter score threshold may be processed further. That is, the second EPCs may be selected as candidates for moving (e.g., outgoing) tags.
Further, for example, the selecting in block 1406 may be performed to implement a first pass for filtering out RFID readings that exhibit behavior commensurate with stray tags. And, as such, mitigate false alarms potentially caused by the stray tags. Thereby, increasing accuracy and effectiveness over conventional EAS systems.
In block 1408, the method 1400 may include filtering, by the processor, the first set of RFID identifications resulting in a second set of RFID identifications, each RFID identification in the second set of RFID identifications corresponding to a RFID tag in motion. For example, in an aspect, the stray tag component 110, the Stage 2 component 236, the system controller 108, and/or processor 1305 may be configured to or may comprise the means for filtering, by the processor 1305, the first set of RFID identifications resulting in a second set of RFID identifications, each RFID identification in the second set of RFID identifications corresponding to a RFID tag 120 in motion.
For example, the filtering at block 1408 may include calculating a read rate, an antenna entropy, a reader entropy, and a read burst for EPCs identified in the first set of RFID identifications. The filtering at block 1408 may further include determining whether or not the EPCs identified in the first set of RFID identifications are stray tags. The determination may be based on a decision tree.
Further, for example, the filtering in block 1408 may be performed to implement a second pass for filtering out RFID readings that exhibit behavior commensurate with stray tags. And, as such, further mitigate false alarms potentially caused by the stray tags. Thereby, increasing accuracy and effectiveness over conventional EAS systems.
In an additional or optional aspect having automatic calibration features that may be combined with any other aspect herein, the method 1400 may include the steps of: accessing, by a processor of an EAS system from a queue, a batch of RFID readings received by a plurality of RFID readers of the EAS system, the batch of RFID readings being associated with a batch count value, and each RFID reading in the batch of RFID readings comprising a RFID identification of a corresponding RFID tag that generated that RFID reading; updating, by the processor, a RFID reading history with the batch of RFID readings; automatically calibrating, by the processor, a chatter score threshold; selecting, by the processor, a first set of RFID identifications from the batch of RFID readings, each RFID identification of the first set of RFID identifications having a corresponding chatter score below a chatter score threshold, each corresponding chatter score being calculated according to the RFID reading history; filtering, by the processor, the first set of RFID identifications resulting in a second set of RFID identifications, each RFID identification in the second set of RFID identifications corresponding to a RFID tag in motion; and providing, by the processor to the EAS system, the second set of RFID identifications, causing the EAS system to alarm based on a determination that one or more RFID tags identified by the second set of RFID identifications are not authorized to leave a controlled area associated with the plurality of RFID readers.
In another additional or optional aspect having machine learning features that may be combined with any other aspect herein, the method 1400 may include the steps of: accessing, by a processor of an EAS system from a queue, a batch of RFID readings received by a plurality of RFID readers of the EAS system, the batch of RFID readings having been received during a particular time period, each RFID reading in the batch of RFID readings comprising a RFID identification of a corresponding RFID tag that generated that RFID reading, and the batch of RFID readings comprising a minimum quantity of RFID readings for each corresponding RFID tag; determining a set of RFID identifications from the batch of RFID readings according to at least one machine learning algorithm, each RFID identification in the set of RFID identifications corresponding to a RFID tag in motion; and providing, by the processor to the EAS system, the set of RFID identifications, causing the EAS system to alarm based on a determination that one or more RFID tags identified by the set of RFID identifications are not authorized to leave a controlled area associated with the plurality of RFID readers.
In another additional or optional aspect having near zone classification features that may be combined with any other aspect herein, the method 1400 may include the steps of reducing a consequent batch threshold corresponding to a third set of RFID identifications from the batch of RFID readings. The third set of RFID identifications having a chatter score that exceeds the chatter score threshold.
In another additional or optional aspect having near zone classification features that may be combined with any other aspect herein, the method 1400 may include the steps of: calculating, for each RFID identification, a first divergence between a current reader distribution and a previous reader distribution; calculating, for each RFID identification, a second divergence between a current antenna distribution and a previous antenna distribution; and selecting the first set of RFID identifications having a first divergence that exceeds a first threshold and a second divergence that exceeds a second threshold.
Referring to
In block 1502 of
Accordingly, the EAS system 100, the system controller 108, the computing device 1300, and/or the processor 1305 executing the stray tag component 110, and/or Stage 1 component 234 may provide means for determining a chatter score of a RFID identification of an RFID tag that generated one or more RFID readings at one or more RFID readers.
In block 1504 of
Further, for example, the selecting in block 1504 may be performed to implement a first pass for filtering out RFID readings that exhibit behavior commensurate with stray tags. And, as such, mitigate false alarms potentially caused by the stray tags. Thereby, increasing accuracy and effectiveness over conventional EAS systems.
Accordingly, the EAS system 100, the system controller 108, the computing device 1300, and/or the processor 1305 executing the stray tag component 110, Stage 1 component 234, and/or the selecting component 1330 may provide means for selecting the RFID identification based at least in part on the chatter score being below a chatter score threshold.
In block 1506 of
Accordingly, the EAS system 100, the system controller 108, the computing device 1300, and/or the processor 1305 executing the stray tag component 110, Stage 2 component 236, and/or the filtering component 1035 may provide means for determining that the RFID identification corresponds to a RFID tag in motion.
In block 1508, the method 1500 may include triggering, by the processor of the EAS system, an alarm based on a determination that the RFID tag identified by the RFID identification is not authorized to leave a controlled area associated with the one or more RFID readers. For example, the providing component 1040 may provide the RFID identification to a detection component 1060 that causes the alarm notification 1070 based on unauthorized movement out of a controlled area by the RFID tag identified by the RFID identification.
Accordingly, the EAS system 100, the system controller 108, the computing device 1300, and/or the processor 1305 executing the stray tag component 110 may provide means for triggering an alarm based on a determination that the RFID tag identified by the RFID identification is not authorized to leave a controlled area associated with the one or more RFID readers.
It is understood that the specific order or hierarchy of blocks in the processes/flowcharts disclosed is an illustration of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of blocks in the processes/flowcharts may be rearranged. Further, some blocks may be combined or omitted. The accompanying method claims present elements of the various blocks in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects. Unless specifically stated otherwise, the term “some” refers to one or more. Combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof” include any combination of A, B, and/or C, and may include multiples of A, multiples of B, or multiples of C. Specifically, combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof” may be A only, B only, C only, A and B, A and C, B and C, or A and B and C, where any such combinations may contain one or more member or members of A, B, or C. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims.
Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. The words “module,” “mechanism,” “element,” “device,” and the like may not be a substitute for the word “means.” As such, no claim element is to be construed as a means plus function unless the element is expressly recited using the phrase “means for.”
Number | Date | Country | Kind |
---|---|---|---|
63153199 | Feb 2021 | US | national |
This application is a 35 U.S.C. § 371 National Phase application of PCT Application No. PCT/US2022/070824 filed Feb. 24, 2022, which claims priority to U.S. Patent Application No. 63/153,199, entitled “System and Method for Detection of Near Moving Radio Frequency Identification (RFID) Tags,” filed on Feb. 24, 2021, the disclosure of which is incorporated by reference herein in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/070824 | 2/24/2022 | WO |