Keywords

1 Introduction

With the rapid increase of the older population, the need of special healthcare service for elders increases. Traditional healthcare service systems (HSS) utilize cameras, specialized hardware or wearable sensors to sense the human activities in a specific environment. However, these solutions have some unavoidable limits. Camera based techniques are sensitive to the light condition and violating personal privacy. Specialized hardware based techniques need specialized equipments, which probably leads to a high cost. Wearable sensors based techniques are inconvenient for users must wear different sensors.

There have been various WiFi-based human activities solutions which can be applied into HSS, such as WiSee [1], Wi-Gest [2], WiHear [3], etc. They are based on the insight that different human activities can introduce different amplitude distortions and phase shifts in WiFi signals. In this paper, we propose WiCare, a non-intrusive and device-free healthcare service system based on WiFi signals. We implement WiCare with two commercial off-the-shelf (COTS) WiFi devices, a sender (e.g., a wireless router) and a receiver (e.g., a laptop). The receiver is equipped with Intel 5300 network interface card (NIC), which is modified by the tools in [4], to obtain CSI measurements from the physical layer.

The main contributions of this paper are as follows:

  1. (1)

    To the best of our knowledge, this is the first effort using WiFi signals to improve the welfare of target groups. We design WiCare, a synthesized healthcare service system, which exploits the reflections of WiFi signals to “sense” different human activities in a non-invasive and device-free manner.

  2. (2)

    To evaluate the performances of our proposed system, we collect CSI values modulated by human activities in two potential indoor scenarios: a living room and a bedroom. The experiment results demonstrate that WiCare can correctly detect and recognize human activities with a high recognition accuracy and low false positive rate. Our system can be deployed to serve the independent-living elders or isolated patients.

The rest of this paper is organized as follows. Section 2 introduces the related work. Section 3 describes the specific design of WiCare, which is followed by the evaluation of the system in Sect. 4. We conclude this paper in Sect. 5.

2 Related Work

Existing solutions on device-free activity detection and recognition can be divided into three categories: RSSI based, specialized hardware based, CSI based.

RSSI based: Abdelnasser et al. presented WiGest which utilizes RSSI values of WiFi signals to sense hand gestures around the user’s mobile device [2]. Sigg et al. proposed activity recognition schemes using RSSI values to recognize four human activities including crawling, lying down, standing up and walking [5, 6]. However, RSSI values only provide coarse-grained information about channel changes and do not contain fine-grained information about small scale fading caused by micro-movements.

Specialized hardware based: Researchers have proposed solutions that employ software defined radio (SDR) platform and specialized hardware to recognize human activities. Pu et al. proposed WiSee [1] which uses SDR as a receiver to extract sophisticated WiFi signals to identify 9 human activities. Wang et al. proposed WiHear [3] which collects WiFi signals both from SDR platform and WiFi devices to hear people’s talking. Kellogg et al. proposed AllSee [7], a self-designed hardware prototypes, which achieves classification accuracies as high as 97 % over a set of 8 gestures. Adib et al. built WiVi [8] and WiTrack [9]. WiVi employs specialized radar antennas to send wireless signals and traces positions of the object moving behind the wall. WiTrack utilizes USRP and other sophisticated hardwares to track the 3D motion of a user. The above solutions exhibit good performance in recognizing human gestures or movements, but they need specialized hardware such as USRP or self-made devices.

CSI based: CSI values obtained from COTS WiFi NICs (such as Intel 5300) have been employed recently to recognize human activities. Wang et al. presented E-eyes [10] that exploits CSI values for recognizing household activities. Ali et al. exhibited WiKey [11] which utilizes CSI values to identify keystrokes. Han et al. proposed WiFall [12] that uses CSI values as the indicator to sense people’s fall. Liu et al. made WiSleep [13] which leverages WiFi signals collected in bedrooms to monitor a people’s sleep. Although these CSI based activities recognition solutions achieved high time resolution using CSI, they still have some disadvantages. E-eyes and WiKey are relatively location-dependent and not resilient to environment changes, WiFall does not effectively denoise CSI values. WiSleep is tailored to identify a person’s sleeping postures.

In this paper, we tend to utilize CSI values for both coarse-grained and fine-grained human activities detection and recognition in typical indoor environments, and further build a healthcare system to serve the independent-living elders or patients living in an isolated room.

3 System Design

In this section, we provide a specific design of our system including the Data Collection, Primitive Signal Processing, Segmentation and Activity Detection, Feature Extraction and Recognition and System Response.

3.1 Data Collection

WiCare runs on the 5 GHz band of IEEE 802.11n standard rather than 2.4 GHz band to maintain more stable communications between transmitter and receiver. It employs a W-point receive window to collect CSI values from the WiFi devices, W is related to the sampling rate and the durations of daily human activities. All data in the receive window are regarded as the minimum process unit. The process of data collection contains two phases: training phase and working phase.

During the training phase, each selected activity is done by the volunteer for several times to constitute the training set. WiCare uses the training set to train its parameters and the classifier. In the working phase, the pre-trained WiCare collects CSI in real time and periodically stores data for further processing.

3.2 Primitive Signal Processing

WiCare organizes the received CSI values into matrix \(\mathbf M \) with dimensions \(N\times W\), where N is the number of CSI streams and W represents receive window size. Since CSI values provided by commodity WiFi devices are inherently noisy due to the hardware imperfections (carrier frequency offsets (CFO), transmission power changes) and environment variations (path loss, shadowing and fading), the CSI streams must be sanitized before detecting and extracting motion information.

WiCare removes the DC component by subtracting the constant offset from each stream. The corresponding constant offset is calculated by a long-term averaging over the stream. Then, WiCare passes every row of the matrix \(\mathbf M \) into the Butterworth filter to remove high frequency noise. We observe that the frequencies of the variations induced by human activities in CSI streams approximately lie between 1 Hz to 80 Hz. If the CSI sampling rate is \(F = 2000\) Hz, the cut-off frequency \(w_c\) can be \((2\pi f)/F = (2\pi \times 80)/2000 \approx 0.25\) rad/s. Figure 1 illustrates the signal denoising process of the waveform of walk activity.

Fig. 1.
figure 1

Denoising process of a CSI stream. (a) Original CSI stream (b) CSI stream after reducing DC component (c) CSI stream through Butterworth low-pass filter

3.3 Segmentation and Activity Detection

Segmentation. WiCare divides the CSI matrix \(\mathbf M \) into \(N_b\) bins along the row order, and each bin contains n CSI measurements, where n is set as \(\frac{1}{4} F (=\frac{1}{4} \times 2000=500\)) and \(n(N_b-1) < W \le nN_b\). Every bin can be reconstructed as a new matrix \(\mathbf H _k (1 \le k \le N_b)\) with dimensions \(N \times n\). Then, WiCare calculates the variance \(\nu _k\) of each bin, and obtains a cumulative moving variance as \(\varPhi = \sum _{k=1}^{N_b} \nu _k\). WiCare sets a threshold \(\sigma _{var}\) to judge whether a human activity is happening. When \(\varPhi > \sigma _{var}\), it indicates the occurrence of a human activity and WiCare carries on the following operations. Otherwise WiCare keeps monitoring the WiFi devices and stays in low-power mode.

Activity Detection. After perceiving the existence of an activity, WiCare begins to detect the start and end points of the human activity. WiCare firstly calculates the correlation matrix \(\mathbf H _k^T \times \mathbf H _k\) for each bin k and performs eigendecomposition on the correlation matrix to get the eigenvectors. In terms of [14], the second eigenvector \(\mathbf q _2\) and the second principal component \(\mathbf h _2\) are related to the changes of CSI streams. When an activity occurs, the eigenvector \(\mathbf q _2\) varies smoothly over neighboring subcarriers and the variance of \(\mathbf h _2\) becomes larger, and vice versa. Therefore, WiCare calculates the variance \(\sigma _\mathbf{h _2}^2\) of \(\mathbf h _2\) and the mean \(\mu _\mathbf{q _2}\) of the first difference of \(\mathbf q _2\), where \(\mu _\mathbf{q _2} = \frac{1}{N-1}\sum _{i=2}^N |\mathbf q _2(i)-\mathbf q _2(i-1)|\). Then, WiCare uses the ratio \(\rho = \sigma _\mathbf{h _2}^2/\mu _\mathbf{q _2}\) as an indicator for efficiently detecting the start and end times of a human activity. We empirically choose the third quartile of the calculated set \(\mathbf P =\{\rho _k|1 \le k \le N_b\}\) as the threshold to automatically locate the profile of activities. WiCare picks top 5 CSI streams with the highest variances to aggregate an averaged stream as the final activity profile.

3.4 Feature Extraction and Recognition

Feature Extraction. Before extracting features, WiCare introduces weighted moving average [12] over each activity profile to eliminate some outliers and low-frequency noise. Because of the original profiles contain thousands of points as shown in Fig. 2. Hence, WiCare applys discrete wavelet transform to compress the activity profiles while preserving the time and frequency domain information.

From the Fig. 2 we observe that there are great differences among activities profiles in amplitude, duration, frequency of variation and so on. Thus, WiCare chooses the features of the activity profiles from both the time domain and the frequency domain to characterize different activities. The selected features can be referred in [15], and they are categorized and listed into two sets:

  • Frequency-domain: (1) cumulative moving variances, (2) range, (3) period, (4) mean value, (5) median value, (6) first quartile, (7) third quartile, (8) variance.

  • Time-domain: (1) spectral centroid, (2) spectral spread, (3) spectral skewness, (4) spectral kurtosis, (5) spectral roll-off, (6) spectral decrease, (7) spectral slope.

After compressing the activity profiles, WiCare can quickly calculate the above features for each extracted activity profile and combine all the features into a light-weighted feature vector for recognition.

Fig. 2.
figure 2

CSI waveforms of different human activities. (a) Fall (b) Help (f) Run

Recognition. The process of recognition also contains the training phase and the working phase. As for the training phase, WiCare aggregates all the feature vectors extracted from different activities into a training set. Meanwhile, WiCare performs a 10-fold cross validation with the set on several different classifiers, such as Naive Bayes, Random Forest, Random Tree and C4.5, and compares the confusion matrices derived from different classifiers. WiCare empirically chooses C4.5 classifier because of it always produces the best recognition accuracy among the candidate classifiers. You can refer to [16] for specific description on C4.5 classifier. After that, WiCare turns to the working mode and employs the pre-trained classifier to recognize the target activities in real time.

3.5 System Response

Since WiCare is designed as a healthcare service system, it must have the ability of alerting emergencies. Here, WiCare utilizes a server to dynamically monitor the recognition results, and synchronizes the data with our mobile application whose user interface is shown in Fig. 4. The target activities can be divided into two types, one is the normal activities such as running, walking, laying down, and the other is the emergency activities such as falling and calling for help. For the normal activities, WiCare just records their types and occurrence time. However, when an emergency activity happens, WiCare will immediately set off the alarm and send the messages to the related people (families, doctors, security guards, etc.), which assists the user in getting help as quickly as possible.

Fig. 3.
figure 3

Room settings of the apartment

Fig. 4.
figure 4

Mobile application interface of WiCare

4 Evaluation

4.1 Experimental Setting

Hardware Setting. We utilize three 3.3 GHz Intel(R) Core i5 CPU Thinkpad laptops which are equipped with Intel 5300 NICs. Two of them are deployed as the monitor points (MPs), and the left one is used as the server. Two TP-LINK TL-WDR4300 wireless routers are deployed as access points (APs) and operate at 5.745 GHz (channel 149 in IEEE 802.11n standard), which guarantees better recognition resolution owing to the shorter wavelength.

As shown in Fig. 3, MP1 and MP2 connect to the corresponding AP via different wireless links, respectively. Each MP has 3 omni-directional antennas and its firmware is modified as [4] to report the CSI values, and the APs are also installed with 3 antennas. The server connects to the APs via cables, and it has three significant functions: broadcasting continuous beacons to all MPs through APs, monitoring the recognition results and synchronizing the latest data with our mobile application. In the experiments, the sampling rate F can nearly reach 2000 packets/s on the MPs, and the size of receive window is set as 10000.

Experimental Scenarios. Figure 3 shows the experimental environment. Two typical indoor scenarios are considered: living room and bedroom. The size of the living room is 27 ft \(\times \) 37 ft, and the bedroom is 27 ft \(\times \) 23 ft. The rooms are separated by double cement concrete walls with a thickness of approximately 0.5 ft. The doors are made of wood and have a thickness of 0.16 ft. Two pairs of MPs and APs are deployed in the living room and bedroom, respectively. We place AP1 and MP1 on two bedside tables which lie at different sides of the bed, and their distance is about 6 ft. AP2 and MP2 are placed at the diagonal sections of the living room with a height of 2.7 ft, and they are around 20 ft between each other. In addition, there is a sofa lying between AP2 and MP2 which blocks the LOS path. We choose two sets of location-related human activities in these two scenarios which cover typical human daily activities:

  • Living room: Walk, Run, Fall and Help (object waves hand).

  • Bedroom: Walk, Run, Fall, Help, Sleep, Lay down-get up and Sit down-stand up.

Fig. 5.
figure 5

Confusion matrix of human activities identification in different scenarios. (a) Living room (b) Bedroom

4.2 Overall Performance

The volunteer performs activities at the positions marked with stars or along the dashed lines plotted in Fig. 3. During the training phase, we collect 30 samples for each activity in these two scenarios to generate the training set and mix the instances of the common activities (walk, run, fall, help) on a fifty-fifty basis to ensure the generality of the received data. We feed the initialized C4.5 classifier with the training set and finally obtain a well-trained WiCare. While in the working phase, WiCare works in real time and the volunteer randomly performs the typical daily activities.

We evaluate the overall performance of WiCare using two metrics: confusion matrices and false positive rate (FPR). Figure 5(a) and (b) show the confusion matrices of recognition results in living room and bedroom, respectively, where M1 - M7 separately refer to the activities of walk, run, fall, help, sleep, lay down-get up and sit down-stand up. The matrices demonstrate that the average classification accuracy is 92.3 % in living room and 87.6 % in bedroom. The average FPR in these two scenarios are around 2.6 % and 2.3 %, respectively.

4.3 Robustness Validation

Varying with Time. WiCare is based on the multipath propagation model, and the features derived from different target activities have distinct differences among each other. Except for the impact of dynamic multipath, WiFi signals are also influenced by temperature, humidity and atmospheric pressure, which are time-varying. It is necessary to evaluate the performances of WiCare at different time. Figure 6(a) plots the average FPRs of 4 different activities in the two scenarios every two hours during a day. The overall average FPRs of walk, run, fall, help are 4.13 %, 3.31 %, 5.05 % and 4.05 %, respectively. Therefore, WiCare is robust enough against time using the refined features.

Varying with Distance. We also investigate the relation between the recognition accuracy and the transceiver distance. The validation experiment is conducted in the living room. Every time we adjust the distance between AP2 and MP2, the volunteer is asked to do each activity of the set {walk, run, fall, help} for 20 times. Figure 6(b) illustrates the average recognition accuracy of WiCare when the distance between AP2 and MP2 changes. The result shows that the recognition accuracy declines with transceiver distance increasing. This is because closer distance leads to less path loss and higher Signal Noise Ratio. However, the recognition accuracies can still achieve more than 85 % in Fig. 6(b).

Fig. 6.
figure 6

Robustness evaluation of WiCare. (a) FPRs of different activities at different time (b) Average accuracies at different distances

5 Conclusion

In this paper, we present WiCare, a synthesized healthcare service system, which is designed for independent-living elders or patients living in an isolated room. We implement WiCare using ordinary COTS WiFi devices and evaluate its performance in two typical indoor scenarios: living room and bedroom. 7 daily activities are selected to be the classification targets. With the trained C4.5 classifier, WiCare achieves overall recognition accuracies of 92.3 % in living room and 87.6 % in bedroom. WiCare can report the emergency circumstances when the emergency activities happen. Moreover, the factors of time and distance are also considered to further validate the robustness of WiCare. The results demonstrate that with the refined frequecny-domain and time-domain features, WiCare is robust to the time-varying environment and the transceiver distance.