Giter VIP home page Giter VIP logo

qureshinomaan / generate-occupancy-maps Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 1.0 129.62 MB

Using pre-trained DL models and Transformations for generating occupancy maps. Includes some other basic deep learning tasks. Feel free to contribute.

License: MIT License

Jupyter Notebook 93.64% Python 6.31% Shell 0.03% C++ 0.02%
occupancy-map depth-image occupancy-grid depth-map deep-learning psmnet

generate-occupancy-maps's Introduction

Generate-Occupancy-Maps

Using pre-trained Deep Learning models and Transformations for generating occupancy maps.

Note

If you find any difficulty in using some notebook or script, please feel free to create an issue. This is a work in progress and I will keep making changes to the repository for a while.

Occupancy Maps

Occupancy Grid Mapping refers to a family of computer algorithms which address the problem of generating maps from noisy and uncertain data.

Algorithm

The system takes a stereo pair and generates a depth map(using PSMNet) and instance segmented scene(using maskrcnn). We then use these to get a 3D Model of the scene. This 3d model is projected to the ground to get the occupancy grid. "Algorithmic Pipeline"

Depth Image

In CV, a depth image contains information about depth of surfaces presents in the image. Some methods to get the depth image.

  • Stereo Methods.
  • Monocular Methodss.
  • Network (PSMNET)
    • PSMNet actually gives disparity map, which can be converted to a depth map.

Instance Segmentation

We identify each instance of each object featured in the image instead of categorizing each pixel like in semantic segmentation.

  • We can use pretrained models of detectron2 model-zoo.

Input

The inputs are

  • Image or scene of a self driving car.
  • Resolution Size for occupancy grid(to be done).
  • Size of image input.

Output

The output consists of

  • Semantic Segmentation in one folder.
  • Depth Image in another folder.
  • Occupancy Grid in another.
  • The output images should have a proper name.

Dataset

  • KITTI Dataset is used for testing in the project.

Tasks

  • Debug PSMNet to get the depth image.
  • Using detectron2 to get the instance segmented image(without text).
  • Using depth image to obtain a 3d visualisation.
  • Getting occupancy maps from 3d visualisation.
  • Format in the input/output format mentioned above.
  • Making the occupancy map better.
  • Writing scripts so that the system is easily usable.
  • Adding the Monocular depth maps.
  • Stitching the point clouds to get a map of the environment(a little ambitious for now).
    • If you are a beginner and want to team up on this, please contact.

Other Tasks

Resources

Mentor

Shashank Srikanth

generate-occupancy-maps's People

Contributors

qureshinomaan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

flyinggh

generate-occupancy-maps's Issues

Depth Image : PSMNET : Algorithms

Description

Seems like we have a pre-trained model on the KITTI Dataset by the authors here. So there are no problems here hopefully. We will start with implementing this.

Stitching of point clouds to generate maps.

If you are a beginner and you want to stitch points cloud to generate maps like the one in the image below, feel free to contact me. It would be a fun experience, and we could learn a lot.
Screenshot 2020-06-07 at 6 57 00 PM

Implementation of GANs

I was able to implement a simple GAN for MNIST data. We are kind of facing a mode collapse in GANs. This seems to be a pretty good resource for debugging our GAN.

Mask-RCNN

Situation

Till now I have not found any model which have been trained on KITTI dataset. I will try for some more time, otherwise we will have to train the model on KITTI dataset ourselves. Here is a way do it.

Update-Thread

Will Update This Thread Each once in every two days.

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.