Machine learning based on evolutionary algorithms applied to the detection of electronic item monitoring tags

By applying an evolutionary algorithm to optimize the model in the training data, the problem of imbalanced training data was solved, and a model capable of accurately identifying valid tag readings in electronic item monitoring was generated, thereby improving the detection accuracy and efficiency of the system.

CN115668322BActive Publication Date: 2025-10-28SENSORMATIC ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180036952.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-19
Filing Date
2021-03-23
Publication Date
2025-10-28
Estimated Expiration
2041-03-23

AI Technical Summary

Technical Problem

With a large amount of noise and imbalance in the training data, existing technologies struggle to build effective machine learning models, especially in the detection of electronic item monitoring tags, where false tag readings far outnumber true readings, resulting in low model accuracy and efficiency.

Method used

Evolutionary algorithms, particularly genetic algorithms, are used to generate models that can distinguish between valid tag readings and stray readings by modifying and optimizing training data. Tag reader devices are used to detect and identify valid tag readings and trigger alarms or update inventory information when necessary.

Benefits of technology

Under noisy and imbalanced training data conditions, an efficient and accurate machine learning model was generated, which improved the accuracy of label detection and the efficiency of the system, and could effectively identify unauthorized movement or changes in inventory location.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115668322B_ABST
    Figure CN115668322B_ABST
Patent Text Reader

Abstract

Examples include techniques for building ML models in use cases with an astonishing amount of training data and for employing the ML models within said use cases. These techniques may include: determining training information comprising multiple spurious training reads and multiple valid training reads; determining modified training information based at least in part on modifying the multiple valid training reads; and generating a model based on the modified training information and an evolutionary algorithm to distinguish valid reads from spurious reads. Additionally, the techniques may include: detecting multiple label reads by a monitoring device in response to multiple interactions between a label and the monitoring device; and determining multiple valid label reads by the monitoring device based on the model and the multiple label reads.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims priority to U.S. Non-Provisional Application No. 17 / 207,340, filed March 19, 2021, entitled “Facilitating ML Algorithm Contribution to Use Cases Where Data Is Prohibitive,” and U.S. Provisional Application No. 63 / 018,190, filed April 30, 2020, entitled “Facilitating ML Algorithm Contribution to Use Cases Where Data Is Prohibitive,” the disclosures of which are incorporated herein by reference in their entirety. Background Technology

[0003] This disclosure generally relates to facilitating machine learning (ML) algorithm contributions in use cases with an astonishing amount of data, and more specifically, to systems and methods for building reliable models for identifying valid tag readings captured by tag reader devices.

[0004] In supervised learning environments, training data can be used to build ML models. Training data can be collected from activities in real-world environments and consists of datasets containing training instances with relevant labels. For example, when training an ML model in an electronic article surveillance tag (hereinafter referred to as "tag") monitoring environment, the training data may contain triangulated tag readings captured by a tag reader device. Furthermore, in some cases, the training data may be noisy and heavily biased towards false positives. For example, within the training data, the amount of false tag readings may significantly exceed the amount of valid tag readings. Therefore, in tag detection environments, it may be difficult to accurately and efficiently build a useful ML model based on the training data.

[0005] Due to the challenges of acquiring sufficient training data and determining a set of features that can be used to build an ML model from the training data, many systems implement rule-based approaches as an alternative to using ML. Rule-based systems have several drawbacks. For example, they cannot adapt to changing conditions or learn over time. Furthermore, managing rule-based systems can become cumbersome and complex as the number of rules increases. Additionally, the probability of regression increases with each modification or update of the rules. Summary of the Invention

[0006] The following is a simplified overview of one or more aspects to provide a basic understanding of such aspects. This invention is not a comprehensive review of all anticipated aspects, nor is it intended to identify key or essential elements of all aspects, nor to depict 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 follows.

[0007] This disclosure provides systems, apparatus, and methods for building ML models in use cases with an astonishing amount of training data and for employing the ML models within said use cases.

[0008] On one hand, a method for building an ML model in a use case with an astonishing amount of training data, the method comprising: determining training information comprising a plurality of spurious training reads and a plurality of valid training reads; determining modified training information based at least in part on modifying the plurality of valid training reads; generating a model for distinguishing valid reads from spurious reads based on the modified training information and an evolutionary algorithm; detecting a plurality of label reads by a monitoring device in response to a plurality of interactions between a label and the monitoring device; and determining a plurality of valid label reads by the monitoring device based on the model and the plurality of label reads.

[0009] In some implementations, the monitoring device is a tag reader system within an electronic article surveillance system, and the method further includes determining that the plurality of valid tag readings correspond to unauthorized movement of the tags outside a geographic area (e.g., theft of an item attached to a tag), and triggering an alarm notification at least in part based on the determination. Additionally, the monitoring device may include a first base and a second base, the first base including a first plurality of antennas and the second base including a second plurality of antennas, and detecting the plurality of tag readings includes: synchronizing the first plurality of antennas of the first base and the second plurality of antennas of the second base to generate a field; and detecting a first tag reading among the plurality of tag readings within the field.

[0010] In some embodiments, the monitoring device is a tag scanner in an inventory management system, and the method further includes determining that the plurality of valid tag readings correspond to the relocation of the tags to a geographic area, and triggering a location notification identifying the geographic area. Further, in some embodiments, the method further includes updating inventory information based on the location notification to indicate that the item associated with the tag is located at the location of the monitoring device.

[0011] In some embodiments, the evolutionary algorithm is a genetic algorithm, and generating the model includes determining a first plurality of models for distinguishing the valid tag readings from the stray readings; determining fitness information indicating the effectiveness of the first plurality of models; determining a second plurality of models based on the fitness information and a threshold; determining a third plurality of models by mating in the second plurality of models and applying mutations to the offspring of the mating; and selecting the model from the third plurality of models. Further, in some embodiments, the third plurality of models may be used by the tag monitoring system in a holistic manner.

[0012] On one hand, a system for building ML models in use cases with an astonishing amount of training data, the system management device including a memory storing instructions; and at least one processor coupled to the memory and configured by the instructions to identify training information comprising multiple spurious training reads and multiple valid training reads, to determine modified training information based at least in part on modifying the multiple valid training reads, and to generate a model based on the modified training information and an evolutionary algorithm for distinguishing valid reads from spurious reads, the model being used to identify multiple valid label reads captured at a monitoring device.

[0013] This disclosure includes a system having means, components, and modules corresponding to the steps of the described methods, and a computer-readable medium having instructions executed by a processor to perform the described methods.

[0014] To achieve the foregoing and related objectives, one or more aspects include the features fully described below and specifically pointed out in the claims. The following description and drawings illustrate certain illustrative features of one or more aspects in detail. However, these features indicate only a few of the various ways in which the principles of each aspect can be employed, and this description is intended to encompass all such aspects and their equivalents. Attached Figure Description

[0015] The disclosed aspects will be described below in conjunction with the accompanying drawings, which are provided for illustration and not limitation of the disclosed aspects. Like reference numerals denote like elements in the drawings, and in the drawings:

[0016] Figure 1 This is a schematic diagram of a system, based on some implementation schemes, for promoting the contribution of ML algorithms in use cases with an astonishing amount of data.

[0017] Figure 2 It is a block diagram of an instance of a computer device configured to facilitate the contribution of ML algorithms in use cases with an astonishing amount of data, according to some implementation schemes.

[0018] Figure 3 This is a flowchart illustrating examples of methods for enhancing the contribution of ML algorithms in use cases with an astonishing amount of data, based on some implementation schemes. Detailed Implementation

[0019] The detailed description below, illustrated with reference to the accompanying drawings, is intended to describe various configurations and is not intended to represent the only configurations in which the concepts described herein can be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the various concepts. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details. In some instances, well-known components may be shown in the form of block diagrams to avoid confusing these concepts.

[0020] Implementations of this disclosure provide methods, apparatus, and systems that allow building and employing ML models in use cases with an astonishing amount of training data. As used herein, in some implementations, “astonishing amount of data” can refer to unfavorable data that may present difficulties in training an accurate ML model (e.g., imbalanced classes in the training data, insufficient sample complexity / size, etc.). These systems, methods, and apparatuses will be described in the following detailed description and illustrated in the accompanying drawings by various modules, blocks, components, circuits, processes, algorithms, and other examples (collectively, “elements”). These elements can be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends on the specific application and the design constraints imposed on the system as a whole. By way of example, an element, any part of an element, or any combination of elements can be implemented as a “processing system” comprising one or more processors. Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), and other suitable hardware configured to perform the various functions described throughout this disclosure. One or more processors in a processing system can execute software. Software should be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subroutines, software components, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., regardless of whether it is called software, firmware, middleware, microcode, hardware description languages, or anything else. If implemented in software, functionality can be stored on a computer-readable medium or encoded as one or more instructions or codes on a computer-readable medium. Computer-readable media includes computer storage media that can be called non-transitory computer-readable media. Non-transitory computer-readable media excludes transient signals. Storage media can be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), optical disc storage devices, magnetic disk storage devices, other magnetic storage devices, combinations of computer-readable media of the above types, or any other medium that can be used to store computer-executable code in the form of instructions or data structures that can be accessed by a computer.

[0021] In some implementations, one problem addressed by this solution is the ability to generate ML models accurately and efficiently despite unfavorable training data. For example, this disclosure describes systems and methods for generating and employing one or more ML models even when false positives and severe biases are found in the training data.

[0022] In one instance, this disclosure includes a system and method for generating an ML model in the context of an astonishing amount of training data, and employing the ML model to enable tag readings to be classified as valid tag readings or stray tag readings in a tag monitoring system. The system and method utilize evolutionary algorithms to mitigate imbalances in the training data when constructing the ML model, and leverage the ML model to help the system detect unauthorized movement of items or relocation of items in an inventory management system.

[0023] The implementation scheme disclosed herein may be useful for system designers and operators striving to adopt ML, despite the overwhelming amount of training data available. For example, operators of Electronic Surveillance Systems (“EAS”) face numerous difficulties when adopting ML in tag monitoring solutions due to imbalanced training data. Existing solutions to this problem are cumbersome, inefficient, and require operators to adopt rule-based systems that are difficult to scale. Despite the overwhelming amount of training data available, this solution provides improved accuracy and efficiency for such scenarios by generating high-performance ML models.

[0024] refer to Figure 1 In a non-limiting aspect, system 100 is configured to generate ML models for identifying valid tag readings of a tag reader device. For example, system 100 is configured to generate one or more ML models for classifying tag readings as valid tag readings or stray tag readings by applying an evolutionary algorithm to an imbalanced training dataset. Further, system 100 may employ one or more ML models within an EAS or inventory management system located within a controlled area 101.

[0025] As in Figure 1 As shown, the system may include a device 102 for managing devices and data within a management system 100, a plurality of tags 104(1)-(N) attached to a plurality of items 106(1)-(N), and one or more tag monitoring devices 108(1)-(N) configured to detect the presence of the plurality of tags 104(1)-(N).

[0026] In some implementations, multiple tags 104(1)-(N) include radio frequency identification (“RFID”) components. Further, the RFID components can generate signals having one or more attributes detectable by the tag monitoring devices 108(1)-(N). For example, the RFID components can passively generate a resonant signal in response to an interrogation signal received from the tag monitoring devices 108(1)-(N). Furthermore, the resonant signal can have a specific frequency within the operating frequency range of the tag monitoring devices 108.

[0027] In some implementations, system 100 is an EAS, and tag monitoring devices 108(1)-(2) include a tag reader system that creates a monitored area in which the presence of multiple tags 104(1)-(N) can be detected. The monitored area can be created at an access point of controlled area 101 (e.g., near a retail store entrance and / or exit). If tag 104(1) is valid and its corresponding item 106(1) enters the monitored area, an alarm notification 110 can be triggered to indicate possible unauthorized movement from controlled area 101.

[0028] Alternatively or concurrently, system 100 may be an inventory management system that tracks the location of multiple items 106(1)-(N) within one or more geographic areas (e.g., controlled area 101). In some embodiments, tag monitoring device 108 may be a handheld tag scanner that detects the presence of multiple tags 104(1)-(N) and updates inventory information 112 indicating the location of multiple items 106(1)-(N) within one or more geographic areas.

[0029] System 100 may include training data 114 for training an ML model to classify valid label readings and a data formatter 116 for formatting the training data 114 (e.g., normalizing the training data 114, encoding the training data 114, etc.). During the setup phase, the training data 114 may be generated by capturing interactions between a label monitoring device (e.g., label monitoring device 108) and one or more labels (e.g., multiple labels 104). In some embodiments, the interactions may be simulated in a test environment or captured after the initial installation of label monitoring device 108(1)-(N) in a real-world environment.

[0030] Training data 114 may contain multiple valid tag readings and multiple spurious tag readings. Further, individual tag readings may contain, for example, but not limited to, one or any combination of the following: tag identifier, date and time of interaction, tag monitoring device identifier, corresponding item identifier, antenna information, gating information, port identifier, beam identifier, session identifier, target identifier, field identifier, area identifier, direction (e.g., entering or leaving), activity type (e.g., walking, running), channel number, transmit power, frequency, or received signal strength indicator (“RSSI”) value. As described herein, training data 114 can be surprisingly abundant due to the nature of tag detection. For example, training data 114 may be extremely noisy and heavily biased towards false positives due to reflections, blockages, and other conditions that may lead to spurious tag readings at tag monitoring devices 108(1)-(N). In some cases, training data 114 may be severely unbalanced, i.e., spurious tag readings may significantly outnumber valid tag readings. In response, the data formatter 116 can generate additional valid tag readings by generating a copy of the valid tag readings and applying minor modifications or mutations to the copy of the valid tag readings.

[0031] As in Figure 1 As shown, system 100 may include a model builder 118 for generating ML models 120(1)-(N) for recognizing valid label readings. Model builder 118 may determine the algorithm type, features, parameters (e.g., weights, layer shapes, number of layers, etc.), and hyperparameters for the ML model 120. For example, model builder 118 may employ deep learning techniques to extract higher-level features from training data 114.

[0032] In some implementations, to generate ML model 120(1)-(N), model builder 118 may define a loss function that measures the inaccuracy of predictions made by ML model 120(1)-(N) and find parameters that minimize the error in predictions made by ML model 120(1)-(N). Due to the imbalanced nature of training data 114, minimizing the error in predictions made by ML model 120(1)-(N) relative to training data 114 may be a nonconvex optimization problem. As noted herein, in some implementations, a nonconvex optimization problem is one where the objective or any constraint is nonconvex. Such problems may have multiple feasible regions and multiple local optima within each region. Further, model builder 118 may employ gradient-based techniques to find the minimum of the loss function of ML model 120. For example, model builder 118 may employ a gradient descent algorithm configured to iteratively work toward the minimum of the loss function of ML model 120. In some implementations, the gradient descent algorithm can perform training iterations, wherein during each training iteration, the parameters of the ML model 120 can be increased by a step size, decreased by a step size, or remain unchanged.

[0033] In some implementations, the model builder 118 may employ an evolutionary algorithm to construct the ML model 120(1)-(N). For example, the model builder 118 may employ a genetic algorithm that iteratively selects the best-fitting solution as a population, mates the best-fitting solutions to generate offspring solutions, mutates the offspring solutions, and determines the fitness of the mutated offspring solutions. In successive iterations (i.e., generations), the population may evolve toward the optimal solution.

[0034] Specifically, genetic algorithms can construct a population of solutions called individuals. Each individual can be represented as a chromosome containing a set of parameters that define the individual (e.g., features / variables, etc.). In other words, an individual is characterized by a set of parameters called genes, and these genes can be combined into a string to form a chromosome representing the individual.

[0035] In some implementations, chromosomes can be represented by multiple gene values, each located at a gene position corresponding to a specific feature of the model. Furthermore, the model builder 118 can employ a fitness function to determine the fitness value of each individual. The fitness value can represent the quality or efficacy of the individual. Therefore, the higher the fitness value, the higher the quality of the individual.

[0036] Additionally, model builder 118 can select multiple individuals from the population as members of the mating pool. In some cases, model builder 118 can select a predetermined number or percentage of individuals, or one or more individuals with fitness values ​​above a predetermined threshold. Next, model builder 118 can mate the individuals in the mating pool. In some embodiments, mating can involve performing a crossover function between two parent individuals to generate two offspring with gene values ​​from the two parent individuals. Further, gene values ​​passed to the offspring can be randomly selected. In some embodiments, model builder 118 can perform a single-point crossover, wherein model builder 118 selects a random gene position in the parent chromosome and swaps the gene values ​​before and after the gene position from the parent individual. Further, model builder 118 can perform a mutation function on the two offspring. The mutation function can randomly modify one or more gene values ​​within the offspring chromosome. If the population has converged (i.e., failed to generate offspring significantly different from the previous generation), the genetic algorithm can terminate, and the mutated offspring can be used as ML model 120(1)-(N). Otherwise, the model builder 118 can replace individuals within the population with offspring and repeat the steps of the genetic algorithm.

[0037] As in Figure 1 As shown, system 100 may further include a synchronization module 122 configured to coordinate the creation of sessions, fields, and zones by one or more monitoring devices 108(1)-(N). In some embodiments, synchronization module 122 may facilitate the cyclical reading of tag readers of one or more monitoring devices 108(1)-(N) through upper and lower antennas, internal and external beams on each antenna, high-power session readings for “FAR” detection of tags, and low-power session readings for “NEAR” detection of tags. For example, monitoring devices 108(1)-(2) may be mounted next to a door. Additionally, tag monitoring device 108(1) may include a first base comprising a first plurality of antennas, and tag monitoring device 108(2) may include a second base comprising a second plurality of antennas. Furthermore, synchronization module 122 may assist the first and second bases in creating four overlapping fields by adjusting the power of the various antenna readings. In some cases, when tag 104(1) is read by monitoring device 108(1)-(N), monitoring device 108(1)-(N) can store the tag reading as a tag reading entry in tag reading information 124. Alternatively, in some embodiments, a single tag reading entry can identify the area where tag 104(1) is located during the reading.

[0038] As in Figure 1As shown, system 100 may include one or more sensors 126(1)-(N) (e.g., people counters, motion detectors, etc.) to indicate whether a tag reading corresponds to a person entering or leaving controlled area 101. Further, as in Figure 1 As shown, system 100 may include a detection module 128 configured to detect unauthorized movement of items 106(1)-(N) through a monitored area. Detection module 128 may employ at least one of ML models 120(1)-(N), sensors 126(1)-(N), tag reading information 124, and one or more detection rules 129(1)-(N) to detect unauthorized movement of multiple items 106(1)-(N). For example, detection module 128 may employ ML models 120(1)-(N) to identify valid readings within tag reading information 124, and employ sensors 126(1)-(N) and detection rules 129(1)-(N) to determine whether to trigger a notification (e.g., alarm notification 110) based on the identified valid readings. Further, in some embodiments, detection module 128 may employ two or more ML models 120(1)-(N) in the overall approach.

[0039] For example, a person may carry item 106(1) labeled 104(1) and walk through a monitored area created by monitoring devices 108(1)-(2). As the person walks through the monitored area, a set of tag readings can be created based on the interaction between tag 104(1) and monitoring devices 108(1)-(2) and stored in tag reading information 124. Further, detection module 128 may employ one or more ML models 120(1)-(N) to determine which tag readings in tag reading information 124 are valid tag readings. Additionally, detection module 128 may extract the field of each valid tag reading and generate a temporal pattern containing the field. If sensors 126(1)-(N) indicate that a person is moving from the inside of the controlled area 101 to the controlled outside, and detection rules 129(1)-(N) indicate that the pattern is consistent with unauthorized movement through the monitored area, detection module 128 may trigger alarm notification 110. In some implementations, system 100 may update ML model 120(1)-(N) at least in part based on the performance of detection module 128. For example, model builder 118 may retrain ML model 120 based on the accuracy of detection module 128 in real-world use.

[0040] In some embodiments, system 100 is an inventory management system. Further, detection module 128 can be configured to detect the relocation of tag 104(1) and item 106(1) to a geographic area within controlled area 101. For example, an operator of the inventory management system can use tag monitoring device 108(1) to read tag 104(1) on item 106(1). If detection module 128 determines that the reading is a valid tag reading, detection module 128 can trigger a location notification 130 identifying the current location of tag monitoring device 108(1). Further, in some embodiments, management device 102 or tag monitoring device 108(1) can update the inventory information corresponding to item 106(1) based on location notification 130 to indicate the location of item 106(1) within the monitoring device.

[0041] In some instances, the management device 102 may include inventory information 112, training data 114, data formatter 116, model builder 118, ML models 120(1)-(N), synchronization module 122, tag reading information 124, or detection module 128. Alternatively or alternatively, the monitoring device 108(1)-(N) may include inventory information 112, training data 114, data formatter 116, model builder 118, ML models 120(1)-(N), synchronization module 122, tag reading information 124, or detection module 128.

[0042] As in Figure 1 As shown in some embodiments, system 100 may include a communication network 132. Further, management device 102, monitoring devices 104(1)-(N), tags 106(1)-(N), and sensors 126(1)-(N) can communicate via communication network 132. For example, synchronization module 122 can synchronize monitoring devices 104(1)-(N) via communication network 132, management device 102 can send ML model 120(1)-(N) to monitoring devices 104(1)-(N) via communication network 132, and monitoring devices 104(1)-(N) can send location notification 130 to management device 102 via communication network 132. In some embodiments, communication network 132 may include any one or all of the following: wired and / or wireless private networks, personal area networks, local area networks, wide area networks, or the Internet.

[0043] refer to Figure 2The computing device 200 may implement all or part of the functions described herein. The computing device 200 may be, contain, or be configured to implement the functions of at least a portion of system 100 or any of its components. For example, the computing device 200 may be, contain, or be configured to implement the functions of management device 102, tags 104(1)-(N), monitoring devices 108(1)-(N), or sensors 126(1)-(N). The computing device 200 includes a processor 202, which may be configured to execute or implement software modules, hardware modules, and / or firmware modules that perform any of the functions described herein. For example, processor 202 may be configured to execute or implement software modules, hardware modules and / or firmware modules that perform any of the functions described herein, referring to the following: model builder 118 for generating ML models 120(1)-(N), detection module 128 for detecting specific types of movement of multiple items 106(1)-(N) using ML models 120(1)-(N) and triggering alarm notification 110 or location notification 130, or any other component / system / device described herein.

[0044] Processor 202 may be a microcontroller, application-specific integrated circuit (ASIC), digital signal processor (DSP), or field-programmable gate array (FPGA), and / or may contain one or more processors or a multi-core processor. Furthermore, processor 202 may be implemented as an integrated processing system and / or a distributed processing system. Computing device 200 may further include memory 204, such as for storing local versions of applications executed by processor 202, related instructions, parameters, etc. Memory 204 may contain a type of memory usable by a computer, such as random access memory (RAM), read-only memory (ROM), magnetic tape, magnetic disk, optical disk, volatile memory, non-volatile memory, and any combination thereof. Additionally, processor 202 and memory 204 may contain and execute an operating system, one or more application programs, display drivers, etc., and / or other components of computing device 200 that execute on processor 202.

[0045] Furthermore, the computing device 200 may include a communication component 206, which provides the means to establish and maintain communication with one or more other devices, parties, entities, etc., using hardware, software, and services. The communication component 206 may carry communication between components on the computing device 200, as well as communication between the computing device 200 and external devices (such as devices located on a communication network and / or devices serially or locally coupled to the computing device 200). On one hand, for example, the communication component 206 may include one or more buses, and may further include transmit chain components and receive chain components, respectively associated with a wireless or wired transmitter and receiver, operable for interfacing with external devices.

[0046] Additionally, computing device 200 may include data storage 208, which can be any suitable combination of hardware and / or software, providing mass storage for information, databases, and programs. For example, data storage 208 may be, or may contain, a database of applications and / or related parameters not currently being executed by processor 202. Furthermore, data storage 208 may be a database of operating systems, applications, display drivers, etc., executing on processor 202 and / or one or more other components of computing device 200.

[0047] The computing device 200 may also include a user interface component 210 operable to receive input from a user of the computing device 200 and further operable to generate output for presentation to the user (e.g., via a display interface to a display device). The user interface component 210 may include one or more input devices, including, but not limited to, a keyboard, numeric keypad, mouse, touch-sensitive display, navigation keys, function keys, microphone, voice recognition component, or any other mechanism or combination thereof capable of receiving input from the user. Furthermore, the user interface component 210 may include one or more output devices, including, but not limited to, a display interface, speaker, haptic feedback mechanism, printer, or any other mechanism or combination thereof capable of presenting output to the user.

[0048] refer to Figure 3 In operation, computing device 200 can execute example method 300 for facilitating the contribution of ML algorithms in use cases with an astonishing amount of data. Method 300 can be implemented by one or more components of computing device 200 or any device / component described herein, as per [reference needed]. Figure 1 The described technology is used to perform this.

[0049] At block 302, method 300 includes determining training information comprising a plurality of spurious training reads and a plurality of valid training reads. For example, training data 114 can be generated by capturing interactions between at least one tag monitoring device 108 and at least one tag 104(1)-(N). In some aspects, the interactions can be simulated in a test environment or captured after the tag monitoring device 108 is installed in a real-world environment (e.g., a controlled area). As described in detail herein, training data 114 may comprise a plurality of spurious training reads and a plurality of valid training reads. Further, training data 114 may be provided to management device 102. Thus, management device 102 or processor 202 may provide means for determining training information comprising a plurality of spurious training reads and a plurality of valid training reads.

[0050] At block 304, method 300 includes determining modified training information based at least in part on modifying a plurality of valid training reads. For example, data formatter 116 can generate additional valid label reads by generating copies of valid label reads and applying modifications or mutations to copies generated within training data 114. Thus, management device 102 or processor 202 executing data formatter 116 can provide means for determining modified training information based at least in part on modifying a plurality of valid training reads.

[0051] At block 306, method 300 includes generating a model for distinguishing valid reads from spurious reads based on the modified training information and an evolutionary algorithm; for example, model builder 118 may generate ML models 120(1)-(N) for identifying valid labeled reads based on training data 114 containing duplicated and modified valid labeled reads. Further, model builder 118 may employ an evolutionary algorithm to construct ML models 120(1)-(N). For example, model builder 118 may employ a genetic algorithm that iteratively selects the best-fitting solutions as a population, mates the best-fitting solutions to generate offspring solutions, mutates the offspring solutions, and determines the fitness of the mutated offspring solutions. As described herein, the population can evolve toward the optimal solution over several generations. Therefore, management device 102 or processor 202 executing model builder 118 may provide components for generating a model for distinguishing valid reads from spurious reads based on the modified training information and an evolutionary algorithm.

[0052] At block 308, method 300 includes multiple tag readings detected by the monitoring device in response to multiple interactions between the tag and the monitoring device. For example, synchronization module 122 can help establish a monitoring zone by coordinating the creation of sessions, fields, and zones of the tag reader system of monitoring devices 108(1)-(N). Further, a sponsor within the controlled area 101 can carry an item 106 with tag 104 affixed and walk through the monitoring zone created by monitoring devices 108(1)-(2). As the sponsor walks through the monitoring zone, a set of tag readings can be created based on the interaction between tag 104 and monitoring devices 108(1)-(2) and stored as tag reading information 124. As another example, in some aspects, tag monitoring device 108(1) can be a handheld tag scanner, and an operator of an inventory management system can use tag monitoring device 108(1) to read tags 104(1) on items 106(1) where tags 104(1)-(N) are detected during the inventory management process to generate tag reading information 124.

[0053] Therefore, in some aspects, the tag monitoring device 108 or the processor 202 may provide components for detecting multiple tag readings in response to multiple interactions between the tag and the monitoring device. For example, the tag monitoring device 108 or the processor 202 executing the synchronization module 122 provides components for detecting multiple tag readings in response to multiple interactions between the tag and the monitoring device.

[0054] At block 310, the monitoring device determines multiple valid tag readings based on the model and the third plurality of tag readings. For example, detection module 128 may use one or more ML models 120(1)-(N) to determine which tag readings in tag reading information 124 are valid tag readings. In addition, detection module 128 may extract the field of each valid tag reading and generate a temporal pattern containing the field. If sensor 126(1)-(N) indicates that a person is moving from the inside of the controlled area 101 to the controlled outside, and detection rule 129(1)-(N) indicates that the pattern is consistent with unauthorized movement across the monitored area, detection module 128 may trigger alarm notification 110.

[0055] As another example, detection module 128 can determine whether a label scanner reading captured by label monitoring device 108(1) is a valid label reading. If detection module 128 determines that the label scanner reading is a valid label reading, detection module 128 can trigger location notification 130 to identify the current location of label monitoring device 108(1). Further, in some embodiments, management device 102 or label monitoring device 108(1) can update the inventory information corresponding to item 106(1) based on location notification 130 to indicate the location of item 106(1) in the monitoring device.

[0056] Therefore, the processor 202 of the tag monitoring device 108 or the execution detection module 128 provides a component for determining multiple valid tag readings by the monitoring device based on a model and a third plurality of tag readings.

[0057] In an alternative or other aspect, the evolutionary algorithm may be a genetic algorithm, and the generating model may include, in method 300, determining a first plurality of models for distinguishing the valid tag readings from the stray readings, determining fitness information indicating the effectiveness of the first plurality of models, determining a second plurality of models based on the fitness information and a threshold, determining a third plurality of models by mating in the second plurality of models and applying mutations to the offspring of the mating, and selecting the model from the third plurality of models.

[0058] In an alternative or other aspect, the monitoring device includes a first base and a second base, the first base including a first plurality of antennas and the second base including a second plurality of antennas, and is used to detect the plurality of tag readings, the method 300 including synchronizing the first plurality of antennas of the first base and the second plurality of antennas of the second base to generate a field; and detecting a first tag reading among the plurality of tag readings within the field.

[0059] In an alternative or other aspect, the monitoring device is a tag reader system in an electronic article surveillance system, and method 300 further includes determining that the plurality of valid tag readings correspond to unauthorized movement of the tags outside a geographic area, and triggering an alarm notification at least in part based on the determination.

[0060] In an alternative or other aspect, the monitoring device is a label scanner in an inventory management system, and method 300 further includes determining that the plurality of valid label readings correspond to the relocation of the labels to a geographic area, and triggering a location notification to identify the geographic area.

[0061] In an alternative or additional aspect, method 300 further includes updating inventory information based on the location notification to indicate that the item associated with the tag is located at the location of the monitoring device.

[0062] In some implementations, method 300 may further include updating inventory information corresponding to the location in the monitoring device.

[0063] In some implementations, method 300 further includes updating inventory information to indicate the location of the item associated with the tag at the location of the monitoring device.

[0064] The preceding 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 a person skilled in the art, and the general principles defined herein may be applied to other aspects. A full scope consistent with the language of the claims is given, wherein reference to an element in the singular does not imply "one and only one" (unless expressly stated otherwise), but rather "one or more". The word "exemplary" herein means "serving as an example, situation, or illustration". Any aspect described herein as "exemplary" is not necessarily to be construed as superior to or overriding other aspects. Unless otherwise specifically stated, the term "some" means 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" encompass any combination of A, B, and / or C, and may include multiple A, multiple B, or multiple 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" can be A only, B only, C only, A and B, A and C, B and C, or A and B and C, wherein any such combination may contain one or more members of A, B, or C. All structural and functional equivalents of the elements throughout the various aspects described in this disclosure that are known or subsequently known to those skilled in the art are expressly incorporated herein by reference and are intended to be covered by the claims. Furthermore, nothing disclosed herein is intended to be offered to the public, whether or not this disclosure is expressly stated in the claims. Terms such as "module", "mechanism", "element", and "device" may not replace the term "component". Therefore, no claim element should be construed as a component plus a function unless the element is expressly stated using the phrase "component for...".

Claims

1. A method comprising: Determine training information that includes multiple spurious training readouts and multiple valid training readouts; The modified training information is determined at least in part based on modifying the plurality of valid training reads, wherein modifying the plurality of valid training reads includes generating additional valid training reads by generating copies of the valid training reads and applying modifications or mutations to the generated copies within the training information. A model for distinguishing valid readouts from spurious readouts is generated based on the modified training information and evolutionary algorithm. Multiple tag readings are detected by the monitoring device in response to multiple interactions between the tag and the monitoring device; as well as The monitoring device determines multiple valid tag readings based on the model and the multiple tag readings.

2. The method according to claim 1, wherein the evolutionary algorithm is a genetic algorithm, and generating the model comprises: Determine a first plurality of models for distinguishing the valid readings from the stray readings; Determine fitness information indicating the performance of the first plurality of models; Based on the fitness information and threshold, a second set of multiple models are determined; A third plurality of models are determined by mating in the second plurality of models and applying mutations to the offspring of said mating; and Select the model from the third plurality of models.

3. The method according to claim 1, wherein the monitoring device comprises a first base and a second base, the first base comprising a first plurality of antennas, the second base comprising a second plurality of antennas, and detecting the plurality of tag readings comprises: The first plurality of antennas of the first base and the second plurality of antennas of the second base are synchronized to generate a field; as well as The first tag reading among the plurality of tag readings is detected within the field.

4. The method according to claim 1, wherein the monitoring device is a tag reader system in an electronic article monitoring system, and the method further comprises: The plurality of valid tag readings are determined to correspond to unauthorized movement of the tags outside the geographic area; as well as The alarm notification was triggered at least in part based on the unauthorized movement.

5. The method of claim 1, wherein the monitoring device is a label scanner in an inventory management system, and the method further comprises: The plurality of valid tag readings are determined to correspond to the relocation of the tags to geographic areas; as well as Trigger a location notification that identifies the geographic area.

6. The method of claim 5, the method further comprising updating inventory information based on the location notification to indicate that an item associated with the tag is located at the location of the monitoring device.

7. The method according to claim 1, the method further comprising updating the model based on the measurement accuracy of the monitoring device.

8. A system comprising: Management device, the management device comprising: A memory, wherein instructions are stored; and At least one processor, the at least one processor being coupled to the memory and configured by the instructions to: Identify training information that includes multiple spurious training readouts and multiple valid training readouts; The modified training information is determined at least in part based on modifications to the plurality of valid training reads. Modifying the plurality of valid training reads includes generating copies of the valid training reads and applying modifications or mutations to the copies generated within the training information to generate additional valid training reads; and A model is generated based on the modified training information and evolutionary algorithm to distinguish between valid readings and stray readings, the model being used to identify multiple valid tag readings captured at the monitoring device.

9. The system according to claim 8, wherein the evolutionary algorithm is a genetic algorithm.

10. The system of claim 9, wherein, in order to generate the model, the at least one processor is configured via the instructions to: Determine a first plurality of models for distinguishing the valid readings from the stray readings; Determine fitness information indicating the performance of the first plurality of models; Based on the fitness information and threshold, a second set of multiple models are determined; A third plurality of models are determined by mating in the second plurality of models and applying mutations to the offspring of said mating; and Select the model from the third plurality of models.

11. The system of claim 8, further comprising the monitoring device, the monitoring device including a first base and a second base, the first base including a first plurality of antennas, the second base including a second plurality of antennas, and wherein the monitoring device is configured to detect a plurality of tag readings including the plurality of valid tag readings based on interaction with one or more tags.

12. The system of claim 8, further comprising the monitoring device, wherein the monitoring device is configured to determine that the plurality of valid tag readings correspond to unauthorized movement of the tags outside a geographic area and to trigger an alarm notification based at least in part on the unauthorized movement.

13. The system of claim 8, further comprising the monitoring device, wherein the monitoring device is configured to determine that the plurality of valid tag readings correspond to tag relocation to a geographic area and trigger a location notification identifying the geographic area.

14. A non-transitory computer-readable device having instructions that, when executed by at least one computing device, cause the at least one computing device to perform operations including: Determine training information that includes multiple spurious training readouts and multiple valid training readouts; The modified training information is determined at least in part based on modifying the plurality of valid training reads, wherein modifying the plurality of valid training reads includes generating additional valid training reads by generating copies of the valid training reads and applying modifications or mutations to the generated copies within the training information. A model for distinguishing valid readouts from spurious readouts is generated based on the modified training information and evolutionary algorithm. Multiple tag readings are detected by the monitoring device in response to multiple interactions between the tag and the monitoring device; as well as The monitoring device determines multiple valid tag readings based on the model and the multiple tag readings.

15. The non-transitory computer-readable device of claim 14, wherein the evolutionary algorithm is a genetic algorithm, and generating the model comprises: Determine a first plurality of models for distinguishing the valid readings from the stray readings; Determine fitness information indicating the performance of the first plurality of models; Based on the fitness information and threshold, a second set of multiple models are determined; A third plurality of models are determined by mating in the second plurality of models and applying mutations to the offspring of said mating; and Select the model from the third plurality of models.

16. The non-transitory computer-readable device of claim 15, wherein selecting the model from the third plurality of models includes determining that the third plurality of models has converged.

17. The non-transitory computer-readable device of claim 14, wherein the monitoring device comprises a first base and a second base, the first base including a first plurality of antennas, the second base including a second plurality of antennas, and detecting the plurality of tag readings comprises: The first plurality of antennas of the first base and the second plurality of antennas of the second base are synchronized to generate a field; as well as The first tag reading among the plurality of tag readings is detected within the field.

18. The non-transitory computer-readable device of claim 14, wherein the monitoring device is a tag reader system in an electronic article monitoring system, and the operation further comprises: The plurality of valid tag readings are determined to correspond to unauthorized movement of the tags outside the geographic area; as well as The alarm notification was triggered at least in part based on the unauthorized movement.

19. The non-transitory computer-readable device of claim 14, wherein the operation further comprises: The plurality of valid tag readings are determined to correspond to the relocation of the tags to geographic areas; as well as Trigger a location notification that identifies the geographic area.

20. The non-transitory computer-readable device of claim 19, wherein the operation further comprises updating inventory information based on the location notification to indicate that an item associated with the tag is located at the location of the monitoring device.

Citation Information

Patent Citations

  • A system and method for modelling system behaviour

    CA2953385A1

  • Radio frequency device parameter optimization method based on deep learning

    CN108959728A