Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 5.04 KB

README.md

File metadata and controls

76 lines (48 loc) · 5.04 KB

Street-Drawer

Final project for SCC0251 - Image Processing

Authors

11218959 - Guilherme Amaral Hiromoto
11218855 - Victor Rodrigues Russo
10892676 - Paulo Matana da Rocha

Development Explaning Video: https://www.youtube.com/watch?v=ufjoYF1_uro

Abstract

This project aims to detect road shapes in urban areas through the segmentation of roads in satellite images using the Road and Building Detection Dataset and CNN's to train a model that generates maps with the road shapes.

Example

Final Report

Main Objective: As specified in abstract, this project aims to detect road shapes in urban areas through the segmentation of roads in satellite images using the Road and Building Detection Dataset and CNN's to train a model that generates maps with the road shapes.

Input images: Our input images were obtained from the Road and Building Detection Dataset using the Scraping Maps notebook for the sattelite images and Scraping Masks notebook for the masks. As our images had 1500x1500 dimensions we preprocessed then with Preprocessing notebook to fit in our U-net architecture (256x256).

Preprocessed data:

Description of steps: For this project we are using a model-based methodology for Image Segmentation. We used the Intersection-Over-Union [1] method as metric to train our model. This method consists of calculating an area of overlap between a predicted segmentation and the mask divided by the union area between a predicted segmentation and a mask.

As loss function we used the binary cross entropy as we are dealing with a binary "classifier": [2]


For our CNN, we used the U-net architecture to train our model:
This architecture is divided in two steps, first a contraction path that "downsample" the image with convolutions and maxpooling operations to capture context in the image, then a expansion path that upsample the image with transposed convolution used to enable precise location. [3]

Final Code with Results:
-Getting Data: Maps
-Getting Data: Masks
-Preprocessing Data
-Model Training and Results

Demonstration Results:

Prediction Comparation:


Cropped Inputs:


Cropped Predictions:


Final Result:


Work division:

We made pretty much everything together in video conference due to constantily researchs (together) and hardware restriction (high end GPU to train the model).

References

[1] Intersection-Over-Union Metric
[2] Binary Cross Entropy Loss Function
[3] U-net Architeture