Device-free localization methods within smart indoor environments
11212650 · 2021-12-28
Assignee
Inventors
- Negar Ghourchian (Montreal, CA)
- MICHEL ALLEGUE MARTINEZ (MONTREAL, CA)
- DOINA PRECUP (COTE SAINT-LUC, CA)
Cpc classification
G01S7/415
PHYSICS
International classification
Abstract
Device-free localization for smart indoor environments within an indoor area covered by wireless networks is detected using active off-the-shelf-devices would be beneficial in a wide range of applications. By exploiting existing wireless communication signals and machine learning techniques in order to automatically detect entrance into the area, and track the location of a moving subject within the sensing area a low cost robust long-term tracking system can be established. A machine learning component is established to minimize the need for user annotation and overcome temporal instabilities via a semi-supervised framework. After establishing a robust base learner mapping wireless signals to different physical locations from a small amount of labeled data; during its lifetime, the learner automatically re-trains when the uncertainty level rises significantly. Additionally, an automatic change-point detection process is employed setting a query for updating the outdated model and the decision boundaries.
Claims
1. A method for establishing target localization within an environment comprising: executing a first phase of a software model comprising an offline training phase; and executing a second phase of the software model comprising an online evaluation and adaptation phase; wherein the wireless signals are according to a predetermined standard supporting communications between devices disposed within the environment comprising at least a spatially separated transmitter and receiver; and the first phase of the software model comprises processing extracted wireless signals with a training process whilst reference labels of the regions and sub-regions of the environment containing motion and physical movement of a moving subject are auto-generated established based on behavioral statistics of the wireless signals.
2. The method according to claim 1, wherein the online evaluation and adaptation phase comprises processing unlabeled streaming data measured characteristics of the wireless signals with the configured software model to establish physical location data of another physical object within the environment.
3. The method according to claim 1, wherein the offline training phase comprises: receiving and analyzing wireless signals and their corresponding location labels whilst a user is present within different location spots of the environment; statistically formulating correlations between wireless signal readings and the location of the movements and events inside the environment through at least one algorithm of a plurality of algorithms, each algorithm relating to a step selected from the group comprising signal processing, data mining, and feature extraction; constructing a probabilistic localization model using a base classifier in dependence upon the statistically formulated correlations to generate respective decision boundaries and a confidence score that quantifies how certain the classifier is of its decision.
4. The method according to claim 1, wherein the online evaluation and adaptation phase comprises: receiving a live stream of unlabeled wireless signals without any associated location indication arising from the communications between the devices disposed within the environment; estimating a location label for each segment of wireless signals using a probabilistic model built in an initial offline training phase; and outputting final location labels to at least one of another system and process, wherein the probabilistic model also includes a decision-making module that applies at one strategy of a plurality of strategies, each strategy to reduce the variance in the sequence of predicted labels.
5. The method according to claim 1, further comprising automatically detecting at least one of a structural shift and a drift in the distribution of streaming data comprising: received live stream of unlabeled wireless signals arising from the communications between the devices disposed within the environment; applying a change-point-detection technique by continuously computing a divergence score; identifying the significant changes having a score above a predefined threshold; and outputting an indicator of drift to at least one of the first phase of the software model, the second phase of the software model, another system and another process.
6. The method according to claim 1, wherein the first phase of the software model comprises establishing a base classifier for determining a location of a physical object within the environment in dependence upon wireless signals between devices disposed within the environment; and the second phase of the software model comprises adapting the decision boundaries of the base classifier with a process comprising the steps of: establishing at least one of a shift and a drift within the wireless signals and generating a drift indicator with the base classifier; triggering an active query system upon generation of the drift indication; generating a stream of confidence scores and predicted labels from the base classifier upon generation of the drift indicator; creating a repository of high-confidence samples of the wireless signals and their corresponding predicated labels in dependence upon the stream of confidence scores and predicted labels from the base classifier upon generation of the drift indicator; and updating the training data of the base classifier in dependence upon the high-confidence samples of the wireless signals and their corresponding predicated labels stored within the repository.
7. The method according to claim 1, wherein the environment is an indoor environment; and the first phase of the software model comprises establishing an initial room-level and sub-room-level localization model by employing a base classifier upon metrics extracted from the wireless signals and corresponding reference labels of the regions and sub-regions of the environment.
8. The method according to claim 1, wherein the second phase of the software model executes an auto-adaptation method to update decision boundaries of an initial training localization model of regions and sub-regions of the environment.
9. A method for establishing target localization within an environment comprising: executing a first phase of a software model comprising an offline training phase; executing a second phase of the software model comprising an online evaluation and adaptation phase; and executing a stabilization process for the software model comprising at least one of: executing a plurality of decision-making strategies, each strategy relating to a mathematical technique to establish at least one of a determined location and a confidence score relating to a predicted location label wherein the plurality of decision-making strategies are employed to improve the stability of the software model; and executing a change-point-detection process to compute a divergence score and employing the divergence score to identify significant changes in metrics extracted from the wireless signals; wherein the wireless signals are according to a predetermined standard supporting communications between devices disposed within the environment comprising at least a spatially separated transmitter and receiver; and the second phase of the software model comprises: processing received metrics extracted from wireless signals between the devices within the environment; and processing said extracted metrics to provide localization information relating to an object within the environment.
10. A method for establishing target localization within an environment comprising: executing a first phase of a software model comprising an offline training phase; and executing a second phase of the software model comprising an online evaluation and adaptation phase; and executing an active query system which executes a process comprising: establishing real time divergence scores relating to metrics extracted from the wireless signals between the devices within the environment which are processed to provide localization information relating to an object within the predetermined indoor region; and establishing a repository of high-confidence examples of the extracted metrics and their corresponding high-confidence location reference for use by the second phase of the software model; wherein the wireless signals are according to a predetermined standard supporting communications between devices disposed within the environment comprising at least a spatially separated transmitter and receiver.
11. A method for establishing target localization within an environment comprising: executing a first phase of a software model comprising an offline training phase; and executing a second phase of the software model comprising an online evaluation and adaptation phase; wherein the wireless signals are according to a predetermined standard supporting communications between devices disposed within the environment comprising at least a spatially separated transmitter and receiver; the second phase of the software model executes an auto-adaptation method to update decision boundaries of an initial training localization model of regions and sub-regions of the environment; the auto-adaptation method employs a base classifier and data stored within a high-confidence repository; and the data stored within the high-confidence repository was established in dependence upon an active query process in execution upon the processor processing generated real-time divergence scores on the extracted metrics of the wireless signals to establish examples of high-confidence wireless metrics and their corresponding high-confidence location reference.
12. A method for establishing target localization within an environment comprising: executing a first phase of a software model comprising an offline training phase; and executing a second phase of the software model comprising an online evaluation and adaptation phase; wherein the wireless signals are according to a predetermined standard supporting communications between devices disposed within the environment comprising at least a spatially separated transmitter and receiver; and the wireless signals within the first phase of the software model and the second phase of the software model are processed with a data preparation module comprising processes for: noise removal wherein raw data relating to channel state information (CSI) of the wireless signals is filtered with a set of digital filters where each filter of the set of digital filters filters the raw data over a predetermined frequency range associated with a target moving activity to be detected by the software model; standardization wherein a fixed score scaling normalization process is applied to standardize the CSI feature spade to a predetermined reference range; and feature extraction comprising: a first step a sliding window is employed to each stream of CSI samples to extract correlated features that describe a location of an event within the environment; and a second step of extracting or generating new feature spaces from the first step through combining multiple domain information.
13. The method according to claim 12, wherein the standardization process calculates an L2-norm of the CSI vector of each link providing a subset of the wireless signals to rescale the CSI value to the reference range.
14. The method according to claim 12, wherein the new feature spaces are: temporal amplitude established in dependence upon calculating the moving variance and moving average of CSI amplitudes within each sliding window; frequency amplitude established in dependence upon calculating statistics within each sliding window comprising at least one of variance, log energy entropy, kurtosis, skewness and standard deviation; and temporal phase established in dependence of phase differences between subcarriers of all pairs of receives and transmitters within the environment tracked over each moving window.
15. A method for establishing target localization within an environment comprising: executing a first phase of a software model comprising an offline training phase; and executing a second phase of the software model comprising an online evaluation and adaptation phase; wherein the wireless signals are according to a predetermined standard supporting communications between devices disposed within the environment comprising at least a spatially separated transmitter and receiver; and the second phase of the software model incorporates a decision making process employing a classification process wherein a final class decision for a current decision at a point in time the classification process comprises the steps of: discarding rare class labels that last less than a consecutive samples; discarding any class label with a confidence score less than β; and imposing an extra bias towards keeping the current predicted class label until the average confidence score for switching to another class reaches a certain level γ; and α, β, and γ are empirically established by the second phase of the software model over a period of time.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Embodiments of the present invention will now be described, by way of example only, with reference to the attached Figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) The present invention is directed to localization and more particularly to systems, methods, and data processing apparatus for long-term and robust device-free localization in smart indoor spaces.
(10) The ensuing description provides representative embodiment(s) only, and is not intended to limit the scope, applicability or configuration of the disclosure. Rather, the ensuing description of the embodiment(s) will provide those skilled in the art with an enabling description for implementing an embodiment or embodiments of the invention. It being understood that various changes can be made in the function and arrangement of elements without departing from the spirit and scope as set forth in the appended claims. Accordingly, an embodiment is an example or implementation of the inventions and not the sole implementation. Various appearances of “one embodiment,” “an embodiment” or “some embodiments” do not necessarily all refer to the same embodiments. Although various features of the invention may be described in the context of a single embodiment, the features may also be provided separately or in any suitable combination. Conversely, although the invention may be described herein in the context of separate embodiments for clarity, the invention can also be implemented in a single embodiment or any combination of embodiments.
(11) Reference in the specification to “one embodiment”, “an embodiment”, “some embodiments” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment, but not necessarily all embodiments, of the inventions. The phraseology and terminology employed herein is not to be construed as limiting but is for descriptive purpose only. It is to be understood that where the claims or specification refer to “a” or “an” element, such reference is not to be construed as there being only one of that element. It is to be understood that where the specification states that a component feature, structure, or characteristic “may”, “might”, “can” or “could” be included, that particular component, feature, structure, or characteristic is not required to be included.
(12) Reference to terms such as “left”, “right”, “top”, “bottom”, “front” and “back” are intended for use in respect to the orientation of the particular feature, structure, or element within the figures depicting embodiments of the invention. It would be evident that such directional terminology with respect to the actual use of a device has no specific meaning as the device can be employed in a multiplicity of orientations by the user or users.
(13) Reference to terms “including”, “comprising”, “consisting” and grammatical variants thereof do not preclude the addition of one or more components, features, steps, integers or groups thereof and that the terms are not to be construed as specifying components, features, steps or integers. Likewise, the phrase “consisting essentially of”, and grammatical variants thereof, when used herein is not to be construed as excluding additional components, steps, features integers or groups thereof but rather that the additional features, integers, steps, components or groups thereof do not materially alter the basic and novel characteristics of the claimed composition, device or method. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
(14) A “personal electronic device” (PED) as used herein and throughout this disclosure, refers to a wireless device used for communications and/or information transfer that requires a battery or other independent form of energy for power. This includes devices such as, but not limited to, a cellular telephone, smartphone, personal digital assistant (PDA), portable computer, pager, portable multimedia player, remote control, portable gaming console, laptop computer, tablet computer, and an electronic reader.
(15) A “fixed electronic device” (FED) as used herein and throughout this disclosure, refers to a device that requires interfacing to a wired form of energy for power. However, the device can access one or more networks using wired and/or wireless interfaces. This includes, but is not limited to, a television, computer, laptop computer, gaming console, kiosk, terminal, and interactive display.
(16) The term “wireless” as used herein and throughout this disclosure, refers to wireless communication which transfers information or power between two or more points that are not connected by an electrical conductor. The most common wireless technologies use radio waves to carry information by systematically modulating some property of electromagnetic energy waves transmitted through space, such as their amplitude, frequency, phase, or pulse width. Within this specification the term is employed with respect to systems, networks, devices, protocols etc. which may operate according to one or more standards including, but not limited to, international standards, national standards, standards established and maintained by an alliance of enterprises, and a standard established by an enterprise or small group of individuals. Whilst the embodiments of the invention are primarily described with respect to wireless infrastructure exploiting Orthogonal Frequency Division Multiplexing (OFDM) and accordingly infrastructure which may include that exploiting, but not limited to, wireless LAN (WLAN) such as IEEE 802.11a, IEEE 802.11g, IEEE 802.11n, IEEE802.11ac, HiperLAN/2 etc.; digital radio systems such as DAB, DAB+, etc.; digital television systems such as DVB-T, DVB-H, etc.; OFDM multiple access (OFDM-MA) such as IEEE 802.16e, IEEE 802.20, 3GPP long term evolution (LTE) etc.
(17) The system described below in respect of
(18) In modern wireless communications, a wireless signal, including but not limited to channel state information (CSI), propagates between a transmitter and receiver through multiple transmission channels using Orthogonal Frequency Division Multiplexing (OFDM). This means that within each channel, the transmitter broadcasts simultaneously on several narrowly separated sub-carriers at different frequencies in order to increase the data rate. One example of the wireless measurements regarding channel properties which can form the basis of embodiments of the invention are the Channel State Information (CSI) values which can be obtained at the receiver. These describe how the transmitted signal is propagated through the channel and reveal channel variations and signal distortions experienced during propagation caused, for example, by scattering, fading and power decay with distance. The quantitative analysis of this signal propagation behavior within a wireless-covered area can identify and measure different types of disturbances, including those relating to human motion and the location of the movement.
(19) The real-time framework according to embodiments of the invention is intended to discover the location of a human target within a sensing area at the sub-region level, by continuously collecting wireless signals and applying several analytic and modeling procedures to the collected measurements in order to infer correlation between obtained measurements and the location of the movements. A sub-region within a sensing area is defined as any smaller division or subdivision of a larger indoor area, which may (or may not) also align with the room boundaries within the property, such as kitchen, bedroom, living room and dining room within a residential property.
(20) There are two major technical challenges that need to be addressed in order to design a robust wireless-based localization system. First, finding mathematical characterization of the disturbance and changes in wireless signals, originated from human body movements, is a challenging problem due to the complexity of the wireless signal propagation in indoor environments. Therefore, the first challenge of designing an intelligent indoor localization system is to characterize statistically the correlation between the location of motions and the signals.
(21) Moreover, in practice, many undesired environmental and/or internal conditions can cause temporal instability and high variance in wireless signals, which may result in shift or drift in the localization model learned from these measurements. The unwanted changes degrade the performance and accuracy of the localization system over time by strongly affecting the correlation between input measurements and the inferred locations.
(22) A general exemplary system overview of the proposed intelligent localization system according to an embodiment of the invention is depicted in
(23) Additionally, the wireless measurements collected from an active sensing area are initially processed in a Data Preparation module 200, where multiple steps of pre-processing and data mining procedures are carried out, in order to eliminate or reduce redundant and noisy samples and prepare a stable feature vector before providing it to the localization system. The data preparation module includes, but is not limited to, Noise Removal 210, Standardization/Data Preparation 220, and Feature Acquisition 230 units. The Data Preparation module 200 exploits the data acquired/generated within Wireless Sensing Area Output 100 which are acquired by the wireless devices within the sensing area such as portable electronic devices (PEDs) and/or fixed electronic devices (FEDs). An infrastructure exploiting FEDs is subject to less frequent adjustment/change by addition and/or removal of another FED whereas PEDs may be more variable in their presence and/or location.
(24) Having outlined in
(25) Referring to ∈{1, . . . , L} denote the antenna links between Transmitter 1 and Receiver 1, where L=n×m, and
(t) denote a complex number describing the signal received at subcarrier i∈{1, . . . , l} at time t, which is defined by Equation (1).
=|
|e.sup.j sin ∠
(1)
(26) || and ∠
denote the amplitude response and the phase response of subcarrier i of link
, respectively. The total number of subcarriers I per link depends on the physical property of the hard-ware device used for collecting CSI values and is fixed for all links.
(27) Environmental changes and human body movements affect the CSI values of different links independently, but affect the different subcarriers of each link in a similar manner.
(28) As mentioned supra, the collected CSI measurements are constantly transformed from the sensing device to a Data Preparation module 200, where multiple processing procedures are applied to the data streams to enhance the raw data for further analysis, and to extract and/or generate discriminative features that precisely reflect distinguishable properties of different sub-regions within the sensing area. As discussed supra Data Preparation module 200 comprises but is not limited to, a Noise Removal 210 unit, Standardization 220 unit and Feature Acquisition 230 units.
(29) Noise Removal 210: The raw data contain high-frequency noise from a variety of internal and surrounding sources. Moreover, the mobility and other physical activities of human or any moving target within indoor spaces happen at different but predictable range of frequencies. Therefore, a set of digital filters targeting specific frequency bands collect information about different target moving activities, such as a human walking or pet movement, is considered as part of the methods described herein. As a working example, the frequency of typical human walking happens at low frequency, for example below 2 Hz, and accordingly a low-pass filter with cut-off frequency of 2 Hz can be applied to each CSI stream individually, in order to remove the high-frequency noise as well as the static components.
(30) Standardization 220: At each time stamp t, multiple CSIs values for different Transmitter-Receiver links can take values in different dynamic ranges, while the values of different subcarriers within each link can get shifted and scaled over time. These irrelevant and unwanted variations can be removed by introducing a fixed-score scaling normalization module, for example, which standardizes the CSI feature space to a predefined reference range, such that meaningful and desired variations in the signals can be reliably tracked. The L2-norm of the CSI vector was calculated for each link to rescale all values to the reference range.
(31) Feature Acquisition 230: Extracting relevant features from the input data helps to explore frequency diversity of CSI values with different amplitudes and phases over multiple subcarriers and their correlation to the events occurred in the covered area. The Feature Acquisition module 230 begins by sliding a moving window with overlap over the stream of samples, in order to extract correlated features that describe the location of environmental events. This creates a vector of the form given by Equation (2).
W(t)={(t−w+1), . . . ,
(t−1),
(t)} (2)
(32) Here, w is the size of the moving window and t is the time stamp of the CSI values of subcarrier i of link . As introduced supra, complex values
can be presented by their Amplitude Information 230A |
|, and Phase Information 230B ∠
. Subsequently, this data is used to extract/generate a new features space with the fusion of multiple domain information including, but not limited to, time-domain or Temporal Amplitude Information 231, Frequency Amplitude Information 232, and Phase Information 233.
(33) Referring to
(34) Temporal Amplitude Information 231: Statistics computed over time from per-subcarrier CSI amplitudes, are the most widely used features in CSI-base systems, since they exhibit higher temporal stability. Within embodiments of the invention, the moving variance and moving average of all CSI amplitudes within each moving window (t) are extracted, following the same feature extraction techniques introduced by the inventors in U.S. Provisional Patent 62/347,217 entitled “System and Methods for Smart Intrusion Detection using Wireless Signals and Artificial Intelligence” filed Jun. 8, 2016.
(35) Frequency Amplitude Information 232: Various CSI amplitudes for different subcarriers of each Rx-Tx link describe channel properties in the frequency domain and a moving subject can change signal reflections differently based on their location. This results in different delay profiles, where the frequency information is embedded in the correlations among (CSI values of) subcarriers in each Rx-Tx link. Within an embodiment of the invention, the frequency information is inferred by computing statistics within each moving window (t) that include, but are not limited to, variance, log energy entropy, standard deviation, kurtosis, and skewness.
(36) Temporal Phase Information 233: In wireless communication applications, the phase difference between the received signals at each antenna array is roughly correlated to the angle of arrival (AOA), which yields a method for determining the direction of RF wave propagation. Through exploratory experimentation, the inventors established that the phase differences between various pairs of Rx-Tx links can help localize human movement with respect to the positions of the transmitter and receiver devices. Therefore, within some embodiments of the invention, the variance of the phase differences between the subcarriers of all pairs of Rx-Tx is tracked over each moving window (t), as another group of relevant features for the proposed localization system.
(37) The Data Preparation module 200 is followed by the proposed localization system, where machine learning and decision-making techniques are used to infer the location of the moving target within the sensing area. An exemplary architecture of the proposed methodology for adaptive localization framework according to an embodiment of the invention is depicted in
(38) The localization process initiates by transforming a small amount of prepared CSI data from step 500, associated with corresponding sub-region labels from Initial Location Annotations 800 unit to form a Training Data Pool 310. The Offline Training process 400 begins by fitting a base supervised learner (Base classifier 410) to obtain a mapping between features extracted from CSIs and different sub-regions in the sensing environment, using the initial labeled data. In order to simplify the problem, localization is performed at the level of discrete “sub-regions” inside a dwelling, which could be rooms, but also finer grained than rooms (“on the couch” or “in the reading chair”, for example).
(39) An example of algorithm that can be used as the Base Classifier 410 for identifying the location of a walking subject is “Random Forests”, see Breiman in “Random Forests” (Machine Learning, Vol. 45(1), pp. 5-32, 2001), although it would be evident that other classification techniques as known within the art may be applied. Random Forest is an ensemble estimator that builds several decision trees on random subsets of the samples from the original training set and then aggregates their individual predictions, usually by averaging, to form final decisions. Therefore, besides predicting a label, the obtained classifier also provides a measure of the uncertainty in its prediction, expressed through the proportion of votes given by all trees for each class. Thus, the proportion of votes that agree on the outcome can be used to estimate a probabilistic confidence score, which quantifies how certain the classifier is of its decision.
(40) After building the base classifier, Online Evaluation 600 which runs real time on the streaming data begins. Arriving CSI measurements are processed in Data Preparation module 200 as described before, and the obtained features are then fed into the Base Classifier 410 frame by frame, which results into a stream of predicted sub-region labels (transferred to Location Prediction 610 unit), associated with their corresponding confidence scores (transferred to Confidence Score 620 unit).
(41) From a practical point of view, it is important to have a stable localization system, which smoothly transits between different location classes when the user walk inside the sensing area from one sub-region to another. Thus, in order to reduce the variance in the sequence of predicted labels and minimize the error when outputting final decisions to the end user, some additional strategies may be required to increase the stability of the real-time localization. Decision Making Strategies module 630: The role of this module is to receive a buffer of labels from Location Prediction 610 and their associated from Confidence Score unit 620, and apply several strategies to output a stable location label to Localization Model unit 700.
(42) Consider a K-Class classification problem, where for each time frame W(t) (from Equation (2)) a class label c.sub.t is independently obtained from the base learner with confidence scores (prediction probability) of p.sub.t. Considering a decision frame {acute over (W)}≥W with length {acute over (w)}, where given a prediction history, {c.sub.t-{acute over (w)}+1, . . . , c.sub.t-1, c.sub.t} and {p.sub.t-{acute over (w)}+1, . . . , p.sub.t-1, p.sub.t}, a final class decision C.sub.T is made for time buffer T={t−{acute over (w)}+1, . . . , t−1, t} through several steps, including but not limited to:
(43) Outlier Removal: discarding rare class labels that last less than α consecutive samples;
(44) Uncertainty Removal: discarding any class label with confidence score less than β;
(45) Transition Bias: imposing an extra bias towards keeping the current predicted class label until the average confidence score for switching to another class reaches a certain level γ.
(46) The parameters of Decision Making Strategies 630 module (α, β and γ) can be empirically learnt from the data over time. At the end of the localization process, only the final decision C.sub.T is transferred to the Localization Model 700 unit, where the final predicted location label appears on the user interface.
(47) Concept Drift Detection 640: As mention supra, drifts or unwanted changes in the distribution of input data are expected with long-term usage of the CSI-based localization system. Therefore, the Localization Model 700 learnt from the initial training data utilizing the user annotated data needs to be updated over the lifetime of the system. One possible solution is to ask the end-user to provide a new batch of labeled data and retrain the system when the performance of the system degrades. However, it is cumbersome to query the end-user too often or any time a drift happens, and the goal is to avoid involving the user for as long as possible.
(48) In order to maintain the performance of the system in spite of the drift, the first step is to automatically detect significant changes in the distribution of features extracted from the CSI stream in a timely manner, and then update the outdated mode.
(49) The gradual or abrupt drifts happens to the distribution of CSI magnitude (i.e., frequency information) over each Rx-Tx link independently, and can affect one, some or all of these links over time. Therefore, a change-point detection algorithm is required to constantly estimate and monitor the stability of all links individually. Referring to , . . . , |
|}, although it would be evident that other distance and/or divergence metrics as known within the art may be applied.
(50)
(51) The KL-divergence between two distributions (t) and
(t+δ) is estimated by Equation (3) where
corresponds to the drift measure of link
, at time stamp δ after the initial training set captured at time t. An empirical threshold θ is set to automatically detect any significant divergence in any element of vector
(δ)={D.sub.1, . . . , D.sub.L}. Once a significant drift in any of the links is detected, the Change-Point Detection module 640 sends a drift indication to the Active Query System 650 which initiates an automatic update of the current Localization Model 700.
(52) Adaptive Localization: Although the unwanted changes in CSI magnitude and their timing are not predictable, they usually happen over a short period of time and do not involve all signals simultaneously. Therefore, many samples still get correctly classified even after drift has occurred, as some partial mappings between the feature space and class labels still hold. The proposed methodology according to embodiments of the invention aims to use a selection of high quality representative samples from the history to update the Training Data Pool 310. In this manner the system exploits confidence scores provided by the Base Classifier 410 to establish high confidence intervals over the stream of unlabeled data and accumulate a batch of the most representative samples and their associated inferred labels over time. When the Change-Point Detection module 640 identifies a significant drift that triggers retraining, a query for updating the base classifier is formed. The Active Query system 650 receives these demands and pushes sub-samples from the most recent High Confidence Intervals 660 into a pool of labeled training data, Training Data Pool 310. In this way, there is no need to query the user to avoid deterioration in prediction accuracy and the system can maintain its performance even after drifts.
(53) Let X={X(1), X(2), . . . , X({acute over (t)}), . . . } be the stream of features extracted from CSI values, and let Y={Y(1), Y(2), . . . , Y({acute over (t)})} be the true labels of X(t): t∈{1, . . . , {acute over (t)}}. A sliding window P of length μ>>w over the streaming unlabeled data starting from t>{acute over (t)}+1, in which a history of prediction labels {c.sub.t-μ+1, . . . , c.sub.t-1, c.sub.t}, and confidence scores {p.sub.t-μ+1, . . . , p.sub.t-1, p.sub.t}, is kept.
(54) The system narrows the collection of samples by setting a relatively high confidence threshold. Shortly after the Change-Point Detection module 640 produces an alert, the system queries the samples in high confidence intervals and updates the Base Classifier 410 with a fusion of the original training data and these new high-confidence samples. As the real-time platform needs to provide long-term functionality, the size of this repository of samples should be kept in check, in order to provide good scalability of data storage and retrieval. Thus, the system ensures that the size of the pool does not exceed a certain point.
(55) Operation in Real Environments: The proposed localization platform can operate in indoor spaces such as residential, commercial, retail, and other environments, using a pair of off-the-shelf wireless devices. For example, a mini PC equipped with the CSI collection tool as receiver and a commercial access point as transmitter can be used to create a wireless connection for room-level localization.
(56) Performance Evaluation: The initial training of the localization system usually results in very robust performance, but it only lasts about a certain period before the accuracy begins to drop due to the unexpected signal changes. In contrast, the method described here detects significant changes and reacts in a timely fashion to maintain accuracy.
(57) Experimental Set-Up: The proposed platform was deployed and evaluated in a number of residential apartments. For example, the table presented in
(58) Experimental Results: The results presented
(59) Specific details are given in the above description to provide a thorough understanding of the embodiments. However, it is understood that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
(60) Implementation of the techniques, blocks, steps and means described above may be done in various ways. For example, these techniques, blocks, steps and means may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above and/or a combination thereof.
(61) Also, it is noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
(62) Furthermore, embodiments may be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages and/or any combination thereof. When implemented in software, firmware, middleware, scripting language and/or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium, such as a storage medium. A code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures and/or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters and/or memory content. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
(63) For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory. Memory may be implemented within the processor or external to the processor and may vary in implementation where the memory is employed in storing software codes for subsequent execution to that when the memory is employed in executing the software codes. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
(64) Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “machine-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and/or various other mediums capable of storing, containing or carrying instruction(s) and/or data.
(65) The methodologies described herein are, in one or more embodiments, performable by a machine which includes one or more processors that accept code segments containing instructions. For any of the methods described herein, when the instructions are executed by the machine, the machine performs the method. Any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine are included. Thus, a typical machine may be exemplified by a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics-processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD). If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth.
(66) The memory includes machine-readable code segments (e.g. software or software code) including instructions for performing, when executed by the processing system, one of more of the methods described herein. The software may reside entirely in the memory, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute a system comprising machine-readable code.
(67) In alternative embodiments, the machine operates as a standalone device or may be connected, e.g., networked to other machines, in a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The machine may be, for example, a computer, a server, a cluster of servers, a cluster of computers, a web appliance, a distributed computing environment, a cloud computing environment, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. The term “machine” may also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
(68) The foregoing disclosure of the exemplary embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.
(69) Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.