Git Product home page Git Product logo

scene-understanding-autonomous-driving's Introduction

Autonomous Driving

This repository contains Jupyter notebooks that demonstrate various perception modules used in autonomous driving systems, including lane line detection, depth estimation, and bird's eye view representation. Each module is implemented in a separate notebook and includes code, and visualizations.

Table of Contents

Introduction

Autonomous driving systems rely on various perception modules to understand the environment around the vehicle. This repository provides a hands-on approach to learning and experimenting with some of these modules using Jupyter notebooks. The modules covered are:

  • Lane Line Detection: Detecting the lane markings on the road.
  • Depth Estimation: Estimating the distance of objects from the camera.
  • Bird's Eye View Representation: Transforming the camera view to a top-down view for better spatial understanding.

Installation

Using PIP

To run the notebooks in this repository, you need to have Python and Jupyter Notebook installed. You can install the required dependencies using pip:

pip install -r requirements.txt

Using Conda Environment

conda create --name autonomous-driving-env python=3.10
conda activate autonomous-driving-env
pip install -r requirements.txt

Notebooks

Lane Line Detection

This notebook demonstrates how to detect lane lines on the road using computer vision techniques. In this notebook we use transfer learning to train two state-of-the-art(SOTA) deep learning models like ResNet backbone model and Vision Transformer model to detect lanelines in an image.

Notebook: Laneline Detection.ipynb

Depth Estimation

This notebook explores depth estimation using monocular depth estimation methods. It uses the current SOTA depth estimation deep learning-based model - Depth AnythingV2 to obtain per pixel depth from an image.

Notebook: Monocular_Depth_Estimation_Using_DepthAnythingV2.ipynb

Bird's Eye View Representation

This notebook shows how to transform the camera view to a bird's eye view (top-down perspective) to get a better understanding of the vehicle's surroundings. This transformation is useful for path planning and Occupancy detection.

Notebook: BEV_transformation.ipynb

Usage

  1. Clone the repository:
git clone https://github.com/akshaybharadwaj11/Autonomous-Driving.git
cd Autonomous-Driving
  1. Install the dependencies:
pip install -r requirements.txt

scene-understanding-autonomous-driving's People

Contributors

akshaybharadwaj11 avatar sampurng avatar

Stargazers

 avatar

Watchers

 avatar

scene-understanding-autonomous-driving's Issues

CNN model for Lane Detection

Create a CNN based model for Laneline Detection. Fine tune pre-trained models like resnet 50, resnet 101 for laneline detection.

Results:

Screenshot 2024-08-11 at 6 06 12 PM

Lane Detection review

Read up about Detr3D, PetrV2, TopoMLP and BevFormer and write a review.

Format

  1. Introduction/Summary/abstract:
  • Description of the method
  • how does this help
  1. Architecture:
  • Inputs/outputs final, stage-wise
  • Concepts/Layers used in the model
  1. Datasets used for training and testing

  2. Model evaluation/results on benchmarks

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.