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.
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.
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.
The various functions of RoofSense are presented in relevant implementation examples.
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.
To reproduce the experimental results presented in the work of Mantas (2014), simply execute the desired examples without modification.
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},
}
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.