Real-time implementation of Semantic Segmentation for traffic detection and autonomous driving applications.
- About the Project
- Getting Started
- Theory and Approach
- Results and Demo
- Future Work
- Contributors
- Acknowledgements and Resources
Aim of semantic segmentation is to accurately classify each pixel in an image into specific object or class categories, facilitating detailed scene understanding for various computer vision applications.
Model | Accuracy | Validation Accuracy | Epochs | Dataset |
---|---|---|---|---|
UNet | 27.39 | 22.36 | 5 | ADE20KChallengeData2016 |
SegNet | 39.80 | 30.17 | 10 | ADE20KChallengeData2016 |
ERFNet | 92.27 | 92.92 | 10 | Aerial Imagery |
- Python
- Opencv
- Numpy
- Tensorflow
- Pytorch for the model
📦 Semantic Segmentation
┣ 📂Assets/Images # Contains images of the results and techniques
┣ 📂Dataset # Dataset
┃ ┣ Dataset.md # Information about the dataset
┃ ┣ customize_dataset.py # Use this while training it on custom datset
┣ 📂Implementation
┃ ┣ 📂Models # Information about models implemented from scratch
┃ ┃ ┣ 📂UNet
┃ ┃ ┣ UNet.md
┃ ┃ ┣ UNet.ipynb
┃ ┃ ┣ 📂ErfNet
┃ ┃ ┣ ErfNet.md
┃ ┃ ┣ ErfNet.ipynb
┃ ┃ ┣ 📂SegNet
┃ ┃ ┣ SegNetNet.md
┃ ┃ ┣ SegNet.ipynb
┃ ┃ ┣ 📂ShuffleNet #TheFinalarchitecture
┃ ┃ ┣ Architecture.md
┃ ┣ 📂Utils
┣ 📜README.md # About the project
┣ 📜project_report.docx # Project Report
┗ 📜requirements.txt # Requirements
- Download Python on your device if not already present. Refer here for the setup.
- You can use any code editor.
- All installations mentioned are made using pip hence install pip.
- To install pip , follow this link
- To install the requirements
pip install -r requirements.txt
- Clone the repository
git clone https://github.com/extint/Semantic_Segmentation.git
- Download the ADE20K scene parsing dataset:
chmod +x download_ADE20K.sh
./download_ADE20K.sh
-
We aim to use the Convolutional Neural Network approch over the traditional algorithms because CNNs can learn features automatically, work end-to-end, maintain spatial information, offer adaptability and transfer learning, and achieve state-of-the-art performance and hence are more effective and versatile for this task. To know more about CNNs, go through this document
-
Overview of the architecture used: The architecture we've chosen for real-time semantic segmentation is MobileNetV2 because its efficiency is achieved through a combination of architectural innovations and design choices that reduce the model's computational complexity and memory footprint without sacrificing too much in terms of performance. It's an excellent choice for tasks like image classification, object detection, and more on mobile and embedded devices. To learn more about the architecture used, click here
- Working on deep learning based computer vision technique of landmark detection.
- Exploring other applications of semantic segmentation like medical, satellite imagery videos, night-vision, etc.
- Implementation of MobileNet architecture completely from scratch
- Pruning and Optimisation of model for deployment on OAK-D camera.
- COC VJTI ProjectX 2023
- Our mentors Smit Shah and Yatharth Dedhia for their valuable mentorship throughout the project.