Nowadays, privacy in trajectory is an important issue in the coming big data era. In order to provide better protection for trajectory privacy, a number of solutions have been proposed in the literature, and the dummy trajectory method has attracted great interests in both academia and industry recently due to the following advantages:
Nowadays, location-based services (LBS) [
The existing trajectory privacy protection methods include dummy trajectory method [
For dummy trajectory method, several dummy trajectories are generated for each real trajectory; then the real trajectory and
For trajectory suppression method, the sensitive information in the real trajectory is not released in order to protect the user’s personal information contained in the trajectory, which needs to set or process the sensitive information in advance. Therefore, how to find the sensitive information becomes the key issue of the suppression method. Intuitively speaking, when there is a clear need to suppress the information, suppression method is simple and effective and can achieve the purpose of user privacy protection by simple data processing [
For generalization method, its basic idea is to generalize the QI (Quasi identifier) attributes that can uniquely identify the user, which guarantees that the real trajectory cannot be distinguished from other trajectories. The k-anonymity model is commonly used in trajectory privacy, which converts the D (trajectory data) in the database into D∗, so that any trajectory T in D∗ belongs to a trajectory k-anonymity set, and the information distortion between D∗ and D is minimized. In LBS, how to choose the scope of anonymous boxes is not easy, since the real trajectory is not known in advance.
For the differential method, it is used in trajectory privacy protection in recent years. It does not need to consider the background knowledge of the opponent and it is based on strict mathematical knowledge. It provides a quantifiable, assessable, and provable method for privacy protection. By adding random noise perturbation sensitive data, it can distort some data while maintaining its statistical properties.
In recent years, the dummy trajectory method is widely researched due to the following reasons: No third-party server is required, which makes it more robust. The algorithm of dummy trajectories generation is relatively simple and efficient. The service based on the precise location is not influenced since the real trajectory is kept.
There are many algorithms for generating dummy trajectory, such as rotation method, intraregion random point method, translation method, and the combination of these methods. The background factors are also taken into account in the generation of dummy trajectories. The basic idea of dummy trajectory was first proposed by Kido et al. [
However, the human mobility model is not involved in most of the current dummy trajectory generation algorithms. In reality, the trajectory is not a set of random points but a set of points satisfying some known or unknown features, which is constrained by various conditions, especially people’s behavior factors. For example, the deviation angle between the trajectory segment and the segment is usually very small (people tend to go straight); when the deviation angle suddenly increases (such as car turning), it means that the length of the following segments begins to decrease (such as the speed of driving turns decreased) and so on. In short, the trajectory points are arranged according to some certain rules, and these rules are often restrictive. Specifically, the real trajectory is usually purposeful. For the sake of efficiency, the trajectory segment consisting of the set of trajectory points generally has a small deflection angle and few frequent oscillations. People usually move with a uniform speed, so the length of trajectory segment should be gentle. However, most of the dummy trajectories generation relies on the use of a random method, the dummy trajectory deviation is frequent, and the length of the trajectory segment is oscillatory; therefore the trajectory points often fall in the nonreachable place. In conclusion, the current dummy trajectories generation algorithms do not take into account the behavioral characteristics contained in real trajectories; therefore there is a considerable probability of identifying dummy trajectories by analyzing the distribution characteristics of real trajectories.
In addition, there are complex laws between the points of real trajectories and dummy trajectories. The difference between real trajectory and dummy trajectory is difficult to be represented by simple function. Artificial neural network is a feasible tool, since it can be used as classifier in large-scale data training. Moreover, this process does not require much people interaction, and the parameters are automatically generated through a lot of iterative learning. As long as hyperparameters and network models are set reasonably, good classification results can be achieved.
In this paper, CNN model is used to generate the classification function, and the overall framework of our dummy trajectory detection method is shown in Figure
Dummy trajectory detection model framework based on CNN.
We define a series of trajectory points to form a trajectory section, and two adjacent points form a trajectory segment. When a trajectory is detected, it is divided into sections of equal trajectory points at first. If the last section is short of the point number of trajectory section, the rounding method is adopted. In other words, less than half of the point number of trajectory section is rounded. Otherwise, the point is taken from the back to the front to reach the point number of trajectory section. For simplicity, in this paper, we suppose that a trajectory consists of
As shown (in which figure or algorithm), we obtain
The main contributions of our work are summarized as follows:
(
(
CNN is a kind of multilayer neural network, which is good at dealing with machine learning problems related to images, especially large images [
Classic CNN structure diagram.
The convolutional layers are used for feature extraction, and we traverse the input matrix with a matrix called filter. The number of output matrices after each convolutional operation is the number of filters. The pooling layer compresses the input feature map. On one hand, it reduces the feature map and simplifies the network computing complexity; on the other hand, it compresses the feature and extracts the main features (we usually use maximum pooling). Fully connected layer connects all features and sends the output value to the classifier (such as Softmax classifier).
In summary, CNN extracts the features through convolutional layer and reduces the parameters and computational times through pooling layer. In fact, it completes classification tasks by traditional neural network. Compared with other classifiers, its filter used to extract data features has the characteristic of weight sharing. The adjacent trajectory feature metrics we need to extract have similar characteristics and we can share weights to extract. Therefore, CNN is compatible with our classification tasks.
As shown in Figure
Relative offset angle.
We assume that the total length of the trajectory section is
We use Algorithm
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17)
In trajectory data preprocessing, the absolute trajectory is transformed to relative trajectory and then is transformed into feature trajectory. We take 5s as the time interval to extract a continuous series of points (longitude and latitude representation) from the testing trajectories. Then we use Algorithm
Representation of trajectory segment.
Trajectory section | |||
RT | FT | ||
| |||
| | | |
| | | |
… | … | … | … |
| | | |
There is a strong correlation between the trajectory segment and the trajectory segment; we use the correlation between the trajectory segments with CNN. Most of the other depth neural networks consider the data characteristics from the input data as a whole and cannot extract the trajectory characteristics very well. Compared with other artificial neural networks, the filter of CNN has unique weight sharing characteristics and we also need the sharing weights to extract feature of adjacent trajectory segments; therefore, CNN is used as classifier in this paper. Unlike ordinary image processing, we deal with the feature matrix here and need to make some improvements to the universal network model. The network model structure and training process are shown in Figure
Training process for CNN.
The convolutional layer and pooling layer of FT d network.
The process of doing one network training is as follows: Relative trajectory (RT) and feature trajectory (FT) are jointly used to represent a trajectory segment; they are input into convolutional layer of CNN to extract trajectory features. Maximum pooling operations are used to reduce the amount of parameters after each convolutional operation; then all outputs are connected to a matrix for each feature metric. Fully connected layer is used to synthesize the features extracted from the front to obtain a Softmax and cross entropy operations (Softmax operation calculates the probability value of classification results; cross entropy calculates the distance between CNN classification results and real classification, which is called loss) are executed on the matrix obtained by the fully connected layer to get loss. The total Softmax is defined as Convolutional layer and fully connected layer parameters
FT and RT describe trajectories in different ways, and their dimensions are different, so they cannot be put together. The network structure on the left is FT feature detection network and the one on the right is RT feature detection network. For each iteration process, we send the corresponding RT and FT to networks separately. Then we use gradient descent method (Gradient descent is one of the iterative methods, which can be used to solve the least squares problem. The calculation of gradient descent method is to solve the minimum value along the direction of gradient descent.) to update the weight parameter
In these two layers, the following operations are executed: We arrange and transform feature trajectory into matrix in time sequence. Feature trajectory is represented as a We use n-1 types of filters to extract the arrangement characteristics of feature trajectory, and there are 128 filters in each type. For the first k type filter, we extract characteristics of adjacent k trajectory segments in turn by convolutional operation to obtain a After operation of a pooling layer, we obtain
The network architecture of dummy trajectory detection is shown in Figure
The network architecture of dummy trajectory detection.
We first need to express the detected trajectory sections with FT and RT, respectively, and then put them into CNN to run in the direction indicated by the arrow once. Finally, we can obtain the detection result.
We use the trajectories from Microsoft research GeoLift project as the testing data set; 182 pieces of users’ track data were collected from April 2007 to August 2012. These data sets contain a series of time-ordered points, each containing latitude, longitude, elevation, and other pieces of information. In the experiments, we use 17621 tracks whose total distance is about 1200000 kilometers, and the total time is more than 48000 hours. These data not only record the user’s location at home and at work but also track a wide range of outdoor activities, such as shopping, traveling, hiking, and cycling.
The experimental environment is as follows: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz, with 6G memory.
Programming language was Python.
We use 5s as a time interval to extract trajectory points and then divide these trajectories into sections and each one has 8 points. These sections are real trajectory section set. In addition, we extract and synthesize the algorithm fragment of the current widely used dummy trajectory generation algorithms to generate dummy trajectories. The main steps are shown in Algorithm
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
We use Algorithm
In Table
Confusion matrix.
Predicted value | True value | |
0 (dummy) | 1 (real) | |
| ||
0 (dummy) | TN (True Negative) | FN (False Negative) |
1 (real) | FP (False Positive) | TP (True Positive) |
In our CNN-based dummy trajectory detection scheme, the weight parameter
Precision calculates the proportion of items that “should be retrieved” among all items retrieved.
The recall rate calculates the proportion of all items retrieved to all items that should be retrieved.
The comprehensive evaluation index (F1-Measure) is the weighted harmonic average of Precision and Recall. P and R indicators are sometimes contradictory, considering both precision and recall. It is easy to understand that F1 combines the results of P and R. When F1 is higher, the experimental method is more ideal.
For different
Evaluation indicators of different
Former two indicators
Latter four indicators
From Figure
To verify the efficiency of CNN detection network, three classical algorithms are used to generate dummy trajectories, in which MLN and MN algorithms are proposed in [
Detection results of dummy trajectory generation algorithms with
We use a data set named GeoLife GPS Trajectories as our real trajectory data set and use MLN, MN, and ADTGA to generate large number of dummy trajectories and then randomly select 1000 dummy trajectory sections from the dummy trajectory set and put them into the trained CNN detection network. For MLN, the dummy trajectory recognition rate is 83.3%. For MN, the dummy trajectory recognition rate is 86.8%. And, for ADTGA, the dummy trajectory recognition rate is 94.1%. But the erroneous judgement rate of real trajectories is only 12.5%.
Many dummy trajectory algorithms are improved by the three algorithms mentioned above, for example, literatures [
Recognition rate and erroneous rate under the assumption that the discrimination is 0.5.
Dummy trajectory using MLN
Dummy trajectory using MN
Dummy trajectory using ADTGA
With the increase of the number of trajectory sections, the trend of the recognition rate is also increasing, while the erroneous judgement rate shows a downward trend, and the recognition rate is above 90%, and the erroneous rate is below 10%.
We have studied many algorithms to generate the dummy trajectories to protect privacy, most of which only take into account the geometric meaning of trajectories without considering the human mobility model. In order to address this weakness, we define two trajectory representation methods and put these two trajectory representation methods of real and dummy trajectories into the improved CNN for training. Experiments show that the deep learning machine CNN is universal; it can identify more than 90% of dummy trajectories that are generated using the current mainly algorithm; meanwhile its erroneous judgement rate is below 10%.
Indeed, our detection scheme cannot be applied to all dummy trajectory generation algorithms. There are two kinds of dummy trajectory generation algorithms; our detection scheme is powerless. One is simple rotation algorithm and the other is to select similar trajectories or historical trajectories of other users as dummy trajectories. However, the first dummy trajectory generation algorithm is not flexible enough to meet the real background, and the second one needs to collect a large amount of historical trajectory information of the surrounding users, which is very difficult. So these two methods of dummy trajectory generation are difficult to be used in practice. Generally speaking, our dummy trajectory detection scheme has a high detection rate for the dummy trajectory generated by the deformed dummy trajectory generation method.
Our experiments show that the common flaws of the dummy trajectory generation algorithms up till now are that they only consider the geometry of the trajectory points and the trajectory segments and regard them as the products isolated from human behavior and the products of random probability. It is debatable whether such a convolutional neural network learning machine can act as a filter to filter out most of the dummy trajectories which do not conform to reality, as well as leaving behind some dummy trajectories which mix the spurious with the genuine. After all, in the era of exploding CPU and GPU performance, the time cost of generating redundant dummy trajectory sets is negligible.
The data used to support the findings of the manuscript are obtained from Microsoft research GeoLift project; they can be used freely and are available from the corresponding author upon request.
The authors declare that they have no conflicts of interest.