Coder Social home page Coder Social logo

ayush-ishan / road_segmentation Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 3.0 66.14 MB

Road Segmentation using Deep Learning

Python 99.54% Shell 0.46%
computer-vision semantic-segmentation tensorflow road-segmentation real-time-road-segmentation deep-learning convolutional-neural-networks

road_segmentation's Introduction

Road_Segmemtation

Introduction:

In recent years, growing research interest is witnessed in automated driving systems (ADS) and advanced driverassistance systems (ADAS). As one of the essential modules, road segmentation perceives the surroundings, detects the drivable region and builds an occupancy map. A drivable region is a connected road surface area that is not occupied by any vehicles, pedestrians, cyclists or other obstacles. In the ADS workflow, road segmentation contributes to other perception modules and generates an occupancy map for planning modules. Therefore, an accurate and efficient road segmentation is necessary. Camera-based road segmentation has been investigated for decades since cameras generate high-resolution frames frequently and they are cost effective. Traditional computer vision algorithms employed manually defined features such as edges and histogram for road segmentation. Those features, however, worked on limited situations and were difficult to extend to new scenarios. Convolutional neural network (CNN) based algorithms attracted research interest in recent years. By implementing massive convolutional kernels to a deep neural network, CNNs are capable to handle various driving scenarios. Existing CNN based road segmentation algorithms such as FCN, SegNet, StixelNet, Up-conv-Poly and MAP generated a precise drivable region but required large computational. Table II presents their performance on KITTI road benchmark as well as their parameter counts, floating-point operations and running time for each frame processing. Recent research proposed several efficient networks and network structures such as MobileNet and Xception. So, here, is the road segmentation work on basis of FCN.

This repo contains work of my intern at Changwon Natioanl University, South Korea. More detail can be found here - to attach link.

Model Architecture:


In the above shown model, the pretrained VGG-16 networks are used as encoder. The VGG_16 was trained on pretrained on ImageNet for classification. The pretrained weights can be found on the link - Udacity Self Driving Car

Files and Folders:

  1. Dataset folder : This folder contains the dataset.
  2. Masked Dataset folder : This folder has the dataset in the masked form. The masking was done manually.
  3. Final Showdown folder : This folder has final outputs or predictions by the model.
  4. FCN folder : This folder has all the codes for the model.
  5. FCN_combo folder : This folder contains the codes for both image and video predictions.
  6. Report_and_Results.pdf file : This folder contains the report of the project.
  7. resize_red_masking.py : This file is reponsible for resizing the image and making semanted mask of it.

Installation :

Go to this link to see, how to train and predict from the model ---> For images and for Videos and Imageboth predictions.

Results on sample images:

IMAGE MASK OUTPUT

Results on sample videos:

References:

Source 1
Source 2

road_segmentation's People

Contributors

ayush-ishan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 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.