Python impletement of paper Large Scale GPS Trajectory Generation Using Map based on Two-stage-GAN
we propose a map-based Two-Stage GAN method (TSG) to generate fine-grained and plausible large-scale trajectories. In the first stage, we first transfer GPS points data to discrete grid representation as the input for a modified deep convolutional generative adversarial network to learn the general pattern. In the second stage, inside each grid, we design an effective encoder-decoder network as the generator to extract road information from map image and then embed it into two parallel Long Short-Term Memory networks to generate GPS point sequence.
We evaluate the synthetic trajectories in terms of their similarity to real data, i.e., distribution of overall GPS coordinate, distribution of trajectory sequences length, distribution of trajectory distance, top-N visited places and road networks matching accuracy. And we compare our result with the previous benchmark.
JS distance of distribution
Model | |||
---|---|---|---|
FTS-IP | 0.413 | 0.182 | 0.187 |
LSTM | 0.633 | 0.058 | 0.140 |
TSG | 0.100 | 0.139 | 0.136 |
Visualization of road network matching
Trajectory data in Porto, available on Kaggle
-
Transform trajectory data into grids format
pre_process/process_trajectory_data/to_grid.py
-
Prepare the corresponding map images:
-
go to
pre_process/map_generation/
-
run
screen_shot.py
-
run
cut.py
-
run
merge.py
-
-
go to
First_stage_gan/
. -
run:
python WGANGP.py \
--dataroot ./grid32/ \
--labelroot ./traj_all_0115.txt \
--outf ./output \
--batchSize 64 \
--n_critic 1 \
--netG ./output_IN/netG_epoch_320.pth \
--netD ./output_IN/netD_epoch_320.pth \
--cuda \
--start_iter 320 \
--niter 350
-
go to
Second_stage_gan
. -
run
python train.py
.
- Coarse result generated from First stage GAN
cd First_stage_gan
python generate_fake_data.py --large_num 200 --model_path ./output_IN/netG_epoch_260.pth --output_path ../output_generated_coarse
-
Final result
TSG/pred.py
Configurations
step_1_output
path to the result of first stage GANmap_dir
path to the map datacheckpoint
model result of second stage GAN