Skip to content
2019 Renault internship. A RNN_RBM model for vehicule trajectory patterns learning
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.spyproject
__pycache__
ngsim_data
parameter_checkpoints
parameters
picture_folder
.gitattributes
.gitignore
RBM.py
RBM_dis.py
RBM_gaussian.py
README.md
draw.py
draw_y.py
ngsim_manipulation.py
ngsim_manipulation_v_gaussian.py
ngsim_manipulation_y.py
rnn_rbm.py
rnn_rbm_reconstruction.py
rnn_rbm_train.py
rnn_rbm_version1.py
rnn_rbm_version3.py
test.py
weight_initializations.py

README.md

Unsupervised Vehicle Trajectory learning in multi-lanes highway

by Yingjie Jiang

This is an adapted variaiton of RNN-RBM for unsupervised vehicle trajectory pattern learning on a multi-lanes highway. The dataset used is US Highway 101.

fig1. trajectory dataset captured by camera set in US highway 101

Unlike the original RNN-RBM, this is a model which performs well for real-valued dataset. After training, it can memorize a given vehicle trajectories pattern on a specific route, which can be used to reconstruct vehicle trajectories based on a input dataset polluted by noise.

Training

The structure of RNN-RBM(Nicolas Boulanger-Lewandowski et al.) is illustred below: RNN_RBM

fig2. structure of RNN_RBM

Put the input trajectories dataset (eg. "trajectories-0750am-0805am.csv" of US Highway 101) in the directory "./ngsim_data/ "

  1. python ngsim_manipulation.py # pretreatement of dataset

  2. python weight_initialization.py # pre-training of RBM Neural networks

  3. python rnn_rbm_train.py <num_epoch> # training, num_epoch can be about 10

  4. python rnn_rbm_reconstruction.py ./parameter_checkpoints/<fichier .ckpt> # reconstruction of trajectories

The output picture is stocked in "./picture_folder".

There are different versions of ngsim_manipulation, as well as for rnn_rbm, RBM, draw, they deal with different situations. For using them, rename them(delete the version notation).


One demonstration of noise reduction:

fig3. The red lines are noised trajectories, and the lines with other colors are reconstructed trajectories by RNN-RBM.

Further work can be conducted, for example, changing the standard RNN by LSTM, or changing RBM by DBN, etc.

You can’t perform that action at this time.