1 Introduction
Passive Radio Frequency Identification (RFID) technology, widely considered to be a cheap, energy-efficient, and scalable solution for the Internet of Things (IoT), has been deployed for ubiquitous applications, such as retailing, warehousing, transportation, and manufacturing. The basic functions of RFID that have been extensively studied include (1) collecting the identity information of tagged items or users in a target area [
10]; (2) counting or estimating the population of items/users [
18,
31,
50]; (3) advanced sensing tasks that explore the physical signal features of RFID, such as localization and tracking [
12,
13,
24,
28,
29,
33,
34,
37,
46,
48,
49]; and human activity sensing [
8,
11,
36,
47].
However, current passive RFID applications are mainly restricted to industrial and logistics areas due to a fundamental limitation: an individual user finds it difficult to interact with tagged items or other tagged usersif the user carries no reader. The interactions with tagged items may include (1) collecting certain information from the digital profile behind a tag, such as the item name, price (for merchandise), packing location and time (for packages); (2) requesting the backend system to connect the user profile with the item profile and conduct certain processing, such as charging an item to the user account. Hence, passive RFID is seldom used in consumer applications.
Recent efforts have been made to improve the consumer experience of interacting with passive tags, such as a small reader [
2], smartphone-based RFID scanner [
1], and reading tags through the smartphone WiFi interface [
3]. Smartphones may also have NFC interfaces. However, these methods still require non-trivial hardware carried by the users—a smartphone at a minimum. As a result, children, some seniors, people with certain disabilities, and other people who are not familiar with operating smartphones cannot utilize these methods. Moreover, having a reader embedded in a mobile device such as a smartphone or reading tags through a WiFi interface all require complex hardware modifications and increase the cost of deploying the system.
This work provides an extremely low-cost and convenient solution for user-tag interaction by answering this question:
Can a user initiate the interaction with tagged items with nothing but a single passive tag? The proposed solution is called TagMii (Tag Mutual Identification Interface). TagMii allows two tags to ‘read’ each other: If two tags are placed in close physical proximity, the reader can identify these interacting tags among many other tags in the environment. The two tags can be the identifiers of a user and an item or two users. Compared with current RFID applications [
18,
31,
50], which require the user to carry a cumbersome reader to interact with each tag, TagMii needs to deploy only one commercial RFID reader in the environment, which significantly lowers the cost and eases maintenance. One reader with multiple cabled antennas in a room can serve many users (visitors, customers, etc.) and the cost of adding more users is minimal: only passive tags. We present a number of IoT applications that can utilize TagMii to perform simple yet important tasks, which was difficult to achieve in existing RFID systems:
Application 1. A museum displays a collection of artwork. A tag is placed on the wall next to each piece of art. Users wear wireless headphones. If users want to listen to commentary on the art, they put their user tag close to the tag of the artwork. The backend system then sends the recorded commentary to their headphones in the preferred language according to the user profile.
Application 2. In a cashier-free retail store, a tag is attached to each item. When users put their user tag close to an item tag, they can hear the item price, decryption, and reviews from their headphones. They may repeat this operation to request the backend system to put the item in their virtual shopping cart. Warehouse workers put the items that they interacted with into a cart at checkout for them to pick up and charges are made to their account.
Application 3. In a conference, two attendees chatting during a coffee break may put their user tags together. An app running in the backend system will automatically exchange their digital profile (e-business card) and record the time and location. After the conference, the collected digital profiles will be emailed to the user and the user can easily review the profiles of the attendees with whom the user interacted.
Some existing technologies may also be able to accomplish the tasks in these applications. For example, customers can use their smartphone to scan the barcode [
39] or QR code [
25] attached to the items to retrieve item information and/or request payment information. Some mobile apps support e-business card exchange.
Compared with these solutions, the key advantage of TagMii is that it is smartphone-free and, hence, very convenient for children, some seniors, people with certain disabilities, and others who do not operate smartphones. Other advantages of TagMii include: (1)
Easy to carry. The user tag can be attached to a conference badge (or museum badge or shopping badge with a similar design). (2)
Fast interaction. Using smartphones for code scanning or profile exchange usually takes half a minute. TagMii may only take 10 seconds. This speed advantage is especially important in busy situations such as conference breaks. (3) TagMii does not require light conditions, compared with code scanning, suitable for museums and warehouses. (4) System managers can easily obtain useful information monitored by the backend, such as the popular goods, shopping habits of users, and preference of art by users of different ages and regions. One might notice that TagMii still requires a reader placed in each room. However, this method is scalable: one reader per room can monitor multiple user tags and item tags.
The design of TagMii is based on two important ideas: inductive coupling and phase profile similarity. We observed from experiments that when two tags are placed in physical proximity (e.g., 91 <2 cm), the backscatter signal from either tag would be different from the signal when a tag is put alone. And we call the status of these two closely placed tags “the inductive coupling state”. A sudden change in the backscatter signal strength from both tags will occur at the beginning of inductive coupling. TagMii tracks such signal strength changes to find out the potential tags that may be in the coupling state among all tags in the environment. In addition, TagMii further selects the pair of tags that are truly in the coupling state. We utilize the tags’ phase profiles collected by multiple antennas based on the fact that nearby RFID tags experience a similar multipath environment and, thus, exhibit similar phase profiles. By evaluating and comparing the similarities between phase profiles of potential coupling tags, TagMii can accurately identify the tags placed together and, therefore, recognize the user and the target item that is interacting with the user.
One may ask why we do not simply adopt the existing RFID tag localization protocols [
13,
24,
43,
46] to localize all tags and consider any two tags in very close positions to be interacting tags. The main reason for not using this approach is its
false positives. To identify the interacting tag pair, we need to not only localize the user tag and item tag accurately but also need to be able to identify and differentiate different users in the space if more than one user exists. Existing tag localization methods, if using commodity readers, are not able to achieve location errors
\(\lt \!\!10\) cm [
24,
46]. Hence, it is likely that two tags within 10 to 20 cm distance are localized to the same position. These tags are not necessarily the user tag and item tag that are interacting. Though PinIt [
43] can locate the tagged object with a median accuracy of 11 cm, it requires the usage of a sophisticated software-defined radio device for localization, and the antennae need to be moved back and forth during the experiment.
In this work, we address and resolve three main challenges in design and implementation of TagMii. (1) We design an accurate tag coupling detection algorithm for complex environments with rich multipath, mobility, wireless signals, electrical devices, and magnetic fields. (2) TagMii should identify the coupling tags in a short period of time even though there are a large number of tags in the environment. (3) TagMii should be able to extract sufficient information from signal dynamics using commodity RFID readers, which have low measurement resolution.
We implement TagMii using commodity off-the-shelf (COTS) RFID devices only. Although we are the first to study mutual identification (interacting a tag with another tag), we do not conduct our study in a laboratory condition that is free of multipath reflectors and moving objects. In fact, all implementation and experiments are conducted in various complex environments with rich multipath, mobility, wireless signals, electrical devices, and magnetic fields in order to validate TagMii for practical applications. Even in these environments, TagMii provides high accuracy. We believe that TagMii serves as an important extension of current RFID applications and that tag mutual identification will attract further research due to its low cost and convenience, enabling consumers to successfully interact with tagged items.
The rest of the article is organized as follows. Section
2 presents the related work. Section
3 introduces the background and models. We present the detailed design of TagMii in Section
4. System implementation and evaluation results are presented in Section
5. Section
6 contains details on the evaluation methodology. We provide discussion in Section
7 and our conclusions in Section
8.
2 Related Work
User–item interaction. Automatic identification and data capture (AIDC) techniques such as barcodes [
39] and quick response (QR) codes [
19] provide fast, easy, and accurate data collection approaches for inventory control and product management [
40]. A barcode [
39] is an optical machine-readable representation of data related to the object to which it is attached. It systematically represents data by varying the width and spacing of parallel lines. A quick response (QR) [
32] code is a two-dimensional (2D) barcode developed to improve the reading speed of complex-structured 2D barcodes. It provides a very convenient way to display information, such as a URL, which can be easily scanned and processed by mobile devices [
19]. A barcode or QR code requires being read by a scanner or camera. In contrast, RFID does not require such line-of-sight scanning as RF signals can penetrate through non-metal objects [
27]. RFID sensing techniques have been widely used for detecting gesture-based inputs [
4,
44]. IDSense [
21] recognizes the physical movements and touch events of everyday objects using real-time classification of the RSSI and phase angles with only one reader. However, it requires training and calibration and is insufficiently precise. PaperID [
20] is similar in that it uses supervised machine learning to detect different types of on-tag and free-air interactions with custom-designed RFID tags. Pradhan et al. [
30] show how changes in the received signal phase caused by touching an RFID tag can be leveraged to detect the finger swipe or touch gesture without any pretraining stage. The authors of [
9] propose and design a passive, thin metal tag called LiveTag that can be printed on paper-like substrates and attached onto objects. When being touched by fingers, LiveTag will disturb an ambient WiFi channel in a deterministic way, making the interaction observable by the system. However, it requires elaborate tag design and implementation. Researchers are also trying to solve the issue that users have to use RFID readers to query tags and, thus, cannot benefit from the convenience provided by their mobile devices. However, as mentioned in Section
1, individual users who have no reader find it difficult to interact with tagged items. TiFi [
3] allows a 2.4 GHz WiFi receiver to identify 800 MHz UHF RFID tags. This system leverages the underlying harmonic backscattering of tags to open a second channel and uses it to communicate with WiFi receivers. Other related techniques include small RFID readers [
2] and smartphone-based RFID scanners [
1]. However, all of them require the user to carry a smartphone at minimum. Compared with these works, TagMii requires each user to carry only a tag and/or other necessary feedback devices of the application (such as headphones in the museum commentary case).
Recent studies have also proposed to study tag-to-tag interactions. RFIBricks [
14] is a building-block system in which symmetric 2D patterns of RFID contact switches are deployed on the top and bottom of each block. This design enables the backend system to recognize which block is stacked on which as well as the stacking orientation. RFIMatch [
22] detects finger-touching on a tag based on the correlated state change between the tag and an RFIMatch fingerstall worn by the user. Tip-Tap [
17] recognizes 2D discrete touch events by sensing the intersection between two arrays of RFID tags. However, these works require physically modifying the tag circuitry and detecting the correlated state changes of electromechanical sensors in the tag circuitry caused by human behaviors. Trio [
7] mainly focuses on the refined localization in a small area using RSS, which is fragile when being applied in a large dynamic space.
RFID Localization. Using RFID for localization is a possible research direction for TagMii, considering that any two tags in very close positions are interacting tags. Prior work can be divided into two categories: absolute localization and relative localization. Early RFID-based localization methods mainly rely on RSSI information to acquire tag location. They usually rely on densely pre-deploying tags in the area of monitoring and leverage the pre-collected RSSI values of these tags as references to locate a specific tag [
5,
26,
49]. The major limitation of RSSI-based methods is that they are highly sensitive to multi-path propagation and, thus, cannot achieve high-accuracy localization in a multi-path environment. Meanwhile, there is a growing interest in using phase differences [
16,
24,
35,
44] or Angle of Arrival (AoA) information [
13] to estimate absolute locations of tags. Localization using advanced electromagnetism and communication techniques such as synthetic aperture radar (SAR) [
43] or multiple antennas [
46] have also been studied. However, simply adopting the existing RFID tag localization protocols [
13,
24,
43,
46] to localize all tags in TagMii will not work, as existing tag localization methods using commodity readers are not able to achieve location errors
\(\lt \!\!10\) cm [
24,
46]. Hence, it is likely that two tags within 10 to 20 cm distance are localized to the same position. These are not necessarily the user tag and item tag that are interacting.
4 System Design
The TagMii program has four modules: tag interaction detection, signal preprocessing, candidate tag selection, and target tag determination (Figure
7). Tag interaction detection determines the begin and end time for an interaction action performed by the user. The signal preprocessing module performs RSS profile smoothing and phase de-periodicity over the received signal. Then, TagMii selects candidate tags by detecting the RSS decreases and, finally, determines the interacting tags among all of the candidate tags by comparing the phase profiles.
4.1 Detect the Action of Interaction
When a user holds up the user tag to place it together with a target item tag, the hand movement will result in an abrupt change in the RSS of the user tag (shown in Figure
8). Hence, in TagMii, we request that the user waves the user tag slightly on purpose to make this signal change more obvious if the user wants to improve detection accuracy. TagMii can leverage these time points with RSS discontinuity to locate the starting and finishing time for tag interaction. TagMii uses a threshold
\(R_{h}\) to detect interaction events: if the RSS difference between current and following signal points is larger than
\(R_{h}\), then the timestamp of this signal point is considered as potential starting/finishing time for tag interaction. However, sometimes the user may suddenly move or rotate the tag, which will also lead to the sudden change in RSS. To resolve this, we can ask the user to wave a tag several times before the user starts reading. By doing so, a series of abrupt changes can be caught and we could use the change pattern to identify the starting time for tag interaction.
After locating these time points, TagMii can leverage the aforementioned inductive coupling phenomenon to determine whether the current moment is the starting time for tag interaction. If the user does begin to interact with an item tag, then the RSS will significantly decrease.
4.2 Signal Preprocessing
Before feeding the received data into the TagMii algorithms, preprocessing is necessary for a better performance. As shown in Figure
7, there are three steps in the signal preprocessing module: RSS profile smoothing, phase de-periodicity, and RSS and phase profile interpolation.
RSS profile smoothing. We require TagMii to use commercial RFID devices, which have low resolution on RSS measurement compared with advanced devices such as the software-defined radio. The minimum RSS resolution is 0.5 dB by using the ImpinJ R420 reader [
1], which is far from sufficient for accurately capturing necessary tag signal changes. As shown in Figure
9, the raw RSS profile (blue line) fluctuates and is noisy, which results in error-prone signal processing. To address this problem, we first smooth the raw RSS profile by employing a low-pass filter. Keep in mind that the RSS variations introduced by inductive coupling have a much lower frequency compared with the Gaussian white noise produced by electronic devices; we choose an appropriate low-pass filter, and the performance is shown as the red dotted line in Figure
9. Obviously, it removes a lot of fluctuations and makes the signal trend more clear. However, the low-pass filter may also obscure the exact change time point of the raw RSS profile. Thu, in the candidate tag selection, we propose to employ a small window to locate the RSS change point.
Phase de-periodicity. From Equation (
6), we can find that the phase data are correlated with the tag’s relative distance from the reader. When a user carries a user tag and moves around, the raw phase data is a periodic value ranging from 0 to 2
\(\pi\), which will change gradually. However, we may observe that the raw phase data show sharp decreases or increases. We named this phenomenon “faked changes”.
Since the received phases can be easily impacted by outside environments and equipment, a sharp fake change between adjacent received phases can be caused by the
\(2\pi\) phase wrapping or by insufficient reading. Another reason is that when the commercial RFID reader processes the received signal, it introduces some radian of ambiguity such that the reported phase can be either true phase
\(\theta\) or the true phase plus radians
\(\theta +\pi\) [
15]. Hence, we should tell the difference between the faked changes from the true phase changes and remove only the former. As illustrated in Figure
10, the received phases are wrapped over cycles and fall into the range of 0 to
\(2\pi\). We first unwrap the received phase values and retrieve the consecutive phase profile. In this work, we adopt two thresholds,
\(th_1=0.5\pi\) and
\(th_2=1.5\pi\), to detect the
\(\pi\) and
\(2\pi\) hops, that is,
where
\(\theta (t+1,t_e)\) represents the phase values from time point
\(t+1\) to the end time point
\(t_e\).
\(\epsilon _\theta\) is an experimentally -chosen threshold (we set
\(\epsilon _\theta =0.5\)). The latter phase values will be added or subtracted by
\(\pi\) if
\(th_1\lt \mid \theta (t+1)-\theta (t) \mid \lt th_2\) and by
\(2\pi\) if
\(th_1\lt \mid \theta (t+1)-\theta (t) \mid \lt th_2\). Note that for this de-periodicity method, we regard the first phase reading as the normal phase reading and the following phase values are unwrapped based on it. The performance of phase de-periodicity can be found in Figure
10, which shows that TagMii can successfully remove the fake changes from the received phase data.
RSS and Phase signal interpolation. According to the ALOHA-based RFID protocol [
38], the sample rate for each tag could be highly different. For simply comparing their RSS and phase profiles, we adopt a cubic spline interpolation method to re-sample the RSS and phase sequence with a uniform sampling rate. After this step, TagMii obtains the same number of samples for the tags that are under comparison in a given time period.
4.3 Candidate Tags Selection
As mentioned in Section
3.3, we observe that when the user puts the user tag close to an item tag, both tags will show a significant decrease on their RSS profiles. The coupling user tag can be detected using the method presented in Section
4.1. Here, we present the method to select the candidate tags that
might be coupling with the user tag. If there are multiple user tags that are detected to have coupling, TagMii computes a set of candidates for every user tag using the same method.
The main idea of the tag selection algorithm is to locate every change point in the RSS profile of each item tag and user tag. Since TagMii has obtained the moment when the user tag starts to be in coupling in Section
4.1, if an item tag has experienced a significant RSS change at a similar time as the user tag, we will add this item tag into the candidate tag set
\(S_u\) of the user tag
\(T_u\).
Due to the poor resolution of RSS measurement collected by a COTS reader, locating the exact change point of the smoothed RSS profile is error-prone. In addition, the changing time points for the user tag and item tag may not align perfectly. To make our algorithm more tolerant to practical cases, we adopt a sliding window whose size is \(T\) and step is \(\Delta t\). If there is a significant change in the sliding window, we will record the start time of the current window as the changing time point.
However, as aforementioned, many other factors, such as blocking LOS by moving objects, can also introduce RSS changes. Only one tag in the candidate set is the correct coupling tag. To reduce the number of candidate tags we choose by mistake, we consider the RSS changes of both antennas. That is inspired by a simple but effective idea, that the RSS changes affected by inductive coupling are simultaneously captured by the two antennas. For the tags blocked by moving objects, the RSS decreases may not be observed by both antennas—in most cases, the moving objects will not block the LOS from all antennas. Hence, we consider only those tags that have significant and simultaneous RSS changes in both antennas and select them as the candidate tags.
Figure
11 shows an example demonstrating the feasibility of a multi-antenna solution. In this example, a
\(3\times 3\) tag array (namely, tag 01–09) is attached on the wall in an office. The distance between each tag and its neighbor is 40 cm. A volunteer is asked to browse the tag array and use the user tag
\(T_u\) to scan the item
\(T_2\) the volunteer is interested in at about a fourth of a second. The scanning behavior will last for about 5 s till the user leaves. During the whole process, the RSS profile of each tag-antenna link is collected to explore the temporal dynamics. Figure
12 plots some of the RSS measurements in this study. In accordance with our analysis, during the first 10 s, the RSS profiles of some tags (
\(T_1,T_5\)) maintain a relatively stable level, while the RSS trends of
\(T_2,T_3\) change significantly, indicating that the user approaches the items and impacts these tags’ LOS paths sequentially.
4.4 Coupling Tag Determination
From Section
3.2, we know that for tag
\(i\) in the TagMii system, its phase profile at antenna
\(j\) can be modeled as Equation (
6).
If we compare the phase profiles for tag \(i\) received at multiple antennas (antennas \(A_1\) and \(A_2\) in our example), we can eliminate the phase shift introduced by the tag hardware or environment.
Based on Equation (
8), if tag
\(i\) and
\(j\) are located in physical proximity, they should have similar values between
\(\theta _{d_{i1}}-\theta _{d_{i2}}\) and
\(\theta _{d_{j1}}-\theta _{d_{j2}}\), as well as
\(\theta _{m_{i1}}-\theta _{m_{i2}}\) and
\(\theta _{m_{j1}}-\theta _{m_{j2}}\). Hence, for samples at any time point,
\(\Delta \theta _i\) should be a small value. We define the
phase difference profile \(D_i\) as a vector where each element is
\(\Delta \theta _i(T)\) at time
\(T\). During the coupling state,
\(D_i\) and
\(D_j\) for two tags
\(i\) and
\(j\) should be similar. We define an effective distance metric
\(Dist(D_i,D_u)\) as the Euclidean distance between
\(D_i\) and
\(D_j\) to evaluate their similarity. The Euclidean distance metric is adopted here since the coupling item–user tag pair should experience a similar phase change almost synchronically, and those tags whose phase profiles are similar but locally out of phase with the item tag should not be taken into consideration. Dynamic Time Warping (DTW) can deal with the problem of distortion in the time axis and allows a time series to accommodate sequences that are similar but locally out of phase.
The coupling tag determination algorithm first computes the phase difference profile \(D_i\) for each tag \(i\). TagMii measures the similarities between profiles over a time window with fixed size \(T\). The choice of \(T\) determines the latency and processing overhead of computation. Once TagMii has determined the set of candidate tags \(S_c\), it immediately begins measuring the similarities between phase difference profiles over these candidate tags and user tag.
TagMii first gets current phase difference profiles
\(D^1,D^2 ...D^{n}\) for
\(n\) candidate tags, where
\(D^i\) is tag
\(i\)’s phase difference profile in time interval
\((t,t+T)\). After interpolation in Section
4.2, these
\(n\) vectors should have equal length, which we denote as
\(L\).
TagMii then calculates the Euclidean distance between the phase difference profile vectors of user tag
\(u\) and each candidate item tag
\(i\),
where
\(e^i_k\) and
\(e^u_k\) are the
\(k\)-th elements of the phase difference profile
\(D^i\) and
\(D^u\), respectively. TagMii performs calculations between user tag
\(u\) and every candidate tag. It then finds the item tag
\(i\) whose
\(L^{i}\) satisfies
\(|L^{i}-L^{u}|\le L_{h}\) and records the top
\(M\) tags that have the least
\(L^i\) values from them, which are most likely in the coupling state with the user tag.
\(L_{h}\) is an empirically predefined threshold for comparison. After choosing the top
\(M\) tags, TagMii uses an
\(N_c\times T_l\) matrix
\(V\) to record the comparison result. The one with the smallest
\(L_i\) will be assigned a 1 and the second one a 2, and so on. Hence, each element
\((i,t)\) in
\(V\) represents the tag
\(i\)’s result in the top
\(M\) list at
\(t\)-th segment (
\(V(i,t)=0\) if
\(i\) is not in the list). Take the result in Section
4.4 as an example. As can be seen in Figure
14, the element
\(V(3,2)\) is 1, which indicates that Tag 3 has the highest similarity with the user tag in the
2-th profile segment.
After finding the candidate tag that minimizes the distance, we can obtain an array \(V\) for all \(T_l\) segments. Our goal is to determine the tag with the most occurrences of 1 in \(V\), which is most likely the one coupling with the user tag.
TagMii estimates the similarities after every time interval \(T\). The choice of \(T\) determines the latency and processing overhead of computation. In our final implementation of TagMii, we use \(T=2s\) as we have empirically determined it to be suitable for a practical deployment. We have also evaluated the performance of TagMii for other values of \(T\); The results will be presented in the following section.
In the example shown in Figure
11, the user is interacting with Tag 2 among all nine item tags. The RSS profiles of the tags around Tag 2 as well as the user tag are shown in Figure
12. After candidate tag selection, three tags are selected as the
candidate tags: Tags 2, 3, and 5. The phase different profiles of three candidate tags and the user tag are shown in Figure
13. Although all three candidate tags have signal changes caused by the user movement, TagMii is still able to select Tag 2 as the interacting tag by analyzing the phase profile.
6 Evaluation Methodology
We evaluate the performance of TagMii in two complex environments with various multi-path reflectors, moving objects, wireless signals (WiFi, LTE, and Bluetooth), electrical devices (servers, workstations, printers, refrigerator), and magnetic fields (whiteboard): (a) an office room and (b) a meeting room as shown in Figure
16. The office environment simulates a retail store where shelves are densely placed; the meeting room simulates the museum application where artworks are placed on the wall. In the office environment we use a tag array that has 3 rows and 5 columns, as illustrated in Figure
16, to simulate the tags attached on a rack of commodities or exhibitions. In the meeting room, we further exploit TagMii’s performance when tags are attached in a horizontal line. The location of the tag array is highlighted with red markers shown in Figure
16.
To be consistent with the real implementation, the distance between the reader antennas and the tag array is 1.5 m in the office room and 3 m in the meeting room. Note that, in practice, reader antennas can be hung from the ceiling to reduce the probability of blocking LOS signals by moving objects. Note that, although in theory UHF RFID can operate at 10 m distance, practical deployments usually allow the distance to be only around 3 m or less. However, we are not able to reconstruct the ceiling to hang antennas. The distance between two adjacent tags is initially set to be 30 cm in the office room and 80 cm in meeting room, while the horizontal distances between them are both set to be 30 cm. We will show that longer distance between adjacent tags will result in more accurate results. Consider the application in retail stores, it would be rather time- and cost-inefficient if passive tags were attached to each item. Moreover, a large tag population will degrade the sampling rate for each tag. We may assign one item tag for each type of item. Hence, a distance of 30 cm is a practical setting. In our experiments, we invite 4 volunteers with heights varying from 160 cm to 180 cm. We let volunteers arbitrarily move in the space and use their tags to interact with the item tags in the environment. In the worst case, a moving volunteer may block the LOS path of the signal between tags and the reader antenna, as shown in Figure
17. Each user is trained for only 3 minutes on what to do to interact with item tags.
Every accuracy value shown in this section is the average of 120 production experiments. Note that all results are analyzed offline and that there is no direct communication between the reader and user devices (headphone/smartphone, etc.), meaning that the users are unable to learn the information of the item tag they are interacting with during the experiment.
In the following subsections, we will first show the evaluation results of two important steps of TagMii: interaction event detection and coupling tag determination.
6.1 Interaction Event Detection
Evaluation metrics. The interaction event detection step reports the events of interactions. We use two metrics to evaluate the accuracy of this step: (1) Among all interaction events performed by the users, the accuracy is defined as the ratio of events that are successfully detected by TagMii. (2) We also let a user carry a user tag and walk in front of the item tag array but do not allow a user to perform any tag interaction. The false detection rate is the number of interaction events reported, which did not actually happen, during a given time period.
Figure
18 shows the accuracy for the first-time action and the improvement of a second-time action. If an interaction fails to be detected by TagMii the first time, repeating the interaction for a second time may be successful, similar to the user experience of most input interfaces. The detection accuracy for all 8 tags in the environment can be
\(\gt \!95\%\) for two-time actions. As discussed in Section
4.1, TagMii uses a predefined threshold
\(R_{h}\) to detect interaction events. We vary
\(R_{h}\) from 3 dBm to 5 dBm with a step of 0.2 dBm and record the accuracy change of interaction detection. As shown in Figure
19, TagMii achieves a best first-time accuracy when the
\(R_{h}\) is 4.2 dBm. Using other setups, the best-case thresholds are similar. Hence, we use this threshold value in the following experiments.
In this set of experiments, we ask four volunteers to carry the user tags and walk in front of the tag array without interacting with any item tag. The false-positive rate is measured in number of false positives per minute (FPPM). We vary the distance between the user to the tag array in four different values, from 40 cm to 100 cm. In each experiment, we ask each user to walk for 1.5 minutes. We repeat the experiment for four users and two different walk speeds. The results are shown in Table
1. The values 0.17 and 0.33 are all in FPPM. Hence, the chance of false positives is very small.
6.2 Target Tag Determination
Evaluation metric. The accuracy \(\mu\) of the target tag determination step is defined as \(\mu =n_{p}/n_o\), where \(n_o\) is the total number of interaction operations performed by the users, and \(n_{p}\) is the number of tag pairs that are correctly determined as coupling tags among them.
Impact of threshold \(L_h\). The comparison threshold
\(L_h\) plays an important role in judging whether a tag can be considered as a choice in the Top 3 list. Intuitively, if
\(L_h\) is too large, then the system may probably take many irrelevant item tags into consideration. In contrast, a small
\(L_h\) may cause a miss of the target item tag. We vary
\(L_h\) from 0 to
\(\frac{\pi }{2}\) and show the accuracy
\(\mu\) of TagMii in Figure
20. TagMii can maintain an accuracy of about 88
\(\%\) when
\(L_h=\pi /4\). This value is consistency across different setups; hence, we set the comparison threshold to
\(\pi /4\).
Impact of threshold \(T_c\). If the time interval threshold
\(T_c\) is too large, TagMii will select too many item tags as candidate tags. A small
\(T_c\) might result in not including the target item tag as a candidate. We vary
\(T_c\) from 0.1 s to 1 s and show the accuracy
\(\mu\) of TagMii in Figure
22. The accuracy of TagMii is relatively stable by varying
\(T_c\), but it still achieves a relative high value when
\(T_c =\) 0.4 s. We use this threshold value in the other experiments.
Operation duration \(T\). As mentioned in Section
4.4, we use a filter with a sliding window to process the collected data. Intuitively, a longer operation duration
\(T\) for users to put their user tag close to the item tag will result in higher accuracy. However, the user experience will downgrade if the operation lasts a long time. We vary the time window size
\(T\) from 0.5 s to 8 s and show the accuracy in Figure
23. It shows that when
\(T=4\) s, the accuracy of TagMii can remain high for all experimental scenarios. Hence, TagMii requires each user to employ the user tag for 4 s in the other experiments. Note that a user may receive feedback earlier than 4 s.
6.3 Overall Performance of TagMii
We first evaluate the performance of TagMii in the static environments where there is only one user interacting with the items (Figure
17(a)). The
accuracy of TagMii is defined as the ratio of correctly recognizing the two tags involved in each interaction event. We also show the accuracy of recognizing the tags with up to two repeated interaction actions if TagMii reports no result from the first-time action. Note that if TagMii reports a wrong result, then this experiment will be considered failed immediately. We denote this as the
accuracy in 3 times. Also, we are interested in exploring whether the target tag is in the top-3 list of candidates of TagMii if it is not in the top 1. Some human–computer interaction applications support the following function: if it is difficult for the system to select the most relevant target, it can show the top-3 list and let the user select the correct one. We denote this as the
accuracy in top-3 list.
Impact of distance between item tags. We conduct the experiments by varying the distance between the item tags from 30 cm to 60 cm in the office and from 80 cm to 140 cm in the meeting room. The results are shown in Figure
24 and Figure
25, respectively. We find that for the single-user case, the accuracy of the top 1 results is higher than 75% even if
\(d_t\approx 30\) cm, a very dense placement setup. When we increase the distance, the accuracy of TagMii significantly increases. For distance
\(\gt \!1\) m, the accuracy of top 1 and top 3 results are around 90% and 98%, respectively.
Impact of orientations of tags. Though tags are all deployed vertically at first, as Figure
16 shows, we randomly rotate these tags while keeping their centroids unchanged to check whether different orientations will affect the performance. As can be learned from Figure
26 and Figure
27, there is no obvious difference in accuracy compared with the case in which all tags are placed in vertical states.
Accuracy with retrying. From the experiments in Figure
24, we observe that there are two types of failures in TagMii. One is that TagMii reports no result and the other is that TagMii reports a wrong result. In the no-result cases, we further explore whether one or two extra retries will give a correct result. We ask the volunteer to interact with the target item tag three times, with a time duration of 30 s between two consecutive interactions. We show the accuracy in 3 times in Figures
28 and
29. We find that retrying does improves the accuracy, though not by a big margin.
Impact of different coupling gestures. We also evaluate the performance of TagMii when the user tag is not placed correctly. We ask the user to rotate the tag (Figure
30(b)), to move the tag up and down (Figure
30(c)), or to move the tag around the item tag (Figure
30(d)). We show the corresponding accuracy in Figure
31. All incorrect gestures will lower the accuracy, but the accuracy is always
\(\gt\)50%. Hence, to maintain a relatively reasonable identification accuracy, we require the users to place the user tag in parallel with the target item tag.
Processing time. We show the processing time of TagMii to determine the interacting tags in Table
2. We vary the distance between two item tags from 40 cm to 120 cm. The results show that the processing time of TagMii is very short (
\(\lt \!1\) s) for all experiments.
We further evaluate the performance of TagMii in dynamic environments where moving people exist (Figure
17(b)).
Impact of moving people. While conducting the experiments, we ask one extra volunteer to walk around the reader antennas with two patterns, shown in Figure
17(b). Route A will block the LOS signals. Route B does not but still makes the RFID signal more complicated. Comparing Figure
33 with Figure
28 and Figure
29 with Figure
34, we find that route A could possibly lower the accuracy of TagMii by 10% to 15%. Route B provides better results, as shown in Figure
35. These results indicate that the proposed system is robust enough against varying walking events.
Concurrent interactions. We study the case that two users concurrently interact with different target item tags. TagMii should be able to recognize which user tag pairs to which item tag. During the trial, we ask the volunteers to perform coupling with two different item tags almost at the same time. The results in Figure
36 shows the accuracy of the two users. Compared with the single-user case, the accuracy is reduced by 10%. However, it still maintains a high level of accuracy. We further explore the case in which two users concurrently interact with the same target item tag. The result is illustrated in Figure
37. In general cases, when multiple users interact with the same item tag synchronically, their identification results will not change much. TagMii automatically finds the specific item tag that has the highest similarity with the user tag from the user-tag array. The readings performed by different user tags are independent and will not have much impact on each other.
Unprofessional deployment. To illustrate the practicability and robustness of our system, we deploy TagMii in a crowded office room filled with furniture and wireless devices in a more informal setup. The distance between reader antennas and the tag array is increased to 4.5 m, with the antennas not directly pointing to the tag array. We ask the volunteer simply to wave the tag before the interaction and give no extra interaction guidance before the experiment and let the volunteer arbitrarily move in the space and interact with any interested item tag. Hence it is quite possible that the user may place the user tag more than 2 cm away from the item tag during the interaction, touch the antenna while holding the tag, or randomly move/rotate the tag before interactions.The results are shown in Figure
38. Compared with the result in the professional setup (Figure
24), the accuracy is reduced by 10
\(\%\sim\)15%. This result is expected because with the LOS distance between the tag array and reader antenna increased, the backscattered signals from tags get weaker, making it difficult for the receiver to extract enough information from them. The unprofessional coupling gestures will also degrade the system performance (as shown in Figure
31). Later, we also extend the single-user trial to the multi-user case and ask two volunteers to walk around the office room. During the trial, these two users randomly interact with the item tags of interest. The results can be found in Figure
39.
7 Discussion
Though TagMii provides accurate mutual identification in the aforementioned evaluations, we acknowledge the following limitations of the current system and propose potential solutions.
Limitations on system settings. Although TagMii can achieve relatively high accuracy in most evaluations, the limitations on experimental settings cannot be overlooked. The performance of TagMii relies on the choices of several thresholds (
\(L_h,T_c, {etc.}\)). To achieve better system performance, it is recommended for TagMii to first learn multiple thresholds through a series of analysis (see Section
6.2) before using it.
Limitations on multi-user cases. Multi-user sensing is a well-known challenging research problem in wireless sensing, since the signals reflected from multiple targets will get mixed at the receiver, interfering with each other. As can be seen from the experiment results, the current version of TagMii works well with a single-user target. However, if multiple users read item tags almost at the same time, it is not easy for our system to distinguish them clearly. We believe it will be a challenging yet interesting research direction to deal with multi-user cases in future work.
Limitations on number of tags. The current RFID protocol uses slotted ALOHA as the MAC layer solution. Hence, tags compete with the time slots to reply to the reader. The commodity RFID readers support a constant number of successful read operations per second (around 400 on our device) regardless of the number of tags with the interrogate range. When the number of tags increases, the share of time slots of every tag decreases. We define
individual reading rate (IRR) as the number of readings obtained from a particular tag per second [
23]. In order to achieve high accuracy, the IRR of a tag should be sufficiently high such that its state changes can be continuously and correctly captured. Missing RSS and phase samples will consequently reduce the accuracy of both candidate tag selection and coupling tag determination.
Figure
21 shows an example in which eight items and four users are tagged. In this set of experiments, we further attach five more tags in the environment without any other changes in experiment settings. Consequently, the average IRR of each tag reduces from about 40 reads/s to fewer than 30 reads/s. Figure
21 shows that lower IRR will result in an obvious accuracy decrease.
We leverage several possible methods to improve the IRR, including (1)
Decrease Electronic Product Code (EPC) length. Shorter packet durations can increase the individual reading rate. One approach is to decrease the EPC length. Following the commercial EPC C1G2 standard, the length of the EPC code can be set to 8 bits at a minimum [
10]. We may adopt this length in our implementation. (2)
Adopt FM0 reader inventory mode. As another approach to decrease packet lengths, the reader may use the faster reader inventory mode (i.e., FM0 mode) to speed up the communication rate [
11]. (3)
Utilize PHY-layer filtering. The PHY-layer filtering feature is supported by the RFID Class 1 Generation 2 (C1G2) protocol, which allows the reader to read only a subsection of the tags [
23].
Future Work. In contrast to TagMii, which uses an abrupt change in a tag’s RSS caused by the user wave as the starting time indicator for coupling interaction, RFTrack regards the problem of recognizing the coupling state from an RSS signal stream as a binary time series classification (TSC) problem, where the objective is to determine whether the current RSS signal is in a coupling state.