Skip to content
/ CCGP Public

[SIGSPATIAL 2025] CCGP: Unsupervised Urban Land Use Mapping with Street View Contrastive Clustering and a Geographical Prior

Notifications You must be signed in to change notification settings

lin102/CCGP

Repository files navigation

CCGP

This is the implementation for [SIGSPATIAL 2025] "Unsupervised Urban Land Use Mapping with Street View Contrastive Clustering and a Geographical Prior"

[Paper Link]

teaser_img

Abstract

Urban land use classification and mapping are critical for urban planning, resource management, and environmental monitoring. Existing remote sensing techniques often lack precision in complex urban environments due to the absence of ground-level details. Unlike aerial perspectives, street view images provide a ground-level view that captures more human and social activities relevant to land use in complex urban scenes. Existing street view-based methods primarily rely on supervised classification, which is challenged by the scarcity of high-quality labeled data and the difficulty of generalizing across diverse urban landscapes. This study introduces an unsupervised contrastive clustering model for street view images with a built-in geographical prior, to enhance clustering performance. When combined with a simple visual assignment of the clusters, our approach offers a flexible and customizable solution to land use mapping, tailored to the specific needs of urban planners. We experimentally show that our method can generate land use maps from geotagged street view image datasets of two cities. As our methodology relies on the universal spatial coherence of geospatial data (``Tobler's law''), it can be adapted to various settings where street view images are available, to enable scalable, unsupervised land use mapping and updating.

Dependencies

Install the dependencies:

python -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

Configuration

The project configuration is managed through the config/config.yaml file. All parameters for the experiments can be set within this file.

Dataset

Due to Google streetview policy, only example data is provided in this repository.

  • Street View Image Data: Place your Street View Image data in the data/ directory.
  • Training Data: The training data, which includes the geographical location of the Street View Images and their corresponding filenames, should be placed at datasets/svi_dataset_example.csv.
  • Test Data: The test data, which includes land use labels and SVI filenames, should be placed at datasets/test_dataset_example.csv.

Training

To start training the model, run the following command:

python train.py

Testing

Once the training is completed, the trained model will be saved at the path specified by the model_path in the configuration file.

To calculate the Moran's I and plot the corresponding Land Use Map, first update the model_fp in prediction.py to point to the path of the saved model. Then, run the following command:

python prediction.py

Reference

Li, Y., Hu, P., Liu, Z., Peng, D., Zhou, J. T., & Peng, X. (2021, May). Contrastive clustering. In Proceedings of the AAAI conference on artificial intelligence (Vol. 35, No. 10, pp. 8547-8555).

Citation

If you find our work useful or interesting or use our code, please cite our paper as follows

Che, L., Chen, Y., Jin, T., Raubal, M., Schindler, K., & Kiefer, P. (2025). Unsupervised Urban Land Use Mapping with Street View Contrastive Clustering and a Geographical Prior. arXiv preprint arXiv:2504.17551.

About

[SIGSPATIAL 2025] CCGP: Unsupervised Urban Land Use Mapping with Street View Contrastive Clustering and a Geographical Prior

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages