YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

SurfaceAI: models for road type, surface type and quality classification of street-level imagery

This repository provides the python code as well as the model files with weights and parameters of the SurfaceAI models.

The models are designed to infer the following information from street-level images:

  • Road type (e.g., road, bike lane, cycleway, footway, (unspedified) path, no focus/no street)
  • Surface type (asphalt, concrete, paving stones, sett, unpaved)
  • Surface quality, where a dedicated model is used for each surface type

Currently, the models are based on Convolutional Neural Networks (CNNs) and there is a separate model for each task, which can be expanded to include other architectures in future versions. Road type und surface type are classification tasks, surface quality is considered as a regression.

Example usage: The file prediction_example.py demonstrates how to process images to generate predictions. The model interface ModelInterface from file Models.py is initialized with a configuration dictionary including the desired model files. Only tasks for which a model is defined are performed. The prediction of images is performed by the method batch_classifications, which takes a list of PIL Images or NumPy Arrays.

Using the example prediction file, the output of the classification method for the image example_image is a list

[
    'IMG_20210226_172956',
    '1_1_road__1_1_road_general',
    [3.061619645450264e-05, 0.9993541836738586, 1.4675654711027164e-05, 3.29997310473118e-05, 0.0003072938707191497, 5.346190690147523e-08, 0.00018766717403195798, 7.268250919878483e-05],
    'asphalt',
    [0.9866762757301331, 0.0002866282011382282, 0.00020359903282951564, 7.299235585378483e-05, 0.012760424986481667],
    'good',
    2.2281060218811035
]

with:

  1. image id provided to the model
  2. road type prediction
  3. list of probability scores of all possible road types
  4. surface type prediction
  5. list of probability scores of all possible surface types
  6. surface qualiy prediction
  7. value of surface quality prediction

Note: When handling large numbers of images, it is the user’s responsibility to split the images into suitable batch sizes before passing them to the batch_classification method in order to avoid memory overflows. The optimal batch size depends on the available GPU or CPU memory capacity and should be tested accordingly.

Folder structure: The model files are sorted in folders according to version, including a json file containing metadata of all models. The transformations used for training are recommended for prediction and are contained in the metadata file. The current version is v1.

Training Data: The surface type and quality models are trained on the dataset StreetSurfaceVis. See respective paper.

Application: The models are used in SurfaceAI pipeline. See respective paper and code.

Contact: This is part of the SurfaceAI project at the University of Applied Sciences, HTW Berlin.

surface-ai@htw-berlin.de

https://surfaceai.github.io/surfaceai/

Citation: If you use these models please cite as:


@article{kapp_streetsurfacevis_2025,
    title = {{StreetSurfaceVis}: a dataset of crowdsourced street-level imagery annotated by road surface type and quality},
    author = {Kapp, Alexandra and Hoffmann, Edith and Weigmann, Esther and Mihaljević, Helena},
    volume = {12},
    issn = {2052-4463},
    url = {https://doi.org/10.1038/s41597-024-04295-9},
    doi = {10.1038/s41597-024-04295-9},
    number = {1},
    journal = {Scientific Data},
    month = jan,
    year = {2025},
    pages = {92},
}

Funding: SurfaceAI is a mFund project funded by the Federal Ministry for Digital and Transportation Germany.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support