Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 1.94 KB

README.md

File metadata and controls

49 lines (31 loc) · 1.94 KB

Fence Detection in Amsterdam with Segmentation Models

Research internship with the Gemeente Amsterdam concerning the detection of fencing along open water within the city center.

Fences in Amsterdam


Project Folder Structure

There are the following folders in the structure:

  1. data: Placeholder that should contain the annotated dataset and geometry
  2. experiments: Placeholder for train- and validation-logs and model weights
  3. loaders: Folder containing the panorama- and dataloaders for training
  4. models: Folder containing the models and training code
  5. notebooks: Folder containing Jupyter Notebooks for visualizations
  6. scripts: Folder containing scripts for inference, annotation converters, and data splits
  7. utils: Folder containing augmentation, logging, metrics, and other functions

Installation

  1. Clone this repository:
    git clone https://github.com/Amsterdam-Internships/fence-detection
  2. Install all dependencies:
    pip install -r requirements.txt

Usage

To create the visualisation linked above, run inference.py (params can be adjusted in the file itself). This creates a GeoJSON file which can be read and plotted accordingly. The visualisation linked above was made using the notebook visualisation-predictions.ipynb.

Training a Model

To train a model, we refer to the models folder. Model parameters, dataset references, and output directories can be specified in config.py. Then simply run train.py.

Acknowledgements

Our segmentation models use Segmentation Models for PyTorch by qubvel: