Skip to content

AYUSH-ISHAN/Road_Segmentation

Repository files navigation

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