Pervasive and Mobile Computing 3 (2007) 209–232 www.elsevier.com/locate/pmc
Robust location tracking using a dual layer particle filter Keunho Yun, Daijin Kim ∗ Department of Computer Science and Engineering, Pohang University of Science and Technology, San 31, Hyoja-Dong, Nam-Gu, Pohang, 790-784, Republic of Korea Received 21 November 2005; received in revised form 24 October 2006; accepted 24 October 2006 Available online 12 December 2006
Abstract Location awareness is an important part of many ubiquitous computing systems, but a perfect location system does not exist yet. Among many location tracking systems, we choose the radio frequency identification (RFID) system due to its various applications. However, the received signal strength indicator (RSSI) signals are too sensitive to the direction of the RFID reader’s antenna, the orientation of the RFID tag, human interference, and the diversity of propagation media that might be present. As a result, the direct use of a conventional particle filter does not provide satisfactory tracking performance. To overcome this problem, we suggest a dual layer particle filter, where the lower layer determines the tag’s location in the block level using a triangulation technique or the support vector machine (SVM) classifier, and the upper layer accurately estimates the tag’s location using the conventional particle filter within the pre-computed or classified block. This layered structure improves the location estimation and the tracking performance, because the location evidence from the lower layer effectively restricts the range of possible locations of the upper layer. We implement the proposed location tracking method using a ubiquitous RFID wireless network in an intelligent office, where several RFID readers are located in fixed locations and people or objects with active RFID tags move around the office. Extensive experiments show that the proposed location tracking method is so precise and robust that it is a good choice for person or object tracking in ubiquitous computing contexts. We also validate the usefulness of the proposed location tracking method by implementing it for a real-time people monitoring system in a noisy and complex steel mill. c 2006 Elsevier B.V. All rights reserved.
∗ Corresponding address: POSTECH, Department of Computer Engineering, San 31, Hyoja Dong, Nam Gu, 790-784 Pohang, Republic of Korea. E-mail addresses:
[email protected] (K. Yun),
[email protected] (D. Kim).
c 2006 Elsevier B.V. All rights reserved. 1574-1192/$ - see front matter doi:10.1016/j.pmcj.2006.10.001
210
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Keywords: Location tracking; Particle filter; Regression; Triangulation; SVM classifier; Graphical Model; RFID; RSSI; Zigbee
1. Introduction Location based technology [1,2] is an emerging application field that uses the physical, geometric, and logical location information about people or objects. The location estimation and tracking of people or objects are the most important tasks among many constituent technologies in location-based technology. Several sensors using infrared light [3], ultrasound [4,5], Radio Frequency (RF) [6–8], and Ultra WideBand (UWB) [9] have been proposed for implementing the location-based technology. An infrared light system is simple and inexpensive, but it is only useful in the range of visible light, due to the characteristics of infrared light. It is also difficult to use it in the presence of fluorescent lighting and for multi-people tracking. It cannot provide the exact location but just the existence of people. An ultrasound system is not affected by light reflection, but it is also difficult to use in a multi-people tracking environment. An RF system can be used for a wide area of applications, and can detect many people using identification information, but the accuracy of location estimation is poor due to reflection, bending, and noise. A UWB system has many desirable characteristics such as rapid transfer speed, wall permeability, and low power. However, it is expensive and does not recognize many people accurately. To conclude, no location sensor takes a perfect measurement or works well in all situations. Recently, many applications of composite systems that use two or more sensors have been introduced. One example is a composite system that uses an infrared light sensor for reporting the presence of a person in a circular area, and an ultrasound sensor in addition for providing rough distance information [10]. Another example is a cricket system that uses an ultrasound sensor to determine the distance from the tag and an RF sensor to obtain the identification information [11]. This approach is interesting in that it can compensate for the weak points in each system, but it has a higher hardware cost than a single system. Ni et al. [12] presented the LANDMARC system, an indoor location sensing system using an active RFID technique. The major advantage of LANDMARC was that it improved the overall accuracy of locating objects by utilizing the concept of reference tags. Instead of using many RFID readers, they installed many cost-effective reference tags and some RFID readers at fixed positions. People or objects took the moving tags, called “tracking tags”. Each RFID reader measured the signal strengths of all tracking tags, as well as the reference tags. Then, the differences of signal strength were computed between a tracking tag and all reference tags. The location of each tracking tag was estimated by the nearest neighbor method, which was assigned to the location of the reference tag whose difference of signal strength was minimum. This approach can alleviate the environmental factors, because the tracking and reference tags are affected by the same dynamic changes of environmental factors. However, this approach has some disadvantages. Firstly, the number of required reference tags is too many when it is applied to a steel company whose physical size is 100 m × 50 m. In this case, the number of reference tags is about 1250
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
211
if the reference tags are placed at 2 m intervals. Secondly, the LANDMARC system does not operate in real-time. It takes about one minute to estimate one tag’s location. This long latency time prevents it from being used as a safety management system that can, for example, rescue the workers in a dangerous situation like a fire. In this work, we chose the RF system for estimating location due to its many advantages such as relative low cost, wide operating range, and easy operating compatibility with the existing network environment. Often, the RF system uses the Zigbee protocol that is widely used in wireless networks, which enables an ad hoc network with low resource consumption and reliable data transfers. Also, we chose the particle filter from many existing location tracking methods such as Bayesian filters [13], Kalman filters [14], and particle filters [15], due to its simplicity and diversity of nonlinear/non-Gaussian modeling. The RFID system uses RSSI to measure the strength of an RF signal. Generally, RSSI signal is attenuated as the tag is far from the reader. Unfortunately, the RSSI signal in the active RFID system has some error-inducing characteristics for location estimation and tracking. Firstly, it is too sensitive to the direction of the RFID reader antenna, the orientation of the RFID tag, and human interference. Secondly, its operating characteristics are greatly changed by its propagation surroundings such as propagation paths, geographical configurations, and reflections. Thirdly, its operating range that exhibits a linear behavior between the signal strength and the distance is too small to provide reliable measurements for good location tracking. Thus, this drift and instability of the RSSI signal, which is inevitable in the RF system, lead to a great error in the estimated tag location if it is directly used as the observation for the particle filter. In order to overcome this shortcoming, the existing location tracking method should be modified to complement this deficiency as much as possible. To meet this goal, we propose a double layered particle filter that combines the classification into the existing particle filter as follows. In the first layer, we use a regression technique [16] or the SVM classifier [17] to determine where a tag is located at the block1 level. In the second layer, we use the existing particle filter technique to estimate the tag location, velocity, and direction accurately, based on the classification result obtained from the first layer. This layered structure improves the location estimation and tracking performance, because the possible model parameters are effectively restricted by the location information that is obtained from the classification result of the first layer. This paper is organized as follows. Section 2 explains the background ideas of location tracking, such as the particle filter, triangulation using regression, and the SVM classifier. Section 3 explains the proposed layered location tracking. Section 4 describes the architecture of the RFID system used in our experiments. Section 5 presents the experimental results that validate the improved performance of location tracking of our proposed method. Finally, Section 5 presents our conclusion. 2. Background This section describes the particle filter that is used as an accurate location estimation and tracking method. Then the triangulation using regression and the SVM classifier that 1 In this paper, a block means a specific size of space (≈3 m × 3 m).
212
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 1. A graphical model of Bayesian filters.
are used as a preprocessing step for estimating the tag location in the block level is described. 2.1. Particle filter Bayesian filters try to estimate the motion state xt of a dynamic system from a noisy collection of observations Y1:t = (y1 , y2 , . . . , yt ). Fig. 1 illustrates a graphical model [18] of the Bayesian filters [19], where xt and yt are the hidden variable and the observed variable, respectively. Bayesian filters make three important existence assumptions: (i) conditional independence, (ii) a probabilistic relationship such as a Gaussian model, and (iii) a first-order Markov process. Also, they include the motion model p(xt |xt−1 ), which is used to update the temporal change of the motion state xt , and the sensor likelihood model p(yt |xt ), which is used to update the measurement weights. When we denote an observation sequence as Y1:t = (y1 , y2 , . . . , yt ), and the Bayesian filters can be described by the following two equations: Z p(xt |Y1:t−1 ) = p(xt |xt−1 ) p(xt−1 |Y1:t−1 )dxt−1 , (1) p(yt |xt ) p(xt |Y1:t−1 ) , p(yt |Y1:t−1 ) Z p(yt |Y1:t−1 ) = p(yt |xt ) p(xt |Y1:t−1 )dxt .
p(xt |Y1:t ) =
(2)
Here, Eqs. (1) and (2) represent the time update that predicts the next state by the motion model p(xt |xt−1 ), and the measurement update that predicts the next observation by the sensor likelihood model p(yt |xt ), respectively. According to Bayes’ rule, the posterior distribution p(xt |Y1:t ) can be computed by the product of the prior distribution p(xt |Y1:t−1 ) and the sensor likelihood model p(yt |xt ), where the evidence p(yt |Y1:t−1 ) is used as a normalization factor. Bayesian filters include several well-known models such as the Hidden Markov Model (HMM), Kalman filter [20], Kalman smoother, particle filter, and the Markov Chain Monte
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
213
Fig. 2. An operating process of particle filter [21].
Carlo (MCMC) model [21]. Among them, the Kalman filter and particle filter are the most widely used for location tracking, due to their simplicity of implementation. The Kalman filter only works well when the state variable is assumed to be a stationary Gaussian model and both the motion model and the sensor likelihood model are linear functions of the states. However, the motion state variable is usually non-stationary and non-Gaussian, and the motion model and the sensor likelihood model are nonlinear due to the drift and instability of the RSSI signal. Our work uses the particle filter to accommodate this situation, since it can represent arbitrary probability densities and converge to the true state estimate even in non-Gaussian conditions and nonlinear dynamic systems. Such a particle filter is often called the Sequential Monte Carlo (SMC) [22] or Sequential Importance Sampling with Resampling (SIR) [23]. Fig. 2 illustrates the working principle of the particle filter, which is well explained in [21] as follows. First, N initial samples are created. Second, the weights of samples are computed in an importance sampling process, using the likelihood of the observed distribution. Third, re-sampling is performed to solve the degeneracy problem, where the samples are centralized in a specific region. Fourth, a time update process is performed. These steps are repeated until no more observations are found. A practical implementation of this particle filter uses sampling to reduce the computational cost. According to the central limit theorem, summation can approximate the integration when the number of samples N approaches infinity: Z N 1 X (i) N →∞ IN ( f ) = f (x ) =⇒ I ( f ) = f (x) p(x)dx. N i=1 x
(3)
214
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 3. Tag’s location using triangulation.
Hence, if we substitute the integration for an approximation sampling, the time update process will be replaced by p(xt |Y1:t−1 ) ≈
M X
(m)
(m)
wt−1 p(xt |xt−1 ),
m=1 (m)
wt−1 =
(m)
p(yt−1 |xt−1 ) M P m=1
(m) p(yt−1 |xt−1 )
,
(4)
(m)
where wt−1 is an importance weight of the mth sample of the observed distribution in the time t − 1. 2.2. Rough estimation of a tag’s location As mentioned before, the RSSI signal of an RFID reader varies greatly over the distance between the reader and the tag in accordance with several surrounding conditions, such as the direction, orientation, and obstacles involved. Hence, the direct use of the RSSI signal by the particle filter for estimating the tag’s location leads to a great error in the estimated location due to its large variation. To alleviate this shortcoming, the tag’s location is determined roughly at the block level before the particle filter is applied to estimate the tag’s location. In this paper, we consider two different ways of estimating the tag’s rough location: triangulation using regression and SVM classification. 2.2.1. Triangulation using regression This method estimates tag location from three RSSI signals of three RFID readers (see Fig. 3), where the locations of the three RFID readers are known and fixed at
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
215
(i 1 , j1 ), (i 2 , j2 ), and (i 3 , j3 ). Each RFID reader generates the RSSI signal in accordance with the distance of the tag from the RFID reader. However, due to the characteristics of RF, the RSSI signal fluctuates even when the tag is located at the same position. To reduce the effect of this fluctuation on the distance estimation, we apply the regression technique for each RFID reader to pre-compute the relation between RFID signal and M , where Z and X are the distance Z = α X + β using many training samples (Z i , X i )i=1 i i RSSI signal and the distance of the tag from a specific RFID reader of the ith training sample, respectively. This will be discussed in more detail in the Section 5.1. From the RFID signals and the pre-computed regression equations, we obtain the estimated distances l1 , l2 , and l3 of the tag from the RFID readers. Then, we estimate the tag’s location (u, v) using the geometric properties of triangles based on the three estimated distances and the fixed locations of the RFID readers as follows. The estimated distances from the regressive equations of three readers should follow these relations: (u − i k )2 + (v − jk )2 = lk2 , u 2 + v 2 − 2ui k − 2v jk = lk2 − i k2 − jk2 ,
k = 1, 2, 3.
(5)
The above equation can be represented in a matrix form as 1 1 1 1 1 1
−2i 1 −2i 2 −2i 3
2 2 2 u2 l − i − j 1 1 1 −2 j1 2 v 2 2 2 −2 j2 l − i − j = 2 2 2 u . 2 2 2 −2 j3 l3 − i 3 − j3 v
(6)
When the above equation is represented by a simple matrix equation Ax = b, its solution becomes x = (At A)−1 At b by simple matrix algebra, which generates the estimated location (u, v) of the tag. 2.2.2. SVM classification This method uses the SVM classifier to determine the tag’s location in the block level, M . where the SVM classifier has been trained by using many training samples (Z i , X i )i=1 Then, it receives the RFID signals from all the RFID readers and provides the identity of the block in which the tag is located. Theoretically, SVM classification can be traced back to the classical structural risk minimization (SRM) approach, which determines the classification decision function by minimizing the empirical risk as R=
L 1X | f (E xi ) − yi |, l i=1
(7)
where L and f are the number of examples and the classification decision function, respectively. For the SVM, the primary concern is to determine an optimal separating hyperplane that produces a low generalization error. Usually, the classification decision function in a linearly separable problem is represented by: f w,b x ) = sign(w E · xE + b). E (E
(8)
216
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 4. Linearly separating hyperplane of the SVM.
In the SVM, the optimal separating hyperplane is determined by providing the largest margin of separation between different classes. This optimal hyperplane bisects the shortest line between the convex hulls of the two classes. The optimal hyperplane is required to satisfy the following constrained minimization: 1 T w E w, E 2 yi (w E · xEi + b) ≥ 1.
Min :
(9) (10)
Fig. 4 illustrates the linear separating hyperplane in the SVM that guarantees the minimum expected risk, where the circled points are the support vectors that are involved in the classification task [17]. When we consider the real classification problem of a noisy RF environment, the linear separation function does not work well. Therefore, we consider the nonlinear version of the SVM in our work. For a linearly non-separable case, the minimization problem needs to be modified to allow misclassified data points. This modification results in a soft margin l for the classifier that allows but penalizes errors by introducing a new set of variables ξi=1 measurement of the violation of the constraints: !k L X 1 T Min : w E w E +C ξi , (11) 2 i=1 yi (w E T Φ(E xi ) + b) ≥ 1 − ξi ,
(12)
where C and k are used to weigh the penalizing variables ξi , and Φ(·) is a nonlinear function which maps the input space into a higher dimensional space. Minimizing the first term in Eq. (11) corresponds to minimizing the VC-dimension of the learning machine, and minimizing the second term in Eq. (11) controls the empirical risk. Therefore, in order to solve the problem in Eq. (11), a set of functions should be constructed, and then the classical risk minimization should be implemented. Here, a Lagrangian method is used to
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
217
Fig. 5. A block level classification result of SVM classifier.
solve the above problem. Then, Eq. (11) can be written as 1 Max : F(Λ) = Λ · 1E − Λ · D · Λ, 2 Λ · y = 0; Λ ≤ C; Λ > 0, where Λ = (λ1 , . . . , λ L ), D = yi y j xi · x j . For binary classification, the decision function can be rewritten as: ! l X ∗ ∗ f (E x ) = sign yi λi Φ(E xi ) · Φ(E x) + b .
(13) (14)
(15)
i=1
Since the computation of the dot product between Φ(E xi ) and Φ(E x ) is not tractable, a xi ) · Φ(E x ) instead of kernel technique is applied by using a kernel function K (E xi , xE) = Φ(E taking the dot product in the nonlinearly mapped space. Common kernel functions include the polynomial function, the Gaussian Radial Basis Function (RBF), and the sigmoidal x k2 i −E function. In this work, the Gaussian RBF kernel function K (E xi , xE) = exp( −kEx2σ ) is 2 used in all experiments. Also, a slack variable is used to keep a small empirical risk and to minimize the complexity term. This is a good trade-off between the empirical risk and the complexity term. Fig. 5 illustrates one SVM classification result at the block level. Here, three RFID readers are used and nine blocks should be discriminated. Each reader generates its own RSSI signal in accordance with its distance from the tag. The trained SVM classifier accepts the RSSI signals and decides that the tag is located within one specific block. 3. Location tracking using a double layered particle filter Fig. 6 shows an approximate graphical model of the proposed double layered particle filter, where the observation variable z t is the RSSI signal from all RFID readers, the hidden variable yt is a coarsely estimated tag’s location (u 0 , v 0 ) in the block level using the triangulation using regression or the SVM classification, and the state variable xt is
218
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 6. A graphical model of the proposed double layered particle filter.
an accurately estimated tag location (u, v) at the fine level. The role of the first layer is to estimate the tag’s coarse location yt given the RSSI observations z t , and the role of the second layer is to estimate the precise tag location xt given yt . Hence, we can treat the function of the first layer as a preprocessing function for the conventional particle filter given in the second layer. The preprocessing function provides more reliable evidence for the tag’s location, which improves the tracking performance of the conventional particle filter. Fig. 7 is a schematic flowchart of the proposed location estimation method, where the process is repeated until no more observations are found. A detailed explanation of each operation is given below. 3.1. The first layer: Coarse location estimation The role of the first layer is to provide a reliable estimate of the tag’s coarse location yt given the RSSI observations z t . This is accomplished by using three consecutive strategies. First, the first-layer measurement is updated by triangulation using the regression technique or by SVM classification, depending on the quality of the RSSI signals. The regression function is more reliable when the fluctuation is low. To indicate the reliability SSE of the regression function, the merit figure is used: R 2 = SSR SST = 1 − SST as, where SSR, SSE, and SST are defined by E{(ˆz − z¯ )2 }, E{(z − zˆ )2 }, and E{(z − z¯ )2 }, respectively, and E, z, z¯ , and zˆ are the expectation operator, the observed value, the mean value, and the fitted value, respectively. If the value of R 2 is greater than 0.7, the regression function should provide a reliable curve fitting; thus, it is used for coarse estimation of the tag location. Otherwise, the SVM classifier is used. The triangulation using regression technique outputs the estimated tag’s location (u 0 , v 0 ). Alternatively, the SVM classifier outputs the estimated block where the tag is located. In either case, the estimated tag location is represented in a probabilistic way due
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
219
Fig. 7. A schematic flowchart of the proposed location estimation method.
to the uncertainty of the location, which is caused by the instable RSSI signals. In our work, the estimated tag location (u 0 , v 0 ) obeys the Gaussian distribution model, which is implemented by the sampling technique. Thus, it is used as the mean of Gaussian model in the regression technique and the center of the estimated block is used in the SVM classifier. When we perform the measurement update in the first layer, the estimated location yt0 is given by Triangulation using regression(z t ), if R 2 > 0.7, (16) yt0 = otherwise SVM classifier(z t ), where z t is the observed value of the RSSI signal.
220
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
To summarize, the measurement update is performed by the following: (1) each RFID reader generates its corresponding RSSI signal according to the sensor likelihood model; (2) the tag’s location in the first layer is estimated from either the triangulation using regression or the SVM classification, depending on the figure of merit of the regression; and (3) the estimated tag’s location yt0 is assumed to be Gaussian distributed and its mean value is taken by either the obtained tag location or the center of the identified block. Second, the restricted time update of the first layer is considered. In a practical situation, several observations are obtained in a given time interval, and the tag owners cannot move fast. Thus, the estimated locations within a given time interval should not change abruptly within a short interval. Therefore, the possible estimated locations are restricted during a given time interval as follows. The difference between the estimated locations of two consecutive time intervals, 0 |, is compared to a given threshold value D. If δ is less than D, the estimated δ = |yt0 − yt−1 location at time t is set as the current tag location. Otherwise, the previous estimated location is retained as the current tag location. Mathematically, this can be represented by: 0 y, δ < D, 00 (17) yt = t0 yt−1 , otherwise. When only the restricted time update is considered, the instability of the RSSI signals can cause the estimated locations to stick in the same position for several time intervals. This could produce a substantial error in the estimated location if too many changes occur in the real tag position. One way to avoid this situation is to accept the estimated location at the time t as the true tag position when the previous k consecutive estimated locations are in the same position. In other words, the tag location yt00 is given by yt00 = yt0 ,
0 when equal (yt−k+1:t ) is true,
(18)
0 where the function equal(yt−k+1:t ) is true only when the previous k consecutive estimated 0 0 locations {yt−k+1 , yt−k+2 , . . . , yt0 } are the same for the triangulation using the regression technique (or when the previous k consecutive estimated tag blocks are identical for the SVM classifier). Third, the majority voting scheme is used to make the current estimated location more reliable. This scheme takes the majority of the three consecutive estimated locations 00 , y 00 , y 00 } as the current estimated location, i.e., when two of the three consecutive {yt−2 t−1 t estimated locations are coincident with each other, that is the majority. The majority voting scheme gives the coarsely estimated tag location yt by: 00 00 yt = Majority of {yt−2 , yt−1 , yt00 }.
(19)
3.2. The second layer: Accurate location estimation The role of the second layer is to provide an accurate tag location xt , based on the coarsely estimated tag location yt obtained from the first layer. For this, two kinds of updates are performed as follows.
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
221
First, the measurement update of the second layer modifies the weights of all the samples. The estimated location (u, v) in the case of triangulation using regression, or the center of the estimated block obtained from the first layer, is treated as the mean of the Gaussian distributed samples. The weight of each sample is updated in accordance with the distance between the mean and the sample’s location by using the policy that the closer to the mean a sample is, the larger the weight it has. Furthermore, when using the SVM classifier, the samples within the estimated block are weighted more because the SVM classifier provides stronger evidence for the existence of samples within the estimated block. Considering the above two effects, the weight of the mth sample at the time t can be represented as: (m)
wt
(w) (l)
=
(m)
p(yt yt |xt ) , M P (w) (l) (s) p(yt yt |xt ) s=1 (w)
=
(m) (l)
(l)
(m)
p(yt |xt yt ) p(yt |xt ) , M P (w) (m) (l) (l) (s) p(yt |xt yt ) p(yt |xt ) s=1 (l)
=
(m)
α(m) p(yt |xt ) , M P (l) (s) α(s) p(yt |xt )
(20)
s=1 (l) yt
where represents the location variable whose weight is modified depending on the (w) distance between the mean and the sample’s location, and yt represents the location variable whose weight is modified further depending on the SVM classification result. (l) (w) (m) (l) The weight of the mth sample at the location yt , denoted as α(m) = p(yt |xt yt ), is defined by the following. When the triangulation using the regression method is used, the weights are even for all samples, as α(m) = M1 . When the SVM classification is used, the weight of each sample is defined as (m) W > 1, xt ∈ Bt , (21) α(m) = 1, otherwise, where W is a fixed weight constant and Bt is the block indicated by the SVM classification. Second, the time update of the second layer predicts the next location by the predefined motion model p(xt+1 |xt ): p(xt+1 |Y1:t ) ≈
M X
(m)
wt
(m)
p(xt+1 |xt
).
(22)
m=1
The obtained posterior distribution p(xt+1 |Y1:t ) provides an accurate location estimation, (m) because the weight wt used in this work is found precisely by considering the regression or classification result from the first layer.
222
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 8. Tag and RFID reader.
4. System architecture 4.1. Transmission and reception modules Fig. 8 shows a smart tag from MAXFOR which uses the Zigbee protocol. This tag works on the Berkeley TinyOS and sends a fixed packet twice in a second using the 2.4 GHz frequency band. The RFID reader receives the header data from all the tags. The RFID reader includes a data reader and a wireless LAN for sending data to the AP (Access Point). Then, the AP sends the tag data to the server through the gateway. For reliable data transmission, the RFID reader includes Zigbee nodes which function as an ad hoc network. 4.2. Network architecture This work uses a centralized star network architecture to interconnect several RFID readers, and an ad hoc mesh structure to interconnect the Zigbee nodes. The mixed star and mesh network structure guarantees reliable communication, since the ad hoc function reliably transfers the data from the moving tags. Fig. 9 illustrates the star-mesh structure that is used in our work. If people who are equipped with tags move around the office, the RFID readers that are in the fixed locations receive the tag data through the star-mesh network and generate RSSI signals depending on their distances to the tags. Next, the server receives the tag data and the RSSI signal from the RFID readers using the wireless LAN through the gateway. Then, the server starts to estimate each tag’s location by the proposed dual layer location estimation method. 5. Experimental results and discussion Location tracking experiments were performed in our office, which has square partitions for 9 desks arranged in a 10 m × 9 m space, and many obstacles such as partitions, bookshelves, computers, etc. We adjusted the height of the RFID readers to match the
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
223
Fig. 9. Star-mesh network architecture
average person’s height, because the RF signal is sensitive to direction. Fig. 10 illustrates the layout of the office, where four RFID readers are located among the nine partitions. 5.1. Tracking people in straight movement Our experiment evaluated the tracking performance of the algorithm in our office environment when a person moved straight away from an RFID reader located at the end of the central corridor. Fig. 11 shows the layout of the reader setup which was used for this experiment. The reader was located at x = 0 m, and 100 measurements were taken at x = 0.3 m, 2 m, and x = 4 m. Some parameters should be determined in advance in order to use the proposed location estimation method. First, the Gaussian RBF kernel parameters of the SVM and the slack variable were set to σ = 0.7 and C = 2, respectively, via trial and error to provide a good classification performance. Second, the regression function was determined for the location X and the RSSI value Z . Fig. 11 plots the RSSI values obtained at x = 0.2 m, 2 m, and 4 m, where ∗ denotes the collected data, and the dotted line is the fitting curve of the regression. As shown in the figure, the variation of the RSSI signals at a given location is very large. This data generated the regression function Z = −4.83 × X + 264. Third, the amplification constant W = 1.7 was determined. Table 1 summarizes all parameters used
224
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 10. Layout of the office used for our location tracking experiments.
Fig. 11. The RSSI data and their first order regression.
in this experiment. All other parameters were determined to minimize the Mean Squared Error (MSE) between the true positions and the estimated locations. We compared three different location tracking methods: (i) Triangulation using regression and a particle filter, (ii) SVM classifier and a particle filter, and (iii) SVM classifier and a particle filter with restricted measurement update called T+P, S+P, and S+P+T, respectively. Figs. 12 and 13 show the location tracking results of using the T+P and S+P+T method, where the horizontal axis denotes a time sequence in which each location was maintaining over 100 time units, and the vertical axis denotes the estimated
225
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232 Table 1 Parameter values used for tracking a person in a straight movement Parameter
Value
Samples per location Variance of RBF kernel Slack variables C Amplification constant W Variance of Gaussian in state variable X Variance of Gaussian in hidden variable Y
200 0.7 1 1.7 0.1 2.07
Fig. 12. Result of tracking a straight movement when the T+P method was used.
Table 2 Comparison of different location estimations in the case of straight movement Method
MSE (m)
Execution time (s)
T+P S+P+T
0.296 0.211
0.035 0.047
location. Also, the bold line, + line, and normal line represent the true location, the regression result, and the estimated location, respectively. These figures show that the S+P+T method estimated location better than the T+P method because the former has a lower oscillation of the holding state than the latter. Table 2 compares the MSE between the true location and the estimated location and the execution time for one sample when the two different location estimation methods are used. The S+P+T method had the smaller MSE, and it improved the MSE performance by 15% at the cost of a little more execution time.
226
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 13. Result of tracking a straight movement when the S+P+T method was used.
Table 3 Parameter values used for tracking an arbitrary movement Parameter
Value
Samples per location Variance of RBF kernel Slack variables C Amplification constant W Distance threshold D Variance of Gaussian in the state variable X Variance of Gaussian in the hidden variable Y
300 3.5 1 1.7 2 1 1.968
5.2. Tracking people in arbitrary movement This experiment evaluated the tracking performance of the proposed algorithm when a person moves arbitrarily around the office, which is shown in Fig. 10. We collected a total of 8400 training samples, which consist of 21 designated positions × 4 different orientations × 100 training samples. As mentioned earlier, the RSSI signals are sensitive to the direction of the RFID reader antenna, the orientation of RFID tag, and human interference, and the orientation of the tag is unknown. The effect of orientation should be alleviated by discriminating the RSSI signals using four classes which correspond to the different directions N, S, E, and W. Although a higher orientation resolution would be better for accurate tracking, only four different orientations were used due to the poor orientation resolution of the current RFID reader. Thus, 21 × 4 SVM classifiers were built, where each classifier used 100 training samples. Table 3 shows all of parameter values for this experiment.
227
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 14. Result of tracking an arbitrary movement when the S+P+T method is used.
Table 4 Comparison of location estimations for arbitrary movement Method
MSE (m)
Execution time (s)
Location classification rate (%)
Orientation classification rate (%)
T+P S+P S+P+T
3.462 1.398 1.064
0.063 0.059 0.069
– 85.71 87.14
– 90.95 91.19
Fig. 14 illustrates the results for a person moving arbitrarily in the office. Here, the ◦or •marks are the training positions, and the triangular marks denote the estimated tag positions, where B, C, 5, and 4 represent the east-, west-, south-, and north-ward tag orientations, respectively. Here, we only show some partial test points denoted by the •mark, because it is difficult to discern the total estimated locations corresponding to all the test points. As shown in the table, some points are incorrect due to the incompleteness of the proposed method. Table 4 compares the MSEs, between the true and the estimated location, the execution time, and the SVM’s location and orientation classification performance, of the three different location estimation methods. This table shows that (1) the T+P method has a very large MSE due to the large error in the regression function that comes from the RSSI data itself, (2) the S+P+T method has the smallest MSE and improves the MSE performance by 25%, as well as the location and orientation classification performances a little, at the cost of a little more execution time. This improvement is due to the preprocessing of the SVM classification for the coarse location and orientation, and the use of filtering techniques such as the restricted time updates. This result is very important as well since the use of SVM
228
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Table 5 Parameter values used for tracking an arbitrary movement Parameter
Value
Samples per location Variance of RBF kernel Slack variables C Amplification constant W Distance threshold D Variance of Gaussian in state variable X Variance of Gaussian in hidden variable Y
300 8.5 11 1.5 2 0.7 1.52
Fig. 15. Result of object tracking along the x direction when the S+P+T method is used.
classification enables an accurate estimation of orientation, when the tags are consistently oriented to the user by, for example, placing them on helmets. 5.3. Tracking objects This experiment evaluated the tracking performance of the proposed algorithm when an object with a tag circulated around the office, from the left top seat to the top door, through all of the seats. We collected 6800 training samples (200 samples from 34 different positions), and tested at 340 positions with 10 samples per position. The experimental situation is the same as in the previous experiment, except for the parameters were used. Table 5 shows all of the parameter values for this experiment. Figs. 15 and 16 show the location estimation results over 340 test samples along the x and y direction, respectively, when the S+P+T estimation method was used. These figures show that it performs better for object tracking than for people tracking, because the former MSE is much smaller than the latter.
229
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 16. Result of object tracking along the y direction when the S+P+T method is used.
Table 6 Comparison of location estimations for object tracking Method
MSE (m)
Execution time (s)
Location accuracy (%)
T+P S+P S+P+T
3.130 0.536 0.519
0.058 0.061 0.065
– 99.41 99.71
Table 6 compares the MSEs, the execution times, and the SVM’s location classification performances of the three estimation methods. This table shows that (1) the T+P method is not effective for object tracking as well, due to its large regression error, (2) the MSE for object tracking is about half that for people tracking when the S+P or S+P+T methods are used, and (3) the location classification performance for object tracking outperforms that of the performance for people tracking. These results clearly show that the presence of human bodies between the RF tag and the reader severely interferes with the RF signal’s characteristics. However, the proposed method can track people more effectively than other methods. 5.4. Application to the real environment We applied the proposed tracking method to a very noisy and complicated working environment, the Pickling and Tandem Cold Rolling Mill (PCM) workplace of the Pohang Steel Company (POSCO). Since the workplace is so noisy and complex that the workers can miss the fire alarms in an emergency, it is very important to monitor the workers’
230
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
Fig. 17. A snapshot of our people monitoring system.
positions for safety and possible rescue. The PCM workplace, displayed in Fig. 17, consists of two storeys, and has a physical size of 100 m × 50 m. We determined the number and locations of RFID readers and gateways in such a way that the workplace did not include the regions where RF signals did not propagate. Through trial and error, we decided to use 49 RFID readers and 9 gateways, whose positions are marked by squares in Fig. 17. The server collecting all of the tag data was located in the PCM operating room. The server collected all the RSSI signals from the RFID readers, estimated the workers’ locations using the proposed tracking algorithm, and displayed the estimated locations in a real-time manner. Currently, the system can track 100 workers at the same time, and its maximum location error is less than 3 m. Fig. 17 shows a snapshot of the monitor screen of the system, which successfully tracks 12 workers in real-time, whose positions are marked by the circles. 6. Conclusion We have proposed a significantly improved tracking algorithm combined with a preprocessing step, such as a regression or SVM classifier. The proposed method consists of a double layered structure, where the first layer performs a coarse location estimation using the regression or SVM classification technique, and the second layer then performs the accurate location estimation using a particle filter whose initial location cues come from the coarsely estimated location from the first layer. This complementary working principle provides better tracking performance than the existing tracking methods. The proposed location tracking algorithm is so general that it can be applied to any kind of location tracking module, including infrared light, ultrasound, and UWB sensors.
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
231
It provides information on a person’s existence and/or location in an indoor corridor or office, within a limited size resolution (2 m × 2 m). Also, it tracks many people independently in real-time even in a steel mill with a noisy, complicated environment full of wave-propagation hazards. Also, the proposed tracking method can be deployed in many applications such as access control for safety management, emergency rescue, lost child protection, worker verification, and to find specific objects. Acknowledgements This work was partially supported by the Korea Science and Engineering Foundation (KOSEF) through the Biometrics Engineering Research Center (BERC) at Yonsei University. Also, it was partially supported by the Intelligent Robotics Development Program, one of the 21st Century Frontier R&D Programs funded by the Ministry of Commerce, Industry and Energy of Korea. References [1] J. Hightower, G. Borriello, Location systems for ubiquitous computing, Computer 34 (8) (2001) 56–66. [2] J. Hightower, The location stack, Ph.D. Thesis, 2004. [3] R. Wnat, A. Hopper, V. Falcao, J. Gibbons, The active badge location system, ACM Transactions on Information Systems 40 (1) (1992) 91–102. [4] A. Ward, A. Jones, A. Hopper, A new location technique for the active office, IEEE Personal Communication 4 (1997) 43–47. [5] A. Ward, Sensor-driven computing, Ph.D. Thesis, August 1998. [6] J. Hightower, R. Want, G. Borriello, Spoton: An indoor 3d location sensing technology based on rf signal strength, Tech. Rep., University of Washington, February 2000. [7] J. Hightower, C. Vakili, C. Borriello, R. Want, Design and calibration of the spoton ad-hoc location sensing system, Tech. Rep., University of Washington, August 2001. [8] P. Bahl, V. Padmanabhan, Radar: An in-building rf-based user location and tracking system, in: IEEE INFOCOM, vol. 2, 2000, pp. 775–784. [9] R. Fontana, E. Richley, J. Barney, Commercialization of an ultra wideband precision asset location system, 2003. [10] L. Liao, D. Fox, J. Hightower, H. Kautz, D. Schulz, Voronoi tracking : Location estimation using sparse and noisy sensor data, in: The IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS, 2003, pp. 723–728. [11] N. Priyatha, A. Charkraborty, H. Balakrishnan, The cricket location-support system, in: The 6th ACM International Conference on Mobile Computing and Networking, 2000, pp. 32–43. [12] L. Ni, Y. Liu, Y. Lau, A. Patil, LANDMARC: Indoor location sensing using active RFID, in: First International Conference on Pervassive Computing and Communications, 2003, pp. 407–415. [13] D. Fox, Bayesian techniques for location estimation, 2003, pp. 16–18. [14] I. Guvenc, C. Abdallah, R. Jordan, O. Dedeoglu, Enhancements to rss based indoor tracking systems using Kalman filters, in: International Signal Processing Conference and Global Signal Processing Expo, 2003, pp. 91–102. [15] J. Hightower, G. Borriello, Particle filters for location estimation in ubiquitous computing : A case study, in: The Sixth International Conference on Ubiquitous Computing, Ubicomp, 2004. [16] T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer, 2001. [17] C. Burges, A tutorial on support vector machines for pattern recognition, Data Mining and Knowledge Discovery 22 (2) (1998) 121–167. [18] M. Jordan, An introduction to probabilistic graphical models, June 2003.
232
K. Yun, D. Kim / Pervasive and Mobile Computing 3 (2007) 209–232
[19] D. Fox, J. Hightower, L. Liao, D. Schulz, G. Borriello, Bayesian filters for location estimation, IEEE Pervasive Computing 2 (3) (2003) 24–33. [20] G. Welch, G. Bishop, An Introduction to the Kalman filter, in: SIGGRAPH Course 8, 2001. [21] C. Andrieu, N. Freitas, A. Doucet, M. Jordan, An introduction to mcmc for machine learning, ACM Transactions on Information Systems 50 (2003) 5–43. [22] A. Doucet, S. Godsill, C. Andrieu, On sequential monte carlo sampling methods for bayesian filtering, Statistics and Computing 10 (3) (2000) 197–208. [23] M. Isard, A. Blake, Condensation—conditional density propagation for visual tracking, International Journal of Computer Vision 29 (1) (1998) 5–28. Keunho Yun received the B.S. degree in electronic and electrical engineering from Hanyang University, Seoul, Korea, in 2004, and the M.S. degree in Computer Science and Engineering from Pohang University of Science and Technology (POSTECH), Pohang, Korea, in 2006. He is currently working at LG Electronics. His current research interests include location-based services, sensor networks, and ubiquitous computing.
Daijin Kim received the B.S. degree in electronic engineering from Yonsei University, Seoul, Korea, in 1981, and the M.S. degree in electrical engineering from the Korea Advanced Institute of Science and Technology (KAIST), Taejon, 1984. In 1991, he received the Ph.D. degree in electrical and computer engineering from Syracuse University, Syracuse, NY. During 1992–1999, he was an Associate Professor in the Department of Computer Engineering at DongA University, Pusan, Korea. He is currently an Associate Professor in the Department of Computer Science and Engineering at POSTECH, Pohang, Korea. His research interests include intelligent systems, biometrics, and RFID sensor networks.