Project Description
This final task of my Deep Learning course focused on semantic segmentation using Convolutional Neural Networks. The exercise required assigning a class label to each pixel in a remote sensing image. A U-Net architecture with a ResNet18 backbone was used to perform this task.

Objectives and Approach
The main objectives were:
- To develop a deep learning model capable of pixel-wise classification of remote sensing images.
- To compare two channel configurations: a standard 3-channel (RGB) input and a 4-channel input (RGB plus an additional normalized DSM image).
- To evaluate the performance using metrics such as Precision, Recall, and F1-Score.
The problem was faced by first preparing the data – extracting patches of a fixed size, normalizing values, and setting up a custom dataloader. Then, the model was trained using the Adam optimizer and Cross-Entropy Loss for 15-20 epochs. Finally, the model’s performance was evaluated on test images, and standard classification metrics were computed.

Repository & Code
The complete solution is provided in the Task2DL.ipynb
notebook.