Giter Club home page Giter Club logo

monocular-obstacle-avoidance's Introduction

Towards Monocular Vision based Obstacle Avoidance through Deep Reinforcement Learning

By Linhai Xie, Sen Wang, Niki trigoni, Andrew Markham.

The tensorflow implmentation for the paper: Towards Monocular Vision based Obstacle Avoidance through Deep Reinforcement Learning

Contents

  1. Introduction
  2. Prerequisite
  3. Instruction
  4. Citation

Introduction

This repository contains:

1.Training code for FCRN. We write our own training code but build the mode directly with the code provided here. (We retain Iro's license in the repository)

2.Data preprocessing code for training FCRN.

3.Training code for D3QN(Double Deep Q Network with Dueling architecture) with a turtlebot2 in Gazebo simulator.

4.Testing code for D3QN with a turtlebot2 in real world

5.The interface code between tensorflow and ros

The network model for D3QN is slightly different from the paper as we find this version has a better performance.

The video of our real world experiments is available at Youtube

Prerequisites

Tensorflow > 1.1

ROS Kinetic

cv2

Instruction

Retraining FCRN

We have a example dataset collected with a turtlebot in folder /Depth/data which contains 1k labeled rgb-depth images. And the full dataset we used with 10k images is here. We recommend to collected more than 10k images by yourself to retrain a good model based on the initial one.

After collecting enough data, use DataPreprocess.py to generate training and testing datasets.

Download the initial model of FCRN into the folder '''/Depth/init_network'''

Then use training.py in /Depth/FCRN to retrain the model.

Finally copy the generated checkpoint and model file from /Depth/saved_network to /D3QN/saved_networks/depth

Training D3QN in Gazebo

Launch the Gazebo world with our world file with command:

roslaunch turtlebot_gazebo turtlebot_world.launch world_file:=/PATH TO/Monocular-Obstacle-Avoidance/D3QN/world/SquareWorld.world

Start training with:

python D3QN_training

Testing D3QN in real world

python D3QN_testing

Citation

If you use this method in your research, please cite:

@inproceedings{xie2017towards,
	  title = "Towards Monocular Vision based Obstacle Avoidance through Deep Reinforcement Learning",
	  author = "Xie, Linhai and Wang, Sen and Markham, Andrew and Trigoni, Niki",
	  year = "2017",
	  booktitle = "RSS 2017 workshop on New Frontiers for Deep Learning in Robotics",
}

monocular-obstacle-avoidance's People

Contributors

xie9187 avatar

Watchers

James Cloos 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.