Git Product home page Git Product logo

pfnet's Introduction

Particle Filter Networks

Tensorflow implementation of Particle Filter Networks (PF-net)

Peter Karkus, David Hsu, and Wee Sun Lee: Particle filter networks with application to visual localization. Conference on Robot Learning (CoRL), 2018. https://arxiv.org/abs/1805.08975

PF-net architecture


PF-net encodes both a learned probabilistic system model and the particle filter algorithm in a single neural network

Localization example


Example for successful global localization

Requirements

Python 2.7, Tensorflow 1.5.0

Additional packages can be installed with

pip install -r requirements.txt

Dataset

Datasets for localization experiments are available at https://drive.google.com/open?id=1hSDRg7tEf2O1D_NIL8OmVdHLN2KqYFF7

The folder contains data for training, validation and testing, in tfrecords format. Download to the ./data/ folder.

A simple script is available to visualize the data:

python display_data.py ./data/valid.tfrecords

Training

The ./configs/ folder contains default configuration files for training and evaluation. Training requires the datesets to be downloaded into the ./data/ folder. Note that training requires significant resources, and it may take several hours or days depending on the hardware.

PF-net can be trained with the default configuration using the following command:

python train.py -c ./configs/train.conf --obsmode rgb

By default, logs will be saved in a new folder under ./logs/. For help on the input arguments run

python train.py -h

Evaluation

A pre-trained model for RGB input is available under ./data/rgb_model_trained.chk. For evaluating a trained model run

python evaluate.py -c ./configs/eval-tracking.conf --load ./data/rgb_model_trained.chk

for the tracking task, and

python evaluate.py -c ./configs/eval-localization.conf --load ./data/rgb_model_trained.chk

for semi-global localization. The input arguments are the same as for train.py. Results will be somewhat different from the ones in the paper, because the initial uncertainty on the test trajectories uses a different random seed.

Contact

Peter Karkus <karkus (at) comp.nus.edu.sg>

pfnet's People

Contributors

cuilily avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.