Skip to content

CNN-based roofing material segmentation using aerial imagery and LiDAR data fusion

License

Notifications You must be signed in to change notification settings

DimitrisMantas/RoofSense

Repository files navigation

RoofSense

<style> table#badges td { border: none; } </style>

Table of Contents

Installation

End Users

To install RoofSense for end use on your local machine, first clone this repository, then navigate to its root directory, and finally execute the following command:

pip install .

on your terminal of choice.

Note that only Windows platforms are currently supported.

Developers

To install RoofSense for development use on your local machine, first clone this repository, then navigate to its root directory, and finally execute the following command:

pip install -e .[dev]

This will install an editable version of RoofSense along with any additional development requirements. It is always recommended that you install the program on a separate virtual environment.

Important (Training & Inference)

RoofSense relies on TorchSeg to build its models because TorchGeo, its other relevant dependency, uses Segmentation Models Pytorch (SMP), which does not fully support PyTorch Image Models (timm) encoders. However, this functionality is required for specifying additional configuration parameters, such as stochastic depth and attention.

Note that TorchSeg is not installed automatically due to dependency clashes between itself and TorchGeo, and must hence be must be installed manually by executing the following command:

pip install torchseg

on your terminal of choice after RoofSense has been installed.

Documentation

The various functions of RoofSense are presented in relevant implementation examples.

End Use

If you are only interested in using RoofSense for inference on your own data, simply download the default model checkpoint and then follow the relevant inference example.

Reproducibility

To reproduce the experimental results presented in the work of Mantas (2014), simply execute the desired examples without modification.

Citation

If you use this software in your work, please cite the following thesis.

@MastersThesis{Mantas2024,
    author      = {Mantas, Dimitris},
    school      = {Delft University of Technology},
    title       = {{CNN-based Roofing Material Segmentation using Aerial Imagery and LiDAR Data Fusion}},
    year        = {2024},
    address     = {Delft, The Netherlands},
    month       = oct,
    type        = {mathesis},
    date        = {2024-10-31},
    institution = {Delft University of Technology},
    location    = {Delft, The Netherlands},
    url         = {https://resolver.tudelft.nl/uuid:c463e920-61e6-40c5-89e9-25354fadf549},
}

Contributing

RoofSense welcomes contributions and suggestions via GitHub pull requests. If you would like to submit a pull request, please see our Contribution Guide for more information.

Releases

No releases published

Packages

No packages published