MRLIHT: Mobile RFID-Based Localization for Indoor Human Tracking

Radio Frequency Identification (RFID) technology has been widely used in indoor location tracking, especially serving human beings, due to its advantage of low cost, non-contact communication, resistance to hostile environments and so forth. Over the years, many indoor location tracking methods have been proposed. However, tracking mobile RFID readers in real-time has been a daunting task, especially for achieving high localization accuracy. In this paper, we propose a new Mobile RFID (M-RFID)-based Localization approach for Indoor Human Tracking, named MRLIHT. Based on the M-RFID model where RFID readers are equipped on the moving objects (human beings) and RFID tags are fixed deployed in the monitoring area, MRLIHT implements the real-time indoor location tracking effectively and economically. First, based on the readings of multiple tags detected by an RFID reader simultaneously, MRLIHT generates the response regions of tags to the reader. Next, MRLIHT determines the potential location region of the reader where two algorithms are devised. Finally, MRLIHT estimates the location of the reader by dividing the potential location region of the reader into finer-grained grids. The experimental results demonstrate that the proposed MRLIHT performs well in both accuracy and scalability.


Introduction
Radio Frequency Identification (RFID) [1][2][3] is a technique of automatic identification using radio frequency transmission. RFID technology is widely used in many real-world applications, e.g., real-time tracking, activity recognition, etc, and impacts almost all aspects of people's daily life. An RFID system consists of readers and tags, where readers communicate with tags through radio signals. RFID tags are categorized as either active or passive. Active tags are powered by on-board batteries and broadcast their signals continuously, while passive tags are powered by the electromagnetic energy transmitted from RFID readers. Since the maturely developed GPS-based localization systems do not perform well for indoor location tracking applications, RFID-based localization technologies have become popular in several indoor tracking schemes. In this paper, we aim to propose an effective RFID-based localization approach for indoor human tracking, which can be pervasively used in the large-scale and high-accurate tracking applications.
Over the years, many RFID-based indoor human/object tracking methods have been proposed. They can be categorized as fixed RFID (F-RFID) model based and mobile RFID (M-RFID) model based tracking, whereas in the F-RFID (i.e., fixed RFID) model, RFID readers are pre-deployed at some fixed points in the monitoring area and RFID tags are attached on the moving objects, while in M-RFID (i.e., mobile RFID) model, RFID readers are equipped on the moving objects and RFID tags are fixed deployed at some points in the monitoring area. Generally, the two models are used for different application scenarios. In large-scale monitoring applications, since the cost of RFID readers are very high, the deployment of fixed readers are generally sparse, which results that the location information of moving individuals (mobile tags) are discontinuous. In other words, there are phenomena of location information missing. To tackle this issue, some existing works estimate the missing location information based on the pre-defined motion model. Nevertheless, in most cases, the motion of individuals is arbitrary and cannot be predicted. On the other hand, to alleviate the sparseness of RFID readers, some existing works use the reference tags to instead replacing more readers. However, the localization accuracy is unsatisfactory (incurring meters of localization errors). In addition, to estimate the locations of moving human/objects based on the F-RFID model, the positions of fixed readers which are stored in the external storage medium (e.g., databases or files) are needed. The location information requirements incur extra query costs, and thereby reduces the tracking efficiency. Therefore, in this paper, we propose a new Mobile RFID (M-RFID) based Localization approach for Indoor Human Tracking (MRLIHT). By deploying a large number of fixed and passive RFID tags in the monitoring area, the locations of moving individuals equipped with RFID readers are determined in real-time. The advantages that we adopt the M-RFID model and passive tags are as follows.

•
Lower costs. Compared with active tags, the light-weight and small-volume passive tags without on-board batteries have longer lifetime and lower costs. Moreover, there is almost no maintenance cost [4]. On the other hand, in the scenario of human indoor location tracking, the RFID readers are held by human beings and can be reused many times, which are economical in a long-term perspective. • Smaller localization errors. First, the sensing range of passive tags is smaller than that of active tags. During object localization, the candidate locations of an individual filtered by passive tags are more fine-grained, and thus the localization accuracy is improved. Second, by deploying passive tags intensively to cover the whole monitoring area, the location of a moving individual can be estimated continuously based on the location information of multiple tags received by the reader equipped on the moving object. Then the problem of location information missing introduced earlier can be effectively solved. • Avoiding extra queries. With M-RFID model, RFID tags are fixed deployed in the monitoring area, rather than attaching on the moving individuals. Hence, the location information of passive tags can be written in their own memories and read by RFID readers directly. Therefore, the extra queries for location information are avoided.
For an individual, MRLIHT estimates its location by generating the response regions of tags detected by the reader attached to the individual first. Secondly, potential location region of the individual (reader) is determined based on those response regions. Finally, the final location of the individual is estimated with high accuracy and efficiency. The major contributions made in this paper are summarized as follows.

•
We point out the pitfalls of existing works for large-scale and high-accurate tracking tasks. Accordingly, we develop an M-RFID based localization approach for indoor human tracking, named MRLIHT, to support high-quality moving humans tracking.

•
By considering the influence of environmental noises, we extend the response region of an RFID tag to an RFID reader from a circle to a circular, which improves the localization accuracy.

•
In MRLIHT, there is no pre-defined motion model for moving individuals, which are more suitable for real-world applications.

•
For the fixed passive tags, the location information is written in their own memories directly. The RFID readers can obtain the location information of surrounding tags without extra query, which improves the location estimation efficiency.

•
Finally, extensive experiments are conducted to evaluate the performance of the proposed approach.
The organization of the remaining paper is as follows. Section 2 discusses the related work. Section 3 presents the problem definition. Section 4 introduces the proposed MRLIHT system and Section 5 shows the experimental results. Finally, Section 6 concludes the paper.

Related Work
With the rapid development of big data [5], the idea of indoor location tracking based on RFID technology is widely used in many real applications. The traditional RFID-based indoor location tracking approaches can be classified into two classes: fixed RFID (F-RFID) based tracking and mobile RFID (M-RFID) based tracking.
Most of the existing works [6][7][8] are proposed for F-RFID model. In work [6], a localization framework, named LADNMARC, is proposed, where an indoor moving object is located based on the signal strengths received by nearby RFID readers. To improve the positioning accuracy while saving cost, LADNMARC proposes reference tags to instead replacing more readers. However, the deployment of RFID readers and reference tags are very strict in LADNMARC. RADAR [7] builds a signal propagation model by considering the impact of walls in indoor environments. It determines the location of an indoor object by combining the signal propagation model with empirical measurements. An indoor tracking method for navigating visually impaired people is proposed in [8]. The solution takes the signal strengths received by RFID readers as an observation vector, and determines the location of a user based on the Bayesian Decision Theory. The methods introduced above are active-tag-based systems, where the basic idea of location tracking is to make use of the signal strengths received by RFID readers and broadcast by active tags. However, since the sensing range of active tags is up to hundreds of meters, the localization error is large.
In addition, some works make use of passive tags to locate indoor objects based on the F-RFID model. PinIt [9] is a fine-grained RFID localization scheme proposed for nonline-of-sight scenarios. BackPos [10] is another fine-grained backscatter positioning technique based on the detected phase model. To reduce the labor and time cost of location fingerprinting, a cost-effective neighborhood graph-based localization system is proposed in [11]. However, all approaches mentioned above are mainly used for locating the static RFID tags and do not perform well in tracking the moving objects. In [12], an RFID data cleaning approach that supports location query is proposed. It estimates the location of moving objects based on Bayesian inference and taking advantage of duplicate readings. Since the Received Signal Strength Indicator (RSSI), which is widely adopted in active-tag-based tracking methods, is not available for passive tags, PassTrack [4] proposes a reader detection model based on the reading rates of passive tags. Then the location of a moving object is estimated based on the reader detection model. The work [13] studies the problem of cleaning RFID data streams for object tracking. To tracking objects in mobile environments, a probabilistic inference model is proposed. However, all the passive-tag-based indoor tracking algorithms introduced above need to be assigned a motion model to moving objects. In practice, the movement of indoor objects are generally arbitrary and unpredictable. OTrack [14] is proposed to track the luggage attached with tags in the airport based on the temporal correlation among the communications between the RFID readers and tags. However, such a scheme usually requires specific application scenarios. Tagoram [15] achieves the goal of tracking mobile RFID tags in real-time by leveraging the phase value of the backscattered signal, which suffering the problem of multipath reflections. MobiTagbot [16] constructs a holography to locate RFID tags using antenna movements and frequency hopping. However, MobiTagbot is time-consuming for large-scale monitoring areas and impractical for real-time localization.
By comparison, the M-RFID based indoor tracking method is few. In [17], the authors propose to use relatively fixed tags to locate a moving human/object with a mobile reader. Considering the location uncertainty of the moving objects, the work proposes a probabilistic model to locate the moving objects. However, the algorithm is also based on the assumption that the motion model of moving objects is known, which limits its applications. In work [18], the proposed data cleaning approach for mobile RFID data streams is capable of large tracking and monitoring environments.
The rationale of the proposed approach is similar to those methods based on the F-RFID model and only considers the case of a single reader. The works [19,20] use the memory of passive tags to encode and store the information of moving objects. Then the proposed algorithms estimate the locations of moving objects through creating an information-gradience. However, the approaches are time-consuming and not capable of real-time localization. In work [21], a phase-based localization algorithm is proposed to locate a device moving equipped with a UHF RFID reader.UHF (Ultra High Frequency) RFID reader is a kind of RFID reader where the frequency range is from 300 MHz to 1 GHzIn this work, the mobile device is supposed to move along a known path (e.g., x-coordinate) and its location at an assigned temporal can be estimated by using the phase differences between the RFID reader and reference tags besides the path. Moreover, the moving speed of the mobile device and its location on other coordinates (e.g., y-coordinate and z-coordinate) are also needed, which is difficult to obtain in practice. Some works, e.g., STPP [22] and TagSort [23] propose the concept of relative localization. They determine the order (or relative location) of fixed tags by exploring the change of phase information of tags when a moving reader approaches or moves away. However, the proposed methods focus on obtaining the order of tags rather than the absolute location of tags. Moreover, they are proposed for positioning the static objects which are not competent for the moving objects. On the other hand, there are some works are suitable for both F-RFID and M-RFID, e.g., k-nearest-neighbor-based localization [24,25] and multilateration-based localization [26], but their localization accuracy are needed to be improved. In this paper, we propose a new approach based on the M-RFID model to tracking indoor humans with high-accuracy and in real-time.

Problem Statement
Suppose there are n RFID tags T = {T 1 , T 2 , · · · , T n } and m RFID readers R = {R 1 , R 2 , · · · , R m } in the monitoring area, where the RFID tags are deployed at some fixed points and RFID readers are handheld or equipped on the moving individuals. The main goal of this work is to determine the locations of moving individuals in real-time. In the following, we first formally define some terms used throughout the paper. Definition 1. A reading, denoted by D = (Rid, Tid, Tloc, Time, Count), is a data tuple with information of an RFID tag by an RFID reader, where Rid and Tid are the unique identifications of the reader and tag respectively, Tloc is the location of the tag, Time is a unit time point and Count is the number of times the tag detected by the reader in unit time.
In this paper, we use 2D coordinate to denote the location of an RFID tag (or an RFID reader), i.e., the location of an RFID tag T j (or an RFID reader R i ) can be denoted by T j .loc = T j .X, T j .Y (or R i .loc = (R i .X, R i .Y)). Moreover, it is notable that, in the F-RFID model, the reading of a tag by a reader is usually denoted by a triple (Rid, Tid, Time) without the information about tag location and the number of detection times. It is because, with the F-RFID model, RFID tags dynamically move with the moving objects (human beings), while the memories of RFID tags are limited and unavailable for being written frequently. By comparison, in M-RFID model, the RFID tags are fixed and thus their locations can be written into their own memories once only. In addition, since RFID readings are of low quality, the read frequency of RFID readers is high. Hence, an RFID tag can be detected multiple times by an RFID reader in unit time. To save storage space and reduce the data complexity, we aggregate multiple readings of a tag by an RFID reader in unit time into a single reading by adding the Count attribute (as introduced in Definition 1). Figure 1 is the plan of a large-scale indoor exhibition area where many spots can be visited. To tracking visitors accurately, a large number of RFID passive tags are intensively deployed in the monitoring area (denoted by the red circle in the figure) and RFID readers are equipped on the moving objects (i.e., the visitors). Note that with the development of hardware, the portable and small RFID reader has been widely used in many real applications. Specifically, the distribution of tags detected by reader R 3 at time t 1 is shown in the right subfigure where ten tags, i.e., T 1 ∼ T 10 , are detected by R 3 simultaneously. Suppose the reading of a tag (e.g., T 4 ) by reader R 3 at time t 1 is D 3,4 = (R 3 , T 4 , (2,8) , t 1 , 7). It means that at time t 1 , tag T 4 is detected seven times by reader R 3 . As introduced earlier, the passive RFID tags are powered by the energy from RFID readers instead of on-board batteries. An RFID reader emits an electromagnetic energy field of a few feet, and any RFID tag in the vicinity may receive the energy and response its information.

Definition 2.
With the M-RFID model, when a fixed tag responds to a moving reader, the region where the reader may locate in is the Response Region (RR) of the tag to the reader.
Moreover, a reader may detect multiple tags simultaneously due to the intensive deployment of tags and large sensing range of the reader. On the other hand, even though an RFID tag locates in the sensing range of an RFID reader, it may not respond to the reader successfully, as the energy gathered by the tag may not enough to respond. In other words, an RFID tag is detected by an RFID reader with a certain probability, rather than definitive. Definition 4. The reading rate of an RFID tag by an RFID reader, denoted by τ, is the probability of the tag is detected by the reader.
Since the Received Signal Strengths Indicator (RSSI) measurement which usually adopted in active-tag-based systems, is not available for passive tags, we aim to leverage the reading rate to obtain the location information of moving objects (persons). To achieve this goal, we propose an M-RFID based Indoor Location Tracking (MRLIHT) system. At time t, given the readings of tags by each reader, MRLIHT aims to tackle the following issues: • Generating the response region of each tag detected by a reader simultaneously.

•
Determining the potential location region (PLR) for each RFID reader.

•
Estimating the location of each RFID reader (i.e., moving object) precisely.
Finally, the locations of moving persons at each time point are returned with high-accuracy and in real-time.

MRLIHT System
In this section, we introduce the proposed MRLIHT which consists of three components: RR generation, PLR determination and location estimation to tackle the issues mentioned above.

RR Generation
As introduced earlier, we use the reading rate of a passive tag by a reader to determine the location of an indoor moving individual. Specifically, there are two ways to estimate the reading rate.
One way is to use the response count in a fixed number of interrogation cycles sent from the reader. In this work, we estimate the reading rate of a tag T i by a reader R i as where Count ij is the number of times tag T j detected by reader R i and C i is the total number of interrogation times of reader R i in unit time. For example, if a reader receives responses from a tag in 30 out of 100 interrogation times in unit time (e.g., 1 second), then the reading rate of the tag by the reader is 0.3. Another way is to estimate the reading rate of a tag by a reader based on the reader detection model, where the reading rate is estimated by a function about the distance between the tag and the reader. In this work, we adopt the Sigmoid model to quantify the reading rate with distance proposed in [4], because the reader detection model is more accurate than the traditional 3-state model [12]. For an RFID tag T j , the reading rate of T j by an RFID reader R i is shown below In Equation (2), a i and b i are the parameters of reader R i and can be learned from the readings of the detected tags by the reader R i . The variate l ij is the distance between the reader R i and tag T j . Since the reading rate of tag T j by reader R i can be obtained through the readings of T j by R i based on Equation (1), the distance l ij between R i and T j in Equation (2) can be computed below As introduced earlier, the locations of readers and tags are denoted by the points with 2D coordinate. The Euclidean distance between R i and T j is Then we have where l ij can be computed based on Equation (3), the location of tag T j , i.e., T j .loc = T j .X, T j .Y is known and the location of reader R i , i.e., R i .loc = (R i .X, R i .Y) is the goal we aim to determine. From Equation (4), we can know that the region where reader R i may locate in, i.e., the response region (RR) of tag T j to reader R i , is the circle with center T j .X, T j .Y and radius l ij . In addition, due to the influence of environmental noises and the antenna direction settings of the reader, the reading rate of a tag by a reader has certain errors. Based on the theory of radio propagation, for the same source (i.e., reader), the error of signal strength (denoted by ) received by various receivers (i.e., tags) follow the same statistical law, i.e., the Gaussian error model ε ∼ N µ, σ 2 [27]. Therefore, in this paper, we suppose that the error of R i 's reading rate follows the Gaussian distribution with mean 0 and variance σ 2 i , i.e., ε i ∼ N 0, σ 2 i , where the mean is 0 as we believe that the methods do not make errors on purpose and the variance σ 2 i can be estimated based on the readings of the tags by the reader. Therefore, given a confidence value 1 − α, we have Adding the error ε i on the reading rate τ ij , the range of reading rate of tag T j by reader R i is Combining Equation (5) with Equation (3), the range of distance between reader R i and tag T j is Finally, the response region (RR) of tag T j to reader R i becomes a circular region with center T j .X, T j .Y and radius l min and l max .

Example 2.
For the reader R 3 and tag T 4 mentioned in Example 1, suppose the reading rate of T 4 by R 3 is τ 3,4 = 0.8, the variance σ 3 of error 3 is σ 3 = 0.1 and the confidence value is 1 − α = 0.9. Moreover, let the parameters of reader detection model are a 3 = 9, 843 and b 3 = −16.2015. We can compute that l min = 1.379 and l max = 1.584. Then the response region of tag T 4 to reader R 3 is shown in Figure 2a.

PLR Generation
Thus far, given an RFID reader R i and an RFID tag T j detected by R i , we can obtain the RR (response region) of T j to R i . Next, we aim to determine the potential location region (PLR) of a reader by employing the RRs of tags detected by the reader simultaneously.

Exact Solution
Based on Definition 3, the PLR (potential location region) of R i is derived by taking the overlap of RRs of multiple tags detected by R i simultaneously.

Example 3. (Example 2
Continued) The PLR of reader R 3 derived by the RRs of three tags it detected simultaneously is shown in Figure 2b (the polygon surrounded by the blue curve). Since it is difficult to show the intersection of RRs of ten tags detected by reader R 3 simultaneously, we only show the PLR of R 3 derived by RRs of three tags it detected simultaneously. Moreover, Note that in practice, a reader may detect a large number of tags simultaneously due to the intensive deployment of passive tags.
Algorithm 1 shows the pseudo-code of the exact solution of PLR (potential location region) generation. As shown, for each reader R i , we need to compute the RR (response region) of each tag T j detected by R i simultaneously, and taking the overlap of multiple RRs to generate the PLR of R i . Since a tag may also be detected by multiple readers, the time complexity of the exact PLR generation solution is O (mn) where m and n are the numbers of readers and tags in the monitoring area, respectively.
Input : The tag set T = {T 1 , T 2 , · · · , T n }, the reader set R = {R 1 , R 2 , · · · , R m }, the reading set D, and parameters a i , b i and α Output : The PLR of each reader

Approximate Solution
The exact solution may be inefficient for large-scale tracking applications where there are hundreds of thousands or millions of passive tags deployed in the monitoring area. Under this scenario, a large number (dozens or even hundreds) of tags may be detected by a reader simultaneously. As a result, the time complexity of PLR generation is extremely high by taking the overlap of multiple detected tags. Moreover, due to the intensive deployment, some RFID tags are close to each other, which results that the RRs of these tags are almost the same. To avoid redundant computation, we further propose an approximate solution to generate the PLR for each reader. The approximate solution consists of two steps: (1) tag group generation and (2) PLR determination. Next, we introduce each step in detail.
First, we divide the RFID tags into tag groups defined below.
Definition 5. Tag Group. A tag group G contains a collection of tags satisfying that T k is the distance between T j and T k and δ d is the distance threshold. (ii) |G| ≥ δ s where |G| is the size of the tag group, i.e., the number of tags contained in G, and δ s is the size threshold.
Note that we use the distance threshold δ d to control the extension ability of a tag group, i.e., more tags may be included in a tag group with a greater δ d . On the other hand, we use the size threshold δ s to avoid that sparse tags which have big distance are included into a tag group under the scenario of great δ d .
Algorithm 2 shows the pseudo-code of the tag group generation, where the specific steps are as follows: (s1) Initializing a candidate tag group G and generating a seed list (denoted by S) which is the copy of tag set T (Line2-3).
(s2) Selecting a tag T j randomly as seed and removing it from the seed list S (Lines 5 and 6). (s3) Computing the distance between each tag T k ∈ T and the seed T j (Line 9). Adding T k into the candidate tag group G and removing T k from the tag set T , if the distance is smaller than the given distance threshold δ d . Otherwise, removing T k from the seed list S (Line 10-14).
(s4) Repeating steps (s2) and (s3) until the seed list is empty, which means the distances between the remaining tags in the tag set and any tag in the candidate tag group G are greater than δ d .
(s5) Adding the candidate tag group into the set of tag groups G (Line 15). (s6) Repeating steps (s1)-(s5) until the tag set is empty, i.e., all tags are classified into a certain tag group.
(s7) Determining each size of the candidate tag group. If the size is greater than the give size threshold δ s , it is a real tag group. Otherwise, remove the candidate tag group from S (Line 16-18). Finally, returning the set of tag group G. Input : The tag set T = {T 1 , T 2 , · · · , T n }, the distance threshold δ d and the size threshold δ s Output : The collection of tag groups G = {G 1 , G 2 , · · · , G n } 1 while T is not empty do 2 G = Φ //initial a candidate tag group 3 S = T = {T 1 , T 2 , · · · , T n } //a copy of tag set 4 while S is not empty do 5 T j = RandomSelect(S ) //randomly select a tag from S 6 S.remove(T j ) 7 foreach T k ∈ T do 8 //compute the distance between tag T j and T k if d T j , T k ≤ δ d then 11 G.add(T k ) The time complexity of tag group generation is O n 2 and O (n) in the worst case where each tag is considered as a tag group and in the best case where all RFID tags are considered as a tag group, respectively. Thus the average time complexity of tag group generation is O (nlogn). Moreover, since our work is proposed based on the M-RFID model where RFID tags are fixed deployed in the monitoring area, the tag group generation only needs to conduct one time. On the other hand, it is notable that an RFID tag may not belong to any tag group. For such tags, they are considered independent and used to PLR determination with aggregated tags (to be introduced later) together.
After dividing tags into tag groups, we use the aggregated tags (generated based on the tag groups) to determine the PLR for each reader. Definition 6. Aggregated Tag. For a tag group G, the aggregated tag T a is the representation of G. Moreover, the reading of T a by a reader R i at a certain time point is computed based on the readings of tags by R i .
Given an RFID reader R i , suppose the tag set detected by R i simultaneously (i.e., at a certain time point t), is T i = T 1 , T 2 , · · · , T q . We first determine each tag T j ∈ T i belonging to which tag group. Then we generate the aggregate tags of corresponding tag groups used for R i 's PLR generation. Since RFID tags are fixed, it is easy to locate tag T j ∈ T i belongs to which tag group by building an inverted index. Specifically, during the tag group generation, we build an inverted index for each tag T j to record the tag belongs to which tag group. The structure of the inverted index is shown in Figure 3. Note that as mentioned earlier, an RFID tag may not belong to any tag group. Accordingly, in the inverted index, the tag points to 'Null' if it does not belongs to a tag group. Next, we introduce how to generate an aggregate tag for each tag group used for R i 's PLR generation.

RFID Tags
Tag Groups Suppose the tags detected by R i simultaneously belongs to w tag groups G i = {G 1 , G 2 , · · · G w } where G k = T k,1 , T k,2 , · · · , T k,q (T k,j ∈ T i and q ≤ q) and the reading of T k,j by R i is D k,j = Rid k,j , Tid k,j , Tloc k,j , Time k,j , Count k,j . We aim to obtain the reading of the aggregated tag corresponding to the tag group G k ∈ G i , denoted by T a,k = (Rid a,k , Tid a,k , Tloc a,k , Time a,k , Count a,k ).
Since any tag T i ∈ T i is detected by reader R i at a certain time point t, we have Rid a,k = R i , Time a,k = t. In addition, we assign a unique ID for T a,k based on an independent number system. Next, we need to determine the location of the aggregated tag Tloc a,k and the number of detection times Count a,k . In real applications, the distance between an RFID tag T j and a reader R i is smaller, the reading rate of T j by R i is higher, and thereby the location of the T j (used for determining the location of R i ) is more important. Therefore, we compute Tloc a,k and Count a,k by the weighted average of corresponding information of various tags, as shown below.
Count a,k = ∑ w k,j × Count k,j ∑ w k,j (8) The pseudo-code of aggregated tag generation is shown in Algorithm 3.

Algorithm 3: AggregatedTagGen(R i , T i )
Input : A reader R i , the tag set T i = T 1 , T 2 , · · · , T q detected by R i simultaneously, the tag groups G Output : The aggregated tags T a,1 , T a,2 , · · · , T a,q 1 //the set of tag group of each T j ∈ T i belongs to if T j points to tag group G k in the inverted index then 5 G k .add(T j ) 6 G i .add(G k ) 7 foreach Tag group G k ∈ G i do 8 //generate the reading of aggregated tag corresponding to G k 9 T a,k = (Rid a,k , Tid a,k , Tloc a,k , Time a,k , Count a,k )

Example 4. (Example 1 Continued)
We map the distribution of ten tags detected by R 3 simultaneously at time t 1 into a 2D coordinate system, as shown in Figure 4a. Additionally, the readings of tags by R 3 is shown in Table 1. The tag groups generated based on Algorithm 2 with δ d = 35 cm and δ s = 3 is shown in Figure 4b. Note that the candidate tag group G 3 is removed since its size is smaller than the threshold δ s . Finally, based on Algorithm 3, the readings of corresponding aggregated tags are shown in Table 2.

Observations
(R 3 , T 1 , (2, 3) , t 1 , 5) (R 3 , T 6 , (3, 10) , t 1 , 6) (R 3 , T 2 , (4, 3) , t 1 , 6) (R 3 , T 7 , (4, 9) , t 1 , 10) (R 3 , T 3 , (5, 4) , t 1 , 9) (R 3 , T 8 , (5,8) , t 1 , 20) (R 3 , T 4 , (2,8) , t 1 , 7) (R 3 , T 9 , (8, 10) , t 1 , 8) (R 3 , T 5 , (3, 7) , t 1 , 9) (R 3 , T 1 0, (9, 7) , t 1 , 9) After aggregated tag generation, we can determine the PLR for each reader based on the aggregated tags. The pseudo-code is shown in Algorithm 4, where for each reader R i ∈ R, we first generate the readings of aggregated tags based on the readings of tags detected by R i simultaneously (Line 3). Note that the tags which do not belong to any tag group are also used for PLR determination. Thus the tag list T is generated by combining such independent tags and aggregated tags together to determine the PLR of R i (Line 5). Afterwards, the PLR of R i is determined by intersecting the RR of each tag in the tag list T , where the procedure is the same as the exact solution (Line 7-16). Suppose n tags are divided into n tag groups. Then the time complexity of approximate solution becomes O (mn ) which is much smaller than the exact solution since n n. Note that the computational cost of tag group generation is not included since it can be pre-computed once the tag deployment finished.
Input : The tag set T = {T 1 , T 2 , · · · , T n }, the reader set R = {R 1 , R 2 , · · · , R m } and the reading set D Output : The PLR of each reader 1 foreach Reader R i ∈ R do 2 //generate the aggregated tags 3 T a,1 , T a,2 , · · · , T a,q = AggregatedTagGen(R i , T i ) 4 //Combining the aggregated tags and the independent tags which do not belong to any tag group 5 T i = T a,1 , T a,2 , · · · , T a,q , T 1 , T 2 , · · · , T q 6 PLR i = W //W indicates the whole monitoring region

Location Estimation
Thus far, for each reader, we get its possible locations. In this section, we aim to estimate the precise location for each reader.
We propose a location estimation algorithm based on the grid. Given a reader R i which detects q tags, i.e., T i = T 1 , T 2 , · · · , T q , at a certain time point t, we first divide its PLR into grids where the grid granularity can be specified by users. Then each grid is considered as a location and denoted by its center point. Next, for each grid g k , we compute the Root Mean Square Error (RMSE) of the reading rate of tags detected by R i simultaneously, by supposing that reader R i locates at g k . Specifically, the RMSE of reading rate is denoted by where τ ij and τ ij are the reading rates computed based on Equations (1) and (2) respectively. Finally, we select the grid where the RMSE of reading rate is the smallest as the precise location of reader R i , because a smaller RMSE means that the grid is closer to the real location of the reader. The pseudo-code of the algorithm is shown in Algorithm 5. foreach grid g k ∈ g do 6 //compute the RMSE of reading rate of tags detected by reader R i simultaneously

Experiments
This section reports the experimental study of the MRLIHT approach. All the experiments are performed on a PC with 3.4 GHz CPU and 16GB RAM.

Experimental Settings
To evaluate the performance of the proposed MRLIHT, we use the Tossim [28] which is a TinyOS [29] simulator, to simulate an application of indoor exhibition where the size of the visiting area is a 150 m × 150 m rectangular region with the grid. The Visitors (equipped with RFID readers) can move in the visiting area arbitrarily. The RFID tags are deployed on the floor of the visiting area randomly and intensively (liking the deployment shown in Figure 1 introduced in Example 1). Since in our M-RFID model, the RFID tags are fixed deployed in the visiting area, the location of each tag is known and written in its own memory. In the testbed, the type of RFID reader is supposed to be LJYZN-107 with power 915MHz and the radio range is about 10 m. The RFID tags are the labels conforming to the standard of EPC CLASSI G2. The reading rate of tags by readers is generated based on the reader detection model where the parameters are a i = 3.6423 and b i = −7.5897. In addition, we add a random term in a range of [0, 0.1] on the reading rate to simulate the noise in the real application environment.
We adopt the average Euclidean distance between the real locations and estimated locations of RFID readers to measure the accuracy of various location tracking methods. Moreover, we implement two existing RSS-based indoor location tracking methods, i.e., nearest-neighbor (NN) [24,25] and multilateration (ML) [26] and a newest phase-based mobile reader localization (shorted by PHL) method proposed in [21]. It is notable that in [21], the proposed localization algorithm focuses on determining the location of a mobile RFID reader at a certain axis (e.g., x-axis) while assuming that the position on the other axis (e.g., y-axis) is known and the mobile reader moves along the certain axis. We suppose the assumption limits its application. Thus, in the experiments, we use the phase differences of the tags detected by the mobile reader to replace the RSS, and employ the multilateration to determine the final location of the moving individuals (readers). Finally, we repeat each test 100 times, where in each test we randomly plan a trajectory for each visitor, and the average results are reported to obtain reliable experimental results.

Selection of Parameters
Recall that the parameters δ d and δ s are the distance threshold and size threshold used in tag group generation introduced in Section 4.2.2. Figure 5 reports the distance deviation of MRLIHT-A by varying δ d and δ s under the scenarios where 50, 100, 200, 500 tags can be detected by a reader simultaneously. As shown in Figure 5a, with 50 tags can be detected by a reader simultaneously, the lowest distance deviation (3.973 cm) is achieved with δ d = 20 cm and δ s = 3. Since the tags are fixed deployment in the monitoring area, we can collect the test readings before the real applications and learn the best δ d and δ s based on the test data. In the following experiments, we set the default number of tags that can be detected by a reader simultaneously as 50 until a special illustration.

Comparison between our Proposed Approaches
In this section, we compare the performance of the proposed MRLIHT based on the exact and approximate PLR generation, respectively, by varying the variance σ of reading rate error and grid size. 5.3.1. Varying the Variance σ of As shown in Figure 6, with an increase of σ, the distance deviations between the estimated locations and ground truths based on both MRLIHT-E and MRLIHT-A decrease. Based on Equation (5), a large σ derives a large RR of a tag to a reader, and thereby derives a large PLR of the reader. Therefore, we can get a more precise location by checking more grids during final location estimation with a larger PLR, while we need to take more time.  On the other hand, we can observe that the accuracy of location estimation based on MRLIHT-A is slightly higher than that of MRLIHT-E, because in MRLIHT-E, we determine the PLR of a reader by using all tags it detected simultaneously without aggregating those tags into aggregated tags. Moreover, with extensive experiments, the difference between the distance deviation based on MRLIHT-E and the distance deviation based on MRLIHT-A is most 10 cm, which verifies that MRLIHT-A performs well in location tracking. However, the time cost of MRLIHT-A is much lower than that of MRLIHT-E. Since the time cost of MRLIHT-E is one order of magnitude higher than MRLIHT-A (as observed in Figure 6b), we present its time cost by using another ordinate. Figure 7 reports the accuracy of location tracking by varying the grid size. Since during location estimation, we consider a grid as a location point, the time cost decrease with the increase of grid size (as shown in Figure 7b) while the accuracy is deteriorated. As shown in Figure 7a, the distance deviations are 4.009 cm and 24.355 cm with grid sizes 10 cm and 60 cm, respectively. We set the default grid size as 60 cm to trade off the positioning accuracy and efficiency.

Comparison with Existing Methods
In the following experiments, we compare the proposed MRLIHT with existing methods to show that MRLIHT outperforms the state-of-the-art methods.

Varying the Number of Tags Detected by a Reader Simultanesously
Since we estimate the location of moving individuals (readers) based on the readings of tags detected by the reader simultaneously, Figure 8 shows the performance of various methods by varying the number of tags detected by a reader simultaneously. It can be observed from Figure 8a that the lowest distance deviation is achieved by the proposed MRLIHT. The reason is that we consider the uncertainty of the reading rate of a tag by a reader and first extend the candidate locations of a reader into a PLR rather than some certain points. On the other hand, by refining each grid, the positioning accuracy is further improved. Moreover, in NN and ML, the distance between an RFID reader and tags it detected is computed based on the reading rate model whose parameters are learned based on the historical data. During the parameter learning, it inevitably derives some deviations (due to the uncertainty of the reading rate). As a result, the localization algorithms (i.e., NN and ML) without considering this uncertainty derive a large localization deviation. By comparison, in PHL, since the phases are directly collected from reference tags, the distances (between an RFID reader and tags it detected) estimated based on those phases contain relatively small deviations. Therefore, the localization accuracy of PHL is higher than those of NN and ML, but it is lower than our proposed approaches obviously.  As shown in Figure 8b, with the increase of the number of tags, it is not surprising that the time cost rises. The time costs of existing methods NN, ML and PHL (introduced in Section 5.1) are lower than those of MRLIHT-A and MRLIHT-E, but their localization accuracies are also lower. We can observe that the time costs of ML and PHL are close to each other, because both of them estimate the locations of indoor humans based on the multilateration. The main difference between ML and PHL is that the distance between an individual (reader) and a tag is computed based on the RSS and phase difference, respectively. Moreover, we observe that the time costs of the proposed approaches increase approximately linearly, which verifies that they also have good scalability. For example, the time cost of MRLIHT-A is 0.85163 ms with 100 tags can be detected by a reader simultaneously, which means we can execute 6300 times of location estimation in a second. On the other hand, we can observe that the time costs of MRLIHT-A are 0.00809 ms and 0.2514 ms with 50 and 300 tags can be detected simultaneously, respectively. When the tag deployment is intensive, the efficiency of the proposed MRLIHT decreases. Thus in real applications, we should avoid too-intensive tag deployment with a certain accuracy guarantee. Figure 9 reports the evaluation of the scalability in terms of accuracy and efficiency by varying the number of readers. As shown in Figure 9a, the accuracy remains stable with the increase of the count of readers. However, the accuracy of the proposed MRLIHT is higher than the existing methods, obviously. For the time costs, as shown in Figure 9b, all methods increase linearly with the increase of the number of readers. The time costs of MRLIHT-A and MRLIHT-E are 47.5284 ms and 694.6388 ms with 1000 readers, respectively. In other words, we can estimate the locations of 20,000 and 1500 readers in one second based on MRLIHT-A and MRLIHT-E, respectively. Therefore, MRLIHT-A is more suitable for the large-scale monitoring applications without much accuracy sacrifice.

Conclusions
In this paper, we have studied the indoor human tracking problem. Accordingly, we propose a novel M-RFID based localization approach for indoor human tracking, named MRLIHT. In MRLIHT, RFID tags are fixed deployed in the monitoring area intensively, and RFID readers are equipped on the moving objects (i.e., individuals) we targeting to locate. To improve the localization accuracy, we add a random disturbance term which reflects the uncertainty of the readings by an RFID reader on the reading rate. As a result, the response region of an RFID tag to the reader is extended from a circle to a circular, which enriches the candidate positions of the reader. Moreover, in MRLIHT, the individuals can move in the monitoring area arbitrarily without a pre-defined motion model, which is more applicable in the real world. In time cost, since the locations of RFID tags are fixed and can be written in their own memories, the location information of RFID tags (which are used for location tracking) can be obtained by RFID readers directly. Therefore, the extra queries for tag locations are saved, and thereby the location estimation efficiency is improved. Finally, the extensive experimental results show that the proposed MRLIHT has higher location estimation accuracy than the state-of-the-art methods. Moreover, it is able to accommodate large-scale monitoring applications with good scalability.