moatifbutt / Drivable-Road-Region-Detection-and-Steering-Angle-Estimation-Method

A practical implementation of pixel level segmentation based road detection and steering angle estimation methods.
https://ieeexplore.ieee.org/abstract/document/9646953
16 stars 3 forks source link
autonomous-driving autonomous-vehicles dataset deep-learning fcn panoptic-segmentation pytorch road-detection scene-recognition scene-segmentation scene-understanding self-driving-cars semantic-segmentation steering-angle-prediction

Pixel Level Segmentation Based Drivable Road Region Detection and Steering Angle Estimation Method for Autonomous Driving on Unstructured Roads

Abstract

With the recent emergence of deep learning, computer vision-based applications have demonstrated better applicability in accomplishing driving tasks including drivable road region detection, lane keeping and steering control in self-driving cars. Till recently, numerous lane-marking detection based steering control and lane keeping methods have been proposed to perform autonomous driving on urban well-structured roads. But the matter of fact is that these methods are not feasible on roads where lane markings are not available or faded over time which makes drivable road region detection a crucial task. Moreover, it is highly arduous task to estimate steering angle on deteriorated roads using existing road detection and steering angle estimation methods. To the best of our knowledge, there is no standard benchmark available for drivable road region detection and steering angle estimation on unstructured roads. To this end, we present a large-scale dataset for drivable region road detection, comprising of 15,000-pixel level high quality fine annotations. Alongside dataset, we also present an end-to-end drivable road region detection and steering angle estimation method to ensure the autonomous driving on generalized urban, rural, and unstructured road conditions. The proposed method performs pixel-level segmentation to extract drivable road region and quantifies lane interception to estimate the steering angle of self-driving cars. A comprehensive qualitative and quantitative analysis has been carried out to demonstrate the effectiveness of our proposed dataset, road detection and steering angle estimation methods. image

End to End semantic segmentation based drivable road detection and steering angle estimation on unstructured roads for self driving cars

Discription of Project

A PyTorch implementation of drivable road region detection and steering angle estimation methods proposed for the autonomous vehicle. The dataset has been taken from CARL-DATASET.

4 13693_ov 5 09315_ov 4 21168_ov 4 24633_ov

Prerequisites

  1. Windows
  2. Anaconda Python
  3. PyTorch (https://pytorch.org/get-started/locally/)
  4. Albumentations (https://pypi.org/project/albumentations/), (pip install albumentations)
  5. Tensorboard (https://pypi.org/project/tensorboard/), (pip install tensorboard)
  6. TensorboardX (https://pypi.org/project/tensorboardX/), (pip install tensorboardX)

    Dataset

    We have extended CARL-Dataset for road detection and segmentation task. As CARL-Dataset has been constructed over video sequences from 100+ cities of Pakistan.

This dataset contains diversities in terms of road types such as

To ensure generalization of our proposed method, equal subsets of images from video sequences of all types of captured roads have been selected for the training and evaluation of proposed method.

Some samples taken from the video sequences of diverse roadways are shown Below.

4 24633 - Copy P2 00001 - Copy GH011260 0063 - Copy

Pixel-Level Annotations of dataset

Some of the pixel-level annotation examples are depicted below.

4 24633 jpg___fuse - Copy P2 00001 jpg___fuse - Copy GH011260 0063 jpg___fuse - Copy

Download the complete dataset from Here.

Description of folders and scripts

My project includes the following files scripts and folders:

How to run the Python scripts

For Training

Prediction results of the model over video

https://user-images.githubusercontent.com/71174927/147828349-4829a38e-8310-4bab-be8e-b1cc58a079e3.mp4

https://user-images.githubusercontent.com/71174927/147775570-bc58cbf2-7bcb-4c8b-9c40-09ffe39feb7f.mp4

Citation

Acknowledgments

This code inspired by Sovit Ranjan Rath. Some snippets of steering angle estimation code from David Tain.