Semantic Segmentation using FCN and UNet models, done as a part of Assignment 4 of the Computer Vision course (IIIT-Hyderabad, Spring '25). The assignment details can be found in the assignment document.
For ablations and visualisations, see the report.
Each image has three columns, representing input image, ground truth, followed by prediction (each image is a collage of these three in that order).
Backbone type | 32s | 16s | 8s |
---|---|---|---|
Frozen | ![]() |
![]() |
![]() |
Unfrozen | ![]() |
![]() |
![]() |
To train and test the model, run:
cd FCN
python -m src.main <options>
The options include the data directory, batch size, model variant, frozen vs unfrozen backbone, the number of epochs, and the learning rate. See the main.py
file for more details.
To visualise some test results on a checkpoint, run:
cd FCN
./visualise.sh
For ablations and visualisations, see the report.
Each image has three columns, representing input image, ground truth, followed by prediction (each image is a collage of these three in that order).
Variant | Prediction 1 | Prediction 2 |
---|---|---|
Vanilla | ![]() |
![]() |
Residual | ![]() |
![]() |
No-Skip | ![]() |
![]() |
Gated Attention | ![]() |
![]() |
To train and test the model, run:
cd UNet
python -m src.main <options>
The options include the data directory, batch size, model variant, the number of epochs, and the learning rate. See the main.py
file for more details.
To visualise some test results on a checkpoint, run:
cd UNet
./visualise.sh
Download the data from the following link.
The environment can be set up with the conda env file:
cd docs
conda env create -f env.yml
or
pip install -r requirements.txt
Alternatively, install the dependencies as in the conda history.
Helper utilities are available to split the train data into train and validation for the FCN, and for the UNet, as well as to perform some exploratory data analysis for the FCN.