This project implements an image segmentation model using the U-Net architecture on images from the dashboard of Self-driving cars. U-Net is a convolutional neural network (CNN) primarily used for biomedical image segmentation but can also be applied to various segmentation tasks.
- Data Preprocessing: Reads and processes images and masks for training.
- U-Net Model Implementation: Custom implementation of the U-Net architecture using TensorFlow/Keras.
- Training and Evaluation: Model training and visualization of segmentation results.
- Prediction Visualization: Displays model predictions for qualitative analysis.
Ensure you have the following dependencies installed:
pip install tensorflow numpy pandas matplotlib imageio
git clone <repository_url>
cd <repository>
Execute the notebook to train and evaluate the model:
jupyter notebook Image_segmentation_Unet_v2.ipynb
The utils.py
file includes functions for:
- Loading images and masks
- Preprocessing images (resizing, normalization, etc.)
U-Net model implementation is available in utils.py
:
from utils import unet_model
model = unet_model()
from utils import display
display([input_image, true_mask, predicted_mask])
The notebook provides visualizations of segmented outputs, including comparisons between ground truth masks and predictions.
- Improve model performance using data augmentation.
- Experiment with different loss functions.
- Extend to multi-class segmentation tasks.
This project is licensed under the MIT License.
Author: Chirag N Vijay