This project implements a deep learning model for road segmentation using a U-Net architecture. Road segmentation is a crucial task in computer vision, particularly for applications like autonomous driving and urban planning. The goal is to identify and delineate road areas in images.
- Dataset: Uses a custom dataset of road images and their corresponding segmentation masks.
- Model Architecture: Implements a U-Net model using the EfficientNet-B0 encoder.
- Data Augmentation: Applies various augmentations to increase dataset diversity and model robustness.
- Training Pipeline: Includes functions for training and evaluating the model.
- Visualization: Provides functionality to visualize the original image, ground truth, and predicted segmentation masks.
- PyTorch for deep learning
- Albumentations for image augmentations
- Segmentation Models PyTorch (SMP) for the U-Net architecture
- OpenCV and Matplotlib for image processing and visualization
This project demonstrates the entire workflow of a segmentation task, from data preparation to model training and result visualization. It's designed to be run in a Google Colab environment, making it accessible and easy to execute without extensive local setup.